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;
|
||||
|
||||
/**逻辑删除标识*/
|
||||
/**value:0可用,1逻辑删除**/
|
||||
@TableLogic
|
||||
public Integer delFlag;
|
||||
|
||||
|
||||
+12
-10
@@ -4,16 +4,17 @@ package com.jero.modules.system.enums;
|
||||
* 数据字典code枚举类
|
||||
*/
|
||||
public enum DicCodeEnum {
|
||||
REGION("适用地区","0","region"),
|
||||
REGION("适用地区","1493782108399820801","region"),
|
||||
DUTY_TERRITORY("责任领域","1513417672023441409","duty_territory"),
|
||||
;
|
||||
|
||||
String name;
|
||||
String value;
|
||||
String id;
|
||||
String code;
|
||||
|
||||
private DicCodeEnum(String name, String value, String code) {
|
||||
private DicCodeEnum(String name, String id, String code) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
this.id = id;
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
@@ -25,13 +26,14 @@ public enum DicCodeEnum {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
@@ -40,10 +42,10 @@ public enum DicCodeEnum {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public static String getTextByValue(String value) {
|
||||
public static String getTextByCode(String code) {
|
||||
DicCodeEnum[] values = values();
|
||||
for (DicCodeEnum dicCodeEnum : values) {
|
||||
if (dicCodeEnum.value.equals(value)) {
|
||||
if (dicCodeEnum.code.equals(code)) {
|
||||
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")
|
||||
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();
|
||||
|
||||
/**
|
||||
|
||||
+13
-11
@@ -65,12 +65,12 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
|
||||
private String category;
|
||||
|
||||
/**检验项目*/
|
||||
@Excel(name = "Inspection Items", width = 15)
|
||||
@Excel(name = "Inspection Items", width = 30)
|
||||
@ApiModelProperty(value = "检验项目")
|
||||
private String inspectionItem;
|
||||
|
||||
/**配置项*/
|
||||
@Excel(name = "Configuration Item", width = 15)
|
||||
@Excel(name = "Configuration Item", width = 30)
|
||||
@ApiModelProperty(value = "配置项")
|
||||
private String configItem;
|
||||
|
||||
@@ -88,7 +88,7 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
|
||||
@ApiModelProperty(value = "责任领域")
|
||||
private String dutyTerritory;
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "Responsible Field", width = 15)
|
||||
@Excel(name = "Responsible Field", width = 30)
|
||||
// 责任领域名称
|
||||
private String dutyTerritoryName;
|
||||
/**责任领域名称-英文**/
|
||||
@@ -100,25 +100,27 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
|
||||
@ApiModelProperty(value = "交付物")
|
||||
private String deliverable;
|
||||
|
||||
/**交付物模板*/
|
||||
@ApiModelProperty(value = "交付物模板")
|
||||
private java.lang.String deliverableTemplate;
|
||||
/**交付物模板名称**/
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "Deliverable Template", width = 40)
|
||||
private String deliverableTemplateName;
|
||||
|
||||
|
||||
/**交付物类型*/
|
||||
@ApiModelProperty(value = "交付物类型")
|
||||
private String deliverableType;
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "Deliverable Type", width = 15)
|
||||
@Excel(name = "Deliverable Type", width = 30)
|
||||
// 交付物类型名称
|
||||
private String deliverableTypeName;
|
||||
// 交付物类型名称-英文
|
||||
@TableField(exist = false)
|
||||
private String deliverableTypeNameEn;
|
||||
|
||||
/**交付物模板*/
|
||||
@ApiModelProperty(value = "交付物模板")
|
||||
private java.lang.String deliverableTemplate;
|
||||
/**交付物模板名称**/
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "Deliverable Template", width = 30)
|
||||
private String deliverableTemplateName;
|
||||
|
||||
/**文档库id*/
|
||||
// @Excel(name = "文档库id", width = 15)
|
||||
@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.system.entity.SysCategory;
|
||||
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.mapper.SysCategoryMapper;
|
||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
@@ -1218,6 +1219,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
|
||||
String value = "";
|
||||
boolean flag = true;
|
||||
|
||||
List<SysDictItem> dutyTerritoryDictItemList = this.sysDictItemService.selectItemsByDictCode(DicCodeEnum.DUTY_TERRITORY.getCode());
|
||||
|
||||
//编号验证
|
||||
verifySerialNumber(datas,authDummyInventoryInfoEOTemp);
|
||||
for(AuthDummyInventoryInfoEO authDummyInventoryInfoEO :datas){
|
||||
@@ -1306,7 +1309,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
|
||||
}
|
||||
//责任领域
|
||||
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)){
|
||||
authDummyInventoryInfoEO.setDutyTerritory(value);
|
||||
}
|
||||
|
||||
+10
@@ -5993,6 +5993,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
for (String phasedImplDetails : phasedImplDetailsList) {
|
||||
PhasedImplementationDetailsEO phasedImplementationDetailsEO = new PhasedImplementationDetailsEO();
|
||||
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){
|
||||
String standNumberOrClause = phasedImplDetailsArr[0];
|
||||
if(StringUtils.isEmpty(standNumberOrClause)){
|
||||
|
||||
+1
-1
@@ -249,7 +249,7 @@ public class DummyInventoryInfoEO implements Serializable {
|
||||
private java.lang.String prehomoDeliverableTemplate;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "Prehomo-交付物模板", width = 15)
|
||||
// @Excel(name = "Prehomo-交付物模板", width = 15)
|
||||
private java.lang.String prehomoDeliverableTemplateName;
|
||||
|
||||
/**prehomo确认-发起人*/
|
||||
|
||||
+120
-21
@@ -164,6 +164,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
private IOSSFileService iOSSFileService;
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
@Autowired
|
||||
private IProjectLibraryRoleRelEOService projectLibraryRoleRelEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -266,10 +268,22 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
saveOrUpdate(projectCertificationInventoryEO);
|
||||
|
||||
|
||||
// //获取责任人的所有用户
|
||||
// List<SysUser> listUserName = new ArrayList<>();
|
||||
// listUserName = sysUserMapper.getListUserName();
|
||||
// listUserName = listUserName.stream().distinct().collect(Collectors.toList());
|
||||
//获取当前的projectId
|
||||
String projectId = projectCertificationInventoryEO.getProjectLibraryId();
|
||||
String cut = projectCertificationInventoryEO.getCut();
|
||||
//获取当前用户
|
||||
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();
|
||||
@@ -277,30 +291,115 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
List<String> dutyTerritoryList = new ArrayList<>();
|
||||
dutyTerritoryList = Arrays.asList(projectCertificationInventoryEO.getDutyTerritory().split(","));
|
||||
dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList());
|
||||
//获取当前的projectId
|
||||
String projectId = projectCertificationInventoryEO.getProjectLibraryId();
|
||||
|
||||
//根据责任领域个projectId去查相关人员名单
|
||||
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectId, dutyTerritoryList);
|
||||
|
||||
//根据相关人员名单获取的工程接口人
|
||||
List<String> allList = 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){
|
||||
enginnerList.add(relatedPersonnel.getEngineeringInterfacePerson());
|
||||
}
|
||||
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);
|
||||
String enginneringInterfacePerson = relatedPersonnel.getEngineeringInterfacePerson();
|
||||
if(!StringUtils.isEmpty(enginneringInterfacePerson)){
|
||||
enginnerList = Arrays.stream(enginneringInterfacePerson.split(",")).collect(Collectors.toList());
|
||||
allList.addAll(enginnerList);
|
||||
}
|
||||
}
|
||||
//获取相关人员名单中的法规工程师
|
||||
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);
|
||||
|
||||
|
||||
+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);
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(engineerLawSetUsers)) {
|
||||
String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet();
|
||||
String engineerLawSetId = projectRelatedPersonnel.getEngineerLawSet();
|
||||
String engineerLawSetName = null;
|
||||
StringBuilder lawSetName = new StringBuilder();
|
||||
for (String data : engineerLawSetIdList) {
|
||||
if (StringUtils.isNotEmpty(engineerAttSetId)) {
|
||||
if (StringUtils.isNotEmpty(engineerLawSetId)) {
|
||||
engineerLawSetName = engineerLawSetUsers.stream().filter(e -> data.equals(e.getId()))
|
||||
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
|
||||
}
|
||||
@@ -837,10 +837,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
try {
|
||||
String titleOne = "";
|
||||
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
|
||||
titleOne = "责任领域,法规工程师,工程接口人,工程接口人-法规工程师设置,工程接口人-认证工程师设置,备注";
|
||||
titleOne = "责任领域,法规工程师,工程接口人,备注";
|
||||
fileOriName = "相关人员导入模板.xls";
|
||||
} 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";
|
||||
}
|
||||
|
||||
@@ -867,7 +867,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
cellStyleTemp.setWrapText(true);//自动换行
|
||||
|
||||
int startLine = 0;
|
||||
int endLine = 5;
|
||||
int endLine = 3;
|
||||
//合并单元格
|
||||
CellRangeAddress region1 =
|
||||
new CellRangeAddress(1, 1, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
|
||||
@@ -881,14 +881,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
+ "1.导入数据从第三行开始,第一行为表头,第二行为填写说明,第三行是正式数据;\n"
|
||||
+ "2.填写人员时,必须使用人员账号进行填写;\n"
|
||||
+ "3.填写的人员账号必须与系统中账号保持一致;\n"
|
||||
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人、工程接口人-法规工程师设置、工程接口人-认证工程师设置四个字段信息。";
|
||||
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人两个字段信息。";
|
||||
} else {
|
||||
explainInfo =
|
||||
"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"
|
||||
+ "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"
|
||||
+ "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);
|
||||
|
||||
|
||||
+1
-3
@@ -134,6 +134,7 @@ public class LawsWarnService {
|
||||
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
|
||||
List<OnlCgformField> onlCgformFieldListTemp = onlCgformFieldList.stream().filter(e -> fieldList.contains(e.getDbFieldName())).collect(Collectors.toList());
|
||||
List<Map> records = infoPage.getRecords();
|
||||
this.disposeData(records,cut);
|
||||
for (Map record : records) {
|
||||
//处理标题
|
||||
if(CutEnum.EN.getValue().equals(cut)){
|
||||
@@ -201,9 +202,6 @@ public class LawsWarnService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.disposeData(records,cut);
|
||||
|
||||
return infoPage;
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -205,4 +205,11 @@ public interface WorkFlowFeignClient {
|
||||
|
||||
@RequestMapping(value = "/bat-wkflow/task/getTaskConfirmAskedEngineer",method = RequestMethod.GET)
|
||||
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() {
|
||||
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',
|
||||
contactTheFounder:'Contact author',
|
||||
certificationCategoryNumber: 'certification Category Number',
|
||||
historicalrecord:'historical Record',
|
||||
historicalrecord:'Historical Record',
|
||||
Referenceparametercolumn:'Reference Parameter Column',
|
||||
Updateparametercolumn:'Update The Parameter Column',
|
||||
columnfirst:'Reference the parameter column first',
|
||||
@@ -1407,9 +1407,9 @@ module.exports = {
|
||||
nameOfManufacturer:'Name Of Manufacturer',
|
||||
regulationNo:'Regulation No',
|
||||
itemInformation:'Item Information',
|
||||
modifyHistory:'Modify History',
|
||||
modifyHistory:'Historical Record',
|
||||
returnToStudio:'Return to Studio',
|
||||
Approved:'Approved',
|
||||
Approved:'Review and pass',
|
||||
returnedForApproval:'Returned For Approval',
|
||||
changeSetting:'Change Setting',
|
||||
referenceDeliverables:'Reference Deliverables',
|
||||
@@ -1746,4 +1746,14 @@ module.exports = {
|
||||
andTheProcessStatusTheList:'And the process status cannot be the data to be checked in the list',
|
||||
pleasefillintherange:'Please fill in the range',
|
||||
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:'生产企业名称',
|
||||
regulationNo:'法规编号',
|
||||
itemInformation:'条目信息',
|
||||
modifyHistory:'修改历史',
|
||||
modifyHistory:'历史记录',
|
||||
returnToStudio:'退回至Studio',
|
||||
Approved:'审批通过',
|
||||
Approved:'审查通过',
|
||||
returnedForApproval:'审批退回',
|
||||
changeSetting:'修改配置',
|
||||
referenceDeliverables:'引用交付物',
|
||||
@@ -1848,4 +1848,14 @@ module.exports = {
|
||||
andTheProcessStatusTheList:'并且流程状态不能为清单待校核的数据',
|
||||
pleasefillintherange:'请填写范围',
|
||||
databasereportingtime:'同步上报库时间',
|
||||
synchronizationtime:'同步时间',
|
||||
listToBeReleased:'清单待发布',
|
||||
listToBeChecked:'清单待校核',
|
||||
taskToBeConfirmed:'任务待确认',
|
||||
resultsToBeSubmitted:'结果待提交',
|
||||
resultsToBeReviewed:'结果待审查',
|
||||
compliance:'符合',
|
||||
nonCompliance:'不符合',
|
||||
toBeTracked:'待追踪',
|
||||
NA:'不涉及',
|
||||
}
|
||||
@@ -132,6 +132,16 @@
|
||||
tree-checkable
|
||||
: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
|
||||
v-else-if="item.type == 'Personnel'"
|
||||
:query="{db_field_name:'valueId',db_field_txt:'',subscript:index}"
|
||||
|
||||
@@ -51,11 +51,15 @@
|
||||
{{val}}
|
||||
</div>
|
||||
<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]">
|
||||
<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 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>
|
||||
<span class="text-field-right" v-else-if="ol.field_show_type == 7">
|
||||
<a-button type="primary" class="button-text"
|
||||
@@ -809,7 +813,6 @@
|
||||
overflow: hidden;
|
||||
margin-right: 6px;
|
||||
float: left;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.text-field-right {
|
||||
@@ -825,6 +828,39 @@
|
||||
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 {
|
||||
width: calc(25% - 20px);
|
||||
width: calc(50% - 20px);
|
||||
margin-right: 20px;
|
||||
height: 36px;
|
||||
float: left;
|
||||
|
||||
@@ -32,11 +32,11 @@
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||
@handleSuperQuery="handleSuperQuery"
|
||||
: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>
|
||||
</span>
|
||||
</a-row>
|
||||
@@ -48,7 +48,7 @@
|
||||
:scroll="{x: 800,y:600}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
:loading="loading">
|
||||
|
||||
</a-table>
|
||||
@@ -96,7 +96,7 @@ export default {
|
||||
align: 'left',
|
||||
dataIndex: 'serialNumber',
|
||||
width: 100,
|
||||
fixed: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standard' }
|
||||
},
|
||||
{
|
||||
@@ -104,7 +104,7 @@ export default {
|
||||
align: 'left',
|
||||
dataIndex: 'title',
|
||||
width: 100,
|
||||
fixed: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'titleName' }
|
||||
},
|
||||
{
|
||||
|
||||
+18
-9
@@ -144,8 +144,8 @@
|
||||
</a-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</a-form-model-item>
|
||||
|
||||
</div>
|
||||
@@ -187,6 +187,7 @@ export default {
|
||||
projectNameList2: [],
|
||||
selectListPc: [],
|
||||
selectListMb: [],
|
||||
flag:'',
|
||||
rules: {
|
||||
babh: [
|
||||
{ required: true, message: this.$t('upgraderecordnumber') + this.$t('cannotEmpty'), trigger: 'blur' }
|
||||
@@ -277,14 +278,17 @@ export default {
|
||||
this.form.otaId = otaId
|
||||
postAction('/ota/otaBaSjSjmbcx/add', { otaId: otaId, ...this.form }).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.flag = 1
|
||||
localStorage.setItem('otaId', res.result.otaId)
|
||||
this.$message.success(this.$t('SavedSuccessfully'))
|
||||
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.validate(valid => {
|
||||
if (valid) {
|
||||
// this.$refs.ruleForm.validate(valid => {
|
||||
// if (valid) {
|
||||
setTimeout(()=>{
|
||||
console.log(this.flag)
|
||||
if(this.flag == 1){
|
||||
this.$emit('basicInformationForm')
|
||||
}
|
||||
})
|
||||
},1000)
|
||||
|
||||
// }
|
||||
// })
|
||||
|
||||
|
||||
},
|
||||
@@ -343,10 +353,9 @@ export default {
|
||||
|
||||
},
|
||||
changeId(value, option) {
|
||||
debugger
|
||||
this.$nextTick(() => {
|
||||
this.form = { ...this.form }
|
||||
this.$refs.ruleForm.validateField('bapc')
|
||||
this.$refs.ruleForm.clearValidate('bapc')
|
||||
})
|
||||
this.selectListPc.map(item => {
|
||||
if (item.id == value) {
|
||||
|
||||
@@ -305,7 +305,7 @@ import { message } from 'ant-design-vue'
|
||||
if(item.cpxh==null){
|
||||
item.cpxh=''
|
||||
}
|
||||
obj.value=item.ggpc+'-'+item.cpmc+'-'+item.cpxh
|
||||
obj.value=item.cpdjbh+'-'+item.ggpc+'-'+item.cpxh
|
||||
this.selectList.push(obj)
|
||||
})
|
||||
}
|
||||
@@ -342,14 +342,14 @@ import { message } from 'ant-design-vue'
|
||||
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
|
||||
}
|
||||
}
|
||||
if(res.result.dllx1 == null ){
|
||||
if(res.result.dllx1 == '' ){
|
||||
res.result.dllx1 = undefined
|
||||
}
|
||||
if(res.result.dllx2 == null){
|
||||
if(res.result.dllx2 == ''){
|
||||
res.result.dllx2 = undefined
|
||||
}
|
||||
|
||||
if(res.result.cplb == null){
|
||||
if(res.result.cplb == ''){
|
||||
res.result.cplb = undefined
|
||||
}
|
||||
if(res.result.qymc == null){
|
||||
|
||||
@@ -100,6 +100,36 @@
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{$t('CustomExport')}}
|
||||
</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 style="width: 100%">
|
||||
<!-- 表格-10控件-->
|
||||
@@ -233,7 +263,110 @@
|
||||
NotSelectedRowKeysValue: [],
|
||||
NoEngineer: 1, // 下发收集的权限,0为没有接口人 1为由接口人 默认有
|
||||
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: {},
|
||||
@@ -243,6 +376,52 @@
|
||||
document.title = this.$t('ParameterViewPage')
|
||||
},
|
||||
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() {
|
||||
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||
},
|
||||
@@ -588,7 +767,43 @@
|
||||
text-align: right;
|
||||
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 {
|
||||
font-size: 14px;
|
||||
margin-right: 20px;
|
||||
@@ -641,4 +856,38 @@
|
||||
.Required {
|
||||
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>
|
||||
@@ -133,7 +133,7 @@
|
||||
<!-- // R&H Manager manager-->
|
||||
<!-- // 系统管理员 admin-->
|
||||
<!-- // 游客 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">
|
||||
<!-- 添加-->
|
||||
<div @click="handleAdd" class="operator-text-title" v-if='currentPersonRole == "homo"'>
|
||||
@@ -268,7 +268,36 @@
|
||||
<a-icon type="undo" :rotate="90"/>
|
||||
{{$t('CompulsoryWithdrawal')}}
|
||||
</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"
|
||||
v-if="!this.$route.query.it"
|
||||
@@ -530,6 +559,7 @@
|
||||
</a-modal>
|
||||
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
|
||||
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
|
||||
<customizeList :url="url" @customizeListForm="customizeListForm" ref="customizeListRef"/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
@@ -539,6 +569,7 @@
|
||||
import parameterColumn from '../dialog/parametercolumn'
|
||||
import { getAction, postAction, downloadFile } from '../../../api/manage'
|
||||
import eventBUs from '../../../common/event'
|
||||
import customizeList from './customizeList'
|
||||
import ParameterLibraryAdd from '@/components/ParameterLibraryAdd/index'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
import SynchronousSubmissionLibrary from '@/components/SynchronousSubmissionLibrary/index'
|
||||
@@ -560,6 +591,7 @@
|
||||
components: {
|
||||
TableCollection,
|
||||
ParameterLibraryAdd,
|
||||
customizeList,
|
||||
parameterColumn,
|
||||
AssignedBy,
|
||||
AssignedByHomo,
|
||||
@@ -711,6 +743,110 @@
|
||||
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: [],
|
||||
textLoading: false,
|
||||
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() {
|
||||
//
|
||||
@@ -2177,16 +2359,37 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.popconfirm {
|
||||
<style lang="less">
|
||||
.popconfirmIndex {
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.popconfirm .ant-popover-buttons {
|
||||
.popconfirmIndex .ant-popover-buttons {
|
||||
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;
|
||||
}
|
||||
</style>
|
||||
@@ -2295,7 +2498,43 @@
|
||||
.Required {
|
||||
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 {
|
||||
background: #fff;
|
||||
height: 100%;
|
||||
@@ -2395,6 +2634,7 @@
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2403,7 +2643,7 @@
|
||||
}
|
||||
</style>
|
||||
<style lang='less'>
|
||||
.ant-popover-message-title {
|
||||
margin-bottom: -30px;
|
||||
.popconfirmIndex .ant-popover-message-title {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
</style>
|
||||
@@ -92,7 +92,7 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="this.code == '0'">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
|
||||
@@ -258,6 +258,7 @@
|
||||
ref="table"
|
||||
class="customizetable"
|
||||
:loading="loading"
|
||||
:components="drag(columns,'columnsAll')"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
||||
rowKey="id"
|
||||
@@ -265,6 +266,11 @@
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
: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">
|
||||
<a class="text-operation"
|
||||
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
|
||||
@@ -489,12 +495,14 @@
|
||||
import SelectedBy from '@/components/SelectedBy/index'
|
||||
import referenceDeliverablesList from './components/referenceDeliverablesList'
|
||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
import moment from 'moment'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
props: ['isDisplayNum'],
|
||||
mixins: [ResizeColumnProvide, ResizeHeader],
|
||||
components: {
|
||||
globalAdvancedQuery,
|
||||
ImportFile,
|
||||
@@ -560,7 +568,7 @@
|
||||
type: 'date',
|
||||
value: 'endTime',
|
||||
text: this.$t('closingDate')
|
||||
}
|
||||
},
|
||||
],
|
||||
disabled: false,
|
||||
queryParamQuery: {},
|
||||
@@ -645,7 +653,8 @@
|
||||
align: 'left',
|
||||
dataIndex: 'serialNumber',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'serialNumber' }
|
||||
},
|
||||
{
|
||||
title: this.$t('areaOfResponsibility'),
|
||||
@@ -750,7 +759,8 @@
|
||||
long: '',
|
||||
toDoIds: [],
|
||||
toDoNotConditions: [],
|
||||
userInfoQuery: {}
|
||||
userInfoQuery: {},
|
||||
DeliverableTreeList:[],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -759,6 +769,7 @@
|
||||
this.loading = true
|
||||
this.userInfoQuery = this.userInfo()
|
||||
this.getProcessStatus()
|
||||
this.getDeliverableTree()
|
||||
this.getRoleByUserId(() => {
|
||||
this.getAndUserId()
|
||||
})
|
||||
@@ -801,6 +812,21 @@
|
||||
},
|
||||
methods: {
|
||||
...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() {
|
||||
getAction('/project/projectCertificationInventoryEO/getFlowStatusList', {}).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -1801,7 +1827,16 @@
|
||||
|
||||
viewFileClick(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>
|
||||
|
||||
@@ -1115,7 +1115,109 @@
|
||||
value: 'engineeringInterfacePerson',
|
||||
valueName: 'engineeringInterfacePersonName',
|
||||
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: [
|
||||
{
|
||||
@@ -1931,6 +2033,7 @@
|
||||
getList() {
|
||||
let roleCode = this.roleSwitchingCode
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
this.getRoleByUserId()
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
if (queryParam[val] instanceof Array) {
|
||||
queryParam[val] = queryParam[val].join(',')
|
||||
@@ -1949,7 +2052,6 @@
|
||||
}
|
||||
this.loading = true
|
||||
getAction(this.url.list, query).then((res) => {
|
||||
this.getRoleByUserId()
|
||||
if (res.success) {
|
||||
this.dataSource = res.result || []
|
||||
this.loading = false
|
||||
@@ -2399,8 +2501,11 @@
|
||||
|
||||
}
|
||||
if (this.requestsNum == 0) {
|
||||
this.$message.warning(_this.$t('theDataYouInitiate'))
|
||||
// _this.promptInformation(_this.detailedWarningList)
|
||||
if (_this.detailedWarningList && _this.detailedWarningList.length > 0){
|
||||
_this.promptInformation(_this.detailedWarningList)
|
||||
}else{
|
||||
this.$message.warning(_this.$t('theDataYouInitiate'))
|
||||
}
|
||||
this.JTextLoading = false
|
||||
}
|
||||
},
|
||||
|
||||
@@ -32,11 +32,11 @@
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<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"
|
||||
@handleSuperQuery="handleSuperQuery"
|
||||
: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>
|
||||
</span>
|
||||
</a-row>
|
||||
@@ -48,7 +48,7 @@
|
||||
:scroll="{x: 800,y:600}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:'' }"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:loading="loading">
|
||||
|
||||
</a-table>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
ref="table"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: true}"
|
||||
:scroll="{x: '100%'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys}"
|
||||
@@ -172,6 +172,7 @@
|
||||
width: 180,
|
||||
fixed: 'left',
|
||||
sorter: true,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standard' }
|
||||
},
|
||||
{
|
||||
@@ -180,6 +181,7 @@
|
||||
dataIndex: 'title',
|
||||
width: 180,
|
||||
fixed: 'left',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'titleName' }
|
||||
},
|
||||
{
|
||||
@@ -415,7 +417,7 @@
|
||||
}
|
||||
query = {
|
||||
actiProcInstId: row.designPId,
|
||||
projectTaskInventoryId: row.id,
|
||||
projectTaskInventoryId: row.projectLawsInventoryId,
|
||||
projectLibraryId: row.projectLibraryId,
|
||||
TaskKey: TaskKey,
|
||||
isDisplay: false,
|
||||
@@ -445,7 +447,7 @@
|
||||
}
|
||||
query = {
|
||||
actiProcInstId: row.verifyPId,
|
||||
projectTaskInventoryId: row.id,
|
||||
projectTaskInventoryId: row.projectLawsInventoryId,
|
||||
projectLibraryId: row.projectLibraryId,
|
||||
TaskKey: TaskKey,
|
||||
flowType: 4,
|
||||
@@ -584,7 +586,9 @@
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
::v-deep .ant-table-fixed-left table, .ant-table-fixed-right table{
|
||||
width: min-content;
|
||||
}
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
height: 100%;
|
||||
|
||||
+14
-14
@@ -155,14 +155,11 @@
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('OperationTime'),
|
||||
dataIndex: 'createTime',
|
||||
title: this.$t('feedback'),
|
||||
dataIndex: 'approvalOpinion',
|
||||
align: 'left',
|
||||
width: 200,
|
||||
ellipsis: true,
|
||||
customRender: function(t, r, index) {
|
||||
return moment(t).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('resultofhandling'),
|
||||
@@ -172,13 +169,6 @@
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'resultofhandling' }
|
||||
},
|
||||
{
|
||||
title: this.$t('feedback'),
|
||||
dataIndex: 'approvalOpinion',
|
||||
align: 'left',
|
||||
width: 200,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('enclosure'),
|
||||
dataIndex: 'approvalFile',
|
||||
@@ -186,7 +176,17 @@
|
||||
width: 100,
|
||||
ellipsis: true,
|
||||
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>
|
||||
<div>
|
||||
<a-drawer
|
||||
:title="$t('edit')"
|
||||
:title="title"
|
||||
:maskClosable="false"
|
||||
:width="900"
|
||||
placement="right"
|
||||
@@ -20,6 +20,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="serialNumber">
|
||||
<a-input @click.native="serialNumberClick"
|
||||
:disabled="disabled"
|
||||
class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('regulationNo')"
|
||||
v-model="formInline.serialNumber"></a-input>
|
||||
@@ -99,7 +100,9 @@
|
||||
<a-form-model-item class="itemModel" prop="configItem">
|
||||
<a-input class="box-input"
|
||||
v-model="formInline.configItem"
|
||||
:placeholder="$t('PleaseEnter')+$t('configurationItem')"/>
|
||||
:placeholder="$t('PleaseEnter')+$t('configurationItem')"
|
||||
:disabled="disabled"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -112,7 +115,7 @@
|
||||
<a-form-model-item class="itemModel"
|
||||
prop="deliverableType"
|
||||
:rules="[{ required: true, message: $t('typeOfDeliverables') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
>
|
||||
>
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.deliverableType"
|
||||
@@ -122,6 +125,7 @@
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
:disabled="disabled"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -136,7 +140,8 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="deliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('deliverableTemplate')">
|
||||
@click="clickButtonToUpload('deliverableTemplate')"
|
||||
>
|
||||
{{ (formInline.deliverableTemplate === 'null' || formInline.deliverableTemplate === ''
|
||||
||
|
||||
formInline.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
@@ -148,13 +153,13 @@
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</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 @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<codeNumber ref="codeNumber" @regulation="regulation" />
|
||||
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
|
||||
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess" :disabled="disabled"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -172,7 +177,9 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
visible: false,
|
||||
button: true,
|
||||
confirmLoading: false,
|
||||
formInline: {},
|
||||
disabled: false,
|
||||
@@ -245,8 +252,9 @@ export default {
|
||||
serialNumberClick(){
|
||||
this.$refs.codeNumber.add()
|
||||
},
|
||||
editModel(item) {
|
||||
editModel(item,data) {
|
||||
this.visible = true
|
||||
this.title = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
this.formInline = item || {}
|
||||
if (this.formInline.deliverableType) {
|
||||
@@ -254,6 +262,11 @@ export default {
|
||||
}
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
if(data == 1) {
|
||||
this.title = this.$t('view')
|
||||
this.disabled = true,
|
||||
this.button = false
|
||||
}
|
||||
},
|
||||
handleSubmit() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
|
||||
+4
-1
@@ -395,7 +395,7 @@
|
||||
this.toggleSearchStatus = !this.toggleSearchStatus
|
||||
},
|
||||
UpdateLogClick() {
|
||||
this.$refs.UpdateLogRef.getList({ dummyInventoryBaseId: this.$route.query.id })
|
||||
this.$refs.UpdateLogRef.getList({ authDummyInventoryBaseId: this.$route.query.id })
|
||||
},
|
||||
//搜索
|
||||
searchQuery() {
|
||||
@@ -540,6 +540,9 @@
|
||||
edit(item) {
|
||||
this.$refs.editModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
||||
},
|
||||
view(item) {
|
||||
this.$refs.editModelRef.editModel(JSON.parse(JSON.stringify(item)),1)
|
||||
},
|
||||
deleteLib(val) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
|
||||
Reference in New Issue
Block a user