Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH
This commit is contained in:
+6
-2
@@ -139,11 +139,12 @@ public class ProjectCertificationInventoryEO implements Serializable {
|
||||
private String bussDocumentLibraryId;
|
||||
|
||||
/**交付物模板*/
|
||||
// @Excel(name = "交付物模板", width = 15)
|
||||
|
||||
@ApiModelProperty(value = "交付物模板")
|
||||
private String deliverableTemplate;
|
||||
/**交付物模板名称**/
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "交付物模板", width = 15)
|
||||
private String deliverableTemplateName;
|
||||
|
||||
/**交付结果*/
|
||||
@@ -157,7 +158,6 @@ public class ProjectCertificationInventoryEO implements Serializable {
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "截止日期")
|
||||
private Date endTime;
|
||||
|
||||
/**流程状态*/
|
||||
@ApiModelProperty(value = "流程状态")
|
||||
private String flowStatus;
|
||||
@@ -213,4 +213,8 @@ public class ProjectCertificationInventoryEO implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private String excelName;
|
||||
|
||||
// @Excel(name = "截止日期", width = 15, format = "yyyy-MM-dd")
|
||||
// @TableField(exist = false)
|
||||
// private String endTimeStr;
|
||||
}
|
||||
|
||||
+2
-1
@@ -137,11 +137,12 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
|
||||
private java.lang.String bussDocumentLibraryId;
|
||||
|
||||
/**交付物模板*/
|
||||
// @Excel(name = "交付物模板", width = 15)
|
||||
|
||||
@ApiModelProperty(value = "交付物模板")
|
||||
private java.lang.String deliverableTemplate;
|
||||
/**交付物模板名称**/
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "交付物模板", width = 15)
|
||||
private String deliverableTemplateName;
|
||||
|
||||
/**交付结果*/
|
||||
|
||||
+9
-9
@@ -102,19 +102,19 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
/**适用地区*/
|
||||
@ApiModelProperty(value = "适用地区")
|
||||
//@Dict(dicCode ="region")
|
||||
@Excel(name = "适用地区", width = 15, dicCode = "region")
|
||||
// @Excel(name = "适用地区", width = 15, dicCode = "region")
|
||||
private java.lang.String region;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String region_dictText;
|
||||
|
||||
/**对应标准*/
|
||||
@Excel(name = "对应标准", width = 20)
|
||||
// @Excel(name = "对应标准", width = 20)
|
||||
@ApiModelProperty(value = "对应标准")
|
||||
private String correspondingStandard;
|
||||
|
||||
/**实施类别*/
|
||||
@Excel(name = "实施类别", width = 20,dicCode ="implement_type")
|
||||
// @Excel(name = "实施类别", width = 20,dicCode ="implement_type")
|
||||
@ApiModelProperty(value = "实施类别")
|
||||
//@Dict(dicCode ="implement_type")
|
||||
private String implementType;
|
||||
@@ -122,7 +122,7 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
private String implementType_dictText;
|
||||
|
||||
/**新车型实施日期*/
|
||||
@Excel(name = "新车型实施日期", width = 20, format = "yyyy-MM-dd")
|
||||
// @Excel(name = "新车型实施日期", width = 20, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "新车型实施日期")
|
||||
@@ -132,7 +132,7 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
private String xin1Che1Xing2Shi2Shi1Ri4Qi1String;
|
||||
|
||||
/**在产车实施日期*/
|
||||
@Excel(name = "在产车实施日期", width = 20, format = "yyyy-MM-dd")
|
||||
// @Excel(name = "在产车实施日期", width = 20, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "在产车实施日期")
|
||||
@@ -162,7 +162,7 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
private String applicableSupplement;
|
||||
|
||||
/**WVTA ID*/
|
||||
@Excel(name = "WVTA ID", width = 20)
|
||||
// @Excel(name = "WVTA ID", width = 20)
|
||||
@ApiModelProperty(value = "WVTA ID")
|
||||
private String wvtaId;
|
||||
|
||||
@@ -187,7 +187,7 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
@ApiModelProperty(value = "认证工程师id")
|
||||
private String homologationEngineerId;
|
||||
|
||||
@Excel(name = "认证工程师", width = 20)
|
||||
// @Excel(name = "认证工程师", width = 20)
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "认证工程师名称")
|
||||
private String homologationEngineerName;//认证工程师名称
|
||||
@@ -238,7 +238,7 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
private String designInitiatorId;
|
||||
|
||||
/**设计符合性确认-发起人名称*/
|
||||
@Excel(name = "发起人", width = 20,groupName = "设计符合性确认")
|
||||
// @Excel(name = "发起人", width = 20,groupName = "设计符合性确认")
|
||||
@TableField(exist = false)
|
||||
private String designInitiatorName;
|
||||
|
||||
@@ -372,7 +372,7 @@ public class ProjectLawsInventoryEO implements Serializable {
|
||||
private String verifyInitiatorId;
|
||||
|
||||
/**验证符合性确认-发起人名称*/
|
||||
@Excel(name = "发起人", width = 20,groupName = "验证符合性确认")
|
||||
// @Excel(name = "发起人", width = 20,groupName = "验证符合性确认")
|
||||
@TableField(exist = false)
|
||||
private String verifyInitiatorName;
|
||||
|
||||
|
||||
+9
-9
@@ -101,29 +101,29 @@ public class ProjectLawsInventoryEOEn implements Serializable {
|
||||
/**适用地区*/
|
||||
@ApiModelProperty(value = "适用地区")
|
||||
@Dict(dicCode ="Area")
|
||||
@Excel(name = "Area", width = 15)
|
||||
// @Excel(name = "Area", width = 15)
|
||||
private String region;
|
||||
|
||||
/**对应标准*/
|
||||
@Excel(name = "Compare EU/CN", width = 20)
|
||||
// @Excel(name = "Compare EU/CN", width = 20)
|
||||
@ApiModelProperty(value = "对应标准")
|
||||
private String correspondingStandard;
|
||||
|
||||
/**实施类别*/
|
||||
@Excel(name = "Usage", width = 20,dicCode ="implement_type")
|
||||
// @Excel(name = "Usage", width = 20,dicCode ="implement_type")
|
||||
@ApiModelProperty(value = "实施类别")
|
||||
@Dict(dicCode ="implement_type")
|
||||
private String implementType;
|
||||
|
||||
/**新车型实施日期*/
|
||||
@Excel(name = "New Type Execution Date", width = 30, format = "yyyy-MM-dd")
|
||||
// @Excel(name = "New Type Execution Date", width = 30, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "新车型实施日期")
|
||||
private Date xin1Che1Xing2Shi2Shi1Ri4Qi1;
|
||||
|
||||
/**在产车实施日期*/
|
||||
@Excel(name = "New Vehicle Execution Date", width = 30, format = "yyyy-MM-dd")
|
||||
// @Excel(name = "New Vehicle Execution Date", width = 30, format = "yyyy-MM-dd") 67169
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "在产车实施日期")
|
||||
@@ -146,7 +146,7 @@ public class ProjectLawsInventoryEOEn implements Serializable {
|
||||
private String applicableSupplement;
|
||||
|
||||
/**WVTA ID*/
|
||||
@Excel(name = "WVTA ID", width = 20)
|
||||
// @Excel(name = "WVTA ID", width = 20)
|
||||
@ApiModelProperty(value = "WVTA ID")
|
||||
private String wvtaId;
|
||||
|
||||
@@ -169,7 +169,7 @@ public class ProjectLawsInventoryEOEn implements Serializable {
|
||||
@ApiModelProperty(value = "认证工程师id")
|
||||
private String homologationEngineerId;
|
||||
|
||||
@Excel(name = "Homologation Engineer", width = 25)
|
||||
// @Excel(name = "Homologation Engineer", width = 25)
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "认证工程师名称")
|
||||
private String homologationEngineerName;//认证工程师名称
|
||||
@@ -213,7 +213,7 @@ public class ProjectLawsInventoryEOEn implements Serializable {
|
||||
private String designInitiatorId;
|
||||
|
||||
/**设计符合性确认-发起人名称*/
|
||||
@Excel(name = "Reviewer", width = 25,groupName = "Design Compliance Check")
|
||||
// @Excel(name = "Reviewer", width = 25,groupName = "Design Compliance Check")
|
||||
@TableField(exist = false)
|
||||
private String designInitiatorName;
|
||||
|
||||
@@ -325,7 +325,7 @@ public class ProjectLawsInventoryEOEn implements Serializable {
|
||||
private String verifyInitiatorId;
|
||||
|
||||
/**验证符合性确认-发起人名称*/
|
||||
@Excel(name = "Reviewer", width = 25,groupName = "Validation Compliance Check")
|
||||
// @Excel(name = "Reviewer", width = 25,groupName = "Validation Compliance Check")
|
||||
@TableField(exist = false)
|
||||
private String verifyInitiatorName;
|
||||
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ public enum ProjectRoleEnum {
|
||||
MANAGER("manage","11",""),
|
||||
ADMIN("系统管理员","12",""),
|
||||
VIEWER("Viewer","13",""),
|
||||
DUTYPERSON("责任人","14","")
|
||||
;
|
||||
|
||||
String name;
|
||||
|
||||
+667
-33
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aliyuncs.utils.IOUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -15,12 +16,14 @@ import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.DateUtils;
|
||||
import com.jero.common.util.oss.CosBootUtil;
|
||||
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO;
|
||||
import com.jero.modules.authDummy.service.IAuthDummyInventoryBaseEOService;
|
||||
import com.jero.modules.authDummy.service.IAuthDummyInventoryInfoEOService;
|
||||
import com.jero.modules.document.controller.BussDocumentLibraryEOController;
|
||||
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.feishu.enums.TemplateInfoEnum2;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
@@ -63,15 +66,18 @@ import org.aspectj.util.FileUtil;
|
||||
import org.jeecgframework.poi.excel.ExcelExportUtil;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||
import org.joda.time.DateTime;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.*;
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -85,6 +91,8 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl.copyFile;
|
||||
|
||||
/**
|
||||
* @Description: 项目库-认证清单表
|
||||
* @Author: jero-boot
|
||||
@@ -139,6 +147,15 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
@Autowired
|
||||
private IOSSFileService ossFileService;
|
||||
|
||||
@Autowired
|
||||
SysCategoryMapper sysCategoryMapper;
|
||||
@Autowired
|
||||
private IBussDocumentLibraryEOService iBussDocumentLibraryEOService;
|
||||
@Autowired
|
||||
private IProjectRelatedPersonnelService iProjectRelatedPersonnelService;
|
||||
@Autowired
|
||||
private IOSSFileService iOSSFileService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -2651,13 +2668,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
public void importData(MultipartFile file, ProjectCertificationInventoryEO projectCertificationInventoryEO) {
|
||||
String title = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
title = "类别,检验项目,配置项,WVTA ID," +
|
||||
"*标准编号,*责任领域,工程接口人,责任人," +
|
||||
"交付物类型,截止日期";
|
||||
}else{
|
||||
title = "Category,Inspection Items,Configuration Item,WVTA ID," +
|
||||
"*Standard No,*Responsible Field,Eng. Interface,Assignee," +
|
||||
"Deliverable Type,Due Date";
|
||||
title = "*类别,*检验项目,*配置项,*WVTA ID," +
|
||||
"*标准编号,*责任领域,*工程接口人,*责任人," +
|
||||
"*交付物类型,交付物模板,*截止日期";
|
||||
}else {
|
||||
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
|
||||
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
|
||||
"*Deliverable Type,Deliverable Template,*Due Date";
|
||||
}
|
||||
|
||||
int pos = file.getOriginalFilename().lastIndexOf(".");
|
||||
@@ -2802,7 +2819,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dataList.size() == 0) {
|
||||
//删除原上传文件
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
@@ -2816,7 +2832,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
//数据转换 JSON.parseObject(JSON.toJSONString(map), MyUser.class)
|
||||
for (Map<String, String> stringStringMap : dataList) {
|
||||
ProjectCertificationInventoryEO projectCertificationInventoryEOTemp = JSON.parseObject(JSON.toJSONString(stringStringMap), ProjectCertificationInventoryEO.class);
|
||||
// projectCertificationInventoryEOTemp.setCut(projectCertificationInventoryEO.getCut());
|
||||
projectCertificationInventoryEOTemp.setCut(projectCertificationInventoryEO.getCut());
|
||||
projectCertificationInventoryEOTemp.setProjectLibraryId(projectCertificationInventoryEO.getProjectLibraryId());
|
||||
projectCertificationInventoryEOTemp.setFlowStatus(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
||||
datas.add(projectCertificationInventoryEOTemp);
|
||||
@@ -2842,17 +2858,553 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
}
|
||||
workbook.close();
|
||||
// List<SysCategory> categoryList = sysCategoryService.list();
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
//普通数据字典
|
||||
// List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
|
||||
// importDatas(datas, dictItemList, zipEntryName,saveDirectory,projectCertificationInventoryEO,categoryList);
|
||||
String cut = projectCertificationInventoryEO.getCut();
|
||||
importDisposeData(datas,cut);
|
||||
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
|
||||
importDatas(datas, dictItemList, zipEntryName,saveDirectory,projectCertificationInventoryEO,categoryList);
|
||||
// String cut = projectCertificationInventoryEO.getCut();
|
||||
// importDisposeData(datas,cut);
|
||||
//删除原上传文件
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
|
||||
}
|
||||
|
||||
private void importDatas(List<ProjectCertificationInventoryEO> datas,
|
||||
List<SysDictItem> dictItemList, String zipEntryName,
|
||||
File saveDirectory, ProjectCertificationInventoryEO projectCertificationInventoryEOTemp,
|
||||
List<SysCategory> categoryList) {
|
||||
List<String> msgList = new ArrayList<>();
|
||||
//模板数据验证
|
||||
msgList = dataTemplateVerify(datas, dictItemList, zipEntryName, projectCertificationInventoryEOTemp, categoryList);
|
||||
|
||||
if (msgList.size() > 0) {
|
||||
//返回报错信息
|
||||
String html = "";
|
||||
for (String s : msgList) {
|
||||
html += s + "</br>";
|
||||
}
|
||||
FileUnZip.deleteDir(saveDirectory);
|
||||
throw new JeroBootException(html);
|
||||
}else {
|
||||
if (datas.size() != 0) {
|
||||
this.saveBatch(datas);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//模板数据验证
|
||||
private List<String> dataTemplateVerify(List<ProjectCertificationInventoryEO> datas,
|
||||
List<SysDictItem> dictItemList, String zipEntryName,
|
||||
ProjectCertificationInventoryEO projectCertificationInventoryEOTemp,
|
||||
List<SysCategory> categoryList) {
|
||||
String dictId = sysCategoryMapper.getDictId("ren4_zheng4_-_jiao1_fu4_wu4_lei4_xing2");
|
||||
List<SysCategory> collect = categoryList.stream().filter(e -> e.getSysDictId().equals(dictId)).collect(Collectors.toList());
|
||||
List<String> treeNameList = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
treeNameList = collect.stream().map(SysCategory::getName).collect(Collectors.toList());
|
||||
}else{
|
||||
treeNameList = collect.stream().map(SysCategory::getEnName).collect(Collectors.toList());
|
||||
}
|
||||
int i = 2;
|
||||
List<String> msgList = new ArrayList<>();
|
||||
String value = "";
|
||||
boolean flag = true;
|
||||
|
||||
//编号验证
|
||||
verifySerialNumber(datas,projectCertificationInventoryEOTemp);
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
|
||||
i++;
|
||||
String errorMsg = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
errorMsg = "第" + i + "行:";
|
||||
}else{
|
||||
errorMsg = i + " line:";
|
||||
}
|
||||
//类别
|
||||
String category = projectCertificationInventoryEO.getCategory();
|
||||
//检验项目
|
||||
String inspectionItem = projectCertificationInventoryEO.getInspectionItem();
|
||||
//配置项
|
||||
String configItem = projectCertificationInventoryEO.getConfigItem();
|
||||
//WVTA ID
|
||||
String wvtaId = projectCertificationInventoryEO.getWvtaId();
|
||||
//标准编号
|
||||
String serialNumber = projectCertificationInventoryEO.getSerialNumber();
|
||||
//责任领域
|
||||
String dutyTerritory = projectCertificationInventoryEO.getDutyTerritoryName();
|
||||
//工程接口人engineeringInterfacePerson
|
||||
String sdt = projectCertificationInventoryEO.getSdtName();
|
||||
//责任人
|
||||
String dutyPerson = projectCertificationInventoryEO.getDutyPersonName();
|
||||
//交付物类型
|
||||
String deliverableType = projectCertificationInventoryEO.getDeliverableTypeName();
|
||||
//截止时间
|
||||
Date endTime = projectCertificationInventoryEO.getEndTime();
|
||||
|
||||
//文件
|
||||
//交付物模板
|
||||
String deliverableTemplate = projectCertificationInventoryEO.getDeliverableTemplateName();
|
||||
|
||||
|
||||
|
||||
|
||||
//编号必填
|
||||
flag = must(projectCertificationInventoryEO, errorMsg, msgList, serialNumber, "编号", "Standard No");
|
||||
|
||||
|
||||
//WVTA ID
|
||||
|
||||
if(StringUtils.isNotBlank(wvtaId)){
|
||||
if(wvtaId.length() > 100){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "WVTA ID不能超过100个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The WVTA ID cannot contain more than 100 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
} else {
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "WVTA ID不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The WVTA ID cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
//类别
|
||||
|
||||
if(StringUtils.isNotBlank(category)){
|
||||
if(category.length() > 100){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "类别不能超过100个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The Category cannot contain more than 100 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
}else {
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "类别不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The Category cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
//检验项目
|
||||
|
||||
if(StringUtils.isNotBlank(inspectionItem)){
|
||||
if(inspectionItem.length() > 100){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "检验项目不能超过100个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The InspectionItem cannot contain more than 100 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
}else {
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "检验项目不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The InspectionItem cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
//配置项
|
||||
|
||||
if(StringUtils.isNotBlank(configItem)){
|
||||
if(configItem.length() > 100){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "配置项不能超过100个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The ConfigItem cannot contain more than 100 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
}else {
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "配置项不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The ConfigItem cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
|
||||
//责任领域
|
||||
|
||||
if(StringUtils.isNotBlank(dutyTerritory)){
|
||||
value = pullMore(dictItemList, projectCertificationInventoryEO, errorMsg, dutyTerritory,msgList,"责任领域","Responsible Field","duty_territory");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectCertificationInventoryEO.setDutyTerritory(value);
|
||||
}
|
||||
}else {
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "责任领域不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The Responsible Field cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
//工程接口人(责任领域下的工程接口人)
|
||||
Map<String, Object> objectMap = iProjectRelatedPersonnelService.queryPersonByProjectId(projectCertificationInventoryEOTemp.getProjectLibraryId(), value);
|
||||
|
||||
//工程接口人
|
||||
List<Map<String, String>> mapPersonList = (List<Map<String, String>>) objectMap.get("engineeringInterfacePersonList");
|
||||
//所有人
|
||||
List<Map<String, String>> allPersonList = (List<Map<String, String>>) objectMap.get("allPersonList");
|
||||
|
||||
String nameCn = "";
|
||||
String nameEn = "";
|
||||
//工程接口人
|
||||
if(StringUtils.isNotBlank(sdt)){
|
||||
nameCn = "工程接口人";
|
||||
nameEn = "Eng. Interface ";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectCertificationInventoryEO, errorMsg, msgList, sdt, mapPersonList,nameCn,nameEn, com.jero.modules.project.enums.ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue());
|
||||
}else {
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "工程接口人不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The Eng. Interface cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
//责任人
|
||||
if(StringUtils.isNotBlank(dutyPerson)){
|
||||
nameCn = "责任人";
|
||||
nameEn = "Assignee";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectCertificationInventoryEO, errorMsg, msgList, dutyPerson, allPersonList,nameCn,nameEn, com.jero.modules.project.enums.ProjectRoleEnum.DUTYPERSON.getValue());
|
||||
}else {
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "责任人不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The Assignee cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
//交付物类型
|
||||
if(StringUtils.isNotEmpty(deliverableType)){
|
||||
value = tree(categoryList,treeNameList, projectCertificationInventoryEO, errorMsg, deliverableType,msgList,"交付物类型","Deliverable Type","deliverable_template");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
String treeId = getTreeId(categoryList, projectCertificationInventoryEOTemp, treeNameList, value);
|
||||
projectCertificationInventoryEO.setDeliverableType(treeId);
|
||||
}
|
||||
}else{
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "交付物类型不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The Deliverable Type cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
|
||||
//交付物模板
|
||||
value = templateTransition(zipEntryName, projectCertificationInventoryEO, errorMsg, deliverableTemplate,msgList,"交付物模板","Deliverable Template");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectCertificationInventoryEO.setDeliverableTemplate(value);
|
||||
}
|
||||
//截止时间
|
||||
SimpleDateFormat sd = new SimpleDateFormat();
|
||||
String endTimeStr = sd.format(endTime);
|
||||
if(StringUtils.isNotBlank(endTimeStr)){
|
||||
flag = dateVerify(projectCertificationInventoryEO, errorMsg, endTime,msgList,"截止时间","Due Date");
|
||||
if(flag){
|
||||
projectCertificationInventoryEO.setEndTime(projectCertificationInventoryEO.getEndTime());
|
||||
}
|
||||
}else{
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "截止时间不能为空, ";
|
||||
}else{
|
||||
message = errorMsg + " The Due Date Type cannot null, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
|
||||
}
|
||||
return msgList;
|
||||
}
|
||||
//必填
|
||||
private boolean must(ProjectCertificationInventoryEO projectCertificationInventoryEO, String errorMsg,
|
||||
List<String> msgList, String serialNumber,String nameCn,String nameEn) {
|
||||
int errorCount = 0;
|
||||
if(StringUtils.isBlank(serialNumber)){
|
||||
errorCount ++;
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
errorMsg += nameCn + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += nameEn + "This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
if(errorCount == 0){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean dateVerify(ProjectCertificationInventoryEO projectCertificationInventoryEO,
|
||||
String errorMsg, Date field, List<String> msgList, String nameCn, String nameEn) {
|
||||
|
||||
//判断格式是否正确
|
||||
boolean flag = true;
|
||||
if(ObjectUtils.isNotEmpty(field)){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String format = sdf.format(field);
|
||||
if (!DateUtils.isValidDate(format)) {
|
||||
flag = false;
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
errorMsg += nameCn + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
|
||||
}else{
|
||||
errorMsg += nameEn + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
private String templateTransition(String zipEntryName,
|
||||
ProjectCertificationInventoryEO projectCertificationInventoryEO,
|
||||
String errorMsg, String deliverableTemplate, List<String> msgList,
|
||||
String nameCn, String nameEn) {
|
||||
String value = "";
|
||||
if (StringUtils.isNotBlank(deliverableTemplate)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String fileName : deliverableTemplate.split(",")) {
|
||||
List<File> nowFileList = new ArrayList<>();
|
||||
|
||||
nowFileList = FileUnZip.readFileByFilename(zipEntryName, fileName,projectCertificationInventoryEO.getCut(),errorMsg,msgList,nameCn,nameEn);
|
||||
|
||||
if (nowFileList.size() == 0) {
|
||||
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
// errorMsg += "压缩包中没有" + fileName + "文件; ";
|
||||
// }else{
|
||||
// errorMsg += " Not in the zip package" + fileName + "file; ";
|
||||
// }
|
||||
// msgList.add(errorMsg);
|
||||
} else {
|
||||
try {
|
||||
FileInputStream input = new FileInputStream(nowFileList.get(0));
|
||||
MultipartFile multipartFile =
|
||||
new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input);
|
||||
//文件存入文件表
|
||||
OSSFile ossFile = iOSSFileService.uploadLocalOfCos(multipartFile, "", null,null);
|
||||
if (ObjectUtils.isNotEmpty(ossFile)) {
|
||||
sb.append(ossFile.getId() + ",");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
log.error("认证清单导入"+e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(sb)) {
|
||||
value = sb.substring(0, sb.length() - 1);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
private String getTreeId(List<SysCategory> categoryList,
|
||||
ProjectCertificationInventoryEO projectCertificationInventoryEOTemp,
|
||||
List<String> treeNameList, String value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (treeNameList.contains(valueTemp)) {
|
||||
List<SysCategory> sysCategoryList = new ArrayList<>();
|
||||
if (CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())) {
|
||||
sysCategoryList = categoryList.stream().filter(e -> e.getName().equals(valueTemp)).collect(Collectors.toList());
|
||||
} else {
|
||||
sysCategoryList = categoryList.stream().filter(e -> e.getEnName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}
|
||||
if (sysCategoryList.size() != 0) {
|
||||
sb.append(sysCategoryList.get(0).getId() + ",");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(sb)) {
|
||||
String substring = sb.substring(0, sb.length() - 1);
|
||||
return substring;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String tree(List<SysCategory> categoryList, List<String> nameList,
|
||||
ProjectCertificationInventoryEO projectCertificationInventoryEO,
|
||||
String errorMsg, String value, List<String> msgList,
|
||||
String nameCn, String nameEn, String dictCode) {
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String s : value.split(",")) {
|
||||
if(!nameList.contains(s)){
|
||||
sb.append(s+",");
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(sb)){
|
||||
String substring = sb.substring(0, sb.length() - 1);
|
||||
if (CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())) {
|
||||
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配, ";
|
||||
} else {
|
||||
errorMsg += nameEn + " " + substring + " does not match the data dictionary, ";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}else{
|
||||
StringBuilder sbTemp = new StringBuilder();
|
||||
for (String s : value.split(",")) {
|
||||
List<SysCategory> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
collect = categoryList.stream().filter(e -> s.equals(e.getName())).collect(Collectors.toList());
|
||||
if(collect.size() != 0){
|
||||
sbTemp.append(collect.get(0).getName()+",");
|
||||
}
|
||||
}else{
|
||||
collect = categoryList.stream().filter(e -> s.equals(e.getEnName())).collect(Collectors.toList());
|
||||
if(collect.size() != 0){
|
||||
sbTemp.append(collect.get(0).getEnName()+",");
|
||||
}
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(sbTemp)){
|
||||
String substring = sbTemp.substring(0, sbTemp.length() - 1);
|
||||
return substring;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void personnelVerify(ProjectCertificationInventoryEO projectCertificationInventoryEO,
|
||||
String errorMsg, List<String> msgList, String regulationOwnerId,
|
||||
List<Map<String, String>> mapList, String nameCn, String nameEn, String fieldNumber) {
|
||||
//单选
|
||||
if(regulationOwnerId.contains(",")){
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
errorMsg += nameCn + "导入只能填写一个用户名, ";
|
||||
}else{
|
||||
errorMsg += "Only one user name can be entered for"+ nameEn +"import, ";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
|
||||
if(mapList.size() != 0){
|
||||
int count = 0;
|
||||
for (Map<String, String> stringStringMap : mapList) {
|
||||
String name = stringStringMap.get("name");
|
||||
if(regulationOwnerId.equals(name)){
|
||||
count ++;
|
||||
if(com.jero.modules.project.enums.ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue().equals(fieldNumber)){
|
||||
projectCertificationInventoryEO.setSdt(stringStringMap.get("value"));
|
||||
}else if(com.jero.modules.project.enums.ProjectRoleEnum.DUTYPERSON.getValue().equals(fieldNumber)){
|
||||
projectCertificationInventoryEO.setDutyPerson(stringStringMap.get("value"));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(count == 0){
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配";
|
||||
}else{
|
||||
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
}else{
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配";
|
||||
}else{
|
||||
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
}
|
||||
|
||||
private String pullMore(List<SysDictItem> dictItemList, ProjectCertificationInventoryEO projectCertificationInventoryEO,
|
||||
String errorMsg, String value, List<String> msgList,
|
||||
String nameCn, String nameEn, String dictCode) {
|
||||
List<String> valueList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
List<String> list = Arrays.asList(value.split(","));
|
||||
List<SysDictItem> sysDictItemList = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
sysDictItemList = dictItemList.stream().filter(e ->dictCode.equals(e.getDictCode()) && list.contains(e.getItemText())).collect(Collectors.toList());
|
||||
}else{
|
||||
sysDictItemList = dictItemList.stream().filter(e ->dictCode.equals(e.getDictCode()) && list.contains(e.getEnName())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if(list.size() == sysDictItemList.size()){
|
||||
valueList = sysDictItemList.stream().map(SysDictItem::getItemValue).collect(Collectors.toList());
|
||||
|
||||
}else{
|
||||
//数据中有与数据字典不匹配的值
|
||||
List<String> finalValueList = valueList;
|
||||
List<String> diffList = list.stream().filter(e -> !finalValueList.contains(e)).collect(Collectors.toList());
|
||||
if (CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())) {
|
||||
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配, ";
|
||||
} else {
|
||||
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary, ";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
}
|
||||
return StringUtils.join(valueList,",");
|
||||
}
|
||||
|
||||
|
||||
//编号验证
|
||||
private void verifySerialNumber(List<ProjectCertificationInventoryEO> datas,
|
||||
ProjectCertificationInventoryEO projectCertificationInventoryEOTemp) {
|
||||
//1. 验证标准号在文档库中是否存在
|
||||
List<String> serialNumberList = datas.stream().map(ProjectCertificationInventoryEO::getSerialNumber).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(BussDocumentLibraryEO::getSerialNumber,serialNumberList);
|
||||
List<BussDocumentLibraryEO> bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(wrapper);
|
||||
//文档库中可能存在重复的标准号
|
||||
List<String> serialNumberListTemp = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).distinct().collect(Collectors.toList());
|
||||
if(serialNumberList.size() != serialNumberListTemp.size()){
|
||||
//存在文档库没有的数据
|
||||
List<String> collect = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList());
|
||||
List<String> serialNumbers = serialNumberList.stream().filter(e -> !collect.contains(e)).collect(Collectors.toList());
|
||||
if(serialNumbers.size() > 0){
|
||||
if(CutEnum.CN.getValue().equals(datas.get(0).getCut())){
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加");
|
||||
}else{
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
|
||||
List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
|
||||
.filter(e -> e.getSerialNumber().equals(projectCertificationInventoryEO.getSerialNumber())).collect(Collectors.toList());
|
||||
projectCertificationInventoryEO.setBussDocumentLibraryId(collect.get(0).getId());
|
||||
}
|
||||
}
|
||||
// //2. 验证标准号在法规清单中是否添加过
|
||||
// LambdaQueryWrapper<ProjectCertificationInventoryEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
// lambdaQueryWrapper.in(ProjectCertificationInventoryEO::getSerialNumber,serialNumberList).in(ProjectCertificationInventoryEO::getProjectLibraryId,projectCertificationInventoryEOTemp.getProjectLibraryId());
|
||||
// List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(lambdaQueryWrapper);
|
||||
// List<String> serialNumberTempList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getSerialNumber).collect(Collectors.toList());
|
||||
// if(projectCertificationInventoryEOList.size() > 0){
|
||||
// if(CutEnum.CN.getValue().equals(datas.get(0).getCut())){
|
||||
// throw new JeroBootException(StringUtils.join(serialNumberTempList,",")+"已存在,不能重复添加");
|
||||
// }else{
|
||||
// throw new JeroBootException(StringUtils.join(serialNumberTempList,",")+" already exists and cannot be added again");
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出数据
|
||||
* @param response
|
||||
@@ -2870,10 +3422,19 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
queryWrapper.orderByDesc("create_time","serial_number");
|
||||
//导出的数据
|
||||
dataList = this.list(queryWrapper);
|
||||
//文件
|
||||
List<OSSFile> fileInfos = getOssFiles(dataList);
|
||||
//处理文件名称
|
||||
|
||||
for (int i = 0; i < dataList.size(); i++) {
|
||||
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
|
||||
String fileName = ossFileService.getFileInfos(dataList.get(i).getDeliveryResult()).stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
|
||||
dataList.get(i).setDeliveryResult(fileName);
|
||||
|
||||
}
|
||||
if(StringUtils.isNotEmpty(dataList.get(i).getDeliverableTemplate())){
|
||||
String deliverableTemplateName = template(fileInfos, dataList.get(i).getDeliverableTemplate());
|
||||
dataList.get(i).setDeliverableTemplateName(deliverableTemplateName);
|
||||
}
|
||||
}
|
||||
String cut = projectCertificationInventoryEO.getCut();
|
||||
@@ -2890,7 +3451,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
fileTemp.mkdirs();
|
||||
//文件
|
||||
// exportFile(dataList,fileInfos);
|
||||
exportFile(dataList,fileInfos);
|
||||
String excelName = projectCertificationInventoryEO.getExcelName()+".xlsx";
|
||||
// String excelName = "";
|
||||
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
@@ -2943,6 +3504,75 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void exportFile(List<ProjectCertificationInventoryEO> dataList, List<OSSFile> fileInfos) throws IOException{
|
||||
if(fileInfos.size() != 0){
|
||||
for(ProjectCertificationInventoryEO projectCertificationInventoryEO : dataList){
|
||||
String deliverableTemplate = projectCertificationInventoryEO.getDeliverableTemplate();
|
||||
String serialNumber = projectCertificationInventoryEO.getSerialNumber();
|
||||
if(StringUtils.isBlank(serialNumber)){
|
||||
continue;
|
||||
}
|
||||
List<OSSFile> deliverableTemplateFileList = new ArrayList<>();
|
||||
List<OSSFile> oSSFileList = new ArrayList<>();
|
||||
if(StringUtils.isNotBlank(deliverableTemplate)){
|
||||
deliverableTemplateFileList = fileInfos.stream().filter(e -> deliverableTemplate.contains(e.getId())).collect(Collectors.toList());
|
||||
oSSFileList.addAll(deliverableTemplateFileList);
|
||||
}
|
||||
if(oSSFileList.size() != 0){
|
||||
String fileNowPath = uploadpath + "/tempZip/" + serialNumber;
|
||||
File file = new File(fileNowPath);
|
||||
if (file.exists()) {
|
||||
file.delete();
|
||||
}
|
||||
file.mkdirs();
|
||||
for (OSSFile ossFile : oSSFileList) {
|
||||
String url = ossFile.getUrl();
|
||||
if(StringUtils.isNotBlank(url)){
|
||||
//判断文件是否存在
|
||||
boolean b = CosBootUtil.doesObjectExist(url);
|
||||
if(b){
|
||||
InputStream download = CosBootUtil.download(url);
|
||||
copyFile(download, fileNowPath + File.separator + ossFile.getFileName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private String template(List<OSSFile> fileInfos, String value) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String s : value.split(",")) {
|
||||
List<OSSFile> collect = fileInfos.stream().filter(e -> s.equals(e.getId())).collect(Collectors.toList());
|
||||
if(collect.size() != 0){
|
||||
sb.append(collect.get(0).getFileName()+",");
|
||||
}
|
||||
}
|
||||
String substring = "";
|
||||
if(StringUtils.isNotBlank(sb)){
|
||||
substring = sb.substring(0, sb.length() - 1);
|
||||
}
|
||||
return substring;
|
||||
}
|
||||
|
||||
private List<OSSFile> getOssFiles(List<ProjectCertificationInventoryEO> dataList) {
|
||||
List<String> fileIdList = new ArrayList<>();
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : dataList) {
|
||||
if(StringUtils.isNotBlank(projectCertificationInventoryEO.getDeliverableTemplate())){
|
||||
fileIdList.add(projectCertificationInventoryEO.getDeliverableTemplate());
|
||||
}
|
||||
}
|
||||
//查询所有的文件
|
||||
List<OSSFile> fileInfos = new ArrayList<>();
|
||||
if(fileIdList.size() != 0){
|
||||
fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ","));
|
||||
}
|
||||
return fileInfos;
|
||||
}
|
||||
|
||||
private String pull(List<SysDictItem> sysDictItems, String field,String dictCode) {
|
||||
if(StringUtils.isBlank(field)){
|
||||
return null;
|
||||
@@ -3008,33 +3638,37 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
private String fieldConvert(String field){
|
||||
if (field == null) return null;
|
||||
switch (field) {
|
||||
case "类别": return "category";
|
||||
case "检验项目": return "inspectionItem";
|
||||
case "配置项": return "configItem";
|
||||
case "WVTA ID": return "wvtaId";
|
||||
case "*类别": return "category";
|
||||
case "*检验项目": return "inspectionItem";
|
||||
case "*配置项": return "configItem";
|
||||
case "*WVTA ID": return "wvtaId";
|
||||
case "*标准编号": return "serialNumber";
|
||||
case "*责任领域": return "dutyTerritoryName";
|
||||
case "工程接口人": return "sdtName";
|
||||
case "责任人": return "dutyPersonName";
|
||||
case "交付物类型": return "deliverableTypeName";
|
||||
case "*工程接口人": return "sdtName";
|
||||
case "*责任人": return "dutyPersonName";
|
||||
case "*交付物类型": return "deliverableTypeName";
|
||||
case "交付物模板": return "deliverableTemplateName";
|
||||
case "交付结果": return "deliveryResult";
|
||||
case "截止日期": return "endTime";
|
||||
case "*截止日期": return "endTime";
|
||||
// case "*截止日期": return "endTimeStr";
|
||||
case "流程状态": return "flowStatus";
|
||||
case "报告编号": return "reportNumber";
|
||||
case "产品型号": return "productModel";
|
||||
case "生产企业名称": return "productionEnterpriseName";
|
||||
case "认证进度": return "certificationProgress";
|
||||
|
||||
case "Category": return "category";
|
||||
case "Inspection Items": return "inspectionItem";
|
||||
case "Configuration Item": return "configItem";
|
||||
case "*Category": return "category";
|
||||
case "*Inspection Items": return "inspectionItem";
|
||||
case "*Configuration Item": return "configItem";
|
||||
case "*Standard No": return "serialNumber";
|
||||
case "*Responsible Field": return "dutyTerritoryName";
|
||||
case "Eng. Interface": return "sdtName";
|
||||
case "Assignee": return "dutyPersonName";
|
||||
case "Deliverable Type": return "deliverableTypeNameEn";
|
||||
case "*Eng. Interface": return "sdtName";
|
||||
case "*Assignee": return "dutyPersonName";
|
||||
case "*Deliverable Type": return "deliverableTypeNameEn";
|
||||
case "Deliverable Template": return "deliverableTemplateName";
|
||||
case "Deliverables Result": return "deliveryResult";
|
||||
case "Due Date": return "endTime";
|
||||
case "*Due Date": return "endTime";
|
||||
// case "*Due Date": return "endTimeStr";
|
||||
case "Process Status": return "flowStatus";
|
||||
case "Report No": return "reportNumber";
|
||||
case "Product Model": return "productModel";
|
||||
@@ -3064,11 +3698,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
title = "*类别,*检验项目,*配置项,*WVTA ID," +
|
||||
"*标准编号,*责任领域,*工程接口人,*责任人," +
|
||||
"交付物类型,*交付物模板,*截止日期";
|
||||
"*交付物类型,交付物模板,*截止日期";
|
||||
}else {
|
||||
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
|
||||
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
|
||||
"Deliverable Type,*Deliverable Template,*Due Date";
|
||||
"*Deliverable Type,Deliverable Template,*Due Date";
|
||||
}
|
||||
|
||||
List<String> list = Arrays.asList(title.split(","));
|
||||
@@ -3112,7 +3746,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
"2.All fields marked with * must be filled in\n"+
|
||||
"3.Assignee,Deliverable Type,Eng. Interface,Standard No,Responsible Field,Fields are radio attributes that must match the corresponding field option in the system\n" +
|
||||
"4.Category,WVTA ID,Configuration Item,Inspection Items,Fill in the text\n" +
|
||||
"5.Deliverable Template,When filling in the field, you need to create a folder in the directory of the same level as the file with the name of the standard number and place the file in the folder. If b. diocx is stored under the AAA standard number, enter AAA/B. doc";
|
||||
"5.Deliverable Template,When filling in the field, you need to create a folder in the directory of the same level as the file with the name of the standard number and place the file in the folder. If b. doc is stored under the AAA standard number, enter AAA/B. doc";
|
||||
}
|
||||
for(int i = 0; i < 2; i++){
|
||||
//表头
|
||||
|
||||
@@ -1729,8 +1729,8 @@ module.exports = {
|
||||
notethree:'Provide supporting materials',
|
||||
verifyComplianceConfirmReturnReason:'Verify compliance Confirm return reason',
|
||||
theDeliverablesCannotReferencedPleaseReselect:'The deliverables of this project cannot be referenced, please reselect',
|
||||
regulationListModuleMaintenance:'Regulation list module maintenance',
|
||||
regulationListModule:'Regulation list module',
|
||||
regulationListTemplateMaintenance:'Regulation list template maintenance',
|
||||
regulatoryListTemplate:'Regulatory list template',
|
||||
gnxtwh:'Functional system maintenance',
|
||||
gnxt:'Functional system',
|
||||
dykzq:'Corresponding controller',
|
||||
|
||||
@@ -1831,8 +1831,8 @@ module.exports = {
|
||||
notethree:'\n提供证明材料\n',
|
||||
verifyComplianceConfirmReturnReason:'验证符合性确认退回原因',
|
||||
theDeliverablesCannotReferencedPleaseReselect:'不能引用本项目的交付物,请重新选择',
|
||||
regulationListModuleMaintenance:'法规清单模块维护',
|
||||
regulationListModule:'法规清单模块',
|
||||
regulationListTemplateMaintenance:'法规清单模板维护',
|
||||
regulatoryListTemplate:'法规清单模板',
|
||||
gnxtwh:'功能系统维护',
|
||||
gnxt:'功能系统',
|
||||
dykzq:'对应控制器',
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<!-- <a-icon @click="iconClick" type="arrow-left" style="margin-right: 6px;font-size: 26px;"/>-->
|
||||
<!-- </span>-->
|
||||
<span>
|
||||
{{isTrue ? $t('regulationListModuleMaintenance'):$t('regulationListModuleMaintenance')}}
|
||||
{{isTrue ? $t('regulationListTemplateMaintenance'):$t('regulationListTemplateMaintenance')}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="Virtual-detail-right">
|
||||
@@ -23,8 +23,8 @@
|
||||
<div class="Virtual-detail-content">
|
||||
<div class="box-title-text-add">
|
||||
<div class="title-text-add">
|
||||
<span class="text-left" :title="$t('regulationListModule')">
|
||||
{{$t('regulationListModule')}}
|
||||
<span class="text-left" :title="$t('regulatoryListTemplate')">
|
||||
{{$t('regulatoryListTemplate')}}
|
||||
</span>
|
||||
<span class="text-right" style="margin-right: 100px" :title="$route.query.name">
|
||||
{{$route.query.name}}
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
<span class="title-text-text" :title="$t ('implementedupgrade')">{{$t('implementedupgrade')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="implementedupgrade">
|
||||
<a-radio-group style="margin-top: 2px" class="box-input" v-model="formInline.implementedupgrade" :disabled="disabled">
|
||||
<a-radio value="0">
|
||||
<a-radio-group style="margin-top: 2px" class="box-input" v-model="formInline.sfyz" :disabled="disabled">
|
||||
<a-radio :value="0">
|
||||
{{$t('yes')}}
|
||||
</a-radio>
|
||||
<a-radio value="1">
|
||||
<a-radio :value="1">
|
||||
{{$t('not')}}
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
@@ -43,7 +43,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="numberofvehicles">
|
||||
<a-input class="box-input"
|
||||
v-model='formInline.numberofvehicles'
|
||||
v-model='formInline.wccls'
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('PleaseEnter')+$t('numberofvehicles')"/>
|
||||
</a-form-model-item>
|
||||
@@ -59,9 +59,9 @@
|
||||
<a-form-model-item class="itemModel" prop="VINcodelist">
|
||||
<a-button type="primary" class="button-text"
|
||||
:disabled="disabled"
|
||||
@click="clickButtonToUpload('VINcodelist')">
|
||||
{{ (formInline.VINcodelist === 'null' || formInline.VINcodelist === '' ||
|
||||
formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
@click="clickButtonToUpload('csv')">
|
||||
{{ (formInline.csv === 'null' || formInline.csv === '' ||
|
||||
formInline.csv == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
<p>{{$t('notecsv')}}</p>
|
||||
@@ -69,11 +69,11 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div v-for="(item,index) in formInline.dataList" :key="index">
|
||||
<div v-for="(item,index) in formInline.list" :key="index">
|
||||
<div class="header-text">
|
||||
{{$t('vehicleshavenotcompletedonlineupgrade')}}
|
||||
<a-icon class="icon-text" @click="addClick(index)" type="plus-circle"/>
|
||||
<a-icon class="icon-text" v-if="formInline.dataList.length > 1" @click="deleteClick(index)"
|
||||
<a-icon class="icon-text" v-if="formInline.list.length > 1" @click="deleteClick(index)"
|
||||
type="minus-circle" :disabled="disabled"/>
|
||||
</div>
|
||||
<div style='margin-left: 25px'>
|
||||
@@ -86,7 +86,7 @@
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.cause"
|
||||
v-model="item.wwcyy"
|
||||
:placeholder="$t('PleaseEnter')+$t('cause')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -96,13 +96,13 @@
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('Quantity')">{{$t('Quantity')}}</span>
|
||||
</div>
|
||||
<!-- :prop="'dataList.'+index+'.inspectionItem'"-->
|
||||
<!-- :prop="'list.'+index+'.inspectionItem'"-->
|
||||
<!-- :rules="[{ required: true, message: $t('inspectionItems') + $t('cannotEmpty'), trigger: 'blur'},-->
|
||||
<!-- {max: 300,message: $t('inspectionItems') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'}]"-->
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.Quantity"
|
||||
v-model="item.wwcsl"
|
||||
:placeholder="$t('PleaseEnter')+$t('Quantity')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -117,9 +117,9 @@
|
||||
<a-form-model-item class="itemModel" style='margin-left:192px'>
|
||||
<a-button type="primary" class="button-text"
|
||||
:disabled="disabled"
|
||||
@click="clickButtonToUpload('VINcodelist')">
|
||||
{{ (formInline.VINcodelist === 'null' || formInline.VINcodelist === '' ||
|
||||
formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
@click="clickButtonToUpload('wwcfj')">
|
||||
{{ (formInline.wwcfj === 'null' || formInline.wwcfj === '' ||
|
||||
formInline.wwcfj == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
<p style='width: 263px'>{{$t('format')}}</p>
|
||||
@@ -139,7 +139,7 @@
|
||||
<a-form-model-item class="itemModel" prop="implementationrecords">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('implementationrecords')"
|
||||
:disabled="disabled"
|
||||
:rows="2" v-model="formInline.remarks"/>
|
||||
:rows="2" v-model="formInline.ssjl"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -152,9 +152,9 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="VINcodelist">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('VINcodelist1')">
|
||||
{{ (formInline.VINcodelist === 'null' || formInline.VINcodelist === '' ||
|
||||
formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
@click="clickButtonToUpload('ssjlfj')">
|
||||
{{ (formInline.ssjlfj === 'null' || formInline.ssjlfj === '' ||
|
||||
formInline.ssjlfj == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
<p>{{$t('format')}}</p>
|
||||
@@ -189,7 +189,9 @@ export default {
|
||||
visible: false,
|
||||
disabled: false,
|
||||
showButton:false,
|
||||
formInline: {},
|
||||
formInline: {
|
||||
list:[{}]
|
||||
},
|
||||
confirmLoading: false,
|
||||
acceptcode:'',
|
||||
projectNameList: [],
|
||||
@@ -234,19 +236,20 @@ export default {
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
addModel(record,flag) {
|
||||
this.disabled=false
|
||||
this.showButton=false
|
||||
if(flag=='1'){
|
||||
this.disabled=true
|
||||
this.showButton=true
|
||||
}
|
||||
this.record=record
|
||||
|
||||
this.visible = true
|
||||
this.confirmLoading = false
|
||||
this.formInline = {}
|
||||
this.formInline.dataList = [{}]
|
||||
console.log('555',record);
|
||||
this.$nextTick(() => {
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
// this.$refs.codeNumber.number()
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
@@ -264,27 +267,27 @@ export default {
|
||||
this.formInline.authDummyInventoryBaseId = this.$route.query.id
|
||||
let query = JSON.parse(JSON.stringify(this.formInline))
|
||||
this.confirmLoading = true
|
||||
// postAction(this.url.addModel, query).then((res) => {
|
||||
// if (res.success) {
|
||||
// this.confirmLoading = false
|
||||
// this.$message.success(this.$t('OperationSuccessful'))
|
||||
postAction('/ota/otaBaSjJssj/add',{otaId:this.record.id,...this.formInline}).then((res) => {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
|
||||
// } else {
|
||||
// this.$message.warning(res.message)
|
||||
// this.confirmLoading = false
|
||||
// }
|
||||
// })
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
this.visible = false
|
||||
this.$emit('addModelList',this.record)
|
||||
}
|
||||
})
|
||||
},
|
||||
addClick(index){
|
||||
this.formInline.dataList.splice(index + 1, 0, {})
|
||||
this.formInline.list.splice(index + 1, 0, {})
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
deleteClick(index) {
|
||||
this.formInline.dataList.splice(index, 1)
|
||||
this.formInline.list.splice(index, 1)
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
getRegulationNo() {
|
||||
|
||||
@@ -453,11 +453,18 @@ export default {
|
||||
},
|
||||
// 结束升级
|
||||
endUpgrade(record,flag){
|
||||
console.log('model',record);
|
||||
this.$refs.upgradecompletionRef.addModel(record,flag)
|
||||
},
|
||||
// 查看
|
||||
detailclick(record){
|
||||
|
||||
localStorage.removeItem('otaIdT')
|
||||
localStorage.removeItem('otaId')
|
||||
localStorage.setItem('otaId',record.id)
|
||||
this.$router.push({
|
||||
path: '/upgradeactivityrecord',
|
||||
query: {}
|
||||
})
|
||||
},
|
||||
// 维护
|
||||
maintenanceClick(row){
|
||||
|
||||
@@ -221,30 +221,30 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<!-- <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">
|
||||
@@ -252,13 +252,13 @@
|
||||
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'engineeringInterfacePerson'">
|
||||
<!-- <PersonnelSelection-->
|
||||
<!-- :query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"-->
|
||||
<!-- :isSingleChoice="true"-->
|
||||
<!-- :personneQuery="formInline"-->
|
||||
<!-- v-if="visible"-->
|
||||
<!-- @change="PersonnelSelectionChange"-->
|
||||
<!-- v-model="formInline.engineeringInterfacePersonName"/>-->
|
||||
<!-- <PersonnelSelection-->
|
||||
<!-- :query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"-->
|
||||
<!-- :isSingleChoice="true"-->
|
||||
<!-- :personneQuery="formInline"-->
|
||||
<!-- v-if="visible"-->
|
||||
<!-- @change="PersonnelSelectionChange"-->
|
||||
<!-- v-model="formInline.engineeringInterfacePersonName"/>-->
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
|
||||
class="box-input"
|
||||
allowClear
|
||||
@@ -276,41 +276,41 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-multi" prop="region">-->
|
||||
<!-- <!– <a-input class="box-input"–>-->
|
||||
<!-- <!– :disabled="true"–>-->
|
||||
<!-- <!– v-model="formInline.region_dictText"/>–>-->
|
||||
<!-- <j-multi-select-tag class="box-input" v-model="formInline.region"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'region'"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-text" :prop="'remarks'">
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
||||
:disabled="false"
|
||||
v-model="formInline.remark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- <a-row :gutter="24">-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-multi" prop="region">-->
|
||||
<!-- <!– <a-input class="box-input"–>-->
|
||||
<!-- <!– :disabled="true"–>-->
|
||||
<!-- <!– v-model="formInline.region_dictText"/>–>-->
|
||||
<!-- <j-multi-select-tag class="box-input" v-model="formInline.region"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'region'"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-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">
|
||||
{{$t('confirmationOfDesignConformity')}}
|
||||
</div>
|
||||
@@ -326,21 +326,22 @@
|
||||
:isSingleChoice="true"
|
||||
:personneQuery="formInline"
|
||||
v-if="visible"
|
||||
:disabled="isEdit(this.formInline)"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.designDutyIdName"/>
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- allowClear-->
|
||||
<!-- v-model="formInline.designDutyId">-->
|
||||
<!-- <a-select-option v-for="(item, key) in designDutyList"-->
|
||||
<!-- :key="key"-->
|
||||
<!-- :value="item.value">-->
|
||||
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
|
||||
<!-- {{ item.name }}-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-select-option>-->
|
||||
<!-- </a-select>-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- allowClear-->
|
||||
<!-- v-model="formInline.designDutyId">-->
|
||||
<!-- <a-select-option v-for="(item, key) in designDutyList"-->
|
||||
<!-- :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.designDuty"-->
|
||||
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
|
||||
<!-- @input="handleInput('designDuty')"-->
|
||||
@@ -361,66 +362,67 @@
|
||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||
@change="dateChange({db_field_name:'designDueDate'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabled="isEdit(this.formInline)"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.designDueDate"
|
||||
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-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) ||-->
|
||||
<!-- (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">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
@@ -436,6 +438,7 @@
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:disabled="isEdit(this.formInline)"
|
||||
:tree-data="DeliverableTreeList"
|
||||
tree-checkable
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
@@ -475,177 +478,178 @@
|
||||
<a-form-model-item class="itemModel-text" :prop="'designRemark'">
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:disabled="isEdit(this.formInline)"
|
||||
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||
v-model="formInline.designRemark" :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.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">
|
||||
{{$t('verificationAndConformityconfirmation')}}
|
||||
</div>
|
||||
@@ -661,6 +665,7 @@
|
||||
:isSingleChoice="true"
|
||||
:personneQuery="formInline"
|
||||
v-if="visible"
|
||||
:disabled="isEditVerifi(this.formInline)"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="formInline.verifyDutyIdName"/>
|
||||
</a-form-model-item>
|
||||
@@ -677,50 +682,51 @@
|
||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||
@change="dateChange({db_field_name:'verifyDueDate'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabled="isEditVerifi(this.formInline)"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
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="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">-->
|
||||
<!-- <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) ||-->
|
||||
<!-- (formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&-->
|
||||
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
|
||||
<!-- -->
|
||||
<!-- </a-row>-->
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
@@ -736,6 +742,7 @@
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:disabled="isEditVerifi(this.formInline)"
|
||||
:tree-data="DeliverableTreeList"
|
||||
tree-checkable
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
@@ -776,6 +783,7 @@
|
||||
<a-form-model-item class="itemModel-text" :prop="'verifyRemark'">
|
||||
<a-textarea
|
||||
style="width: 100%"
|
||||
:disabled="isEditVerifi(this.formInline)"
|
||||
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||
v-model="formInline.verifyRemark" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
@@ -827,7 +835,8 @@
|
||||
</a-row>
|
||||
</div>
|
||||
|
||||
<div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0 && formInline.roleCodeIndex == 0">
|
||||
<div class="header-text"
|
||||
v-if="rejectCauseListOne && rejectCauseListOne.length > 0 && formInline.roleCodeIndex == 0">
|
||||
{{$t('verifyComplianceConfirmReturnReason')}}
|
||||
</div>
|
||||
|
||||
@@ -984,6 +993,22 @@
|
||||
this.userInfoQuery = this.userInfo()
|
||||
},
|
||||
methods: {
|
||||
isEdit(val) {
|
||||
if (val.designFlowStatus == 'Task to be confirmed' || val.designFlowStatus == 'Results to be submitted' ||
|
||||
val.designFlowStatus == 'Results to be reviewed') {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
isEditVerifi(val) {
|
||||
if (val.verifyFlowStatus == 'Task to be confirmed' || val.verifyFlowStatus == 'Results to be submitted' ||
|
||||
val.verifyFlowStatus == 'Results to be reviewed') {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
...mapGetters(['userInfo']),
|
||||
getRejectCause(id) {
|
||||
let query = {
|
||||
@@ -1301,8 +1326,15 @@
|
||||
this.$set(this, 'rules', rules)
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
let isTrue = false
|
||||
if (item == 'designDeliverableTemplate') {
|
||||
isTrue = this.isEdit(this.formInline)
|
||||
} else if (item == 'verifyDeliverableTemplate') {
|
||||
isTrue = this.isEditVerifi(this.formInline)
|
||||
}
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
this.$refs.uploadFile.visible = true
|
||||
this.$refs.uploadFile.disabled = isTrue
|
||||
this.uploadName = item
|
||||
getAction('sys/common/getFileInfos', { id: this.formInline[item] }).then((res) => {
|
||||
if (res.success) {
|
||||
|
||||
Reference in New Issue
Block a user