Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH
This commit is contained in:
+1
@@ -101,6 +101,7 @@ public class SysDictItem implements Serializable {
|
|||||||
private java.lang.String attributeType;
|
private java.lang.String attributeType;
|
||||||
|
|
||||||
/**逻辑删除标识*/
|
/**逻辑删除标识*/
|
||||||
|
/**value:0可用,1逻辑删除**/
|
||||||
@TableLogic
|
@TableLogic
|
||||||
public Integer delFlag;
|
public Integer delFlag;
|
||||||
|
|
||||||
|
|||||||
+12
-10
@@ -4,16 +4,17 @@ package com.jero.modules.system.enums;
|
|||||||
* 数据字典code枚举类
|
* 数据字典code枚举类
|
||||||
*/
|
*/
|
||||||
public enum DicCodeEnum {
|
public enum DicCodeEnum {
|
||||||
REGION("适用地区","0","region"),
|
REGION("适用地区","1493782108399820801","region"),
|
||||||
|
DUTY_TERRITORY("责任领域","1513417672023441409","duty_territory"),
|
||||||
;
|
;
|
||||||
|
|
||||||
String name;
|
String name;
|
||||||
String value;
|
String id;
|
||||||
String code;
|
String code;
|
||||||
|
|
||||||
private DicCodeEnum(String name, String value, String code) {
|
private DicCodeEnum(String name, String id, String code) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.value = value;
|
this.id = id;
|
||||||
this.code = code;
|
this.code = code;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,13 +26,14 @@ public enum DicCodeEnum {
|
|||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getValue() {
|
public String getId() {
|
||||||
return value;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setValue(String value) {
|
public void setId(String id) {
|
||||||
this.value = value;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCode() {
|
public String getCode() {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
@@ -40,10 +42,10 @@ public enum DicCodeEnum {
|
|||||||
this.code = code;
|
this.code = code;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getTextByValue(String value) {
|
public static String getTextByCode(String code) {
|
||||||
DicCodeEnum[] values = values();
|
DicCodeEnum[] values = values();
|
||||||
for (DicCodeEnum dicCodeEnum : values) {
|
for (DicCodeEnum dicCodeEnum : values) {
|
||||||
if (dicCodeEnum.value.equals(value)) {
|
if (dicCodeEnum.code.equals(code)) {
|
||||||
return dicCodeEnum.name;
|
return dicCodeEnum.name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ public interface SysDictItemMapper extends BaseMapper<SysDictItem> {
|
|||||||
@Select("SELECT sys_dict_item.* FROM sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id WHERE DICT_CODE = #{dictCode} order by sys_dict_item.item_text asc")
|
@Select("SELECT sys_dict_item.* FROM sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id WHERE DICT_CODE = #{dictCode} order by sys_dict_item.item_text asc")
|
||||||
public List<SysDictItem> selectItemsOrderBySortOrder(String dictCode);
|
public List<SysDictItem> selectItemsOrderBySortOrder(String dictCode);
|
||||||
|
|
||||||
@Select("SELECT sys_dict.dict_code,sys_dict_item.* from sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id where status = 1")
|
@Select("SELECT sys_dict.dict_code,sys_dict_item.* from sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id where status = 1 and sys_dict_item.del_flag = 0")
|
||||||
List<SysDictItem> selectItemsAll();
|
List<SysDictItem> selectItemsAll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+13
-11
@@ -65,12 +65,12 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
|
|||||||
private String category;
|
private String category;
|
||||||
|
|
||||||
/**检验项目*/
|
/**检验项目*/
|
||||||
@Excel(name = "Inspection Items", width = 15)
|
@Excel(name = "Inspection Items", width = 30)
|
||||||
@ApiModelProperty(value = "检验项目")
|
@ApiModelProperty(value = "检验项目")
|
||||||
private String inspectionItem;
|
private String inspectionItem;
|
||||||
|
|
||||||
/**配置项*/
|
/**配置项*/
|
||||||
@Excel(name = "Configuration Item", width = 15)
|
@Excel(name = "Configuration Item", width = 30)
|
||||||
@ApiModelProperty(value = "配置项")
|
@ApiModelProperty(value = "配置项")
|
||||||
private String configItem;
|
private String configItem;
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
|
|||||||
@ApiModelProperty(value = "责任领域")
|
@ApiModelProperty(value = "责任领域")
|
||||||
private String dutyTerritory;
|
private String dutyTerritory;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@Excel(name = "Responsible Field", width = 15)
|
@Excel(name = "Responsible Field", width = 30)
|
||||||
// 责任领域名称
|
// 责任领域名称
|
||||||
private String dutyTerritoryName;
|
private String dutyTerritoryName;
|
||||||
/**责任领域名称-英文**/
|
/**责任领域名称-英文**/
|
||||||
@@ -100,25 +100,27 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
|
|||||||
@ApiModelProperty(value = "交付物")
|
@ApiModelProperty(value = "交付物")
|
||||||
private String deliverable;
|
private String deliverable;
|
||||||
|
|
||||||
/**交付物模板*/
|
|
||||||
@ApiModelProperty(value = "交付物模板")
|
|
||||||
private java.lang.String deliverableTemplate;
|
|
||||||
/**交付物模板名称**/
|
|
||||||
@TableField(exist = false)
|
|
||||||
@Excel(name = "Deliverable Template", width = 40)
|
|
||||||
private String deliverableTemplateName;
|
|
||||||
|
|
||||||
/**交付物类型*/
|
/**交付物类型*/
|
||||||
@ApiModelProperty(value = "交付物类型")
|
@ApiModelProperty(value = "交付物类型")
|
||||||
private String deliverableType;
|
private String deliverableType;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@Excel(name = "Deliverable Type", width = 15)
|
@Excel(name = "Deliverable Type", width = 30)
|
||||||
// 交付物类型名称
|
// 交付物类型名称
|
||||||
private String deliverableTypeName;
|
private String deliverableTypeName;
|
||||||
// 交付物类型名称-英文
|
// 交付物类型名称-英文
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String deliverableTypeNameEn;
|
private String deliverableTypeNameEn;
|
||||||
|
|
||||||
|
/**交付物模板*/
|
||||||
|
@ApiModelProperty(value = "交付物模板")
|
||||||
|
private java.lang.String deliverableTemplate;
|
||||||
|
/**交付物模板名称**/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@Excel(name = "Deliverable Template", width = 30)
|
||||||
|
private String deliverableTemplateName;
|
||||||
|
|
||||||
/**文档库id*/
|
/**文档库id*/
|
||||||
// @Excel(name = "文档库id", width = 15)
|
// @Excel(name = "文档库id", width = 15)
|
||||||
@ApiModelProperty(value = "文档库id")
|
@ApiModelProperty(value = "文档库id")
|
||||||
|
|||||||
+4
-1
@@ -37,6 +37,7 @@ import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
|
|||||||
import com.jero.modules.split.common.FileUnZip;
|
import com.jero.modules.split.common.FileUnZip;
|
||||||
import com.jero.modules.system.entity.SysCategory;
|
import com.jero.modules.system.entity.SysCategory;
|
||||||
import com.jero.modules.system.entity.SysDictItem;
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
|
import com.jero.modules.system.enums.DicCodeEnum;
|
||||||
import com.jero.modules.system.enums.SysCategoryValueTypeEnum;
|
import com.jero.modules.system.enums.SysCategoryValueTypeEnum;
|
||||||
import com.jero.modules.system.mapper.SysCategoryMapper;
|
import com.jero.modules.system.mapper.SysCategoryMapper;
|
||||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||||
@@ -1218,6 +1219,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
|
|||||||
String value = "";
|
String value = "";
|
||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
|
|
||||||
|
List<SysDictItem> dutyTerritoryDictItemList = this.sysDictItemService.selectItemsByDictCode(DicCodeEnum.DUTY_TERRITORY.getCode());
|
||||||
|
|
||||||
//编号验证
|
//编号验证
|
||||||
verifySerialNumber(datas,authDummyInventoryInfoEOTemp);
|
verifySerialNumber(datas,authDummyInventoryInfoEOTemp);
|
||||||
for(AuthDummyInventoryInfoEO authDummyInventoryInfoEO :datas){
|
for(AuthDummyInventoryInfoEO authDummyInventoryInfoEO :datas){
|
||||||
@@ -1306,7 +1309,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
|
|||||||
}
|
}
|
||||||
//责任领域
|
//责任领域
|
||||||
if(StringUtils.isNotBlank(dutyTerritory)){
|
if(StringUtils.isNotBlank(dutyTerritory)){
|
||||||
value = pullMore(dictItemList, authDummyInventoryInfoEO, errorMsg, dutyTerritory,msgList,"责任领域","Responsible Field","duty_territory");
|
value = pullMore(dutyTerritoryDictItemList, authDummyInventoryInfoEO, errorMsg, dutyTerritory,msgList,"责任领域","Responsible Field","duty_territory");
|
||||||
if(StringUtils.isNotBlank(value)){
|
if(StringUtils.isNotBlank(value)){
|
||||||
authDummyInventoryInfoEO.setDutyTerritory(value);
|
authDummyInventoryInfoEO.setDutyTerritory(value);
|
||||||
}
|
}
|
||||||
|
|||||||
+10
@@ -5993,6 +5993,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
for (String phasedImplDetails : phasedImplDetailsList) {
|
for (String phasedImplDetails : phasedImplDetailsList) {
|
||||||
PhasedImplementationDetailsEO phasedImplementationDetailsEO = new PhasedImplementationDetailsEO();
|
PhasedImplementationDetailsEO phasedImplementationDetailsEO = new PhasedImplementationDetailsEO();
|
||||||
String[] phasedImplDetailsArr = phasedImplDetails.split("<n>");
|
String[] phasedImplDetailsArr = phasedImplDetails.split("<n>");
|
||||||
|
if(phasedImplDetailsArr.length < 3){
|
||||||
|
if(CutEnum.CN.getValue().equals(cut)){
|
||||||
|
errorMsg += "分阶段实施详情-必填项不能为空, ";
|
||||||
|
}else{
|
||||||
|
errorMsg += "Phased Implementation Details - Required items cannot be empty,";
|
||||||
|
}
|
||||||
|
countError++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if(phasedImplDetailsArr.length >= 1){
|
if(phasedImplDetailsArr.length >= 1){
|
||||||
String standNumberOrClause = phasedImplDetailsArr[0];
|
String standNumberOrClause = phasedImplDetailsArr[0];
|
||||||
if(StringUtils.isEmpty(standNumberOrClause)){
|
if(StringUtils.isEmpty(standNumberOrClause)){
|
||||||
|
|||||||
+1
-1
@@ -249,7 +249,7 @@ public class DummyInventoryInfoEO implements Serializable {
|
|||||||
private java.lang.String prehomoDeliverableTemplate;
|
private java.lang.String prehomoDeliverableTemplate;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@Excel(name = "Prehomo-交付物模板", width = 15)
|
// @Excel(name = "Prehomo-交付物模板", width = 15)
|
||||||
private java.lang.String prehomoDeliverableTemplateName;
|
private java.lang.String prehomoDeliverableTemplateName;
|
||||||
|
|
||||||
/**prehomo确认-发起人*/
|
/**prehomo确认-发起人*/
|
||||||
|
|||||||
+120
-21
@@ -164,6 +164,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
private IOSSFileService iOSSFileService;
|
private IOSSFileService iOSSFileService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysUserMapper sysUserMapper;
|
private SysUserMapper sysUserMapper;
|
||||||
|
@Autowired
|
||||||
|
private IProjectLibraryRoleRelEOService projectLibraryRoleRelEOService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
@@ -266,10 +268,22 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
saveOrUpdate(projectCertificationInventoryEO);
|
saveOrUpdate(projectCertificationInventoryEO);
|
||||||
|
|
||||||
|
|
||||||
// //获取责任人的所有用户
|
//获取当前的projectId
|
||||||
// List<SysUser> listUserName = new ArrayList<>();
|
String projectId = projectCertificationInventoryEO.getProjectLibraryId();
|
||||||
// listUserName = sysUserMapper.getListUserName();
|
String cut = projectCertificationInventoryEO.getCut();
|
||||||
// listUserName = listUserName.stream().distinct().collect(Collectors.toList());
|
//获取当前用户
|
||||||
|
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
Map<String,Object> params = new HashMap<>();
|
||||||
|
params.put("projectLibraryId",projectId);
|
||||||
|
params.put("userId",currentUser.getId());
|
||||||
|
params.put("modelType",RoleRelModelTypeEnum.CERTIFICATION_INVENTORY.getValue());
|
||||||
|
ProjectLibraryRoleRelEO projectLibraryRoleRelEO = projectLibraryRoleRelEOService.queryByProjectLibraryIdAndUserId(params);
|
||||||
|
String roleCode = projectLibraryRoleRelEO.getRoleCode();
|
||||||
|
|
||||||
|
// //判断当前用户与studio工程师是否一致,一致的话具有studio角色的切换
|
||||||
|
// if(studionList.contains(currentUser)){
|
||||||
|
// //用户有studio工程师的操作
|
||||||
|
// }
|
||||||
|
|
||||||
//获取当前的责任人
|
//获取当前的责任人
|
||||||
String dutyPerson = projectCertificationInventoryEO.getDutyPerson();
|
String dutyPerson = projectCertificationInventoryEO.getDutyPerson();
|
||||||
@@ -277,30 +291,115 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
|||||||
List<String> dutyTerritoryList = new ArrayList<>();
|
List<String> dutyTerritoryList = new ArrayList<>();
|
||||||
dutyTerritoryList = Arrays.asList(projectCertificationInventoryEO.getDutyTerritory().split(","));
|
dutyTerritoryList = Arrays.asList(projectCertificationInventoryEO.getDutyTerritory().split(","));
|
||||||
dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList());
|
dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList());
|
||||||
//获取当前的projectId
|
|
||||||
String projectId = projectCertificationInventoryEO.getProjectLibraryId();
|
|
||||||
//根据责任领域个projectId去查相关人员名单
|
//根据责任领域个projectId去查相关人员名单
|
||||||
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectId, dutyTerritoryList);
|
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectId, dutyTerritoryList);
|
||||||
|
|
||||||
//根据相关人员名单获取的工程接口人
|
List<String> allList = new ArrayList<>();
|
||||||
List<String> enginnerList = new ArrayList<>();
|
List<String> enginnerList = new ArrayList<>();
|
||||||
|
List<String> lawEnginnerList = new ArrayList<>();
|
||||||
|
List<String> enginnerLawSetList = new ArrayList<>();
|
||||||
|
List<String> enginnerAttSetList = new ArrayList<>();
|
||||||
|
//根据相关人员名单获取的工程接口人
|
||||||
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
||||||
enginnerList.add(relatedPersonnel.getEngineeringInterfacePerson());
|
String enginneringInterfacePerson = relatedPersonnel.getEngineeringInterfacePerson();
|
||||||
}
|
if(!StringUtils.isEmpty(enginneringInterfacePerson)){
|
||||||
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
enginnerList = Arrays.stream(enginneringInterfacePerson.split(",")).collect(Collectors.toList());
|
||||||
//如果工程接口人不为空的话
|
allList.addAll(enginnerList);
|
||||||
if(enginnerList.size()>0){
|
|
||||||
//判断哪个不存在 再去去存入
|
|
||||||
if(!enginnerList.contains(dutyPerson)){
|
|
||||||
relatedPersonnel.setEngineerAttSet(dutyPerson);
|
|
||||||
// projectRelatedPersonnelService.editById(relatedPersonnel);
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
//工程接口人为空的话,直接将责任设置到认证工程师下
|
|
||||||
relatedPersonnel.setEngineerAttSet(dutyPerson);
|
|
||||||
// projectRelatedPersonnelService.editById(relatedPersonnel);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//获取相关人员名单中的法规工程师
|
||||||
|
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
||||||
|
String lawEngineer = relatedPersonnel.getLawEngineer();
|
||||||
|
if(!StringUtils.isEmpty(lawEngineer)){
|
||||||
|
lawEnginnerList = Arrays.stream(lawEngineer.split(",")).collect(Collectors.toList());
|
||||||
|
allList.addAll(lawEnginnerList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取相关人员名单中的工程接口-法规工程师设置
|
||||||
|
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
||||||
|
String engineerLawSet = relatedPersonnel.getEngineerLawSet();
|
||||||
|
if(!StringUtils.isEmpty(engineerLawSet)){
|
||||||
|
enginnerLawSetList = Arrays.stream(engineerLawSet.split(",")).collect(Collectors.toList());
|
||||||
|
allList.addAll(enginnerLawSetList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取相关人员名单中的工程接口-认证工程师设置
|
||||||
|
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
||||||
|
String engineerAttSet = relatedPersonnel.getEngineerAttSet();
|
||||||
|
if(!StringUtils.isEmpty(engineerAttSet)){
|
||||||
|
enginnerAttSetList = Arrays.stream(engineerAttSet.split(",")).collect(Collectors.toList());
|
||||||
|
allList.addAll(enginnerAttSetList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取当前项目库id的studio工程师和认证工程师
|
||||||
|
List<String> studionList = new ArrayList<>();
|
||||||
|
List<String> certificationEngineerList = new ArrayList<>();
|
||||||
|
List<ProjectLibraryBase> projectLibraryBases = projectLibraryBaseService.queryById(projectId, cut);
|
||||||
|
for(ProjectLibraryBase projectLibraryBase : projectLibraryBases){
|
||||||
|
studionList.add(projectLibraryBase.getStudioEngineer());
|
||||||
|
|
||||||
|
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
|
||||||
|
if(!StringUtils.isEmpty(certificationEngineer)){
|
||||||
|
certificationEngineerList = Arrays.stream(certificationEngineer.split(",")).collect(Collectors.toList());
|
||||||
|
allList.addAll(certificationEngineerList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// studionList = studionList.stream().distinct().collect(Collectors.toList());
|
||||||
|
// certificationEngineerList = certificationEngineerList.stream().distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
allList = allList.stream().distinct().collect(Collectors.toList());
|
||||||
|
for(String all : allList){
|
||||||
|
if(all.equals("")){
|
||||||
|
allList.remove(all);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//遍历所有人alllist中是否包含责任人,如果包含,不用操作。
|
||||||
|
//-------如果不包含,再去判断当前用户的角色是studio、法规还是认证
|
||||||
|
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
||||||
|
if(allList.size()>0){
|
||||||
|
if(!allList.contains(dutyPerson)){
|
||||||
|
|
||||||
|
if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
|
||||||
|
if(relatedPersonnel.getEngineeringInterfacePerson() != null){
|
||||||
|
String engineeringInterfacePerson = dutyPerson+","+relatedPersonnel.getEngineeringInterfacePerson();
|
||||||
|
relatedPersonnel.setEngineeringInterfacePerson(engineeringInterfacePerson);
|
||||||
|
}else {
|
||||||
|
relatedPersonnel.setEngineeringInterfacePerson(dutyPerson);
|
||||||
|
}
|
||||||
|
}else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue())){
|
||||||
|
if(relatedPersonnel.getEngineerLawSet() != null){
|
||||||
|
String engineerLawSet = dutyPerson+","+relatedPersonnel.getEngineerLawSet();
|
||||||
|
relatedPersonnel.setEngineerLawSet(engineerLawSet);
|
||||||
|
}else {
|
||||||
|
relatedPersonnel.setEngineerLawSet(dutyPerson);
|
||||||
|
}
|
||||||
|
}else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){
|
||||||
|
if(relatedPersonnel.getEngineerAttSet() !=null){
|
||||||
|
String engineerAttSet = dutyPerson+","+relatedPersonnel.getEngineerAttSet();
|
||||||
|
relatedPersonnel.setEngineerAttSet(engineerAttSet);
|
||||||
|
}else {
|
||||||
|
relatedPersonnel.setEngineerAttSet(dutyPerson);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
|
||||||
|
// //如果工程接口人不为空的话
|
||||||
|
// if(enginnerList.size()>0){
|
||||||
|
// //判断哪个不存在 再去去存入
|
||||||
|
// if(!enginnerList.contains(dutyPerson)){
|
||||||
|
// relatedPersonnel.setEngineerAttSet(dutyPerson);
|
||||||
|
//// projectRelatedPersonnelService.editById(relatedPersonnel);
|
||||||
|
// }
|
||||||
|
// }else {
|
||||||
|
// //工程接口人为空的话,直接将责任设置到认证工程师下
|
||||||
|
// relatedPersonnel.setEngineerAttSet(dutyPerson);
|
||||||
|
//// projectRelatedPersonnelService.editById(relatedPersonnel);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList);
|
this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList);
|
||||||
|
|
||||||
|
|||||||
+728
-353
File diff suppressed because it is too large
Load Diff
+7
-7
@@ -422,11 +422,11 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
|||||||
engineerLawSetUsers = sysUserMapper.selectList(userqueryWrapper);
|
engineerLawSetUsers = sysUserMapper.selectList(userqueryWrapper);
|
||||||
}
|
}
|
||||||
if(CollectionUtils.isNotEmpty(engineerLawSetUsers)) {
|
if(CollectionUtils.isNotEmpty(engineerLawSetUsers)) {
|
||||||
String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet();
|
String engineerLawSetId = projectRelatedPersonnel.getEngineerLawSet();
|
||||||
String engineerLawSetName = null;
|
String engineerLawSetName = null;
|
||||||
StringBuilder lawSetName = new StringBuilder();
|
StringBuilder lawSetName = new StringBuilder();
|
||||||
for (String data : engineerLawSetIdList) {
|
for (String data : engineerLawSetIdList) {
|
||||||
if (StringUtils.isNotEmpty(engineerAttSetId)) {
|
if (StringUtils.isNotEmpty(engineerLawSetId)) {
|
||||||
engineerLawSetName = engineerLawSetUsers.stream().filter(e -> data.equals(e.getId()))
|
engineerLawSetName = engineerLawSetUsers.stream().filter(e -> data.equals(e.getId()))
|
||||||
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
|
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
|
||||||
}
|
}
|
||||||
@@ -837,10 +837,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
|||||||
try {
|
try {
|
||||||
String titleOne = "";
|
String titleOne = "";
|
||||||
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
|
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
|
||||||
titleOne = "责任领域,法规工程师,工程接口人,工程接口人-法规工程师设置,工程接口人-认证工程师设置,备注";
|
titleOne = "责任领域,法规工程师,工程接口人,备注";
|
||||||
fileOriName = "相关人员导入模板.xls";
|
fileOriName = "相关人员导入模板.xls";
|
||||||
} else {
|
} else {
|
||||||
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Project Interface Person - Regulation Engineer Setting,Project Interface Person - Certification Engineer Setting,Comments";
|
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Comments";
|
||||||
fileOriName = "Import template of related personnel.xls";
|
fileOriName = "Import template of related personnel.xls";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -867,7 +867,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
|||||||
cellStyleTemp.setWrapText(true);//自动换行
|
cellStyleTemp.setWrapText(true);//自动换行
|
||||||
|
|
||||||
int startLine = 0;
|
int startLine = 0;
|
||||||
int endLine = 5;
|
int endLine = 3;
|
||||||
//合并单元格
|
//合并单元格
|
||||||
CellRangeAddress region1 =
|
CellRangeAddress region1 =
|
||||||
new CellRangeAddress(1, 1, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
|
new CellRangeAddress(1, 1, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
|
||||||
@@ -881,14 +881,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
|||||||
+ "1.导入数据从第三行开始,第一行为表头,第二行为填写说明,第三行是正式数据;\n"
|
+ "1.导入数据从第三行开始,第一行为表头,第二行为填写说明,第三行是正式数据;\n"
|
||||||
+ "2.填写人员时,必须使用人员账号进行填写;\n"
|
+ "2.填写人员时,必须使用人员账号进行填写;\n"
|
||||||
+ "3.填写的人员账号必须与系统中账号保持一致;\n"
|
+ "3.填写的人员账号必须与系统中账号保持一致;\n"
|
||||||
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人、工程接口人-法规工程师设置、工程接口人-认证工程师设置四个字段信息。";
|
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人两个字段信息。";
|
||||||
} else {
|
} else {
|
||||||
explainInfo =
|
explainInfo =
|
||||||
"filling explanation\n"
|
"filling explanation\n"
|
||||||
+ "1. Import data from the third line, the first line is header, the second line is description, and the third line is official data;\n"
|
+ "1. Import data from the third line, the first line is header, the second line is description, and the third line is official data;\n"
|
||||||
+ "2. When filling in personnel, personnel account must be used to fill in;\n"
|
+ "2. When filling in personnel, personnel account must be used to fill in;\n"
|
||||||
+ "3. The personnel account number filled in must be consistent with the account number in the system;\n"
|
+ "3. The personnel account number filled in must be consistent with the account number in the system;\n"
|
||||||
+ "4. When filling in the engineers in any responsibility field, you must fill in the information of three fields: legal engineer, engineering interface person ,Project Interface Person - Regulation Engineer Setting and Project Interface Person - Certification Engineer Setting.";
|
+ "4. When filling in the engineers in any responsibility field, you must fill in the information of three fields: legal engineer, engineering interface person .";
|
||||||
}
|
}
|
||||||
HSSFRichTextString explain = new HSSFRichTextString(explainInfo);
|
HSSFRichTextString explain = new HSSFRichTextString(explainInfo);
|
||||||
|
|
||||||
|
|||||||
+1
-3
@@ -134,6 +134,7 @@ public class LawsWarnService {
|
|||||||
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
|
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
|
||||||
List<OnlCgformField> onlCgformFieldListTemp = onlCgformFieldList.stream().filter(e -> fieldList.contains(e.getDbFieldName())).collect(Collectors.toList());
|
List<OnlCgformField> onlCgformFieldListTemp = onlCgformFieldList.stream().filter(e -> fieldList.contains(e.getDbFieldName())).collect(Collectors.toList());
|
||||||
List<Map> records = infoPage.getRecords();
|
List<Map> records = infoPage.getRecords();
|
||||||
|
this.disposeData(records,cut);
|
||||||
for (Map record : records) {
|
for (Map record : records) {
|
||||||
//处理标题
|
//处理标题
|
||||||
if(CutEnum.EN.getValue().equals(cut)){
|
if(CutEnum.EN.getValue().equals(cut)){
|
||||||
@@ -201,9 +202,6 @@ public class LawsWarnService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.disposeData(records,cut);
|
|
||||||
|
|
||||||
return infoPage;
|
return infoPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
@@ -205,4 +205,11 @@ public interface WorkFlowFeignClient {
|
|||||||
|
|
||||||
@RequestMapping(value = "/bat-wkflow/task/getTaskConfirmAskedEngineer",method = RequestMethod.GET)
|
@RequestMapping(value = "/bat-wkflow/task/getTaskConfirmAskedEngineer",method = RequestMethod.GET)
|
||||||
Set<String> getTaskConfirmAskedEngineer(@RequestParam("projectLawInventoryId")String projectLawInventoryId);
|
Set<String> getTaskConfirmAskedEngineer(@RequestParam("projectLawInventoryId")String projectLawInventoryId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量改派任务
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/bat-wkflow/changeAssigneeBatch",method = RequestMethod.GET)
|
||||||
|
Result<String> changeAssigneeBatch(@RequestParam("taskIds") String taskIds,@RequestParam("newAssignee") String newAssignee);
|
||||||
}
|
}
|
||||||
|
|||||||
+9
@@ -212,4 +212,13 @@ public class WorkFlowFeignClientImpl{
|
|||||||
public Result dispostHistoryBusProcessNewData() {
|
public Result dispostHistoryBusProcessNewData() {
|
||||||
return workFlowFeignClient.dispostHistoryBusProcessNewData();
|
return workFlowFeignClient.dispostHistoryBusProcessNewData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量改派任务
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Result<String> changeAssigneeBatch(@RequestParam("taskIds") String taskIds,@RequestParam("newAssignee") String newAssignee){
|
||||||
|
Result<String> run = workFlowFeignClient.changeAssigneeBatch(taskIds,newAssignee);
|
||||||
|
return run;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1383,7 +1383,7 @@ module.exports = {
|
|||||||
allsubitemsitem:'Whether to delete all subitems under this item',
|
allsubitemsitem:'Whether to delete all subitems under this item',
|
||||||
contactTheFounder:'Contact author',
|
contactTheFounder:'Contact author',
|
||||||
certificationCategoryNumber: 'certification Category Number',
|
certificationCategoryNumber: 'certification Category Number',
|
||||||
historicalrecord:'historical Record',
|
historicalrecord:'Historical Record',
|
||||||
Referenceparametercolumn:'Reference Parameter Column',
|
Referenceparametercolumn:'Reference Parameter Column',
|
||||||
Updateparametercolumn:'Update The Parameter Column',
|
Updateparametercolumn:'Update The Parameter Column',
|
||||||
columnfirst:'Reference the parameter column first',
|
columnfirst:'Reference the parameter column first',
|
||||||
@@ -1407,9 +1407,9 @@ module.exports = {
|
|||||||
nameOfManufacturer:'Name Of Manufacturer',
|
nameOfManufacturer:'Name Of Manufacturer',
|
||||||
regulationNo:'Regulation No',
|
regulationNo:'Regulation No',
|
||||||
itemInformation:'Item Information',
|
itemInformation:'Item Information',
|
||||||
modifyHistory:'Modify History',
|
modifyHistory:'Historical Record',
|
||||||
returnToStudio:'Return to Studio',
|
returnToStudio:'Return to Studio',
|
||||||
Approved:'Approved',
|
Approved:'Review and pass',
|
||||||
returnedForApproval:'Returned For Approval',
|
returnedForApproval:'Returned For Approval',
|
||||||
changeSetting:'Change Setting',
|
changeSetting:'Change Setting',
|
||||||
referenceDeliverables:'Reference Deliverables',
|
referenceDeliverables:'Reference Deliverables',
|
||||||
@@ -1746,4 +1746,14 @@ module.exports = {
|
|||||||
andTheProcessStatusTheList:'And the process status cannot be the data to be checked in the list',
|
andTheProcessStatusTheList:'And the process status cannot be the data to be checked in the list',
|
||||||
pleasefillintherange:'Please fill in the range',
|
pleasefillintherange:'Please fill in the range',
|
||||||
databasereportingtime:'Synchronize the database reporting time',
|
databasereportingtime:'Synchronize the database reporting time',
|
||||||
|
synchronizationtime:'Synchronization time',
|
||||||
|
listToBeReleased:'List to be released',
|
||||||
|
listToBeChecked:'List to be checked',
|
||||||
|
taskToBeConfirmed:'Task to be confirmed',
|
||||||
|
resultsToBeSubmitted:'Results to be submitted',
|
||||||
|
resultsToBeReviewed:'Results to be reviewed',
|
||||||
|
compliance:'Compliance',
|
||||||
|
nonCompliance:'Non-Compliance',
|
||||||
|
toBeTracked:'To be tracked',
|
||||||
|
NA:'NA',
|
||||||
}
|
}
|
||||||
@@ -1509,9 +1509,9 @@ module.exports = {
|
|||||||
nameOfManufacturer:'生产企业名称',
|
nameOfManufacturer:'生产企业名称',
|
||||||
regulationNo:'法规编号',
|
regulationNo:'法规编号',
|
||||||
itemInformation:'条目信息',
|
itemInformation:'条目信息',
|
||||||
modifyHistory:'修改历史',
|
modifyHistory:'历史记录',
|
||||||
returnToStudio:'退回至Studio',
|
returnToStudio:'退回至Studio',
|
||||||
Approved:'审批通过',
|
Approved:'审查通过',
|
||||||
returnedForApproval:'审批退回',
|
returnedForApproval:'审批退回',
|
||||||
changeSetting:'修改配置',
|
changeSetting:'修改配置',
|
||||||
referenceDeliverables:'引用交付物',
|
referenceDeliverables:'引用交付物',
|
||||||
@@ -1848,4 +1848,14 @@ module.exports = {
|
|||||||
andTheProcessStatusTheList:'并且流程状态不能为清单待校核的数据',
|
andTheProcessStatusTheList:'并且流程状态不能为清单待校核的数据',
|
||||||
pleasefillintherange:'请填写范围',
|
pleasefillintherange:'请填写范围',
|
||||||
databasereportingtime:'同步上报库时间',
|
databasereportingtime:'同步上报库时间',
|
||||||
|
synchronizationtime:'同步时间',
|
||||||
|
listToBeReleased:'清单待发布',
|
||||||
|
listToBeChecked:'清单待校核',
|
||||||
|
taskToBeConfirmed:'任务待确认',
|
||||||
|
resultsToBeSubmitted:'结果待提交',
|
||||||
|
resultsToBeReviewed:'结果待审查',
|
||||||
|
compliance:'符合',
|
||||||
|
nonCompliance:'不符合',
|
||||||
|
toBeTracked:'待追踪',
|
||||||
|
NA:'不涉及',
|
||||||
}
|
}
|
||||||
@@ -132,6 +132,16 @@
|
|||||||
tree-checkable
|
tree-checkable
|
||||||
:placeholder="$t('PleaseSelect')"
|
:placeholder="$t('PleaseSelect')"
|
||||||
/>
|
/>
|
||||||
|
<a-tree-select
|
||||||
|
v-else-if="item.type==='treeChoice'"
|
||||||
|
tree-node-filter-prop="title"
|
||||||
|
v-model="item.val"
|
||||||
|
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||||
|
style="width: 100%"
|
||||||
|
:tree-data="item.tree"
|
||||||
|
:placeholder="$t('PleaseSelect')"
|
||||||
|
/>
|
||||||
|
|
||||||
<PersonnelSelection
|
<PersonnelSelection
|
||||||
v-else-if="item.type == 'Personnel'"
|
v-else-if="item.type == 'Personnel'"
|
||||||
:query="{db_field_name:'valueId',db_field_txt:'',subscript:index}"
|
:query="{db_field_name:'valueId',db_field_txt:'',subscript:index}"
|
||||||
|
|||||||
@@ -51,11 +51,15 @@
|
|||||||
{{val}}
|
{{val}}
|
||||||
</div>
|
</div>
|
||||||
<div class="content-text" v-if="val == $t('essentialInformation')">
|
<div class="content-text" v-if="val == $t('essentialInformation')">
|
||||||
<div class="text-field" :class="{'text-content-button-one':ol.field_show_type == 8 ? true :false}"
|
<div class="text-field"
|
||||||
|
:class="{'text-content-button-one':ol.field_show_type == 8 ? true :false,
|
||||||
|
'text-content-button-Two':index1 == 1 || index1 == 9? true:false}"
|
||||||
v-for="(ol,index1) in item[val]">
|
v-for="(ol,index1) in item[val]">
|
||||||
<span v-if="ol.field_show_type == 10" class="text-field-left-Index" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
|
<span v-if="ol.field_show_type == 10" class="text-field-left-Index" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
|
||||||
<span v-else class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
|
<span v-else class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
|
||||||
<span class="text-field-right text-field-right-color" v-if="ol.urlClick" @click="urlClick(ol)"
|
<span class="text-field-right text-field-right-text" v-if="index1 == 9"
|
||||||
|
:title="ol.value">{{ol.value ? ol.value+'的时间更好的付款就给和看景点风光和的空间古典风格' : '--'}}</span>
|
||||||
|
<span class="text-field-right text-field-right-color" v-else-if="ol.urlClick" @click="urlClick(ol)"
|
||||||
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
|
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
|
||||||
<span class="text-field-right" v-else-if="ol.field_show_type == 7">
|
<span class="text-field-right" v-else-if="ol.field_show_type == 7">
|
||||||
<a-button type="primary" class="button-text"
|
<a-button type="primary" class="button-text"
|
||||||
@@ -809,7 +813,6 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-right: 6px;
|
margin-right: 6px;
|
||||||
float: left;
|
float: left;
|
||||||
margin-top: 3px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-field-right {
|
.text-field-right {
|
||||||
@@ -825,6 +828,39 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-content-button-Two {
|
||||||
|
width: 67%;
|
||||||
|
|
||||||
|
.text-field-left {
|
||||||
|
width: 114px;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #6F7385;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-right: 6px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-field-right {
|
||||||
|
width: calc(100% - 130px);
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 14px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
word-break: break-word;
|
||||||
|
overflow: hidden;
|
||||||
|
float: left;
|
||||||
|
color: #040B29;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.text-field-right-text{
|
||||||
|
width: calc(50% - 140px);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -990,7 +1026,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.TextInformation-box-box-text {
|
.TextInformation-box-box-text {
|
||||||
width: calc(25% - 20px);
|
width: calc(50% - 20px);
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
float: left;
|
float: left;
|
||||||
|
|||||||
@@ -32,11 +32,11 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||||
<a-col :md="6" :sm="24">
|
<a-col :md="6" :sm="24">
|
||||||
|
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||||
|
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||||
@handleSuperQuery="handleSuperQuery"
|
@handleSuperQuery="handleSuperQuery"
|
||||||
:fieldList="fieldList"/>
|
:fieldList="fieldList"/>
|
||||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
|
||||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
|
||||||
</a-col>
|
</a-col>
|
||||||
</span>
|
</span>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
:scroll="{x: 800,y:600}"
|
:scroll="{x: 800,y:600}"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
:loading="loading">
|
:loading="loading">
|
||||||
|
|
||||||
</a-table>
|
</a-table>
|
||||||
@@ -96,7 +96,7 @@ export default {
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'serialNumber',
|
dataIndex: 'serialNumber',
|
||||||
width: 100,
|
width: 100,
|
||||||
fixed: 'left',
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'standard' }
|
scopedSlots: { customRender: 'standard' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -104,7 +104,7 @@ export default {
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'title',
|
dataIndex: 'title',
|
||||||
width: 100,
|
width: 100,
|
||||||
fixed: 'left',
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'titleName' }
|
scopedSlots: { customRender: 'titleName' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
+18
-9
@@ -144,8 +144,8 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -187,6 +187,7 @@ export default {
|
|||||||
projectNameList2: [],
|
projectNameList2: [],
|
||||||
selectListPc: [],
|
selectListPc: [],
|
||||||
selectListMb: [],
|
selectListMb: [],
|
||||||
|
flag:'',
|
||||||
rules: {
|
rules: {
|
||||||
babh: [
|
babh: [
|
||||||
{ required: true, message: this.$t('upgraderecordnumber') + this.$t('cannotEmpty'), trigger: 'blur' }
|
{ required: true, message: this.$t('upgraderecordnumber') + this.$t('cannotEmpty'), trigger: 'blur' }
|
||||||
@@ -277,14 +278,17 @@ export default {
|
|||||||
this.form.otaId = otaId
|
this.form.otaId = otaId
|
||||||
postAction('/ota/otaBaSjSjmbcx/add', { otaId: otaId, ...this.form }).then(res => {
|
postAction('/ota/otaBaSjSjmbcx/add', { otaId: otaId, ...this.form }).then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
|
this.flag = 1
|
||||||
localStorage.setItem('otaId', res.result.otaId)
|
localStorage.setItem('otaId', res.result.otaId)
|
||||||
this.$message.success(this.$t('SavedSuccessfully'))
|
this.$message.success(this.$t('SavedSuccessfully'))
|
||||||
this.getData()
|
this.getData()
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
this.form.bapc = undefined
|
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
// this.form.bapc = undefined
|
||||||
|
// }
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -295,11 +299,17 @@ export default {
|
|||||||
// this.$refs.ruleForm.clearValidate('bapc')
|
// this.$refs.ruleForm.clearValidate('bapc')
|
||||||
// })
|
// })
|
||||||
// }
|
// }
|
||||||
this.$refs.ruleForm.validate(valid => {
|
// this.$refs.ruleForm.validate(valid => {
|
||||||
if (valid) {
|
// if (valid) {
|
||||||
|
setTimeout(()=>{
|
||||||
|
console.log(this.flag)
|
||||||
|
if(this.flag == 1){
|
||||||
this.$emit('basicInformationForm')
|
this.$emit('basicInformationForm')
|
||||||
}
|
}
|
||||||
})
|
},1000)
|
||||||
|
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -343,10 +353,9 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
changeId(value, option) {
|
changeId(value, option) {
|
||||||
debugger
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form = { ...this.form }
|
this.form = { ...this.form }
|
||||||
this.$refs.ruleForm.validateField('bapc')
|
this.$refs.ruleForm.clearValidate('bapc')
|
||||||
})
|
})
|
||||||
this.selectListPc.map(item => {
|
this.selectListPc.map(item => {
|
||||||
if (item.id == value) {
|
if (item.id == value) {
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ import { message } from 'ant-design-vue'
|
|||||||
if(item.cpxh==null){
|
if(item.cpxh==null){
|
||||||
item.cpxh=''
|
item.cpxh=''
|
||||||
}
|
}
|
||||||
obj.value=item.ggpc+'-'+item.cpmc+'-'+item.cpxh
|
obj.value=item.cpdjbh+'-'+item.ggpc+'-'+item.cpxh
|
||||||
this.selectList.push(obj)
|
this.selectList.push(obj)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -342,14 +342,14 @@ import { message } from 'ant-design-vue'
|
|||||||
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
|
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(res.result.dllx1 == null ){
|
if(res.result.dllx1 == '' ){
|
||||||
res.result.dllx1 = undefined
|
res.result.dllx1 = undefined
|
||||||
}
|
}
|
||||||
if(res.result.dllx2 == null){
|
if(res.result.dllx2 == ''){
|
||||||
res.result.dllx2 = undefined
|
res.result.dllx2 = undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
if(res.result.cplb == null){
|
if(res.result.cplb == ''){
|
||||||
res.result.cplb = undefined
|
res.result.cplb = undefined
|
||||||
}
|
}
|
||||||
if(res.result.qymc == null){
|
if(res.result.qymc == null){
|
||||||
|
|||||||
@@ -100,6 +100,36 @@
|
|||||||
<a-icon type="export" :rotate="-90"/>
|
<a-icon type="export" :rotate="-90"/>
|
||||||
{{$t('CustomExport')}}
|
{{$t('CustomExport')}}
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 列表设置-->
|
||||||
|
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirm"
|
||||||
|
placement="bottomRight" v-if="!this.$route.query.it">
|
||||||
|
<template slot="title" id="popconfirmmize">
|
||||||
|
<div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 188px">
|
||||||
|
<a-checkbox
|
||||||
|
style="margin-bottom: 22px;"
|
||||||
|
v-if="customizeList && customizeList.length"
|
||||||
|
v-model="checkAll"
|
||||||
|
:indeterminate="indeterminate"
|
||||||
|
@change="onCheckAllChange"
|
||||||
|
>{{ $t('selectAll') }}
|
||||||
|
</a-checkbox>
|
||||||
|
<a-checkbox-group @change="onChange" v-model="checkedList" class="customize-text">
|
||||||
|
<a-checkbox class="customize-text-title" :disabled="item.disabled" v-for="(item, key) in customizeList"
|
||||||
|
:key="key" :value="item.field">{{ item.name }}
|
||||||
|
</a-checkbox>
|
||||||
|
</a-checkbox-group>
|
||||||
|
<div class="drawer-bootom-button">
|
||||||
|
<a-button @click="cancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button>
|
||||||
|
<a-button @click="handleSubmitcustomize" type="primary" :loading="confirmLoading">{{ $t('determine') }}
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="operator-text" style="position: relative" @click="getcustomize">
|
||||||
|
<a-icon type="setting"/>
|
||||||
|
{{ $t('customize') }}
|
||||||
|
</div>
|
||||||
|
</a-popconfirm>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 100%">
|
<div style="width: 100%">
|
||||||
<!-- 表格-10控件-->
|
<!-- 表格-10控件-->
|
||||||
@@ -233,7 +263,110 @@
|
|||||||
NotSelectedRowKeysValue: [],
|
NotSelectedRowKeysValue: [],
|
||||||
NoEngineer: 1, // 下发收集的权限,0为没有接口人 1为由接口人 默认有
|
NoEngineer: 1, // 下发收集的权限,0为没有接口人 1为由接口人 默认有
|
||||||
NotSelectedNoEngineerValue: [],
|
NotSelectedNoEngineerValue: [],
|
||||||
paramsManifest: {}
|
paramsManifest: {},
|
||||||
|
customizevisible: false,
|
||||||
|
indeterminate: false,
|
||||||
|
checkAll: false,
|
||||||
|
selectedValue: [],
|
||||||
|
checkedList: ['NiONumber', 'ParameterName', 'operation'],
|
||||||
|
customizeList: [
|
||||||
|
{
|
||||||
|
sort: '1',
|
||||||
|
name: this.$t('NiONumber'),
|
||||||
|
disabled: true,
|
||||||
|
headFieldCn: 'NIO编号',
|
||||||
|
headFieldEn: 'NiONumber',
|
||||||
|
field: 'NiONumber',
|
||||||
|
key: 1,
|
||||||
|
moduleFlag: '上报库',
|
||||||
|
status: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '2',
|
||||||
|
disabled: true,
|
||||||
|
name: this.$t('ParameterName'),
|
||||||
|
headFieldCn: '参数名称',
|
||||||
|
headFieldEn: 'Parameter Name',
|
||||||
|
field: 'ParameterName',
|
||||||
|
key: 2,
|
||||||
|
moduleFlag: '上报库',
|
||||||
|
status: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('ParameterDescription'),
|
||||||
|
headFieldCn: '参数说明',
|
||||||
|
headFieldEn: 'Parameter Description',
|
||||||
|
field: 'ParameterDescription',
|
||||||
|
key: 3,
|
||||||
|
moduleFlag: '上报库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('status'),
|
||||||
|
headFieldCn: '状态',
|
||||||
|
headFieldEn: 'status',
|
||||||
|
field: 'status',
|
||||||
|
key: 4,
|
||||||
|
moduleFlag: '上报库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('areaOfResponsibility'),
|
||||||
|
headFieldCn: '责任领域',
|
||||||
|
headFieldEn: 'Responsible Field',
|
||||||
|
field: 'areaOfResponsibility',
|
||||||
|
key: 5,
|
||||||
|
moduleFlag: '上报库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('engineeringInterfacePerson'),
|
||||||
|
headFieldCn: '工程接口人',
|
||||||
|
headFieldEn: 'Eng. Interface',
|
||||||
|
field: 'engineeringInterfacePerson',
|
||||||
|
key: 6,
|
||||||
|
moduleFlag: '上报库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('completedBy'),
|
||||||
|
headFieldCn: '填写人',
|
||||||
|
headFieldEn: 'Filled by',
|
||||||
|
field: 'completedBy',
|
||||||
|
key: 15,
|
||||||
|
moduleFlag: '上报库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('Version'),
|
||||||
|
headFieldCn: '版本',
|
||||||
|
headFieldEn: 'Version',
|
||||||
|
field: 'Version',
|
||||||
|
key: 23,
|
||||||
|
moduleFlag: '上报库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('synchronizationtime'),
|
||||||
|
headFieldCn: '同步时间',
|
||||||
|
headFieldEn: 'Synchronization time',
|
||||||
|
field: 'synchronizationtime',
|
||||||
|
key: 21,
|
||||||
|
moduleFlag: '上报库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
disabled: true,
|
||||||
|
name: this.$t('operation'),
|
||||||
|
headFieldCn: '操作',
|
||||||
|
headFieldEn: 'Operation',
|
||||||
|
key: 35,
|
||||||
|
field: 'operation',
|
||||||
|
moduleFlag: '上报库',
|
||||||
|
status: 2
|
||||||
|
}
|
||||||
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {},
|
props: {},
|
||||||
@@ -243,6 +376,52 @@
|
|||||||
document.title = this.$t('ParameterViewPage')
|
document.title = this.$t('ParameterViewPage')
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
onCheckAllChange(e) {
|
||||||
|
let selectedValue = ['NiONumber', 'ParameterName', 'operation']
|
||||||
|
this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : selectedValue
|
||||||
|
this.selectedValue = this.checkedList
|
||||||
|
this.indeterminate = false
|
||||||
|
},
|
||||||
|
onChange() {
|
||||||
|
this.selectedValue = this.checkedList
|
||||||
|
},
|
||||||
|
getcustomize() {
|
||||||
|
this.customizevisible = true
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.customizevisible = false
|
||||||
|
},
|
||||||
|
handleSubmitcustomize() {
|
||||||
|
let list = []
|
||||||
|
let uniqueArray = this.selectedValue.filter((item, index, array) => {
|
||||||
|
return array.indexOf(item) === index
|
||||||
|
})
|
||||||
|
uniqueArray.forEach(item => {
|
||||||
|
this.customizeList.forEach((val, index) => {
|
||||||
|
if (item == val.field) {
|
||||||
|
val.sort = index + 1
|
||||||
|
list.push(val)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
this.confirmLoading = true
|
||||||
|
let headCustomEOList = JSON.parse(JSON.stringify(list))
|
||||||
|
let query = {
|
||||||
|
headCustomEOList: headCustomEOList
|
||||||
|
}
|
||||||
|
postAction('head/headCustomEO/add', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
|
this.customizevisible = false
|
||||||
|
this.$refs.CollectionTabel.getHeader()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.customizevisible = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
handleToggleSearch() {
|
handleToggleSearch() {
|
||||||
this.toggleSearchStatus = !this.toggleSearchStatus
|
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||||
},
|
},
|
||||||
@@ -588,7 +767,43 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
|
.customize-text {
|
||||||
|
/*height: 1533px;*/
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.customize-text-title {
|
||||||
|
margin-left: 0;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #040B29;
|
||||||
|
margin-bottom: 22px;
|
||||||
|
}
|
||||||
|
.drawer-bootom-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 100;
|
||||||
|
width: 100%;
|
||||||
|
border-top: 1px solid #e8e8e8;
|
||||||
|
padding: 10px 16px;
|
||||||
|
text-align: right;
|
||||||
|
left: 0;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 0 0 2px 2px;
|
||||||
|
}
|
||||||
|
.ant-table-placeholder {
|
||||||
|
padding: 0;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.itemModelComment .ant-form-item-control-wrapper {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.second {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
.operator-text-left {
|
.operator-text-left {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
@@ -641,4 +856,38 @@
|
|||||||
.Required {
|
.Required {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
</style>
|
||||||
|
<style lang="less">
|
||||||
|
.popconfirm {
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popconfirm .ant-popover-buttons {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popconfirm .anticon-exclamation-circle {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
::v-deep .ant-table-fixed-header .ant-table-body-inner {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
popconfirmmize {
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .popconfirmmize .ant-popover-buttons {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popconfirmmize .anticon-exclamation-circle {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popconfirmmize .ant-popover-message {
|
||||||
|
padding: 4px 0 36px !important;
|
||||||
|
}
|
||||||
|
::v-deep .ant-popover-buttons {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<!-- // R&H Manager manager-->
|
<!-- // R&H Manager manager-->
|
||||||
<!-- // 系统管理员 admin-->
|
<!-- // 系统管理员 admin-->
|
||||||
<!-- // 游客 guest-->
|
<!-- // 游客 guest-->
|
||||||
<a-popconfirm overlayClassName='popconfirm' placement="bottomRight" v-if='currentPersonRole == "homo"'>
|
<a-popconfirm overlayClassName='popconfirmIndex' placement="bottomRight" v-if='currentPersonRole == "homo"'>
|
||||||
<template slot="title" id="popconfirm">
|
<template slot="title" id="popconfirm">
|
||||||
<!-- 添加-->
|
<!-- 添加-->
|
||||||
<div @click="handleAdd" class="operator-text-title" v-if='currentPersonRole == "homo"'>
|
<div @click="handleAdd" class="operator-text-title" v-if='currentPersonRole == "homo"'>
|
||||||
@@ -268,7 +268,36 @@
|
|||||||
<a-icon type="undo" :rotate="90"/>
|
<a-icon type="undo" :rotate="90"/>
|
||||||
{{$t('CompulsoryWithdrawal')}}
|
{{$t('CompulsoryWithdrawal')}}
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 列表设置-->
|
||||||
|
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirmIndex"
|
||||||
|
placement="bottomRight" v-if="!this.$route.query.it">
|
||||||
|
<template slot="title" id="popconfirmmize">
|
||||||
|
<div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 188px">
|
||||||
|
<a-checkbox
|
||||||
|
style="margin-bottom: 22px;"
|
||||||
|
v-if="customizeList && customizeList.length"
|
||||||
|
v-model="checkAll"
|
||||||
|
:indeterminate="indeterminate"
|
||||||
|
@change="onCheckAllChange"
|
||||||
|
>{{ $t('selectAll') }}
|
||||||
|
</a-checkbox>
|
||||||
|
<a-checkbox-group @change="onChange" v-model="checkedList" class="customize-text">
|
||||||
|
<a-checkbox class="customize-text-title" :disabled="item.disabled" v-for="(item, key) in customizeList"
|
||||||
|
:key="key" :value="item.field">{{ item.name }}
|
||||||
|
</a-checkbox>
|
||||||
|
</a-checkbox-group>
|
||||||
|
<div class="drawer-bootom-button">
|
||||||
|
<a-button @click="cancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button>
|
||||||
|
<a-button @click="handleSubmitcustomize" type="primary" :loading="confirmLoading">{{ $t('determine') }}
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="operator-text" style="position: relative" @click="getcustomize">
|
||||||
|
<a-icon type="setting"/>
|
||||||
|
{{ $t('customize') }}
|
||||||
|
</div>
|
||||||
|
</a-popconfirm>
|
||||||
<!-- 角色切换 -->
|
<!-- 角色切换 -->
|
||||||
<div class="operator-text"
|
<div class="operator-text"
|
||||||
v-if="!this.$route.query.it"
|
v-if="!this.$route.query.it"
|
||||||
@@ -530,6 +559,7 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
|
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
|
||||||
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
|
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
|
||||||
|
<customizeList :url="url" @customizeListForm="customizeListForm" ref="customizeListRef"/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -539,6 +569,7 @@
|
|||||||
import parameterColumn from '../dialog/parametercolumn'
|
import parameterColumn from '../dialog/parametercolumn'
|
||||||
import { getAction, postAction, downloadFile } from '../../../api/manage'
|
import { getAction, postAction, downloadFile } from '../../../api/manage'
|
||||||
import eventBUs from '../../../common/event'
|
import eventBUs from '../../../common/event'
|
||||||
|
import customizeList from './customizeList'
|
||||||
import ParameterLibraryAdd from '@/components/ParameterLibraryAdd/index'
|
import ParameterLibraryAdd from '@/components/ParameterLibraryAdd/index'
|
||||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||||
import SynchronousSubmissionLibrary from '@/components/SynchronousSubmissionLibrary/index'
|
import SynchronousSubmissionLibrary from '@/components/SynchronousSubmissionLibrary/index'
|
||||||
@@ -560,6 +591,7 @@
|
|||||||
components: {
|
components: {
|
||||||
TableCollection,
|
TableCollection,
|
||||||
ParameterLibraryAdd,
|
ParameterLibraryAdd,
|
||||||
|
customizeList,
|
||||||
parameterColumn,
|
parameterColumn,
|
||||||
AssignedBy,
|
AssignedBy,
|
||||||
AssignedByHomo,
|
AssignedByHomo,
|
||||||
@@ -711,6 +743,110 @@
|
|||||||
dictCode: 'dre'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
dictCode: 'dre'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
customizevisible: false,
|
||||||
|
indeterminate: false,
|
||||||
|
checkAll: false,
|
||||||
|
selectedValue: [],
|
||||||
|
checkedList: ['NiONumber', 'ParameterName', 'operation'],
|
||||||
|
customizeList: [
|
||||||
|
{
|
||||||
|
sort: '1',
|
||||||
|
name: this.$t('NiONumber'),
|
||||||
|
disabled: true,
|
||||||
|
headFieldCn: 'NIO编号',
|
||||||
|
headFieldEn: 'NiONumber',
|
||||||
|
field: 'NiONumber',
|
||||||
|
key: 1,
|
||||||
|
moduleFlag: '参数收集',
|
||||||
|
status: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '2',
|
||||||
|
disabled: true,
|
||||||
|
name: this.$t('ParameterName'),
|
||||||
|
headFieldCn: '参数名称',
|
||||||
|
headFieldEn: 'Parameter Name',
|
||||||
|
field: 'ParameterName',
|
||||||
|
key: 2,
|
||||||
|
moduleFlag: '参数收集',
|
||||||
|
status: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('ParameterDescription'),
|
||||||
|
headFieldCn: '参数说明',
|
||||||
|
headFieldEn: 'Parameter Description',
|
||||||
|
field: 'ParameterDescription',
|
||||||
|
key: 3,
|
||||||
|
moduleFlag: '参数收集'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('status'),
|
||||||
|
headFieldCn: '状态',
|
||||||
|
headFieldEn: 'status',
|
||||||
|
field: 'status',
|
||||||
|
key: 4,
|
||||||
|
moduleFlag: '参数收集'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('areaOfResponsibility'),
|
||||||
|
headFieldCn: '责任领域',
|
||||||
|
headFieldEn: 'Responsible Field',
|
||||||
|
field: 'areaOfResponsibility',
|
||||||
|
key: 5,
|
||||||
|
moduleFlag: '参数收集'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('engineeringInterfacePerson'),
|
||||||
|
headFieldCn: '工程接口人',
|
||||||
|
headFieldEn: 'Eng. Interface',
|
||||||
|
field: 'engineeringInterfacePerson',
|
||||||
|
key: 6,
|
||||||
|
moduleFlag: '参数收集'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('completedBy'),
|
||||||
|
headFieldCn: '填写人',
|
||||||
|
headFieldEn: 'Filled by',
|
||||||
|
field: 'completedBy',
|
||||||
|
key: 15,
|
||||||
|
moduleFlag: '参数收集'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('Deadline'),
|
||||||
|
headFieldCn: '截止时间',
|
||||||
|
headFieldEn: 'Due Date',
|
||||||
|
field: 'designDueDate',
|
||||||
|
key: 23,
|
||||||
|
moduleFlag: '参数收集'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
name: this.$t('databasereportingtime'),
|
||||||
|
headFieldCn: '同步上报库时间',
|
||||||
|
headFieldEn: 'database reporting time',
|
||||||
|
field: 'databasereportingtime',
|
||||||
|
key: 23,
|
||||||
|
moduleFlag: '参数收集'
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
sort: '',
|
||||||
|
disabled: true,
|
||||||
|
name: this.$t('operation'),
|
||||||
|
headFieldCn: '操作',
|
||||||
|
headFieldEn: 'Operation',
|
||||||
|
key: 35,
|
||||||
|
field: 'operation',
|
||||||
|
moduleFlag: '参数收集',
|
||||||
|
status: 2
|
||||||
|
}
|
||||||
|
],
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
textLoading: false,
|
textLoading: false,
|
||||||
formInline: {},
|
formInline: {},
|
||||||
@@ -1587,6 +1723,52 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
onCheckAllChange(e) {
|
||||||
|
let selectedValue = ['NiONumber', 'ParameterName', 'operation']
|
||||||
|
this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : selectedValue
|
||||||
|
this.selectedValue = this.checkedList
|
||||||
|
this.indeterminate = false
|
||||||
|
},
|
||||||
|
onChange() {
|
||||||
|
this.selectedValue = this.checkedList
|
||||||
|
},
|
||||||
|
getcustomize() {
|
||||||
|
this.customizevisible = true
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.customizevisible = false
|
||||||
|
},
|
||||||
|
handleSubmitcustomize() {
|
||||||
|
let list = []
|
||||||
|
let uniqueArray = this.selectedValue.filter((item, index, array) => {
|
||||||
|
return array.indexOf(item) === index
|
||||||
|
})
|
||||||
|
uniqueArray.forEach(item => {
|
||||||
|
this.customizeList.forEach((val, index) => {
|
||||||
|
if (item == val.field) {
|
||||||
|
val.sort = index + 1
|
||||||
|
list.push(val)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
this.confirmLoading = true
|
||||||
|
let headCustomEOList = JSON.parse(JSON.stringify(list))
|
||||||
|
let query = {
|
||||||
|
headCustomEOList: headCustomEOList
|
||||||
|
}
|
||||||
|
postAction('head/headCustomEO/add', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
|
this.customizevisible = false
|
||||||
|
this.$refs.CollectionTabel.getHeader()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.customizevisible = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// // 下发收集---请求接口
|
// // 下发收集---请求接口
|
||||||
// distributionAndCollection() {
|
// distributionAndCollection() {
|
||||||
//
|
//
|
||||||
@@ -2177,16 +2359,37 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style lang="less">
|
||||||
.popconfirm {
|
.popconfirmIndex {
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popconfirm .ant-popover-buttons {
|
.popconfirmIndex .ant-popover-buttons {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popconfirm .anticon-exclamation-circle {
|
.popconfirmIndex .anticon-exclamation-circle {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
::v-deep .ant-table-fixed-header .ant-table-body-inner {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
popconfirmmize {
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .popconfirmmize .ant-popover-buttons {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popconfirmmize .anticon-exclamation-circle {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popconfirmmize .ant-popover-message {
|
||||||
|
padding: 4px 0 36px !important;
|
||||||
|
}
|
||||||
|
::v-deep .ant-popover-buttons {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -2295,7 +2498,43 @@
|
|||||||
.Required {
|
.Required {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
.customize-text {
|
||||||
|
/*height: 1533px;*/
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.customize-text-title {
|
||||||
|
margin-left: 0;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #040B29;
|
||||||
|
margin-bottom: 22px;
|
||||||
|
}
|
||||||
|
.drawer-bootom-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 100;
|
||||||
|
width: 100%;
|
||||||
|
border-top: 1px solid #e8e8e8;
|
||||||
|
padding: 10px 16px;
|
||||||
|
text-align: right;
|
||||||
|
left: 0;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 0 0 2px 2px;
|
||||||
|
}
|
||||||
|
.ant-table-placeholder {
|
||||||
|
padding: 0;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.itemModelComment .ant-form-item-control-wrapper {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.second {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
.doc-detail {
|
.doc-detail {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -2395,6 +2634,7 @@
|
|||||||
height: 42px;
|
height: 42px;
|
||||||
line-height: 42px;
|
line-height: 42px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2403,7 +2643,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style lang='less'>
|
<style lang='less'>
|
||||||
.ant-popover-message-title {
|
.popconfirmIndex .ant-popover-message-title {
|
||||||
margin-bottom: -30px;
|
margin-bottom: 50px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" v-if="this.code == '0'">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
|
|||||||
@@ -258,6 +258,7 @@
|
|||||||
ref="table"
|
ref="table"
|
||||||
class="customizetable"
|
class="customizetable"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
|
:components="drag(columns,'columnsAll')"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
@@ -265,6 +266,11 @@
|
|||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
>
|
>
|
||||||
|
<span slot="serialNumber" slot-scope="text,record">
|
||||||
|
<a class="textName" @click="standardClick(record)">
|
||||||
|
{{ text }}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
<span slot="operation" slot-scope="text,record">
|
<span slot="operation" slot-scope="text,record">
|
||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
|
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
|
||||||
@@ -489,12 +495,14 @@
|
|||||||
import SelectedBy from '@/components/SelectedBy/index'
|
import SelectedBy from '@/components/SelectedBy/index'
|
||||||
import referenceDeliverablesList from './components/referenceDeliverablesList'
|
import referenceDeliverablesList from './components/referenceDeliverablesList'
|
||||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||||
|
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
props: ['isDisplayNum'],
|
props: ['isDisplayNum'],
|
||||||
|
mixins: [ResizeColumnProvide, ResizeHeader],
|
||||||
components: {
|
components: {
|
||||||
globalAdvancedQuery,
|
globalAdvancedQuery,
|
||||||
ImportFile,
|
ImportFile,
|
||||||
@@ -560,7 +568,7 @@
|
|||||||
type: 'date',
|
type: 'date',
|
||||||
value: 'endTime',
|
value: 'endTime',
|
||||||
text: this.$t('closingDate')
|
text: this.$t('closingDate')
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
disabled: false,
|
disabled: false,
|
||||||
queryParamQuery: {},
|
queryParamQuery: {},
|
||||||
@@ -645,7 +653,8 @@
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
dataIndex: 'serialNumber',
|
dataIndex: 'serialNumber',
|
||||||
width: 180,
|
width: 180,
|
||||||
ellipsis: true
|
ellipsis: true,
|
||||||
|
scopedSlots: { customRender: 'serialNumber' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('areaOfResponsibility'),
|
title: this.$t('areaOfResponsibility'),
|
||||||
@@ -750,7 +759,8 @@
|
|||||||
long: '',
|
long: '',
|
||||||
toDoIds: [],
|
toDoIds: [],
|
||||||
toDoNotConditions: [],
|
toDoNotConditions: [],
|
||||||
userInfoQuery: {}
|
userInfoQuery: {},
|
||||||
|
DeliverableTreeList:[],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -759,6 +769,7 @@
|
|||||||
this.loading = true
|
this.loading = true
|
||||||
this.userInfoQuery = this.userInfo()
|
this.userInfoQuery = this.userInfo()
|
||||||
this.getProcessStatus()
|
this.getProcessStatus()
|
||||||
|
this.getDeliverableTree()
|
||||||
this.getRoleByUserId(() => {
|
this.getRoleByUserId(() => {
|
||||||
this.getAndUserId()
|
this.getAndUserId()
|
||||||
})
|
})
|
||||||
@@ -801,6 +812,21 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapGetters(['userInfo']),
|
...mapGetters(['userInfo']),
|
||||||
|
getDeliverableTree() {
|
||||||
|
getAction('/sys/category/getCertificationDeliverableTree', {}).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.DeliverableTreeList = res.result
|
||||||
|
this.fieldList.push({
|
||||||
|
type: 'treeChoice',
|
||||||
|
value: 'deliverableType',
|
||||||
|
text: this.$t('typeOfDeliverables'),
|
||||||
|
tree:this.DeliverableTreeList
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.DeliverableTreeList = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
getProcessStatus() {
|
getProcessStatus() {
|
||||||
getAction('/project/projectCertificationInventoryEO/getFlowStatusList', {}).then((res) => {
|
getAction('/project/projectCertificationInventoryEO/getFlowStatusList', {}).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -1801,7 +1827,16 @@
|
|||||||
|
|
||||||
viewFileClick(item) {
|
viewFileClick(item) {
|
||||||
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
||||||
}
|
},
|
||||||
|
standardClick(row) {
|
||||||
|
let newUrl = this.$router.resolve({
|
||||||
|
path: '/docManage/library/detail',
|
||||||
|
query: {
|
||||||
|
id: row.bussDocumentLibraryId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
window.open(newUrl.href, '_blank')
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1115,7 +1115,109 @@
|
|||||||
value: 'engineeringInterfacePerson',
|
value: 'engineeringInterfacePerson',
|
||||||
valueName: 'engineeringInterfacePersonName',
|
valueName: 'engineeringInterfacePersonName',
|
||||||
text: this.$t('engineeringInterfacePerson')
|
text: this.$t('engineeringInterfacePerson')
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
value: 'designFlowStatus',
|
||||||
|
text: this.$t('designComplianceReview')+this.$t('ProcessStatus'),
|
||||||
|
options:[
|
||||||
|
{
|
||||||
|
value: 'List to be released',
|
||||||
|
key: 'List to be released',
|
||||||
|
label: this.$t('listToBeReleased')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'List to be checked',
|
||||||
|
key: 'List to be checked',
|
||||||
|
label: this.$t('listToBeChecked')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Task to be confirmed',
|
||||||
|
key: 'Task to be confirmed',
|
||||||
|
label: this.$t('taskToBeConfirmed')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Results to be submitted',
|
||||||
|
key: 'Results to be submitted',
|
||||||
|
label: this.$t('resultsToBeSubmitted')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Results to be reviewed',
|
||||||
|
key: 'Results to be reviewed',
|
||||||
|
label: this.$t('resultsToBeReviewed')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Compliance',
|
||||||
|
key: 'Compliance',
|
||||||
|
label: this.$t('compliance')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Non-Compliance',
|
||||||
|
key: 'Non-Compliance',
|
||||||
|
label: this.$t('nonCompliance')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'To be tracked',
|
||||||
|
key: 'To be tracked',
|
||||||
|
label: this.$t('toBeTracked')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'NA',
|
||||||
|
key: 'NA',
|
||||||
|
label: this.$t('NA')
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'verifyFlowStatus',
|
||||||
|
text: this.$t('verificationAndConformityconfirmation')+this.$t('ProcessStatus'),
|
||||||
|
options:[
|
||||||
|
{
|
||||||
|
value: 'List to be released',
|
||||||
|
key: 'List to be released',
|
||||||
|
label: this.$t('listToBeReleased')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'List to be checked',
|
||||||
|
key: 'List to be checked',
|
||||||
|
label: this.$t('listToBeChecked')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Task to be confirmed',
|
||||||
|
key: 'Task to be confirmed',
|
||||||
|
label: this.$t('taskToBeConfirmed')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Results to be submitted',
|
||||||
|
key: 'Results to be submitted',
|
||||||
|
label: this.$t('resultsToBeSubmitted')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Results to be reviewed',
|
||||||
|
key: 'Results to be reviewed',
|
||||||
|
label: this.$t('resultsToBeReviewed')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Compliance',
|
||||||
|
key: 'Compliance',
|
||||||
|
label: this.$t('compliance')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Non-Compliance',
|
||||||
|
key: 'Non-Compliance',
|
||||||
|
label: this.$t('nonCompliance')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'To be tracked',
|
||||||
|
key: 'To be tracked',
|
||||||
|
label: this.$t('toBeTracked')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'NA',
|
||||||
|
key: 'NA',
|
||||||
|
label: this.$t('NA')
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
listOptions: [
|
listOptions: [
|
||||||
{
|
{
|
||||||
@@ -1931,6 +2033,7 @@
|
|||||||
getList() {
|
getList() {
|
||||||
let roleCode = this.roleSwitchingCode
|
let roleCode = this.roleSwitchingCode
|
||||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||||
|
this.getRoleByUserId()
|
||||||
Object.keys(queryParam).forEach(val => {
|
Object.keys(queryParam).forEach(val => {
|
||||||
if (queryParam[val] instanceof Array) {
|
if (queryParam[val] instanceof Array) {
|
||||||
queryParam[val] = queryParam[val].join(',')
|
queryParam[val] = queryParam[val].join(',')
|
||||||
@@ -1949,7 +2052,6 @@
|
|||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
getAction(this.url.list, query).then((res) => {
|
getAction(this.url.list, query).then((res) => {
|
||||||
this.getRoleByUserId()
|
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.dataSource = res.result || []
|
this.dataSource = res.result || []
|
||||||
this.loading = false
|
this.loading = false
|
||||||
@@ -2399,8 +2501,11 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
if (this.requestsNum == 0) {
|
if (this.requestsNum == 0) {
|
||||||
this.$message.warning(_this.$t('theDataYouInitiate'))
|
if (_this.detailedWarningList && _this.detailedWarningList.length > 0){
|
||||||
// _this.promptInformation(_this.detailedWarningList)
|
_this.promptInformation(_this.detailedWarningList)
|
||||||
|
}else{
|
||||||
|
this.$message.warning(_this.$t('theDataYouInitiate'))
|
||||||
|
}
|
||||||
this.JTextLoading = false
|
this.JTextLoading = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -32,11 +32,11 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||||
<a-col :md="12" :sm="24">
|
<a-col :md="12" :sm="24">
|
||||||
|
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||||
|
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||||
@handleSuperQuery="handleSuperQuery"
|
@handleSuperQuery="handleSuperQuery"
|
||||||
:fieldList="fieldList"/>
|
:fieldList="fieldList"/>
|
||||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
|
||||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
|
||||||
</a-col>
|
</a-col>
|
||||||
</span>
|
</span>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
:scroll="{x: 800,y:600}"
|
:scroll="{x: 800,y:600}"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:'' }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:loading="loading">
|
:loading="loading">
|
||||||
|
|
||||||
</a-table>
|
</a-table>
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
ref="table"
|
ref="table"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: true}"
|
:scroll="{x: '100%'}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys}"
|
:row-selection="{ selectedRowKeys: selectedRowKeys}"
|
||||||
@@ -172,6 +172,7 @@
|
|||||||
width: 180,
|
width: 180,
|
||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
sorter: true,
|
sorter: true,
|
||||||
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'standard' }
|
scopedSlots: { customRender: 'standard' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -180,6 +181,7 @@
|
|||||||
dataIndex: 'title',
|
dataIndex: 'title',
|
||||||
width: 180,
|
width: 180,
|
||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'titleName' }
|
scopedSlots: { customRender: 'titleName' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -415,7 +417,7 @@
|
|||||||
}
|
}
|
||||||
query = {
|
query = {
|
||||||
actiProcInstId: row.designPId,
|
actiProcInstId: row.designPId,
|
||||||
projectTaskInventoryId: row.id,
|
projectTaskInventoryId: row.projectLawsInventoryId,
|
||||||
projectLibraryId: row.projectLibraryId,
|
projectLibraryId: row.projectLibraryId,
|
||||||
TaskKey: TaskKey,
|
TaskKey: TaskKey,
|
||||||
isDisplay: false,
|
isDisplay: false,
|
||||||
@@ -445,7 +447,7 @@
|
|||||||
}
|
}
|
||||||
query = {
|
query = {
|
||||||
actiProcInstId: row.verifyPId,
|
actiProcInstId: row.verifyPId,
|
||||||
projectTaskInventoryId: row.id,
|
projectTaskInventoryId: row.projectLawsInventoryId,
|
||||||
projectLibraryId: row.projectLibraryId,
|
projectLibraryId: row.projectLibraryId,
|
||||||
TaskKey: TaskKey,
|
TaskKey: TaskKey,
|
||||||
flowType: 4,
|
flowType: 4,
|
||||||
@@ -584,7 +586,9 @@
|
|||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
@import '~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
|
::v-deep .ant-table-fixed-left table, .ant-table-fixed-right table{
|
||||||
|
width: min-content;
|
||||||
|
}
|
||||||
.doc-detail {
|
.doc-detail {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
+14
-14
@@ -155,14 +155,11 @@
|
|||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('OperationTime'),
|
title: this.$t('feedback'),
|
||||||
dataIndex: 'createTime',
|
dataIndex: 'approvalOpinion',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
width: 200,
|
width: 200,
|
||||||
ellipsis: true,
|
ellipsis: true
|
||||||
customRender: function(t, r, index) {
|
|
||||||
return moment(t).format('YYYY-MM-DD HH:mm:ss')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('resultofhandling'),
|
title: this.$t('resultofhandling'),
|
||||||
@@ -172,13 +169,6 @@
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'resultofhandling' }
|
scopedSlots: { customRender: 'resultofhandling' }
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: this.$t('feedback'),
|
|
||||||
dataIndex: 'approvalOpinion',
|
|
||||||
align: 'left',
|
|
||||||
width: 200,
|
|
||||||
ellipsis: true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: this.$t('enclosure'),
|
title: this.$t('enclosure'),
|
||||||
dataIndex: 'approvalFile',
|
dataIndex: 'approvalFile',
|
||||||
@@ -186,7 +176,17 @@
|
|||||||
width: 100,
|
width: 100,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
scopedSlots: { customRender: 'approvalFile' }
|
scopedSlots: { customRender: 'approvalFile' }
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('OperationTime'),
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
align: 'left',
|
||||||
|
width: 200,
|
||||||
|
ellipsis: true,
|
||||||
|
customRender: function(t, r, index) {
|
||||||
|
return moment(t).format('YYYY-MM-DD HH:mm:ss')
|
||||||
|
}
|
||||||
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<a-drawer
|
<a-drawer
|
||||||
:title="$t('edit')"
|
:title="title"
|
||||||
:maskClosable="false"
|
:maskClosable="false"
|
||||||
:width="900"
|
:width="900"
|
||||||
placement="right"
|
placement="right"
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="serialNumber">
|
<a-form-model-item class="itemModel" prop="serialNumber">
|
||||||
<a-input @click.native="serialNumberClick"
|
<a-input @click.native="serialNumberClick"
|
||||||
|
:disabled="disabled"
|
||||||
class="box-input"
|
class="box-input"
|
||||||
:placeholder="$t('PleaseSelect')+$t('regulationNo')"
|
:placeholder="$t('PleaseSelect')+$t('regulationNo')"
|
||||||
v-model="formInline.serialNumber"></a-input>
|
v-model="formInline.serialNumber"></a-input>
|
||||||
@@ -99,7 +100,9 @@
|
|||||||
<a-form-model-item class="itemModel" prop="configItem">
|
<a-form-model-item class="itemModel" prop="configItem">
|
||||||
<a-input class="box-input"
|
<a-input class="box-input"
|
||||||
v-model="formInline.configItem"
|
v-model="formInline.configItem"
|
||||||
:placeholder="$t('PleaseEnter')+$t('configurationItem')"/>
|
:placeholder="$t('PleaseEnter')+$t('configurationItem')"
|
||||||
|
:disabled="disabled"
|
||||||
|
/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -112,7 +115,7 @@
|
|||||||
<a-form-model-item class="itemModel"
|
<a-form-model-item class="itemModel"
|
||||||
prop="deliverableType"
|
prop="deliverableType"
|
||||||
:rules="[{ required: true, message: $t('typeOfDeliverables') + $t('cannotEmpty'), trigger: 'change'},]"
|
:rules="[{ required: true, message: $t('typeOfDeliverables') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||||
>
|
>
|
||||||
<a-tree-select
|
<a-tree-select
|
||||||
tree-node-filter-prop="title"
|
tree-node-filter-prop="title"
|
||||||
v-model="formInline.deliverableType"
|
v-model="formInline.deliverableType"
|
||||||
@@ -122,6 +125,7 @@
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:tree-data="DeliverableTreeList"
|
:tree-data="DeliverableTreeList"
|
||||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||||
|
:disabled="disabled"
|
||||||
/>
|
/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -136,7 +140,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="deliverableTemplate">
|
<a-form-model-item class="itemModel" prop="deliverableTemplate">
|
||||||
<a-button type="primary" class="button-text"
|
<a-button type="primary" class="button-text"
|
||||||
@click="clickButtonToUpload('deliverableTemplate')">
|
@click="clickButtonToUpload('deliverableTemplate')"
|
||||||
|
>
|
||||||
{{ (formInline.deliverableTemplate === 'null' || formInline.deliverableTemplate === ''
|
{{ (formInline.deliverableTemplate === 'null' || formInline.deliverableTemplate === ''
|
||||||
||
|
||
|
||||||
formInline.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
formInline.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||||
@@ -148,13 +153,13 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form-model>
|
</a-form-model>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
<div class="drawer-bootom-button">
|
<div class="drawer-bootom-button" v-if="button">
|
||||||
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
||||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
<codeNumber ref="codeNumber" @regulation="regulation" />
|
<codeNumber ref="codeNumber" @regulation="regulation" />
|
||||||
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
|
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess" :disabled="disabled"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -172,7 +177,9 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
title: '',
|
||||||
visible: false,
|
visible: false,
|
||||||
|
button: true,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
formInline: {},
|
formInline: {},
|
||||||
disabled: false,
|
disabled: false,
|
||||||
@@ -245,8 +252,9 @@ export default {
|
|||||||
serialNumberClick(){
|
serialNumberClick(){
|
||||||
this.$refs.codeNumber.add()
|
this.$refs.codeNumber.add()
|
||||||
},
|
},
|
||||||
editModel(item) {
|
editModel(item,data) {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
this.title = this.$t('edit')
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.formInline = item || {}
|
this.formInline = item || {}
|
||||||
if (this.formInline.deliverableType) {
|
if (this.formInline.deliverableType) {
|
||||||
@@ -254,6 +262,11 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$refs.ruleForm.clearValidate()
|
this.$refs.ruleForm.clearValidate()
|
||||||
})
|
})
|
||||||
|
if(data == 1) {
|
||||||
|
this.title = this.$t('view')
|
||||||
|
this.disabled = true,
|
||||||
|
this.button = false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
this.$refs.ruleForm.validate(valid => {
|
this.$refs.ruleForm.validate(valid => {
|
||||||
|
|||||||
+4
-1
@@ -395,7 +395,7 @@
|
|||||||
this.toggleSearchStatus = !this.toggleSearchStatus
|
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||||
},
|
},
|
||||||
UpdateLogClick() {
|
UpdateLogClick() {
|
||||||
this.$refs.UpdateLogRef.getList({ dummyInventoryBaseId: this.$route.query.id })
|
this.$refs.UpdateLogRef.getList({ authDummyInventoryBaseId: this.$route.query.id })
|
||||||
},
|
},
|
||||||
//搜索
|
//搜索
|
||||||
searchQuery() {
|
searchQuery() {
|
||||||
@@ -540,6 +540,9 @@
|
|||||||
edit(item) {
|
edit(item) {
|
||||||
this.$refs.editModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
this.$refs.editModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
||||||
},
|
},
|
||||||
|
view(item) {
|
||||||
|
this.$refs.editModelRef.editModel(JSON.parse(JSON.stringify(item)),1)
|
||||||
|
},
|
||||||
deleteLib(val) {
|
deleteLib(val) {
|
||||||
let _this = this
|
let _this = this
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
|
|||||||
Reference in New Issue
Block a user