Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH
This commit is contained in:
+2
@@ -15,6 +15,8 @@ public enum CertificationFlowNodeEnum {
|
|||||||
ZRRJJRW ("zrrjjrw","责任人拒绝任务","The person in charge refused the assignment"),
|
ZRRJJRW ("zrrjjrw","责任人拒绝任务","The person in charge refused the assignment"),
|
||||||
ZRRTJRW ("zrrtjrw","责任人提交任务","The responsible person submits the task"),
|
ZRRTJRW ("zrrtjrw","责任人提交任务","The responsible person submits the task"),
|
||||||
RZGCSSC ("rzgcssc","认证工程师审查","Certified engineer review"),
|
RZGCSSC ("rzgcssc","认证工程师审查","Certified engineer review"),
|
||||||
|
RZGCSSC_TG ("rzgcssc_tg","认证工程师审查-通过","Certified engineer review through"),
|
||||||
|
RZGCSSC_TH ("rzgcssc_th","认证工程师审查-退回","Certified engineer review returned"),
|
||||||
;
|
;
|
||||||
|
|
||||||
String key;
|
String key;
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@ public enum CertificationInventoryFlowStatusEnum {
|
|||||||
* 任务待确认 认证工程师发起责任人待确认
|
* 任务待确认 认证工程师发起责任人待确认
|
||||||
* 责任人拒绝 责任人拒绝
|
* 责任人拒绝 责任人拒绝
|
||||||
* 结果待提交 责任人接受后 未提交交付物
|
* 结果待提交 责任人接受后 未提交交付物
|
||||||
* 工程师退回 责任人分发后被第二位责任人退回
|
* 工程师退回 责任人分发后被第二位责任人退回 (没有该状态。)
|
||||||
* 结果待审查 责任人提交后认证工程师未审查
|
* 结果待审查 责任人提交后认证工程师未审查
|
||||||
* 审查通过 责任人提交后认证工程师审查通过
|
* 审查通过 责任人提交后认证工程师审查通过
|
||||||
* 审查退回 责任人提交后认证工程师审查退回
|
* 审查退回 责任人提交后认证工程师审查退回
|
||||||
|
|||||||
+1
-1
@@ -131,7 +131,7 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量保存
|
* 批量保存
|
||||||
* @param projectCertificationInventoryEOList
|
* @param json
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Result<?> saveBatch(JSONObject json);
|
Result<?> saveBatch(JSONObject json);
|
||||||
|
|||||||
+395
-37
@@ -301,17 +301,27 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
throw new JeroBootException("至少选择一条数据进行发布!");
|
throw new JeroBootException("至少选择一条数据进行发布!");
|
||||||
}
|
}
|
||||||
String endTime = json.getString("endTime");
|
String endTime = json.getString("endTime");
|
||||||
|
String cut = json.getString("cut");
|
||||||
|
|
||||||
List<String> idList = Arrays.asList(ids.split(","));
|
List<String> idList = Arrays.asList(ids.split(","));
|
||||||
|
|
||||||
|
List<String> flowStatusList = new ArrayList<>();
|
||||||
|
flowStatusList.add(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
||||||
|
flowStatusList.add(CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue());
|
||||||
|
|
||||||
// 根据页面选择的认证清单数据id,查询出状态为’清单待发布‘的数据,进行发布处理
|
// 根据页面选择的认证清单数据id,查询出状态为’清单待发布‘的数据,进行发布处理
|
||||||
QueryWrapper<ProjectCertificationInventoryEO> certificationQueryWrap = new QueryWrapper<>();
|
QueryWrapper<ProjectCertificationInventoryEO> certificationQueryWrap = new QueryWrapper<>();
|
||||||
certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||||
certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
certificationQueryWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||||
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(certificationQueryWrap);
|
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(certificationQueryWrap);
|
||||||
|
|
||||||
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||||
throw new JeroBootException("无法获取要发布的数据,请重新选择!");
|
if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||||
|
throw new JeroBootException("Select at least one data flow whose status is' List to be released or Certification returned '!");
|
||||||
|
}else {
|
||||||
|
throw new JeroBootException("至少选择一条数据流程状态为'清单待发布 或 认证退回'的数据!");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||||
|
|
||||||
@@ -338,7 +348,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||||
processInfoDetailEO.setUserId(userId);
|
processInfoDetailEO.setUserId(userId);
|
||||||
processInfoDetailEO.setTaskDefinitionKey(CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
processInfoDetailEO.setTaskDefinitionKey(CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
||||||
processInfoDetailEO.setEndTime(DateUtils.str2Date(endTime,DateUtils.date_sdf.get()));
|
|
||||||
processInfoDetailEO.setCreateTime(new Date());
|
processInfoDetailEO.setCreateTime(new Date());
|
||||||
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||||
processInfoDetailEO.setProcessInfoId(projectLibraryId);
|
processInfoDetailEO.setProcessInfoId(projectLibraryId);
|
||||||
@@ -373,7 +382,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
processInfoEO.setProjectLibraryId(projectLibraryId);
|
processInfoEO.setProjectLibraryId(projectLibraryId);
|
||||||
processInfoEO.setActiProcInstId(projectLibraryId);
|
processInfoEO.setActiProcInstId(projectLibraryId);
|
||||||
processInfoEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
processInfoEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||||
processInfoEO.setStatus(TodoCenterStatusEnum.LIST_TO_CONFIRM.getValue());
|
// processInfoEO.setStatus(TodoCenterStatusEnum.LIST_TO_CONFIRM.getValue());
|
||||||
|
|
||||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
processInfoEO.setCreateBy(currentUser.getId());
|
processInfoEO.setCreateBy(currentUser.getId());
|
||||||
@@ -397,7 +406,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
detail.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
detail.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||||
detail.setTaskDefinitionKey(taskDefinitionKey);
|
detail.setTaskDefinitionKey(taskDefinitionKey);
|
||||||
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||||
// detail.setEndTime(DateUtils.str2Date(endTime,DateUtils.date_sdf.get()));
|
|
||||||
detail.setCreateTime(new Date());
|
detail.setCreateTime(new Date());
|
||||||
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||||
});
|
});
|
||||||
@@ -406,6 +414,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
QueryWrapper<ProcessInfoDetailEO> removeWrap = new QueryWrapper<>();
|
QueryWrapper<ProcessInfoDetailEO> removeWrap = new QueryWrapper<>();
|
||||||
removeWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,processInfoId);
|
removeWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,processInfoId);
|
||||||
removeWrap.lambda().in(ProcessInfoDetailEO::getUserId,userIdList);
|
removeWrap.lambda().in(ProcessInfoDetailEO::getUserId,userIdList);
|
||||||
|
removeWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,taskDefinitionKey);
|
||||||
// 删除用户在这个认证清单流程中其它的待办任务
|
// 删除用户在这个认证清单流程中其它的待办任务
|
||||||
this.processInfoDetailEOService.remove(removeWrap);
|
this.processInfoDetailEOService.remove(removeWrap);
|
||||||
|
|
||||||
@@ -680,14 +689,18 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
case RZGCSTHRW:
|
case RZGCSTHRW:
|
||||||
return this.certificationReturnedStudioTask(json);
|
return this.certificationReturnedStudioTask(json);
|
||||||
case ZRRJSRW:
|
case ZRRJSRW:
|
||||||
|
return this.dutyPersonAcceptTask(json);
|
||||||
break;
|
case ZRRJJRW:
|
||||||
|
return this.dutyPersonRejectTask(json);
|
||||||
case ZRRTJRW:
|
case ZRRTJRW:
|
||||||
|
return this.dutyPersonSubmitTask(json);
|
||||||
break;
|
|
||||||
case RZGCSSC:
|
case RZGCSSC:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
case RZGCSSC_TG:
|
||||||
|
return this.certificationReviewThrough(json);
|
||||||
|
case RZGCSSC_TH:
|
||||||
|
return this.certificationReviewReturned(json);
|
||||||
default:
|
default:
|
||||||
throw new JeroBootException(nodeKey + " 的操作节点传递有误,请联系管理员!");
|
throw new JeroBootException(nodeKey + " 的操作节点传递有误,请联系管理员!");
|
||||||
}
|
}
|
||||||
@@ -695,6 +708,361 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
return Result.OK("提交任务成功!");
|
return Result.OK("提交任务成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 认证工程师审查退回
|
||||||
|
* @param json
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Result<?> certificationReviewReturned(JSONObject json) {
|
||||||
|
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|
||||||
|
String ids = json.getString("ids");
|
||||||
|
if(StringUtils.isEmpty(ids)){
|
||||||
|
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||||
|
}
|
||||||
|
List<String> idList = Arrays.asList(ids.split(","));
|
||||||
|
|
||||||
|
List<String> flowStatusList = new ArrayList<>();
|
||||||
|
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||||
|
|
||||||
|
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||||
|
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||||
|
throw new JeroBootException("至少选择一条数据流程状态为'结果待审查'的数据!");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||||
|
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 更新数据状态为 审查退回
|
||||||
|
this.updateBatchById(projectCertificationInventoryEOList);
|
||||||
|
|
||||||
|
List<String> flowStatus = new ArrayList<>();
|
||||||
|
flowStatus.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||||
|
|
||||||
|
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||||
|
// 如果还有 结果待审查 的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办 flowStatus
|
||||||
|
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSSC.getKey(),flowStatus);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
log.error("认证工程师-审批退回失败:" + ex.getMessage());
|
||||||
|
throw new JeroBootException("审批退回失败!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return Result.OK("审批退回成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 认证工程师审查通过
|
||||||
|
* @param json
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Result<?> certificationReviewThrough(JSONObject json) {
|
||||||
|
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|
||||||
|
String ids = json.getString("ids");
|
||||||
|
if(StringUtils.isEmpty(ids)){
|
||||||
|
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||||
|
}
|
||||||
|
List<String> idList = Arrays.asList(ids.split(","));
|
||||||
|
|
||||||
|
List<String> flowStatusList = new ArrayList<>();
|
||||||
|
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||||
|
|
||||||
|
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||||
|
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||||
|
throw new JeroBootException("至少选择一条数据流程状态为'结果待审查'的数据!");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||||
|
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 更新数据状态为 审查通过
|
||||||
|
this.updateBatchById(projectCertificationInventoryEOList);
|
||||||
|
|
||||||
|
List<String> flowStatus = new ArrayList<>();
|
||||||
|
flowStatus.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||||
|
|
||||||
|
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||||
|
// 如果还有 结果待审查 的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办 flowStatus
|
||||||
|
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSSC.getKey(),flowStatus);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
log.error("认证工程师-审批通过失败:" + ex.getMessage());
|
||||||
|
throw new JeroBootException("审批通过失败!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return Result.OK("审批通过成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新任务状态为已办
|
||||||
|
* @param projectLibraryBase
|
||||||
|
*/
|
||||||
|
private void updateProcessInfoDetailStatus(ProjectLibraryBase projectLibraryBase,String taskDefinitionKey,List<String> flowStatusList) {
|
||||||
|
|
||||||
|
QueryWrapper<ProjectCertificationInventoryEO> queryCountWrap = new QueryWrapper<>();
|
||||||
|
queryCountWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId, projectLibraryBase.getId());
|
||||||
|
queryCountWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||||
|
int notDoneCount = this.count(queryCountWrap);
|
||||||
|
|
||||||
|
if(notDoneCount == 0){
|
||||||
|
QueryWrapper<ProcessInfoDetailEO> detailQueryWrapper = new QueryWrapper<>();
|
||||||
|
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProcessInfoId, projectLibraryBase.getId());
|
||||||
|
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,taskDefinitionKey);
|
||||||
|
List<ProcessInfoDetailEO> detailEOList = this.processInfoDetailEOService.list(detailQueryWrapper);
|
||||||
|
|
||||||
|
for (ProcessInfoDetailEO processInfoDetailEO : detailEOList) {
|
||||||
|
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
this.processInfoDetailEOService.updateBatchById(detailEOList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 责任人提交任务
|
||||||
|
* @param json
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Result<?> dutyPersonSubmitTask(JSONObject json) {
|
||||||
|
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|
||||||
|
String ids = json.getString("ids");
|
||||||
|
if(StringUtils.isEmpty(ids)){
|
||||||
|
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||||
|
}
|
||||||
|
List<String> idList = Arrays.asList(ids.split(","));
|
||||||
|
|
||||||
|
List<String> flowStatusList = new ArrayList<>();
|
||||||
|
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
|
||||||
|
|
||||||
|
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||||
|
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||||
|
throw new JeroBootException("至少选择一条数据流程状态为'结果待提交'的数据!");
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||||
|
|
||||||
|
// 给认证工程师分配待办中心的任务
|
||||||
|
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
|
||||||
|
if(StringUtils.isEmpty(certificationEngineer)){
|
||||||
|
throw new JeroBootException("该项目中认证工程师为空,请先维护认证工程师!");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||||
|
List<String> certificationEngineerList = Arrays.asList(certificationEngineer.split(","));
|
||||||
|
// 给认证工程师分配任务
|
||||||
|
for (String userId : certificationEngineerList) {
|
||||||
|
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||||
|
processInfoDetailEO.setUserId(userId);
|
||||||
|
processInfoDetailEO.setTaskDefinitionKey(CertificationFlowNodeEnum.RZGCSSC.getKey());
|
||||||
|
processInfoDetailEO.setCreateTime(new Date());
|
||||||
|
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||||
|
processInfoDetailEO.setProcessInfoId(projectLibraryBase.getId());
|
||||||
|
processInfoDetailEO.setActiProcInstId(projectLibraryBase.getId());
|
||||||
|
processInfoDetailEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||||
|
processInfoDetailEOList.add(processInfoDetailEO);
|
||||||
|
}
|
||||||
|
// 数据更新为结果待审查
|
||||||
|
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||||
|
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
this.updateBatchById(projectCertificationInventoryEOList);
|
||||||
|
|
||||||
|
List<String> certificationIdList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 将当前责任人的待办任务转为已办
|
||||||
|
LambdaUpdateWrapper<ProcessInfoDetailEO> detailUpdateWrap = new LambdaUpdateWrapper<>();
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getUserId,currentUser.getId());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.ZRRTJRW.getKey());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getProjectLawsInventoryId,certificationIdList);
|
||||||
|
detailUpdateWrap.set(ProcessInfoDetailEO::getStatus,TaskStatusEnum.HAVE_DONE.getValue());
|
||||||
|
this.processInfoDetailEOService.update(detailUpdateWrap);
|
||||||
|
|
||||||
|
// 给认证工程师分配待办中心的任务 认证工程师审查
|
||||||
|
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.RZGCSSC.getKey());
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
log.error("责任人-提交任务失败:" + ex.getMessage());
|
||||||
|
throw new JeroBootException("提交任务失败!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return Result.OK("提交任务成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 责任人接受任务
|
||||||
|
* @param json
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Result<?> dutyPersonAcceptTask(JSONObject json) {
|
||||||
|
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|
||||||
|
String ids = json.getString("ids");
|
||||||
|
if(StringUtils.isEmpty(ids)){
|
||||||
|
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||||
|
}
|
||||||
|
List<String> idList = Arrays.asList(ids.split(","));
|
||||||
|
|
||||||
|
List<String> flowStatusList = new ArrayList<>();
|
||||||
|
flowStatusList.add(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
|
||||||
|
|
||||||
|
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||||
|
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||||
|
throw new JeroBootException("至少选择一条数据流程状态为'任务待确认'的数据!");
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||||
|
|
||||||
|
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||||
|
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||||
|
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
|
||||||
|
|
||||||
|
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||||
|
processInfoDetailEO.setUserId(projectCertificationInventoryEO.getDutyPerson());
|
||||||
|
processInfoDetailEO.setEndTime(projectCertificationInventoryEO.getEndTime());
|
||||||
|
processInfoDetailEO.setProjectLawsInventoryId(projectCertificationInventoryEO.getId());
|
||||||
|
processInfoDetailEOList.add(processInfoDetailEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
List<String> certificationIdList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getId).distinct().collect(Collectors.toList());
|
||||||
|
// 将当前责任人的待办任务转为已办
|
||||||
|
LambdaUpdateWrapper<ProcessInfoDetailEO> detailUpdateWrap = new LambdaUpdateWrapper<>();
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getUserId,currentUser.getId());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.ZRRJSRW.getKey());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getProjectLawsInventoryId,certificationIdList);
|
||||||
|
detailUpdateWrap.set(ProcessInfoDetailEO::getStatus,TaskStatusEnum.HAVE_DONE.getValue());
|
||||||
|
this.processInfoDetailEOService.update(detailUpdateWrap);
|
||||||
|
|
||||||
|
// 给责任人分配待办中心的任务 (待提交)
|
||||||
|
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.ZRRTJRW.getKey());
|
||||||
|
|
||||||
|
// 责任人接受任务,将数据的状态更新为 结果待提交。
|
||||||
|
this.updateBatchById(projectCertificationInventoryEOList);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
log.error("责任人-接受任务失败:" + ex.getMessage());
|
||||||
|
throw new JeroBootException("接受任务失败!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return Result.OK("接受任务成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 责任人拒绝任务
|
||||||
|
* @param json
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Result<?> dutyPersonRejectTask(JSONObject json) {
|
||||||
|
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|
||||||
|
String ids = json.getString("ids");
|
||||||
|
if(StringUtils.isEmpty(ids)){
|
||||||
|
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||||
|
}
|
||||||
|
List<String> idList = Arrays.asList(ids.split(","));
|
||||||
|
|
||||||
|
List<String> flowStatusList = new ArrayList<>();
|
||||||
|
flowStatusList.add(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
|
||||||
|
|
||||||
|
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||||
|
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||||
|
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
|
||||||
|
|
||||||
|
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||||
|
throw new JeroBootException("至少选择一条数据流程状态为'任务待确认'的数据!");
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||||
|
|
||||||
|
// 给认证工程师分配待办中心的任务
|
||||||
|
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
|
||||||
|
if(StringUtils.isEmpty(certificationEngineer)){
|
||||||
|
throw new JeroBootException("该项目中认证工程师为空,请先维护认证工程师!");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||||
|
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 将当前责任人的待办任务转为已办
|
||||||
|
LambdaUpdateWrapper<ProcessInfoDetailEO> detailUpdateWrap = new LambdaUpdateWrapper<>();
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getUserId,currentUser.getId());
|
||||||
|
detailUpdateWrap.eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.ZRRJSRW.getKey());
|
||||||
|
detailUpdateWrap.set(ProcessInfoDetailEO::getStatus,TaskStatusEnum.HAVE_DONE.getValue());
|
||||||
|
this.processInfoDetailEOService.update(detailUpdateWrap);
|
||||||
|
|
||||||
|
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||||
|
List<String> certificationEngineerList = Arrays.asList(certificationEngineer.split(","));
|
||||||
|
// 给认证工程师分配任务
|
||||||
|
for (String userId : certificationEngineerList) {
|
||||||
|
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||||
|
processInfoDetailEO.setUserId(userId);
|
||||||
|
processInfoDetailEO.setTaskDefinitionKey(CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
||||||
|
processInfoDetailEO.setCreateTime(new Date());
|
||||||
|
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||||
|
processInfoDetailEO.setProcessInfoId(projectLibraryBase.getId());
|
||||||
|
processInfoDetailEO.setActiProcInstId(projectLibraryBase.getId());
|
||||||
|
processInfoDetailEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||||
|
processInfoDetailEOList.add(processInfoDetailEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除该项目数据的待办任务,key为 认证工程师接受任务的数据
|
||||||
|
QueryWrapper<ProcessInfoDetailEO> deleteDetailWrap = new QueryWrapper<>();
|
||||||
|
deleteDetailWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
|
||||||
|
deleteDetailWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
||||||
|
deleteDetailWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||||
|
this.processInfoDetailEOService.remove(deleteDetailWrap);
|
||||||
|
this.processInfoDetailEOService.saveBatch(processInfoDetailEOList);
|
||||||
|
|
||||||
|
// 责任人接受任务,将数据的状态更新为 结果待提交。
|
||||||
|
this.updateBatchById(projectCertificationInventoryEOList);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
log.error("责任人-拒绝任务失败:" + ex.getMessage());
|
||||||
|
throw new JeroBootException("拒绝任务失败!");
|
||||||
|
}
|
||||||
|
return Result.OK("拒绝任务成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 认证工程师退回至studio任务
|
||||||
|
* @param json
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
private Result<?> certificationReturnedStudioTask(JSONObject json) {
|
private Result<?> certificationReturnedStudioTask(JSONObject json) {
|
||||||
String ids = json.getString("ids");
|
String ids = json.getString("ids");
|
||||||
if(StringUtils.isEmpty(ids)){
|
if(StringUtils.isEmpty(ids)){
|
||||||
@@ -720,18 +1088,23 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 给studio分配待办中心任务
|
// 给studio分配待办中心任务
|
||||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
/*List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||||
processInfoDetailEO.setUserId(projectLibraryBase.getStudioEngineer());
|
processInfoDetailEO.setUserId(projectLibraryBase.getStudioEngineer());
|
||||||
processInfoDetailEOList.add(processInfoDetailEO);
|
processInfoDetailEOList.add(processInfoDetailEO);
|
||||||
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.STUDIOFQ.getKey());
|
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.STUDIOFQ.getKey());*/
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||||
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue());
|
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue());
|
||||||
}
|
}
|
||||||
// 认证工程师发起任务,将数据的状态更新为 任务待确认。
|
|
||||||
|
// 认证工程师退回任务到studio,将数据的状态更新为 认证退回
|
||||||
this.updateBatchById(projectCertificationInventoryEOList);
|
this.updateBatchById(projectCertificationInventoryEOList);
|
||||||
|
|
||||||
|
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||||
|
// 如果还有 清单待校核、责任人拒绝 状态的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
|
||||||
|
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSJSRW.getKey(),flowStatusList);
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
log.error("认证工程师-退回认证清单任务失败:" + ex.getMessage());
|
log.error("认证工程师-退回认证清单任务失败:" + ex.getMessage());
|
||||||
@@ -773,41 +1146,26 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// 给责任人分配待办中心的任务
|
||||||
|
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||||
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
|
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
|
||||||
}
|
|
||||||
|
|
||||||
// 给责任人分配待办中心的任务
|
|
||||||
List<String> dutyPersonList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getDutyPerson).distinct().collect(Collectors.toList());
|
|
||||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
|
||||||
for (String dutyPerson : dutyPersonList) {
|
|
||||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||||
processInfoDetailEO.setUserId(dutyPerson);
|
processInfoDetailEO.setUserId(projectCertificationInventoryEO.getDutyPerson());
|
||||||
|
processInfoDetailEO.setEndTime(projectCertificationInventoryEO.getEndTime());
|
||||||
|
processInfoDetailEO.setProjectLawsInventoryId(projectCertificationInventoryEO.getId());
|
||||||
processInfoDetailEOList.add(processInfoDetailEO);
|
processInfoDetailEOList.add(processInfoDetailEO);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.ZRRJSRW.getKey());
|
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.ZRRJSRW.getKey());
|
||||||
|
|
||||||
// 更新该项目认证流程中,认证工程师的任务状态。
|
|
||||||
QueryWrapper<ProjectCertificationInventoryEO> queryCountWrap = new QueryWrapper<>();
|
|
||||||
queryCountWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId,projectLibraryBase.getId());
|
|
||||||
queryCountWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
|
||||||
int notDoneCount = this.count(queryCountWrap);
|
|
||||||
// 如果还有 清单待校核、责任人拒绝 状态的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
|
|
||||||
if(notDoneCount == 0){
|
|
||||||
QueryWrapper<ProcessInfoDetailEO> detailQueryWrapper = new QueryWrapper<>();
|
|
||||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
|
|
||||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
|
||||||
List<ProcessInfoDetailEO> detailEOList = this.processInfoDetailEOService.list(detailQueryWrapper);
|
|
||||||
|
|
||||||
for (ProcessInfoDetailEO processInfoDetailEO : detailEOList) {
|
|
||||||
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
this.processInfoDetailEOService.updateBatchById(detailEOList);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 认证工程师发起任务,将数据的状态更新为 任务待确认。
|
// 认证工程师发起任务,将数据的状态更新为 任务待确认。
|
||||||
this.updateBatchById(projectCertificationInventoryEOList);
|
this.updateBatchById(projectCertificationInventoryEOList);
|
||||||
|
|
||||||
|
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||||
|
// 如果还有 清单待校核、责任人拒绝 状态的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
|
||||||
|
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSJSRW.getKey(),flowStatusList);
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
log.error("认证工程师-发起认证清单任务失败:" + ex.getMessage());
|
log.error("认证工程师-发起认证清单任务失败:" + ex.getMessage());
|
||||||
|
|||||||
+28
@@ -179,6 +179,34 @@
|
|||||||
process_info_detail pid
|
process_info_detail pid
|
||||||
where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1
|
where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1
|
||||||
) as end_time,
|
) as end_time,
|
||||||
|
<!--(
|
||||||
|
case when flow_type = '21' then
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
pci.end_time
|
||||||
|
FROM
|
||||||
|
project_certification_inventory pci
|
||||||
|
WHERE
|
||||||
|
pci.project_library_id = pi.id
|
||||||
|
AND ( pci.flow_status = 'List to be checked' OR pci.flow_status = 'Refusal of responsible person' )
|
||||||
|
ORDER BY
|
||||||
|
pci.end_time ASC
|
||||||
|
LIMIT 1
|
||||||
|
)
|
||||||
|
when flow_type = '10' then
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
pid.end_time
|
||||||
|
FROM
|
||||||
|
process_info_detail pid
|
||||||
|
WHERE
|
||||||
|
pid.process_info_id = pi.id
|
||||||
|
AND pid.STATUS = 'NotDone'
|
||||||
|
ORDER BY
|
||||||
|
pid.end_time ASC
|
||||||
|
LIMIT 1
|
||||||
|
) end
|
||||||
|
)AS end_time,-->
|
||||||
pi.STATUS,
|
pi.STATUS,
|
||||||
pi.prc_num,
|
pi.prc_num,
|
||||||
pi.prc_name,
|
pi.prc_name,
|
||||||
|
|||||||
@@ -1406,4 +1406,22 @@ module.exports = {
|
|||||||
missionRejection:'Mission Rejection',
|
missionRejection:'Mission Rejection',
|
||||||
turnToDo:'Turn To Do',
|
turnToDo:'Turn To Do',
|
||||||
initiateTask:'Initiate a Task',
|
initiateTask:'Initiate a Task',
|
||||||
|
compliancereport:'Generate compliance report',
|
||||||
|
todocenter:'To-do center',
|
||||||
|
areYouReturnToStudio:'Are you sure to return to studio?',
|
||||||
|
confirmLaunchTask:'Confirm launch task ?',
|
||||||
|
conditionsNotMet:'Conditions not met',
|
||||||
|
onlyProcessStatusReturned:'Only the data whose process status is list to be checked and rejected by the responsible person can be returned',
|
||||||
|
onlyProcessReturned:'Only data with process status of list to be checked and rejected by responsible person can be initiated',
|
||||||
|
confirmToAcceptTheTask:'Confirm to accept the task ?',
|
||||||
|
confirmRejectTask:'Confirm Reject Task ?',
|
||||||
|
onlyDataStatusConfirmedSelected:'Only data with process status of task to be confirmed can be selected',
|
||||||
|
onlyDataStatusSubmittedCanBeSelected:'Only data with process status of result to be submitted can be selected',
|
||||||
|
operationWithoutPermission:'Operation without permission',
|
||||||
|
data:"'s data",
|
||||||
|
confirmApproval:'Confirm approval?',
|
||||||
|
confirmReturnForApproval:'Confirm return for approval ?',
|
||||||
|
onlyDataStatusResultReviewedCanBeSelected:'Only data with process status of result to be reviewed can be selected',
|
||||||
|
confirmResetProcess:'Confirm reset process?',
|
||||||
|
confirmUrging:'Confirm urging ?',
|
||||||
}
|
}
|
||||||
@@ -1507,4 +1507,22 @@ module.exports = {
|
|||||||
missionRejection:'任务拒绝',
|
missionRejection:'任务拒绝',
|
||||||
turnToDo:'转办',
|
turnToDo:'转办',
|
||||||
initiateTask:'发起任务',
|
initiateTask:'发起任务',
|
||||||
|
areYouReturnToStudio:'确认退回至studio吗?',
|
||||||
|
confirmLaunchTask:'确认发起任务?',
|
||||||
|
conditionsNotMet:'不满足条件',
|
||||||
|
onlyProcessStatusReturned:'只能退回流程状态为清单待校核和责任人拒绝的数据',
|
||||||
|
onlyProcessReturned:'只能发起流程状态为清单待校核和责任人拒绝的数据',
|
||||||
|
confirmToAcceptTheTask:'确认接受任务?',
|
||||||
|
confirmRejectTask:'确认拒绝任务?',
|
||||||
|
onlyDataStatusConfirmedSelected:'只能选择流程状态为任务待确认的数据',
|
||||||
|
onlyDataStatusSubmittedCanBeSelected:'只能选择流程状态为结果待提交的数据',
|
||||||
|
operationWithoutPermission:'没有权限操作',
|
||||||
|
data:"的数据",
|
||||||
|
compliancereport:'生成合规报告',
|
||||||
|
todocenter:'待办中心',
|
||||||
|
confirmApproval:'确认通过审批?',
|
||||||
|
confirmReturnForApproval:'确认退回审批?',
|
||||||
|
onlyDataStatusResultReviewedCanBeSelected:'只能选择流程状态为结果待审查的数据',
|
||||||
|
confirmResetProcess:'确认重置流程?',
|
||||||
|
confirmUrging:'确认催办',
|
||||||
}
|
}
|
||||||
@@ -11,18 +11,19 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="Virtual-detail-text-right">
|
<div class="Virtual-detail-text-right">
|
||||||
|
<!-- <div class="operator-text"-->
|
||||||
|
<!-- v-if="textTitle === $t('listOfRegulations')"-->
|
||||||
|
<!-- v-has="'projectComment:list'"-->
|
||||||
|
<!-- @click="commentClick">-->
|
||||||
|
<!-- <a-icon type="message"/>-->
|
||||||
|
<!-- {{$t('comment')}}-->
|
||||||
|
<!-- </div>-->
|
||||||
<div class="operator-text"
|
<div class="operator-text"
|
||||||
v-if="textTitle === $t('listOfRegulations')"
|
v-if="textTitle === $t('listOfRegulations')"
|
||||||
v-has="'projectComment:list'"
|
v-has="'projectComment:list'"
|
||||||
@click="commentClick">
|
@click="todocenterClick">
|
||||||
<a-icon type="message"/>
|
<a-icon type="qrcode"/>
|
||||||
{{$t('comment')}}
|
{{$t('todocenter')}}
|
||||||
</div>
|
|
||||||
<div class="operator-text" v-has="'projectHistoryVersions:list'"
|
|
||||||
v-if="textTitle === $t('listOfRegulations')"
|
|
||||||
@click="historicalVersionClick">
|
|
||||||
<a-icon type="clock-circle"/>
|
|
||||||
{{$t('historicalVersion')}}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" v-has="'projectLawsInventoryLog:page'"
|
<div class="operator-text" v-has="'projectLawsInventoryLog:page'"
|
||||||
v-if="textTitle === $t('listOfRegulations')"
|
v-if="textTitle === $t('listOfRegulations')"
|
||||||
@@ -30,6 +31,12 @@
|
|||||||
<a-icon type="reload"/>
|
<a-icon type="reload"/>
|
||||||
{{$t('UpdateLog')}}
|
{{$t('UpdateLog')}}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="operator-text" v-has="'projectHistoryVersions:list'"
|
||||||
|
v-if="textTitle === $t('listOfRegulations')"
|
||||||
|
@click="historicalVersionClick">
|
||||||
|
<a-icon type="clock-circle"/>
|
||||||
|
{{$t('historicalVersion')}}
|
||||||
|
</div>
|
||||||
<div class="operator-text" v-has="'projectLawsInventoryLog:page'"
|
<div class="operator-text" v-has="'projectLawsInventoryLog:page'"
|
||||||
v-if="textTitle === $t('certificationList') || textTitle === $t('listOfRegulations')"
|
v-if="textTitle === $t('certificationList') || textTitle === $t('listOfRegulations')"
|
||||||
@click="roleSwitchingClick">
|
@click="roleSwitchingClick">
|
||||||
@@ -241,6 +248,9 @@
|
|||||||
} else if (this.$route.query.type == '105') {
|
} else if (this.$route.query.type == '105') {
|
||||||
this.textColor(this.$t('TaskParameterCollection'))
|
this.textColor(this.$t('TaskParameterCollection'))
|
||||||
this.textTitle = this.$t('TaskParameterCollection')
|
this.textTitle = this.$t('TaskParameterCollection')
|
||||||
|
}else if (this.$route.query.type == '106') {
|
||||||
|
this.textColor(this.$t('certificationList'))
|
||||||
|
this.textTitle = this.$t('certificationList')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) {
|
if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) {
|
||||||
@@ -308,6 +318,10 @@
|
|||||||
text[i].classList.add('Virtual-detail-left-text-color')
|
text[i].classList.add('Virtual-detail-left-text-color')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
//待办中心跳转
|
||||||
|
todocenterClick(){
|
||||||
|
|
||||||
},
|
},
|
||||||
UpdateLogClick() {
|
UpdateLogClick() {
|
||||||
this.$refs.updateLogRef.getList({ projectLibraryId: this.$route.query.id })
|
this.$refs.updateLogRef.getList({ projectLibraryId: this.$route.query.id })
|
||||||
|
|||||||
@@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
<a-popconfirm overlayClassName="popconfirm" placement="bottomRight">
|
<a-popconfirm overlayClassName="popconfirm" placement="bottomRight">
|
||||||
<template slot="title" id="popconfirm">
|
<template slot="title" id="popconfirm">
|
||||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
<div>
|
||||||
<!-- 添加-->
|
<!-- 添加-->
|
||||||
<div @click="handleAdd"
|
<div @click="handleAdd"
|
||||||
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
|
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
|
||||||
@@ -186,45 +186,52 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 发起任务-->
|
<!-- 发起任务-->
|
||||||
<div @click="initiatingProcessClick" v-if="roleSwitchingCode == 2" class="operator-text">
|
<div @click="initiatingProcessClick('rzgcsjsrw',$t('confirmLaunchTask'))"
|
||||||
|
v-if="roleSwitchingCode == 2" class="operator-text">
|
||||||
<a-icon type="check-circle"/>
|
<a-icon type="check-circle"/>
|
||||||
{{ $t('initiateTask') }}
|
{{ $t('initiateTask') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 退回至Studio-->
|
<!-- 退回至Studio-->
|
||||||
<div @click="returnToStudioClick" v-if="roleSwitchingCode == 2" class="operator-text">
|
<div @click="returnToStudioClick('rzgcsthrw',$t('areYouReturnToStudio'))"
|
||||||
|
v-if="roleSwitchingCode == 2" class="operator-text">
|
||||||
<a-icon type="close-circle"/>
|
<a-icon type="close-circle"/>
|
||||||
{{ $t('returnToStudio') }}
|
{{ $t('returnToStudio') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 审批通过-->
|
<!-- 审批通过-->
|
||||||
<div @click="ApprovedClick" v-if="roleSwitchingCode == 2" class="operator-text">
|
<div @click="ApprovedClick('rzgcssc_tg',$t('confirmApproval'))" v-if="roleSwitchingCode == 2"
|
||||||
|
class="operator-text">
|
||||||
<a-icon type="check-circle"/>
|
<a-icon type="check-circle"/>
|
||||||
{{ $t('Approved') }}
|
{{ $t('Approved') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 审批退回-->
|
<!-- 审批退回-->
|
||||||
<div @click="returnedForApprovalClick" v-if="roleSwitchingCode == 2" class="operator-text">
|
<div @click="ApprovedClick('rzgcssc_th',$t('confirmReturnForApproval'))" v-if="roleSwitchingCode == 2"
|
||||||
|
class="operator-text">
|
||||||
<a-icon type="close-circle"/>
|
<a-icon type="close-circle"/>
|
||||||
{{ $t('returnedForApproval') }}
|
{{ $t('returnedForApproval') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 任务接受-->
|
<!-- 任务接受-->
|
||||||
<div @click="missionAcceptedClick" v-if="roleSwitchingCode == 20 || roleSwitchingCode == 21"
|
<div @click="missionAcceptedClick('zrrjsrw',$t('confirmToAcceptTheTask'))"
|
||||||
|
v-if="roleSwitchingCode == 20 || roleSwitchingCode == 21"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="check-circle"/>
|
<a-icon type="check-circle"/>
|
||||||
{{ $t('missionAccepted') }}
|
{{ $t('missionAccepted') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 任务退回-->
|
<!-- 任务退回-->
|
||||||
<div @click="missionRejectionClick" v-if="roleSwitchingCode == 20 || roleSwitchingCode == 21"
|
<div @click="missionAcceptedClick('zrrjjrw',$t('confirmRejectTask'))"
|
||||||
|
v-if="roleSwitchingCode == 20 || roleSwitchingCode == 21"
|
||||||
class="operator-text">
|
class="operator-text">
|
||||||
<a-icon type="close-circle"/>
|
<a-icon type="close-circle"/>
|
||||||
{{ $t('missionRejection') }}
|
{{ $t('missionRejection') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 提交-->
|
<!-- 提交-->
|
||||||
<div @click="submitClick" v-if="roleSwitchingCode == 20 || roleSwitchingCode == 21" class="operator-text">
|
<div @click="submitClick('zrrtjrw',$t('confirmSubmit'))"
|
||||||
|
v-if="roleSwitchingCode == 20 || roleSwitchingCode == 21" class="operator-text">
|
||||||
<a-icon type="check-circle"/>
|
<a-icon type="check-circle"/>
|
||||||
{{ $t('submit') }}
|
{{ $t('submit') }}
|
||||||
</div>
|
</div>
|
||||||
@@ -342,9 +349,10 @@
|
|||||||
<batSetting :url="url" ref="batSettingRef" @batSettingForm="batSettingForm"/>
|
<batSetting :url="url" ref="batSettingRef" @batSettingForm="batSettingForm"/>
|
||||||
<addModel ref="addModelRef" @addModelForm="addModelForm"/>
|
<addModel ref="addModelRef" @addModelForm="addModelForm"/>
|
||||||
<modifyHistory ref="modifyHistoryRef"/>
|
<modifyHistory ref="modifyHistoryRef"/>
|
||||||
<uploadFile ref="uploadFile" :disabled="disabled" @uploadSuccess="uploadSuccess"></uploadFile>
|
<uploadFile ref="uploadFile" :isMultiple="true" :disabled="disabled" @uploadSuccess="uploadSuccess"></uploadFile>
|
||||||
<TaskListModel @TaskListModelList="transferListForm" ref="TaskListModelRef"/>
|
<TaskListModel @TaskListModelList="transferListForm" ref="TaskListModelRef"/>
|
||||||
<referenceDeliverablesList ref="referenceDeliverablesListRef" @referenceDeliverablesListForm="transferListForm"/>
|
<referenceDeliverablesList ref="referenceDeliverablesListRef" @referenceDeliverablesListForm="transferListForm"/>
|
||||||
|
<SelectedBy ref="SelectedByRef" :title="$t('turnToDo')" @SelectedByForm="SelectedByForm"></SelectedBy>
|
||||||
<a-modal
|
<a-modal
|
||||||
:title="listTitle"
|
:title="listTitle"
|
||||||
:width="500"
|
:width="500"
|
||||||
@@ -427,6 +435,7 @@
|
|||||||
import batSetting from './components/batSetting'
|
import batSetting from './components/batSetting'
|
||||||
import modifyHistory from './components/modifyHistoryList'
|
import modifyHistory from './components/modifyHistoryList'
|
||||||
import TaskListModel from '../TaskListModel'
|
import TaskListModel from '../TaskListModel'
|
||||||
|
import SelectedBy from '@/components/SelectedBy/index'
|
||||||
import referenceDeliverablesList from './components/referenceDeliverablesList'
|
import referenceDeliverablesList from './components/referenceDeliverablesList'
|
||||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
@@ -444,7 +453,8 @@
|
|||||||
modifyHistory,
|
modifyHistory,
|
||||||
uploadFile,
|
uploadFile,
|
||||||
TaskListModel,
|
TaskListModel,
|
||||||
referenceDeliverablesList
|
referenceDeliverablesList,
|
||||||
|
SelectedBy
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -486,7 +496,8 @@
|
|||||||
deleteOne: '/project/projectCertificationInventoryEO/delete',
|
deleteOne: '/project/projectCertificationInventoryEO/delete',
|
||||||
AndUserId: '/project/projectLibraryRoleRelEO/queryByProjectLibraryIdAndUserId',
|
AndUserId: '/project/projectLibraryRoleRelEO/queryByProjectLibraryIdAndUserId',
|
||||||
AndUserIdEdit: '/project/projectLibraryRoleRelEO/edit',
|
AndUserIdEdit: '/project/projectLibraryRoleRelEO/edit',
|
||||||
saveBatch: '/project/projectCertificationInventoryEO/saveBatch'
|
saveBatch: '/project/projectCertificationInventoryEO/saveBatch',
|
||||||
|
questionUrl: ''
|
||||||
},
|
},
|
||||||
dataSource: [],
|
dataSource: [],
|
||||||
roleSwitchingCode: '',
|
roleSwitchingCode: '',
|
||||||
@@ -698,11 +709,17 @@
|
|||||||
},
|
},
|
||||||
onChange(page, pageSize) {
|
onChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
|
if (this.roleSwitchingCode == 2) {
|
||||||
|
this.preservationClick()
|
||||||
|
}
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
},
|
},
|
||||||
SizeChange(page, pageSize) {
|
SizeChange(page, pageSize) {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.pageSize = pageSize
|
this.pageSize = pageSize
|
||||||
|
if (this.roleSwitchingCode == 2) {
|
||||||
|
this.preservationClick()
|
||||||
|
}
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
},
|
},
|
||||||
searchQuery() {
|
searchQuery() {
|
||||||
@@ -839,9 +856,33 @@
|
|||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
//流程重置
|
||||||
processResetClick() {
|
processResetClick() {
|
||||||
|
let _this = this
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
this.$confirm({
|
||||||
|
content: _this.$t('confirmResetProcess'),
|
||||||
|
onOk() {
|
||||||
|
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
||||||
|
postAction(_this.url.deleteBatch, {
|
||||||
|
ids: idList.join(','),
|
||||||
|
projectLibraryId: _this.$route.query.id
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||||
|
_this.selectedRowKeys = []
|
||||||
|
_this.getList()
|
||||||
|
} else {
|
||||||
|
_this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
//添加
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.$refs.addModelRef.addModel()
|
this.$refs.addModelRef.addModel()
|
||||||
},
|
},
|
||||||
@@ -877,7 +918,7 @@
|
|||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
this.getList()
|
this.getList()
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(res.message)
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
this.detailedSuccessList = []
|
this.detailedSuccessList = []
|
||||||
@@ -889,16 +930,43 @@
|
|||||||
this.formInline = {}
|
this.formInline = {}
|
||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//撤回
|
||||||
withdrawClick() {
|
withdrawClick() {
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
//催办
|
//催办
|
||||||
questionClick() {
|
questionClick() {
|
||||||
|
let _this = this
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
this.$confirm({
|
||||||
|
content: _this.$t('confirmUrging'),
|
||||||
|
onOk() {
|
||||||
|
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
||||||
|
postAction(_this.url.questionUrl, {
|
||||||
|
ids: idList.join(','),
|
||||||
|
projectLibraryId: _this.$route.query.id
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||||
|
_this.selectedRowKeys = []
|
||||||
|
_this.getList()
|
||||||
|
} else {
|
||||||
|
_this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
transferListForm() {
|
transferListForm() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.selectedRowKeys = []
|
||||||
},
|
},
|
||||||
batSettingForm() {
|
batSettingForm() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
@@ -908,6 +976,7 @@
|
|||||||
addModelForm() {
|
addModelForm() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.selectedRowKeys = []
|
||||||
},
|
},
|
||||||
edit(item) {
|
edit(item) {
|
||||||
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
||||||
@@ -1032,39 +1101,36 @@
|
|||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
},
|
|
||||||
//发起流程
|
|
||||||
initiatingProcessClick() {
|
|
||||||
|
|
||||||
},
|
|
||||||
//退回至Studio
|
|
||||||
returnToStudioClick() {
|
|
||||||
|
|
||||||
},
|
|
||||||
//审批通过
|
|
||||||
ApprovedClick() {
|
|
||||||
|
|
||||||
},
|
|
||||||
//审批退回
|
|
||||||
returnedForApprovalClick() {
|
|
||||||
|
|
||||||
},
|
|
||||||
//任务接受
|
|
||||||
missionAcceptedClick() {
|
|
||||||
|
|
||||||
},
|
|
||||||
//任务退回
|
|
||||||
missionRejectionClick() {
|
|
||||||
|
|
||||||
},
|
|
||||||
//提交
|
|
||||||
submitClick() {
|
|
||||||
|
|
||||||
},
|
},
|
||||||
//转办
|
//转办
|
||||||
turnToDoClick() {
|
turnToDoClick() {
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
this.$refs.SelectedByRef.getPush()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
SelectedByForm(userIds) {
|
||||||
|
let ids = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||||
|
let query = {
|
||||||
|
userIds: userIds,
|
||||||
|
'projectLibraryId': this.$route.query.id,
|
||||||
|
'ids': ids.join(',')
|
||||||
|
}
|
||||||
|
postAction('/problemKnowledgeBase/problemKnowledgeBaseEO/forward', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
|
this.$refs.SelectedByRef.visible = false
|
||||||
|
this.$refs.SelectedByRef.submitLoading = false
|
||||||
|
this.getList()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
this.$refs.SelectedByRef.submitLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
clickButtonToUpload(item, index) {
|
clickButtonToUpload(item, index) {
|
||||||
this.$refs.uploadFile.perentHandleFunc()
|
this.$refs.uploadFile.perentHandleFunc()
|
||||||
this.$refs.uploadFile.visible = true
|
this.$refs.uploadFile.visible = true
|
||||||
@@ -1089,30 +1155,231 @@
|
|||||||
/** 赋值给当前对应的表单文件 */
|
/** 赋值给当前对应的表单文件 */
|
||||||
this.dataSource[this.uploadIndex][this.uploadName] = attIdList.join(',')
|
this.dataSource[this.uploadIndex][this.uploadName] = attIdList.join(',')
|
||||||
this.dataSource = [...this.dataSource]
|
this.dataSource = [...this.dataSource]
|
||||||
|
this.preservationClick()
|
||||||
},
|
},
|
||||||
CertificationProgressClick(val) {
|
CertificationProgressClick(val) {
|
||||||
let item = JSON.parse(JSON.stringify(val))
|
let item = JSON.parse(JSON.stringify(val))
|
||||||
item.roleCode = this.roleSwitchingCode
|
item.roleCode = this.roleSwitchingCode
|
||||||
this.$refs.TaskListModelRef.getData(item, this.$t('CertificationProgress'))
|
this.$refs.TaskListModelRef.getData(item, this.$t('CertificationProgress'))
|
||||||
},
|
},
|
||||||
submitTask(value) {
|
//发起流程
|
||||||
|
initiatingProcessClick(value, prompt) {
|
||||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
let ids = []
|
||||||
let query = {
|
let notConditions = []
|
||||||
'nodeKey': value,
|
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||||
'projectLibraryId': this.$route.query.id,
|
if (this.selectedRowKeysList[i].flowStatus == 'List to be checked' ||
|
||||||
'ids': selectedRowKeys.join(',')
|
this.selectedRowKeysList[i].flowStatus == 'Refusal of responsible person') {
|
||||||
}
|
ids.push(this.selectedRowKeysList[i].id)
|
||||||
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
|
|
||||||
if (res.success) {
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
let data = ''
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessReturned')
|
||||||
|
}
|
||||||
|
if (ids && ids.length > 0) {
|
||||||
|
this.submitTask(value, prompt, ids, notConditions, data)
|
||||||
|
} else {
|
||||||
|
this.failedMessage(data)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
//退回至Studio
|
||||||
|
returnToStudioClick(value, prompt) {
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
let ids = []
|
||||||
|
let notConditions = []
|
||||||
|
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||||
|
if (this.selectedRowKeysList[i].flowStatus == 'List to be checked' ||
|
||||||
|
this.selectedRowKeysList[i].flowStatus == 'Refusal of responsible person') {
|
||||||
|
ids.push(this.selectedRowKeysList[i].id)
|
||||||
|
} else {
|
||||||
|
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data = ''
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessStatusReturned')
|
||||||
|
}
|
||||||
|
if (ids && ids.length > 0) {
|
||||||
|
this.submitTask(value, prompt, ids, notConditions, data)
|
||||||
|
} else {
|
||||||
|
this.failedMessage(data)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//责任人任务接受\拒绝
|
||||||
|
missionAcceptedClick(value, prompt) {
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
if (this.roleSwitchingCode == 20) {
|
||||||
|
this.missionAcceptedClickJC(value, prompt)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let ids = []
|
||||||
|
let notConditions = []
|
||||||
|
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||||
|
if (this.selectedRowKeysList[i].flowStatus == 'Task to be confirmed') {
|
||||||
|
ids.push(this.selectedRowKeysList[i].id)
|
||||||
|
} else {
|
||||||
|
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data = ''
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataStatusConfirmedSelected')
|
||||||
|
}
|
||||||
|
if (ids && ids.length > 0) {
|
||||||
|
this.submitTask(value, prompt, ids, notConditions, data)
|
||||||
|
} else {
|
||||||
|
this.failedMessage(data)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
missionAcceptedClickJC(value, prompt) {
|
||||||
|
let ids = []
|
||||||
|
let notConditions = []
|
||||||
|
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||||
|
if (this.selectedRowKeysList[i].flowStatus == 'Task to be confirmed' &&
|
||||||
|
this.selectedRowKeysList[i].dutyPersonName == this.userInfo().username) {
|
||||||
|
ids.push(this.selectedRowKeysList[i].id)
|
||||||
|
} else {
|
||||||
|
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data = ''
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
data = this.$t('operationWithoutPermission') + this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('data')
|
||||||
|
}
|
||||||
|
if (ids && ids.length > 0) {
|
||||||
|
this.submitTask(value, prompt, ids, notConditions, data)
|
||||||
|
} else {
|
||||||
|
this.failedMessage(data)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
//责任人提交
|
||||||
|
submitClick(value, prompt) {
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
let ids = []
|
||||||
|
let notConditions = []
|
||||||
|
if (this.roleSwitchingCode == 20) {
|
||||||
|
this.submitClickJC(value, prompt)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||||
|
if (this.selectedRowKeysList[i].flowStatus == 'Results to be submitted' ||
|
||||||
|
this.selectedRowKeysList[i].flowStatus == 'Review and return') {
|
||||||
|
ids.push(this.selectedRowKeysList[i].id)
|
||||||
|
} else {
|
||||||
|
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data = ''
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataStatusSubmittedCanBeSelected')
|
||||||
|
}
|
||||||
|
if (ids && ids.length > 0) {
|
||||||
|
this.submitTask(value, prompt, ids, notConditions, data)
|
||||||
|
} else {
|
||||||
|
this.failedMessage(data)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
//接口人提交
|
||||||
|
submitClickJC(value, prompt) {
|
||||||
|
let ids = []
|
||||||
|
let notConditions = []
|
||||||
|
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||||
|
if ((this.selectedRowKeysList[i].flowStatus == 'Results to be submitted' ||
|
||||||
|
this.selectedRowKeysList[i].flowStatus == 'Review and return') &&
|
||||||
|
this.selectedRowKeysList[i].dutyPersonName == this.userInfo().username) {
|
||||||
|
ids.push(this.selectedRowKeysList[i].id)
|
||||||
|
} else {
|
||||||
|
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data = ''
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
data = this.$t('operationWithoutPermission') + this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('data')
|
||||||
|
}
|
||||||
|
if (ids && ids.length > 0) {
|
||||||
|
this.submitTask(value, prompt, ids, notConditions, data)
|
||||||
|
} else {
|
||||||
|
this.failedMessage(data)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
//审批通过/退回
|
||||||
|
ApprovedClick(value, prompt) {
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
let ids = []
|
||||||
|
let notConditions = []
|
||||||
|
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
|
||||||
|
if (this.selectedRowKeysList[i].flowStatus == 'Results to be reviewed') {
|
||||||
|
ids.push(this.selectedRowKeysList[i].id)
|
||||||
|
} else {
|
||||||
|
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let data = ''
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataStatusResultReviewedCanBeSelected')
|
||||||
|
}
|
||||||
|
if (ids && ids.length > 0) {
|
||||||
|
this.submitTask(value, prompt, ids, notConditions, data)
|
||||||
|
} else {
|
||||||
|
this.failedMessage(data)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
failedMessage(data) {
|
||||||
|
let detailedWarningList = []
|
||||||
|
detailedWarningList.push(data)
|
||||||
|
this.$warning({
|
||||||
|
content: ( < div > { detailedWarningList } < /div>)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
submitTask(value, prompt, ids, notConditions, data) {
|
||||||
|
let _this = this
|
||||||
|
this.$confirm({
|
||||||
|
content: prompt,
|
||||||
|
onOk() {
|
||||||
|
let query = {
|
||||||
|
'nodeKey': value,
|
||||||
|
'projectLibraryId': _this.$route.query.id,
|
||||||
|
'ids': ids.join(',')
|
||||||
|
}
|
||||||
|
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||||
|
_this.getList()
|
||||||
|
_this.selectedRowKeys = []
|
||||||
|
_this.selectedRowKeysList = []
|
||||||
|
if (notConditions && notConditions.length > 0) {
|
||||||
|
_this.failedMessage(data)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_this.$message.warning(_this.$t('operationFailed'))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -228,30 +228,30 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0">
|
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0">
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>
|
<!-- <span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>-->
|
||||||
<span class="title-text-text" :title="$t('certifiedEngineer')">{{$t('certifiedEngineer')}}</span>
|
<!-- <span class="title-text-text" :title="$t('certifiedEngineer')">{{$t('certifiedEngineer')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-form-model-item class="itemModel" :prop="'homologationEngineerId'">
|
<!-- <a-form-model-item class="itemModel" :prop="'homologationEngineerId'">-->
|
||||||
<a-select :placeholder="$t('PleaseSelect')+$t('certifiedEngineer')"
|
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('certifiedEngineer')"-->
|
||||||
class="box-input"
|
<!-- class="box-input"-->
|
||||||
allowClear
|
<!-- allowClear-->
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
|
||||||
v-model="formInline.homologationEngineerId">
|
<!-- v-model="formInline.homologationEngineerId">-->
|
||||||
<a-select-option v-for="(item, key) in certificationEngineerList"
|
<!-- <a-select-option v-for="(item, key) in certificationEngineerList"-->
|
||||||
:key="key"
|
<!-- :key="key"-->
|
||||||
:value="item.value">
|
<!-- :value="item.value">-->
|
||||||
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
|
||||||
{{ item.name}}
|
<!-- {{ item.name}}-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
</a-select-option>
|
<!-- </a-select-option>-->
|
||||||
</a-select>
|
<!-- </a-select>-->
|
||||||
</a-form-model-item>
|
<!-- </a-form-model-item>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -277,7 +277,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<!-- <a-row :gutter="24">-->
|
||||||
<!-- <a-col :span="12">-->
|
<!-- <a-col :span="12">-->
|
||||||
<!-- <div class="box-title-text">-->
|
<!-- <div class="box-title-text">-->
|
||||||
<!-- <div class="title-text">-->
|
<!-- <div class="title-text">-->
|
||||||
@@ -295,23 +295,23 @@
|
|||||||
<!-- </a-form-model-item>-->
|
<!-- </a-form-model-item>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<!-- </a-col>-->
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
<!-- <a-row :gutter="24">-->
|
<a-row :gutter="24">
|
||||||
<!-- <a-col :span="24">-->
|
<a-col :span="24">
|
||||||
<!-- <div class="box-title-text">-->
|
<div class="box-title-text">
|
||||||
<!-- <div class="title-text">-->
|
<div class="title-text">
|
||||||
<!-- <span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>-->
|
<span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <a-form-model-item class="itemModel-text" :prop="'remarks'">-->
|
<a-form-model-item class="itemModel-text" :prop="'remarks'">
|
||||||
<!-- <a-textarea-->
|
<a-textarea
|
||||||
<!-- style="width: 100%"-->
|
style="width: 100%"
|
||||||
<!-- :placeholder="$t('PleaseEnter')+$t('remarks')"-->
|
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
||||||
<!-- :disabled="false"-->
|
:disabled="false"
|
||||||
<!-- v-model="formInline.remark" :rows="4"/>-->
|
v-model="formInline.remark" :rows="4"/>
|
||||||
<!-- </a-form-model-item>-->
|
</a-form-model-item>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- </a-col>-->
|
</a-col>
|
||||||
<!-- </a-row>-->
|
</a-row>
|
||||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||||
@@ -324,36 +324,6 @@
|
|||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&
|
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&
|
||||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text"
|
|
||||||
:title="$t('Sponsor')">{{$t('Sponsor')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="designInitiatorId">
|
|
||||||
<a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"
|
|
||||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
|
||||||
class="box-input"
|
|
||||||
allowClear
|
|
||||||
v-model="formInline.designInitiatorId">
|
|
||||||
<a-select-option v-for="(item, key) in designInitiatorList"
|
|
||||||
:key="key"
|
|
||||||
:value="item.value">
|
|
||||||
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
|
||||||
{{ item.name }}
|
|
||||||
</span>
|
|
||||||
</a-select-option>
|
|
||||||
</a-select>
|
|
||||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.designInitiator"-->
|
|
||||||
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
|
|
||||||
<!-- @input="handleInput('designInitiator')"-->
|
|
||||||
<!-- :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
|
||||||
<!-- :type="'select'"-->
|
|
||||||
<!-- :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>-->
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -383,30 +353,77 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
|
||||||
<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">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>
|
:title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" :prop="'designDueDate'">
|
<a-form-model-item class="itemModel" :prop="'verifyDueDate'">
|
||||||
<a-date-picker class="box-input"
|
<a-date-picker class="box-input"
|
||||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||||
@change="dateChange({db_field_name:'designDueDate'})"
|
@change="dateChange({db_field_name:'verifyDueDate'})"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
v-model="formInline.designDueDate"
|
v-model="formInline.verifyDueDate"
|
||||||
style="width: 100%"/>
|
style="width: 100%"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<!-- <a-col :span="12">-->
|
||||||
|
<!-- <div class="box-title-text">-->
|
||||||
|
<!-- <div class="title-text">-->
|
||||||
|
<!-- <span class="title-text-text"-->
|
||||||
|
<!-- :title="$t('Sponsor')">{{$t('Sponsor')}}</span>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <a-form-model-item class="itemModel" prop="designInitiatorId">-->
|
||||||
|
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
||||||
|
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
|
||||||
|
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||||
|
<!-- class="box-input"-->
|
||||||
|
<!-- allowClear-->
|
||||||
|
<!-- v-model="formInline.designInitiatorId">-->
|
||||||
|
<!-- <a-select-option v-for="(item, key) in designInitiatorList"-->
|
||||||
|
<!-- :key="key"-->
|
||||||
|
<!-- :value="item.value">-->
|
||||||
|
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
|
||||||
|
<!-- {{ item.name }}-->
|
||||||
|
<!-- </span>-->
|
||||||
|
<!-- </a-select-option>-->
|
||||||
|
<!-- </a-select>-->
|
||||||
|
<!-- <!– <j-dict-select-tag class="box-input" v-model="formInline.designInitiator"–>-->
|
||||||
|
<!-- <!– :disabled="formInline.roleCode == 0 ? false : true"–>-->
|
||||||
|
<!-- <!– @input="handleInput('designInitiator')"–>-->
|
||||||
|
<!-- <!– :placeholder="$t('PleaseSelect')+$t('Sponsor')"–>-->
|
||||||
|
<!-- <!– :type="'select'"–>-->
|
||||||
|
<!-- <!– :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>–>-->
|
||||||
|
<!-- </a-form-model-item>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </a-col>-->
|
||||||
</a-row>
|
</a-row>
|
||||||
|
<!-- <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">-->
|
||||||
|
<!-- <span class="title-text-text"-->
|
||||||
|
<!-- :title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <a-form-model-item class="itemModel" :prop="'designDueDate'">-->
|
||||||
|
<!-- <a-date-picker class="box-input"-->
|
||||||
|
<!-- :placeholder="$t('PleaseSelect')+$t('cutoffTime')"-->
|
||||||
|
<!-- @change="dateChange({db_field_name:'designDueDate'})"-->
|
||||||
|
<!-- format="YYYY-MM-DD"-->
|
||||||
|
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
|
||||||
|
<!-- v-model="formInline.designDueDate"-->
|
||||||
|
<!-- style="width: 100%"/>-->
|
||||||
|
<!-- </a-form-model-item>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </a-col>-->
|
||||||
|
<!-- </a-row>-->
|
||||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||||
@@ -475,171 +492,171 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
<!-- <div class="header-text" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||||
{{$t('PrehomoConfirmation')}}
|
<!-- {{$t('PrehomoConfirmation')}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('Sponsor')">{{$t('Sponsor')}}</span>
|
<!-- :title="$t('Sponsor')">{{$t('Sponsor')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-form-model-item class="itemModel" prop="prehomoInitiatorId">
|
<!-- <a-form-model-item class="itemModel" prop="prehomoInitiatorId">-->
|
||||||
<a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"
|
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
||||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
|
||||||
class="box-input"
|
<!-- class="box-input"-->
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||||
allowClear
|
<!-- allowClear-->
|
||||||
v-model="formInline.prehomoInitiatorId">
|
<!-- v-model="formInline.prehomoInitiatorId">-->
|
||||||
<a-select-option v-for="(item, key) in prehomoInitiatorList"
|
<!-- <a-select-option v-for="(item, key) in prehomoInitiatorList"-->
|
||||||
:key="key"
|
<!-- :key="key"-->
|
||||||
:value="item.value">
|
<!-- :value="item.value">-->
|
||||||
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
|
||||||
{{ item.name }}
|
<!-- {{ item.name }}-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
</a-select-option>
|
<!-- </a-select-option>-->
|
||||||
</a-select>
|
<!-- </a-select>-->
|
||||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.prehomoInitiator"-->
|
<!-- <!– <j-dict-select-tag class="box-input" v-model="formInline.prehomoInitiator"–>-->
|
||||||
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
|
<!-- <!– :disabled="formInline.roleCode == 0 ? false : true"–>-->
|
||||||
<!-- @input="handleInput('prehomoInitiator')"-->
|
<!-- <!– @input="handleInput('prehomoInitiator')"–>-->
|
||||||
<!-- :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
<!-- <!– :placeholder="$t('PleaseSelect')+$t('Sponsor')"–>-->
|
||||||
<!-- :type="'select'"-->
|
<!-- <!– :type="'select'"–>-->
|
||||||
<!-- :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>-->
|
<!-- <!– :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>–>-->
|
||||||
</a-form-model-item>
|
<!-- </a-form-model-item>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('personLiable')">{{$t('personLiable')}}</span>
|
<!-- :title="$t('personLiable')">{{$t('personLiable')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-form-model-item class="itemModel" prop="prehomoDutyId">
|
<!-- <a-form-model-item class="itemModel" prop="prehomoDutyId">-->
|
||||||
<a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"
|
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
|
||||||
class="box-input"
|
<!-- class="box-input"-->
|
||||||
allowClear
|
<!-- allowClear-->
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||||
v-model="formInline.prehomoDutyId">
|
<!-- v-model="formInline.prehomoDutyId">-->
|
||||||
<a-select-option v-for="(item, key) in prehomoDutyList"
|
<!-- <a-select-option v-for="(item, key) in prehomoDutyList"-->
|
||||||
:key="key"
|
<!-- :key="key"-->
|
||||||
:value="item.value">
|
<!-- :value="item.value">-->
|
||||||
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
|
||||||
{{ item.name }}
|
<!-- {{ item.name }}-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
</a-select-option>
|
<!-- </a-select-option>-->
|
||||||
</a-select>
|
<!-- </a-select>-->
|
||||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.prehomoDuty"-->
|
<!-- <!– <j-dict-select-tag class="box-input" v-model="formInline.prehomoDuty"–>-->
|
||||||
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
|
<!-- <!– :disabled="formInline.roleCode == 0 ? false : true"–>-->
|
||||||
<!-- @input="handleInput('prehomoDuty')"-->
|
<!-- <!– @input="handleInput('prehomoDuty')"–>-->
|
||||||
<!-- :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
|
<!-- <!– :placeholder="$t('PleaseSelect')+$t('personLiable')"–>-->
|
||||||
<!-- :type="'select'"-->
|
<!-- <!– :type="'select'"–>-->
|
||||||
<!-- :triggerChange="false" :dictCode="'ze2_ren4_ren2'"/>-->
|
<!-- <!– :triggerChange="false" :dictCode="'ze2_ren4_ren2'"/>–>-->
|
||||||
</a-form-model-item>
|
<!-- </a-form-model-item>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>
|
<!-- :title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-form-model-item class="itemModel" :prop="'prehomoDueDate'">
|
<!-- <a-form-model-item class="itemModel" :prop="'prehomoDueDate'">-->
|
||||||
<a-date-picker class="box-input"
|
<!-- <a-date-picker class="box-input"-->
|
||||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
<!-- :placeholder="$t('PleaseSelect')+$t('cutoffTime')"-->
|
||||||
@change="dateChange({db_field_name:'prehomoDueDate'})"
|
<!-- @change="dateChange({db_field_name:'prehomoDueDate'})"-->
|
||||||
format="YYYY-MM-DD"
|
<!-- format="YYYY-MM-DD"-->
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
|
||||||
v-model="formInline.prehomoDueDate"
|
<!-- v-model="formInline.prehomoDueDate"-->
|
||||||
style="width: 100%"/>
|
<!-- style="width: 100%"/>-->
|
||||||
</a-form-model-item>
|
<!-- </a-form-model-item>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
<!-- :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-form-model-item class="itemModel" prop="prehomoDeliverableType">
|
<!-- <a-form-model-item class="itemModel" prop="prehomoDeliverableType">-->
|
||||||
<a-tree-select
|
<!-- <a-tree-select-->
|
||||||
tree-node-filter-prop="title"
|
<!-- tree-node-filter-prop="title"-->
|
||||||
v-model="formInline.prehomoDeliverableType"
|
<!-- v-model="formInline.prehomoDeliverableType"-->
|
||||||
:maxTagCount="1"
|
<!-- :maxTagCount="1"-->
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||||
class="box-input"
|
<!-- class="box-input"-->
|
||||||
style="width: 100%"
|
<!-- style="width: 100%"-->
|
||||||
:tree-data="DeliverableTreeList"
|
<!-- :tree-data="DeliverableTreeList"-->
|
||||||
tree-checkable
|
<!-- tree-checkable-->
|
||||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
<!-- :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"-->
|
||||||
/>
|
<!-- />-->
|
||||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.prehomoDeliverableType"-->
|
<!-- <!– <j-dict-select-tag class="box-input" v-model="formInline.prehomoDeliverableType"–>-->
|
||||||
<!-- :disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDeliverableType ? true : false"-->
|
<!-- <!– :disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDeliverableType ? true : false"–>-->
|
||||||
<!-- @input="handleInput('prehomoDeliverableType')"-->
|
<!-- <!– @input="handleInput('prehomoDeliverableType')"–>-->
|
||||||
<!-- :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"-->
|
<!-- <!– :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"–>-->
|
||||||
<!-- :type="'select'"-->
|
<!-- <!– :type="'select'"–>-->
|
||||||
<!-- :triggerChange="false" :dictCode="'deliverable_template'"/>-->
|
<!-- <!– :triggerChange="false" :dictCode="'deliverable_template'"/>–>-->
|
||||||
</a-form-model-item>
|
<!-- </a-form-model-item>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
|
<!-- :title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-form-model-item class="itemModel" prop="prehomoDeliverableTemplate">
|
<!-- <a-form-model-item class="itemModel" prop="prehomoDeliverableTemplate">-->
|
||||||
<a-button type="primary" class="button-text"
|
<!-- <a-button type="primary" class="button-text"-->
|
||||||
@click="clickButtonToUpload('prehomoDeliverableTemplate')">
|
<!-- @click="clickButtonToUpload('prehomoDeliverableTemplate')">-->
|
||||||
{{ (formInline.prehomoDeliverableTemplate === 'null' || formInline.prehomoDeliverableTemplate === ''
|
<!-- {{ (formInline.prehomoDeliverableTemplate === 'null' || formInline.prehomoDeliverableTemplate === ''-->
|
||||||
||
|
<!-- ||-->
|
||||||
formInline.prehomoDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
<!-- formInline.prehomoDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')-->
|
||||||
}}
|
<!-- }}-->
|
||||||
</a-button>
|
<!-- </a-button>-->
|
||||||
</a-form-model-item>
|
<!-- </a-form-model-item>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||||
<a-col :span="24">
|
<!-- <a-col :span="24">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>
|
<!-- :title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<a-form-model-item class="itemModel-text" :prop="'prehomoRemark'">
|
<!-- <a-form-model-item class="itemModel-text" :prop="'prehomoRemark'">-->
|
||||||
<a-textarea
|
<!-- <a-textarea-->
|
||||||
style="width: 100%"
|
<!-- style="width: 100%"-->
|
||||||
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
<!-- :placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"-->
|
||||||
v-model="formInline.prehomoRemark" :rows="4"/>
|
<!-- v-model="formInline.prehomoRemark" :rows="4"/>-->
|
||||||
</a-form-model-item>
|
<!-- </a-form-model-item>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||||
@@ -652,36 +669,6 @@
|
|||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
||||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||||
<a-col :span="12">
|
|
||||||
<div class="box-title-text">
|
|
||||||
<div class="title-text">
|
|
||||||
<span class="title-text-text"
|
|
||||||
:title="$t('Sponsor')">{{$t('Sponsor')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="itemModel" prop="verifyInitiatorId">
|
|
||||||
<a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"
|
|
||||||
class="box-input"
|
|
||||||
allowClear
|
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
|
||||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
|
||||||
v-model="formInline.verifyInitiatorId">
|
|
||||||
<a-select-option v-for="(item, key) in verifyInitiatorList"
|
|
||||||
:key="key"
|
|
||||||
:value="item.value">
|
|
||||||
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
|
||||||
{{ item.name }}
|
|
||||||
</span>
|
|
||||||
</a-select-option>
|
|
||||||
</a-select>
|
|
||||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.verifyInitiator"-->
|
|
||||||
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
|
|
||||||
<!-- @input="handleInput('verifyInitiator')"-->
|
|
||||||
<!-- :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
|
||||||
<!-- :type="'select'"-->
|
|
||||||
<!-- :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>-->
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -711,12 +698,6 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
|
||||||
<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">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -734,7 +715,44 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<!-- <a-col :span="12">-->
|
||||||
|
<!-- <div class="box-title-text">-->
|
||||||
|
<!-- <div class="title-text">-->
|
||||||
|
<!-- <span class="title-text-text"-->
|
||||||
|
<!-- :title="$t('Sponsor')">{{$t('Sponsor')}}</span>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <a-form-model-item class="itemModel" prop="verifyInitiatorId">-->
|
||||||
|
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
||||||
|
<!-- class="box-input"-->
|
||||||
|
<!-- allowClear-->
|
||||||
|
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||||
|
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
|
||||||
|
<!-- v-model="formInline.verifyInitiatorId">-->
|
||||||
|
<!-- <a-select-option v-for="(item, key) in verifyInitiatorList"-->
|
||||||
|
<!-- :key="key"-->
|
||||||
|
<!-- :value="item.value">-->
|
||||||
|
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
|
||||||
|
<!-- {{ item.name }}-->
|
||||||
|
<!-- </span>-->
|
||||||
|
<!-- </a-select-option>-->
|
||||||
|
<!-- </a-select>-->
|
||||||
|
<!-- <!– <j-dict-select-tag class="box-input" v-model="formInline.verifyInitiator"–>-->
|
||||||
|
<!-- <!– :disabled="formInline.roleCode == 0 ? false : true"–>-->
|
||||||
|
<!-- <!– @input="handleInput('verifyInitiator')"–>-->
|
||||||
|
<!-- <!– :placeholder="$t('PleaseSelect')+$t('Sponsor')"–>-->
|
||||||
|
<!-- <!– :type="'select'"–>-->
|
||||||
|
<!-- <!– :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>–>-->
|
||||||
|
<!-- </a-form-model-item>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </a-col>-->
|
||||||
</a-row>
|
</a-row>
|
||||||
|
<!-- <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-row>-->
|
||||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||||
@@ -804,95 +822,95 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0">
|
<!-- <div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0">-->
|
||||||
{{$t('listConfirmationRejectionReason')}}
|
<!-- {{$t('listConfirmationRejectionReason')}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
|
|
||||||
<div v-if="rejectCauseList && rejectCauseList.length > 0"
|
<!-- <div v-if="rejectCauseList && rejectCauseList.length > 0"-->
|
||||||
v-for="(item,index) in rejectCauseList">
|
<!-- v-for="(item,index) in rejectCauseList">-->
|
||||||
<a-row :gutter="24">
|
<!-- <a-row :gutter="24">-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>
|
<!-- :title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="itemModel-reject">
|
<!-- <div class="itemModel-reject">-->
|
||||||
{{item.createBy ? item.createBy : '--'}}
|
<!-- {{item.createBy ? item.createBy : '--'}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>
|
<!-- :title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="itemModel-reject">
|
<!-- <div class="itemModel-reject">-->
|
||||||
{{item.rejectTime ? item.rejectTime : '--'}}
|
<!-- {{item.rejectTime ? item.rejectTime : '--'}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
<a-row :gutter="24">
|
<!-- <a-row :gutter="24">-->
|
||||||
<a-col :span="24">
|
<!-- <a-col :span="24">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('rejectReason')">{{$t('rejectReason')}}</span>
|
<!-- :title="$t('rejectReason')">{{$t('rejectReason')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="itemModel-reject">
|
<!-- <div class="itemModel-reject">-->
|
||||||
{{item.rejectCause ? item.rejectCause : '--'}}
|
<!-- {{item.rejectCause ? item.rejectCause : '--'}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
|
|
||||||
<div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0">
|
<!-- <div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0">-->
|
||||||
{{$t('taskConfirmationRejectionReason')}}
|
<!-- {{$t('taskConfirmationRejectionReason')}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
|
|
||||||
<div v-if="rejectCauseListOne && rejectCauseListOne.length > 0"
|
<!-- <div v-if="rejectCauseListOne && rejectCauseListOne.length > 0"-->
|
||||||
v-for="(item,index) in rejectCauseListOne">
|
<!-- v-for="(item,index) in rejectCauseListOne">-->
|
||||||
<a-row :gutter="24">
|
<!-- <a-row :gutter="24">-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>
|
<!-- :title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="itemModel-reject">
|
<!-- <div class="itemModel-reject">-->
|
||||||
{{item.createBy ? item.createBy : '--'}}
|
<!-- {{item.createBy ? item.createBy : '--'}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>
|
<!-- :title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="itemModel-reject">
|
<!-- <div class="itemModel-reject">-->
|
||||||
{{item.rejectTime ? item.rejectTime : '--'}}
|
<!-- {{item.rejectTime ? item.rejectTime : '--'}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
<a-row :gutter="24">
|
<!-- <a-row :gutter="24">-->
|
||||||
<a-col :span="24">
|
<!-- <a-col :span="24">-->
|
||||||
<div class="box-title-text">
|
<!-- <div class="box-title-text">-->
|
||||||
<div class="title-text">
|
<!-- <div class="title-text">-->
|
||||||
<span class="title-text-text"
|
<!-- <span class="title-text-text"-->
|
||||||
:title="$t('rejectReason')">{{$t('rejectReason')}}</span>
|
<!-- :title="$t('rejectReason')">{{$t('rejectReason')}}</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="itemModel-reject">
|
<!-- <div class="itemModel-reject">-->
|
||||||
{{item.rejectCause ? item.rejectCause : '--'}}
|
<!-- {{item.rejectCause ? item.rejectCause : '--'}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</a-row>
|
<!-- </a-row>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-form-model>
|
</a-form-model>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<div class="drawer-bootom-button">
|
<div class="drawer-bootom-button">
|
||||||
|
|||||||
@@ -97,7 +97,19 @@
|
|||||||
<!-- v-if="(isRoleSwitching && !isDisplay) || (!isDisplay && roleSwitchingList.length > 1) || isDisplay"-->
|
<!-- v-if="(isRoleSwitching && !isDisplay) || (!isDisplay && roleSwitchingList.length > 1) || isDisplay"-->
|
||||||
<div class="table-operator"
|
<div class="table-operator"
|
||||||
style="overflow:hidden;margin-bottom: 20px">
|
style="overflow:hidden;margin-bottom: 20px">
|
||||||
<div style="float: right;margin-top: 1px; margin-left: 20px">
|
<div style="float: left;margin-bottom: 0px;margin-left: 20px" v-if="isDisplay">
|
||||||
|
<div @click="transferClick" class="operator-text">
|
||||||
|
<a-icon type="profile" />
|
||||||
|
{{ $t('Transfer') }}
|
||||||
|
</div>
|
||||||
|
<div class="operator-text" @click="bringInRelevantPersonnelClick">
|
||||||
|
<a-icon type="user" />
|
||||||
|
{{ $t('bringInRelevantPersonnel') }}
|
||||||
|
</div>
|
||||||
|
<div class="operator-text" @click="batSettingClick">
|
||||||
|
<a-icon type="setting" />
|
||||||
|
{{ $t('BatchSetting') }}
|
||||||
|
</div>
|
||||||
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirmmize" placement="bottomRight">
|
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirmmize" placement="bottomRight">
|
||||||
<template slot="title" id="popconfirmmize">
|
<template slot="title" id="popconfirmmize">
|
||||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||||
@@ -126,64 +138,52 @@
|
|||||||
{{ $t('customize') }}
|
{{ $t('customize') }}
|
||||||
</div>
|
</div>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
</div>
|
|
||||||
<div style="float: left;margin-bottom: 0px;margin-left: 20px" v-if="isDisplay">
|
|
||||||
<div class="operator-text" @click="initiateListConfirmationcClick('清单')">
|
|
||||||
<a-icon type="solution" />
|
|
||||||
{{ $t('initiateListConfirmation') }}
|
|
||||||
</div>
|
|
||||||
<div class="operator-text" @click="initiateTaskConfirmationClick('任务')">
|
|
||||||
<a-icon type="file-protect" />
|
|
||||||
{{ $t('initiateTaskConfirmation') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="float: right;margin-top: 1px;;margin-right: 20px" v-if="isDisplay">
|
|
||||||
<a-popconfirm overlayClassName="popconfirm" placement="bottomRight">
|
<a-popconfirm overlayClassName="popconfirm" placement="bottomRight">
|
||||||
<template slot="title" id="popconfirm">
|
<template slot="title" id="popconfirm">
|
||||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||||
<div class="operator-text-title">
|
<div @click="handleAdd" class="operator-text-title">
|
||||||
<ImportFile :url="url" :projectLibraryId=$route.query.id :isTrue="true" :accept="'.zip'"
|
<a-icon type="plus" />
|
||||||
@getList="getPersonnelList" />
|
{{ $t('add') }}
|
||||||
</div>
|
</div>
|
||||||
<div @click="handleModule" class="operator-text-title">
|
<div @click="copyClick" class="operator-text-title">
|
||||||
<a-icon type="download" />
|
<a-icon type="copy" />
|
||||||
{{ $t('templateDownload') }}
|
{{ $t('copy') }}
|
||||||
</div>
|
|
||||||
<div @click="handleExport" v-has="'projectLawsInventory:exportData'" class="operator-text-title">
|
|
||||||
<a-icon type="export" :rotate="-90" />
|
|
||||||
{{ $t('export') }}
|
|
||||||
</div>
|
</div>
|
||||||
<div @click="handleDel" class="operator-text-title">
|
<div @click="handleDel" class="operator-text-title">
|
||||||
<a-icon type="delete" />
|
<a-icon type="delete" />
|
||||||
{{ $t('BatchDelete') }}
|
{{ $t('BatchDelete') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text-title" @click="ExportReportClick">
|
<div @click="handleModule" class="operator-text-title">
|
||||||
|
<a-icon type="download" />
|
||||||
|
{{ $t('templateDownload') }}
|
||||||
|
</div>
|
||||||
|
<div class="operator-text-title">
|
||||||
|
<ImportFile :url="url" :projectLibraryId=$route.query.id :isTrue="true" :accept="'.zip'"
|
||||||
|
@getList="getPersonnelList" />
|
||||||
|
</div>
|
||||||
|
<div @click="handleExport" v-has="'projectLawsInventory:exportData'" class="operator-text-title">
|
||||||
<a-icon type="export" :rotate="-90" />
|
<a-icon type="export" :rotate="-90" />
|
||||||
{{ $t('ExportReport') }}
|
{{ $t('export') }}
|
||||||
</div>
|
|
||||||
<div class="operator-text-title" @click="batSettingClick">
|
|
||||||
<a-icon type="setting" />
|
|
||||||
{{ $t('batchSettingInformation') }}
|
|
||||||
</div>
|
|
||||||
<div class="operator-text-title" @click="batchSettingPersonnelClick">
|
|
||||||
<a-icon type="setting" />
|
|
||||||
{{ $t('batchSettingPersonnel') }}
|
|
||||||
</div>
|
|
||||||
<div class="operator-text-title" @click="questionClick">
|
|
||||||
<a-icon type="sound" />
|
|
||||||
{{ $t('question') }}
|
|
||||||
</div>
|
|
||||||
<div class="operator-text-title" @click="alterationClick">
|
|
||||||
<a-icon type="file-search" />
|
|
||||||
{{ $t('alteration') }}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text-title" @click="fixedPlateClick">
|
<div class="operator-text-title" @click="fixedPlateClick">
|
||||||
<a-icon type="pushpin" />
|
<a-icon type="pushpin" />
|
||||||
{{ $t('fixedPlate') }}
|
{{ $t('fixedPlate') }}
|
||||||
</div>
|
</div>
|
||||||
<div @click="copyClick" class="operator-text-title">
|
<div class="operator-text-title" @click="ExportReportClick">
|
||||||
<a-icon type="copy" />
|
<a-icon type="export" :rotate="-90" />
|
||||||
{{ $t('copy') }}
|
{{ $t('compliancereport') }}
|
||||||
|
</div>
|
||||||
|
<!-- <div class="operator-text-title" @click="batSettingClick">-->
|
||||||
|
<!-- <a-icon type="setting" />-->
|
||||||
|
<!-- {{ $t('batchSettingInformation') }}-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="operator-text-title" @click="batchSettingPersonnelClick">-->
|
||||||
|
<!-- <a-icon type="setting" />-->
|
||||||
|
<!-- {{ $t('batchSettingPersonnel') }}-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<div class="operator-text-title" @click="alterationClick">
|
||||||
|
<a-icon type="file-search" />
|
||||||
|
{{ $t('processReset') }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -191,21 +191,28 @@
|
|||||||
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
|
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
|
||||||
</div>
|
</div>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
|
<!-- <div class="operator-text" @click="initiateTaskConfirmationClick('任务')">-->
|
||||||
|
<!-- <a-icon type="file-protect" />-->
|
||||||
|
<!-- {{ $t('initiateTaskConfirmation') }}-->
|
||||||
|
<!-- </div>-->
|
||||||
|
</div>
|
||||||
|
<div style="float: right;margin-top: 1px;;margin-right: 20px" v-if="isDisplay">
|
||||||
|
|
||||||
<!-- <div class="operator-text" @click="customizeClick">-->
|
<!-- <div class="operator-text" @click="customizeClick">-->
|
||||||
<!-- <a-icon type="setting"/>-->
|
<!-- <a-icon type="setting"/>-->
|
||||||
<!-- {{ $t('customize') }}-->
|
<!-- {{ $t('customize') }}-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<div class="operator-text" @click="bringInRelevantPersonnelClick">
|
<div class="operator-text" @click="initiateListConfirmationcClick('清单')">
|
||||||
<a-icon type="user" />
|
<a-icon type="solution" />
|
||||||
{{ $t('bringInRelevantPersonnel') }}
|
{{ $t('release') }}
|
||||||
</div>
|
</div>
|
||||||
<div @click="transferClick" class="operator-text">
|
<div class="operator-text" @click="withdrawnClick">
|
||||||
<a-icon type="profile" />
|
<a-icon type="rollback" />
|
||||||
{{ $t('Transfer') }}
|
{{ $t('withdraw') }}
|
||||||
</div>
|
</div>
|
||||||
<div @click="handleAdd" class="operator-text">
|
<div class="operator-text" @click="questionClick">
|
||||||
<a-icon type="plus" />
|
<a-icon type="sound" />
|
||||||
{{ $t('add') }}
|
{{ $t('question') }}
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="operator-text"-->
|
<!-- <div class="operator-text"-->
|
||||||
<!-- v-if="roleSwitchingList.length > 1"-->
|
<!-- v-if="roleSwitchingList.length > 1"-->
|
||||||
@@ -229,10 +236,7 @@
|
|||||||
<a-icon type="close-circle" />
|
<a-icon type="close-circle" />
|
||||||
{{ $t('overrule') }}
|
{{ $t('overrule') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="batSettingClick" v-if="isRoleSwitching">
|
|
||||||
<a-icon type="setting" />
|
|
||||||
{{ $t('batchSettingInformation') }}
|
|
||||||
</div>
|
|
||||||
<!-- <div class="operator-text"-->
|
<!-- <div class="operator-text"-->
|
||||||
<!-- v-if="roleSwitchingList.length > 1"-->
|
<!-- v-if="roleSwitchingList.length > 1"-->
|
||||||
<!-- @click="roleSwitchingClick">-->
|
<!-- @click="roleSwitchingClick">-->
|
||||||
@@ -1545,7 +1549,7 @@ export default {
|
|||||||
this.$message.warning(this.$t('OnlyOneSelected'))
|
this.$message.warning(this.$t('OnlyOneSelected'))
|
||||||
} else {
|
} else {
|
||||||
let serialNumber = this.selectedRowKeysList[0].serialNumber
|
let serialNumber = this.selectedRowKeysList[0].serialNumber
|
||||||
downloadFile(this.url.ExportReportUrl, this.$t('listOfRegulations') + this.$t('ExportReport') + '-' + serialNumber + '.docx', { id: selectedRowKeys.join(',') })
|
downloadFile(this.url.ExportReportUrl, this.$t('listOfRegulations') + this.$t('compliancereport') + '-' + serialNumber + '.docx', { id: selectedRowKeys.join(',') })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleExport() {
|
handleExport() {
|
||||||
@@ -1645,6 +1649,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 撤回
|
||||||
|
withdrawnClick(){
|
||||||
|
|
||||||
},
|
},
|
||||||
questionClick() {
|
questionClick() {
|
||||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
|||||||
@@ -28,6 +28,9 @@
|
|||||||
</a>
|
</a>
|
||||||
<span v-else>--</span>
|
<span v-else>--</span>
|
||||||
</span>
|
</span>
|
||||||
|
<span slot="taskStatus" slot-scope="text,record">
|
||||||
|
<span>{{text ? text : '--'}}</span>
|
||||||
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
@@ -99,7 +102,8 @@
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'statusShow',
|
dataIndex: 'statusShow',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
width: 170
|
width: 170,
|
||||||
|
scopedSlots: { customRender: 'taskStatus' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
@@ -174,6 +178,19 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
window.open(newUrl.href, '_blank')
|
window.open(newUrl.href, '_blank')
|
||||||
|
}else if (row.flowType == '21') {
|
||||||
|
let newUrl = this.$router.resolve({
|
||||||
|
path: '/ProjectDetails',
|
||||||
|
query: {
|
||||||
|
id: row.projectLibraryId,
|
||||||
|
projectName: row.projectName,
|
||||||
|
projectNameId: row.projectNameId,
|
||||||
|
targetMarket: row.targetMarket,
|
||||||
|
studioEngineer: row.studioEngineer,
|
||||||
|
type: '106'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
window.open(newUrl.href, '_blank')
|
||||||
} else if (row.flowType == '2') {
|
} else if (row.flowType == '2') {
|
||||||
row.taskId = row.taskId + ''
|
row.taskId = row.taskId + ''
|
||||||
if (row.taskId.length > 30) {
|
if (row.taskId.length > 30) {
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ export default {
|
|||||||
item.state = 2
|
item.state = 2
|
||||||
content = this.$t('confirmWithdraw')
|
content = this.$t('confirmWithdraw')
|
||||||
}
|
}
|
||||||
item.id = val.id
|
item.ids = val.id
|
||||||
let _this = this
|
let _this = this
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
content: content,
|
content: content,
|
||||||
|
|||||||
+21
-1
@@ -187,6 +187,7 @@
|
|||||||
:scroll="{x: '100%',y:'calc(100vh - 356px)'}"
|
:scroll="{x: '100%',y:'calc(100vh - 356px)'}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
|
@change="tableOnChange"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:columns="columns">
|
:columns="columns">
|
||||||
<span slot="item" slot-scope="text,record">
|
<span slot="item" slot-scope="text,record">
|
||||||
@@ -520,13 +521,32 @@ export default {
|
|||||||
editModelList() {
|
editModelList() {
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
tableOnChange(pagination, filters, sorter) {
|
||||||
|
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
|
||||||
|
if(sorter.columnKey == 'shi4Yong4Fan4Wei2_dictText'){
|
||||||
|
this.orderByField = 'shi4Yong4Fan4Wei2'
|
||||||
|
} else if(sorter.columnKey == 'state_dictText') {
|
||||||
|
this.orderByField = 'state'
|
||||||
|
} else if(sorter.columnKey == 'xin1Che1Xing2Shi2Shi1Ri4Qi1') {
|
||||||
|
this.orderByField = 'xin1_che1_xing2_shi2_shi1_ri4_qi1'
|
||||||
|
} else if(sorter.columnKey == 'implementTime') {
|
||||||
|
this.orderByField = 'implement_time'
|
||||||
|
} else if(sorter.columnKey == 'dutyTerritory_dictText') {
|
||||||
|
this.orderByField = 'dutyTerritory'
|
||||||
|
} else if(sorter.columnKey == 'attestationRank_dictText') {
|
||||||
|
this.orderByField = 'attestationRank'
|
||||||
|
} else{
|
||||||
|
this.orderByField = sorter.columnKey
|
||||||
|
}
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
let query = {
|
let query = {
|
||||||
...this.queryParam,
|
...this.queryParam,
|
||||||
...this.queryParamQuery,
|
...this.queryParamQuery,
|
||||||
orderBy: this.orderBy,
|
orderBy: this.orderBy,
|
||||||
orderByField: this.orderByField,
|
orderByField: this.orderByField,
|
||||||
dummyInventoryBaseId: this.$route.query.id
|
authDummyInventoryBaseId: this.$route.query.id
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
getAction(this.url.list,query).then((res) => {
|
getAction(this.url.list,query).then((res) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user