Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage
This commit is contained in:
@@ -8,3 +8,5 @@ ALTER TABLE `dummy_inventory_info`
|
||||
ADD COLUMN `verify_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证备注' AFTER `applicable_supplement`,
|
||||
ADD COLUMN `prehomo_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'pre备注' AFTER `verify_remark`,
|
||||
ADD COLUMN `design_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设计备注' AFTER `prehomo_remark`;
|
||||
|
||||
-- 2022年7月2日部署到正式环境
|
||||
|
||||
+31
-11
@@ -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.ParamsManifestEO;
|
||||
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.IParamsManifestEOService;
|
||||
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
|
||||
@@ -21,6 +22,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -48,6 +50,9 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@Autowired
|
||||
private IParamsManifestEOService paramsManifestEOService;
|
||||
|
||||
@Autowired
|
||||
private IParamsCollectManifestEOService paramsCollectManifestEOService;
|
||||
|
||||
@Autowired
|
||||
private IParamsConfigEOService paramsConfigEOService;
|
||||
|
||||
@@ -64,7 +69,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-分页列表查询")
|
||||
@ApiOperation(value="参数清单-分页列表查询", notes="参数清单-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
// @RequiresPermissions("params:manifest:page")
|
||||
@RequiresPermissions("params:manifest:page")
|
||||
public Result<?> queryPageList(ParamsManifestEO paramsManifestEO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@@ -123,6 +128,21 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
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 = "参数清单-添加")
|
||||
@ApiOperation(value="参数清单-添加", notes="参数清单-添加")
|
||||
@PostMapping(value = "/add")
|
||||
// @RequiresPermissions("params:manifest:add")
|
||||
@RequiresPermissions("params:manifest:add")
|
||||
public Result<?> add(@Validated @RequestBody ParamsManifestEO paramsManifestEO) {
|
||||
boolean isSuccess = paramsManifestEOService.add(paramsManifestEO);
|
||||
if (isSuccess) {
|
||||
@@ -151,7 +171,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-编辑")
|
||||
@ApiOperation(value="参数清单-编辑", notes="参数清单-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
// @RequiresPermissions("params:manifest:edit")
|
||||
@RequiresPermissions("params:manifest:edit")
|
||||
public Result<?> edit(@Validated @RequestBody ParamsManifestEO paramsManifestEO) {
|
||||
boolean isSuccess = paramsManifestEOService.editById(paramsManifestEO);
|
||||
if (isSuccess) {
|
||||
@@ -170,7 +190,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-通过id删除")
|
||||
@ApiOperation(value="参数清单-通过id删除", notes="参数清单-通过id删除")
|
||||
@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) {
|
||||
boolean isSuccess = paramsManifestEOService.deleteById(id, cut);
|
||||
if (isSuccess) {
|
||||
@@ -189,7 +209,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-批量删除")
|
||||
@ApiOperation(value="参数清单-批量删除", notes="参数清单-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
// @RequiresPermissions("params:manifest:deleteBatch")
|
||||
@RequiresPermissions("params:manifest:deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestBody ParamsManifestVO paramsManifestVO) {
|
||||
if (StringUtils.isEmpty(paramsManifestVO.getIds()) || StringUtils.isEmpty(paramsManifestVO.getCut())) {
|
||||
return Result.error("参数不能为空!");
|
||||
@@ -211,7 +231,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-变更扩展")
|
||||
@ApiOperation(value="参数清单-变更扩展", notes="参数清单-变更扩展")
|
||||
@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) {
|
||||
boolean isSuccess = paramsManifestEOService.changeExtension(id, cut);
|
||||
if(isSuccess) {
|
||||
@@ -230,7 +250,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-历史版本")
|
||||
@ApiOperation(value="参数清单-历史版本", notes="参数清单-历史版本")
|
||||
@GetMapping(value = "/history")
|
||||
// @RequiresPermissions("params:manifest:history")
|
||||
@RequiresPermissions("params:manifest:history")
|
||||
public Result<?> history(@RequestParam(name="title",required=true) String title) {
|
||||
List<ParamsManifestHistoryVO> historyVersionList = paramsManifestEOService.getHistoryVersionList(title);
|
||||
return Result.OK(historyVersionList);
|
||||
@@ -245,7 +265,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-查询所有项目的所有参数清单")
|
||||
@ApiOperation(value="参数清单-查询所有项目的所有参数清单", notes="参数清单-查询所有项目的所有参数清单")
|
||||
@PostMapping(value = "/getAllManifest")
|
||||
// @RequiresPermissions("params:manifest:copy")
|
||||
@RequiresPermissions("params:manifest:copy")
|
||||
public Result<?> getAllManifest(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@RequestParam(name="projectName",required=false) String projectName) {
|
||||
@@ -262,7 +282,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-复制-参数模板列表查询")
|
||||
@ApiOperation(value="参数清单-复制-参数模板列表查询", notes="参数清单-复制-参数模板列表查询")
|
||||
@GetMapping(value = "/getParamsTemplatePageOfCopy")
|
||||
// @RequiresPermissions("params:manifest:copy")
|
||||
@RequiresPermissions("params:manifest:copy")
|
||||
public Result<?> getParamsTemplatePageOfCopy(ParamsTemplateEO paramsTemplateEO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@@ -281,7 +301,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-复制清单")
|
||||
@ApiOperation(value="参数清单-复制清单", notes="参数清单-复制清单")
|
||||
@PostMapping(value = "/copy")
|
||||
// @RequiresPermissions("params:manifest:copy")
|
||||
@RequiresPermissions("params:manifest:copy")
|
||||
public Result<?> copy(@RequestBody ParamsManifestVO paramsManifestVO) {
|
||||
ParamsManifestEO paramsManifestEO = new ParamsManifestEO();
|
||||
BeanUtils.copyProperties(paramsManifestVO, paramsManifestEO);
|
||||
@@ -297,7 +317,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@AutoLog(value = "参数清单-判断配置列表是否为空")
|
||||
@ApiOperation(value="参数清单-判断配置列表是否为空", notes="参数清单-判断配置列表是否为空")
|
||||
@GetMapping(value = "/verifyConfig")
|
||||
// @RequiresPermissions("params:config:list")
|
||||
@RequiresPermissions("params:manifest:page")
|
||||
public Result<?> queryList(@RequestParam(name = "paramsManifestId") String paramsManifestId) {
|
||||
List<ParamsConfigEO> list = paramsConfigEOService.queryList(paramsManifestId);
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
|
||||
-3
@@ -97,9 +97,6 @@ public class ParamsManifestEO implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String paramsTemplateName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Boolean configFlag; // true-可添加配置;false-不可添加配置
|
||||
|
||||
@TableField(exist = false)
|
||||
private String cut;
|
||||
|
||||
|
||||
-3
@@ -62,9 +62,6 @@
|
||||
<when test="paramsCollectManifestEO.userTypes == 'sdt,dre'">
|
||||
AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth}) AND state in ('2','4','5','6','7','8')
|
||||
</when>
|
||||
<when test="paramsCollectManifestEO.userTypes == 'guest'">
|
||||
AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth})
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
|
||||
+29
-29
@@ -36,6 +36,7 @@ import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOSe
|
||||
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
|
||||
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.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
@@ -115,7 +116,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
private ISysUserRoleService sysUserRoleService;
|
||||
@Autowired
|
||||
private ProjectLibraryBaseMapper projectLibraryBaseMapper;
|
||||
|
||||
@Autowired
|
||||
private WebSocketServer webSocketServer;
|
||||
|
||||
|
||||
|
||||
@@ -272,8 +274,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
paramsCollectManifestEO.setSdt(loginUser.getUsername());
|
||||
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||
} else if ("guest".equals(userTypes)) {
|
||||
paramsCollectManifestEO.setSdt(loginUser.getUsername());
|
||||
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||
return page;
|
||||
}
|
||||
IPage pageInfo = paramsCollectManifestEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列
|
||||
List<ParamsCollectManifestEO> list = pageInfo.getRecords(); // 查询固定列
|
||||
@@ -886,31 +887,29 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<Map<String, String>> userTypeList = new ArrayList<>(); // 一个用户可以有多个用户类型
|
||||
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<>();
|
||||
queryWrapper.eq(ProjectRelatedPersonnel::getProjectId, projectId);
|
||||
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(","));
|
||||
List<String> homoList = new ArrayList<>();
|
||||
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());
|
||||
} 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
|
||||
if(StringUtils.isNotBlank(sdtIdStr)) {
|
||||
List<String> sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList());
|
||||
sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
|
||||
}
|
||||
// 项目下有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人员
|
||||
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
|
||||
@@ -921,7 +920,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
.map(ParamsCollectManifestEO::getSdt)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
sdtList.addAll(sdtListOfPCM);
|
||||
sdtList.addAll(sdtListOfPCM); // 需要取并集,因为存在参数项开始收集但 人员相关名单中sdt被修改的情况
|
||||
|
||||
List<String> dreListOfPCM = pcmList.stream()
|
||||
.filter(e->StringUtils.isNotEmpty(e.getDre()))
|
||||
@@ -937,11 +936,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<String> userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
|
||||
userRoleIds = roleIdList.stream().filter(e->userRoleIdList.contains(e)).collect(Collectors.toList());
|
||||
}
|
||||
// TODO 查询当前登录用户角色 是否是当前项目的studio
|
||||
// 查询当前登录用户角色 是否是当前项目的studio
|
||||
List<String> studioList = new ArrayList<>();
|
||||
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId);
|
||||
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())
|
||||
@@ -1552,8 +1550,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
updateParamsManifestEO.setId(paramsManifestId);
|
||||
updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue());
|
||||
updateParamsManifestEO.setFinishTime(time);
|
||||
paramsManifestEOService.updateById(updateParamsManifestEO);
|
||||
|
||||
boolean isSuccess2 = paramsManifestEOService.updateById(updateParamsManifestEO);
|
||||
if (isSuccess2) {
|
||||
webSocketServer.sendMessage();
|
||||
}
|
||||
}
|
||||
|
||||
return isSuccess;
|
||||
|
||||
+9
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.cert.collect.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestUserTypeLogEO;
|
||||
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestUserTypeLogEOMapper;
|
||||
@@ -41,6 +42,14 @@ public class ParamsCollectManifestUserTypeLogEOServiceImpl extends ServiceImpl<P
|
||||
*/
|
||||
@Override
|
||||
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();
|
||||
paramsCollectManifestUserTypeLogEO.setUpdateTime(now);
|
||||
saveOrUpdate(paramsCollectManifestUserTypeLogEO);
|
||||
|
||||
-51
@@ -290,60 +290,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
@Override
|
||||
public IPage pageInfo(IPage page, ParamsManifestEO 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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 变更扩展
|
||||
* 仅能选择一条进行变更扩展
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ public enum ProjectRoleEnum {
|
||||
STUDIO_ENGINEER("studio工程师","0","R&H Studio"),
|
||||
REGULATI_ENGINEER("法规工程师","1","studio"),
|
||||
HOMOLOGATION_ENGINEER("认证工程师","2","homo"),
|
||||
REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4",""),
|
||||
REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4","Regulatory Engineer/Certification Engineer"),
|
||||
MANAGER("领导角色","11","R&H Manager"),
|
||||
ADMIN("系统管理员","12","admin"),
|
||||
;
|
||||
|
||||
+2
-2
@@ -443,9 +443,9 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
|
||||
*/
|
||||
@ApiOperation(value = "当前登录用户角色")
|
||||
@RequestMapping(value = "/getRoleByUserId", method = RequestMethod.GET)
|
||||
public Result<List<SysRole>> getRoleByUserId(String projectLibraryId) {
|
||||
public Result<List<SysRole>> getRoleByUserId(String projectLibraryId,String cut) {
|
||||
Result<List<SysRole>> result = new Result<>();
|
||||
List<SysRole> list = projectLawsInventoryEOService.getRoleByUserId(projectLibraryId);
|
||||
List<SysRole> list = projectLawsInventoryEOService.getRoleByUserId(projectLibraryId,cut);
|
||||
if(list==null||list.size()<=0) {
|
||||
result.error500("未找到角色信息");
|
||||
}else {
|
||||
|
||||
+1
@@ -107,4 +107,5 @@ public class ProjectTaskInventoryFeedbackEO implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "序号")
|
||||
private String serialNumber;
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -16,6 +16,11 @@ public enum InventoryAffirmStatusEnum {
|
||||
LIST_TO_CONFIRM("待确认","List to confirm"),
|
||||
ACCEPTED("接受","Accepted"),
|
||||
REJECTED("拒绝","Rejected"),
|
||||
|
||||
REG_ENG_TO_CONFIRM("法规工程师待确认","To be confirmed by Reg Eng."),
|
||||
HOMO_ENG_TO_CONFIRM("认证工程师待确认","To be confirmed by Homo Eng."),
|
||||
REG_ENG_REJECTED("法规工程师拒绝 ","Reg Eng. rejected"),
|
||||
HOMO_ENG_REJECTED("认证工程师拒绝 ","Homo Eng. rejected"),
|
||||
;
|
||||
|
||||
|
||||
|
||||
+33
-16
@@ -1,30 +1,35 @@
|
||||
package com.jero.modules.project.enums;
|
||||
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.modules.system.util.StringUtils;
|
||||
|
||||
/**
|
||||
* 项目角色枚举类
|
||||
*/
|
||||
public enum ProjectRoleEnum {
|
||||
STUDIO_ENGINEER("studio工程师","0"),
|
||||
REGULATI_ENGINEER("法规工程师","1"),
|
||||
HOMOLOGATION_ENGINEER("认证工程师","2"),
|
||||
ENGINEERING_INTERFACE_PERSON("工程接口人","3"),
|
||||
REGULATI_AND_HOMOLOGATION_ENGINEER("法规与认证工程师","4"),
|
||||
DESIGNINITIATOR("设计符合性确认-发起人","5"),
|
||||
DESIGNDUTY("设计符合性确认-责任人","6"),
|
||||
PREHOMOINITIATOR("prehomo确认-发起人","7"),
|
||||
PREHOMODUTY("prehomo确认-责任人","8"),
|
||||
VERIFYINITIATOR("验证符合性确认-发起人","9"),
|
||||
VERIFYDUTY("验证符合性确认-责任人","10"),
|
||||
MANAGER("验证符合性确认-责任人","11"),
|
||||
ADMIN("系统管理员","12"),
|
||||
STUDIO_ENGINEER("studio工程师","0","R&H Studio"),
|
||||
REGULATI_ENGINEER("法规工程师","1","Regulatory Engineer"),
|
||||
HOMOLOGATION_ENGINEER("认证工程师","2","Certification Engineer"),
|
||||
ENGINEERING_INTERFACE_PERSON("工程接口人","3","Engineering interface person"),
|
||||
REGULATI_AND_HOMOLOGATION_ENGINEER("法规与认证工程师","4","Regulatory and certification engineer"),
|
||||
DESIGNINITIATOR("设计符合性确认-发起人","5",""),
|
||||
DESIGNDUTY("设计符合性确认-责任人","6",""),
|
||||
PREHOMOINITIATOR("prehomo确认-发起人","7",""),
|
||||
PREHOMODUTY("prehomo确认-责任人","8",""),
|
||||
VERIFYINITIATOR("验证符合性确认-发起人","9",""),
|
||||
VERIFYDUTY("验证符合性确认-责任人","10",""),
|
||||
MANAGER("验证符合性确认-责任人","11",""),
|
||||
ADMIN("系统管理员","12",""),
|
||||
;
|
||||
|
||||
String name;
|
||||
String value;
|
||||
String enName;
|
||||
|
||||
private ProjectRoleEnum(String name, String value) {
|
||||
private ProjectRoleEnum(String name, String value,String enName) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
this.enName = enName;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
@@ -43,11 +48,23 @@ public enum ProjectRoleEnum {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public static String getTextByValue(String value) {
|
||||
public String getEnName() {
|
||||
return enName;
|
||||
}
|
||||
|
||||
public void setEnName(String enName) {
|
||||
this.enName = enName;
|
||||
}
|
||||
|
||||
public static String getTextByValue(String value,String cut) {
|
||||
ProjectRoleEnum[] values = values();
|
||||
for (ProjectRoleEnum projectRoleEnum : values) {
|
||||
if (projectRoleEnum.value.equals(value)) {
|
||||
return projectRoleEnum.name;
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
return projectRoleEnum.name;
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
return projectRoleEnum.enName;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
+1
-1
@@ -148,5 +148,5 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
|
||||
*/
|
||||
Result<?> expediting(JSONObject json);
|
||||
|
||||
List<SysRole> getRoleByUserId(String projectLibraryId);
|
||||
List<SysRole> getRoleByUserId(String projectLibraryId,String cut);
|
||||
}
|
||||
|
||||
+268
-26
@@ -1015,15 +1015,78 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
|
||||
//清单确认状态
|
||||
String inventoryAffirmStatus = projectLawsInventoryEO.getInventoryAffirmStatus();
|
||||
/*String inventoryAffirmStatus = projectLawsInventoryEO.getInventoryAffirmStatus();
|
||||
if(StringUtils.isNotEmpty(inventoryAffirmStatus)){
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.getTextByValue(inventoryAffirmStatus));
|
||||
}else {
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(inventoryAffirmStatus);
|
||||
}
|
||||
}*/
|
||||
/**
|
||||
* 清单确认状态展示:
|
||||
* 待确认:展示 法规工程师待确认 或 认证工程师待确认
|
||||
* 拒绝:展示 法规工程师拒绝 或 认证工程师拒绝
|
||||
*
|
||||
*/
|
||||
String inventoryAffirmStatus = projectLawsInventoryEO.getInventoryAffirmStatus();
|
||||
if(StringUtils.isNotEmpty(inventoryAffirmStatus)){
|
||||
//如果是待确认
|
||||
if(StringUtils.equals(inventoryAffirmStatus,InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getValue())){
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerSubmitStatus())
|
||||
&& StringUtils.equals(projectLawsInventoryEO.getHomologationEngineerSubmitStatus(),OperatorResultEnum.ACCEPTED.getValue())){
|
||||
|
||||
//如果 认证工程师提交状态 不为空,则证明认证工程师已经提交过了,展示状态应该展示 法规工程师待确认
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.REG_ENG_TO_CONFIRM.getName());
|
||||
}else {
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.REG_ENG_TO_CONFIRM.getValue());
|
||||
}
|
||||
}else if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerSubmitStatus())
|
||||
&& StringUtils.equals(projectLawsInventoryEO.getRegulationOwnerSubmitStatus(),OperatorResultEnum.ACCEPTED.getValue())){
|
||||
|
||||
//如果 法规工程师提交状态 不为空,则证明法规工程师已经提交过了,展示状态应该展示 认证工程师待确认
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.HOMO_ENG_TO_CONFIRM.getName());
|
||||
}else {
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.HOMO_ENG_TO_CONFIRM.getValue());
|
||||
}
|
||||
}else {
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.getTextByValue(inventoryAffirmStatus));
|
||||
}else {
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(inventoryAffirmStatus);
|
||||
}
|
||||
}
|
||||
//如果是拒绝
|
||||
}else if(StringUtils.equals(inventoryAffirmStatus,InventoryAffirmStatusEnum.REJECTED.getValue())){
|
||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerSubmitStatus())
|
||||
&& StringUtils.equals(projectLawsInventoryEO.getHomologationEngineerSubmitStatus(),OperatorResultEnum.REJECTED.getValue())){
|
||||
//如果认证工程师提交状态不为空,并且认证工程师提交状态为拒绝
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.HOMO_ENG_REJECTED.getName());
|
||||
}else {
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.HOMO_ENG_REJECTED.getValue());
|
||||
}
|
||||
}else if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerSubmitStatus())
|
||||
&& StringUtils.equals(projectLawsInventoryEO.getRegulationOwnerSubmitStatus(),OperatorResultEnum.REJECTED.getValue())){
|
||||
|
||||
//如果 法规工程师提交状态 不为空,则证明法规工程师已经提交过了,展示状态应该展示 认证工程师待确认
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.REG_ENG_REJECTED.getName());
|
||||
}else {
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.REG_ENG_REJECTED.getValue());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.getTextByValue(inventoryAffirmStatus));
|
||||
}else {
|
||||
projectLawsInventoryEO.setInventoryAffirmStatusName(inventoryAffirmStatus);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//任务确认状态
|
||||
String taskAffirmStatus = projectLawsInventoryEO.getTaskAffirmStatus();
|
||||
if(StringUtils.isNotEmpty(taskAffirmStatus)){
|
||||
@@ -1208,6 +1271,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
try {
|
||||
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper<ProjectLibraryBase>()
|
||||
.lambda().eq(ProjectLibraryBase::getId, projectLibraryId));
|
||||
|
||||
QueryWrapper<ProjectNameInfoEO> projectNameInfoEOQueryWrapper = new QueryWrapper<>();
|
||||
projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId());
|
||||
ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOMapper.selectOne(projectNameInfoEOQueryWrapper);
|
||||
|
||||
QueryWrapper<ProjectYearNameInfoEO> projectYearInfoEOQueryWrapper = new QueryWrapper<>();
|
||||
projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId());
|
||||
ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper);
|
||||
//TODO 切换成枚举,不要在代码里出现魔数
|
||||
if(StringUtils.equals(operatorType, OperatorTypeEnum.INVENTORY_AFFIRM.getValue())){
|
||||
String ids = json.getString("ids");
|
||||
@@ -1224,8 +1297,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
queryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId);
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper);
|
||||
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper<ProjectLibraryBase>()
|
||||
.lambda().eq(ProjectLibraryBase::getId, projectLibraryId));
|
||||
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) {
|
||||
|
||||
@@ -1254,13 +1326,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if(CollectionUtils.isNotEmpty(userIdList)){
|
||||
userIdList = userIdList.stream().distinct().collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<ProjectNameInfoEO> projectNameInfoEOQueryWrapper = new QueryWrapper<>();
|
||||
projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId());
|
||||
ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOMapper.selectOne(projectNameInfoEOQueryWrapper);
|
||||
|
||||
QueryWrapper<ProjectYearNameInfoEO> projectYearInfoEOQueryWrapper = new QueryWrapper<>();
|
||||
projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId());
|
||||
ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper);
|
||||
|
||||
//消息内容
|
||||
String msgContentEN = currentUser.getUsername() + " initiated the regulation list confirmation for "
|
||||
@@ -1378,9 +1444,94 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
inventoryAffirmStatus = InventoryAffirmStatusEnum.ACCEPTED.getValue();
|
||||
}
|
||||
|
||||
//如果法规工程师与认证工程师 其中一个人是拒绝 把清单确认状态设置为 拒绝
|
||||
/*//如果法规工程师与认证工程师 其中一个人是拒绝 把清单确认状态设置为 拒绝
|
||||
if(projectLawsInventoryEO.getRegulationOwnerSubmitStatus().equals("1") || projectLawsInventoryEO.getHomologationEngineerSubmitStatus().equals("1")){
|
||||
inventoryAffirmStatus = InventoryAffirmStatusEnum.REJECTED.getValue();
|
||||
}*/
|
||||
}
|
||||
//只要有一个人拒绝,就改为拒绝。
|
||||
if(StringUtils.equals(operatorResult, OperatorResultEnum.REJECTED.getValue())){
|
||||
inventoryAffirmStatus = InventoryAffirmStatusEnum.REJECTED.getValue();
|
||||
//如果拒绝,给studio发消息
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
//消息内容
|
||||
String msgContentEN = "";
|
||||
|
||||
if(isProjectRole == Integer.parseInt(ProjectRoleEnum.REGULATI_ENGINEER.getValue()) || isProjectRole == Integer.parseInt(ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue())){
|
||||
msgContentEN = "The regulation list confirmation" +" of "+projectLawsInventoryEO.getSerialNumber() +" for "
|
||||
+ projectNameInfoEO.getProjectName() +" is rejected by " +currentUser.getUsername() +". Please check and address it in a timely manner.";
|
||||
|
||||
// 飞书消息封装
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
feishuMsgVo.setContent("Hello! This task is rejected by " +currentUser.getUsername()+ ". Please check and address it in a timely manner.");
|
||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
||||
|
||||
//飞书跳转链接
|
||||
String hrefFeishu = backUrl
|
||||
+ JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink()
|
||||
+ projectLibraryId + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBase.getTargetMarket();
|
||||
//系统内部跳转链接
|
||||
String href = "<a href='"
|
||||
+ JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() + projectLibraryId + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
|
||||
+ "'>" + "Jump link" + "</a>";
|
||||
String contentInfo = msgContentEN + " " + href;
|
||||
Map<String,Object> sendMessageMap = new HashMap<>();
|
||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||
sendMessageMap.put("contentInfo",contentInfo);
|
||||
|
||||
//发送消息
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
userIdList.add(projectLibraryBase.getStudioEngineer());
|
||||
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
|
||||
|
||||
}
|
||||
if(isProjectRole == Integer.parseInt(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue()) || isProjectRole == Integer.parseInt(ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue())){
|
||||
msgContentEN = "The regulation list confirmation of "+projectLawsInventoryEO.getSerialNumber() + " for "
|
||||
+ projectNameInfoEO.getProjectName() +" is rejected by " + currentUser.getUsername() +". Please check and address it in a timely manner.";
|
||||
|
||||
// 飞书消息封装
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
feishuMsgVo.setContent("Hello! This task is rejected by "+currentUser.getUsername()+". Please check and address it in a timely manner.");
|
||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
||||
|
||||
//飞书跳转链接
|
||||
String hrefFeishu = backUrl
|
||||
+ JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink()
|
||||
+ projectLibraryId + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBase.getTargetMarket();
|
||||
//系统内部跳转链接
|
||||
String href = "<a href='"
|
||||
+ JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() + projectLibraryId + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
|
||||
+ "'>" + "Jump link" + "</a>";
|
||||
String contentInfo = msgContentEN + " " + href;
|
||||
Map<String,Object> sendMessageMap = new HashMap<>();
|
||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||
sendMessageMap.put("contentInfo",contentInfo);
|
||||
|
||||
//发送消息
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
userIdList.add(projectLibraryBase.getStudioEngineer());
|
||||
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1388,6 +1539,48 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
projectLawsInventoryEO.setInventoryAffirmStatus(inventoryAffirmStatus);
|
||||
}
|
||||
super.baseMapper.updateById(projectLawsInventoryEO);
|
||||
|
||||
//如果法规、认证工程师都提交通过,法规清单 清单确认状态为:接受, 并且给当前项目的studio发送消息
|
||||
if(StringUtils.equals(inventoryAffirmStatus,InventoryAffirmStatusEnum.ACCEPTED.getValue())){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
//消息内容
|
||||
String msgContentEN = "The regulation list confirmation of "
|
||||
+projectLawsInventoryEO.getSerialNumber()+" for "
|
||||
+ projectNameInfoEO.getProjectName() +" is completed. Please check.";
|
||||
|
||||
// 飞书消息封装
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
feishuMsgVo.setContent("Hello! This task is completed. Please check.");
|
||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
||||
|
||||
//飞书跳转链接
|
||||
String hrefFeishu = backUrl
|
||||
+ JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink()
|
||||
+ projectLibraryId + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBase.getTargetMarket();
|
||||
//系统内部跳转链接
|
||||
String href = "<a href='"
|
||||
+ JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() + projectLibraryId + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
|
||||
+ "'>" + "Jump link" + "</a>";
|
||||
String contentInfo = msgContentEN + " " + href;
|
||||
Map<String,Object> sendMessageMap = new HashMap<>();
|
||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||
sendMessageMap.put("contentInfo",contentInfo);
|
||||
|
||||
//发送消息
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
userIdList.add(projectLibraryBase.getStudioEngineer());
|
||||
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
@@ -2176,8 +2369,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
//认证级别
|
||||
if (StringUtils.isNotBlank(projectLawsInventoryEO.getAttestationRank())) {
|
||||
List<SysDictItem> attestationRank = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue());
|
||||
String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(projectLawsInventoryEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
projectLawsInventoryEO.setAttestationRank(attestationRankName);
|
||||
List<String> attestationRankList = Arrays.asList(projectLawsInventoryEO.getAttestationRank().split(","));
|
||||
StringBuilder attestationRankBuilder = new StringBuilder();
|
||||
for (String midAttestationRank : attestationRankList) {
|
||||
String dutyTerritoryName = attestationRank.stream().filter(e -> e.getItemValue().equals(midAttestationRank)).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
attestationRankBuilder.append(dutyTerritoryName).append(",");
|
||||
}
|
||||
projectLawsInventoryEO.setAttestationRank(attestationRankBuilder.substring(0, attestationRankBuilder.toString().length() - 1));
|
||||
} else {
|
||||
projectLawsInventoryEO.setAttestationRank("空");
|
||||
}
|
||||
@@ -2538,13 +2736,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
//认证级别
|
||||
if (StringUtils.isNotBlank(projectLawsInventoryEO.getAttestationRank())) {
|
||||
List<SysDictItem> attestationRank = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue());
|
||||
String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(projectLawsInventoryEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
projectLawsInventoryEO.setAttestationRank(attestationRankName);
|
||||
List<String> attestationRankList = Arrays.asList(projectLawsInventoryEO.getAttestationRank().split(","));
|
||||
StringBuilder attestationRankBuilder = new StringBuilder();
|
||||
for (String midAttestationRank : attestationRankList) {
|
||||
String dutyTerritoryName = attestationRank.stream().filter(e -> e.getItemValue().equals(midAttestationRank)).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
attestationRankBuilder.append(dutyTerritoryName).append(",");
|
||||
}
|
||||
projectLawsInventoryEO.setAttestationRank(attestationRankBuilder.substring(0, attestationRankBuilder.toString().length() - 1));
|
||||
} else {
|
||||
projectLawsInventoryEO.setAttestationRank("null");
|
||||
}
|
||||
|
||||
|
||||
//责任领域
|
||||
if (StringUtils.isNotBlank(projectLawsInventoryEO.getDutyTerritory())) {
|
||||
List<SysDictItem> dutyTerritory = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue());
|
||||
@@ -3117,8 +3319,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
fileTemp.mkdirs();
|
||||
//文件
|
||||
exportFile(dataList,fileInfos);
|
||||
String excelName = "";
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){
|
||||
excelName = "法规清单.xlsx";
|
||||
}else{
|
||||
excelName = "Regulation List.xlsx";
|
||||
}
|
||||
//excel
|
||||
OutputStream excelOS = new FileOutputStream(path + File.separator + "法规清单.xlsx");
|
||||
OutputStream excelOS = new FileOutputStream(path + File.separator + excelName);
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){
|
||||
@@ -3257,6 +3465,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if(StringUtils.isNotBlank(pullVerifyDeliverableType)){
|
||||
projectLawsInventoryEOEn.setVerifyDeliverableType(pullVerifyDeliverableType);
|
||||
}
|
||||
//清单确认状态
|
||||
String inventoryAffirmStatus = projectLawsInventoryEOEn.getInventoryAffirmStatus();
|
||||
if(StringUtils.isNotBlank(inventoryAffirmStatus)){
|
||||
projectLawsInventoryEOEn.setInventoryAffirmStatusName(inventoryAffirmStatus);
|
||||
}
|
||||
|
||||
//任务确认状态
|
||||
String taskAffirmStatus = projectLawsInventoryEOEn.getTaskAffirmStatus();
|
||||
if(StringUtils.isNotBlank(taskAffirmStatus)){
|
||||
projectLawsInventoryEOEn.setTaskAffirmStatusName(taskAffirmStatus);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6083,7 +6302,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
|
||||
|
||||
@Override
|
||||
public List<SysRole> getRoleByUserId(String projectLibraryId) {
|
||||
public List<SysRole> getRoleByUserId(String projectLibraryId,String cut) {
|
||||
List<SysRole> sysRoles = new LinkedList<>();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//项目详情中取R&H Studio和认证工程师
|
||||
@@ -6095,7 +6314,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if(StringUtils.isNotBlank(studioEngineerName) && studioEngineerName.equals(loginUser.getUsername())){
|
||||
SysRole sysRole = new SysRole();
|
||||
sysRole.setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.STUDIO_ENGINEER.getValue());
|
||||
sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.STUDIO_ENGINEER.getName());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.STUDIO_ENGINEER.getName());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.STUDIO_ENGINEER.getCode());
|
||||
}
|
||||
|
||||
sysRoles.add(sysRole);
|
||||
}
|
||||
}
|
||||
@@ -6115,7 +6339,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
|| lawEngineerNameList.contains(loginUser.getUsername())){
|
||||
SysRole sysRole = new SysRole();
|
||||
sysRole.setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue());
|
||||
sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getName());
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getName());
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getCode());
|
||||
}
|
||||
sysRoles.add(sysRole);
|
||||
|
||||
}
|
||||
@@ -6125,14 +6353,28 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if (roleList.size() != 0) {
|
||||
List<SysRole> manager = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
List<SysRole> admin = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode().equals(e.getRoleCode())).collect(Collectors.toList());
|
||||
if (manager.size() != 0) {
|
||||
manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getValue());
|
||||
sysRoles.addAll(manager);
|
||||
}
|
||||
if (admin.size() != 0) {
|
||||
admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getValue());
|
||||
sysRoles.addAll(admin);
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
if (manager.size() != 0) {
|
||||
manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getValue());
|
||||
sysRoles.addAll(manager);
|
||||
}
|
||||
if (admin.size() != 0) {
|
||||
admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getValue());
|
||||
sysRoles.addAll(admin);
|
||||
}
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
if (manager.size() != 0) {
|
||||
manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode());
|
||||
manager.get(0).setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode());
|
||||
sysRoles.addAll(manager);
|
||||
}
|
||||
if (admin.size() != 0) {
|
||||
admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode());
|
||||
admin.get(0).setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode());
|
||||
sysRoles.addAll(admin);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return sysRoles;
|
||||
}
|
||||
|
||||
+30
-15
@@ -845,23 +845,38 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
String engineeringInterfacePersonName = row.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
|
||||
String certificationEngineerName = row.getCell(3,Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
|
||||
|
||||
//除了责任领域全有值->可以
|
||||
if(StringUtils.isNotBlank(lawEngineerName) && StringUtils.isNotBlank(engineeringInterfacePersonName) && StringUtils.isNotBlank(certificationEngineerName)) {
|
||||
projectRelatedPersonnel.setLawEngineerName(lawEngineerName);
|
||||
projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName);
|
||||
projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName);
|
||||
}else if(StringUtils.isBlank(lawEngineerName) && StringUtils.isBlank(engineeringInterfacePersonName) && StringUtils.isBlank(certificationEngineerName)) {
|
||||
//除了责任领域,其他的可以全为空->可以
|
||||
if(StringUtils.isBlank(lawEngineerName)){
|
||||
projectRelatedPersonnel.setLawEngineerName("");
|
||||
projectRelatedPersonnel.setEngineeringInterfacePersonName("");
|
||||
projectRelatedPersonnel.setCertificationEngineerName("");
|
||||
}else {//除了责任领域,备注,有一个为空都报错
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
throw new JeroBootException("法规工程师、工程接口人、认证工程师三个为必填字段.请检查第 "+ (i+1) + "行");
|
||||
}else{
|
||||
throw new JeroBootException("Regulation Engineer,Engineering Interface and Homologation Engineer are required fields..Please check line" + (i+1));
|
||||
}
|
||||
}else{
|
||||
projectRelatedPersonnel.setLawEngineerName(lawEngineerName);
|
||||
}
|
||||
if(StringUtils.isBlank(engineeringInterfacePersonName)){
|
||||
projectRelatedPersonnel.setEngineeringInterfacePersonName("");
|
||||
}else{
|
||||
projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName);
|
||||
}
|
||||
if(StringUtils.isBlank(certificationEngineerName)){
|
||||
projectRelatedPersonnel.setCertificationEngineerName("");
|
||||
}else{
|
||||
projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName);
|
||||
}
|
||||
// //除了责任领域全有值->可以
|
||||
// if(StringUtils.isNotBlank(lawEngineerName) && StringUtils.isNotBlank(engineeringInterfacePersonName) && StringUtils.isNotBlank(certificationEngineerName)) {
|
||||
// projectRelatedPersonnel.setLawEngineerName(lawEngineerName);
|
||||
// projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName);
|
||||
// projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName);
|
||||
// }else if(StringUtils.isBlank(lawEngineerName) && StringUtils.isBlank(engineeringInterfacePersonName) && StringUtils.isBlank(certificationEngineerName)) {
|
||||
// //除了责任领域,其他的可以全为空->可以
|
||||
// projectRelatedPersonnel.setLawEngineerName("");
|
||||
// projectRelatedPersonnel.setEngineeringInterfacePersonName("");
|
||||
// projectRelatedPersonnel.setCertificationEngineerName("");
|
||||
// }else {//除了责任领域,备注,有一个为空都报错
|
||||
// if(CutEnum.CN.getValue().equals(cut)){
|
||||
// throw new JeroBootException("法规工程师、工程接口人、认证工程师三个为必填字段.请检查第 "+ (i+1) + "行");
|
||||
// }else{
|
||||
// throw new JeroBootException("Regulation Engineer,Engineering Interface and Homologation Engineer are required fields..Please check line" + (i+1));
|
||||
// }
|
||||
// }
|
||||
|
||||
//导入的备注为数字,被识别成小数点后一位
|
||||
Cell remarkCell = row.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
|
||||
+205
-8
@@ -1,27 +1,31 @@
|
||||
package com.jero.modules.project.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.project.entity.FeedbackHistory;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryFeedbackEO;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
import com.jero.modules.project.entity.*;
|
||||
import com.jero.modules.project.enums.FeedBackHistoryDataStatusEnum;
|
||||
import com.jero.modules.project.enums.JumpLinkEnum;
|
||||
import com.jero.modules.project.mapper.FeedbackHistoryMapper;
|
||||
import com.jero.modules.project.mapper.ProjectTaskInventoryDetailEOMapper;
|
||||
import com.jero.modules.project.mapper.ProjectTaskInventoryFeedbackEOMapper;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryFeedbackEOService;
|
||||
import com.jero.modules.project.service.*;
|
||||
import com.jero.modules.project.util.SendMessageUtils;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -41,6 +45,24 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
||||
@Autowired
|
||||
private ProjectTaskInventoryDetailEOMapper projectTaskInventoryDetailEOMapper;
|
||||
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Autowired
|
||||
private IProjectLawsInventoryEOService projectLawsInventoryEOService;
|
||||
|
||||
@Autowired
|
||||
private IProjectLibraryBaseService projectLibraryBaseService;
|
||||
|
||||
@Autowired
|
||||
private IProjectNameInfoEOService projectNameInfoEOService;
|
||||
|
||||
@Autowired
|
||||
private IProjectYearNameInfoEOService projectYearNameInfoEOService;
|
||||
|
||||
@Value(value = "${jero.backUrl}")
|
||||
private String backUrl;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -95,6 +117,93 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
||||
Date now = new Date();
|
||||
projectTaskInventoryFeedbackEO.setUpdateTime(now);
|
||||
saveOrUpdate(projectTaskInventoryFeedbackEO);
|
||||
|
||||
//获取这条数据的dre工程师,给他发送消息。
|
||||
QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
|
||||
sysUserQueryWrapper.lambda().eq(SysUser::getUsername,projectTaskInventoryFeedbackEO.getCreateBy());
|
||||
List<SysUser> sysUserList = this.sysUserService.list(sysUserQueryWrapper);
|
||||
if (CollectionUtils.isNotEmpty(sysUserList)) {
|
||||
List<String> userIdList = sysUserList.stream().map(SysUser::getId).distinct().collect(Collectors.toList());
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO = this.projectTaskInventoryDetailEOMapper.selectOne(
|
||||
new QueryWrapper<ProjectTaskInventoryDetailEO>().lambda().eq(ProjectTaskInventoryDetailEO::getId, projectTaskInventoryFeedbackEO.getProjectTaskInventoryId())
|
||||
);
|
||||
|
||||
ProjectLawsInventoryEO projectLawsInventoryEO = this.projectLawsInventoryEOService.getOne(
|
||||
new QueryWrapper<ProjectLawsInventoryEO>().lambda().eq(ProjectLawsInventoryEO::getId, projectTaskInventoryDetailEO.getProjectTaskInventoryId())
|
||||
);
|
||||
|
||||
ProjectLibraryBase projectLibraryBaseInfo = this.projectLibraryBaseService.getOne(
|
||||
new QueryWrapper<ProjectLibraryBase>().lambda().eq(ProjectLibraryBase::getId, projectLawsInventoryEO.getProjectLibraryId())
|
||||
);
|
||||
|
||||
ProjectNameInfoEO projectNameInfoEO = this.projectNameInfoEOService.getOne(
|
||||
new QueryWrapper<ProjectNameInfoEO>().lambda().eq(ProjectNameInfoEO::getId, projectLibraryBaseInfo.getProjectNameId())
|
||||
);
|
||||
|
||||
QueryWrapper<ProjectYearNameInfoEO> projectYearInfoEOQueryWrapper = new QueryWrapper<>();
|
||||
projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBaseInfo.getYearNameId());
|
||||
ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne(projectYearInfoEOQueryWrapper);
|
||||
|
||||
// 飞书消息封装
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
|
||||
feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has reply to your engineering deliverable information. Please check and address it in a timely manner.");
|
||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
|
||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
||||
|
||||
//消息内容
|
||||
String msgContentEN = "";
|
||||
String flowType = projectTaskInventoryFeedbackEO.getFlowType();
|
||||
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||
msgContentEN = currentUser.getUsername() + " has reply to your engineering deliverable information of "
|
||||
+ projectLawsInventoryEO.getSerialNumber() + " in "
|
||||
+ projectNameInfoEO.getProjectName() + " for design compliance confirmation. Please check and address it in time.";
|
||||
|
||||
feishuMsgVo.setTaskType("Design Compliance Confirmation");
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate()));
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||
msgContentEN = currentUser.getUsername() + " has reply to your engineering deliverable information of "
|
||||
+ projectLawsInventoryEO.getSerialNumber() + " in "
|
||||
+ projectNameInfoEO.getProjectName() + " for Pre-Homo compliance confirmation. Please check and address it in time.";
|
||||
|
||||
feishuMsgVo.setTaskType("Pre-Homo Confirmation");
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate()));
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
msgContentEN = currentUser.getUsername() + " has reply to your engineering deliverable information of "
|
||||
+ projectLawsInventoryEO.getSerialNumber() + " in "
|
||||
+ projectNameInfoEO.getProjectName() + " for validation compliance confirmation. Please check and address it in time.";
|
||||
|
||||
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate()));
|
||||
}
|
||||
|
||||
//飞书跳转链接
|
||||
String hrefFeishu = backUrl
|
||||
+ JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink()
|
||||
+ projectLibraryBaseInfo.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket();
|
||||
//系统内部跳转链接
|
||||
String href = "<a href='"
|
||||
+ JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + projectLibraryBaseInfo.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket()
|
||||
+ "'>" + "Jump link" + "</a>";
|
||||
String contentInfo = msgContentEN + " " + href;
|
||||
Map<String,Object> sendMessageMap = new HashMap<>();
|
||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||
sendMessageMap.put("contentInfo",contentInfo);
|
||||
|
||||
//发送消息
|
||||
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -193,6 +302,94 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
||||
feedbackHistoryMapper.insert(feedbackHistory);
|
||||
|
||||
this.baseMapper.updateById(projectTaskInventoryFeedbackEO);
|
||||
|
||||
//获取责任人,给责任人发送消息
|
||||
projectTaskInventoryFeedbackEO.getActiProcInstId();
|
||||
QueryWrapper<ProjectTaskInventoryDetailEO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,projectTaskInventoryFeedbackEO.getActiProcInstId());
|
||||
queryWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getFlowType,projectTaskInventoryFeedbackEO.getFlowType());
|
||||
queryWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getTaskDefinitionKey, DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey());
|
||||
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOS = this.projectTaskInventoryDetailEOMapper.selectList(queryWrapper);
|
||||
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOS)){
|
||||
List<String> userIdList = projectTaskInventoryDetailEOS.stream().map(ProjectTaskInventoryDetailEO::getUserId).distinct().collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(userIdList)){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
ProjectLawsInventoryEO projectLawsInventoryEO = this.projectLawsInventoryEOService.getOne(
|
||||
new QueryWrapper<ProjectLawsInventoryEO>().lambda().eq(ProjectLawsInventoryEO::getId, projectTaskInventoryDetailEOS.get(0).getProjectTaskInventoryId())
|
||||
);
|
||||
|
||||
ProjectLibraryBase projectLibraryBaseInfo = this.projectLibraryBaseService.getOne(
|
||||
new QueryWrapper<ProjectLibraryBase>().lambda().eq(ProjectLibraryBase::getId, projectLawsInventoryEO.getProjectLibraryId())
|
||||
);
|
||||
|
||||
ProjectNameInfoEO projectNameInfoEO = this.projectNameInfoEOService.getOne(
|
||||
new QueryWrapper<ProjectNameInfoEO>().lambda().eq(ProjectNameInfoEO::getId, projectLibraryBaseInfo.getProjectNameId())
|
||||
);
|
||||
|
||||
QueryWrapper<ProjectYearNameInfoEO> projectYearInfoEOQueryWrapper = new QueryWrapper<>();
|
||||
projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBaseInfo.getYearNameId());
|
||||
ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne(projectYearInfoEOQueryWrapper);
|
||||
|
||||
// 飞书消息封装
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
|
||||
feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has submitted the engineering deliverable information. Please check and address it in a timely manner.");
|
||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
|
||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
||||
|
||||
//消息内容
|
||||
String msgContentEN = "";
|
||||
String flowType = projectTaskInventoryFeedbackEO.getFlowType();
|
||||
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||
msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of "
|
||||
+ projectLawsInventoryEO.getSerialNumber() + " in "
|
||||
+ projectNameInfoEO.getProjectName() + "for design compliance confirmation. Please check and address it in time.";
|
||||
|
||||
feishuMsgVo.setTaskType("Design Compliance Confirmation");
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate()));
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||
msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of "
|
||||
+ projectLawsInventoryEO.getSerialNumber() + " in "
|
||||
+ projectNameInfoEO.getProjectName() + " for Pre-Homo confirmation. Please check and address it in time.";
|
||||
|
||||
feishuMsgVo.setTaskType("Pre-Homo Confirmation");
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate()));
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of "
|
||||
+ projectLawsInventoryEO.getSerialNumber() + " in "
|
||||
+ projectNameInfoEO.getProjectName() + " for validation compliance confirmation. Please check and address it in time.";
|
||||
|
||||
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
|
||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate()));
|
||||
}
|
||||
|
||||
//飞书跳转链接
|
||||
String hrefFeishu = backUrl
|
||||
+ JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink()
|
||||
+ projectLibraryBaseInfo.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket();
|
||||
//系统内部跳转链接
|
||||
String href = "<a href='"
|
||||
+ JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + projectLibraryBaseInfo.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType()
|
||||
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()
|
||||
+ "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket()
|
||||
+ "'>" + "Jump link" + "</a>";
|
||||
String contentInfo = msgContentEN + " " + href;
|
||||
Map<String,Object> sendMessageMap = new HashMap<>();
|
||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||
sendMessageMap.put("contentInfo",contentInfo);
|
||||
|
||||
//发送消息
|
||||
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+175
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
+170
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
+170
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
+199
@@ -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;
|
||||
|
||||
}
|
||||
+91
@@ -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;
|
||||
|
||||
}
|
||||
+98
@@ -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;
|
||||
|
||||
}
|
||||
+39
@@ -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;
|
||||
}
|
||||
}
|
||||
+48
@@ -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;
|
||||
}
|
||||
}
|
||||
+17
@@ -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> {
|
||||
|
||||
}
|
||||
+17
@@ -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> {
|
||||
|
||||
}
|
||||
+17
@@ -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> {
|
||||
|
||||
}
|
||||
+33
@@ -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>
|
||||
+17
@@ -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>
|
||||
+18
@@ -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>
|
||||
+77
@@ -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);
|
||||
}
|
||||
+61
@@ -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();
|
||||
}
|
||||
+61
@@ -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();
|
||||
}
|
||||
+292
@@ -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;
|
||||
}
|
||||
}
|
||||
+89
@@ -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();
|
||||
}
|
||||
}
|
||||
+89
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -1068,4 +1068,8 @@ module.exports = {
|
||||
newNiONumber: 'Number',
|
||||
English: 'English',
|
||||
requiredParametersEmpty:'Required parameters cannot be empty',
|
||||
PleaseTaskConfirmationRejected:'Please select the data whose list confirmation status is accepted and task confirmation status is not initiated or rejected',
|
||||
theProjectContactEmpty:'The project contact person of cannot be empty',
|
||||
pleaseSelectinitiatedOrRejected:'Please select the data whose list confirmation status is not initiated or rejected',
|
||||
TheEngineerAndCertification:'The regulatory engineer and Certification Engineer of cannot be empty',
|
||||
}
|
||||
@@ -681,7 +681,11 @@ module.exports = {
|
||||
listConfirmation: '清单确认',
|
||||
ListConfirmationDeadline: '清单确认截止时间',
|
||||
dataConfirmation: '请选择清单确认状态为未发起或拒绝的数据,以及法规工程师、认证工程师不为空',
|
||||
pleaseSelectinitiatedOrRejected:'请选择清单确认状态为未发起或拒绝的数据',
|
||||
TheEngineerAndCertification:'的法规工程师、认证工程师不能为空',
|
||||
taskDataConfirmation: '请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据,以及工程接口人不为空',
|
||||
theProjectContactEmpty:'的工程接口人不能为空',
|
||||
PleaseTaskConfirmationRejected:'请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据',
|
||||
pleaseSelectPersonFirst: '请先选择人员',
|
||||
onlyOnePersonCanBeSelected: '只能选择一个人员',
|
||||
overrule: '驳回',
|
||||
@@ -880,7 +884,8 @@ module.exports = {
|
||||
yellowSchedule: '黄:不符合/待追踪,有可接受的方案和时间表',
|
||||
greenRequirements: '绿:确认符合或满足当前要求',
|
||||
blueUndeterminedState: '蓝:未判断状态',
|
||||
authenticationMessage: '认证消息',
|
||||
authenticationMessage: '认证参数任务',
|
||||
taskRegulationComplianceTask: '法规符合性任务',
|
||||
accept: '接受',
|
||||
refuse: '拒绝',
|
||||
taskTermination: '任务终止',
|
||||
|
||||
@@ -178,6 +178,7 @@ export default {
|
||||
this.$message.warning(this.$t('OnlyOneSelected'))
|
||||
} else {
|
||||
let param = {ids: this.selectedRowKeysArray, paramsManifestId:this.$route.query.id ,projectId: this.$route.query.projectId, dre:this.selectedRowKeysDate[0].username }
|
||||
this.confirmLoading = true
|
||||
axios({
|
||||
url: '/jero-boot/params/collectManifest/updateDreBatch',
|
||||
method: 'post',
|
||||
@@ -199,14 +200,17 @@ export default {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
// 填写人
|
||||
// 获取当前登陆人
|
||||
this.confirmLoading = false
|
||||
this.$emit('GetgetLoginUserType')
|
||||
this.$emit('GetgetTableList')
|
||||
this.$emit('areaVisibleAssignedbyflag', false)
|
||||
}else{
|
||||
this.confirmLoading = false
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
.catch( (error) =>{
|
||||
this.confirmLoading = false
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
<!-- 无 -->
|
||||
<div v-if="item.controlVerify == '1'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')"
|
||||
v-model="item.dataValue"/>
|
||||
@@ -43,7 +44,7 @@
|
||||
<div v-if="item.controlVerify == '4'">
|
||||
<a-input class="box-input inputWid"
|
||||
: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')"
|
||||
v-model="item.dataValue"/>
|
||||
</div>
|
||||
@@ -98,7 +99,9 @@
|
||||
<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-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>
|
||||
<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 ">
|
||||
@@ -113,7 +116,9 @@
|
||||
<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-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>
|
||||
<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 ">
|
||||
@@ -140,7 +145,9 @@
|
||||
<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-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>
|
||||
<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 ">
|
||||
@@ -163,6 +170,7 @@
|
||||
<!-- 无 -->
|
||||
<div v-if="item.controlVerify == '1'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')"
|
||||
v-model="item.dataValue"/>
|
||||
@@ -170,6 +178,7 @@
|
||||
<!-- 中文-->
|
||||
<div v-if="item.controlVerify == '2'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
|
||||
@@ -188,7 +197,7 @@
|
||||
<div v-if="item.controlVerify == '4'">
|
||||
<a-input class="box-input inputWid"
|
||||
: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')"
|
||||
v-model="item.dataValue"/>
|
||||
</div>
|
||||
@@ -256,6 +265,7 @@
|
||||
<!-- 无 -->
|
||||
<div v-if="item.controlVerify == '1'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')"
|
||||
v-model="item.dataValue"/>
|
||||
@@ -263,6 +273,7 @@
|
||||
<!-- 中文-->
|
||||
<div v-if="item.controlVerify == '2'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
|
||||
@@ -281,7 +292,7 @@
|
||||
<div v-if="item.controlVerify == '4'">
|
||||
<a-input class="box-input inputWid"
|
||||
: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')"
|
||||
v-model="item.dataValue"/>
|
||||
</div>
|
||||
@@ -331,7 +342,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
<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 ">
|
||||
@@ -359,6 +372,7 @@
|
||||
<!-- 无 -->
|
||||
<div v-if="item.controlVerify == '1'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')"
|
||||
v-model="item.dataValue"/>
|
||||
@@ -366,6 +380,7 @@
|
||||
<!-- 中文-->
|
||||
<div v-if="item.controlVerify == '2'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
|
||||
@@ -384,7 +399,7 @@
|
||||
<div v-if="item.controlVerify == '4'">
|
||||
<a-input class="box-input inputWid"
|
||||
: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')"
|
||||
v-model="item.dataValue"/>
|
||||
</div>
|
||||
@@ -446,7 +461,9 @@
|
||||
<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-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>
|
||||
<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 ">
|
||||
@@ -468,7 +485,9 @@
|
||||
<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-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>
|
||||
<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 ">
|
||||
@@ -490,10 +509,12 @@
|
||||
<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-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>
|
||||
<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 }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
@@ -513,6 +534,7 @@
|
||||
<!-- 无 -->
|
||||
<div v-if="item.controlVerify == '1'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')"
|
||||
v-model="item.dataValue"/>
|
||||
@@ -521,6 +543,7 @@
|
||||
<div v-if="item.controlVerify == '2'">
|
||||
<a-input class="box-input inputWid"
|
||||
:disabled="item.isLock == '1' ? true: false"
|
||||
:maxLength="1000"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"
|
||||
v-model="item.dataValue"/>
|
||||
@@ -538,7 +561,7 @@
|
||||
<div v-if="item.controlVerify == '4'">
|
||||
<a-input class="box-input inputWid"
|
||||
: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')"
|
||||
v-model="item.dataValue"/>
|
||||
</div>
|
||||
@@ -694,6 +717,13 @@
|
||||
.ant-table td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.selectWid .ant-select-selection--multiple {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.selectWid .ant-select-selection--multiple::-webkit-scrollbar {
|
||||
display: none; /* Chrome Safari */
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
@@ -747,4 +777,12 @@
|
||||
.ant-select-disabled{
|
||||
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>
|
||||
|
||||
@@ -12,16 +12,44 @@
|
||||
>
|
||||
<a-row :gutter='24'>
|
||||
<a-col :span='9'>
|
||||
<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>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<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 :span='9'>
|
||||
<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>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<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 :span='6' style='margin-top: 5px'>
|
||||
<a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button>
|
||||
@@ -29,15 +57,32 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter='24'>
|
||||
<a-col :span='9'>
|
||||
<a-form-model-item ref='region' :label="$t('areaOfResponsibility')" prop='region'>
|
||||
<a-form-model-item class='itemModel' prop='region'>
|
||||
<a-col :span='10'>
|
||||
<div class="box-title-text">
|
||||
<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'
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:title="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:triggerChange='false' :dictCode="'duty_territory'" />
|
||||
</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 :span='9'>
|
||||
</a-col>
|
||||
@@ -291,6 +336,89 @@ export default {
|
||||
display: flex;
|
||||
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 lang='less'>
|
||||
.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>
|
||||
@@ -3,10 +3,14 @@
|
||||
<div class="box-title-text" v-if="!isInput">
|
||||
<a-input class="box-input" :value="value" @input="indexclick($event)"
|
||||
:disabled="true"
|
||||
:title="value"
|
||||
:placeholder="$t('PleaseSelect')+query.db_field_txt"/>
|
||||
<a-button type="primary" class="button-box" @click="standardClick">
|
||||
{{this.$t('PersonnelSelection')}}
|
||||
</a-button>
|
||||
<a-button type="primary" v-if='isDelete' class="button-box" @click="standardDelete">
|
||||
{{this.$t('delete')}}
|
||||
</a-button>
|
||||
</div>
|
||||
<div class="box-title-text" v-if="isInput">
|
||||
<a-input :class="{'box-input':!isClass}" :value="value"
|
||||
@@ -54,7 +58,7 @@
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass'],
|
||||
props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass','isDelete'],
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
@@ -86,12 +90,18 @@
|
||||
this.queryDepartUserTreeList()
|
||||
this.visible = true
|
||||
},
|
||||
standardDelete(){
|
||||
this.$emit('input', null)
|
||||
this.$forceUpdate()
|
||||
this.$emit('deleteData',this.query.db_field_name)
|
||||
},
|
||||
// onSelect(selectedKeys, info) {
|
||||
// console.log(selectedKeys)
|
||||
// this.selectedKey = selectedKeys
|
||||
// },
|
||||
|
||||
onCheck(checkedKeys, info) {
|
||||
console.log(checkedKeys)
|
||||
this.userIds = checkedKeys.checked
|
||||
this.userName = []
|
||||
if (info.checkedNodes && info.checkedNodes.length > 0) {
|
||||
@@ -151,6 +161,11 @@
|
||||
},
|
||||
indexclick(event) {
|
||||
this.$emit('input', event.target.value)
|
||||
this.departId = ''
|
||||
this.searchModel = ''
|
||||
this.userIds = []
|
||||
this.userName = []
|
||||
this.defaultCheckedKeys = []
|
||||
},
|
||||
onSearch(e) {
|
||||
this.gData = []
|
||||
|
||||
@@ -6,41 +6,77 @@
|
||||
ref='ruleForm'
|
||||
:model='formInline'
|
||||
:rules='rules'
|
||||
:label-col='labelCol'
|
||||
:wrapper-col='wrapperCol'
|
||||
>
|
||||
<a-row :gutter='24'>
|
||||
<a-col :span='24'>
|
||||
<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') }} </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 ">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('from')">{{$t('from')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="sourceConfigId">
|
||||
<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 }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<div style='width: 90px;line-height: 29px;'> {{ $t('configure') }}</div>
|
||||
</div>
|
||||
</a-form-model-item>
|
||||
<span style='width: 90px;line-height: 29px;margin-top: 8px'> {{ $t('configure') }}</span>
|
||||
</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') }} </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;'> {{ $t('configure') }}</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
</a-col>
|
||||
<a-col :span='24'>
|
||||
<a-form-model-item style='line-height: 31.9999px;' prop='targetConfigIds' class='aform'>
|
||||
<div style='display: flex;justify-content: center'>
|
||||
<span class="Requireditem">*</span>
|
||||
<div style='line-height: 29px;width: 107px'>{{ $t('ReferenceTo') }} </div>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('controlVerification')" v-model="formInline.targetConfigIds" allowClear mode="multiple" style='width: 140%'>
|
||||
<a-select-option v-for="(item, key) in fromDateTo" :key="key" :value="item.value" style='width: 140%'>
|
||||
<span style="display: inline-block;width: 140%" :title=" item.label ">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('ReferenceTo')">{{$t('ReferenceTo')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="targetConfigIds">
|
||||
<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 }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<div style='width: 90px;line-height: 29px;'> {{ $t('configure') }}</div>
|
||||
</div>
|
||||
</a-form-model-item>
|
||||
<span
|
||||
style='width: 90px;line-height: 29px;float: right'> {{ $t('configure') }}</span>
|
||||
</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') }} </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'> {{ $t('configure') }}</span>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
@@ -53,159 +89,165 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
export default {
|
||||
name: 'diolagArea',
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
token:Vue.ls.get(ACCESS_TOKEN),
|
||||
selectedRowKeysDate: {},
|
||||
loading: false,
|
||||
editId: '',
|
||||
newVisible: false,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 7 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 14 }
|
||||
},
|
||||
formInline: {},
|
||||
rules: {
|
||||
sourceConfigId: [
|
||||
{ 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, //表单提交标识
|
||||
spinLoading: false,
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
fromDate: [],
|
||||
fromDateTo: [],
|
||||
}
|
||||
},
|
||||
props: {
|
||||
paramsManifest: {
|
||||
type: Object,
|
||||
default: {},
|
||||
require: true
|
||||
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
|
||||
export default {
|
||||
name: 'diolagArea',
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
token: Vue.ls.get(ACCESS_TOKEN),
|
||||
selectedRowKeysDate: {},
|
||||
loading: false,
|
||||
editId: '',
|
||||
newVisible: false,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 7 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 14 }
|
||||
},
|
||||
formInline: {},
|
||||
rules: {
|
||||
sourceConfigId: [
|
||||
{ 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, //表单提交标识
|
||||
spinLoading: false,
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
fromDate: [],
|
||||
fromDateTo: []
|
||||
}
|
||||
},
|
||||
selectedRowKeysArray: {
|
||||
type: String,
|
||||
default: '',
|
||||
require: true
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadData(),
|
||||
this.loadDataTo()
|
||||
},
|
||||
methods: {
|
||||
loadData() {
|
||||
let _this = this
|
||||
let param = {paramsManifestId: this.paramsManifest.id,configFlag: 1}
|
||||
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.fromDate = res.data.result
|
||||
}else{
|
||||
_this.$message.warning(res.data.message)
|
||||
props: {
|
||||
paramsManifest: {
|
||||
type: Object,
|
||||
default: {},
|
||||
require: true
|
||||
},
|
||||
selectedRowKeysArray: {
|
||||
type: String,
|
||||
default: '',
|
||||
require: true
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadData(),
|
||||
this.loadDataTo()
|
||||
},
|
||||
methods: {
|
||||
loadData() {
|
||||
let _this = this
|
||||
let param = { paramsManifestId: this.paramsManifest.id, configFlag: 1 }
|
||||
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
|
||||
}
|
||||
})
|
||||
.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) {
|
||||
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')
|
||||
.then((res) => {
|
||||
console.log(res)
|
||||
if (res.data.success) {
|
||||
this.fromDate = res.data.result
|
||||
} 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({
|
||||
// url: '/jero-boot/params/collectManifest/referParams',
|
||||
// method: 'post',
|
||||
@@ -234,57 +276,120 @@ export default {
|
||||
// .catch( (error) =>{
|
||||
// console.log(error);
|
||||
// });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='less' scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
/deep/.ant-form-explain{
|
||||
padding-left: 62px;
|
||||
}
|
||||
.diolag-area {
|
||||
.table-area {
|
||||
margin: 20px 0;
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.action-edit {
|
||||
margin-right: 10px;
|
||||
/deep/ .ant-form-explain {
|
||||
padding-left: 62px;
|
||||
}
|
||||
|
||||
.diolag-area {
|
||||
.table-area {
|
||||
margin: 20px 0;
|
||||
|
||||
.action-edit {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.table-del {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
|
||||
.table-del {
|
||||
color: red;
|
||||
.drawer-bootom-button {
|
||||
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 lang='less'>
|
||||
.area-module {
|
||||
.ant-modal-wrap {
|
||||
.ant-modal {
|
||||
.ant-modal-content {
|
||||
.ant-modal-footer {
|
||||
text-align: center;
|
||||
.area-module {
|
||||
.ant-modal-wrap {
|
||||
.ant-modal {
|
||||
.ant-modal-content {
|
||||
.ant-modal-footer {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.page{
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.Requireditem{
|
||||
color: red;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.page {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.Requireditem {
|
||||
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>
|
||||
@@ -92,6 +92,7 @@ export default {
|
||||
handleSubmit() {
|
||||
let _this = this
|
||||
let param = {ids: this.selectedRowKeysArray, paramsManifestId: this.paramsManifest.id }
|
||||
this.confirmLoading = true
|
||||
axios({
|
||||
url: '/jero-boot/params/collectManifest/syncReport',
|
||||
method: 'post',
|
||||
@@ -114,12 +115,15 @@ export default {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
this.$emit('areaVisibsynchronous', false)
|
||||
this.$emit('GetgetTableList')
|
||||
this.confirmLoading = false
|
||||
}else{
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
.catch( (error) =>{
|
||||
console.log(error);
|
||||
this.confirmLoading = false
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,12 +107,15 @@ export default {
|
||||
handleSubmit() {
|
||||
let _this = this
|
||||
let param = {ids: this.selectedRowKeysArray, deadline: `${this.pickerDate}`, }
|
||||
this.confirmLoading = true
|
||||
postAction('/params/collectManifest/updateDeadlineBatch', param).then((res) => {
|
||||
if (res.success) {
|
||||
this.$emit('areaVisibleTaskCutOffTimeflag', false)
|
||||
this.$message.success(res.message)
|
||||
this.$message.success(_this.$t('OperationSuccessful'))
|
||||
this.confirmLoading = false
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
this.$message.warning(_this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 999;
|
||||
z-index: 111999;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(255, 255, 255, 0.9);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<div class="title-text" :title="item.db_field_txt">
|
||||
<span>{{item.db_field_txt}}</span>
|
||||
</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>
|
||||
</div>
|
||||
<div class="box-title-text" v-else-if="item.field_show_type == '2'">
|
||||
|
||||
@@ -139,6 +139,7 @@
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import VueDraggableResizable from 'vue-draggable-resizable'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
@@ -260,12 +261,14 @@
|
||||
watch: {
|
||||
currentPersonRole: {
|
||||
handler: function() {
|
||||
this.getTableList();
|
||||
console.log(123)
|
||||
this.getTableList()
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
rowClassName(row, index) {
|
||||
if (row.changeFlag == '1') {
|
||||
return 'rowClassRedYellow'
|
||||
@@ -276,11 +279,13 @@
|
||||
},
|
||||
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()
|
||||
},
|
||||
// 查看配置详细信息
|
||||
@@ -352,11 +357,11 @@
|
||||
.then((res) => {
|
||||
console.log(res)
|
||||
if (res.data.success) {
|
||||
_this.$message.success(res.data.result)
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.areaVisible = false
|
||||
this.getLoginUserType()
|
||||
} else {
|
||||
_this.$message.warning(res.data.result)
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -375,10 +380,10 @@
|
||||
this.areaVisible = true
|
||||
// this.$refs.ruleForm.clearValidate()
|
||||
this.$nextTick(() => {
|
||||
this.Dateline = { ...this.Dateline }
|
||||
this.getquerySdtList(record)
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
|
||||
},
|
||||
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'))
|
||||
@@ -395,10 +400,32 @@
|
||||
paramsManifestId: this.$route.query.id,
|
||||
projectId: this.$route.query.projectId
|
||||
}
|
||||
this.loading = true
|
||||
getAction(this.url.getLoginUserType, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.getTableList(res.result[0].value)
|
||||
this.$emit('LoginUserType', res.result, this.currentPersonRole)
|
||||
this.getAndUserId(res.result)
|
||||
}
|
||||
})
|
||||
},
|
||||
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 {
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -512,7 +539,10 @@
|
||||
this.dataSource = tt
|
||||
this.total = res.result.total
|
||||
this.selectedRowKeys = []
|
||||
this.loading = false
|
||||
this.$emit('getDataSource', this.dataSource)
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 500)
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
@@ -596,7 +626,10 @@
|
||||
this.selectedRowrowValue = []
|
||||
this.$emit('value', this.selectedRowKeys)
|
||||
this.$emit('rowValue', this.selectedRowrowValue)
|
||||
this.loading = false
|
||||
this.$emit('getDataSource', this.dataSource)
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 500)
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
@@ -618,7 +651,7 @@
|
||||
detailClick(item, index) {
|
||||
// this.$emit('detailClick', item)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='less'>
|
||||
@@ -714,10 +747,12 @@
|
||||
transform: none !important;
|
||||
bottom: 0;
|
||||
}
|
||||
.rowClassRed{
|
||||
background: #f3d9de;
|
||||
|
||||
.rowClassRed {
|
||||
background: #f3d9de;
|
||||
}
|
||||
.rowClassRedYellow{
|
||||
background: yellow;
|
||||
|
||||
.rowClassRedYellow {
|
||||
background: yellow;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -44,8 +44,8 @@
|
||||
</div>
|
||||
<a-dropdown>
|
||||
<span class="action action-full ant-dropdown-link user-dropdown-menu">
|
||||
<a-avatar class="avatar" size="small" :src="getAvatar()"/>
|
||||
<!-- <span v-if="isDesktop()">欢迎您,{{ nickname() }}</span>-->
|
||||
<!-- <a-avatar class="avatar" size="small" :src="getAvatar()"/>-->
|
||||
<span v-if="isDesktop()">welcome,{{ userInfo().username }}</span>
|
||||
</span>
|
||||
<a-menu slot="overlay" class="user-dropdown-menu-wrapper">
|
||||
<!-- <a-menu-item key="0">-->
|
||||
@@ -209,7 +209,7 @@
|
||||
},
|
||||
/* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/
|
||||
...mapActions(['Logout']),
|
||||
...mapGetters(['nickname', 'avatar', 'userInfo']),
|
||||
...mapGetters(['username', 'avatar', 'userInfo']),
|
||||
getAvatar() {
|
||||
return getFileAccessHttpUrl(this.avatar())
|
||||
},
|
||||
|
||||
@@ -50,9 +50,10 @@ import {
|
||||
import config from '@/defaultSettings'
|
||||
//引入
|
||||
import socketPublic from '@/utils/socketVuex.js'
|
||||
|
||||
import socketPublicOne from '@/utils/socketVuexOne.js'
|
||||
//挂载
|
||||
Vue.prototype.$socketPublic = socketPublic
|
||||
Vue.prototype.$socketPublicOne = socketPublicOne
|
||||
import JDictSelectTag from './components/dict/index.js'
|
||||
import hasPermission from '@/utils/hasPermission'
|
||||
import vueBus from '@/utils/vueBus'
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -259,7 +259,9 @@
|
||||
},
|
||||
hideModal() {
|
||||
this.form.dictName = this.form.dictName.trim()
|
||||
this.form.description = this.form.description.trim()
|
||||
if (this.form.description){
|
||||
this.form.description = this.form.description.trim()
|
||||
}
|
||||
let params = {
|
||||
...this.form
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
|
||||
<div class="text-text-right"
|
||||
:class="{ 'null-input':item.checked }">
|
||||
<div class="text-header">
|
||||
<div class="text-header" @click="titleClick(item)">
|
||||
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.module_type"></span>
|
||||
@@ -22,19 +22,19 @@
|
||||
<span v-html="item.serial_number"></span>
|
||||
</template>
|
||||
<span style="cursor: pointer"
|
||||
@click="titleClick(item)" v-html="item.serial_number"></span>
|
||||
v-html="item.serial_number"></span>
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.title"></span>
|
||||
</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 placement="topLeft" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<span v-html="item.file_name"></span>
|
||||
</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>
|
||||
</div>
|
||||
<a-tooltip placement="topLeft" v-if="!queryParam.selectValue" :mouseEnterDelay="0.5">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -29,6 +30,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleAdd" class="operator-text" v-has="'params:template:add'">
|
||||
@@ -200,6 +202,7 @@ export default {
|
||||
methods: {
|
||||
handleCancel() {
|
||||
this.areaVisible=false
|
||||
this.$refs['ruleForm'].resetFields()
|
||||
},
|
||||
handleSubmit() {
|
||||
if( this.formInline.paramsTemplateName !== undefined) {
|
||||
|
||||
@@ -1,32 +1,34 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('entryName')">
|
||||
<span>{{$t('entryName')}}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<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>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
|
||||
v-model="queryParam.projectName"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ListTitle')">
|
||||
<span>{{$t('ListTitle')}}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ListTitle')">
|
||||
<span>{{$t('ListTitle')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ListTitle')"
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ListTitle')"
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<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-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div>
|
||||
<a-table
|
||||
@@ -70,290 +72,294 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ExportHistory from '@/components/exporthistory/index'
|
||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||
import axios from 'axios'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import eventBUs from '../../../common/event'
|
||||
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]}¶msTemplateName=${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 || []
|
||||
import ExportHistory from '@/components/exporthistory/index'
|
||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||
import axios from 'axios'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import eventBUs from '../../../common/event'
|
||||
import Vue from 'vue'
|
||||
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
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]}¶msTemplateName=${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>
|
||||
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.add-input{
|
||||
width: 82%;
|
||||
}
|
||||
.box-button {
|
||||
height: 38px;
|
||||
/*margin-top: 2px;*/
|
||||
}
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.text-operation {
|
||||
margin-right: 8px;
|
||||
}
|
||||
.add-input {
|
||||
width: 82%;
|
||||
}
|
||||
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.box-button {
|
||||
height: 38px;
|
||||
/*margin-top: 2px;*/
|
||||
}
|
||||
|
||||
.box-title-text-add {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
}
|
||||
.text-operation {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.title-text-add {
|
||||
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;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.box-input-add {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
.box-title-text-add {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.title-text-add {
|
||||
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;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.Required {
|
||||
color: red;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.box-input-add {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.title-text-text {
|
||||
margin-top: 9px;
|
||||
}
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.formAdd {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.Required {
|
||||
color: red;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
z-index:100;
|
||||
width: 100%;
|
||||
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;
|
||||
}
|
||||
.title-text-text {
|
||||
margin-top: 9px;
|
||||
}
|
||||
|
||||
.formAdd {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
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>
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -18,6 +19,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleAdd" class="operator-text" v-has="'params:template:add'">
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
<span class="title-text-text"
|
||||
:title="$t('NParameterDescription')">{{$t('NParameterDescription')}}</span>
|
||||
</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"
|
||||
style='height: 95px; width: 100%'
|
||||
type="textarea"
|
||||
@@ -803,7 +803,11 @@ export default {
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.itemModel-text {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -38,6 +39,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleAdd" class="operator-text" v-has="'params:paramsInfo:add'">
|
||||
|
||||
@@ -34,10 +34,10 @@
|
||||
dataSource: [],
|
||||
loading: false,
|
||||
approvalResult: {
|
||||
0: this.$t('agree'),
|
||||
0: this.$t('accept'),
|
||||
1: this.$t('disagree'),
|
||||
2: this.$t('terminationProcess'),
|
||||
3: this.$t('issue')
|
||||
3: this.$t('inquiry')
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
|
||||
@@ -509,7 +509,6 @@
|
||||
distributionEngineerList: this.distributionEngineerList
|
||||
}
|
||||
postAction(this.url.DetailEOAdd, query).then((res) => {
|
||||
if (res.success) {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.getList()
|
||||
@@ -517,9 +516,8 @@
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
feedbackData(url, Action) {
|
||||
|
||||
@@ -93,11 +93,12 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text-fq">
|
||||
<span class="Required" v-if="this.$route.query.isDisplay">*</span>
|
||||
<!-- <span class="Required" v-if="this.$route.query.isDisplay">*</span>-->
|
||||
<span class="title-text-text"
|
||||
:title="$t('Deliverables')">{{$t('Deliverables')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="!this.$route.query.isDisplay?'':'fileId'">
|
||||
<!-- :prop="!this.$route.query.isDisplay?'':'fileId'"-->
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('fileId')">
|
||||
{{ (formInline.fileId === 'null' || formInline.fileId === '' ||
|
||||
|
||||
@@ -195,17 +195,17 @@
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
if (this.$route.query.taskDefinitionKey == 'zrrjsrw' || this.$route.query.taskDefinitionKey == 'zrrqr') {
|
||||
if (value.flag == 0) {
|
||||
if (this.queryProject.verifyRemark) {
|
||||
if (this.queryProject.verifyDeliverableType) {
|
||||
this.startProcessDesign(this.queryBy, 4)
|
||||
}
|
||||
if (this.queryProject.prehomoRemark) {
|
||||
if (this.queryProject.prehomoDeliverableType) {
|
||||
this.startProcessDesign(this.queryBy, 3)
|
||||
}
|
||||
if (this.queryProject.designRemark) {
|
||||
if (this.queryProject.designDeliverableType) {
|
||||
this.startProcessDesign(this.queryBy, 2)
|
||||
}
|
||||
if (!this.queryProject.verifyRemark && !this.queryProject.prehomoRemark &&
|
||||
!this.queryProject.designRemark) {
|
||||
if (!this.queryProject.verifyDeliverableType && !this.queryProject.prehomoDeliverableType &&
|
||||
!this.queryProject.designDeliverableType) {
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
window.close()
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<a-icon type="safety-certificate"/>
|
||||
{{$t('nonConformance')}}
|
||||
</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')"
|
||||
@click="textClick(4,$t('TaskParameterCollection'))">
|
||||
<a-icon type="profile"/>
|
||||
@@ -80,7 +80,7 @@
|
||||
@click="textClick(3,$t('nonConformance'))">
|
||||
<a-icon type="safety-certificate"/>
|
||||
</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')"
|
||||
@click="textClick(4,$t('TaskParameterCollection'))">
|
||||
<a-icon type="profile"/>
|
||||
@@ -90,7 +90,8 @@
|
||||
<div class="Virtual-detail-right"
|
||||
:style="{'width':isDisplay?'calc(100% - 240px)':'calc(100% - 66px)'}">
|
||||
<ProjectDetailsName @TaskListChange="TaskListChange" v-if="textTitle === $t('projectDetails')"/>
|
||||
<listOfRegulations v-else-if="textTitle === $t('listOfRegulations')"/>
|
||||
<listOfRegulations v-else-if="textTitle === $t('listOfRegulations')"
|
||||
:areaOfResponsibilityList="areaOfResponsibilityList"/>
|
||||
<TaskList :isDisplayNum="isDisplayNum" :areaOfResponsibility="areaOfResponsibility"
|
||||
v-else-if="textTitle === $t('taskList')"/>
|
||||
<TaskParameterCollection v-else-if="textTitle === $t('TaskParameterCollection')"/>
|
||||
@@ -137,7 +138,7 @@
|
||||
isTrue: true,
|
||||
loading: false,
|
||||
isDisplay: true,
|
||||
|
||||
areaOfResponsibilityList:{},
|
||||
url: {
|
||||
logList: '/project/projectLawsInventoryLogEO/page',
|
||||
historicalVersionUrl: '',
|
||||
@@ -216,6 +217,8 @@
|
||||
}
|
||||
},
|
||||
textClick(num, name) {
|
||||
this.areaOfResponsibilityList = {}
|
||||
this.areaOfResponsibility = {}
|
||||
this.textTitle = name
|
||||
let textColor = document.getElementsByClassName('Virtual-detail-left-text-color')
|
||||
if (textColor && textColor.length > 0) {
|
||||
@@ -286,15 +289,20 @@
|
||||
})
|
||||
},
|
||||
TaskListChange(item) {
|
||||
this.areaOfResponsibility = item
|
||||
this.textTitle = this.$t('taskList')
|
||||
if (item.isListing && item.isListing == '1'){
|
||||
this.areaOfResponsibilityList = item
|
||||
this.textTitle = this.$t('listOfRegulations')
|
||||
}else{
|
||||
this.areaOfResponsibility = item
|
||||
this.textTitle = this.$t('taskList')
|
||||
}
|
||||
let textColor = document.getElementsByClassName('Virtual-detail-left-text-color')
|
||||
if (textColor && textColor.length > 0) {
|
||||
textColor[0].classList.remove('Virtual-detail-left-text-color')
|
||||
}
|
||||
let text = document.getElementsByClassName('Virtual-detail-left-text')
|
||||
for (let i = 0; i < text.length; i++) {
|
||||
if (text[i].title == this.$t('taskList')) {
|
||||
if (text[i].title == this.textTitle) {
|
||||
text[i].classList.add('Virtual-detail-left-text-color')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,6 +130,11 @@
|
||||
<a-icon type="plus"/>
|
||||
{{$t('referenceparameter')}}
|
||||
</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"'>
|
||||
<a-icon type="check-circle"/>
|
||||
@@ -157,14 +162,17 @@
|
||||
<div style="width: 100%">
|
||||
<!-- 表格-10控件-->
|
||||
<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'/>
|
||||
</div>
|
||||
</a-card>
|
||||
</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'
|
||||
@GetgetTableList='GetgetTableList'/>
|
||||
</a-modal>
|
||||
@@ -303,39 +311,39 @@
|
||||
'{{$t('CollectionInitiated')}}'、'{{$t('ReturnedPerson')}}'{{$t('or')}}'{{$t('alteration')}}'
|
||||
</span>
|
||||
<!-- 同步上报库-->
|
||||
<span v-if='jurisdiction === "HOMOTBSBK"'>
|
||||
<span v-else-if='jurisdiction === "HOMOTBSBK"'>
|
||||
'{{$t('Submitted')}}'{{$t('or')}}'{{$t('alteration')}}'
|
||||
</span>
|
||||
<!-- 截止时间-->
|
||||
<span v-if='jurisdiction === "HOMOJZSJ"'>
|
||||
<span v-else-if='jurisdiction === "HOMOJZSJ"'>
|
||||
'{{$t('CollectionInitiated')}}'
|
||||
</span>
|
||||
<!-- 分配填写人 -->
|
||||
<span v-if='jurisdiction === "SDTFPTXR"'>
|
||||
<span v-else-if='jurisdiction === "SDTFPTXR"'>
|
||||
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
|
||||
</span>
|
||||
<!-- 引用参数-->
|
||||
<span v-if='jurisdiction === "DREYYCS"'>
|
||||
<span v-else-if='jurisdiction === "DREYYCS"'>
|
||||
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
|
||||
</span>
|
||||
<!-- 退回-->
|
||||
<span v-if='jurisdiction === "homoTH"'>
|
||||
<span v-else-if='jurisdiction === "homoTH"'>
|
||||
{{$t('Submitted')}}
|
||||
</span>
|
||||
<span v-if='jurisdiction === "sdtTH"'>
|
||||
<span v-else-if='jurisdiction === "sdtTH"'>
|
||||
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
|
||||
</span>
|
||||
<span v-if='jurisdiction === "dreTH"'>
|
||||
<span v-else-if='jurisdiction === "dreTH"'>
|
||||
'{{$t('completed')}}'{{$t('or')}}'{{$t('ReturnedEngineer')}}'
|
||||
</span>
|
||||
<!-- 强制撤回-->
|
||||
<span v-if='jurisdiction === "homoQZTH"'>
|
||||
<span v-else-if='jurisdiction === "homoQZTH"'>
|
||||
'{{$t('handledInterface')}}'{{$t('or')}}'{{$t('Filledreturn')}}'
|
||||
</span>
|
||||
<span v-if='jurisdiction === "sdtQZTH"'>
|
||||
<span v-else-if='jurisdiction === "sdtQZTH"'>
|
||||
{{$t('completed')}}
|
||||
</span>
|
||||
<span v-if='jurisdiction === "dreQZTH"'>
|
||||
<span v-else-if='jurisdiction === "dreQZTH"'>
|
||||
{{$t('Submitted')}}
|
||||
</span>
|
||||
{{$t('timeoperation')}}
|
||||
@@ -363,6 +371,7 @@
|
||||
import axios from 'axios'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import Vue from 'vue'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'ParameterItemCollectionList',
|
||||
@@ -502,18 +511,44 @@
|
||||
},
|
||||
mounted() {
|
||||
this.GetgetLoginUserType()
|
||||
setTimeout(() => {
|
||||
if (this.currentPersonRole == 'dre') {
|
||||
this.handlePreservation()
|
||||
}
|
||||
}, 10000)
|
||||
this.paramsManifest = JSON.parse(localStorage.getItem('paramsManifest'))
|
||||
document.title = `${this.paramsManifest.title}-` + this.$t('ParameteItemCollectionList')
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
handleCancelRoleSwitching() {
|
||||
this.visibleRoleSwitching = false
|
||||
},
|
||||
handleOkRoleSwitching() {
|
||||
this.visibleRoleSwitching = false
|
||||
this.currentPersonRole = this.formInlineRoleSwitching.roleSwitchingCode
|
||||
localStorage.setItem('currentPersonRole', JSON.stringify(this.formInlineRoleSwitching.roleSwitchingCode))
|
||||
this.selectedRowKeysValue = []
|
||||
this.$refs.ruleFormRoleSwitching.validate(valid => {
|
||||
if (valid) {
|
||||
let query = {
|
||||
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() {
|
||||
this.visibleRoleSwitching = true
|
||||
@@ -792,13 +827,13 @@
|
||||
}
|
||||
return flag
|
||||
},
|
||||
LoginUserType(val, currentPersonRole) {
|
||||
LoginUserType(val, currentPersonRole, userType) {
|
||||
this.RoleType = []
|
||||
if (this.currentPersonRole == '') {
|
||||
this.currentPersonRole = val.length >= 1 ? val[0].value : ''
|
||||
this.currentPersonRole = currentPersonRole || userType || val[0].value
|
||||
}
|
||||
this.RoleType = val
|
||||
this.formInlineRoleSwitching.roleSwitchingCode = currentPersonRole || val[0].value
|
||||
this.formInlineRoleSwitching.roleSwitchingCode = currentPersonRole || userType || val[0].value
|
||||
this.formInlineRoleSwitching = { ...this.formInlineRoleSwitching }
|
||||
},
|
||||
// 表格所选中得行内容
|
||||
@@ -843,12 +878,12 @@
|
||||
.then((res) => {
|
||||
if (res.data.success) {
|
||||
this.textLoading = false
|
||||
_this.$message.success(res.data.result)
|
||||
_this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.areaVisibleFreeze = false
|
||||
this.$refs.CollectionTabel.getTableList()
|
||||
} else {
|
||||
this.textLoading = false
|
||||
_this.$message.warning(res.data.result)
|
||||
_this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -954,6 +989,7 @@
|
||||
} else if (homoJurisdictionSynchronousLibrary == 0) {
|
||||
this.visibleoperationFailed = true
|
||||
this.jurisdiction = 'HOMOTBSBK'
|
||||
this.NoEngineer = 1
|
||||
}
|
||||
},
|
||||
// 同步上报库
|
||||
@@ -969,41 +1005,103 @@
|
||||
handleSubmit() {
|
||||
// 填写人 权限
|
||||
let dreJurisdictionSubmit = this.dreJurisdictionSubmit()
|
||||
console.log(dreJurisdictionSubmit)
|
||||
if (dreJurisdictionSubmit == 1) {
|
||||
this.ishandleSubmit()
|
||||
} else if (dreJurisdictionSubmit == 0) {
|
||||
this.visibleoperationFailed = true
|
||||
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() {
|
||||
let _this = this
|
||||
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 itemIn = Object.keys(this.selectedRowKeysValue[i])
|
||||
let itemIn = Object.keys(selectedRowKeysValue[i])
|
||||
for (let j = 0; j < itemIn.length; j++) {
|
||||
if (itemIn[j] !== 'sdt') {
|
||||
if (this.selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(this.selectedRowKeysValue[i][itemIn[j]] instanceof Array)) {
|
||||
postDateobj[itemIn[j]] = this.selectedRowKeysValue[i][itemIn[j]]
|
||||
for (let k = 0; k < this.selectedRowKeysValue[i][itemIn[j]].list.length; k++) {
|
||||
if (this.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(',')
|
||||
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 (this.selectedRowKeysValue[i][itemIn[j]].list[k].type == 'text' && this.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()
|
||||
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()
|
||||
}
|
||||
if (!this.selectedRowKeysValue[i][itemIn[j]].list[k].dataValue && this.selectedRowKeysValue[i][itemIn[j]].list[k].isMust == '1'
|
||||
&& this.selectedRowKeysValue[i][itemIn[j]].list[k].isLock == '0') {
|
||||
this.$message.warning(this.selectedRowKeysValue[i].nioNumber + ',' + this.$t('requiredParametersEmpty'))
|
||||
if (!selectedRowKeysValue[i][itemIn[j]].list[k].dataValue && selectedRowKeysValue[i][itemIn[j]].list[k].isMust == '1'
|
||||
&& selectedRowKeysValue[i][itemIn[j]].list[k].isLock == '0') {
|
||||
this.$message.warning(selectedRowKeysValue[i].nioNumber + ',' + this.$t('requiredParametersEmpty'))
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
postDateobj.id = this.selectedRowKeysValue[i].id
|
||||
postDateobj.id = selectedRowKeysValue[i].id
|
||||
postDate.push(postDateobj)
|
||||
}
|
||||
|
||||
@@ -1045,6 +1143,7 @@
|
||||
})
|
||||
let _this = this
|
||||
let param = { ids: _array.join(',') }
|
||||
this.textLoading = true
|
||||
axios({
|
||||
url: '/jero-boot/params/collectManifest/back',
|
||||
method: 'post',
|
||||
@@ -1063,14 +1162,17 @@
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.success) {
|
||||
this.textLoading = false
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.GetgetTableList()
|
||||
_this.selectedRowKeysValue = []
|
||||
} else {
|
||||
this.textLoading = false
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
this.textLoading = false
|
||||
})
|
||||
},
|
||||
// 强制撤回权限
|
||||
@@ -1090,6 +1192,7 @@
|
||||
})
|
||||
let _this = this
|
||||
let param = { ids: _array.join(',') }
|
||||
this.textLoading = true
|
||||
axios({
|
||||
url: '/jero-boot/params/collectManifest/withdraw',
|
||||
method: 'post',
|
||||
@@ -1108,14 +1211,17 @@
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.success) {
|
||||
this.textLoading = false
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.GetgetTableList()
|
||||
_this.selectedRowKeysValue = []
|
||||
} else {
|
||||
this.textLoading = false
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
this.textLoading = false
|
||||
})
|
||||
},
|
||||
// 分配填写人
|
||||
@@ -1192,6 +1298,7 @@
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmBatchDeletion'),
|
||||
onOk() {
|
||||
_this.textLoading = true
|
||||
axios({
|
||||
url: '/jero-boot/params/collectManifest/deleteBatch',
|
||||
method: 'post',
|
||||
@@ -1214,11 +1321,14 @@
|
||||
_this.selectedRowKeys = []
|
||||
_this.$refs.CollectionTabel.getData()
|
||||
_this.$refs.CollectionTabel.getTableList()
|
||||
_this.textLoading = false
|
||||
} else {
|
||||
_this.textLoading = false
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
_this.textLoading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
@@ -321,6 +321,7 @@
|
||||
DueDate: 'designDueDate',
|
||||
remarks: 'designRemark',
|
||||
projectName: this.$route.query.projectName,
|
||||
targetMarket:this.$route.query.targetMarket,
|
||||
projectNameId: this.$route.query.projectNameId,
|
||||
primaryKeyId: val.designTaskDetailId,
|
||||
PersonChargeFeedback: val.designPersonChargeFeedback
|
||||
@@ -345,6 +346,7 @@
|
||||
DueDate: 'prehomoDueDate',
|
||||
remarks: 'prehomoRemark',
|
||||
projectName: this.$route.query.projectName,
|
||||
targetMarket:this.$route.query.targetMarket,
|
||||
projectNameId: this.$route.query.projectNameId,
|
||||
primaryKeyId: val.prehomoTaskDetailId,
|
||||
PersonChargeFeedback: val.prehomoPersonChargeFeedback
|
||||
@@ -369,6 +371,7 @@
|
||||
DueDate: 'verifyDueDate',
|
||||
remarks: 'verifyRemark',
|
||||
projectName: this.$route.query.projectName,
|
||||
targetMarket:this.$route.query.targetMarket,
|
||||
projectNameId: this.$route.query.projectNameId,
|
||||
primaryKeyId: val.verifyTaskDetailId,
|
||||
PersonChargeFeedback: val.verifyPersonChargeFeedback
|
||||
|
||||
@@ -22,19 +22,19 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<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"/>
|
||||
{{$t('addDetailList')}}
|
||||
</div>
|
||||
<div @click="handleModule" class="operator-text">
|
||||
<div @click="handleModule" class="operator-text" v-has="'params:manifest:change'">
|
||||
<a-icon type="bulb"/>
|
||||
{{$t('changeExtension')}}
|
||||
</div>
|
||||
<div @click="handleCody" class="operator-text">
|
||||
<div @click="handleCody" class="operator-text" v-has="'params:manifest:copy'">
|
||||
<a-icon type="copy"/>
|
||||
{{$t('copyParamDetailList')}}
|
||||
</div>
|
||||
<div @click="handleDel" class="operator-text">
|
||||
<div @click="handleDel" class="operator-text" v-has="'params:manifest:deleteBatch'">
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
@@ -63,10 +63,11 @@
|
||||
</span>
|
||||
</span>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="configure(record)">{{$t('configure')}}</a>
|
||||
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
|
||||
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
|
||||
<a class="text-operation" @click="historicalVersion(record)">{{$t('historicalVersion')}}</a>
|
||||
<a class="text-operation" @click="configure(record)" v-has="'params:config:list'">{{$t('configure')}}</a>
|
||||
<a class="text-operation" @click="edit(record)" v-has="'params:manifest:edit'">{{$t('edit')}}</a>
|
||||
<a class="text-operation" @click="deleteLib(record)"
|
||||
v-has="'params:manifest:delete'">{{$t('deleteLib')}}</a>
|
||||
<a class="text-operation" @click="historicalVersion(record)" v-has="'params:manifest:history'">{{$t('historicalVersion')}}</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
@@ -114,6 +115,7 @@
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import eventBUs from '@/common/event'
|
||||
import store from '@/store/'
|
||||
|
||||
export default {
|
||||
name: 'TaskParameterCollection',
|
||||
@@ -198,7 +200,8 @@
|
||||
conAdd: 'params/config/addBatch',
|
||||
conList: 'params/config/list',
|
||||
changeExtension: 'params/manifest/changeExtension',
|
||||
verifyConfig: 'params/manifest/verifyConfig'
|
||||
verifyConfig: 'params/manifest/verifyConfig',
|
||||
configurelist: 'params/manifest/getConfigFlag'
|
||||
},
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
@@ -214,6 +217,7 @@
|
||||
version: 0,
|
||||
itemId: '', // 配置id
|
||||
itemRow: {}, // 配置一行数据
|
||||
configFlag: '',
|
||||
historicalVisible: false,
|
||||
historicalRow: {}, // 历史版本得数据
|
||||
drawerVisible: false,
|
||||
@@ -222,6 +226,22 @@
|
||||
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() {
|
||||
this.getlist()
|
||||
},
|
||||
@@ -238,7 +258,7 @@
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
} else {
|
||||
_this.$message.success(_this.$t('NoConfigurationNotStart'))
|
||||
_this.$message.warning(_this.$t('NoConfigurationNotStart'))
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -274,7 +294,7 @@
|
||||
configure(item) {
|
||||
this.itemId = item.id
|
||||
this.itemRow = item
|
||||
this.$refs.configureRef.addModel(item.id)
|
||||
this.$refs.configureRef.addModel(item.id, item)
|
||||
},
|
||||
handleCancel(val) {
|
||||
this.areaVisible = val
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="subtitle">
|
||||
<a-input class="box-input"
|
||||
:disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
v-model="formInline.subtitle"
|
||||
:placeholder="$t('PleaseEnter')+$t('subtitle')"/>
|
||||
</a-form-model-item>
|
||||
@@ -55,86 +55,100 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="'WVTA ID'">WVTA ID</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('applicableSupplement')">{{$t('applicableSupplement')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="wvtaId">
|
||||
<a-form-model-item class="itemModel" prop="applicableSupplement">
|
||||
<a-input class="box-input"
|
||||
:disabled="false"
|
||||
v-model="formInline.wvtaId"
|
||||
:placeholder="$t('PleaseEnter')+'WVTA ID'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('correspondingStandard')">{{$t('correspondingStandard')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'correspondingStandard'">
|
||||
<a-input class="box-input"
|
||||
:disabled="true"
|
||||
v-model="formInline.correspondingStandard"
|
||||
:placeholder="$t('PleaseEnter')+$t('correspondingStandard')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('implementationCategory')">{{$t('implementationCategory')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="implementType">
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.implementType"
|
||||
:disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"
|
||||
@input="handleInput('implementType')"
|
||||
:placeholder="$t('PleaseSelect')+$t('implementationCategory')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'implement_type'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('vehicleInProductionDate')">{{$t('vehicleInProductionDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'implementTime'">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('vehicleInProductionDate')"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
@change="dateChange({db_field_name:'implementTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
v-model="formInline.implementTime"
|
||||
:disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('ImplementationDate')">{{$t('ImplementationDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-date-picker class="box-input"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
:placeholder="$t('PleaseSelect')+$t('ImplementationDate')"
|
||||
@change="dateChange({db_field_name:'xin1Che1Xing2Shi2Shi1Ri4Qi1'})"
|
||||
format="YYYY-MM-DD"
|
||||
v-model="formInline.xin1Che1Xing2Shi2Shi1Ri4Qi1"
|
||||
:disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"
|
||||
style="width: 100%"/>
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
v-model="formInline.applicableSupplement"
|
||||
:placeholder="$t('PleaseEnter')+$t('applicableSupplement')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text" :title="'WVTA ID'">WVTA ID</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="wvtaId">-->
|
||||
<!-- <a-input class="box-input"-->
|
||||
<!-- :disabled="false"-->
|
||||
<!-- v-model="formInline.wvtaId"-->
|
||||
<!-- :placeholder="$t('PleaseEnter')+'WVTA ID'"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
</a-row>
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('correspondingStandard')">{{$t('correspondingStandard')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" :prop="'correspondingStandard'">-->
|
||||
<!-- <a-input class="box-input"-->
|
||||
<!-- :disabled="true"-->
|
||||
<!-- v-model="formInline.correspondingStandard"-->
|
||||
<!-- :placeholder="$t('PleaseEnter')+$t('correspondingStandard')"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('implementationCategory')">{{$t('implementationCategory')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="implementType">-->
|
||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.implementType"-->
|
||||
<!-- :disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"-->
|
||||
<!-- @input="handleInput('implementType')"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('implementationCategory')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'implement_type'"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('vehicleInProductionDate')">{{$t('vehicleInProductionDate')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" :prop="'implementTime'">-->
|
||||
<!-- <a-date-picker class="box-input"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('vehicleInProductionDate')"-->
|
||||
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
|
||||
<!-- @change="dateChange({db_field_name:'implementTime'})"-->
|
||||
<!-- format="YYYY-MM-DD"-->
|
||||
<!-- v-model="formInline.implementTime"-->
|
||||
<!-- :disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"-->
|
||||
<!-- style="width: 100%"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text" :title="$t('ImplementationDate')">{{$t('ImplementationDate')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel">-->
|
||||
<!-- <a-date-picker class="box-input"-->
|
||||
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('ImplementationDate')"-->
|
||||
<!-- @change="dateChange({db_field_name:'xin1Che1Xing2Shi2Shi1Ri4Qi1'})"-->
|
||||
<!-- format="YYYY-MM-DD"-->
|
||||
<!-- v-model="formInline.xin1Che1Xing2Shi2Shi1Ri4Qi1"-->
|
||||
<!-- :disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"-->
|
||||
<!-- style="width: 100%"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
@@ -144,7 +158,8 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi" prop="attestationType">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.attestationType"
|
||||
:disabled="formInline.roleCode == 0 || formInline.roleCode == 2 ? false : true"
|
||||
:disabled="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.homologationEngineerId == userInfoQuery.id) ? false : true"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationType')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'attestation_type'"/>
|
||||
@@ -154,13 +169,14 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.roleCode == 0">*</span>
|
||||
<span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('certificationLevel')">{{$t('certificationLevel')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi" prop="attestationRank">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.attestationRank"
|
||||
:disabled="formInline.roleCode == 0 || formInline.roleCode == 2 ? false : true"
|
||||
:disabled="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.homologationEngineerId == userInfoQuery.id) ? false : true"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationLevel')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'attestation_rank'"/>
|
||||
@@ -172,24 +188,24 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.roleCode == 0">*</span>
|
||||
<span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi" prop="dutyTerritory">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
@change="dutyTerritoryChange"
|
||||
:disabled="formInline.roleCode == 0 ? false : true"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-col :span="12" v-if="formInline.roleCodeIndex == 0">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.roleCode == 0">*</span>
|
||||
<span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>
|
||||
<span class="title-text-text" :title="$t('regulatoryEngineer')">{{$t('regulatoryEngineer')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'regulationOwnerId'">
|
||||
@@ -197,7 +213,7 @@
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
:disabled="formInline.roleCode == 0 ? false : true"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
v-model="formInline.regulationOwnerId">
|
||||
<a-select-option v-for="(item, key) in regulatoryEngineerList"
|
||||
:key="key"
|
||||
@@ -211,11 +227,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.roleCode == 0">*</span>
|
||||
<span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>
|
||||
<span class="title-text-text" :title="$t('certifiedEngineer')">{{$t('certifiedEngineer')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'homologationEngineerId'">
|
||||
@@ -223,7 +239,7 @@
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:disabled="formInline.roleCode == 0 ? false : true"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
v-model="formInline.homologationEngineerId">
|
||||
<a-select-option v-for="(item, key) in certificationEngineerList"
|
||||
:key="key"
|
||||
@@ -239,7 +255,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.roleCode == 0">*</span>
|
||||
<span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>
|
||||
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'engineeringInterfacePerson'">
|
||||
@@ -247,7 +263,7 @@
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:disabled="formInline.roleCode == 0 ? false : true"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
v-model="formInline.engineeringInterfacePerson">
|
||||
<a-select-option v-for="(item, key) in engineeringInterfacePersonList"
|
||||
:key="key"
|
||||
@@ -262,58 +278,52 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi" prop="region">
|
||||
<!-- <a-input class="box-input"-->
|
||||
<!-- :disabled="true"-->
|
||||
<!-- v-model="formInline.region_dictText"/>-->
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.region"
|
||||
:placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('applicableSupplement')">{{$t('applicableSupplement')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="applicableSupplement">
|
||||
<a-input class="box-input"
|
||||
:disabled="false"
|
||||
v-model="formInline.applicableSupplement"
|
||||
:placeholder="$t('PleaseEnter')+$t('applicableSupplement')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-multi" prop="region">-->
|
||||
<!-- <!– <a-input class="box-input"–>-->
|
||||
<!-- <!– :disabled="true"–>-->
|
||||
<!-- <!– v-model="formInline.region_dictText"/>–>-->
|
||||
<!-- <j-multi-select-tag class="box-input" v-model="formInline.region"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'region'"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-text" :prop="'remarks'">
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
||||
:disabled="false"
|
||||
v-model="formInline.remark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="header-text">
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="24">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-text" :prop="'remarks'">-->
|
||||
<!-- <a-textarea-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- :placeholder="$t('PleaseEnter')+$t('remarks')"-->
|
||||
<!-- :disabled="false"-->
|
||||
<!-- v-model="formInline.remark" :rows="4"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
{{$t('confirmationOfDesignConformity')}}
|
||||
</div>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -325,7 +335,6 @@
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.designDeliverableType"
|
||||
:maxTagCount="1"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.designDeliverableType ? true : false"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
@@ -349,7 +358,6 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="designDeliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.designDeliverableType ? true : false"
|
||||
@click="clickButtonToUpload('designDeliverableTemplate')">
|
||||
{{ (formInline.designDeliverableTemplate === 'null' || formInline.designDeliverableTemplate === '' ||
|
||||
formInline.designDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
@@ -359,7 +367,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -368,7 +380,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="designInitiatorId">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"
|
||||
:disabled="designInitiatorDisabled"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
allowClear
|
||||
@@ -398,7 +410,6 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="designDutyId">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"
|
||||
:disabled="designDutyIdDisabled"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
allowClear
|
||||
@@ -421,7 +432,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -435,13 +450,16 @@
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.designDueDate"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.designDueDate ? true : false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -452,16 +470,23 @@
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.designRemark ? true : false"
|
||||
v-model="formInline.designRemark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="header-text">
|
||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
{{$t('PrehomoConfirmation')}}
|
||||
</div>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -473,7 +498,6 @@
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.prehomoDeliverableType"
|
||||
:maxTagCount="1"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDeliverableType ? true : false"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
@@ -498,7 +522,6 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoDeliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDeliverableType ? true : false"
|
||||
@click="clickButtonToUpload('prehomoDeliverableTemplate')">
|
||||
{{ (formInline.prehomoDeliverableTemplate === 'null' || formInline.prehomoDeliverableTemplate === ''
|
||||
||
|
||||
@@ -509,7 +532,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -518,7 +545,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoInitiatorId">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"
|
||||
:disabled="prehomoInitiatorIdDisabled"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
@@ -551,7 +578,6 @@
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:disabled="prehomoDutyIdDisabled"
|
||||
v-model="formInline.prehomoDutyId">
|
||||
<a-select-option v-for="(item, key) in prehomoDutyList"
|
||||
:key="key"
|
||||
@@ -571,7 +597,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -585,13 +615,16 @@
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.prehomoDueDate"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDueDate ? true : false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -602,16 +635,23 @@
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoRemark ? true : false"
|
||||
v-model="formInline.prehomoRemark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="header-text">
|
||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
{{$t('verificationAndConformityconfirmation')}}
|
||||
</div>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -623,7 +663,6 @@
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.verifyDeliverableType"
|
||||
:maxTagCount="1"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.verifyDeliverableType ? true : false"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
@@ -648,7 +687,6 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="verifyDeliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.verifyDeliverableType ? true : false"
|
||||
@click="clickButtonToUpload('verifyDeliverableTemplate')">
|
||||
{{ (formInline.verifyDeliverableTemplate === 'null' || formInline.verifyDeliverableTemplate === '' ||
|
||||
formInline.verifyDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
@@ -658,7 +696,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -670,7 +712,7 @@
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:disabled="verifyInitiatorIdDisabled"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
v-model="formInline.verifyInitiatorId">
|
||||
<a-select-option v-for="(item, key) in verifyInitiatorList"
|
||||
:key="key"
|
||||
@@ -700,7 +742,6 @@
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:disabled="verifyDutyIdDisabled"
|
||||
v-model="formInline.verifyDutyId">
|
||||
<a-select-option v-for="(item, key) in verifyDutyList"
|
||||
:key="key"
|
||||
@@ -720,7 +761,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -734,13 +779,16 @@
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.verifyDueDate"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.verifyDueDate ? true : false"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -751,7 +799,6 @@
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.verifyRemark ? true : false"
|
||||
v-model="formInline.verifyRemark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -773,6 +820,7 @@
|
||||
import { getAction, postAction, putAction } from '@/api/manage'
|
||||
import uploadFile from '@/components/uploadFile/file'
|
||||
import moment from 'moment'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'listEditModel',
|
||||
@@ -855,13 +903,16 @@
|
||||
prehomoDutyIdDisabled: false,
|
||||
verifyDutyIdDisabled: false,
|
||||
verifyInitiatorIdDisabled: false,
|
||||
DeliverableTreeList: []
|
||||
DeliverableTreeList: [],
|
||||
userInfoQuery:{},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getDeliverableTree()
|
||||
this.userInfoQuery = this.userInfo()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
getDeliverableTree() {
|
||||
getAction('/sys/category/getDeliverableTree', {}).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -908,36 +959,22 @@
|
||||
})
|
||||
},
|
||||
getDis(val) {
|
||||
if (val.taskAffirmStatus != 'Not started' && !val.designInitiatorId) {
|
||||
if (val.taskAffirmStatus != 'Not started') {
|
||||
this.designInitiatorDisabled = true
|
||||
} else if (val.roleCode == 0) {
|
||||
this.designInitiatorDisabled = false
|
||||
} else {
|
||||
this.designInitiatorDisabled = true
|
||||
}
|
||||
if (val.taskAffirmStatus != 'Not started' && !val.designDutyId) {
|
||||
this.designDutyIdDisabled = true
|
||||
} else if (val.roleCode == 0) {
|
||||
this.designDutyIdDisabled = false
|
||||
} else {
|
||||
this.designDutyIdDisabled = true
|
||||
}
|
||||
if (val.taskAffirmStatus != 'Not started' && !val.prehomoInitiatorId) {
|
||||
if (val.taskAffirmStatus != 'Not started') {
|
||||
this.prehomoInitiatorIdDisabled = true
|
||||
} else if (val.roleCode == 0) {
|
||||
this.prehomoInitiatorIdDisabled = false
|
||||
} else {
|
||||
this.prehomoInitiatorIdDisabled = true
|
||||
}
|
||||
if (val.taskAffirmStatus != 'Not started' && !val.prehomoDutyId) {
|
||||
this.prehomoDutyIdDisabled = true
|
||||
} else if (val.roleCode == 0) {
|
||||
this.prehomoDutyIdDisabled = false
|
||||
} else {
|
||||
this.prehomoDutyIdDisabled = true
|
||||
}
|
||||
|
||||
if (val.taskAffirmStatus != 'Not started' && !val.verifyDutyId) {
|
||||
if (val.taskAffirmStatus != 'Not started') {
|
||||
this.verifyDutyIdDisabled = true
|
||||
} else if (val.roleCode == 0) {
|
||||
this.verifyDutyIdDisabled = false
|
||||
@@ -945,13 +982,6 @@
|
||||
this.verifyDutyIdDisabled = true
|
||||
}
|
||||
|
||||
if (val.taskAffirmStatus != 'Not started' && !val.verifyInitiatorId) {
|
||||
this.verifyInitiatorIdDisabled = true
|
||||
} else if (val.roleCode == 0) {
|
||||
this.verifyInitiatorIdDisabled = false
|
||||
} else {
|
||||
this.verifyInitiatorIdDisabled = true
|
||||
}
|
||||
},
|
||||
getProject(row, res, callback) {
|
||||
//设计符合性确认-发起人
|
||||
|
||||
@@ -161,7 +161,11 @@
|
||||
>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation"
|
||||
v-if="(record.inventoryAffirmStatus == 'List to confirm' && (record.roleCode == 1 || record.roleCode == 2 || record.roleCode == 4)) || record.roleCode == 0"
|
||||
v-if="(record.inventoryAffirmStatus == 'List to confirm' &&
|
||||
((record.roleCode == 1 && !record.regulationOwnerSubmitStatus) ||
|
||||
(record.roleCode == 2 && !record.homologationEngineerSubmitStatus) ||
|
||||
(record.roleCode == 4 && !record.regulationOwnerSubmitStatus && !record.homologationEngineerSubmitStatus)))
|
||||
|| record.roleCode == 0"
|
||||
@click="edit(record)">
|
||||
{{ $t('edit') }}
|
||||
</a>
|
||||
@@ -383,6 +387,7 @@
|
||||
|
||||
export default {
|
||||
name: 'listOfRegulations',
|
||||
props:['areaOfResponsibilityList'],
|
||||
components: {
|
||||
ImportFile,
|
||||
listAddModel,
|
||||
@@ -826,7 +831,61 @@
|
||||
value: 'engineeringInterfacePerson',
|
||||
valueName: 'engineeringInterfacePersonName',
|
||||
text: this.$t('engineeringInterfacePerson')
|
||||
}
|
||||
},
|
||||
{
|
||||
type: '',
|
||||
value: 'inventoryAffirmStatus',
|
||||
text: this.$t('listConfirmationStatus'),
|
||||
options:[
|
||||
{
|
||||
value:'Not started',
|
||||
key:'Not started',
|
||||
label:this.$t('notLaunch'),
|
||||
},
|
||||
{
|
||||
value:'List to confirm',
|
||||
key:'List to confirm',
|
||||
label:this.$t('toBeConfirmed'),
|
||||
},
|
||||
{
|
||||
value:'Accepted',
|
||||
key:'Accepted',
|
||||
label:this.$t('accept'),
|
||||
},
|
||||
{
|
||||
value:'Rejected',
|
||||
key:'Rejected',
|
||||
label:this.$t('refuse'),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: '',
|
||||
value: 'taskAffirmStatus',
|
||||
text: this.$t('taskAffirmStatus'),
|
||||
options:[
|
||||
{
|
||||
value:'Not started',
|
||||
key:'Not started',
|
||||
label:this.$t('notLaunch'),
|
||||
},
|
||||
{
|
||||
value:'List to confirm',
|
||||
key:'List to confirm',
|
||||
label:this.$t('toBeConfirmed'),
|
||||
},
|
||||
{
|
||||
value:'Accepted',
|
||||
key:'Accepted',
|
||||
label:this.$t('accept'),
|
||||
},
|
||||
{
|
||||
value:'Rejected',
|
||||
key:'Rejected',
|
||||
label:this.$t('refuse'),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
visibleRoleSwitching: false,
|
||||
confirmLoadingRoleSwitching: false,
|
||||
@@ -840,7 +899,9 @@
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
detailedSuccessList: [],
|
||||
detailedWarningList: []
|
||||
}
|
||||
},
|
||||
|
||||
@@ -851,6 +912,9 @@
|
||||
this.getRoleByUserId(() => {
|
||||
this.getAndUserId()
|
||||
})
|
||||
if (this.areaOfResponsibilityList && this.areaOfResponsibilityList.dutyTerritory) {
|
||||
this.queryParam.dutyTerritory = this.areaOfResponsibilityList.dutyTerritory
|
||||
}
|
||||
// } else {
|
||||
// this.isDisplay = false
|
||||
// }
|
||||
@@ -1195,6 +1259,16 @@
|
||||
}
|
||||
},
|
||||
edit(item) {
|
||||
let roleCodeIndex
|
||||
if (this.isDisplay) {
|
||||
roleCodeIndex = 0
|
||||
} else {
|
||||
roleCodeIndex = 4
|
||||
}
|
||||
if (this.formInlineRoleSwitching.roleSwitchingCode == '11' || this.formInlineRoleSwitching.roleSwitchingCode == '12') {
|
||||
roleCodeIndex = 0
|
||||
}
|
||||
item.roleCodeIndex = roleCodeIndex
|
||||
this.$refs.editModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
||||
},
|
||||
deleteLib(val) {
|
||||
@@ -1279,28 +1353,41 @@
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
let isTrue = true
|
||||
this.detailedSuccessList = []
|
||||
this.detailedWarningList = []
|
||||
for (let i = 0; i < this.dataSource.length; i++) {
|
||||
for (let j = 0; j < selectedRowKeys.length; j++) {
|
||||
if (this.dataSource[i].id == selectedRowKeys[j]) {
|
||||
if (this.dataSource[i].inventoryAffirmStatus == 'Not started' || this.dataSource[i].inventoryAffirmStatus == 'Rejected') {
|
||||
if (this.dataSource[i].homologationEngineerId && this.dataSource[i].regulationOwnerId) {
|
||||
isTrue = true
|
||||
this.detailedSuccessList.push(this.dataSource[i])
|
||||
} else {
|
||||
this.$message.warning(this.dataSource[i].serialNumber + this.$t('TheEngineerAndCertification'))
|
||||
isTrue = false
|
||||
return
|
||||
this.detailedWarningList.push( < div > { this.dataSource[i].serialNumber + this.$t('TheEngineerAndCertification') } < /div>)
|
||||
// this.$message.warning(this.dataSource[i].serialNumber + this.$t('TheEngineerAndCertification'))
|
||||
// isTrue = false
|
||||
// return
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseSelectinitiatedOrRejected'))
|
||||
isTrue = false
|
||||
return
|
||||
this.detailedWarningList.push( < div > {this.dataSource[i].serialNumber + ',' + this.$t('pleaseSelectinitiatedOrRejected')} < /div>)
|
||||
// this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseSelectinitiatedOrRejected'))
|
||||
// isTrue = false
|
||||
// return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isTrue) {
|
||||
if (this.detailedSuccessList && this.detailedSuccessList.length > 0) {
|
||||
this.visible = true
|
||||
this.formInline = {}
|
||||
} else {
|
||||
let that = this
|
||||
this.$warning({
|
||||
content: (
|
||||
< div >
|
||||
{ that.detailedWarningList }
|
||||
< /div>
|
||||
)
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
@@ -1313,61 +1400,81 @@
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
let isTrue = true
|
||||
this.TaskSuccessList = []
|
||||
this.TaskWarningList = []
|
||||
let dataList = []
|
||||
for (let i = 0; i < this.dataSource.length; i++) {
|
||||
for (let j = 0; j < selectedRowKeys.length; j++) {
|
||||
if (this.dataSource[i].id == selectedRowKeys[j]) {
|
||||
if ((this.dataSource[i].taskAffirmStatus == 'Not started' || this.dataSource[i].taskAffirmStatus == 'Rejected') &&
|
||||
this.dataSource[i].inventoryAffirmStatus == 'Accepted') {
|
||||
if (this.dataSource[i].engineeringInterfacePerson) {
|
||||
if (this.dataSource[i].verifyRemark) {
|
||||
if (this.dataSource[i].verifyDueDate && this.dataSource[i].verifyDutyId
|
||||
&& this.dataSource[i].verifyInitiatorId) {
|
||||
isTrue = true
|
||||
} else {
|
||||
isTrue = false
|
||||
this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseConformityVerification'))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (this.dataSource[i].prehomoRemark) {
|
||||
if (this.dataSource[i].prehomoDueDate && this.dataSource[i].prehomoDutyId
|
||||
&& this.dataSource[i].prehomoInitiatorId) {
|
||||
isTrue = true
|
||||
} else {
|
||||
isTrue = false
|
||||
this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseConfirmedByPrehomo'))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (this.dataSource[i].designRemark) {
|
||||
if (this.dataSource[i].designDueDate && this.dataSource[i].designDutyId
|
||||
&& this.dataSource[i].designInitiatorId) {
|
||||
isTrue = true
|
||||
} else {
|
||||
isTrue = false
|
||||
this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseDesignConformityConfirmation'))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
isTrue = false
|
||||
this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('theProjectContactEmpty'))
|
||||
return
|
||||
}
|
||||
} else {
|
||||
isTrue = false
|
||||
this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('PleaseTaskConfirmationRejected'))
|
||||
return
|
||||
}
|
||||
dataList.push(this.dataSource[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isTrue) {
|
||||
for (let i = 0; i < dataList.length; i++) {
|
||||
if ((dataList[i].taskAffirmStatus == 'Not started' || dataList.taskAffirmStatus == 'Rejected') &&
|
||||
dataList[i].inventoryAffirmStatus == 'Accepted') {
|
||||
if (dataList[i].engineeringInterfacePerson) {
|
||||
if (dataList[i].verifyDeliverableType) {
|
||||
if (dataList[i].verifyDueDate && dataList[i].verifyDutyId
|
||||
&& dataList[i].verifyInitiatorId) {
|
||||
} else {
|
||||
this.TaskWarningList.push( < div > { dataList[i].serialNumber + this.$t('pleaseConformityVerification') } < /div>)
|
||||
continue
|
||||
// isTrue = false
|
||||
// this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseConformityVerification'))
|
||||
// return
|
||||
}
|
||||
}
|
||||
|
||||
if (dataList[i].prehomoDeliverableType) {
|
||||
if (dataList[i].prehomoDueDate && dataList[i].prehomoDutyId
|
||||
&& dataList[i].prehomoInitiatorId) {
|
||||
} else {
|
||||
this.TaskWarningList.push( < div > { dataList[i].serialNumber + this.$t('pleaseConfirmedByPrehomo') } < /div>)
|
||||
continue
|
||||
// isTrue = false
|
||||
// this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseConfirmedByPrehomo'))
|
||||
// return
|
||||
}
|
||||
}
|
||||
|
||||
if (dataList[i].designDeliverableType) {
|
||||
if (dataList[i].designDueDate && dataList[i].designDutyId
|
||||
&& dataList[i].designInitiatorId) {
|
||||
} else {
|
||||
this.TaskWarningList.push( < div > { dataList[i].serialNumber + this.$t('pleaseDesignConformityConfirmation') } < /div>)
|
||||
continue
|
||||
// isTrue = false
|
||||
// this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseDesignConformityConfirmation'))
|
||||
// return
|
||||
}
|
||||
}
|
||||
this.TaskSuccessList.push(dataList[i])
|
||||
} else {
|
||||
this.TaskWarningList.push( < div > { dataList[i].serialNumber + this.$t('theProjectContactEmpty') } < /div>)
|
||||
// isTrue = false
|
||||
// this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('theProjectContactEmpty'))
|
||||
// return
|
||||
}
|
||||
} else {
|
||||
this.TaskWarningList.push( < div > { dataList[i].serialNumber + this.$t('PleaseTaskConfirmationRejected') } < /div>)
|
||||
// isTrue = false
|
||||
// this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('PleaseTaskConfirmationRejected'))
|
||||
// return
|
||||
}
|
||||
}
|
||||
if (this.TaskSuccessList && this.TaskSuccessList.length > 0) {
|
||||
this.visible = true
|
||||
this.formInline = {}
|
||||
} else {
|
||||
let that = this
|
||||
this.$warning({
|
||||
content: (
|
||||
< div >
|
||||
{ that.TaskWarningList }
|
||||
< /div>
|
||||
)
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
@@ -1377,8 +1484,11 @@
|
||||
handleOk() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
if (this.timeName == '清单') {
|
||||
let selectedRowKeys = []
|
||||
this.detailedSuccessList.forEach(res => {
|
||||
selectedRowKeys.push(res.id)
|
||||
})
|
||||
let query = {
|
||||
operatorType: 0,
|
||||
ids: selectedRowKeys.join(','),
|
||||
@@ -1397,26 +1507,34 @@
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
let that = this
|
||||
if (this.detailedWarningList.length > 0) {
|
||||
this.$warning({
|
||||
content: (
|
||||
< div >
|
||||
{ that.detailedWarningList }
|
||||
< /div>
|
||||
)
|
||||
})
|
||||
}
|
||||
this.detailedSuccessList = []
|
||||
this.detailedWarningList = []
|
||||
})
|
||||
} else {
|
||||
let index = 0
|
||||
for (let i = 0; i < this.dataSource.length; i++) {
|
||||
for (let j = 0; j < selectedRowKeys.length; j++) {
|
||||
if (this.dataSource[i].id == selectedRowKeys[j]) {
|
||||
index++
|
||||
this.dataSource[i].taskAffirmDueDate = this.formInline.taskAffirmDueDate
|
||||
Object.keys(this.dataSource[i]).forEach(res => {
|
||||
if (this.dataSource[i][res] && this.dataSource[i][res] instanceof String) {
|
||||
this.dataSource[i][res] = this.dataSource[i][res].replace(/\"/g, '“')
|
||||
this.dataSource[i][res] = this.dataSource[i][res].replace(/\'/g, '‘')
|
||||
}
|
||||
})
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = true
|
||||
this.startProcess(this.dataSource[i], index)
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < this.TaskSuccessList.length; i++) {
|
||||
((i) => {
|
||||
this.TaskSuccessList[i].taskAffirmDueDate = this.formInline.taskAffirmDueDate
|
||||
Object.keys(this.TaskSuccessList[i]).forEach(res => {
|
||||
if (this.TaskSuccessList[i][res] && this.TaskSuccessList[i][res] instanceof String) {
|
||||
this.TaskSuccessList[i][res] = this.TaskSuccessList[i][res].replace(/\"/g, '“')
|
||||
this.TaskSuccessList[i][res] = this.TaskSuccessList[i][res].replace(/\'/g, '‘')
|
||||
}
|
||||
})
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = true
|
||||
this.startProcess(this.TaskSuccessList[i], (i + 1))
|
||||
}, 500)
|
||||
})(i)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1449,12 +1567,22 @@
|
||||
}
|
||||
postAction('/workFlow/completeTask', query).then((res) => {
|
||||
if (res.success) {
|
||||
if (index == this.selectedRowKeys.length) {
|
||||
if (index == this.TaskSuccessList.length) {
|
||||
this.visible = false
|
||||
this.selectedRowKeys = []
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.confirmLoading = false
|
||||
this.getList()
|
||||
let that = this
|
||||
if (this.TaskWarningList.length > 0) {
|
||||
this.$warning({
|
||||
content: (
|
||||
< div >
|
||||
{ that.TaskWarningList }
|
||||
< /div>
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
|
||||
@@ -92,6 +92,8 @@
|
||||
<PersonnelSelection
|
||||
:query="{db_field_name:'lawEngineer',db_field_txt:$t('regulatoryEngineer')}"
|
||||
:personneQuery="formInline"
|
||||
:isDelete='true'
|
||||
@deleteData='deleteData'
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.lawEngineerName"/>
|
||||
</a-form-model-item>
|
||||
@@ -110,6 +112,8 @@
|
||||
<PersonnelSelection
|
||||
:query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"
|
||||
:personneQuery="formInline"
|
||||
:isDelete='true'
|
||||
@deleteData='deleteData'
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.engineeringInterfacePersonName"/>
|
||||
</a-form-model-item>
|
||||
@@ -317,6 +321,10 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
deleteData(name){
|
||||
this.formInline[name] = ''
|
||||
this.formInline = {...this.formInline}
|
||||
},
|
||||
getData() {
|
||||
this.visible = true
|
||||
this.getList()
|
||||
|
||||
@@ -98,6 +98,9 @@
|
||||
this.visible = false
|
||||
},
|
||||
areaOfResponsibilityClick(item) {
|
||||
if (this.queryParam.operatorType == 'queryListingToConfirmStatistics' || this.queryParam.operatorType == 'queryTaskToConfirmStatistics'){
|
||||
item.isListing = '1'
|
||||
}
|
||||
this.$emit('responsibility', item)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
class='tag-module'
|
||||
ref='ruleForm'
|
||||
:model='formData'
|
||||
:rules='rules'
|
||||
:rules="rules"
|
||||
:label-col='labelCol'
|
||||
:wrapper-col='wrapperCol'
|
||||
>
|
||||
@@ -24,21 +24,57 @@
|
||||
</a-row>
|
||||
<a-row :gutter='24'>
|
||||
<a-col :span='9'>
|
||||
<a-form-model-item ref='region' :label="$t('zoneOfApplication')" prop='region'>
|
||||
<a-form-model-item class='itemModel' prop='region'>
|
||||
<div class="box-title-text" style="margin-left: -58px;">
|
||||
<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'
|
||||
:placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"
|
||||
:type="'select'"
|
||||
:title="$t('PleaseSelect')+$t('zoneOfApplication')"
|
||||
:triggerChange='false' :dictCode="'region'"/>
|
||||
</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 :span='9'>
|
||||
<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>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</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')"
|
||||
: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 :span='6' style='margin-top: 5px'>
|
||||
<a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button>
|
||||
@@ -346,6 +382,89 @@
|
||||
color: red;
|
||||
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 lang='less'>
|
||||
.area-module {
|
||||
|
||||
@@ -95,9 +95,9 @@
|
||||
<div class="title-text">
|
||||
<!-- <span class="title-text-text" :title="$t('Required')">{{$t('Required')}}</span>-->
|
||||
</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 @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')}}
|
||||
</a-button>
|
||||
</div>
|
||||
@@ -146,6 +146,7 @@
|
||||
formInline: {},
|
||||
confirmLoading: false,
|
||||
visible: false,
|
||||
loading:false,
|
||||
rules: {
|
||||
// nioNumber:[
|
||||
// { required: true, message: this.$t('PleaseEnter')+this.$t('NiONumber'), trigger: 'change' },
|
||||
@@ -155,6 +156,7 @@
|
||||
projectNameList: [],
|
||||
title: '',
|
||||
stateOne: '',
|
||||
conFlag:'',
|
||||
contentList: [],
|
||||
paramsConfigEOList: [
|
||||
{
|
||||
@@ -174,6 +176,7 @@
|
||||
},
|
||||
mounted() {
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
getNameList() {
|
||||
@@ -185,12 +188,13 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
addModel(id) {
|
||||
addModel(id,item) {
|
||||
this.paramsConfigEOList = []
|
||||
this.visible = true
|
||||
this.title = this.$t('MaintainConfigureInfo')
|
||||
this.formInline = {}
|
||||
this.getconList(id)
|
||||
|
||||
},
|
||||
getconList(id) {
|
||||
getAction(`${this.url.conList}?paramsManifestId=${id}`, {}).then((res) => {
|
||||
@@ -217,18 +221,29 @@
|
||||
})
|
||||
},
|
||||
addConfiguration(item) {
|
||||
if (this.itemRow.configFlag) {
|
||||
this.paramsConfigEOList.splice(item.displaySeq + 1, 0, {
|
||||
id: '',
|
||||
configName: '', // 配置名称
|
||||
version: '', // 版本
|
||||
carType: '', // 车型
|
||||
battery: '', // 电池
|
||||
motor: '' // 电机
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('Theselectedconfiguration'))
|
||||
}
|
||||
this.loading = true
|
||||
getAction(this.url.configurelist, { paramsManifestId: this.itemRow.id }).then((res) => {
|
||||
if (res.success) {
|
||||
this.conFlag = res.result
|
||||
if (this.conFlag == true) {
|
||||
this.paramsConfigEOList.splice(item.displaySeq + 1, 0, {
|
||||
id: '',
|
||||
configName: '', // 配置名称
|
||||
version: '', // 版本
|
||||
carType: '', // 车型
|
||||
battery: '', // 电池
|
||||
motor: '' // 电机
|
||||
})
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
this.$message.warning(this.$t('Theselectedconfiguration'))
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
deleteConfiguration(displaySeq, index) {
|
||||
if (this.paramsConfigEOList.length === 1) {
|
||||
@@ -252,6 +267,8 @@
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
this.conFlag = ''
|
||||
},
|
||||
handleSubmit() {
|
||||
let flag = 1
|
||||
|
||||
Reference in New Issue
Block a user