合并分支 'master' 到 'fix_bug_first_stage'

Master

查看合并请求 laws-nio/laws-weilai!40
This commit is contained in:
李雪涛
2022-07-03 12:41:48 +08:00
63 changed files with 3402 additions and 755 deletions
@@ -115,4 +115,6 @@ CREATE TABLE `params_collect_manifest_user_type_log` (
`user_id` varchar(50) DEFAULT NULL COMMENT '用户id', `user_id` varchar(50) DEFAULT NULL COMMENT '用户id',
`user_type` varchar(50) DEFAULT NULL COMMENT '用户类型', `user_type` varchar(50) DEFAULT NULL COMMENT '用户类型',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 以上部分2022年7月2日已更新至正式环境
@@ -74,8 +74,10 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
@ApiOperation(value="参数项收集清单-列表查询", notes="参数项收集清单-列表查询") @ApiOperation(value="参数项收集清单-列表查询", notes="参数项收集清单-列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
// @RequiresPermissions("params:collectManifest:list") // @RequiresPermissions("params:collectManifest:list")
public Result<List<Map<String, Object>>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, public Result<?> queryList(ParamsCollectManifestEO paramsCollectManifestEO,
@RequestParam(name = "cut") String cut) { @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="500") Integer pageSize,
@RequestParam(name = "cut") String cut) {
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) { if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) {
paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%")); paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%"));
} }
@@ -86,7 +88,8 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%")); paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%"));
} }
List<Map<String, Object>> list = paramsCollectManifestEOService.queryList(paramsCollectManifestEO, cut); IPage page = new Page(pageNo, pageSize);
IPage list = paramsCollectManifestEOService.queryList(page, paramsCollectManifestEO, cut);
return Result.OK(list); return Result.OK(list);
} }
@@ -1,5 +1,7 @@
package com.jero.modules.cert.collect.controller; package com.jero.modules.cert.collect.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
@@ -64,8 +66,10 @@ public class ParamsCollectManifestHistoryEOController extends JeroController<Par
@ApiOperation(value="历史参数项收集清单-列表查询", notes="历史参数项收集清单-列表查询") @ApiOperation(value="历史参数项收集清单-列表查询", notes="历史参数项收集清单-列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
// @RequiresPermissions("params:manifest:history") // @RequiresPermissions("params:manifest:history")
public Result<List<Map<String, Object>>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, public Result<?> queryList(ParamsCollectManifestEO paramsCollectManifestEO,
@RequestParam(name = "cut") String cut) { @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="500") Integer pageSize,
@RequestParam(name = "cut") String cut) {
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) { if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) {
paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%")); paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%"));
} }
@@ -76,7 +80,8 @@ public class ParamsCollectManifestHistoryEOController extends JeroController<Par
paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%")); paramsCollectManifestEO.setDre(paramsCollectManifestEO.getDre().replace("%","\\%"));
} }
List<Map<String, Object>> list = paramsCollectManifestHistoryEOService.queryList(paramsCollectManifestEO, cut); IPage page = new Page(pageNo, pageSize);
IPage list = paramsCollectManifestHistoryEOService.queryList(page, paramsCollectManifestEO, cut);
return Result.OK(list); return Result.OK(list);
} }
@@ -10,6 +10,7 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.jero.modules.cert.collect.entity.ParamsConfigEO;
import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.enums.ManifestStateEnum; import com.jero.modules.cert.collect.enums.ManifestStateEnum;
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
import com.jero.modules.cert.collect.service.IParamsConfigEOService; import com.jero.modules.cert.collect.service.IParamsConfigEOService;
import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO; import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
@@ -21,6 +22,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -48,6 +50,9 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@Autowired @Autowired
private IParamsManifestEOService paramsManifestEOService; private IParamsManifestEOService paramsManifestEOService;
@Autowired
private IParamsCollectManifestEOService paramsCollectManifestEOService;
@Autowired @Autowired
private IParamsConfigEOService paramsConfigEOService; private IParamsConfigEOService paramsConfigEOService;
@@ -64,7 +69,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-分页列表查询") @AutoLog(value = "参数清单-分页列表查询")
@ApiOperation(value="参数清单-分页列表查询", notes="参数清单-分页列表查询") @ApiOperation(value="参数清单-分页列表查询", notes="参数清单-分页列表查询")
@GetMapping(value = "/page") @GetMapping(value = "/page")
// @RequiresPermissions("params:manifest:page") @RequiresPermissions("params:manifest:page")
public Result<?> queryPageList(ParamsManifestEO paramsManifestEO, public Result<?> queryPageList(ParamsManifestEO paramsManifestEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@@ -123,6 +128,21 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
return Result.OK(true); // 无重复 return Result.OK(true); // 无重复
} }
/**
* 获取配置标识
* 判断是否可新增配置,清单参数项状态为 待发起、变更时,可添加配置
* true-可添加配置;false-不可添加配置
* @return
*/
@AutoLog(value = "参数清单-获取配置标识")
@ApiOperation(value="参数清单-获取配置标识", notes="参数清单-获取配置标识")
@GetMapping(value = "/getConfigFlag")
@RequiresPermissions("params:manifest:page")
public Result<?> getManifestConfigFlag(@RequestParam(name="paramsManifestId", required = true) String paramsManifestId) {
boolean configFlag = paramsCollectManifestEOService.getManifestConfigFlag(paramsManifestId);
return Result.OK(configFlag);
}
/** /**
* 添加 * 添加
* *
@@ -132,7 +152,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-添加") @AutoLog(value = "参数清单-添加")
@ApiOperation(value="参数清单-添加", notes="参数清单-添加") @ApiOperation(value="参数清单-添加", notes="参数清单-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
// @RequiresPermissions("params:manifest:add") @RequiresPermissions("params:manifest:add")
public Result<?> add(@Validated @RequestBody ParamsManifestEO paramsManifestEO) { public Result<?> add(@Validated @RequestBody ParamsManifestEO paramsManifestEO) {
boolean isSuccess = paramsManifestEOService.add(paramsManifestEO); boolean isSuccess = paramsManifestEOService.add(paramsManifestEO);
if (isSuccess) { if (isSuccess) {
@@ -151,7 +171,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-编辑") @AutoLog(value = "参数清单-编辑")
@ApiOperation(value="参数清单-编辑", notes="参数清单-编辑") @ApiOperation(value="参数清单-编辑", notes="参数清单-编辑")
@PostMapping(value = "/edit") @PostMapping(value = "/edit")
// @RequiresPermissions("params:manifest:edit") @RequiresPermissions("params:manifest:edit")
public Result<?> edit(@Validated @RequestBody ParamsManifestEO paramsManifestEO) { public Result<?> edit(@Validated @RequestBody ParamsManifestEO paramsManifestEO) {
boolean isSuccess = paramsManifestEOService.editById(paramsManifestEO); boolean isSuccess = paramsManifestEOService.editById(paramsManifestEO);
if (isSuccess) { if (isSuccess) {
@@ -170,7 +190,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-通过id删除") @AutoLog(value = "参数清单-通过id删除")
@ApiOperation(value="参数清单-通过id删除", notes="参数清单-通过id删除") @ApiOperation(value="参数清单-通过id删除", notes="参数清单-通过id删除")
@GetMapping(value = "/delete") @GetMapping(value = "/delete")
// @RequiresPermissions("params:manifest:delete") @RequiresPermissions("params:manifest:delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) { public Result<?> delete(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) {
boolean isSuccess = paramsManifestEOService.deleteById(id, cut); boolean isSuccess = paramsManifestEOService.deleteById(id, cut);
if (isSuccess) { if (isSuccess) {
@@ -189,7 +209,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-批量删除") @AutoLog(value = "参数清单-批量删除")
@ApiOperation(value="参数清单-批量删除", notes="参数清单-批量删除") @ApiOperation(value="参数清单-批量删除", notes="参数清单-批量删除")
@PostMapping(value = "/deleteBatch") @PostMapping(value = "/deleteBatch")
// @RequiresPermissions("params:manifest:deleteBatch") @RequiresPermissions("params:manifest:deleteBatch")
public Result<?> deleteBatch(@RequestBody ParamsManifestVO paramsManifestVO) { public Result<?> deleteBatch(@RequestBody ParamsManifestVO paramsManifestVO) {
if (StringUtils.isEmpty(paramsManifestVO.getIds()) || StringUtils.isEmpty(paramsManifestVO.getCut())) { if (StringUtils.isEmpty(paramsManifestVO.getIds()) || StringUtils.isEmpty(paramsManifestVO.getCut())) {
return Result.error("参数不能为空!"); return Result.error("参数不能为空!");
@@ -211,7 +231,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-变更扩展") @AutoLog(value = "参数清单-变更扩展")
@ApiOperation(value="参数清单-变更扩展", notes="参数清单-变更扩展") @ApiOperation(value="参数清单-变更扩展", notes="参数清单-变更扩展")
@GetMapping(value = "/changeExtension") @GetMapping(value = "/changeExtension")
// @RequiresPermissions("params:manifest:change") @RequiresPermissions("params:manifest:change")
public Result<?> changeExtension(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) { public Result<?> changeExtension(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) {
boolean isSuccess = paramsManifestEOService.changeExtension(id, cut); boolean isSuccess = paramsManifestEOService.changeExtension(id, cut);
if(isSuccess) { if(isSuccess) {
@@ -230,7 +250,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-历史版本") @AutoLog(value = "参数清单-历史版本")
@ApiOperation(value="参数清单-历史版本", notes="参数清单-历史版本") @ApiOperation(value="参数清单-历史版本", notes="参数清单-历史版本")
@GetMapping(value = "/history") @GetMapping(value = "/history")
// @RequiresPermissions("params:manifest:history") @RequiresPermissions("params:manifest:history")
public Result<?> history(@RequestParam(name="title",required=true) String title) { public Result<?> history(@RequestParam(name="title",required=true) String title) {
List<ParamsManifestHistoryVO> historyVersionList = paramsManifestEOService.getHistoryVersionList(title); List<ParamsManifestHistoryVO> historyVersionList = paramsManifestEOService.getHistoryVersionList(title);
return Result.OK(historyVersionList); return Result.OK(historyVersionList);
@@ -245,7 +265,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-查询所有项目的所有参数清单") @AutoLog(value = "参数清单-查询所有项目的所有参数清单")
@ApiOperation(value="参数清单-查询所有项目的所有参数清单", notes="参数清单-查询所有项目的所有参数清单") @ApiOperation(value="参数清单-查询所有项目的所有参数清单", notes="参数清单-查询所有项目的所有参数清单")
@PostMapping(value = "/getAllManifest") @PostMapping(value = "/getAllManifest")
// @RequiresPermissions("params:manifest:copy") @RequiresPermissions("params:manifest:copy")
public Result<?> getAllManifest(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, public Result<?> getAllManifest(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="projectName",required=false) String projectName) { @RequestParam(name="projectName",required=false) String projectName) {
@@ -262,7 +282,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-复制-参数模板列表查询") @AutoLog(value = "参数清单-复制-参数模板列表查询")
@ApiOperation(value="参数清单-复制-参数模板列表查询", notes="参数清单-复制-参数模板列表查询") @ApiOperation(value="参数清单-复制-参数模板列表查询", notes="参数清单-复制-参数模板列表查询")
@GetMapping(value = "/getParamsTemplatePageOfCopy") @GetMapping(value = "/getParamsTemplatePageOfCopy")
// @RequiresPermissions("params:manifest:copy") @RequiresPermissions("params:manifest:copy")
public Result<?> getParamsTemplatePageOfCopy(ParamsTemplateEO paramsTemplateEO, public Result<?> getParamsTemplatePageOfCopy(ParamsTemplateEO paramsTemplateEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@@ -281,7 +301,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-复制清单") @AutoLog(value = "参数清单-复制清单")
@ApiOperation(value="参数清单-复制清单", notes="参数清单-复制清单") @ApiOperation(value="参数清单-复制清单", notes="参数清单-复制清单")
@PostMapping(value = "/copy") @PostMapping(value = "/copy")
// @RequiresPermissions("params:manifest:copy") @RequiresPermissions("params:manifest:copy")
public Result<?> copy(@RequestBody ParamsManifestVO paramsManifestVO) { public Result<?> copy(@RequestBody ParamsManifestVO paramsManifestVO) {
ParamsManifestEO paramsManifestEO = new ParamsManifestEO(); ParamsManifestEO paramsManifestEO = new ParamsManifestEO();
BeanUtils.copyProperties(paramsManifestVO, paramsManifestEO); BeanUtils.copyProperties(paramsManifestVO, paramsManifestEO);
@@ -297,7 +317,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
@AutoLog(value = "参数清单-判断配置列表是否为空") @AutoLog(value = "参数清单-判断配置列表是否为空")
@ApiOperation(value="参数清单-判断配置列表是否为空", notes="参数清单-判断配置列表是否为空") @ApiOperation(value="参数清单-判断配置列表是否为空", notes="参数清单-判断配置列表是否为空")
@GetMapping(value = "/verifyConfig") @GetMapping(value = "/verifyConfig")
// @RequiresPermissions("params:config:list") @RequiresPermissions("params:manifest:page")
public Result<?> queryList(@RequestParam(name = "paramsManifestId") String paramsManifestId) { public Result<?> queryList(@RequestParam(name = "paramsManifestId") String paramsManifestId) {
List<ParamsConfigEO> list = paramsConfigEOService.queryList(paramsManifestId); List<ParamsConfigEO> list = paramsConfigEOService.queryList(paramsManifestId);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
@@ -97,9 +97,6 @@ public class ParamsManifestEO implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String paramsTemplateName; private String paramsTemplateName;
@TableField(exist = false)
private Boolean configFlag; // true-可添加配置;false-不可添加配置
@TableField(exist = false) @TableField(exist = false)
private String cut; private String cut;
@@ -2,6 +2,7 @@ package com.jero.modules.cert.collect.mapper;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -15,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectManifestEO> { public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectManifestEO> {
List<ParamsCollectManifestEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); List<ParamsCollectManifestEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
IPage pageInfo(@Param("page") IPage page, @Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
} }
@@ -1,6 +1,7 @@
package com.jero.modules.cert.collect.mapper; package com.jero.modules.cert.collect.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -16,4 +17,6 @@ import java.util.List;
public interface ParamsCollectManifestHistoryEOMapper extends BaseMapper<ParamsCollectManifestHistoryEO> { public interface ParamsCollectManifestHistoryEOMapper extends BaseMapper<ParamsCollectManifestHistoryEO> {
List<ParamsCollectManifestHistoryEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); List<ParamsCollectManifestHistoryEO> listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
IPage pageInfo(@Param("page") IPage page, @Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
} }
@@ -62,9 +62,6 @@
<when test="paramsCollectManifestEO.userTypes == 'sdt,dre'"> <when test="paramsCollectManifestEO.userTypes == 'sdt,dre'">
AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth}) AND state in ('2','4','5','6','7','8') AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth}) AND state in ('2','4','5','6','7','8')
</when> </when>
<when test="paramsCollectManifestEO.userTypes == 'guest'">
AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth})
</when>
</choose> </choose>
</if> </if>
@@ -79,4 +76,11 @@
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
</select> </select>
<select id="pageInfo" resultMap="ParamsCollectManifestEOResultMap">
select *
from params_collect_manifest
<include refid="BaseQuerySql"/>
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
</select>
</mapper> </mapper>
@@ -59,4 +59,11 @@
<include refid="BaseQuerySql"/> <include refid="BaseQuerySql"/>
order by nio_number asc order by nio_number asc
</select> </select>
<select id="pageInfo" resultMap="ParamsCollectManifestHistoryEOResultMap">
select *
from params_collect_manifest_history
<include refid="BaseQuerySql"/>
order by nio_number asc
</select>
</mapper> </mapper>
@@ -1,5 +1,6 @@
package com.jero.modules.cert.collect.service; package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO;
@@ -58,11 +59,12 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
/** /**
* 列表查询 * 列表查询
* @param page
* @param paramsCollectManifestEO * @param paramsCollectManifestEO
* @param cut * @param cut
* @return * @return
*/ */
List<Map<String, Object>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, String cut); IPage queryList(IPage page, ParamsCollectManifestEO paramsCollectManifestEO, String cut);
/** /**
* 列表表头中英文切换 * 列表表头中英文切换
@@ -1,5 +1,6 @@
package com.jero.modules.cert.collect.service; package com.jero.modules.cert.collect.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO;
@@ -17,11 +18,12 @@ public interface IParamsCollectManifestHistoryEOService extends IService<ParamsC
/** /**
* 列表查询 * 列表查询
* @param page
* @param paramsCollectManifestEO * @param paramsCollectManifestEO
* @param cut * @param cut
* @return * @return
*/ */
List<Map<String, Object>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, String cut); IPage queryList(IPage page, ParamsCollectManifestEO paramsCollectManifestEO, String cut);
/** /**
* 列表表头中英文切换 * 列表表头中英文切换
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
@@ -34,6 +35,8 @@ import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService; import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService;
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.feishu.vo.FeishuMsgVo;
import com.jero.modules.ocr.service.WebSocketServer;
import com.jero.modules.ocr.util.LineHumpUtil; import com.jero.modules.ocr.util.LineHumpUtil;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
@@ -113,7 +116,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
private ISysUserRoleService sysUserRoleService; private ISysUserRoleService sysUserRoleService;
@Autowired @Autowired
private ProjectLibraryBaseMapper projectLibraryBaseMapper; private ProjectLibraryBaseMapper projectLibraryBaseMapper;
@Autowired
private WebSocketServer webSocketServer;
@@ -243,7 +247,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
* @return * @return
*/ */
@Override @Override
public List<Map<String, Object>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, String cut) { public IPage queryList(IPage page, ParamsCollectManifestEO paramsCollectManifestEO, String cut) {
String paramsManifestId = paramsCollectManifestEO.getParamsManifestId(); String paramsManifestId = paramsCollectManifestEO.getParamsManifestId();
String userTypes = paramsCollectManifestEO.getUserTypes(); String userTypes = paramsCollectManifestEO.getUserTypes();
@@ -270,10 +274,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
paramsCollectManifestEO.setSdt(loginUser.getUsername()); paramsCollectManifestEO.setSdt(loginUser.getUsername());
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername()); paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
} else if ("guest".equals(userTypes)) { } else if ("guest".equals(userTypes)) {
paramsCollectManifestEO.setSdt(loginUser.getUsername()); return page;
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
} }
List<ParamsCollectManifestEO> list = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO); // 查询固定列 IPage pageInfo = paramsCollectManifestEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列
List<ParamsCollectManifestEO> list = pageInfo.getRecords(); // 查询固定列
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询配置列 List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询配置列
List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据 List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据
@@ -365,7 +369,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
listMap.add(manifestMap); listMap.add(manifestMap);
}); });
return listMap; pageInfo.setRecords(listMap);
return pageInfo;
} }
/** /**
@@ -882,31 +887,29 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<Map<String, String>> userTypeList = new ArrayList<>(); // 一个用户可以有多个用户类型 List<Map<String, String>> userTypeList = new ArrayList<>(); // 一个用户可以有多个用户类型
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户
// 查询项目下所有责任领域下的 homo,sdt人员 // 查询项目下所有责任领域下的 homo人员
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId);
List<String> homoList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) {
String homoIdStr = projectLibraryBaseList.get(0).getCertificationEngineer();
if (StringUtils.isNotEmpty(homoIdStr)) {
List<String> homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList());
homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
}
}
// 查询项目下所有责任领域下的 sdt人员
List<String> sdtList = new ArrayList<>();
LambdaQueryWrapper<ProjectRelatedPersonnel> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProjectRelatedPersonnel> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProjectRelatedPersonnel::getProjectId, projectId); queryWrapper.eq(ProjectRelatedPersonnel::getProjectId, projectId);
List<ProjectRelatedPersonnel> prpList = projectRelatedPersonnelService.list(queryWrapper); List<ProjectRelatedPersonnel> prpList = projectRelatedPersonnelService.list(queryWrapper);
// String homoIdStr = prpList.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.joining(","));
String homoIdStr = prpList.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.joining(","));
String sdtIdStr = prpList.stream().map(e -> e.getEngineeringInterfacePerson()).collect(Collectors.joining(",")); String sdtIdStr = prpList.stream().map(e -> e.getEngineeringInterfacePerson()).collect(Collectors.joining(","));
List<String> homoList = new ArrayList<>(); // 项目下有homo-->不一定有sdt
if (StringUtils.isNotEmpty(homoIdStr)) { if(StringUtils.isNotBlank(sdtIdStr)) {
List<String> homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList()); List<String> sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList());
homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
} else {
Map<String, String> map = new HashMap<>();
if (CutEnum.CN.getValue().equals(cut)) {
map.put("label", CollectManifestUserTypeEnum.GUEST.getName());
} else {
map.put("label", CollectManifestUserTypeEnum.GUEST.getEnName());
}
map.put("value", CollectManifestUserTypeEnum.GUEST.getValue());
userTypeList.add(map);
return userTypeList;
} }
// 项目下有homo-->必定有sdt
List<String> sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList());
List<String> sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
// 查询项目下参数清单下收集参数项中的 sdt,dre人员 // 查询项目下参数清单下收集参数项中的 sdt,dre人员
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
@@ -917,7 +920,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
.map(ParamsCollectManifestEO::getSdt) .map(ParamsCollectManifestEO::getSdt)
.distinct() .distinct()
.collect(Collectors.toList()); .collect(Collectors.toList());
sdtList.addAll(sdtListOfPCM); sdtList.addAll(sdtListOfPCM); // 需要取并集,因为存在参数项开始收集但 人员相关名单中sdt被修改的情况
List<String> dreListOfPCM = pcmList.stream() List<String> dreListOfPCM = pcmList.stream()
.filter(e->StringUtils.isNotEmpty(e.getDre())) .filter(e->StringUtils.isNotEmpty(e.getDre()))
@@ -933,11 +936,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<String> userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); List<String> userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
userRoleIds = roleIdList.stream().filter(e->userRoleIdList.contains(e)).collect(Collectors.toList()); userRoleIds = roleIdList.stream().filter(e->userRoleIdList.contains(e)).collect(Collectors.toList());
} }
// TODO 查询当前登录用户角色 是否是当前项目的studio // 查询当前登录用户角色 是否是当前项目的studio
List<String> studioList = new ArrayList<>(); List<String> studioList = new ArrayList<>();
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId);
if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) { if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) {
studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList()); studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList()); // studio 一个项目只有一个
} }
if (CollectionUtil.isEmpty(userRoleIds) && !studioList.contains(loginUser.getUsername()) if (CollectionUtil.isEmpty(userRoleIds) && !studioList.contains(loginUser.getUsername())
@@ -1207,7 +1209,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
// 发送飞书消息 // 发送飞书消息
try { try {
feishuService.batchSendMessage(thirdIds, content, MessageTypeEnum.HOMO_TASK.getName(), hrefFeishu); FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
feishuMsgVo.setTitle(MessageTypeEnum.HOMO_TASK.getName());
feishuMsgVo.setContent(content);
feishuMsgVo.setUrl(hrefFeishu);
feishuService.sendCardMsg(thirdIds, feishuMsgVo);
} catch (IOException e) { } catch (IOException e) {
log.error("飞书消息推送失败"); log.error("飞书消息推送失败");
} }
@@ -1275,7 +1281,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
// 发送飞书消息 // 发送飞书消息
try { try {
feishuService.batchSendMessage(thirdIds, content, MessageTypeEnum.HOMO_TASK.getName(), hrefFeishu); FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
feishuMsgVo.setTitle(MessageTypeEnum.HOMO_TASK.getName());
feishuMsgVo.setContent(content);
feishuMsgVo.setUrl(hrefFeishu);
feishuService.sendCardMsg(thirdIds, feishuMsgVo);
} catch (IOException e) { } catch (IOException e) {
log.error("飞书消息推送失败"); log.error("飞书消息推送失败");
} }
@@ -1540,8 +1550,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
updateParamsManifestEO.setId(paramsManifestId); updateParamsManifestEO.setId(paramsManifestId);
updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue()); updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue());
updateParamsManifestEO.setFinishTime(time); updateParamsManifestEO.setFinishTime(time);
paramsManifestEOService.updateById(updateParamsManifestEO); boolean isSuccess2 = paramsManifestEOService.updateById(updateParamsManifestEO);
if (isSuccess2) {
webSocketServer.sendMessage();
}
} }
return isSuccess; return isSuccess;
@@ -2,6 +2,7 @@ package com.jero.modules.cert.collect.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
@@ -72,10 +73,11 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl<Param
* @return * @return
*/ */
@Override @Override
public List<Map<String, Object>> queryList(ParamsCollectManifestEO paramsCollectManifestEO, String cut) { public IPage queryList(IPage page, ParamsCollectManifestEO paramsCollectManifestEO, String cut) {
String paramsManifestId = paramsCollectManifestEO.getParamsManifestId(); String paramsManifestId = paramsCollectManifestEO.getParamsManifestId();
List<ParamsCollectManifestHistoryEO> list = paramsCollectManifestHistoryEOMapper.listInfo(paramsCollectManifestEO); // 查询固定列 IPage pageInfo = paramsCollectManifestHistoryEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列
List<ParamsCollectManifestHistoryEO> list = pageInfo.getRecords(); // 查询固定列
List<ParamsConfigHistoryEO> paramsConfigEOList = paramsConfigHistoryEOService.queryList(paramsManifestId); // 查询配置列 List<ParamsConfigHistoryEO> paramsConfigEOList = paramsConfigHistoryEOService.queryList(paramsManifestId); // 查询配置列
List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
List<ParamsConfigDataHistoryEO> paramsConfigDataEOList = paramsConfigDataHistoryEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据 List<ParamsConfigDataHistoryEO> paramsConfigDataEOList = paramsConfigDataHistoryEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据
@@ -168,7 +170,8 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl<Param
listMap.add(manifestMap); listMap.add(manifestMap);
}); });
return listMap; pageInfo.setRecords(listMap);
return pageInfo;
} }
/** /**
@@ -1,5 +1,6 @@
package com.jero.modules.cert.collect.service.impl; package com.jero.modules.cert.collect.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestUserTypeLogEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestUserTypeLogEO;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestUserTypeLogEOMapper; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestUserTypeLogEOMapper;
@@ -41,6 +42,14 @@ public class ParamsCollectManifestUserTypeLogEOServiceImpl extends ServiceImpl<P
*/ */
@Override @Override
public void editById(ParamsCollectManifestUserTypeLogEO paramsCollectManifestUserTypeLogEO) { public void editById(ParamsCollectManifestUserTypeLogEO paramsCollectManifestUserTypeLogEO) {
String projectId = paramsCollectManifestUserTypeLogEO.getProjectId();
String paramsManifestId = paramsCollectManifestUserTypeLogEO.getParamsManifestId();
String userId = paramsCollectManifestUserTypeLogEO.getUserId();
ParamsCollectManifestUserTypeLogEO oldEO = queryCurrentType(projectId, paramsManifestId, userId);
if (ObjectUtil.isNotEmpty(oldEO)) {
paramsCollectManifestUserTypeLogEO.setId(oldEO.getId());
}
Date now = new Date(); Date now = new Date();
paramsCollectManifestUserTypeLogEO.setUpdateTime(now); paramsCollectManifestUserTypeLogEO.setUpdateTime(now);
saveOrUpdate(paramsCollectManifestUserTypeLogEO); saveOrUpdate(paramsCollectManifestUserTypeLogEO);
@@ -290,60 +290,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Override @Override
public IPage pageInfo(IPage page, ParamsManifestEO paramsManifestEO) { public IPage pageInfo(IPage page, ParamsManifestEO paramsManifestEO) {
IPage rows = paramsManifestEOMapper.pageInfo(page, paramsManifestEO); IPage rows = paramsManifestEOMapper.pageInfo(page, paramsManifestEO);
// 根据参数项状态更新清单状态
List<ParamsManifestEO> paramsManifestEOList = rows.getRecords();
if (CollectionUtil.isNotEmpty(paramsManifestEOList)) {
List<String> manifestIdList = paramsManifestEOList.stream().map(ParamsManifestEO::getId).collect(Collectors.toList());
Map<String, List<ParamsCollectManifestEO>> manifestMap = paramsCollectManifestEOService.queryByManifestIdList(manifestIdList);
paramsManifestEOList.forEach(manifestEO -> {
/*Map<String, Object> map = paramsCollectManifestEOService.isCollectFinished(manifestEO.getId());
Boolean finish = (Boolean) map.get("finish");
Date time = (Date) map.get("time");
if (finish) {
manifestEO.setState(ManifestStateEnum.FINISHED.getValue());
manifestEO.setFinishTime(time);
// 更新清单状态和完成时间
ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO();
updateParamsManifestEO.setId(manifestEO.getId());
updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue());
updateParamsManifestEO.setFinishTime(time);
updateById(updateParamsManifestEO);
} else {
if (ManifestStateEnum.FINISHED.getValue().equals(manifestEO.getState())) {
// 更新清单状态和完成时间
ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO();
updateParamsManifestEO.setId(manifestEO.getId());
updateParamsManifestEO.setState(ManifestStateEnum.COLLECTING.getValue());
updateParamsManifestEO.setFinishTime(null);
updateById(updateParamsManifestEO);
}
manifestEO.setState(ManifestStateEnum.COLLECTING.getValue());
manifestEO.setFinishTime(null);
}*/
// 添加配置标识,清单参数项状态为 待发起、变更时,可添加配置
boolean configFlag = getManifestConfigFlag(manifestMap.get(manifestEO.getId()));
manifestEO.setConfigFlag(configFlag);
});
}
return rows; return rows;
} }
private boolean getManifestConfigFlag(List<ParamsCollectManifestEO> list) {
int number = (int) list.stream().filter(e->CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count();
if (number == list.size() && list.size() > 0) {
return true;
} else {
return false;
}
}
/** /**
* 变更扩展 * 变更扩展
* 仅能选择一条进行变更扩展 * 仅能选择一条进行变更扩展
@@ -181,4 +181,17 @@ public class LawsMonthlyReportTitleTemplateEOController extends JeroController<L
return Result.OK(list); return Result.OK(list);
} }
/**
* 上移下移
* @param lawsMonthlyReportTitleTemplateEOS
* @return
*/
@AutoLog(value = "上移下移")
@ApiOperation(value="上移下移", notes="上移下移")
@PostMapping(value = "/move")
public Result<?> move(@RequestBody List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS) {
lawsMonthlyReportTitleTemplateEOService.move(lawsMonthlyReportTitleTemplateEOS);
return Result.OK("操作成功!");
}
} }
@@ -0,0 +1,175 @@
package com.jero.modules.report.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
import com.jero.modules.report.service.ILawsMonthlyReportWriteEOService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @Description: 月报填写
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Api(tags="月报填写")
@RestController
@RequestMapping("/report/lawsMonthlyReportWriteEO")
@Slf4j
public class LawsMonthlyReportWriteEOController extends JeroController<LawsMonthlyReportWriteEO, ILawsMonthlyReportWriteEOService> {
@Autowired
private ILawsMonthlyReportWriteEOService lawsMonthlyReportWriteEOService;
/**
* 分页列表查询
*
* @param lawsMonthlyReportWriteEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "月报填写-分页列表查询")
@ApiOperation(value="月报填写-分页列表查询", notes="月报填写-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<LawsMonthlyReportWriteEO> pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "月报填写-列表查询")
@ApiOperation(value="月报填写-列表查询", notes="月报填写-列表查询")
@GetMapping(value = "/list")
public Result<List<LawsMonthlyReportWriteEO>> queryList() {
List<LawsMonthlyReportWriteEO> list = lawsMonthlyReportWriteEOService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param lawsMonthlyReportWriteEO
* @return
*/
@AutoLog(value = "月报填写-添加")
@ApiOperation(value="月报填写-添加", notes="月报填写-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) {
lawsMonthlyReportWriteEOService.add(lawsMonthlyReportWriteEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param lawsMonthlyReportWriteEO
* @return
*/
@AutoLog(value = "月报填写-编辑")
@ApiOperation(value="月报填写-编辑", notes="月报填写-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) {
lawsMonthlyReportWriteEOService.editById(lawsMonthlyReportWriteEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "月报填写-通过id删除")
@ApiOperation(value="月报填写-通过id删除", notes="月报填写-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
lawsMonthlyReportWriteEOService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "月报填写-批量删除")
@ApiOperation(value="月报填写-批量删除", notes="月报填写-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.lawsMonthlyReportWriteEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "月报填写-通过id查询")
@ApiOperation(value="月报填写-通过id查询", notes="月报填写-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id,String cut) {
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO = lawsMonthlyReportWriteEOService.queryById(id,cut);
if(lawsMonthlyReportWriteEO==null) {
return Result.error("未找到对应数据");
}
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOList = new ArrayList<>();
lawsMonthlyReportWriteEOList.add(lawsMonthlyReportWriteEO);
return Result.OK(lawsMonthlyReportWriteEOList);
}
/**
* 导出excel
*
* @param request
* @param lawsMonthlyReportWriteEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) {
return super.exportXls(request, lawsMonthlyReportWriteEO, LawsMonthlyReportWriteEO.class, "月报填写");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, LawsMonthlyReportWriteEO.class);
}
}
@@ -0,0 +1,170 @@
package com.jero.modules.report.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.report.entity.NewOpinionTemplateEO;
import com.jero.modules.report.service.INewOpinionTemplateEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: 新征求意见清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Api(tags="新征求意见清单模板")
@RestController
@RequestMapping("/report/newOpinionTemplateEO")
@Slf4j
public class NewOpinionTemplateEOController extends JeroController<NewOpinionTemplateEO, INewOpinionTemplateEOService> {
@Autowired
private INewOpinionTemplateEOService newOpinionTemplateEOService;
/**
* 分页列表查询
*
* @param newOpinionTemplateEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "新征求意见清单模板-分页列表查询")
@ApiOperation(value="新征求意见清单模板-分页列表查询", notes="新征求意见清单模板-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(NewOpinionTemplateEO newOpinionTemplateEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<NewOpinionTemplateEO> queryWrapper = QueryGenerator.initQueryWrapper(newOpinionTemplateEO, req.getParameterMap());
Page<NewOpinionTemplateEO> page = new Page<NewOpinionTemplateEO>(pageNo, pageSize);
IPage<NewOpinionTemplateEO> pageList = newOpinionTemplateEOService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "新征求意见清单模板-列表查询")
@ApiOperation(value="新征求意见清单模板-列表查询", notes="新征求意见清单模板-列表查询")
@GetMapping(value = "/list")
public Result<List<NewOpinionTemplateEO>> queryList() {
List<NewOpinionTemplateEO> list = newOpinionTemplateEOService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param newOpinionTemplateEO
* @return
*/
@AutoLog(value = "新征求意见清单模板-添加")
@ApiOperation(value="新征求意见清单模板-添加", notes="新征求意见清单模板-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody NewOpinionTemplateEO newOpinionTemplateEO) {
newOpinionTemplateEOService.add(newOpinionTemplateEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param newOpinionTemplateEO
* @return
*/
@AutoLog(value = "新征求意见清单模板-编辑")
@ApiOperation(value="新征求意见清单模板-编辑", notes="新征求意见清单模板-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody NewOpinionTemplateEO newOpinionTemplateEO) {
newOpinionTemplateEOService.editById(newOpinionTemplateEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "新征求意见清单模板-通过id删除")
@ApiOperation(value="新征求意见清单模板-通过id删除", notes="新征求意见清单模板-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
newOpinionTemplateEOService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "新征求意见清单模板-批量删除")
@ApiOperation(value="新征求意见清单模板-批量删除", notes="新征求意见清单模板-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.newOpinionTemplateEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "新征求意见清单模板-通过id查询")
@ApiOperation(value="新征求意见清单模板-通过id查询", notes="新征求意见清单模板-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
NewOpinionTemplateEO newOpinionTemplateEO = newOpinionTemplateEOService.queryById(id);
if(newOpinionTemplateEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(newOpinionTemplateEO);
}
/**
* 导出excel
*
* @param request
* @param newOpinionTemplateEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, NewOpinionTemplateEO newOpinionTemplateEO) {
return super.exportXls(request, newOpinionTemplateEO, NewOpinionTemplateEO.class, "新征求意见清单模板");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, NewOpinionTemplateEO.class);
}
}
@@ -0,0 +1,170 @@
package com.jero.modules.report.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.report.entity.NewStandardTemplateEO;
import com.jero.modules.report.service.INewStandardTemplateEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: 新发布标准清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Api(tags="新发布标准清单模板")
@RestController
@RequestMapping("/report/newStandardTemplateEO")
@Slf4j
public class NewStandardTemplateEOController extends JeroController<NewStandardTemplateEO, INewStandardTemplateEOService> {
@Autowired
private INewStandardTemplateEOService newStandardTemplateEOService;
/**
* 分页列表查询
*
* @param newStandardTemplateEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "新发布标准清单模板-分页列表查询")
@ApiOperation(value="新发布标准清单模板-分页列表查询", notes="新发布标准清单模板-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(NewStandardTemplateEO newStandardTemplateEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<NewStandardTemplateEO> queryWrapper = QueryGenerator.initQueryWrapper(newStandardTemplateEO, req.getParameterMap());
Page<NewStandardTemplateEO> page = new Page<NewStandardTemplateEO>(pageNo, pageSize);
IPage<NewStandardTemplateEO> pageList = newStandardTemplateEOService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "新发布标准清单模板-列表查询")
@ApiOperation(value="新发布标准清单模板-列表查询", notes="新发布标准清单模板-列表查询")
@GetMapping(value = "/list")
public Result<List<NewStandardTemplateEO>> queryList() {
List<NewStandardTemplateEO> list = newStandardTemplateEOService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param newStandardTemplateEO
* @return
*/
@AutoLog(value = "新发布标准清单模板-添加")
@ApiOperation(value="新发布标准清单模板-添加", notes="新发布标准清单模板-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody NewStandardTemplateEO newStandardTemplateEO) {
newStandardTemplateEOService.add(newStandardTemplateEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param newStandardTemplateEO
* @return
*/
@AutoLog(value = "新发布标准清单模板-编辑")
@ApiOperation(value="新发布标准清单模板-编辑", notes="新发布标准清单模板-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody NewStandardTemplateEO newStandardTemplateEO) {
newStandardTemplateEOService.editById(newStandardTemplateEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "新发布标准清单模板-通过id删除")
@ApiOperation(value="新发布标准清单模板-通过id删除", notes="新发布标准清单模板-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
newStandardTemplateEOService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "新发布标准清单模板-批量删除")
@ApiOperation(value="新发布标准清单模板-批量删除", notes="新发布标准清单模板-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.newStandardTemplateEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "新发布标准清单模板-通过id查询")
@ApiOperation(value="新发布标准清单模板-通过id查询", notes="新发布标准清单模板-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
NewStandardTemplateEO newStandardTemplateEO = newStandardTemplateEOService.queryById(id);
if(newStandardTemplateEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(newStandardTemplateEO);
}
/**
* 导出excel
*
* @param request
* @param newStandardTemplateEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, NewStandardTemplateEO newStandardTemplateEO) {
return super.exportXls(request, newStandardTemplateEO, NewStandardTemplateEO.class, "新发布标准清单模板");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, NewStandardTemplateEO.class);
}
}
@@ -79,10 +79,6 @@ public class LawsMonthlyReportTitleTemplateEO implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<LawsMonthlyReportTitleTemplateEO> children = new ArrayList<>(); private List<LawsMonthlyReportTitleTemplateEO> children = new ArrayList<>();
//标识(上移-->0,下移-->1)
@TableField(exist = false)
private String flag;
//排序 //排序
private int sort; private int sort;
@@ -0,0 +1,199 @@
package com.jero.modules.report.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.List;
/**
* @Description: 月报填写
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Data
@TableName("laws_monthly_report_write")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="laws_monthly_report_write对象", description="月报填写")
public class LawsMonthlyReportWriteEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**月份*/
@Excel(name = "月份", width = 15)
@ApiModelProperty(value = "月份")
private java.lang.String month;
/**章节目录*/
@Excel(name = "章节目录", width = 15)
@ApiModelProperty(value = "章节目录")
private java.lang.String memoriesChapter;
//章节目录名称
@TableField(exist = false)
private java.lang.String memoriesChapterName;
/**内容模板*/
@Excel(name = "内容模板", width = 15)
@ApiModelProperty(value = "内容模板")
private java.lang.String contentTemplate;
/**中文标题*/
@Excel(name = "中文标题", width = 15)
@ApiModelProperty(value = "中文标题")
private java.lang.String titleCn;
/**英文标题*/
@Excel(name = "英文标题", width = 15)
@ApiModelProperty(value = "英文标题")
private java.lang.String titleEn;
/**相关领域*/
@Excel(name = "相关领域", width = 15)
@ApiModelProperty(value = "相关领域")
private java.lang.String technologyTerritory;
@TableField(exist = false)
private java.lang.String technologyTerritoryName;
/**适用车型*/
@Excel(name = "适用车型", width = 15)
@ApiModelProperty(value = "适用车型")
@Dict(dicCode ="car_type")
private java.lang.String applyCar;
/**适用范围*/
@Excel(name = "适用范围", width = 15)
@ApiModelProperty(value = "适用范围")
@Dict(dicCode ="apply_scope")
private java.lang.String applyScope;
/**状态*/
@Excel(name = "状态", width = 15)
@ApiModelProperty(value = "状态")
@Dict(dicCode = "state")
private java.lang.String state;
/**用法*/
@Excel(name = "用法", width = 15)
@ApiModelProperty(value = "用法")
@Dict(dicCode ="yong4_fa3")
private java.lang.String useMethod;
/**实施车型*/
@Excel(name = "实施车型", width = 15)
@ApiModelProperty(value = "实施车型")
private java.lang.String implementCar;
/**发布日期*/
@Excel(name = "发布日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "发布日期")
private java.util.Date issueTime;
/**新车型实施日期*/
@Excel(name = "新车型实施日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "新车型实施日期")
private java.util.Date newCarImplementTime;
/**在产车实施日期*/
@Excel(name = "在产车实施日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "在产车实施日期")
private java.util.Date productionCarImplementTime;
/**主要内容中文*/
@Excel(name = "主要内容中文", width = 15)
@ApiModelProperty(value = "主要内容中文")
private java.lang.String contentCn;
/**主要内容英文*/
@Excel(name = "主要内容英文", width = 15)
@ApiModelProperty(value = "主要内容英文")
private java.lang.String contentEn;
/**NIO工作进展中文*/
@Excel(name = "NIO工作进展中文", width = 15)
@ApiModelProperty(value = "NIO工作进展中文")
private java.lang.String workProgressCn;
/**NIO工作进展英文*/
@Excel(name = "NIO工作进展英文", width = 15)
@ApiModelProperty(value = "NIO工作进展英文")
private java.lang.String workProgressEn;
/**法规联系人*/
@Excel(name = "法规联系人", width = 15)
@ApiModelProperty(value = "法规联系人")
private java.lang.String lawsContact;
/**链接*/
@Excel(name = "链接", width = 15)
@ApiModelProperty(value = "链接")
private java.lang.String link;
/**导出状态*/
@ApiModelProperty(value = "导出状态")
private java.lang.String exportState;
@TableField(exist = false)
private java.lang.String exportStateName;
//新征求意见清单模板
@TableField(exist = false)
private List<NewOpinionTemplateEO> newOpinionTemplateEOList;
//新发布标准清单模板
@TableField(exist = false)
private List<NewStandardTemplateEO> newStandardTemplateEOList;
@TableField(exist = false)
private String cut;
}
@@ -0,0 +1,91 @@
package com.jero.modules.report.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 新征求意见清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Data
@TableName("new_opinion_template")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="new_opinion_template对象", description="新征求意见清单模板")
public class NewOpinionTemplateEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**月报填写表id*/
@Excel(name = "月报填写表id", width = 15)
@ApiModelProperty(value = "月报填写表id")
private java.lang.String lawsMonthlyReportWriteId;
/**计划号中文*/
@Excel(name = "计划号中文", width = 15)
@ApiModelProperty(value = "计划号中文")
private java.lang.String planNumberCn;
/**标准名称中文*/
@Excel(name = "标准名称中文", width = 15)
@ApiModelProperty(value = "标准名称中文")
private java.lang.String standardNameCn;
/**标准名称英文*/
@Excel(name = "标准名称英文", width = 15)
@ApiModelProperty(value = "标准名称英文")
private java.lang.String standardNameEn;
/**征求意见截止日期*/
@Excel(name = "征求意见截止日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "征求意见截止日期")
private java.util.Date expirationDate;
}
@@ -0,0 +1,98 @@
package com.jero.modules.report.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 新发布标准清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Data
@TableName("new_standard_template")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="new_standard_template对象", description="新发布标准清单模板")
public class NewStandardTemplateEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**月报填写表id*/
@Excel(name = "月报填写表id", width = 15)
@ApiModelProperty(value = "月报填写表id")
private java.lang.String lawsMonthlyReportWriteId;
/**标准编号*/
@Excel(name = "标准编号", width = 15)
@ApiModelProperty(value = "标准编号")
private java.lang.String standardNumber;
/**标准名称中文*/
@Excel(name = "标准名称中文", width = 15)
@ApiModelProperty(value = "标准名称中文")
private java.lang.String standardNameCn;
/**标准名称英文*/
@Excel(name = "标准名称英文", width = 15)
@ApiModelProperty(value = "标准名称英文")
private java.lang.String standardNameEn;
/**发布日期*/
@Excel(name = "发布日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "发布日期")
private java.util.Date issueTime;
/**实施日期*/
@Excel(name = "实施日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "实施日期")
private java.util.Date implementTime;
}
@@ -0,0 +1,39 @@
package com.jero.modules.report.enums;
/**
* @description
* @date 2022/1/21 15:22
* @auth zhn
*/
public enum ContentTemplateEnum {
DEFAULT_TEMPLATE("默认模板","1"),
NEW_REQUEST_LIST_TEMPLATE("新征求意见清单模板","2"),
NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE("新发布标准清单模板","3");
String name;
String value;
private ContentTemplateEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@@ -0,0 +1,48 @@
package com.jero.modules.report.enums;
/**
* @description
* @date 2022/1/21 15:22
* @auth zhn
*/
public enum ExportStateEnum {
NOT_EXPORT("未导出","Not export","1"),
HAS_BEEN_EXPORT("已导出","Has been export","2");
String name;
String nameEn;
String value;
private ExportStateEnum(String name, String nameEn, String value) {
this.name = name;
this.nameEn = nameEn;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getNameEn() {
return nameEn;
}
public void setNameEn(String nameEn) {
this.nameEn = nameEn;
}
}
@@ -0,0 +1,17 @@
package com.jero.modules.report.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 月报填写
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
public interface LawsMonthlyReportWriteEOMapper extends BaseMapper<LawsMonthlyReportWriteEO> {
}
@@ -0,0 +1,17 @@
package com.jero.modules.report.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.report.entity.NewOpinionTemplateEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 新征求意见清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
public interface NewOpinionTemplateEOMapper extends BaseMapper<NewOpinionTemplateEO> {
}
@@ -0,0 +1,17 @@
package com.jero.modules.report.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.report.entity.NewStandardTemplateEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 新发布标准清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
public interface NewStandardTemplateEOMapper extends BaseMapper<NewStandardTemplateEO> {
}
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.report.mapper.LawsMonthlyReportWriteEOMapper">
<resultMap id="LawsMonthlyReportWriteEOResultMap" type="com.jero.modules.report.entity.LawsMonthlyReportWriteEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="month" property="month" />
<result column="memories_chapter" property="memoriesChapter" />
<result column="content_template" property="contentTemplate" />
<result column="title_cn" property="titleCn" />
<result column="title_en" property="titleEn" />
<result column="technology_territory" property="technologyTerritory" />
<result column="apply_car" property="applyCar" />
<result column="apply_scope" property="applyScope" />
<result column="state" property="state" />
<result column="use_method" property="useMethod" />
<result column="implement_car" property="implementCar" />
<result column="issue_time" property="issueTime" />
<result column="new_car_implement_time" property="newCarImplementTime" />
<result column="production_car_implement_time" property="productionCarImplementTime" />
<result column="content_cn" property="contentCn" />
<result column="content_en" property="contentEn" />
<result column="work_progress_cn" property="workProgressCn" />
<result column="work_progress_en" property="workProgressEn" />
<result column="laws_contact" property="lawsContact" />
<result column="link" property="link" />
<result column="export_state" property="exportState" />
</resultMap>
</mapper>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.report.mapper.NewOpinionTemplateEOMapper">
<resultMap id="NewOpinionTemplateEOResultMap" type="com.jero.modules.report.entity.NewOpinionTemplateEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="laws_monthly_report_write_id" property="lawsMonthlyReportWriteId" />
<result column="plan_number_cn" property="planNumberCn" />
<result column="standard_name_cn" property="standardNameCn" />
<result column="standard_name_en" property="standardNameEn" />
<result column="expiration_date" property="expirationDate" />
</resultMap>
</mapper>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.report.mapper.NewStandardTemplateEOMapper">
<resultMap id="NewStandardTemplateEOResultMap" type="com.jero.modules.report.entity.NewStandardTemplateEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="laws_monthly_report_write_id" property="lawsMonthlyReportWriteId" />
<result column="standard_number" property="standardNumber" />
<result column="standard_name_cn" property="standardNameCn" />
<result column="standard_name_en" property="standardNameEn" />
<result column="issue_time" property="issueTime" />
<result column="implement_time" property="implementTime" />
</resultMap>
</mapper>
@@ -72,7 +72,13 @@ public interface ILawsMonthlyReportTitleTemplateEOService extends IService<LawsM
IPage<LawsMonthlyReportTitleTemplateEO> getPageInfo(Integer pageNo,Integer pageSize, QueryWrapper<LawsMonthlyReportTitleTemplateEO> queryWrapper); IPage<LawsMonthlyReportTitleTemplateEO> getPageInfo(Integer pageNo,Integer pageSize, QueryWrapper<LawsMonthlyReportTitleTemplateEO> queryWrapper);
/** /**
* 以及菜单 * 一级菜单
*/ */
List<LawsMonthlyReportTitleTemplateEO> OneMenuList(); List<LawsMonthlyReportTitleTemplateEO> OneMenuList();
/**
* 上移下移
* @param lawsMonthlyReportTitleTemplateEOS
*/
void move(List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS);
} }
@@ -0,0 +1,77 @@
package com.jero.modules.report.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @Description: 月报填写
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
public interface ILawsMonthlyReportWriteEOService extends IService<LawsMonthlyReportWriteEO> {
/**
* 保存
*
* @param lawsMonthlyReportWriteEO
* @return
*/
void add(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO);
/**
* 编辑
*
* @param lawsMonthlyReportWriteEO
* @return
*/
void editById(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
LawsMonthlyReportWriteEO queryById(String id,String cut);
/**
* 列表查询
*
* @return
*/
List<LawsMonthlyReportWriteEO> queryList();
/**
* 分页
* @param lawsMonthlyReportWriteEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
Integer pageNo,
Integer pageSize,
HttpServletRequest req);
}
@@ -0,0 +1,61 @@
package com.jero.modules.report.service;
import com.jero.modules.report.entity.NewOpinionTemplateEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 新征求意见清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
public interface INewOpinionTemplateEOService extends IService<NewOpinionTemplateEO> {
/**
* 保存
*
* @param newOpinionTemplateEO
* @return
*/
void add(NewOpinionTemplateEO newOpinionTemplateEO);
/**
* 更新
*
* @param newOpinionTemplateEO
* @return
*/
void editById(NewOpinionTemplateEO newOpinionTemplateEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
NewOpinionTemplateEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<NewOpinionTemplateEO> queryList();
}
@@ -0,0 +1,61 @@
package com.jero.modules.report.service;
import com.jero.modules.report.entity.NewStandardTemplateEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 新发布标准清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
public interface INewStandardTemplateEOService extends IService<NewStandardTemplateEO> {
/**
* 保存
*
* @param newStandardTemplateEO
* @return
*/
void add(NewStandardTemplateEO newStandardTemplateEO);
/**
* 更新
*
* @param newStandardTemplateEO
* @return
*/
void editById(NewStandardTemplateEO newStandardTemplateEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
NewStandardTemplateEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<NewStandardTemplateEO> queryList();
}
@@ -159,6 +159,22 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl<Law
return this.list(wrapper); return this.list(wrapper);
} }
/**
* 上移,下移
* @param lawsMonthlyReportTitleTemplateEOS
*/
@Override
public void move(List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS) {
//上移,下移(交换sort)
if(lawsMonthlyReportTitleTemplateEOS.size() == 2){
int one = lawsMonthlyReportTitleTemplateEOS.get(0).getSort();
int two = lawsMonthlyReportTitleTemplateEOS.get(1).getSort();
lawsMonthlyReportTitleTemplateEOS.get(0).setSort(two);
lawsMonthlyReportTitleTemplateEOS.get(1).setSort(one);
}
this.updateBatchById(lawsMonthlyReportTitleTemplateEOS);
}
public Page getPages(Integer currentPage, Integer pageSize, List<LawsMonthlyReportTitleTemplateEO> list){ public Page getPages(Integer currentPage, Integer pageSize, List<LawsMonthlyReportTitleTemplateEO> list){
Page page =new Page(); Page page =new Page();
if(list==null){ if(list==null){
@@ -0,0 +1,292 @@
package com.jero.modules.report.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO;
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
import com.jero.modules.report.entity.NewOpinionTemplateEO;
import com.jero.modules.report.entity.NewStandardTemplateEO;
import com.jero.modules.report.enums.ContentTemplateEnum;
import com.jero.modules.report.enums.ExportStateEnum;
import com.jero.modules.report.mapper.LawsMonthlyReportWriteEOMapper;
import com.jero.modules.report.service.ILawsMonthlyReportTitleTemplateEOService;
import com.jero.modules.report.service.ILawsMonthlyReportWriteEOService;
import com.jero.modules.report.service.INewOpinionTemplateEOService;
import com.jero.modules.report.service.INewStandardTemplateEOService;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: 月报填写
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Service
public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthlyReportWriteEOMapper, LawsMonthlyReportWriteEO> implements ILawsMonthlyReportWriteEOService {
@Autowired
private INewOpinionTemplateEOService iNewOpinionTemplateEOService;
@Autowired
private INewStandardTemplateEOService iNewStandardTemplateEOService;
@Autowired
private ILawsMonthlyReportTitleTemplateEOService lawsMonthlyReportTitleTemplateEOService;
@Autowired
private SysCategoryServiceImpl sysCategoryService;
/**
* 保存
*
* @param lawsMonthlyReportWriteEO
* @return
*/
@Override
public void add(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) {
Date now = new Date();
lawsMonthlyReportWriteEO.setCreateTime(now);
lawsMonthlyReportWriteEO.setUpdateTime(now);
save(lawsMonthlyReportWriteEO);
if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新征求意见清单模板
List<NewOpinionTemplateEO> newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList();
for (NewOpinionTemplateEO newOpinionTemplateEO : newOpinionTemplateEOList) {
newOpinionTemplateEO.setLawsMonthlyReportWriteId(lawsMonthlyReportWriteEO.getId());
}
iNewOpinionTemplateEOService.saveBatch(newOpinionTemplateEOList);
}else if (ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新发布标准清单模板
List<NewStandardTemplateEO> newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList();
for (NewStandardTemplateEO newStandardTemplateEO : newStandardTemplateEOList) {
newStandardTemplateEO.setLawsMonthlyReportWriteId(lawsMonthlyReportWriteEO.getId());
}
iNewStandardTemplateEOService.saveBatch(newStandardTemplateEOList);
}
}
/**
* 编辑
*
* @param lawsMonthlyReportWriteEO
* @return
*/
@Override
public void editById(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) {
Date now = new Date();
lawsMonthlyReportWriteEO.setUpdateTime(now);
saveOrUpdate(lawsMonthlyReportWriteEO);
if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新征求意见清单模板
List<NewOpinionTemplateEO> newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList();
iNewOpinionTemplateEOService.updateBatchById(newOpinionTemplateEOList);
}else if (ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新发布标准清单模板
List<NewStandardTemplateEO> newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList();
iNewStandardTemplateEOService.updateBatchById(newStandardTemplateEOList);
}
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
//删除新征求意见清单模板
LambdaQueryWrapper<NewOpinionTemplateEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,ids);
iNewOpinionTemplateEOService.remove(wrapper);
//删除新发布标准清单模板
LambdaQueryWrapper<NewStandardTemplateEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,ids);
iNewStandardTemplateEOService.remove(queryWrapper);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public LawsMonthlyReportWriteEO queryById(String id,String cut) {
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO = getById(id);
if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新征求意见清单模板
LambdaQueryWrapper<NewOpinionTemplateEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,id);
List<NewOpinionTemplateEO> newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper);
lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(newOpinionTemplateEOList);
}else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新发布标准清单模板
LambdaQueryWrapper<NewStandardTemplateEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,id);
List<NewStandardTemplateEO> newStandardTemplateEOList = iNewStandardTemplateEOService.list(queryWrapper);
lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(newStandardTemplateEOList);
}
//数据转换(章节目录,相关领域,导出状态)
dataTransition(cut, lawsMonthlyReportWriteEO);
return lawsMonthlyReportWriteEO;
}
private void dataTransition(String cut, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) {
//处理章节目录
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list();
if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream()
.filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList());
if(CutEnum.CN.getValue().equals(cut) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn());
}else if(CutEnum.EN.getValue().equals(cut) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn());
}
}
//处理相关领域
//树形结构数据字典(技术领域)
List<SysCategory> categoryList = sysCategoryService.queryByTreeDicCode("technology_territory");
String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory();
if (StringUtils.isNotBlank(technologyTerritory)) {
List<String> technologyTerritoryList = Arrays.asList(technologyTerritory.split(","));
StringBuilder sb = new StringBuilder();
for (String technologyTerritoryTemp : technologyTerritoryList) {
List<SysCategory> collect = categoryList.stream().filter(e -> technologyTerritoryTemp.equals(e.getId())).collect(Collectors.toList());
if (collect.size() != 0) {
sb.append(collect.get(0).getEnName() + ",");
}
}
if (StringUtils.isNotBlank(sb)) {
String technologyTerritoryName = sb.substring(0, sb.length() - 1);
lawsMonthlyReportWriteEO.setTechnologyTerritoryName(technologyTerritoryName);
}
}
//处理导出状态
String exportState = lawsMonthlyReportWriteEO.getExportState();
if(StringUtils.isNotBlank(exportState)){
if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){
if(CutEnum.CN.getValue().equals(cut)){
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getName());
}else{
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getNameEn());
}
}else if(ExportStateEnum.HAS_BEEN_EXPORT.getValue().equals(exportState)){
if(CutEnum.CN.getValue().equals(cut)){
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName());
}else{
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn());
}
}
}
}
/**
* 列表查询
*
* @return
*/
@Override
public List<LawsMonthlyReportWriteEO> queryList() {
return list();
}
@Override
public IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp,
Integer pageNo,
Integer pageSize,
HttpServletRequest req) {
QueryWrapper<LawsMonthlyReportWriteEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap());
Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
//法规月报id
List<String> lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
//获取章节目录
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list();
//新征求意见清单模板
LambdaQueryWrapper<NewOpinionTemplateEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList);
List<NewOpinionTemplateEO> newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper);
//新发布标准清单模板
LambdaQueryWrapper<NewStandardTemplateEO> qrapperTemp = new LambdaQueryWrapper<>();
qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList);
List<NewStandardTemplateEO> newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp);
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) {
//处理章节目录
if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream()
.filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList());
if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEO.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn());
}else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEO.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn());
}
}
if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新征求意见清单模板
List<NewOpinionTemplateEO> collect = newOpinionTemplateEOList.stream()
.filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList());
lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(collect);
}else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
//新发布标准清单模板
List<NewStandardTemplateEO> collect = newStandardTemplateEOList.stream()
.filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList());
lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(collect);
}
//处理导出状态
String exportState = lawsMonthlyReportWriteEO.getExportState();
if(StringUtils.isNotBlank(exportState)){
if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){
if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getName());
}else{
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getNameEn());
}
}else if(ExportStateEnum.HAS_BEEN_EXPORT.getValue().equals(exportState)){
if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName());
}else{
lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn());
}
}
}
}
return pageInfo;
}
}
@@ -0,0 +1,89 @@
package com.jero.modules.report.service.impl;
import com.jero.modules.report.entity.NewOpinionTemplateEO;
import com.jero.modules.report.mapper.NewOpinionTemplateEOMapper;
import com.jero.modules.report.service.INewOpinionTemplateEOService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 新征求意见清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Service
public class NewOpinionTemplateEOServiceImpl extends ServiceImpl<NewOpinionTemplateEOMapper, NewOpinionTemplateEO> implements INewOpinionTemplateEOService {
/**
* 保存
*
* @param newOpinionTemplateEO
* @return
*/
@Override
public void add(NewOpinionTemplateEO newOpinionTemplateEO) {
Date now = new Date();
newOpinionTemplateEO.setCreateTime(now);
newOpinionTemplateEO.setUpdateTime(now);
save(newOpinionTemplateEO);
}
/**
* 更新
*
* @param newOpinionTemplateEO
* @return
*/
@Override
public void editById(NewOpinionTemplateEO newOpinionTemplateEO) {
Date now = new Date();
newOpinionTemplateEO.setUpdateTime(now);
saveOrUpdate(newOpinionTemplateEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public NewOpinionTemplateEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<NewOpinionTemplateEO> queryList() {
return list();
}
}
@@ -0,0 +1,89 @@
package com.jero.modules.report.service.impl;
import com.jero.modules.report.entity.NewStandardTemplateEO;
import com.jero.modules.report.mapper.NewStandardTemplateEOMapper;
import com.jero.modules.report.service.INewStandardTemplateEOService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 新发布标准清单模板
* @Author: jero-boot
* @Date: 2022-07-02
* @Version: V1.0
*/
@Service
public class NewStandardTemplateEOServiceImpl extends ServiceImpl<NewStandardTemplateEOMapper, NewStandardTemplateEO> implements INewStandardTemplateEOService {
/**
* 保存
*
* @param newStandardTemplateEO
* @return
*/
@Override
public void add(NewStandardTemplateEO newStandardTemplateEO) {
Date now = new Date();
newStandardTemplateEO.setCreateTime(now);
newStandardTemplateEO.setUpdateTime(now);
save(newStandardTemplateEO);
}
/**
* 更新
*
* @param newStandardTemplateEO
* @return
*/
@Override
public void editById(NewStandardTemplateEO newStandardTemplateEO) {
Date now = new Date();
newStandardTemplateEO.setUpdateTime(now);
saveOrUpdate(newStandardTemplateEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public NewStandardTemplateEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<NewStandardTemplateEO> queryList() {
return list();
}
}
@@ -178,6 +178,7 @@ export default {
this.$message.warning(this.$t('OnlyOneSelected')) this.$message.warning(this.$t('OnlyOneSelected'))
} else { } else {
let param = {ids: this.selectedRowKeysArray, paramsManifestId:this.$route.query.id ,projectId: this.$route.query.projectId, dre:this.selectedRowKeysDate[0].username } let param = {ids: this.selectedRowKeysArray, paramsManifestId:this.$route.query.id ,projectId: this.$route.query.projectId, dre:this.selectedRowKeysDate[0].username }
this.confirmLoading = true
axios({ axios({
url: '/jero-boot/params/collectManifest/updateDreBatch', url: '/jero-boot/params/collectManifest/updateDreBatch',
method: 'post', method: 'post',
@@ -199,14 +200,17 @@ export default {
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
// 填写人 // 填写人
// 获取当前登陆人 // 获取当前登陆人
this.confirmLoading = false
this.$emit('GetgetLoginUserType') this.$emit('GetgetLoginUserType')
this.$emit('GetgetTableList') this.$emit('GetgetTableList')
this.$emit('areaVisibleAssignedbyflag', false) this.$emit('areaVisibleAssignedbyflag', false)
}else{ }else{
this.confirmLoading = false
_this.$message.warning(_this.$t('operationFailed')) _this.$message.warning(_this.$t('operationFailed'))
} }
}) })
.catch( (error) =>{ .catch( (error) =>{
this.confirmLoading = false
console.log(error); console.log(error);
}); });
} }
@@ -18,6 +18,7 @@
<!-- --> <!-- -->
<div v-if="item.controlVerify == '1'"> <div v-if="item.controlVerify == '1'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')" :placeholder="$t('pleaseEnter')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
@@ -43,7 +44,7 @@
<div v-if="item.controlVerify == '4'"> <div v-if="item.controlVerify == '4'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
onkeyup="value=value.replace(/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/g,'')" onkeyup="(this.v=function(){this.value=this.value.replace(/[^\d\.]/g,'');}).call(this)"
:placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')" :placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
</div> </div>
@@ -95,10 +96,12 @@
</div> </div>
</div> </div>
<!-- 纯下拉单选--> <!-- 纯下拉单选-->
<div v-if='detailDate.controlType === "2"' class='add_flex'> <div v-else-if='detailDate.controlType === "2"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type === "pull"'> <div v-if='item.type === "pull"'>
<a-select v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false" <a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class='selectWid' :disabled="item.isLock == '1' ? true: false"
allowClear> allowClear>
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value"> <a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label "> <span style="display: inline-block;width: 100%" :title=" item.label ">
@@ -110,10 +113,12 @@
</div> </div>
</div> </div>
<!-- 纯下拉多选--> <!-- 纯下拉多选-->
<div v-if='detailDate.controlType === "3"' class='add_flex'> <div v-else-if='detailDate.controlType === "3"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' style='flex: 1' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' style='flex: 1' class='add-width'>
<div v-if='item.type==="pull_more"'> <div v-if='item.type==="pull_more"'>
<a-select v-model="item.dataValue" mode="multiple" class='selectWid' <a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
mode="multiple" class='selectWid'
:disabled="item.isLock == '1' ? true: false" allowClear> :disabled="item.isLock == '1' ? true: false" allowClear>
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value"> <a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label "> <span style="display: inline-block;width: 100%" :title=" item.label ">
@@ -125,7 +130,7 @@
</div> </div>
</div> </div>
<!-- 纯附件--> <!-- 纯附件-->
<div v-if='detailDate.controlType === "4"' class='add_flex'> <div v-else-if='detailDate.controlType === "4"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' style='flex: 1' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' style='flex: 1' class='add-width'>
<div v-if='item.type==="file"'> <div v-if='item.type==="file"'>
<a-button type="primary" class="button-text inputWid" <a-button type="primary" class="button-text inputWid"
@@ -137,10 +142,12 @@
</div> </div>
</div> </div>
<!-- 文本+下拉单选--> <!-- 文本+下拉单选-->
<div v-if='detailDate.controlType === "5"' class='add_flex'> <div v-else-if='detailDate.controlType === "5"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type==="pull"'> <div v-if='item.type==="pull"'>
<a-select v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false" <a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class='selectWid' :disabled="item.isLock == '1' ? true: false"
allowClear> allowClear>
<a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value"> <a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value">
<span style="display: inline-block;width: 100%" :title=" itemin.label "> <span style="display: inline-block;width: 100%" :title=" itemin.label ">
@@ -163,6 +170,7 @@
<!-- 无 --> <!-- 无 -->
<div v-if="item.controlVerify == '1'"> <div v-if="item.controlVerify == '1'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')" :placeholder="$t('pleaseEnter')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
@@ -170,6 +178,7 @@
<!-- 中文--> <!-- 中文-->
<div v-if="item.controlVerify == '2'"> <div v-if="item.controlVerify == '2'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')+$t('chinese')" :placeholder="$t('pleaseEnter')+$t('chinese')"
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')" onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
@@ -188,7 +197,7 @@
<div v-if="item.controlVerify == '4'"> <div v-if="item.controlVerify == '4'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
onkeyup="value=value.replace(/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/g,'')" onkeyup="(this.v=function(){this.value=this.value.replace(/[^\d\.]/g,'');}).call(this)"
:placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')" :placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
</div> </div>
@@ -240,7 +249,7 @@
</div> </div>
</div> </div>
<!-- 文本+下拉多选--> <!-- 文本+下拉多选-->
<div v-if='detailDate.controlType === "6"' class='add_flex'> <div v-else-if='detailDate.controlType === "6"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type==="text"'> <div v-if='item.type==="text"'>
<!-- 文本校验 分情况--> <!-- 文本校验 分情况-->
@@ -256,6 +265,7 @@
<!-- 无 --> <!-- 无 -->
<div v-if="item.controlVerify == '1'"> <div v-if="item.controlVerify == '1'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')" :placeholder="$t('pleaseEnter')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
@@ -263,6 +273,7 @@
<!-- 中文--> <!-- 中文-->
<div v-if="item.controlVerify == '2'"> <div v-if="item.controlVerify == '2'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')+$t('chinese')" :placeholder="$t('pleaseEnter')+$t('chinese')"
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')" onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
@@ -281,7 +292,7 @@
<div v-if="item.controlVerify == '4'"> <div v-if="item.controlVerify == '4'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
onkeyup="value=value.replace(/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/g,'')" onkeyup="(this.v=function(){this.value=this.value.replace(/[^\d\.]/g,'');}).call(this)"
:placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')" :placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
</div> </div>
@@ -331,7 +342,9 @@
</div> </div>
</div> </div>
<div v-if='item.type==="pull_more"'> <div v-if='item.type==="pull_more"'>
<a-select v-model="item.dataValue" mode="multiple" class='selectWid' <a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
mode="multiple" class='selectWid'
:disabled="item.isLock == '1' ? true: false" allowClear> :disabled="item.isLock == '1' ? true: false" allowClear>
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value"> <a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label "> <span style="display: inline-block;width: 100%" :title=" item.label ">
@@ -343,7 +356,7 @@
</div> </div>
</div> </div>
<!-- 文本+附件--> <!-- 文本+附件-->
<div v-if='detailDate.controlType === "7"' class='add_flex'> <div v-else-if='detailDate.controlType === "7"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type==="text"'> <div v-if='item.type==="text"'>
<!-- 文本校验 分情况--> <!-- 文本校验 分情况-->
@@ -359,6 +372,7 @@
<!-- 无 --> <!-- 无 -->
<div v-if="item.controlVerify == '1'"> <div v-if="item.controlVerify == '1'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')" :placeholder="$t('pleaseEnter')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
@@ -366,6 +380,7 @@
<!-- 中文--> <!-- 中文-->
<div v-if="item.controlVerify == '2'"> <div v-if="item.controlVerify == '2'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')+$t('chinese')" :placeholder="$t('pleaseEnter')+$t('chinese')"
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')" onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
@@ -384,7 +399,7 @@
<div v-if="item.controlVerify == '4'"> <div v-if="item.controlVerify == '4'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
onkeyup="value=value.replace(/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/g,'')" onkeyup="(this.v=function(){this.value=this.value.replace(/[^\d\.]/g,'');}).call(this)"
:placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')" :placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
</div> </div>
@@ -443,10 +458,12 @@
</div> </div>
</div> </div>
<!-- 下拉单选+附件--> <!-- 下拉单选+附件-->
<div v-if='detailDate.controlType === "8"' class='add_flex'> <div v-else-if='detailDate.controlType === "8"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type==="pull"'> <div v-if='item.type==="pull"'>
<a-select v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false" <a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class='selectWid' :disabled="item.isLock == '1' ? true: false"
allowClear> allowClear>
<a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value"> <a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value">
<span style="display: inline-block;width: 100%" :title=" itemin.label "> <span style="display: inline-block;width: 100%" :title=" itemin.label ">
@@ -465,10 +482,12 @@
</div> </div>
</div> </div>
<!-- 下拉多选+附件--> <!-- 下拉多选+附件-->
<div v-if='detailDate.controlType === "9"' class='add_flex'> <div v-else-if='detailDate.controlType === "9"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type==="pull_more"'> <div v-if='item.type==="pull_more"'>
<a-select v-model="item.dataValue" mode="multiple" class='selectWid' <a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
mode="multiple" class='selectWid'
:disabled="item.isLock == '1' ? true: false" allowClear> :disabled="item.isLock == '1' ? true: false" allowClear>
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value"> <a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label "> <span style="display: inline-block;width: 100%" :title=" item.label ">
@@ -487,13 +506,15 @@
</div> </div>
</div> </div>
<!-- 文本+下拉单选+附件--> <!-- 文本+下拉单选+附件-->
<div v-if='detailDate.controlType === "10"' class='add_flex'> <div v-else-if='detailDate.controlType === "10"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type==="pull"'> <div v-if='item.type==="pull"'>
<a-select v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false" <a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class='selectWid' :disabled="item.isLock == '1' ? true: false"
allowClear> allowClear>
<a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value"> <a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value">
<span style="display: inline-block;width: 100%" :title=" itemin.label "> <span style="display: inline-block;width: 100%" class="itemOption" :title=" itemin.label ">
{{ itemin.label }} {{ itemin.label }}
</span> </span>
</a-select-option> </a-select-option>
@@ -513,6 +534,7 @@
<!-- 无 --> <!-- 无 -->
<div v-if="item.controlVerify == '1'"> <div v-if="item.controlVerify == '1'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:maxLength="1000"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:placeholder="$t('pleaseEnter')" :placeholder="$t('pleaseEnter')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
@@ -521,6 +543,7 @@
<div v-if="item.controlVerify == '2'"> <div v-if="item.controlVerify == '2'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
:maxLength="1000"
:placeholder="$t('pleaseEnter')+$t('chinese')" :placeholder="$t('pleaseEnter')+$t('chinese')"
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')" onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
@@ -538,7 +561,7 @@
<div v-if="item.controlVerify == '4'"> <div v-if="item.controlVerify == '4'">
<a-input class="box-input inputWid" <a-input class="box-input inputWid"
:disabled="item.isLock == '1' ? true: false" :disabled="item.isLock == '1' ? true: false"
onkeyup="value=value.replace(/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/g,'')" onkeyup="(this.v=function(){this.value=this.value.replace(/[^\d\.]/g,'');}).call(this)"
:placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')" :placeholder="$t('pleaseEnter')+$t('Positivefloatingpointnumber')"
v-model="item.dataValue"/> v-model="item.dataValue"/>
</div> </div>
@@ -694,6 +717,13 @@
.ant-table td { .ant-table td {
white-space: nowrap; white-space: nowrap;
} }
.selectWid .ant-select-selection--multiple {
overflow: auto;
}
.selectWid .ant-select-selection--multiple::-webkit-scrollbar {
display: none; /* Chrome Safari */
}
</style> </style>
<style lang="less" scoped> <style lang="less" scoped>
.box { .box {
@@ -747,4 +777,12 @@
.ant-select-disabled{ .ant-select-disabled{
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
} }
.itemOption {
display: inline-block;
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
</style> </style>
@@ -12,16 +12,44 @@
> >
<a-row :gutter='24'> <a-row :gutter='24'>
<a-col :span='9'> <a-col :span='9'>
<a-form-model-item ref='region' :label="$t('NiONumber')" prop='region'> <div class="box-title-text">
<a-input <div class="title-text">
v-model='form.nioNumber' :placeholder="$t('pleaseEnter')+$t('NiONumber')" /> <!-- <span class="Required">*</span>-->
</a-form-model-item> <span class="title-text-text" :title="$t('NiONumber')">{{$t('NiONumber')}}</span>
</div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<a-input class="box-input" :title="$t('pleaseEnter')+$t('ParameterName')"
v-model='form.nioNumber' :placeholder="$t('pleaseEnter')+$t('NiONumber')" />
</a-form-model-item>
</div>
<!-- <a-form-model-item ref='region' :label="$t('NiONumber')" prop='region' >-->
<!-- <a-input-->
<!-- v-model='form.nioNumber' :placeholder="$t('pleaseEnter')+$t('NiONumber')" />-->
<!-- </a-form-model-item>-->
</a-col> </a-col>
<a-col :span='9'> <a-col :span='9'>
<a-form-model-item ref='paramsTemplateName' :label="$t('ParameterName')" prop='paramsTemplateName'> <div class="box-title-text">
<a-input <div class="title-text">
v-model='form.paramsName' :placeholder="$t('pleaseEnter')+$t('ParameterName')" /> <!-- <span class="Required">*</span>-->
</a-form-model-item> <span class="title-text-text" :title="$t('ParameterName')">{{$t('ParameterName')}}</span>
</div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<a-input
v-model='form.paramsName' :title="$t('pleaseEnter')+$t('ParameterName')" :placeholder="$t('pleaseEnter')+$t('ParameterName')" />
</a-form-model-item>
</div>
<!-- <a-form-model-item ref='paramsTemplateName' :label="$t('ParameterName')" prop='paramsTemplateName'>-->
<!-- <a-input-->
<!-- v-model='form.paramsName' :placeholder="$t('pleaseEnter')+$t('ParameterName')" />-->
<!-- </a-form-model-item>-->
</a-col> </a-col>
<a-col :span='6' style='margin-top: 5px'> <a-col :span='6' style='margin-top: 5px'>
<a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button> <a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button>
@@ -29,15 +57,32 @@
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter='24'> <a-row :gutter='24'>
<a-col :span='9'> <a-col :span='10'>
<a-form-model-item ref='region' :label="$t('areaOfResponsibility')" prop='region'> <div class="box-title-text">
<a-form-model-item class='itemModel' prop='region'> <div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span>
</div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<j-dict-select-tag class='box-input' v-model='form.dutyTerritory' <j-dict-select-tag class='box-input' v-model='form.dutyTerritory'
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')" :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'" :type="'select'"
:title="$t('PleaseSelect')+$t('areaOfResponsibility')"
:triggerChange='false' :dictCode="'duty_territory'" /> :triggerChange='false' :dictCode="'duty_territory'" />
</a-form-model-item> </a-form-model-item>
</a-form-model-item> </div>
<!-- <a-form-model-item ref='region' :label="$t('areaOfResponsibility')" prop='region'>-->
<!-- <a-form-model-item class='itemModel' prop='region'>-->
<!-- <j-dict-select-tag class='box-input' v-model='form.dutyTerritory'-->
<!-- :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"-->
<!-- :type="'select'"-->
<!-- :triggerChange='false' :dictCode="'duty_territory'" />-->
<!-- </a-form-model-item>-->
<!-- </a-form-model-item>-->
</a-col> </a-col>
<a-col :span='9'> <a-col :span='9'>
</a-col> </a-col>
@@ -291,6 +336,89 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
.box-title-text {
line-height: 1.4;
display: flex;
/*align-items: center;*/
}
.title-text {
width: 114px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
height: 40px;
margin-bottom: 24px;
}
.itemModel-text {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.Required {
color: red;
margin-right: 4px;
}
.title-text-text {
margin-top: 9px;
}
.header-text {
font-size: 16px;
font-weight: bold;
margin-left: 15px;
/*border-bottom: 1px #d9d9d9 dashed;*/
height: 30px;
margin-bottom: 30px;
}
.formAdd {
margin-bottom: 40px;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
.button-text-text {
position: absolute;
right: -10px;
top: -21px;
display: inline-block;
padding: 6px;
border-radius: 50%;
background: red;
text-align: center;
line-height: 6px;
color: #fff;
}
</style> </style>
<style lang='less'> <style lang='less'>
.area-module { .area-module {
@@ -304,4 +432,57 @@ export default {
} }
} }
} }
</style>
<style>
.formAdd .ant-form-item-label {
width: 130px;
}
.formAdd .ant-form-item-control-wrapper {
display: inline-block;
width: 100%;
}
/*.formAdd .ant-form-item {*/
/* margin-bottom: 20px;*/
/*}*/
.itemModel .ant-form-item-control-wrapper {
width: 100%;
}
.itemModel-text .ant-form-item-control-wrapper {
width: 100% !important;
}
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection--multiple {
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection--multiple .ant-select-selection__rendered > ul > li {
margin-top: 6px;
}
.box-input .ant-calendar-picker {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
height: 38px;
}
.box-input .ant-input-number-input-wrap {
line-height: 38px;
height: 38px;
}
</style> </style>
@@ -3,10 +3,14 @@
<div class="box-title-text" v-if="!isInput"> <div class="box-title-text" v-if="!isInput">
<a-input class="box-input" :value="value" @input="indexclick($event)" <a-input class="box-input" :value="value" @input="indexclick($event)"
:disabled="true" :disabled="true"
:title="value"
:placeholder="$t('PleaseSelect')+query.db_field_txt"/> :placeholder="$t('PleaseSelect')+query.db_field_txt"/>
<a-button type="primary" class="button-box" @click="standardClick"> <a-button type="primary" class="button-box" @click="standardClick">
{{this.$t('PersonnelSelection')}} {{this.$t('PersonnelSelection')}}
</a-button> </a-button>
<a-button type="primary" v-if='isDelete' class="button-box" @click="standardDelete">
{{this.$t('delete')}}
</a-button>
</div> </div>
<div class="box-title-text" v-if="isInput"> <div class="box-title-text" v-if="isInput">
<a-input :class="{'box-input':!isClass}" :value="value" <a-input :class="{'box-input':!isClass}" :value="value"
@@ -54,7 +58,7 @@
export default { export default {
name: 'index', name: 'index',
props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass'], props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass','isDelete'],
data() { data() {
return { return {
loading: true, loading: true,
@@ -86,12 +90,18 @@
this.queryDepartUserTreeList() this.queryDepartUserTreeList()
this.visible = true this.visible = true
}, },
standardDelete(){
this.$emit('input', null)
this.$forceUpdate()
this.$emit('deleteData',this.query.db_field_name)
},
// onSelect(selectedKeys, info) { // onSelect(selectedKeys, info) {
// console.log(selectedKeys) // console.log(selectedKeys)
// this.selectedKey = selectedKeys // this.selectedKey = selectedKeys
// }, // },
onCheck(checkedKeys, info) { onCheck(checkedKeys, info) {
console.log(checkedKeys)
this.userIds = checkedKeys.checked this.userIds = checkedKeys.checked
this.userName = [] this.userName = []
if (info.checkedNodes && info.checkedNodes.length > 0) { if (info.checkedNodes && info.checkedNodes.length > 0) {
@@ -151,6 +161,11 @@
}, },
indexclick(event) { indexclick(event) {
this.$emit('input', event.target.value) this.$emit('input', event.target.value)
this.departId = ''
this.searchModel = ''
this.userIds = []
this.userName = []
this.defaultCheckedKeys = []
}, },
onSearch(e) { onSearch(e) {
this.gData = [] this.gData = []
@@ -6,41 +6,77 @@
ref='ruleForm' ref='ruleForm'
:model='formInline' :model='formInline'
:rules='rules' :rules='rules'
:label-col='labelCol'
:wrapper-col='wrapperCol'
> >
<a-row :gutter='24'> <a-row :gutter='24'>
<a-col :span='24'> <a-col :span='24'>
<a-form-model-item style='line-height: 31.9999px;' prop='sourceConfigId' class='aform'> <div class="box-title-text">
<div style='display: flex; justify-content: center'> <div class="title-text">
<span class="Requireditem">*</span> <span class="Required">*</span>
<div style='width: 107px;line-height: 29px;'>{{ $t('from') }}&nbsp;&nbsp;&nbsp;</div> <span class="title-text-text" :title="$t('from')">{{$t('from')}}</span>
<a-select :placeholder="$t('PleaseSelect')+$t('controlVerification')" v-model="formInline.sourceConfigId" allowClear style='width: 140%'> </div>
<a-select-option v-for="(item, key) in fromDate" :key="key" :value="item.value" style='width: 140%'> <a-form-model-item class="itemModel" prop="sourceConfigId">
<span style="display: inline-block;width: 140%" :title=" item.label "> <a-select :placeholder="$t('PleaseSelect')+$t('controlVerification')"
style="width: calc(100% - 90px)"
v-model="formInline.sourceConfigId" allowClear>
<a-select-option v-for="(item, key) in fromDate" :key="key" :value="item.value">
<span :title=" item.label ">
{{ item.label }} {{ item.label }}
</span> </span>
</a-select-option> </a-select-option>
</a-select> </a-select>
<div style='width: 90px;line-height: 29px;'>&nbsp;&nbsp;&nbsp;&nbsp;{{ $t('configure') }}</div> <span style='width: 90px;line-height: 29px;margin-top: 8px'>&nbsp;&nbsp;&nbsp;&nbsp;{{ $t('configure') }}</span>
</div> </a-form-model-item>
</a-form-model-item>
</div>
<!-- <a-form-model-item style='line-height: 31.9999px;' prop='sourceConfigId' class='aform'>-->
<!-- <div style='display: flex; justify-content: center'>-->
<!-- <span class="Requireditem">*</span>-->
<!-- <div style='width: 107px;line-height: 29px;'>{{ $t('from') }}&nbsp;&nbsp;&nbsp;</div>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('controlVerification')" v-model="formInline.sourceConfigId" allowClear style='width: 140%'>-->
<!-- <a-select-option v-for="(item, key) in fromDate" :key="key" :value="item.value" style='width: 140%'>-->
<!-- <span style="display: inline-block;width: 140%" :title=" item.label ">-->
<!-- {{ item.label }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- <div style='width: 90px;line-height: 29px;'>&nbsp;&nbsp;&nbsp;&nbsp;{{ $t('configure') }}</div>-->
<!-- </div>-->
<!-- </a-form-model-item>-->
</a-col> </a-col>
<a-col :span='24'> <a-col :span='24'>
<a-form-model-item style='line-height: 31.9999px;' prop='targetConfigIds' class='aform'> <div class="box-title-text">
<div style='display: flex;justify-content: center'> <div class="title-text">
<span class="Requireditem">*</span> <span class="Required">*</span>
<div style='line-height: 29px;width: 107px'>{{ $t('ReferenceTo') }}&nbsp;&nbsp;&nbsp;</div> <span class="title-text-text" :title="$t('ReferenceTo')">{{$t('ReferenceTo')}}</span>
<a-select :placeholder="$t('PleaseSelect')+$t('controlVerification')" v-model="formInline.targetConfigIds" allowClear mode="multiple" style='width: 140%'> </div>
<a-select-option v-for="(item, key) in fromDateTo" :key="key" :value="item.value" style='width: 140%'> <a-form-model-item class="itemModel" prop="targetConfigIds">
<span style="display: inline-block;width: 140%" :title=" item.label "> <a-select :placeholder="$t('PleaseSelect')+$t('controlVerification')"
style="width: calc(100% - 90px)"
v-model="formInline.targetConfigIds" allowClear mode="multiple">
<a-select-option v-for="(item, key) in fromDateTo" :key="key" :value="item.value">
<span class="itemOption" :title=" item.label ">
{{ item.label }} {{ item.label }}
</span> </span>
</a-select-option> </a-select-option>
</a-select> </a-select>
<div style='width: 90px;line-height: 29px;'>&nbsp;&nbsp;&nbsp;&nbsp;{{ $t('configure') }}</div> <span
</div> style='width: 90px;line-height: 29px;float: right'>&nbsp;&nbsp;&nbsp;&nbsp;{{ $t('configure') }}</span>
</a-form-model-item> </a-form-model-item>
</div>
<!-- <a-form-model-item style='line-height: 31.9999px;' prop='targetConfigIds' class='aform'>-->
<!-- <span class="Requireditem">*</span>-->
<!-- <span style='line-height: 29px;width: 107px;display: inline-block'>{{ $t('ReferenceTo') }}&nbsp;&nbsp;&nbsp;</span>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('controlVerification')"-->
<!-- style="width: calc(100%);display: inline-block"-->
<!-- v-model="formInline.targetConfigIds" allowClear mode="multiple">-->
<!-- <a-select-option v-for="(item, key) in fromDateTo" :key="key" :value="item.value">-->
<!-- <span class="itemOption" :title=" item.label ">-->
<!-- {{ item.label }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- <span style='width: 90px;line-height: 29px;display: inline-block'>&nbsp;&nbsp;&nbsp;&nbsp;{{ $t('configure') }}</span>-->
<!-- </a-form-model-item>-->
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
@@ -53,159 +89,165 @@
</template> </template>
<script> <script>
import { putAction, postAction, getAction, deleteAction } from '@/api/manage' import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
import axios from 'axios' import axios from 'axios'
import Vue from 'vue' import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
export default {
name: 'diolagArea', export default {
components: {}, name: 'diolagArea',
data() { components: {},
return { data() {
token:Vue.ls.get(ACCESS_TOKEN), return {
selectedRowKeysDate: {}, token: Vue.ls.get(ACCESS_TOKEN),
loading: false, selectedRowKeysDate: {},
editId: '', loading: false,
newVisible: false, editId: '',
labelCol: { newVisible: false,
xs: { span: 24 }, labelCol: {
sm: { span: 7 } xs: { span: 24 },
}, sm: { span: 7 }
wrapperCol: { },
xs: { span: 24 }, wrapperCol: {
sm: { span: 14 } xs: { span: 24 },
}, sm: { span: 14 }
formInline: {}, },
rules: { formInline: {},
sourceConfigId: [ rules: {
{ required: true, message: this.$t('pleaseSelect')+this.$t('controlVerification'), trigger: 'change' }, sourceConfigId: [
], { required: true, message: this.$t('pleaseSelect') + this.$t('controlVerification'), trigger: 'change' }
targetConfigIds: [ ],
{ required: true, message: this.$t('pleaseSelect')+this.$t('controlVerification'), trigger: 'change' }, targetConfigIds: [
], { required: true, message: this.$t('pleaseSelect') + this.$t('controlVerification'), trigger: 'change' }
}, ]
areaTable: [], },
flag: false, //表单提交标识 areaTable: [],
spinLoading: false, flag: false, //表单提交标识
confirmLoading: false, spinLoading: false,
selectedRowKeys: [], confirmLoading: false,
fromDate: [], selectedRowKeys: [],
fromDateTo: [], fromDate: [],
} fromDateTo: []
}, }
props: {
paramsManifest: {
type: Object,
default: {},
require: true
}, },
selectedRowKeysArray: { props: {
type: String, paramsManifest: {
default: '', type: Object,
require: true default: {},
} require: true
}, },
mounted() { selectedRowKeysArray: {
this.loadData(), type: String,
this.loadDataTo() default: '',
}, require: true
methods: { }
loadData() { },
let _this = this mounted() {
let param = {paramsManifestId: this.paramsManifest.id,configFlag: 1} this.loadData(),
axios({ this.loadDataTo()
url: '/jero-boot/params/collectManifest/getConfigLableListR', },
method: 'post', methods: {
data: param, loadData() {
transformRequest: [function (data) { let _this = this
let ret = '' let param = { paramsManifestId: this.paramsManifest.id, configFlag: 1 }
for (let it in data) { axios({
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' url: '/jero-boot/params/collectManifest/getConfigLableListR',
} method: 'post',
return ret data: param,
}], transformRequest: [function(data) {
headers: { let ret = ''
'Content-Type': 'application/x-www-form-urlencoded', for (let it in data) {
'X-Access-Token':_this.token ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
} }
}) return ret
.then( (res) =>{ }],
console.log(res) headers: {
if (res.data.success) { 'Content-Type': 'application/x-www-form-urlencoded',
this.fromDate = res.data.result 'X-Access-Token': _this.token
}else{
_this.$message.warning(res.data.message)
} }
}) })
.catch( (error) =>{ .then((res) => {
console.log(error); console.log(res)
}); if (res.data.success) {
}, this.fromDate = res.data.result
loadDataTo() {
let _this = this
let param = {paramsManifestId: this.paramsManifest.id,configFlag: 2}
axios({
url: '/jero-boot/params/collectManifest/getConfigLableListR',
method: 'post',
data: param,
transformRequest: [function (data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token':_this.token
}
})
.then( (res) =>{
console.log(res)
if (res.data.success) {
this.fromDateTo = res.data.result
}else{
_this.$message.warning(res.data.result)
}
})
.catch( (error) =>{
console.log(error);
});
},
searchQuery() {
this.loadData()
},
searchReset() {
this.form = {}
this.loadData()
},
handleCancel() {
this.$emit('areaVisibleAssignedbyflag', false)
},
onSelectChange(selectedRowKeys, selectedRowKeysDate) {
this.selectedRowKeysDate = selectedRowKeysDate
this.selectedRowKeys = selectedRowKeys
},
handleTableChange(val) {
},
// 引用参数确定
handleSubmit() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
if(this.formInline.targetConfigIds instanceof Array){
this.formInline.targetConfigIds = this.formInline.targetConfigIds.join(',')
}
let param = {ids: this.selectedRowKeysArray, ...this.formInline }
postAction('params/collectManifest/referParams', param).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.$emit('areaVisibleAssignedbyflag', false)
this.$emit('GetgetTableList')
} else { } else {
this.$message.warning(res.message) _this.$message.warning(res.data.message)
} }
}) })
}}) .catch((error) => {
console.log(error)
})
},
loadDataTo() {
let _this = this
let param = { paramsManifestId: this.paramsManifest.id, configFlag: 2 }
axios({
url: '/jero-boot/params/collectManifest/getConfigLableListR',
method: 'post',
data: param,
transformRequest: [function(data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token': _this.token
}
})
.then((res) => {
console.log(res)
if (res.data.success) {
this.fromDateTo = res.data.result
} else {
_this.$message.warning(res.data.result)
}
})
.catch((error) => {
console.log(error)
})
},
searchQuery() {
this.loadData()
},
searchReset() {
this.form = {}
this.loadData()
},
handleCancel() {
this.$emit('areaVisibleAssignedbyflag', false)
},
onSelectChange(selectedRowKeys, selectedRowKeysDate) {
this.selectedRowKeysDate = selectedRowKeysDate
this.selectedRowKeys = selectedRowKeys
},
handleTableChange(val) {
},
// 引用参数确定
handleSubmit() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
let formInline = JSON.parse(JSON.stringify(this.formInline))
if (formInline.targetConfigIds instanceof Array) {
formInline.targetConfigIds = formInline.targetConfigIds.join(',')
}
let param = { ids: this.selectedRowKeysArray, ...formInline }
this.confirmLoading = true
postAction('params/collectManifest/referParams', param).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.$emit('areaVisibleAssignedbyflag', false)
this.$emit('GetgetTableList')
this.confirmLoading = false
} else {
this.$message.warning(res.message)
this.confirmLoading = false
}
})
}
})
// axios({ // axios({
// url: '/jero-boot/params/collectManifest/referParams', // url: '/jero-boot/params/collectManifest/referParams',
// method: 'post', // method: 'post',
@@ -234,57 +276,120 @@ export default {
// .catch( (error) =>{ // .catch( (error) =>{
// console.log(error); // console.log(error);
// }); // });
}
} }
} }
}
</script> </script>
<style lang='less' scoped> <style lang='less' scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
/deep/.ant-form-explain{
padding-left: 62px;
}
.diolag-area {
.table-area {
margin: 20px 0;
.action-edit { /deep/ .ant-form-explain {
margin-right: 10px; padding-left: 62px;
}
.diolag-area {
.table-area {
margin: 20px 0;
.action-edit {
margin-right: 10px;
}
}
.table-del {
color: red;
} }
} }
.table-del { .drawer-bootom-button {
color: red; display: flex;
justify-content: center;
}
.aform {
display: flex;
justify-content: center;
}
.itemOption {
display: inline-block;
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
height: 40px;
margin-bottom: 24px;
} }
}
.drawer-bootom-button{
display: flex;
justify-content: center;
}
.aform{
display: flex;
justify-content: center;
}
</style> </style>
<style lang='less'> <style lang='less'>
.area-module { .area-module {
.ant-modal-wrap { .ant-modal-wrap {
.ant-modal { .ant-modal {
.ant-modal-content { .ant-modal-content {
.ant-modal-footer { .ant-modal-footer {
text-align: center; text-align: center;
}
} }
} }
} }
} }
}
.page{ .page {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
margin-bottom: 20px; margin-bottom: 20px;
} }
.Requireditem{
color: red; .Requireditem {
line-height: 24px; color: red;
} line-height: 24px;
}
.box-title-text {
line-height: 1.4;
display: flex;
/*align-items: center;*/
}
.title-text {
width: 114px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel-text {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.Required {
color: red;
margin-right: 4px;
}
.title-text-text {
margin-top: 9px;
}
</style> </style>
@@ -92,6 +92,7 @@ export default {
handleSubmit() { handleSubmit() {
let _this = this let _this = this
let param = {ids: this.selectedRowKeysArray, paramsManifestId: this.paramsManifest.id } let param = {ids: this.selectedRowKeysArray, paramsManifestId: this.paramsManifest.id }
this.confirmLoading = true
axios({ axios({
url: '/jero-boot/params/collectManifest/syncReport', url: '/jero-boot/params/collectManifest/syncReport',
method: 'post', method: 'post',
@@ -114,12 +115,15 @@ export default {
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
this.$emit('areaVisibsynchronous', false) this.$emit('areaVisibsynchronous', false)
this.$emit('GetgetTableList') this.$emit('GetgetTableList')
this.confirmLoading = false
}else{ }else{
_this.$message.warning(_this.$t('operationFailed')) _this.$message.warning(_this.$t('operationFailed'))
this.confirmLoading = false
} }
}) })
.catch( (error) =>{ .catch( (error) =>{
console.log(error); console.log(error);
this.confirmLoading = false
}); });
} }
} }
@@ -107,12 +107,15 @@ export default {
handleSubmit() { handleSubmit() {
let _this = this let _this = this
let param = {ids: this.selectedRowKeysArray, deadline: `${this.pickerDate}`, } let param = {ids: this.selectedRowKeysArray, deadline: `${this.pickerDate}`, }
this.confirmLoading = true
postAction('/params/collectManifest/updateDeadlineBatch', param).then((res) => { postAction('/params/collectManifest/updateDeadlineBatch', param).then((res) => {
if (res.success) { if (res.success) {
this.$emit('areaVisibleTaskCutOffTimeflag', false) this.$emit('areaVisibleTaskCutOffTimeflag', false)
this.$message.success(res.message) this.$message.success(_this.$t('OperationSuccessful'))
this.confirmLoading = false
} else { } else {
this.$message.warning(res.message) this.$message.warning(_this.$t('operationFailed'))
this.confirmLoading = false
} }
}) })
}, },
+1 -1
View File
@@ -54,7 +54,7 @@
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 999; z-index: 111999;
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: rgba(255, 255, 255, 0.9); background-color: rgba(255, 255, 255, 0.9);
@@ -23,7 +23,7 @@
<div class="title-text" :title="item.db_field_txt"> <div class="title-text" :title="item.db_field_txt">
<span>{{item.db_field_txt}}</span> <span>{{item.db_field_txt}}</span>
</div> </div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+item.db_field_txt" <a-input class="box-input" style='width: 226px' :placeholder="$t('PleaseEnter')+item.db_field_txt"
v-model="queryParam[item.db_field_name]"></a-input> v-model="queryParam[item.db_field_name]"></a-input>
</div> </div>
<div class="box-title-text" v-else-if="item.field_show_type == '2'"> <div class="box-title-text" v-else-if="item.field_show_type == '2'">
@@ -46,6 +46,18 @@
</span> </span>
</a-table> </a-table>
</div> </div>
<div class="page">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:pageSizeOptions='pageSizeOptions'
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
</div>
<!-- 修改工程接口人---> <!-- 修改工程接口人--->
<a-modal v-model="areaVisible" :title="$t('modifyprojectInterfacePerson')" width='620px' :footer="null" <a-modal v-model="areaVisible" :title="$t('modifyprojectInterfacePerson')" width='620px' :footer="null"
@cancel="cancleImports"> @cancel="cancleImports">
@@ -127,6 +139,7 @@
import axios from 'axios' import axios from 'axios'
import Vue from 'vue' import Vue from 'vue'
import VueDraggableResizable from 'vue-draggable-resizable' import VueDraggableResizable from 'vue-draggable-resizable'
import { mapGetters } from 'vuex'
export default { export default {
name: 'index', name: 'index',
@@ -206,7 +219,8 @@
selectedRowrowValue: [], selectedRowrowValue: [],
dataSource: [], dataSource: [],
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 100,
pageSizeOptions: ['100', '200'],
total: 0, total: 0,
searchParmes: {}, searchParmes: {},
loading: false, loading: false,
@@ -242,8 +256,19 @@
} }
}, },
mounted() { mounted() {
this.getHeader()
},
watch: {
currentPersonRole: {
handler: function() {
console.log(123)
this.getTableList()
},
immediate: true
}
}, },
methods: { methods: {
...mapGetters(['userInfo']),
rowClassName(row, index) { rowClassName(row, index) {
if (row.changeFlag == '1') { if (row.changeFlag == '1') {
return 'rowClassRedYellow' return 'rowClassRedYellow'
@@ -252,6 +277,17 @@
return 'rowClassRed' return 'rowClassRed'
} }
}, },
pageOnChange(page, pageSize) {
this.pageNo = page
this.$emit('handlePreservation')
this.getTableList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.$emit('handlePreservation')
this.getTableList()
},
// 查看配置详细信息 // 查看配置详细信息
onClickSee(val) { onClickSee(val) {
let _this = this let _this = this
@@ -321,11 +357,11 @@
.then((res) => { .then((res) => {
console.log(res) console.log(res)
if (res.data.success) { if (res.data.success) {
_this.$message.success(res.data.result) _this.$message.success(_this.$t('OperationSuccessful'))
_this.areaVisible = false _this.areaVisible = false
this.getLoginUserType() this.getLoginUserType()
} else { } else {
_this.$message.warning(res.data.result) _this.$message.warning(_this.$t('operationFailed'))
} }
}) })
.catch((error) => { .catch((error) => {
@@ -344,10 +380,10 @@
this.areaVisible = true this.areaVisible = true
// this.$refs.ruleForm.clearValidate() // this.$refs.ruleForm.clearValidate()
this.$nextTick(() => { this.$nextTick(() => {
this.Dateline = { ...this.Dateline }
this.getquerySdtList(record) this.getquerySdtList(record)
this.$refs.ruleForm.clearValidate()
}) })
this.$refs.ruleForm.clearValidate()
}, },
dataValueTobeinitiated() { dataValueTobeinitiated() {
this.$message.warning(this.$t('certifiedEngineer') + this.$t('and') + this.$t('Statusis') + this.$t('CollectionInitiated') + this.$t('ReturnedPerson') + this.$t('alteration') + this.$t('toHavePermission')) this.$message.warning(this.$t('certifiedEngineer') + this.$t('and') + this.$t('Statusis') + this.$t('CollectionInitiated') + this.$t('ReturnedPerson') + this.$t('alteration') + this.$t('toHavePermission'))
@@ -364,14 +400,36 @@
paramsManifestId: this.$route.query.id, paramsManifestId: this.$route.query.id,
projectId: this.$route.query.projectId projectId: this.$route.query.projectId
} }
this.loading = true
getAction(this.url.getLoginUserType, params).then((res) => { getAction(this.url.getLoginUserType, params).then((res) => {
if (res.success) { if (res.success) {
this.getTableList(res.result[0].value) this.getAndUserId(res.result)
this.$emit('LoginUserType', res.result, this.currentPersonRole)
} }
}) })
}, },
getData() { getAndUserId(result) {
let query = {
paramsManifestId: this.$route.query.id,
projectId: this.$route.query.projectId,
userId: this.userInfo().id
}
getAction('/params/userTypeLog/queryCurrentType', query).then((res) => {
if (res.success) {
if (res.result && res.result.userType) {
if (!(result.some(val => val.value == res.result.userType))) {
res.result.userType = result[0] ? result[0].value : ''
}
this.getTableList(res.result.userType)
} else {
this.getTableList(result[0].value)
}
this.$emit('LoginUserType', result, this.currentPersonRole, res.result.userType)
} else {
}
})
},
getHeader() {
let paramsManifestid let paramsManifestid
let url let url
if (this.$route.query.it === undefined) { if (this.$route.query.it === undefined) {
@@ -451,7 +509,7 @@
if (res.success) { if (res.success) {
let tt = [] let tt = []
if (this.currentPersonRole !== 'dre') { if (this.currentPersonRole !== 'dre') {
res.result.forEach((Obj) => { res.result.records.forEach((Obj) => {
Object.keys(Obj).forEach((item) => { Object.keys(Obj).forEach((item) => {
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) { if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
Obj[item].list.forEach((itemLi) => { Obj[item].list.forEach((itemLi) => {
@@ -465,7 +523,7 @@
tt.push(Obj) tt.push(Obj)
}) })
} else { } else {
res.result.forEach((Obj) => { res.result.records.forEach((Obj) => {
Object.keys(Obj).forEach((item) => { Object.keys(Obj).forEach((item) => {
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) { if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
Obj[item].list.forEach((itemLi) => { Obj[item].list.forEach((itemLi) => {
@@ -481,7 +539,10 @@
this.dataSource = tt this.dataSource = tt
this.total = res.result.total this.total = res.result.total
this.selectedRowKeys = [] this.selectedRowKeys = []
this.loading = false this.$emit('getDataSource', this.dataSource)
setTimeout(() => {
this.loading = false
}, 500)
} else { } else {
this.loading = false this.loading = false
} }
@@ -504,6 +565,8 @@
url = 'params/collectManifestHistory/list' url = 'params/collectManifestHistory/list'
} }
let params = { let params = {
pageNo: this.pageNo,
pageSize: this.pageSize,
userTypes: this.currentPersonRole || currentPersonRole, userTypes: this.currentPersonRole || currentPersonRole,
paramsManifestId: paramsManifestid, paramsManifestId: paramsManifestid,
...this.formInline ...this.formInline
@@ -530,7 +593,7 @@
// }) // })
let tt = [] let tt = []
if (this.currentPersonRole !== 'dre') { if (this.currentPersonRole !== 'dre') {
res.result.forEach((Obj) => { res.result.records.forEach((Obj) => {
Object.keys(Obj).forEach((item) => { Object.keys(Obj).forEach((item) => {
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) { if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
Obj[item].list.forEach((itemLi) => { Obj[item].list.forEach((itemLi) => {
@@ -544,7 +607,7 @@
tt.push(Obj) tt.push(Obj)
}) })
} else { } else {
res.result.forEach((Obj) => { res.result.records.forEach((Obj) => {
Object.keys(Obj).forEach((item) => { Object.keys(Obj).forEach((item) => {
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) { if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
Obj[item].list.forEach((itemLi) => { Obj[item].list.forEach((itemLi) => {
@@ -563,7 +626,10 @@
this.selectedRowrowValue = [] this.selectedRowrowValue = []
this.$emit('value', this.selectedRowKeys) this.$emit('value', this.selectedRowKeys)
this.$emit('rowValue', this.selectedRowrowValue) this.$emit('rowValue', this.selectedRowrowValue)
this.loading = false this.$emit('getDataSource', this.dataSource)
setTimeout(() => {
this.loading = false
}, 500)
} else { } else {
this.loading = false this.loading = false
} }
@@ -585,15 +651,6 @@
detailClick(item, index) { detailClick(item, index) {
// this.$emit('detailClick', item) // this.$emit('detailClick', item)
} }
},
watch: {
currentPersonRole: {
handler: function() {
this.getTableList()
this.getData()
},
immediate: true
}
} }
} }
</script> </script>
@@ -690,10 +747,12 @@
transform: none !important; transform: none !important;
bottom: 0; bottom: 0;
} }
.rowClassRed{
background: #f3d9de; .rowClassRed {
background: #f3d9de;
} }
.rowClassRedYellow{
background: yellow; .rowClassRedYellow {
background: yellow;
} }
</style> </style>
+2 -1
View File
@@ -50,9 +50,10 @@ import {
import config from '@/defaultSettings' import config from '@/defaultSettings'
//引入 //引入
import socketPublic from '@/utils/socketVuex.js' import socketPublic from '@/utils/socketVuex.js'
import socketPublicOne from '@/utils/socketVuexOne.js'
//挂载 //挂载
Vue.prototype.$socketPublic = socketPublic Vue.prototype.$socketPublic = socketPublic
Vue.prototype.$socketPublicOne = socketPublicOne
import JDictSelectTag from './components/dict/index.js' import JDictSelectTag from './components/dict/index.js'
import hasPermission from '@/utils/hasPermission' import hasPermission from '@/utils/hasPermission'
import vueBus from '@/utils/vueBus' import vueBus from '@/utils/vueBus'
+116
View File
@@ -0,0 +1,116 @@
import Vue from 'vue'
import Vuex from 'vuex'
import store from '@/store/'
Vue.use(Vuex)
// console.log(window._CONFIG['domianWebSocketURL'])
export default new Vuex.Store({
state: {
ws: null, //建立的连接
lockReconnect: false, //是否真正建立连接
timeout: 15000, //15秒一次心跳
timeoutObj: null, //心跳心跳倒计时
serverTimeoutObj: null, //心跳倒计时
timeoutnum: null, //断开 重连倒计时
msg: null //接收到的信息
},
getters: {
// 获取接收的信息
socketMsgs: state => {
return state.msg
}
},
mutations: {
//初始化ws 用户登录后调用
webSocketInit(state) {
let that = this
//this 创建一个state.ws对象【发送、接收、关闭socket都由这个对象操作】
const userId = store.getters.userInfo.id
state.ws = new WebSocket(window._CONFIG['domianWebSocketURL'].replace('https://', 'wss://').replace('http://', 'ws://') + '/websocket/socketServer')
state.ws.onopen = function(res) {
console.log('Connection success...')
/**
* 启动心跳检测
*/
that.commit('start')
}
state.ws.onmessage = function(res) {
if (res.data === 'heartCheck') {
// 收到服务器信息,心跳重置
that.commit('reset')
} else {
state.msg = res
}
}
state.ws.onclose = function(res) {
//重连
that.commit('reconnect')
}
state.ws.onerror = function(res) {
//重连
that.commit('reconnect')
}
},
reconnect(state) {
//重新连接
let that = this
if (state.lockReconnect) {
return
}
state.lockReconnect = true
//没连接上会一直重连,30秒重试请求重连,设置延迟避免请求过多
state.timeoutnum &&
clearTimeout(state.timeoutnum)
state.timeoutnum = setTimeout(() => {
//新连接
that.commit('webSocketInit')
state.lockReconnect = false
}, 5000)
},
reset(state) {
//重置心跳
let that = this
//清除时间
clearTimeout(state.timeoutObj)
clearTimeout(state.serverTimeoutObj)
//重启心跳
that.commit('start')
},
start(state) {
//开启心跳
var self = this
state.timeoutObj &&
clearTimeout(state.timeoutObj)
state.serverTimeoutObj &&
clearTimeout(state.serverTimeoutObj)
state.timeoutObj = setTimeout(() => {
//这里发送一个心跳,后端收到后,返回一个心跳消息,
if (state.ws.readyState === 1) {
//如果连接正常
state.ws.send('heartCheck')
} else {
//否则重连
self.commit('reconnect')
}
state.serverTimeoutObj = setTimeout(function() {
//超时关闭
state.ws.close()
}, state.timeout)
}, state.timeout)
}
},
actions: {
webSocketInit({
commit
}, url) {
commit('webSocketInit', url)
},
webSocketSend({
commit
}, p) {
commit('webSocketSend', p)
}
}
})
@@ -10,7 +10,7 @@
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox> <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
<div class="text-text-right" <div class="text-text-right"
:class="{ 'null-input':item.checked }"> :class="{ 'null-input':item.checked }">
<div class="text-header"> <div class="text-header" @click="titleClick(item)">
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5"> <a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<template slot="title"> <template slot="title">
<span v-html="item.module_type"></span> <span v-html="item.module_type"></span>
@@ -22,19 +22,19 @@
<span v-html="item.serial_number"></span> <span v-html="item.serial_number"></span>
</template> </template>
<span style="cursor: pointer" <span style="cursor: pointer"
@click="titleClick(item)" v-html="item.serial_number"></span> v-html="item.serial_number"></span>
</a-tooltip> </a-tooltip>
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5"> <a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<template slot="title"> <template slot="title">
<span v-html="item.title"></span> <span v-html="item.title"></span>
</template> </template>
<span style="cursor: pointer" v-html="item.title" @click="titleClick(item)"></span> <span style="cursor: pointer" v-html="item.title"></span>
</a-tooltip> </a-tooltip>
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5"> <a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<template slot="title"> <template slot="title">
<span v-html="item.file_name"></span> <span v-html="item.file_name"></span>
</template> </template>
<span style="cursor: pointer" v-html="item.file_name" @click="titleClick(item)"></span> <span style="cursor: pointer" v-html="item.file_name"></span>
</a-tooltip> </a-tooltip>
</div> </div>
<a-tooltip placement="topLeft" v-if="!queryParam.selectValue" :mouseEnterDelay="0.5"> <a-tooltip placement="topLeft" v-if="!queryParam.selectValue" :mouseEnterDelay="0.5">
@@ -1,6 +1,7 @@
<template> <template>
<a-card :bordered="false"> <a-card :bordered="false">
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
@@ -29,6 +30,7 @@
</a-col> </a-col>
</span> </span>
</a-row> </a-row>
</a-form>
</div> </div>
<div class="table-operator"> <div class="table-operator">
<div @click="handleAdd" class="operator-text" v-has="'params:template:add'"> <div @click="handleAdd" class="operator-text" v-has="'params:template:add'">
@@ -200,6 +202,7 @@ export default {
methods: { methods: {
handleCancel() { handleCancel() {
this.areaVisible=false this.areaVisible=false
this.$refs['ruleForm'].resetFields()
}, },
handleSubmit() { handleSubmit() {
if( this.formInline.paramsTemplateName !== undefined) { if( this.formInline.paramsTemplateName !== undefined) {
@@ -1,32 +1,34 @@
<template> <template>
<a-card :bordered="false"> <a-card :bordered="false">
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-row :gutter="24"> <a-form layout="inline" @keyup.enter.native="searchQuery">
<a-col :md="6" :sm="8"> <a-row :gutter="24">
<div class="box-title-text"> <a-col :md="6" :sm="8">
<div class="title-text" :title="$t('entryName')"> <div class="box-title-text">
<span>{{$t('entryName')}}</span> <div class="title-text" :title="$t('entryName')">
<span>{{$t('entryName')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
v-model="queryParam.projectName"></a-input>
</div> </div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')" </a-col>
v-model="queryParam.projectName"></a-input> <a-col :md="6" :sm="8">
</div> <div class="box-title-text">
</a-col> <div class="title-text" :title="$t('ListTitle')">
<a-col :md="6" :sm="8"> <span>{{$t('ListTitle')}}</span>
<div class="box-title-text"> </div>
<div class="title-text" :title="$t('ListTitle')"> <a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ListTitle')"
<span>{{$t('ListTitle')}}</span> v-model="queryParam.title"></a-input>
</div> </div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ListTitle')" </a-col>
v-model="queryParam.title"></a-input> <span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24"> <a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button> <a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button> <a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col> </a-col>
</span> </span>
</a-row> </a-row>
</a-form>
</div> </div>
<div> <div>
<a-table <a-table
@@ -70,290 +72,294 @@
</template> </template>
<script> <script>
import ExportHistory from '@/components/exporthistory/index' import ExportHistory from '@/components/exporthistory/index'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import axios from 'axios' import axios from 'axios'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import eventBUs from '../../../common/event' import eventBUs from '../../../common/event'
import Vue from 'vue' import Vue from 'vue'
export default {
name: 'index',
components: {
ExportHistory
},
data() {
return {
token:Vue.ls.get(ACCESS_TOKEN),
loading: false,
toggleSearchStatus: false,
selectedRowKeys: [],
selectedRowKeysArray: '',
formInline: {},
rules: {
paramsTemplateName:[
{ required: true, message: this.$t('PleaseEnter')+this.$t('templateName'), trigger: 'change' },
],
},
visible: false,
dataSource: [],
confirmLoading: false,
url: {
list: 'params/report/page',
},
total: 0,
pageSize: 10,
pageNo: 1,
title: '新增',
columns: [
{
title: this.$t('entryName'),
align: 'center',
width: '10%',
dataIndex: 'projectName',
},
{
title: this.$t('ListTitle'),
align: 'center',
dataIndex: 'title',
},
{
title: this.$t('Version'),
align: 'center',
dataIndex: 'version',
},
{
title: this.$t('operation'),
align: 'center',
fixed: 'right',
width: 200,
scopedSlots: { customRender: 'operation' }
}
],
queryParam: {},
areaVisible:false,
paramsTemplateName: '',
drawerVisible: false,
titleTag: '导出历史'
}
},
mounted() {
this.getList()
},
methods: {
handleCancel() {
this.areaVisible=false
},
handleSubmit() {
if( this.formInline.paramsTemplateName !== undefined) {
this.formInline.paramsTemplateName = this.formInline.paramsTemplateName.trim()
}
this.$refs.ruleForm.validate(valid => {
if (valid) {
getAction(this.url.copy + `?id=${this.selectedRowKeys[0]}&paramsTemplateName=${this.formInline.paramsTemplateName}`, {}).then((res) => {
if (res.success) {
this.areaVisible = false
this.$message.success(res.message)
this.selectedRowKeys = []
this.getList()
} else {
this.$message.warning(res.message)
}
})
}
})
},
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
onSelectChange(value) {
this.selectedRowKeys = value
this.selectedRowKeysArray = this.selectedRowKeys.join(',')
},
// 复制
handlecody(){
this.drawerVisible=true
},
hideModal(){
this.visible = false;
},
//编辑
edit(item) {
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
},
//删除
deleteLib(val) {
let newUrl = this.$router.resolve({
path: '/managementdetails',
query: val
})
window.open(newUrl.href, '_blank')
},
//虚拟清单名称事件
entryNameClick(item) {
this.$router.push({
path: '/ParameterTemplateList',
query: item
})
},
searchQuery() {
this.pageNo = 1
this.getList()
},
searchReset() {
this.pageNo = 1
this.queryParam = {}
this.getList()
},
pageOnChange(page, pageSize) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
addModelList() {
this.pageNo = 1
this.getList()
},
PersonnelSelectionChange(value, id) {
this.queryParam[value] = id
this.queryParam = { ...this.queryParam }
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...this.queryParam
}
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total export default {
this.loading = false name: 'index',
} else { components: {
this.loading = false ExportHistory
},
data() {
return {
token: Vue.ls.get(ACCESS_TOKEN),
loading: false,
toggleSearchStatus: false,
selectedRowKeys: [],
selectedRowKeysArray: '',
formInline: {},
rules: {
paramsTemplateName: [
{ required: true, message: this.$t('PleaseEnter') + this.$t('templateName'), trigger: 'change' }
]
},
visible: false,
dataSource: [],
confirmLoading: false,
url: {
list: 'params/report/page'
},
total: 0,
pageSize: 10,
pageNo: 1,
title: '新增',
columns: [
{
title: this.$t('entryName'),
align: 'center',
width: '10%',
dataIndex: 'projectName'
},
{
title: this.$t('ListTitle'),
align: 'center',
dataIndex: 'title'
},
{
title: this.$t('Version'),
align: 'center',
dataIndex: 'version'
},
{
title: this.$t('operation'),
align: 'center',
fixed: 'right',
width: 200,
scopedSlots: { customRender: 'operation' }
}
],
queryParam: {},
areaVisible: false,
paramsTemplateName: '',
drawerVisible: false,
titleTag: '导出历史'
}
},
mounted() {
this.getList()
},
methods: {
handleCancel() {
this.areaVisible = false
},
handleSubmit() {
if (this.formInline.paramsTemplateName !== undefined) {
this.formInline.paramsTemplateName = this.formInline.paramsTemplateName.trim()
} }
}) this.$refs.ruleForm.validate(valid => {
if (valid) {
getAction(this.url.copy + `?id=${this.selectedRowKeys[0]}&paramsTemplateName=${this.formInline.paramsTemplateName}`, {}).then((res) => {
if (res.success) {
this.areaVisible = false
this.$message.success(res.message)
this.selectedRowKeys = []
this.getList()
} else {
this.$message.warning(res.message)
}
})
}
})
},
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
onSelectChange(value) {
this.selectedRowKeys = value
this.selectedRowKeysArray = this.selectedRowKeys.join(',')
},
// 复制
handlecody() {
this.drawerVisible = true
},
hideModal() {
this.visible = false
},
//编辑
edit(item) {
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
},
//删除
deleteLib(val) {
let newUrl = this.$router.resolve({
path: '/managementdetails',
query: val
})
window.open(newUrl.href, '_blank')
},
//虚拟清单名称事件
entryNameClick(item) {
this.$router.push({
path: '/ParameterTemplateList',
query: item
})
},
searchQuery() {
this.pageNo = 1
this.getList()
},
searchReset() {
this.pageNo = 1
this.queryParam = {}
this.getList()
},
pageOnChange(page, pageSize) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
addModelList() {
this.pageNo = 1
this.getList()
},
PersonnelSelectionChange(value, id) {
this.queryParam[value] = id
this.queryParam = { ...this.queryParam }
},
getList() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...this.queryParam
}
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
} else {
this.loading = false
}
})
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
.box-title-text { .box-title-text {
line-height: 1.4; line-height: 1.4;
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 10px; margin-bottom: 10px;
} }
.title-text { .title-text {
width: 20%; width: 20%;
min-width: 110px; min-width: 110px;
color: #000F16; color: #000F16;
display: inline-block; display: inline-block;
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
margin-right: 16px; margin-right: 16px;
margin-top: 3px; margin-top: 3px;
text-align: right; text-align: right;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.box-input { .box-input {
display: inline-block; display: inline-block;
width: 70%; width: 70%;
height: 38px; height: 38px;
margin-top: 2px; margin-top: 2px;
} }
.add-input{
width: 82%;
}
.box-button {
height: 38px;
/*margin-top: 2px;*/
}
.text-operation { .add-input {
margin-right: 8px; width: 82%;
} }
.page { .box-button {
text-align: right; height: 38px;
margin-top: 20px; /*margin-top: 2px;*/
} }
.box-title-text-add { .text-operation {
line-height: 1.4; margin-right: 8px;
display: flex; }
}
.title-text-add { .page {
width: 114px; text-align: right;
text-align: right; margin-top: 20px;
display: inline-block; }
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
margin-top: 3px;
}
.box-input-add { .box-title-text-add {
display: inline-block; line-height: 1.4;
height: 38px; display: flex;
width: 100%; }
}
.itemModel { .title-text-add {
width: calc(100% - 130px); width: 114px;
display: inline-block; text-align: right;
margin-top: 2px; display: inline-block;
} font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
margin-top: 3px;
}
.Required { .box-input-add {
color: red; display: inline-block;
margin-right: 4px; height: 38px;
} width: 100%;
}
.title-text-text { .itemModel {
margin-top: 9px; width: calc(100% - 130px);
} display: inline-block;
margin-top: 2px;
}
.formAdd { .Required {
margin-bottom: 40px; color: red;
} margin-right: 4px;
}
.drawer-bootom-button { .title-text-text {
position: absolute; margin-top: 9px;
bottom: 0; }
z-index:100;
width: 100%; .formAdd {
border-top: 1px solid #e8e8e8; margin-bottom: 40px;
padding: 10px 16px; }
text-align: right;
left: 0; .drawer-bootom-button {
background: #fff; position: absolute;
border-radius: 0 0 2px 2px; bottom: 0;
} z-index: 100;
.add-text-text{ width: 100%;
margin-top: -14px; border-top: 1px solid #e8e8e8;
} padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
.add-text-text {
margin-top: -14px;
}
</style> </style>
@@ -1,6 +1,7 @@
<template> <template>
<a-card :bordered="false"> <a-card :bordered="false">
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
@@ -18,6 +19,7 @@
</a-col> </a-col>
</span> </span>
</a-row> </a-row>
</a-form>
</div> </div>
<div class="table-operator"> <div class="table-operator">
<div @click="handleAdd" class="operator-text" v-has="'params:template:add'"> <div @click="handleAdd" class="operator-text" v-has="'params:template:add'">
@@ -122,7 +122,7 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('NParameterDescription')">{{$t('NParameterDescription')}}</span> :title="$t('NParameterDescription')">{{$t('NParameterDescription')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="description"> <a-form-model-item class="itemModel-text" prop="description">
<a-input class="box-input add-input" <a-input class="box-input add-input"
style='height: 95px; width: 100%' style='height: 95px; width: 100%'
type="textarea" type="textarea"
@@ -803,7 +803,11 @@ export default {
height: 38px; height: 38px;
width: 100%; width: 100%;
} }
.itemModel-text {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.itemModel { .itemModel {
width: calc(100% - 130px); width: calc(100% - 130px);
display: inline-block; display: inline-block;
@@ -1,6 +1,7 @@
<template> <template>
<a-card :bordered="false"> <a-card :bordered="false">
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
@@ -38,6 +39,7 @@
</a-col> </a-col>
</span> </span>
</a-row> </a-row>
</a-form>
</div> </div>
<div class="table-operator"> <div class="table-operator">
<div @click="handleAdd" class="operator-text" v-has="'params:paramsInfo:add'"> <div @click="handleAdd" class="operator-text" v-has="'params:paramsInfo:add'">
@@ -51,7 +51,7 @@
<a-icon type="safety-certificate"/> <a-icon type="safety-certificate"/>
{{$t('nonConformance')}} {{$t('nonConformance')}}
</div> </div>
<div class="Virtual-detail-left-text" v-has="'projectLawsInventory:TaskParameterCollection'" <div class="Virtual-detail-left-text" v-has="'params:manifest:page'"
:title="$t('TaskParameterCollection')" :title="$t('TaskParameterCollection')"
@click="textClick(4,$t('TaskParameterCollection'))"> @click="textClick(4,$t('TaskParameterCollection'))">
<a-icon type="profile"/> <a-icon type="profile"/>
@@ -80,7 +80,7 @@
@click="textClick(3,$t('nonConformance'))"> @click="textClick(3,$t('nonConformance'))">
<a-icon type="safety-certificate"/> <a-icon type="safety-certificate"/>
</div> </div>
<div class="Virtual-detail-left-text" v-has="'projectLawsInventory:TaskParameterCollection'" <div class="Virtual-detail-left-text" v-has="'params:manifest:page'"
:title="$t('TaskParameterCollection')" :title="$t('TaskParameterCollection')"
@click="textClick(4,$t('TaskParameterCollection'))"> @click="textClick(4,$t('TaskParameterCollection'))">
<a-icon type="profile"/> <a-icon type="profile"/>
@@ -130,6 +130,11 @@
<a-icon type="plus"/> <a-icon type="plus"/>
{{$t('referenceparameter')}} {{$t('referenceparameter')}}
</div> </div>
<!-- 保存-->
<div @click="handlePreservation(1)" class="operator-text" v-if='currentPersonRole == "dre"'>
<a-icon type="check-circle"/>
{{$t('preservation')}}
</div>
<!-- 提交--> <!-- 提交-->
<div @click="handleSubmit" class="operator-text" v-if='currentPersonRole == "dre"'> <div @click="handleSubmit" class="operator-text" v-if='currentPersonRole == "dre"'>
<a-icon type="check-circle"/> <a-icon type="check-circle"/>
@@ -157,14 +162,17 @@
<div style="width: 100%"> <div style="width: 100%">
<!-- 表格-10控件--> <!-- 表格-10控件-->
<table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue' <table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue'
:formInline='formInline' :currentPersonRole='currentPersonRole' @value='value' :formInline='formInline' :currentPersonRole='currentPersonRole'
@getDataSource="getDataSource"
@handlePreservation="handlePreservation"
@value='value'
@listReset='listReset' @LoginUserType='LoginUserType'/> @listReset='listReset' @LoginUserType='LoginUserType'/>
</div> </div>
</a-card> </a-card>
</div> </div>
</div> </div>
<!-- 添加---> <!-- 添加--->
<a-modal v-model="areaVisible" :title="$t('ParameterLibrary')" width='750px' :footer="null"> <a-modal v-model="areaVisible" :title="$t('ParameterLibrary')" width='850px' :footer="null">
<parameter-library-add v-if='areaVisible' :paramsManifest='paramsManifest' @areaVisible='areaVisible = false' <parameter-library-add v-if='areaVisible' :paramsManifest='paramsManifest' @areaVisible='areaVisible = false'
@GetgetTableList='GetgetTableList'/> @GetgetTableList='GetgetTableList'/>
</a-modal> </a-modal>
@@ -303,39 +311,39 @@
'{{$t('CollectionInitiated')}}'、'{{$t('ReturnedPerson')}}'{{$t('or')}}'{{$t('alteration')}}' '{{$t('CollectionInitiated')}}'、'{{$t('ReturnedPerson')}}'{{$t('or')}}'{{$t('alteration')}}'
</span> </span>
<!-- 同步上报库--> <!-- 同步上报库-->
<span v-if='jurisdiction === "HOMOTBSBK"'> <span v-else-if='jurisdiction === "HOMOTBSBK"'>
'{{$t('Submitted')}}'{{$t('or')}}'{{$t('alteration')}}' '{{$t('Submitted')}}'{{$t('or')}}'{{$t('alteration')}}'
</span> </span>
<!-- 截止时间--> <!-- 截止时间-->
<span v-if='jurisdiction === "HOMOJZSJ"'> <span v-else-if='jurisdiction === "HOMOJZSJ"'>
'{{$t('CollectionInitiated')}}' '{{$t('CollectionInitiated')}}'
</span> </span>
<!-- 分配填写人 --> <!-- 分配填写人 -->
<span v-if='jurisdiction === "SDTFPTXR"'> <span v-else-if='jurisdiction === "SDTFPTXR"'>
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}' '{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
</span> </span>
<!-- 引用参数--> <!-- 引用参数-->
<span v-if='jurisdiction === "DREYYCS"'> <span v-else-if='jurisdiction === "DREYYCS"'>
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}' '{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
</span> </span>
<!-- 退回--> <!-- 退回-->
<span v-if='jurisdiction === "homoTH"'> <span v-else-if='jurisdiction === "homoTH"'>
{{$t('Submitted')}} {{$t('Submitted')}}
</span> </span>
<span v-if='jurisdiction === "sdtTH"'> <span v-else-if='jurisdiction === "sdtTH"'>
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}' '{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
</span> </span>
<span v-if='jurisdiction === "dreTH"'> <span v-else-if='jurisdiction === "dreTH"'>
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}' '{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
</span> </span>
<!-- 强制撤回--> <!-- 强制撤回-->
<span v-if='jurisdiction === "homoQZTH"'> <span v-else-if='jurisdiction === "homoQZTH"'>
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}' '{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
</span> </span>
<span v-if='jurisdiction === "sdtQZTH"'> <span v-else-if='jurisdiction === "sdtQZTH"'>
{{$t('completed')}} {{$t('completed')}}
</span> </span>
<span v-if='jurisdiction === "dreQZTH"'> <span v-else-if='jurisdiction === "dreQZTH"'>
{{$t('Submitted')}} {{$t('Submitted')}}
</span> </span>
{{$t('timeoperation')}} {{$t('timeoperation')}}
@@ -363,6 +371,7 @@
import axios from 'axios' import axios from 'axios'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import Vue from 'vue' import Vue from 'vue'
import { mapGetters } from 'vuex'
export default { export default {
name: 'ParameterItemCollectionList', name: 'ParameterItemCollectionList',
@@ -502,18 +511,44 @@
}, },
mounted() { mounted() {
this.GetgetLoginUserType() this.GetgetLoginUserType()
setTimeout(() => {
if (this.currentPersonRole == 'dre') {
this.handlePreservation()
}
}, 10000)
this.paramsManifest = JSON.parse(localStorage.getItem('paramsManifest')) this.paramsManifest = JSON.parse(localStorage.getItem('paramsManifest'))
document.title = `${this.paramsManifest.title}-` + this.$t('ParameteItemCollectionList') document.title = `${this.paramsManifest.title}-` + this.$t('ParameteItemCollectionList')
}, },
methods: { methods: {
...mapGetters(['userInfo']),
handleCancelRoleSwitching() { handleCancelRoleSwitching() {
this.visibleRoleSwitching = false this.visibleRoleSwitching = false
}, },
handleOkRoleSwitching() { handleOkRoleSwitching() {
this.visibleRoleSwitching = false this.$refs.ruleFormRoleSwitching.validate(valid => {
this.currentPersonRole = this.formInlineRoleSwitching.roleSwitchingCode if (valid) {
localStorage.setItem('currentPersonRole', JSON.stringify(this.formInlineRoleSwitching.roleSwitchingCode)) let query = {
this.selectedRowKeysValue = [] userType: this.formInlineRoleSwitching.roleSwitchingCode,
paramsManifestId: this.$route.query.id,
projectId: this.$route.query.projectId,
userId: this.userInfo().id
}
this.confirmLoadingRoleSwitching = true
postAction('/params/userTypeLog/edit', query).then((res) => {
if (res.success) {
this.currentPersonRole = this.formInlineRoleSwitching.roleSwitchingCode
this.$message.success(this.$t('OperationSuccessful'))
this.visibleRoleSwitching = false
this.confirmLoadingRoleSwitching = false
localStorage.setItem('currentPersonRole', JSON.stringify(this.formInlineRoleSwitching.roleSwitchingCode))
this.selectedRowKeysValue = []
} else {
this.confirmLoadingRoleSwitching = false
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
}, },
roleSwitchingClick() { roleSwitchingClick() {
this.visibleRoleSwitching = true this.visibleRoleSwitching = true
@@ -792,13 +827,13 @@
} }
return flag return flag
}, },
LoginUserType(val, currentPersonRole) { LoginUserType(val, currentPersonRole, userType) {
this.RoleType = [] this.RoleType = []
if (this.currentPersonRole == '') { if (this.currentPersonRole == '') {
this.currentPersonRole = val.length >= 1 ? val[0].value : '' this.currentPersonRole = currentPersonRole || userType || val[0].value
} }
this.RoleType = val this.RoleType = val
this.formInlineRoleSwitching.roleSwitchingCode = currentPersonRole || val[0].value this.formInlineRoleSwitching.roleSwitchingCode = currentPersonRole || userType || val[0].value
this.formInlineRoleSwitching = { ...this.formInlineRoleSwitching } this.formInlineRoleSwitching = { ...this.formInlineRoleSwitching }
}, },
// 表格所选中得行内容 // 表格所选中得行内容
@@ -843,12 +878,12 @@
.then((res) => { .then((res) => {
if (res.data.success) { if (res.data.success) {
this.textLoading = false this.textLoading = false
_this.$message.success(res.data.result) _this.$message.success(this.$t('OperationSuccessful'))
this.areaVisibleFreeze = false this.areaVisibleFreeze = false
this.$refs.CollectionTabel.getTableList() this.$refs.CollectionTabel.getTableList()
} else { } else {
this.textLoading = false this.textLoading = false
_this.$message.warning(res.data.result) _this.$message.warning(this.$t('operationFailed'))
} }
}) })
.catch((error) => { .catch((error) => {
@@ -954,6 +989,7 @@
} else if (homoJurisdictionSynchronousLibrary == 0) { } else if (homoJurisdictionSynchronousLibrary == 0) {
this.visibleoperationFailed = true this.visibleoperationFailed = true
this.jurisdiction = 'HOMOTBSBK' this.jurisdiction = 'HOMOTBSBK'
this.NoEngineer = 1
} }
}, },
// 同步上报库 // 同步上报库
@@ -969,41 +1005,103 @@
handleSubmit() { handleSubmit() {
// 填写人 权限 // 填写人 权限
let dreJurisdictionSubmit = this.dreJurisdictionSubmit() let dreJurisdictionSubmit = this.dreJurisdictionSubmit()
console.log(dreJurisdictionSubmit)
if (dreJurisdictionSubmit == 1) { if (dreJurisdictionSubmit == 1) {
this.ishandleSubmit() this.ishandleSubmit()
} else if (dreJurisdictionSubmit == 0) { } else if (dreJurisdictionSubmit == 0) {
this.visibleoperationFailed = true this.visibleoperationFailed = true
this.jurisdiction = 'DREYYCS' this.jurisdiction = 'DREYYCS'
this.NoEngineer = 1
}
},
getDataSource(data) {
this.dataSource = data
},
handlePreservation(num) {
let _this = this
let postDate = []
let data = JSON.parse(JSON.stringify(this.dataSource))
let selectedRowKeysValue = []
data.forEach(res => {
if (res.state == 'Wait Fill' || res.state == '待填写') {
selectedRowKeysValue.push(res)
}
})
for (let i = 0; i < selectedRowKeysValue.length; i++) {
let postDateobj = {}
let itemIn = Object.keys(selectedRowKeysValue[i])
for (let j = 0; j < itemIn.length; j++) {
if (itemIn[j] !== 'sdt') {
if (selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(selectedRowKeysValue[i][itemIn[j]] instanceof Array)) {
postDateobj[itemIn[j]] = selectedRowKeysValue[i][itemIn[j]]
for (let k = 0; k < selectedRowKeysValue[i][itemIn[j]].list.length; k++) {
if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'pull_more') {
selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.join(',')
}
if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'text' && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue !== null) {
selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.toString()
}
}
}
}
}
postDateobj.id = selectedRowKeysValue[i].id
postDate.push(postDateobj)
}
let configDataList = { configDataList: postDate }
if (selectedRowKeysValue && selectedRowKeysValue.length > 0) {
if (num && num == 1) {
this.textLoading = true
}
postAction('/params/collectManifest/save', configDataList).then((res) => {
if (res.success) {
if (num && num == 1) {
_this.$message.success(_this.$t('OperationSuccessful'))
this.textLoading = false
}
setTimeout(() => {
if (this.currentPersonRole == 'dre') {
this.handlePreservation()
}
}, 10000)
} else {
if (num && num == 1) {
_this.$message.warning(_this.$t('operationFailed'))
this.textLoading = false
}
}
})
} }
}, },
// 提交数据 // 提交数据
ishandleSubmit() { ishandleSubmit() {
let _this = this let _this = this
let postDate = [] let postDate = []
for (let i = 0; i < this.selectedRowKeysValue.length; i++) { let selectedRowKeysValue = JSON.parse(JSON.stringify(this.selectedRowKeysValue))
for (let i = 0; i < selectedRowKeysValue.length; i++) {
let postDateobj = {} let postDateobj = {}
let itemIn = Object.keys(this.selectedRowKeysValue[i]) let itemIn = Object.keys(selectedRowKeysValue[i])
for (let j = 0; j < itemIn.length; j++) { for (let j = 0; j < itemIn.length; j++) {
if (itemIn[j] !== 'sdt') { if (itemIn[j] !== 'sdt') {
if (this.selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(this.selectedRowKeysValue[i][itemIn[j]] instanceof Array)) { if (selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(selectedRowKeysValue[i][itemIn[j]] instanceof Array)) {
postDateobj[itemIn[j]] = this.selectedRowKeysValue[i][itemIn[j]] postDateobj[itemIn[j]] = selectedRowKeysValue[i][itemIn[j]]
for (let k = 0; k < this.selectedRowKeysValue[i][itemIn[j]].list.length; k++) { for (let k = 0; k < selectedRowKeysValue[i][itemIn[j]].list.length; k++) {
if (this.selectedRowKeysValue[i][itemIn[j]].list[k].type == 'pull_more') { if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'pull_more') {
this.selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = this.selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.join(',') selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.join(',')
} }
if (this.selectedRowKeysValue[i][itemIn[j]].list[k].type == 'text' && this.selectedRowKeysValue[i][itemIn[j]].list[k].dataValue !== null) { if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'text' && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue !== null) {
this.selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = this.selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.toString() selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.toString()
} }
if (!this.selectedRowKeysValue[i][itemIn[j]].list[k].dataValue && this.selectedRowKeysValue[i][itemIn[j]].list[k].isMust == '1' if (!selectedRowKeysValue[i][itemIn[j]].list[k].dataValue && selectedRowKeysValue[i][itemIn[j]].list[k].isMust == '1'
&& this.selectedRowKeysValue[i][itemIn[j]].list[k].isLock == '0') { && selectedRowKeysValue[i][itemIn[j]].list[k].isLock == '0') {
this.$message.warning(this.selectedRowKeysValue[i].nioNumber + ',' + this.$t('requiredParametersEmpty')) this.$message.warning(selectedRowKeysValue[i].nioNumber + ',' + this.$t('requiredParametersEmpty'))
return return
} }
} }
} }
} }
} }
postDateobj.id = this.selectedRowKeysValue[i].id postDateobj.id = selectedRowKeysValue[i].id
postDate.push(postDateobj) postDate.push(postDateobj)
} }
@@ -1045,6 +1143,7 @@
}) })
let _this = this let _this = this
let param = { ids: _array.join(',') } let param = { ids: _array.join(',') }
this.textLoading = true
axios({ axios({
url: '/jero-boot/params/collectManifest/back', url: '/jero-boot/params/collectManifest/back',
method: 'post', method: 'post',
@@ -1063,14 +1162,17 @@
}) })
.then((res) => { .then((res) => {
if (res.data.success) { if (res.data.success) {
this.textLoading = false
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
_this.GetgetTableList() _this.GetgetTableList()
_this.selectedRowKeysValue = [] _this.selectedRowKeysValue = []
} else { } else {
this.textLoading = false
_this.$message.warning(_this.$t('operationFailed')) _this.$message.warning(_this.$t('operationFailed'))
} }
}) })
.catch((error) => { .catch((error) => {
this.textLoading = false
}) })
}, },
// 强制撤回权限 // 强制撤回权限
@@ -1090,6 +1192,7 @@
}) })
let _this = this let _this = this
let param = { ids: _array.join(',') } let param = { ids: _array.join(',') }
this.textLoading = true
axios({ axios({
url: '/jero-boot/params/collectManifest/withdraw', url: '/jero-boot/params/collectManifest/withdraw',
method: 'post', method: 'post',
@@ -1108,14 +1211,17 @@
}) })
.then((res) => { .then((res) => {
if (res.data.success) { if (res.data.success) {
this.textLoading = false
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
_this.GetgetTableList() _this.GetgetTableList()
_this.selectedRowKeysValue = [] _this.selectedRowKeysValue = []
} else { } else {
this.textLoading = false
_this.$message.warning(_this.$t('operationFailed')) _this.$message.warning(_this.$t('operationFailed'))
} }
}) })
.catch((error) => { .catch((error) => {
this.textLoading = false
}) })
}, },
// 分配填写人 // 分配填写人
@@ -1192,6 +1298,7 @@
this.$confirm({ this.$confirm({
content: _this.$t('ConfirmBatchDeletion'), content: _this.$t('ConfirmBatchDeletion'),
onOk() { onOk() {
_this.textLoading = true
axios({ axios({
url: '/jero-boot/params/collectManifest/deleteBatch', url: '/jero-boot/params/collectManifest/deleteBatch',
method: 'post', method: 'post',
@@ -1214,11 +1321,14 @@
_this.selectedRowKeys = [] _this.selectedRowKeys = []
_this.$refs.CollectionTabel.getData() _this.$refs.CollectionTabel.getData()
_this.$refs.CollectionTabel.getTableList() _this.$refs.CollectionTabel.getTableList()
_this.textLoading = false
} else { } else {
_this.textLoading = false
_this.$message.warning(_this.$t('operationFailed')) _this.$message.warning(_this.$t('operationFailed'))
} }
}) })
.catch((error) => { .catch((error) => {
_this.textLoading = false
}) })
} }
}) })
@@ -22,19 +22,19 @@
</a-form> </a-form>
</div> </div>
<div class="table-operator"> <div class="table-operator">
<div @click="handleAdd" class="operator-text"> <div @click="handleAdd" class="operator-text" v-has="'params:manifest:add'">
<a-icon type="plus"/> <a-icon type="plus"/>
{{$t('addDetailList')}} {{$t('addDetailList')}}
</div> </div>
<div @click="handleModule" class="operator-text"> <div @click="handleModule" class="operator-text" v-has="'params:manifest:change'">
<a-icon type="bulb"/> <a-icon type="bulb"/>
{{$t('changeExtension')}} {{$t('changeExtension')}}
</div> </div>
<div @click="handleCody" class="operator-text"> <div @click="handleCody" class="operator-text" v-has="'params:manifest:copy'">
<a-icon type="copy"/> <a-icon type="copy"/>
{{$t('copyParamDetailList')}} {{$t('copyParamDetailList')}}
</div> </div>
<div @click="handleDel" class="operator-text"> <div @click="handleDel" class="operator-text" v-has="'params:manifest:deleteBatch'">
<a-icon type="delete"/> <a-icon type="delete"/>
{{$t('BatchDelete')}} {{$t('BatchDelete')}}
</div> </div>
@@ -63,10 +63,11 @@
</span> </span>
</span> </span>
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="configure(record)">{{$t('configure')}}</a> <a class="text-operation" @click="configure(record)" v-has="'params:config:list'">{{$t('configure')}}</a>
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a> <a class="text-operation" @click="edit(record)" v-has="'params:manifest:edit'">{{$t('edit')}}</a>
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a> <a class="text-operation" @click="deleteLib(record)"
<a class="text-operation" @click="historicalVersion(record)">{{$t('historicalVersion')}}</a> v-has="'params:manifest:delete'">{{$t('deleteLib')}}</a>
<a class="text-operation" @click="historicalVersion(record)" v-has="'params:manifest:history'">{{$t('historicalVersion')}}</a>
</span> </span>
</a-table> </a-table>
</div> </div>
@@ -114,6 +115,7 @@
import Vue from 'vue' import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
import eventBUs from '@/common/event' import eventBUs from '@/common/event'
import store from '@/store/'
export default { export default {
name: 'TaskParameterCollection', name: 'TaskParameterCollection',
@@ -198,7 +200,8 @@
conAdd: 'params/config/addBatch', conAdd: 'params/config/addBatch',
conList: 'params/config/list', conList: 'params/config/list',
changeExtension: 'params/manifest/changeExtension', changeExtension: 'params/manifest/changeExtension',
verifyConfig: 'params/manifest/verifyConfig' verifyConfig: 'params/manifest/verifyConfig',
configurelist: 'params/manifest/getConfigFlag'
}, },
loading: false, loading: false,
dataSource: [], dataSource: [],
@@ -214,6 +217,7 @@
version: 0, version: 0,
itemId: '', // 配置id itemId: '', // 配置id
itemRow: {}, // 配置一行数据 itemRow: {}, // 配置一行数据
configFlag: '',
historicalVisible: false, historicalVisible: false,
historicalRow: {}, // 历史版本得数据 historicalRow: {}, // 历史版本得数据
drawerVisible: false, drawerVisible: false,
@@ -222,6 +226,22 @@
selectedRowKeysvalArray: [] selectedRowKeysvalArray: []
} }
}, },
created() {
if (store.getters.userInfo) {
this.$socketPublicOne.dispatch('webSocketInit')//初始化ws
}
},
watch: {
'$socketPublicOne.state.msg': {
//处理接收到的消息
handler: function(res) {
let that = this
if (res.data == '1'){
this.getlist()
}
}
}
},
mounted() { mounted() {
this.getlist() this.getlist()
}, },
@@ -238,7 +258,7 @@
}) })
window.open(newUrl.href, '_blank') window.open(newUrl.href, '_blank')
} else { } else {
_this.$message.success(_this.$t('NoConfigurationNotStart')) _this.$message.warning(_this.$t('NoConfigurationNotStart'))
} }
}) })
}, },
@@ -274,7 +294,7 @@
configure(item) { configure(item) {
this.itemId = item.id this.itemId = item.id
this.itemRow = item this.itemRow = item
this.$refs.configureRef.addModel(item.id) this.$refs.configureRef.addModel(item.id, item)
}, },
handleCancel(val) { handleCancel(val) {
this.areaVisible = val this.areaVisible = val
@@ -336,7 +356,7 @@
// 默认为0 可全部删除 // 默认为0 可全部删除
let flag = 1 let flag = 1
this.selectedRowKeysvalArray.forEach((item) => { this.selectedRowKeysvalArray.forEach((item) => {
if (item.state !== '已完成' && val.state !== 'Finished') { if (item.state !== '已完成' && item.state !== 'Finished') {
flag = 0 flag = 0
} }
}) })
@@ -92,6 +92,8 @@
<PersonnelSelection <PersonnelSelection
:query="{db_field_name:'lawEngineer',db_field_txt:$t('regulatoryEngineer')}" :query="{db_field_name:'lawEngineer',db_field_txt:$t('regulatoryEngineer')}"
:personneQuery="formInline" :personneQuery="formInline"
:isDelete='true'
@deleteData='deleteData'
@change="PersonnelSelectionChange" @change="PersonnelSelectionChange"
v-model="formInline.lawEngineerName"/> v-model="formInline.lawEngineerName"/>
</a-form-model-item> </a-form-model-item>
@@ -110,6 +112,8 @@
<PersonnelSelection <PersonnelSelection
:query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}" :query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"
:personneQuery="formInline" :personneQuery="formInline"
:isDelete='true'
@deleteData='deleteData'
@change="PersonnelSelectionChange" @change="PersonnelSelectionChange"
v-model="formInline.engineeringInterfacePersonName"/> v-model="formInline.engineeringInterfacePersonName"/>
</a-form-model-item> </a-form-model-item>
@@ -317,6 +321,10 @@
} }
}) })
}, },
deleteData(name){
this.formInline[name] = ''
this.formInline = {...this.formInline}
},
getData() { getData() {
this.visible = true this.visible = true
this.getList() this.getList()
@@ -5,7 +5,7 @@
class='tag-module' class='tag-module'
ref='ruleForm' ref='ruleForm'
:model='formData' :model='formData'
:rules='rules' :rules="rules"
:label-col='labelCol' :label-col='labelCol'
:wrapper-col='wrapperCol' :wrapper-col='wrapperCol'
> >
@@ -24,21 +24,57 @@
</a-row> </a-row>
<a-row :gutter='24'> <a-row :gutter='24'>
<a-col :span='9'> <a-col :span='9'>
<a-form-model-item ref='region' :label="$t('zoneOfApplication')" prop='region'> <div class="box-title-text" style="margin-left: -58px;">
<a-form-model-item class='itemModel' prop='region'> <div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>
</div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<!-- <a-input-->
<!-- :placeholder="$t('PleaseEnter')+$t('parameterTemplate')"-->
<!-- v-model='form.paramsTemplateName'/>-->
<j-dict-select-tag class='box-input' v-model='form.region' <j-dict-select-tag class='box-input' v-model='form.region'
:placeholder="$t('PleaseSelect')+$t('zoneOfApplication')" :placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"
:type="'select'" :type="'select'"
:title="$t('PleaseSelect')+$t('zoneOfApplication')"
:triggerChange='false' :dictCode="'region'"/> :triggerChange='false' :dictCode="'region'"/>
</a-form-model-item> </a-form-model-item>
</a-form-model-item> </div>
<!-- <a-form-model-item ref='region' :label="$t('zoneOfApplication')" prop='region'>-->
<!-- <a-form-model-item class='itemModel' prop='region'>-->
<!-- <j-dict-select-tag class='box-input' v-model='form.region'-->
<!-- :placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"-->
<!-- :type="'select'"-->
<!-- :triggerChange='false' :dictCode="'region'"/>-->
<!-- </a-form-model-item>-->
<!-- </a-form-model-item>-->
</a-col> </a-col>
<a-col :span='9'> <a-col :span='9'>
<a-form-model-item ref='paramsTemplateName' :label="$t('parameterTemplate')" prop='paramsTemplateName'> <div class="box-title-text">
<a-input <div class="title-text">
:placeholder="$t('PleaseEnter')+$t('parameterTemplate')" <!-- <span class="Required">*</span>-->
v-model='form.paramsTemplateName'/> <span class="title-text-text" :title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span>
</a-form-model-item> </div>
<a-form-model-item class="itemModel" :prop='region'>
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"-->
<!-- :placeholder="$t('PleaseEnter')+item.db_field_txt"/>-->
<a-input
:placeholder="$t('PleaseEnter')+$t('parameterTemplate')"
:title="$t('PleaseSelect')+$t('parameterTemplate')"
v-model='form.paramsTemplateName'/>
</a-form-model-item>
</div>
<!-- <a-form-model-item ref='paramsTemplateName' :label="$t('parameterTemplate')" prop='paramsTemplateName'>-->
<!-- <a-input-->
<!-- :placeholder="$t('PleaseEnter')+$t('parameterTemplate')"-->
<!-- v-model='form.paramsTemplateName'/>-->
<!-- </a-form-model-item>-->
</a-col> </a-col>
<a-col :span='6' style='margin-top: 5px'> <a-col :span='6' style='margin-top: 5px'>
<a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button> <a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button>
@@ -346,6 +382,89 @@
color: red; color: red;
margin-right: 4px; margin-right: 4px;
} }
.box-title-text {
line-height: 1.4;
display: flex;
/*align-items: center;*/
}
.title-text {
width: 114px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
height: 40px;
margin-bottom: 24px;
}
.itemModel-text {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.Required {
color: red;
margin-right: 4px;
}
.title-text-text {
margin-top: 9px;
}
.header-text {
font-size: 16px;
font-weight: bold;
margin-left: 15px;
/*border-bottom: 1px #d9d9d9 dashed;*/
height: 30px;
margin-bottom: 30px;
}
.formAdd {
margin-bottom: 40px;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
.button-text-text {
position: absolute;
right: -10px;
top: -21px;
display: inline-block;
padding: 6px;
border-radius: 50%;
background: red;
text-align: center;
line-height: 6px;
color: #fff;
}
</style> </style>
<style lang='less'> <style lang='less'>
.area-module { .area-module {
@@ -95,9 +95,9 @@
<div class="title-text"> <div class="title-text">
<!-- <span class="title-text-text" :title="$t('Required')">{{$t('Required')}}</span>--> <!-- <span class="title-text-text" :title="$t('Required')">{{$t('Required')}}</span>-->
</div> </div>
<a-button style="margin-right: .8rem" @click="addConfiguration(index)">{{$t('addConfiguration')}} <a-button style="margin-right: .8rem" @click="addConfiguration(index)" :loading="loading" v-has="'params:config:add'">{{$t('addConfiguration')}}
</a-button> </a-button>
<a-button @click="deleteConfiguration(item.id,index)" type="primary" :loading="confirmLoading"> <a-button @click="deleteConfiguration(item.id,index)" v-has="'params:config:delete'" type="primary" :loading="confirmLoading">
{{$t('deleteConfiguration')}} {{$t('deleteConfiguration')}}
</a-button> </a-button>
</div> </div>
@@ -146,6 +146,7 @@
formInline: {}, formInline: {},
confirmLoading: false, confirmLoading: false,
visible: false, visible: false,
loading:false,
rules: { rules: {
// nioNumber:[ // nioNumber:[
// { required: true, message: this.$t('PleaseEnter')+this.$t('NiONumber'), trigger: 'change' }, // { required: true, message: this.$t('PleaseEnter')+this.$t('NiONumber'), trigger: 'change' },
@@ -155,6 +156,7 @@
projectNameList: [], projectNameList: [],
title: '', title: '',
stateOne: '', stateOne: '',
conFlag:'',
contentList: [], contentList: [],
paramsConfigEOList: [ paramsConfigEOList: [
{ {
@@ -174,6 +176,7 @@
}, },
mounted() { mounted() {
}, },
methods: { methods: {
getNameList() { getNameList() {
@@ -185,12 +188,13 @@
} }
}) })
}, },
addModel(id) { addModel(id,item) {
this.paramsConfigEOList = [] this.paramsConfigEOList = []
this.visible = true this.visible = true
this.title = this.$t('MaintainConfigureInfo') this.title = this.$t('MaintainConfigureInfo')
this.formInline = {} this.formInline = {}
this.getconList(id) this.getconList(id)
}, },
getconList(id) { getconList(id) {
getAction(`${this.url.conList}?paramsManifestId=${id}`, {}).then((res) => { getAction(`${this.url.conList}?paramsManifestId=${id}`, {}).then((res) => {
@@ -217,18 +221,29 @@
}) })
}, },
addConfiguration(item) { addConfiguration(item) {
if (this.itemRow.configFlag) { this.loading = true
this.paramsConfigEOList.splice(item.displaySeq + 1, 0, { getAction(this.url.configurelist, { paramsManifestId: this.itemRow.id }).then((res) => {
id: '', if (res.success) {
configName: '', // 配置名称 this.conFlag = res.result
version: '', // 版本 if (this.conFlag == true) {
carType: '', // 车型 this.paramsConfigEOList.splice(item.displaySeq + 1, 0, {
battery: '', // 电池 id: '',
motor: '' // 电机 configName: '', // 配置名称
}) version: '', // 版本
} else { carType: '', // 车型
this.$message.warning(this.$t('Theselectedconfiguration')) battery: '', // 电池
} motor: '' // 电机
})
this.loading = false
} else {
this.loading = false
this.$message.warning(this.$t('Theselectedconfiguration'))
}
} else {
this.$message.warning(res.message)
}
})
}, },
deleteConfiguration(displaySeq, index) { deleteConfiguration(displaySeq, index) {
if (this.paramsConfigEOList.length === 1) { if (this.paramsConfigEOList.length === 1) {
@@ -252,6 +267,8 @@
}, },
handleCancel() { handleCancel() {
this.visible = false this.visible = false
this.$refs.ruleForm.clearValidate()
this.conFlag = ''
}, },
handleSubmit() { handleSubmit() {
let flag = 1 let flag = 1