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"),
|
||||
ZRRTJRW ("zrrtjrw","责任人提交任务","The responsible person submits the task"),
|
||||
RZGCSSC ("rzgcssc","认证工程师审查","Certified engineer review"),
|
||||
RZGCSSC_TG ("rzgcssc_tg","认证工程师审查-通过","Certified engineer review through"),
|
||||
RZGCSSC_TH ("rzgcssc_th","认证工程师审查-退回","Certified engineer review returned"),
|
||||
;
|
||||
|
||||
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
|
||||
*/
|
||||
Result<?> saveBatch(JSONObject json);
|
||||
|
||||
+395
-37
@@ -301,17 +301,27 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
throw new JeroBootException("至少选择一条数据进行发布!");
|
||||
}
|
||||
String endTime = json.getString("endTime");
|
||||
String cut = json.getString("cut");
|
||||
|
||||
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,查询出状态为’清单待发布‘的数据,进行发布处理
|
||||
QueryWrapper<ProjectCertificationInventoryEO> certificationQueryWrap = new QueryWrapper<>();
|
||||
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);
|
||||
|
||||
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<>();
|
||||
|
||||
@@ -338,7 +348,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setUserId(userId);
|
||||
processInfoDetailEO.setTaskDefinitionKey(CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
||||
processInfoDetailEO.setEndTime(DateUtils.str2Date(endTime,DateUtils.date_sdf.get()));
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
processInfoDetailEO.setProcessInfoId(projectLibraryId);
|
||||
@@ -373,7 +382,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
processInfoEO.setProjectLibraryId(projectLibraryId);
|
||||
processInfoEO.setActiProcInstId(projectLibraryId);
|
||||
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();
|
||||
processInfoEO.setCreateBy(currentUser.getId());
|
||||
@@ -397,7 +406,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
detail.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||
detail.setTaskDefinitionKey(taskDefinitionKey);
|
||||
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
// detail.setEndTime(DateUtils.str2Date(endTime,DateUtils.date_sdf.get()));
|
||||
detail.setCreateTime(new Date());
|
||||
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
});
|
||||
@@ -406,6 +414,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
QueryWrapper<ProcessInfoDetailEO> removeWrap = new QueryWrapper<>();
|
||||
removeWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,processInfoId);
|
||||
removeWrap.lambda().in(ProcessInfoDetailEO::getUserId,userIdList);
|
||||
removeWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,taskDefinitionKey);
|
||||
// 删除用户在这个认证清单流程中其它的待办任务
|
||||
this.processInfoDetailEOService.remove(removeWrap);
|
||||
|
||||
@@ -680,14 +689,18 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
case RZGCSTHRW:
|
||||
return this.certificationReturnedStudioTask(json);
|
||||
case ZRRJSRW:
|
||||
|
||||
break;
|
||||
return this.dutyPersonAcceptTask(json);
|
||||
case ZRRJJRW:
|
||||
return this.dutyPersonRejectTask(json);
|
||||
case ZRRTJRW:
|
||||
|
||||
break;
|
||||
return this.dutyPersonSubmitTask(json);
|
||||
case RZGCSSC:
|
||||
|
||||
break;
|
||||
case RZGCSSC_TG:
|
||||
return this.certificationReviewThrough(json);
|
||||
case RZGCSSC_TH:
|
||||
return this.certificationReviewReturned(json);
|
||||
default:
|
||||
throw new JeroBootException(nodeKey + " 的操作节点传递有误,请联系管理员!");
|
||||
}
|
||||
@@ -695,6 +708,361 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
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) {
|
||||
String ids = json.getString("ids");
|
||||
if(StringUtils.isEmpty(ids)){
|
||||
@@ -720,18 +1088,23 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
|
||||
// 给studio分配待办中心任务
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
/*List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setUserId(projectLibraryBase.getStudioEngineer());
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.STUDIOFQ.getKey());
|
||||
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.STUDIOFQ.getKey());*/
|
||||
|
||||
try {
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue());
|
||||
}
|
||||
// 认证工程师发起任务,将数据的状态更新为 任务待确认。
|
||||
|
||||
// 认证工程师退回任务到studio,将数据的状态更新为 认证退回
|
||||
this.updateBatchById(projectCertificationInventoryEOList);
|
||||
|
||||
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||
// 如果还有 清单待校核、责任人拒绝 状态的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
|
||||
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSJSRW.getKey(),flowStatusList);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("认证工程师-退回认证清单任务失败:" + ex.getMessage());
|
||||
@@ -773,41 +1146,26 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
|
||||
try {
|
||||
// 给责任人分配待办中心的任务
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||
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.setUserId(dutyPerson);
|
||||
processInfoDetailEO.setUserId(projectCertificationInventoryEO.getDutyPerson());
|
||||
processInfoDetailEO.setEndTime(projectCertificationInventoryEO.getEndTime());
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectCertificationInventoryEO.getId());
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
|
||||
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.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSJSRW.getKey(),flowStatusList);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("认证工程师-发起认证清单任务失败:" + ex.getMessage());
|
||||
|
||||
+28
@@ -179,6 +179,34 @@
|
||||
process_info_detail pid
|
||||
where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1
|
||||
) 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.prc_num,
|
||||
pi.prc_name,
|
||||
|
||||
@@ -1406,4 +1406,22 @@ module.exports = {
|
||||
missionRejection:'Mission Rejection',
|
||||
turnToDo:'Turn To Do',
|
||||
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:'任务拒绝',
|
||||
turnToDo:'转办',
|
||||
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>
|
||||
</div>
|
||||
<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"
|
||||
v-if="textTitle === $t('listOfRegulations')"
|
||||
v-has="'projectComment:list'"
|
||||
@click="commentClick">
|
||||
<a-icon type="message"/>
|
||||
{{$t('comment')}}
|
||||
</div>
|
||||
<div class="operator-text" v-has="'projectHistoryVersions:list'"
|
||||
v-if="textTitle === $t('listOfRegulations')"
|
||||
@click="historicalVersionClick">
|
||||
<a-icon type="clock-circle"/>
|
||||
{{$t('historicalVersion')}}
|
||||
@click="todocenterClick">
|
||||
<a-icon type="qrcode"/>
|
||||
{{$t('todocenter')}}
|
||||
</div>
|
||||
<div class="operator-text" v-has="'projectLawsInventoryLog:page'"
|
||||
v-if="textTitle === $t('listOfRegulations')"
|
||||
@@ -30,6 +31,12 @@
|
||||
<a-icon type="reload"/>
|
||||
{{$t('UpdateLog')}}
|
||||
</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'"
|
||||
v-if="textTitle === $t('certificationList') || textTitle === $t('listOfRegulations')"
|
||||
@click="roleSwitchingClick">
|
||||
@@ -241,6 +248,9 @@
|
||||
} else if (this.$route.query.type == '105') {
|
||||
this.textColor(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 {
|
||||
if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) {
|
||||
@@ -308,6 +318,10 @@
|
||||
text[i].classList.add('Virtual-detail-left-text-color')
|
||||
}
|
||||
}
|
||||
},
|
||||
//待办中心跳转
|
||||
todocenterClick(){
|
||||
|
||||
},
|
||||
UpdateLogClick() {
|
||||
this.$refs.updateLogRef.getList({ projectLibraryId: this.$route.query.id })
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
<a-popconfirm overlayClassName="popconfirm" placement="bottomRight">
|
||||
<template slot="title" id="popconfirm">
|
||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||
<div>
|
||||
<!-- 添加-->
|
||||
<div @click="handleAdd"
|
||||
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
|
||||
@@ -186,45 +186,52 @@
|
||||
</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"/>
|
||||
{{ $t('initiateTask') }}
|
||||
</div>
|
||||
|
||||
<!-- 退回至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"/>
|
||||
{{ $t('returnToStudio') }}
|
||||
</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"/>
|
||||
{{ $t('Approved') }}
|
||||
</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"/>
|
||||
{{ $t('returnedForApproval') }}
|
||||
</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">
|
||||
<a-icon type="check-circle"/>
|
||||
{{ $t('missionAccepted') }}
|
||||
</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">
|
||||
<a-icon type="close-circle"/>
|
||||
{{ $t('missionRejection') }}
|
||||
</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"/>
|
||||
{{ $t('submit') }}
|
||||
</div>
|
||||
@@ -342,9 +349,10 @@
|
||||
<batSetting :url="url" ref="batSettingRef" @batSettingForm="batSettingForm"/>
|
||||
<addModel ref="addModelRef" @addModelForm="addModelForm"/>
|
||||
<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"/>
|
||||
<referenceDeliverablesList ref="referenceDeliverablesListRef" @referenceDeliverablesListForm="transferListForm"/>
|
||||
<SelectedBy ref="SelectedByRef" :title="$t('turnToDo')" @SelectedByForm="SelectedByForm"></SelectedBy>
|
||||
<a-modal
|
||||
:title="listTitle"
|
||||
:width="500"
|
||||
@@ -427,6 +435,7 @@
|
||||
import batSetting from './components/batSetting'
|
||||
import modifyHistory from './components/modifyHistoryList'
|
||||
import TaskListModel from '../TaskListModel'
|
||||
import SelectedBy from '@/components/SelectedBy/index'
|
||||
import referenceDeliverablesList from './components/referenceDeliverablesList'
|
||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||
import moment from 'moment'
|
||||
@@ -444,7 +453,8 @@
|
||||
modifyHistory,
|
||||
uploadFile,
|
||||
TaskListModel,
|
||||
referenceDeliverablesList
|
||||
referenceDeliverablesList,
|
||||
SelectedBy
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -486,7 +496,8 @@
|
||||
deleteOne: '/project/projectCertificationInventoryEO/delete',
|
||||
AndUserId: '/project/projectLibraryRoleRelEO/queryByProjectLibraryIdAndUserId',
|
||||
AndUserIdEdit: '/project/projectLibraryRoleRelEO/edit',
|
||||
saveBatch: '/project/projectCertificationInventoryEO/saveBatch'
|
||||
saveBatch: '/project/projectCertificationInventoryEO/saveBatch',
|
||||
questionUrl: ''
|
||||
},
|
||||
dataSource: [],
|
||||
roleSwitchingCode: '',
|
||||
@@ -698,11 +709,17 @@
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
if (this.roleSwitchingCode == 2) {
|
||||
this.preservationClick()
|
||||
}
|
||||
this.replacePage()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
if (this.roleSwitchingCode == 2) {
|
||||
this.preservationClick()
|
||||
}
|
||||
this.replacePage()
|
||||
},
|
||||
searchQuery() {
|
||||
@@ -839,9 +856,33 @@
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
//流程重置
|
||||
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() {
|
||||
this.$refs.addModelRef.addModel()
|
||||
},
|
||||
@@ -877,7 +918,7 @@
|
||||
this.confirmLoading = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.$message.warning(res.message)
|
||||
this.confirmLoading = false
|
||||
}
|
||||
this.detailedSuccessList = []
|
||||
@@ -889,16 +930,43 @@
|
||||
this.formInline = {}
|
||||
this.visible = false
|
||||
},
|
||||
|
||||
//撤回
|
||||
withdrawClick() {
|
||||
|
||||
},
|
||||
|
||||
//催办
|
||||
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() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
this.selectedRowKeys = []
|
||||
},
|
||||
batSettingForm() {
|
||||
this.pageNo = 1
|
||||
@@ -908,6 +976,7 @@
|
||||
addModelForm() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
this.selectedRowKeys = []
|
||||
},
|
||||
edit(item) {
|
||||
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
||||
@@ -1032,39 +1101,36 @@
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
//发起流程
|
||||
initiatingProcessClick() {
|
||||
|
||||
},
|
||||
//退回至Studio
|
||||
returnToStudioClick() {
|
||||
|
||||
},
|
||||
//审批通过
|
||||
ApprovedClick() {
|
||||
|
||||
},
|
||||
//审批退回
|
||||
returnedForApprovalClick() {
|
||||
|
||||
},
|
||||
//任务接受
|
||||
missionAcceptedClick() {
|
||||
|
||||
},
|
||||
//任务退回
|
||||
missionRejectionClick() {
|
||||
|
||||
},
|
||||
//提交
|
||||
submitClick() {
|
||||
|
||||
},
|
||||
//转办
|
||||
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) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
this.$refs.uploadFile.visible = true
|
||||
@@ -1089,30 +1155,231 @@
|
||||
/** 赋值给当前对应的表单文件 */
|
||||
this.dataSource[this.uploadIndex][this.uploadName] = attIdList.join(',')
|
||||
this.dataSource = [...this.dataSource]
|
||||
this.preservationClick()
|
||||
},
|
||||
CertificationProgressClick(val) {
|
||||
let item = JSON.parse(JSON.stringify(val))
|
||||
item.roleCode = this.roleSwitchingCode
|
||||
this.$refs.TaskListModelRef.getData(item, this.$t('CertificationProgress'))
|
||||
},
|
||||
submitTask(value) {
|
||||
//发起流程
|
||||
initiatingProcessClick(value, prompt) {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
let query = {
|
||||
'nodeKey': value,
|
||||
'projectLibraryId': this.$route.query.id,
|
||||
'ids': selectedRowKeys.join(',')
|
||||
}
|
||||
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
|
||||
if (res.success) {
|
||||
|
||||
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('onlyProcessReturned')
|
||||
}
|
||||
if (ids && ids.length > 0) {
|
||||
this.submitTask(value, prompt, ids, notConditions, data)
|
||||
} else {
|
||||
this.failedMessage(data)
|
||||
}
|
||||
} else {
|
||||
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-row>
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>
|
||||
<span class="title-text-text" :title="$t('certifiedEngineer')">{{$t('certifiedEngineer')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'homologationEngineerId'">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('certifiedEngineer')"
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
v-model="formInline.homologationEngineerId">
|
||||
<a-select-option v-for="(item, key) in certificationEngineerList"
|
||||
:key="key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
||||
{{ item.name}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>-->
|
||||
<!-- <span class="title-text-text" :title="$t('certifiedEngineer')">{{$t('certifiedEngineer')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" :prop="'homologationEngineerId'">-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('certifiedEngineer')"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- allowClear-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
|
||||
<!-- v-model="formInline.homologationEngineerId">-->
|
||||
<!-- <a-select-option v-for="(item, key) in certificationEngineerList"-->
|
||||
<!-- :key="key"-->
|
||||
<!-- :value="item.value">-->
|
||||
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
|
||||
<!-- {{ item.name}}-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-select-option>-->
|
||||
<!-- </a-select>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -277,7 +277,7 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
@@ -295,23 +295,23 @@
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
</a-row>
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="24">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-text" :prop="'remarks'">-->
|
||||
<!-- <a-textarea-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- :placeholder="$t('PleaseEnter')+$t('remarks')"-->
|
||||
<!-- :disabled="false"-->
|
||||
<!-- v-model="formInline.remark" :rows="4"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- </a-row>-->
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-text" :prop="'remarks'">
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
||||
:disabled="false"
|
||||
v-model="formInline.remark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
@@ -324,36 +324,6 @@
|
||||
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('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">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -383,30 +353,77 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</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">
|
||||
<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-form-model-item class="itemModel" :prop="'verifyDueDate'">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||
@change="dateChange({db_field_name:'designDueDate'})"
|
||||
@change="dateChange({db_field_name:'verifyDueDate'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.designDueDate"
|
||||
v-model="formInline.verifyDueDate"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('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 :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 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
@@ -475,171 +492,171 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
{{$t('PrehomoConfirmation')}}
|
||||
</div>
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('Sponsor')">{{$t('Sponsor')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoInitiatorId">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"
|
||||
:disabled="formInline.roleCodeIndex == 0 ? false : true"
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
v-model="formInline.prehomoInitiatorId">
|
||||
<a-select-option v-for="(item, key) in prehomoInitiatorList"
|
||||
: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.prehomoInitiator"-->
|
||||
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
|
||||
<!-- @input="handleInput('prehomoInitiator')"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>-->
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('personLiable')">{{$t('personLiable')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoDutyId">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"
|
||||
class="box-input"
|
||||
allowClear
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
v-model="formInline.prehomoDutyId">
|
||||
<a-select-option v-for="(item, key) in prehomoDutyList"
|
||||
: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.prehomoDuty"-->
|
||||
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
|
||||
<!-- @input="handleInput('prehomoDuty')"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'ze2_ren4_ren2'"/>-->
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'prehomoDueDate'">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||
@change="dateChange({db_field_name:'prehomoDueDate'})"
|
||||
format="YYYY-MM-DD"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.prehomoDueDate"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoDeliverableType">
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.prehomoDeliverableType"
|
||||
:maxTagCount="1"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
tree-checkable
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
/>
|
||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.prehomoDeliverableType"-->
|
||||
<!-- :disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDeliverableType ? true : false"-->
|
||||
<!-- @input="handleInput('prehomoDeliverableType')"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'deliverable_template'"/>-->
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="prehomoDeliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('prehomoDeliverableTemplate')">
|
||||
{{ (formInline.prehomoDeliverableTemplate === 'null' || formInline.prehomoDeliverableTemplate === ''
|
||||
||
|
||||
formInline.prehomoDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-text" :prop="'prehomoRemark'">
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||
v-model="formInline.prehomoRemark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- <div class="header-text" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||
<!-- {{$t('PrehomoConfirmation')}}-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('Sponsor')">{{$t('Sponsor')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="prehomoInitiatorId">-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
|
||||
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- allowClear-->
|
||||
<!-- v-model="formInline.prehomoInitiatorId">-->
|
||||
<!-- <a-select-option v-for="(item, key) in prehomoInitiatorList"-->
|
||||
<!-- :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.prehomoInitiator"–>-->
|
||||
<!-- <!– :disabled="formInline.roleCode == 0 ? false : true"–>-->
|
||||
<!-- <!– @input="handleInput('prehomoInitiator')"–>-->
|
||||
<!-- <!– :placeholder="$t('PleaseSelect')+$t('Sponsor')"–>-->
|
||||
<!-- <!– :type="'select'"–>-->
|
||||
<!-- <!– :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>–>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('personLiable')">{{$t('personLiable')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="prehomoDutyId">-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- allowClear-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- v-model="formInline.prehomoDutyId">-->
|
||||
<!-- <a-select-option v-for="(item, key) in prehomoDutyList"-->
|
||||
<!-- :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.prehomoDuty"–>-->
|
||||
<!-- <!– :disabled="formInline.roleCode == 0 ? false : true"–>-->
|
||||
<!-- <!– @input="handleInput('prehomoDuty')"–>-->
|
||||
<!-- <!– :placeholder="$t('PleaseSelect')+$t('personLiable')"–>-->
|
||||
<!-- <!– :type="'select'"–>-->
|
||||
<!-- <!– :triggerChange="false" :dictCode="'ze2_ren4_ren2'"/>–>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" :prop="'prehomoDueDate'">-->
|
||||
<!-- <a-date-picker class="box-input"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('cutoffTime')"-->
|
||||
<!-- @change="dateChange({db_field_name:'prehomoDueDate'})"-->
|
||||
<!-- format="YYYY-MM-DD"-->
|
||||
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
|
||||
<!-- v-model="formInline.prehomoDueDate"-->
|
||||
<!-- style="width: 100%"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="prehomoDeliverableType">-->
|
||||
<!-- <a-tree-select-->
|
||||
<!-- tree-node-filter-prop="title"-->
|
||||
<!-- v-model="formInline.prehomoDeliverableType"-->
|
||||
<!-- :maxTagCount="1"-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- :tree-data="DeliverableTreeList"-->
|
||||
<!-- tree-checkable-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"-->
|
||||
<!-- />-->
|
||||
<!-- <!– <j-dict-select-tag class="box-input" v-model="formInline.prehomoDeliverableType"–>-->
|
||||
<!-- <!– :disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDeliverableType ? true : false"–>-->
|
||||
<!-- <!– @input="handleInput('prehomoDeliverableType')"–>-->
|
||||
<!-- <!– :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"–>-->
|
||||
<!-- <!– :type="'select'"–>-->
|
||||
<!-- <!– :triggerChange="false" :dictCode="'deliverable_template'"/>–>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="prehomoDeliverableTemplate">-->
|
||||
<!-- <a-button type="primary" class="button-text"-->
|
||||
<!-- @click="clickButtonToUpload('prehomoDeliverableTemplate')">-->
|
||||
<!-- {{ (formInline.prehomoDeliverableTemplate === 'null' || formInline.prehomoDeliverableTemplate === ''-->
|
||||
<!-- ||-->
|
||||
<!-- formInline.prehomoDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')-->
|
||||
<!-- }}-->
|
||||
<!-- </a-button>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
|
||||
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
|
||||
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||
<!-- <a-col :span="24">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-text" :prop="'prehomoRemark'">-->
|
||||
<!-- <a-textarea-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- :placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"-->
|
||||
<!-- v-model="formInline.prehomoRemark" :rows="4"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<div class="header-text" v-if="formInline.roleCodeIndex == 0 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
@@ -652,36 +669,6 @@
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&
|
||||
formInline.regulationOwnerId == userInfoQuery.id)">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<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">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -711,12 +698,6 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</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">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -734,7 +715,44 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('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 :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 ||
|
||||
(formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&
|
||||
formInline.homologationEngineerId == userInfoQuery.id) ||
|
||||
@@ -804,95 +822,95 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0">
|
||||
{{$t('listConfirmationRejectionReason')}}
|
||||
</div>
|
||||
<!-- <div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0">-->
|
||||
<!-- {{$t('listConfirmationRejectionReason')}}-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div v-if="rejectCauseList && rejectCauseList.length > 0"
|
||||
v-for="(item,index) in rejectCauseList">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>
|
||||
</div>
|
||||
<div class="itemModel-reject">
|
||||
{{item.createBy ? item.createBy : '--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>
|
||||
</div>
|
||||
<div class="itemModel-reject">
|
||||
{{item.rejectTime ? item.rejectTime : '--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('rejectReason')">{{$t('rejectReason')}}</span>
|
||||
</div>
|
||||
<div class="itemModel-reject">
|
||||
{{item.rejectCause ? item.rejectCause : '--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<!-- <div v-if="rejectCauseList && rejectCauseList.length > 0"-->
|
||||
<!-- v-for="(item,index) in rejectCauseList">-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="itemModel-reject">-->
|
||||
<!-- {{item.createBy ? item.createBy : '--'}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="itemModel-reject">-->
|
||||
<!-- {{item.rejectTime ? item.rejectTime : '--'}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="24">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('rejectReason')">{{$t('rejectReason')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="itemModel-reject">-->
|
||||
<!-- {{item.rejectCause ? item.rejectCause : '--'}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0">
|
||||
{{$t('taskConfirmationRejectionReason')}}
|
||||
</div>
|
||||
<!-- <div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0">-->
|
||||
<!-- {{$t('taskConfirmationRejectionReason')}}-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div v-if="rejectCauseListOne && rejectCauseListOne.length > 0"
|
||||
v-for="(item,index) in rejectCauseListOne">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>
|
||||
</div>
|
||||
<div class="itemModel-reject">
|
||||
{{item.createBy ? item.createBy : '--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>
|
||||
</div>
|
||||
<div class="itemModel-reject">
|
||||
{{item.rejectTime ? item.rejectTime : '--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('rejectReason')">{{$t('rejectReason')}}</span>
|
||||
</div>
|
||||
<div class="itemModel-reject">
|
||||
{{item.rejectCause ? item.rejectCause : '--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<!-- <div v-if="rejectCauseListOne && rejectCauseListOne.length > 0"-->
|
||||
<!-- v-for="(item,index) in rejectCauseListOne">-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="itemModel-reject">-->
|
||||
<!-- {{item.createBy ? item.createBy : '--'}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="itemModel-reject">-->
|
||||
<!-- {{item.rejectTime ? item.rejectTime : '--'}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="24">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('rejectReason')">{{$t('rejectReason')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="itemModel-reject">-->
|
||||
<!-- {{item.rejectCause ? item.rejectCause : '--'}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<!-- </div>-->
|
||||
</a-form-model>
|
||||
</a-spin>
|
||||
<div class="drawer-bootom-button">
|
||||
|
||||
@@ -97,7 +97,19 @@
|
||||
<!-- v-if="(isRoleSwitching && !isDisplay) || (!isDisplay && roleSwitchingList.length > 1) || isDisplay"-->
|
||||
<div class="table-operator"
|
||||
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">
|
||||
<template slot="title" id="popconfirmmize">
|
||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||
@@ -126,64 +138,52 @@
|
||||
{{ $t('customize') }}
|
||||
</div>
|
||||
</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">
|
||||
<template slot="title" id="popconfirm">
|
||||
<div style="height:320px;overflow:scroll;overflow-x: auto;">
|
||||
<div class="operator-text-title">
|
||||
<ImportFile :url="url" :projectLibraryId=$route.query.id :isTrue="true" :accept="'.zip'"
|
||||
@getList="getPersonnelList" />
|
||||
<div @click="handleAdd" class="operator-text-title">
|
||||
<a-icon type="plus" />
|
||||
{{ $t('add') }}
|
||||
</div>
|
||||
<div @click="handleModule" class="operator-text-title">
|
||||
<a-icon type="download" />
|
||||
{{ $t('templateDownload') }}
|
||||
</div>
|
||||
<div @click="handleExport" v-has="'projectLawsInventory:exportData'" class="operator-text-title">
|
||||
<a-icon type="export" :rotate="-90" />
|
||||
{{ $t('export') }}
|
||||
<div @click="copyClick" class="operator-text-title">
|
||||
<a-icon type="copy" />
|
||||
{{ $t('copy') }}
|
||||
</div>
|
||||
<div @click="handleDel" class="operator-text-title">
|
||||
<a-icon type="delete" />
|
||||
{{ $t('BatchDelete') }}
|
||||
</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" />
|
||||
{{ $t('ExportReport') }}
|
||||
</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') }}
|
||||
{{ $t('export') }}
|
||||
</div>
|
||||
<div class="operator-text-title" @click="fixedPlateClick">
|
||||
<a-icon type="pushpin" />
|
||||
{{ $t('fixedPlate') }}
|
||||
</div>
|
||||
<div @click="copyClick" class="operator-text-title">
|
||||
<a-icon type="copy" />
|
||||
{{ $t('copy') }}
|
||||
<div class="operator-text-title" @click="ExportReportClick">
|
||||
<a-icon type="export" :rotate="-90" />
|
||||
{{ $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>
|
||||
</template>
|
||||
@@ -191,21 +191,28 @@
|
||||
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
|
||||
</div>
|
||||
</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">-->
|
||||
<!-- <a-icon type="setting"/>-->
|
||||
<!-- {{ $t('customize') }}-->
|
||||
<!-- </div>-->
|
||||
<div class="operator-text" @click="bringInRelevantPersonnelClick">
|
||||
<a-icon type="user" />
|
||||
{{ $t('bringInRelevantPersonnel') }}
|
||||
<div class="operator-text" @click="initiateListConfirmationcClick('清单')">
|
||||
<a-icon type="solution" />
|
||||
{{ $t('release') }}
|
||||
</div>
|
||||
<div @click="transferClick" class="operator-text">
|
||||
<a-icon type="profile" />
|
||||
{{ $t('Transfer') }}
|
||||
<div class="operator-text" @click="withdrawnClick">
|
||||
<a-icon type="rollback" />
|
||||
{{ $t('withdraw') }}
|
||||
</div>
|
||||
<div @click="handleAdd" class="operator-text">
|
||||
<a-icon type="plus" />
|
||||
{{ $t('add') }}
|
||||
<div class="operator-text" @click="questionClick">
|
||||
<a-icon type="sound" />
|
||||
{{ $t('question') }}
|
||||
</div>
|
||||
<!-- <div class="operator-text"-->
|
||||
<!-- v-if="roleSwitchingList.length > 1"-->
|
||||
@@ -229,10 +236,7 @@
|
||||
<a-icon type="close-circle" />
|
||||
{{ $t('overrule') }}
|
||||
</div>
|
||||
<div class="operator-text" @click="batSettingClick" v-if="isRoleSwitching">
|
||||
<a-icon type="setting" />
|
||||
{{ $t('batchSettingInformation') }}
|
||||
</div>
|
||||
|
||||
<!-- <div class="operator-text"-->
|
||||
<!-- v-if="roleSwitchingList.length > 1"-->
|
||||
<!-- @click="roleSwitchingClick">-->
|
||||
@@ -1545,7 +1549,7 @@ export default {
|
||||
this.$message.warning(this.$t('OnlyOneSelected'))
|
||||
} else {
|
||||
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() {
|
||||
@@ -1645,6 +1649,10 @@ export default {
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
// 撤回
|
||||
withdrawnClick(){
|
||||
|
||||
},
|
||||
questionClick() {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
</a>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
<span slot="taskStatus" slot-scope="text,record">
|
||||
<span>{{text ? text : '--'}}</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
<a-pagination
|
||||
@@ -99,7 +102,8 @@
|
||||
align: 'left',
|
||||
dataIndex: 'statusShow',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'taskStatus' }
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
@@ -174,6 +178,19 @@
|
||||
}
|
||||
})
|
||||
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') {
|
||||
row.taskId = row.taskId + ''
|
||||
if (row.taskId.length > 30) {
|
||||
|
||||
@@ -316,7 +316,7 @@ export default {
|
||||
item.state = 2
|
||||
content = this.$t('confirmWithdraw')
|
||||
}
|
||||
item.id = val.id
|
||||
item.ids = val.id
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: content,
|
||||
|
||||
+21
-1
@@ -187,6 +187,7 @@
|
||||
:scroll="{x: '100%',y:'calc(100vh - 356px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
@change="tableOnChange"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:columns="columns">
|
||||
<span slot="item" slot-scope="text,record">
|
||||
@@ -520,13 +521,32 @@ export default {
|
||||
editModelList() {
|
||||
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() {
|
||||
let query = {
|
||||
...this.queryParam,
|
||||
...this.queryParamQuery,
|
||||
orderBy: this.orderBy,
|
||||
orderByField: this.orderByField,
|
||||
dummyInventoryBaseId: this.$route.query.id
|
||||
authDummyInventoryBaseId: this.$route.query.id
|
||||
}
|
||||
this.loading = true
|
||||
getAction(this.url.list,query).then((res) => {
|
||||
|
||||
Reference in New Issue
Block a user