Merge remote-tracking branch 'origin/master'

This commit is contained in:
liyawei
2022-05-13 13:48:40 +08:00
11 changed files with 193 additions and 63 deletions
@@ -3,6 +3,7 @@
<mapper namespace="com.jero.modules.project.mapper.NcrTrackMapper"> <mapper namespace="com.jero.modules.project.mapper.NcrTrackMapper">
<resultMap id="NcrTrackVOResultMap" type="com.jero.modules.project.vo.NcrTrackVO"> <resultMap id="NcrTrackVOResultMap" type="com.jero.modules.project.vo.NcrTrackVO">
<id column="id" property="id" /> <id column="id" property="id" />
<id column="project_library_id" property="projectLibraryId" />
<id column="serial_number" property="serialNumber" /> <id column="serial_number" property="serialNumber" />
<result column="title" property="title" /> <result column="title" property="title" />
<result column="duty_territory" property="dutyTerritory" /> <result column="duty_territory" property="dutyTerritory" />
@@ -27,8 +28,8 @@
<select id="getInfoList" resultMap="NcrTrackVOResultMap"> <select id="getInfoList" resultMap="NcrTrackVOResultMap">
SELECT SELECT
pni.project_name,plb.target_market, pni.project_name,plb.target_market,
pli.id,pli.serial_number,pli.title,pli.duty_territory,pli.create_time, pli.serial_number,pli.title,pli.duty_territory,pli.create_time,pli.project_library_id,
pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id, pti.design_flow_task_status,pti.prehomo_flow_task_status,pti.verify_flow_task_status,pti.design_p_id,pti.prehomo_p_id,pti.verify_p_id,pti.id,pti.project_laws_inventory_id,
pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id pli.design_initiator_id,pli.design_duty_id,pli.prehomo_initiator_id,pli.prehomo_duty_id,pli.verify_initiator_id,pli.verify_duty_id
FROM project_task_inventory pti FROM project_task_inventory pti
@@ -1,9 +1,12 @@
package com.jero.modules.project.service.impl; package com.jero.modules.project.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
import com.jero.modules.project.enums.ReviewResultEnum; import com.jero.modules.project.enums.ReviewResultEnum;
import com.jero.modules.project.mapper.NcrTrackMapper; import com.jero.modules.project.mapper.NcrTrackMapper;
import com.jero.modules.project.service.INcrTrackService; import com.jero.modules.project.service.INcrTrackService;
@@ -11,6 +14,7 @@ import com.jero.modules.project.vo.NcrTrackInfoVO;
import com.jero.modules.project.vo.NcrTrackVO; import com.jero.modules.project.vo.NcrTrackVO;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
@@ -45,8 +49,8 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
private NcrTrackMapper ncrTrackMapper; private NcrTrackMapper ncrTrackMapper;
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Value(value = "${jero.path.upload}") @Autowired
private String uploadpath; private ProjectTaskInventoryDetailEOServiceImpl projectTaskInventoryDetailEOService;
@Override @Override
public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) { public List<NcrTrackVO> getPageInfo(NcrTrackVO ncrTrackVO) {
@@ -76,11 +80,11 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
for (NcrTrackVO trackVO : infoList) { for (NcrTrackVO trackVO : infoList) {
//设计符合性确认 //设计符合性确认
String designPId = trackVO.getDesignPId(); String designPId = trackVO.getDesignPId();//流程实例id
//PreHomo确认 //PreHomo确认
String prehomoPId = trackVO.getPrehomoPId(); String prehomoPId = trackVO.getPrehomoPId();//流程实例id
//验证符合性确认 //验证符合性确认
String verifyPId = trackVO.getVerifyPId(); String verifyPId = trackVO.getVerifyPId();//流程实例id
//设计问题类型 //设计问题类型
String designFlowTaskStatus = trackVO.getDesignFlowTaskStatus(); String designFlowTaskStatus = trackVO.getDesignFlowTaskStatus();
@@ -116,7 +120,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
designName, designName,
sysUserList, sysUserList,
trackVO.getId(), trackVO.getId(),
trackVO.getCreateTime()); trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.SJFHXSHLC.getValue());
trackVOList.add(ncrTrackVOTemp); trackVOList.add(ncrTrackVOTemp);
} }
//PreHomo确认 //PreHomo确认
@@ -132,7 +139,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
prehomoName, prehomoName,
sysUserList, sysUserList,
trackVO.getId(), trackVO.getId(),
trackVO.getCreateTime()); trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.PREHOMOQRLC.getValue());
trackVOList.add(ncrTrackVOTemp); trackVOList.add(ncrTrackVOTemp);
} }
//验证符合性确认 //验证符合性确认
@@ -148,7 +158,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
verifyName, verifyName,
sysUserList, sysUserList,
trackVO.getId(), trackVO.getId(),
trackVO.getCreateTime()); trackVO.getCreateTime(),
trackVO.getProjectLibraryId(),
trackVO.getProjectLawsInventoryId(),
FlowTypeEnum.YZFHXSCLC.getValue());
trackVOList.add(ncrTrackVOTemp); trackVOList.add(ncrTrackVOTemp);
} }
} }
@@ -160,20 +173,43 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
if(StringUtils.isNotBlank(ncrTrackVO.getProblemType())){ if(StringUtils.isNotBlank(ncrTrackVO.getProblemType())){
trackVOList = trackVOList.stream().filter(e->ncrTrackVO.getProblemType().equals(e.getProblemType())).collect(Collectors.toList()); trackVOList = trackVOList.stream().filter(e->ncrTrackVO.getProblemType().equals(e.getProblemType())).collect(Collectors.toList());
} }
//待办任务id
List<NcrTrackVO> trackVOListTemp = new ArrayList<>(); if(trackVOList.size() != 0){
List<NcrTrackVO> ncrTrackVOList = ncrTrackVO.getNcrTrackVOList(); List<String> projectTaskInventoryIdList = trackVOList.stream().map(NcrTrackVO::getId).distinct().collect(Collectors.toList());
//导出数据过滤(列表中选取多条进行导出的时候,用id和流程类型作为条件进行数据过滤) QueryWrapper<ProjectTaskInventoryDetailEO> taskDetailQueryWrapper = new QueryWrapper<>();
if(ObjectUtils.allNotNull(ncrTrackVOList)){ taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectTaskInventoryIdList);
for (NcrTrackVO trackVO : ncrTrackVOList) { List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList = projectTaskInventoryDetailEOService.list(taskDetailQueryWrapper);
List<NcrTrackVO> collect = trackVOList.stream() for (NcrTrackVO trackVO : trackVOList) {
.filter(e -> trackVO.getId().equals(e.getId()) && trackVO.getFlowType().equals(e.getFlowType())) String projectTaskInventoryId = trackVO.getId();
.collect(Collectors.toList()); String prcType = trackVO.getPrcType();
if(collect.size() != 0){ if(StringUtils.isNotBlank(projectTaskInventoryId) && StringUtils.isNotBlank(prcType)){
trackVOListTemp.addAll(collect); List<ProjectTaskInventoryDetailEO> collect = projectTaskInventoryDetailEOList.stream()
.filter(e -> projectTaskInventoryId.equals(e.getProjectTaskInventoryId()) && prcType.equals(e.getFlowType()))
.collect(Collectors.toList());
if(collect.size() != 0){
trackVO.setTaskId(collect.get(0).getTaskId());
}
} }
} }
} }
List<NcrTrackVO> trackVOListTemp = new ArrayList<>();
String idJson = ncrTrackVO.getNcrTrackVOList();
if(StringUtils.isNotBlank(idJson)){
List<NcrTrackVO> ncrTrackVOList = JSONObject.parseArray(idJson, NcrTrackVO.class);
//导出数据过滤(列表中选取多条进行导出的时候,用任务清单id和流程类型作为条件进行数据过滤)
if(ObjectUtils.allNotNull(ncrTrackVOList)){
for (NcrTrackVO trackVO : ncrTrackVOList) {
List<NcrTrackVO> collect = trackVOList.stream()
.filter(e -> trackVO.getId().equals(e.getId()) && trackVO.getFlowType().equals(e.getFlowType()))
.collect(Collectors.toList());
if(collect.size() != 0){
trackVOListTemp.addAll(collect);
}
}
}
}
if(trackVOListTemp.size() != 0){ if(trackVOListTemp.size() != 0){
return trackVOListTemp; return trackVOListTemp;
}else{ }else{
@@ -238,7 +274,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
String name, String name,
List<SysUser> sysUserList, List<SysUser> sysUserList,
String id, String id,
Date createTime){ Date createTime,
String projectLibraryId,
String projectLawsInventoryId,
String flowTypeNumber){
String uuid = UUID.randomUUID().toString().replace("-", ""); String uuid = UUID.randomUUID().toString().replace("-", "");
String initiatorTemp =""; String initiatorTemp ="";
String dutyTemp =""; String dutyTemp ="";
@@ -255,7 +294,14 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
} }
} }
NcrTrackVO ncrTrackVO = new NcrTrackVO(); NcrTrackVO ncrTrackVO = new NcrTrackVO();
//跳转字段赋值
ncrTrackVO.setPrcId(flowType);//流程实例
ncrTrackVO.setProjectLibraryId(projectLibraryId);//项目库id
ncrTrackVO.setProjectLawsInventoryId(projectLawsInventoryId);//法规清单id
ncrTrackVO.setPrcType(flowTypeNumber);//流程类型
ncrTrackVO.setId(id); ncrTrackVO.setId(id);
ncrTrackVO.setUuid(uuid); ncrTrackVO.setUuid(uuid);
ncrTrackVO.setCreateTime(createTime); ncrTrackVO.setCreateTime(createTime);
ncrTrackVO.setSerialNumber(serialNumber);//编号 ncrTrackVO.setSerialNumber(serialNumber);//编号
@@ -289,10 +335,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
OutputStream excelOS = response.getOutputStream();; OutputStream excelOS = response.getOutputStream();;
ExportParams exportParams = new ExportParams(); ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF); exportParams.setType(ExcelType.XSSF);
//项目详情中的导出(没有相关项目字段)
if(StringUtils.isBlank(ncrTrackVO.getProjectLibraryId())){ if(StringUtils.isBlank(ncrTrackVO.getProjectLibraryId())){
workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackVO.class, dataList); workbook = ExcelExportUtil.exportExcel(exportParams, NcrTrackVO.class, dataList);
}else{ }else{
//项目详情中的导出(没有相关项目字段)
for (NcrTrackVO trackVO : dataList) { for (NcrTrackVO trackVO : dataList) {
NcrTrackInfoVO ncrTrackInfoVO = new NcrTrackInfoVO(); NcrTrackInfoVO ncrTrackInfoVO = new NcrTrackInfoVO();
BeanUtils.copyProperties(trackVO,ncrTrackInfoVO); BeanUtils.copyProperties(trackVO,ncrTrackInfoVO);
@@ -45,15 +45,15 @@ public class NcrTrackInfoVO implements Serializable {
@Excel(name = "标题", width = 20) @Excel(name = "标题", width = 20)
private String title; private String title;
//流程类型
@Excel(name = "流程类型", width = 20)
private String flowType;
//责任领域 duty_territory //责任领域 duty_territory
@Dict(dicCode ="duty_territory") @Dict(dicCode ="duty_territory")
@Excel(name = "责任领域", width = 20,dicCode ="duty_territory") @Excel(name = "责任领域", width = 20,dicCode ="duty_territory")
private String dutyTerritory; private String dutyTerritory;
//流程类型
@Excel(name = "流程类型", width = 20)
private String flowType;
//目标市场 //目标市场
private String targetMarket; private String targetMarket;
@@ -25,6 +25,7 @@ import java.util.List;
public class NcrTrackVO implements Serializable { public class NcrTrackVO implements Serializable {
//任务清单id
private String id; private String id;
//用于导出时勾选数据 //用于导出时勾选数据
@@ -46,14 +47,17 @@ public class NcrTrackVO implements Serializable {
@Excel(name = "标题", width = 20) @Excel(name = "标题", width = 20)
private String title; private String title;
//流程类型
@Excel(name = "流程类型", width = 20)
private String flowType;
//责任领域 duty_territory //责任领域 duty_territory
@Dict(dicCode ="duty_territory") @Dict(dicCode ="duty_territory")
@Excel(name = "责任领域", width = 20,dicCode ="duty_territory") @Excel(name = "责任领域", width = 20,dicCode ="duty_territory")
private String dutyTerritory; private String dutyTerritory;
//流程类型 //流程类型标识(枚举)
@Excel(name = "流程类型", width = 20) private String flowTypeNumber;
private String flowType;
//相关项目 //相关项目
@Excel(name = "相关项目", width = 20) @Excel(name = "相关项目", width = 20)
@@ -74,11 +78,11 @@ public class NcrTrackVO implements Serializable {
@Excel(name = "责任人", width = 20) @Excel(name = "责任人", width = 20)
private String duty; private String duty;
//项目id //项目库id
private String projectLibraryId; private String projectLibraryId;
//项目id //不符合
private String inconformity; private String inconformity;
//项目id //待追踪
private String track; private String track;
//设计符合性确认 design_p_id //设计符合性确认 design_p_id
@@ -113,7 +117,18 @@ public class NcrTrackVO implements Serializable {
//验证问题类型 verify_flow_task_status //验证问题类型 verify_flow_task_status
private String verifyFlowTaskStatus; private String verifyFlowTaskStatus;
private List<NcrTrackVO> ncrTrackVOList; private String ncrTrackVOList;
//以下字段跳转适用(还有项目库id)
//待办任务id
private String taskId;
//法规清单id
private String projectLawsInventoryId;
//流程实例id
private String prcId;
//流程类型
private String prcType;
@@ -9,11 +9,13 @@
:visible="visible" :visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;"> style="height: 100%;overflow: auto;padding-bottom: 53px;">
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<a-form>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm"> <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span> :title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span>
</div> </div>
@@ -28,6 +30,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('status')">{{$t('status')}}</span> <span class="title-text-text" :title="$t('status')">{{$t('status')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="state"> <a-form-model-item class="itemModel" prop="state">
@@ -44,6 +47,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span> <span class="title-text-text" :title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="region"> <a-form-model-item class="itemModel" prop="region">
@@ -74,6 +78,7 @@
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
</a-form>
</a-spin> </a-spin>
<div class="drawer-bootom-button"> <div class="drawer-bootom-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>
@@ -104,6 +109,12 @@ export default {
], ],
description:[ description:[
{ min:1, max: 300, message: this.$t('cantExeed')+'300'+this.$t('characters'), trigger: 'blur' }, { min:1, max: 300, message: this.$t('cantExeed')+'300'+this.$t('characters'), trigger: 'blur' },
],
state: [
{ required: true, message: this.$t('PleaseSelect')+this.$t('status'), trigger: 'change' },
],
region: [
{ required: true, message: this.$t('PleaseSelect')+this.$t('zoneOfApplication'), trigger: 'change' },
] ]
}, },
disabled: false, disabled: false,
@@ -92,14 +92,18 @@
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm"> <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="24"> <a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('templateName')">{{$t('templateName')}}</span>
</div>
<a-form-model-item class="itemModel" prop="paramsTemplateName"> <a-form-model-item class="itemModel" prop="paramsTemplateName">
<span class="title-text-text"
:title="$t('templateName')">{{$t('templateName')}}
</span>
<a-input class="box-input add-input" <a-input class="box-input add-input"
v-model="paramsTemplateName" v-model="formInline.paramsTemplateName"
:placeholder="$t('PleaseEnter')+$t('templateName')"/> :placeholder="$t('PleaseEnter')+$t('templateName')"/>
</a-form-model-item> </a-form-model-item>
</div>
</a-col> </a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
@@ -131,7 +135,11 @@ export default {
selectedRowKeys: [], selectedRowKeys: [],
selectedRowKeysArray: '', selectedRowKeysArray: '',
formInline: {}, formInline: {},
rules: {}, rules: {
paramsTemplateName:[
{ required: true, message: this.$t('PleaseEnter')+this.$t('templateName'), trigger: 'change' },
],
},
visible: false, visible: false,
dataSource: [], dataSource: [],
confirmLoading: false, confirmLoading: false,
@@ -203,20 +211,20 @@ export default {
this.areaVisible=false this.areaVisible=false
}, },
handleSubmit() { handleSubmit() {
if(this.paramsTemplateName.trim() === '') { this.$refs.ruleForm.validate(valid => {
this.$message.warning(this.$t('templateName') + this.$t('cannotEmpty')) if (valid) {
} else { getAction(this.url.copy + `?id=${this.selectedRowKeys[0]}&paramsTemplateName=${this.formInline.paramsTemplateName}`, {}).then((res) => {
getAction(this.url.copy + `?id=${this.selectedRowKeys[0]}&paramsTemplateName=${this.paramsTemplateName}`, {}).then((res) => { if (res.success) {
if (res.success) { this.areaVisible = false
this.areaVisible=false this.$message.success(res.message)
this.$message.success(res.message) this.selectedRowKeys = []
this.getList() this.getList()
} else { } else {
this.$message.warning(res.message) this.$message.warning(res.message)
} }
}) })
} }
console.log(this.paramsTemplateName,'this.paramsTemplateName') })
}, },
handleToggleSearch() { handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus this.toggleSearchStatus = !this.toggleSearchStatus
@@ -237,6 +245,7 @@ export default {
this.$message.warning(this.$t('pleaseSelectData')) this.$message.warning(this.$t('pleaseSelectData'))
} else { } else {
this.areaVisible=true this.areaVisible=true
this.formInline = {}
} }
}, },
hideModal(){ hideModal(){
@@ -15,6 +15,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('NiONumber')">{{$t('NiONumber')}}</span> :title="$t('NiONumber')">{{$t('NiONumber')}}</span>
</div> </div>
@@ -29,6 +30,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('Required')">{{$t('Required')}}</span> <span class="title-text-text" :title="$t('Required')">{{$t('Required')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="isMust"> <a-form-model-item class="itemModel" prop="isMust">
@@ -46,6 +48,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('ParameterName')">{{$t('ParameterName')}}</span> :title="$t('ParameterName')">{{$t('ParameterName')}}</span>
</div> </div>
@@ -60,6 +63,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('technicalField')">{{$t('technicalField')}}</span> <span class="title-text-text" :title="$t('technicalField')">{{$t('technicalField')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="technologyTerritory"> <a-form-model-item class="itemModel" prop="technologyTerritory">
@@ -81,6 +85,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('parameterBatch')">{{$t('parameterBatch')}}</span> :title="$t('parameterBatch')">{{$t('parameterBatch')}}</span>
</div> </div>
@@ -96,6 +101,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span> <span class="title-text-text" :title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="dutyTerritory"> <a-form-model-item class="itemModel" prop="dutyTerritory">
@@ -147,6 +153,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('controlType')">{{$t('controlType')}}</span> :title="$t('controlType')">{{$t('controlType')}}</span>
</div> </div>
@@ -182,6 +189,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('controlAlternatives')">{{$t('controlAlternatives')}}</span> :title="$t('controlAlternatives')">{{$t('controlAlternatives')}}</span>
</div> </div>
@@ -219,6 +227,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('standard')">{{$t('standard')}}</span> :title="$t('standard')">{{$t('standard')}}</span>
</div> </div>
@@ -233,6 +242,7 @@
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('ParameterName')">{{$t('ParameterName')}}</span> <span class="title-text-text" :title="$t('ParameterName')">{{$t('ParameterName')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="paramsName"> <a-form-model-item class="itemModel" prop="paramsName">
@@ -77,9 +77,8 @@
:columns="columns" :columns="columns"
@customHeaderRow='customHeaderRow' @customHeaderRow='customHeaderRow'
> >
<!-- @change="tableOnChange"--> <span slot="titleName" slot-scope="text,record" :title="text">
<span slot="projectName" slot-scope="text,record"> {{ text && text.length > 10 ? text.slice(0, 9) + '...' : text }}
<a @click="entryNameClick(record)">{{text}}</a>
</span> </span>
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a> <a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
@@ -159,6 +158,7 @@ export default {
title: this.$t('ParameterDescription'), title: this.$t('ParameterDescription'),
align: 'center', align: 'center',
dataIndex: 'description', dataIndex: 'description',
scopedSlots: { customRender: 'titleName' }
}, },
{ {
title: this.$t('areaOfResponsibility'), title: this.$t('areaOfResponsibility'),
@@ -393,6 +393,14 @@
}) })
}, },
distributionEngineer() { distributionEngineer() {
let msgType = ''
if (this.$route.query.flowType == 2) {
msgType = 'designIssueDreMsg'
} else if (this.$route.query.flowType == 3) {
msgType = 'prehomoIssueDreMsg'
} else if (this.$route.query.flowType == 4) {
msgType = 'verifyIssueDreMsg'
}
let query = { let query = {
status: 'NotDone', status: 'NotDone',
actiProcInstId: this.$route.query.actiProcInstId, actiProcInstId: this.$route.query.actiProcInstId,
@@ -400,7 +408,7 @@
flowType: this.$route.query.flowType, flowType: this.$route.query.flowType,
userIds: this.formInline.userId, userIds: this.formInline.userId,
taskDefinitionKey: 'dreDispose', taskDefinitionKey: 'dreDispose',
msgType: 'designIssueDreMsg' msgType: msgType
} }
postAction(this.url.DetailEOAdd, query).then((res) => { postAction(this.url.DetailEOAdd, query).then((res) => {
if (res.success) { if (res.success) {
@@ -468,15 +476,25 @@
}) })
}, },
reminderClick(val) { reminderClick(val) {
let msgType = ''
if (this.$route.query.flowType == 2) {
msgType = 'designRemindMsg'
} else if (this.$route.query.flowType == 3) {
msgType = 'prehomoRemindMsg'
} else if (this.$route.query.flowType == 4) {
msgType = 'verifyRemindMsg'
}
let query = { let query = {
msgType: 'designRemindMsg', msgType: msgType,
projectLibraryId: this.$route.query.projectLibraryId, projectLibraryId: this.$route.query.projectLibraryId,
dreUserIds: val.userId, dreUserIds: val.userId,
serialNumber: this.$route.query.serialNumber serialNumber: this.$route.query.serialNumber
} }
postAction(this.url.remindDispose, query).then((res) => { postAction(this.url.remindDispose, query).then((res) => {
if (res.success) { if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
} else {
this.$message.warning(this.$t('operationFailed'))
} }
}) })
}, },
@@ -50,8 +50,10 @@
ref="table" ref="table"
size="middle" size="middle"
:loading="loading" :loading="loading"
rowKey="uuid"
:pagination="false" :pagination="false"
:scroll="{x: true}" :scroll="{x: true}"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:data-source="dataSource" :data-source="dataSource"
:columns="columns" :columns="columns"
> >
@@ -81,6 +83,7 @@
queryParam: {}, queryParam: {},
loading: false, loading: false,
dataSource: [], dataSource: [],
selectedRowKeys:[],
columns: [ columns: [
{ {
title: this.$t('standard'), title: this.$t('standard'),
@@ -149,10 +152,27 @@
this.pageSize = pageSize this.pageSize = pageSize
this.getList() this.getList()
}, },
onSelectChange(value) {
this.content = []
this.selectedRowKeys = value
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.dataSource.forEach(res => {
this.selectedRowKeys.forEach(val => {
if (res.uuid == val) {
this.content.push({
id: res.id,
flowType: res.flowType
})
}
})
})
}
},
handleExport() { handleExport() {
let query = { let query = {
...this.queryParam, ...this.queryParam,
projectLibraryId: this.$route.query.id projectLibraryId: this.$route.query.id,
ncrTrackVOList: JSON.stringify(this.content)
} }
downloadFile(this.url.exportData, this.$t('NonConformance') + '.xls', query, this.Deselect) downloadFile(this.url.exportData, this.$t('NonConformance') + '.xls', query, this.Deselect)
}, },
@@ -149,7 +149,7 @@
<a-table <a-table
ref="table" ref="table"
size="middle" size="middle"
rowKey="id" rowKey="uuid"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: true}" :scroll="{x: true}"
@@ -275,7 +275,7 @@
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.dataSource.forEach(res => { this.dataSource.forEach(res => {
this.selectedRowKeys.forEach(val => { this.selectedRowKeys.forEach(val => {
if (res.id == val) { if (res.uuid == val) {
this.content.push({ this.content.push({
id: res.id, id: res.id,
flowType: res.flowType flowType: res.flowType
@@ -320,7 +320,7 @@
handleExport() { handleExport() {
let query = { let query = {
...this.queryParam, ...this.queryParam,
ncrTrackVOList: this.content ncrTrackVOList: JSON.stringify(this.content)
} }
downloadFile(this.url.exportData, this.$t('NonConformance') + '.xls', query, this.Deselect) downloadFile(this.url.exportData, this.$t('NonConformance') + '.xls', query, this.Deselect)
}, },