update 项目合规流程

This commit is contained in:
赵霄
2023-12-18 11:00:50 +08:00
parent f596e92fac
commit 7eb96e7627
2 changed files with 125 additions and 56 deletions
+12 -1
View File
@@ -360,6 +360,9 @@ const savePostMeetingManage = (params) => postAction('/process/meetingManageFlow
// 权限申请流程业务数据
const getPostMeetingManageDataById = (params) => getAction('/meetingmanage/processMeetingManage/queryByProjectId', params)
// 流程中心统一转办
const processTransfer = (params) => postAction('/workCenter/transfer', params)
/* 项目合规评估流程 */
// 获取项目法规清单
const queryProjectRegulationList = (params) => getAction('/projectLibrary/lawsAssess/page', params)
@@ -373,6 +376,10 @@ const submitProjectComplianceEvaluation = (params) => postAction('/process/proje
const saveProjectComplianceEvaluation = (params) => postAction('/process/projectAssess/saveToDraft', params)
// 获取流程数据
const queryProjectComplianceEvaluation = (params) => getAction('/process/projectAssess/queryProcessInfoVO', params)
// 同意
const agreeProjectComplianceEvaluation = (params) => postAction('/process/projectAssess/agree', params)
// 驳回
const rejectProjectComplianceEvaluation = (params) => postAction('/process/projectAssess/reject', params)
export {
getProcessNodeList,
@@ -556,10 +563,14 @@ export {
savePostMeetingManage,
getPostMeetingManageDataById,
processTransfer,
queryProjectRegulationList,
queryStandardClauseList,
initiateProjectComplianceEvaluation,
submitProjectComplianceEvaluation,
saveProjectComplianceEvaluation,
queryProjectComplianceEvaluation
queryProjectComplianceEvaluation,
agreeProjectComplianceEvaluation,
rejectProjectComplianceEvaluation
}
@@ -165,15 +165,15 @@
</template>
<!--设计工程师-->
<template v-slot:designEngineer="{text, record, index}">
<template v-slot:designEngineers="{text, record, index}">
<!--不涉及不需要选模块负责人需要填写不涉及理由-->
<user-selection :name-str="record.designEngineer_dictText"
:show-btn="false"
:value="record.designEngineer"
:value="record.designEngineers"
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.designEngineer')"
type="checkbox"
v-if="!record.notInvolved"
@listChange="value => handleUserChange(value, record, index, 'designEngineer')" />
@listChange="value => handleUserChange(value, record, index, 'designEngineers')" />
<div v-else>{{ global.emptyLine }}</div>
</template>
@@ -198,22 +198,24 @@
:pagination="false"
:all-disabled="expandTableDisabled"
form-is-depend="evaluationFeedback"
:extra-form="extraForm"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
:extra-form="extraForm">
<!--条文内容-->
<template v-slot:clauseContent="{text}">
<div class="table-text" @click="showContent(text)" v-if="text">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!--评估反馈-->
<template v-slot:evaluationFeedback="{text, record, index}">
<j-dict-select-tag
v-if="!expandTableDisabled"
style="width: 100%"
:placeholde="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.evaluationFeedback')"
:placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.evaluationFeedback')"
:value="record.evaluationFeedback"
:options="[
{value:'1', text: '符合'},
{value:'2', text: '不符合'},
{value:'3', text: '待验证'},
{value:'4', text: '不涉及'},
]"
dict-code="assess_results"
@change="value => handleEvaluationFeedBackChange(value, record, index)" />
<template v-else>
@@ -267,7 +269,7 @@
<div class="detail-page-scroll-content p-0" v-show="switchValue === 'user'">
<process-detail-list>
<template #personnelInfo>
<personnel-info ref="personnelInfo" :data="personnelInfoData" />
<personnel-info ref="personnelInfo" :data="personnelInfoData" :current-node="currentNode" />
</template>
</process-detail-list>
</div>
@@ -305,7 +307,7 @@
</div>
<!--选人-->
<user-select-modal type="checkbox" ref="userSelectModal" @listChange="handleBatchSelectorOk" />
<user-select-modal type="checkbox" ref="userSelectModal" @listChange="handleBatchSelectorOk" @change="continueTransfer" />
<!--不涉及-->
<uninvolved-modal ref="uninvolvedModal" @ok="handleUninvolvedOk" />
<!--条文内容-->
@@ -330,7 +332,10 @@ import {
initiateProjectComplianceEvaluation,
submitProjectComplianceEvaluation,
saveProjectComplianceEvaluation,
queryProjectComplianceEvaluation
queryProjectComplianceEvaluation,
processTransfer,
agreeProjectComplianceEvaluation,
rejectProjectComplianceEvaluation
} from '../../../api/workCenter'
import SplitClauseDetail from '../../documentTool/documentSplit/modules/SplitClauseDetail'
@@ -473,13 +478,13 @@ export default {
'1': {
rules: {
// 依据描述
basisDescription: {
description: {
required: true,
message: this.$t('pleaseEnter') + this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
trigger: 'blur'
},
// 佐证材料
basisFile: {
fileId: {
required: false,
message: this.$t('pleaseUpload') + this.$t('projectLibrary.specialProjectLibrary.supportingMaterial'),
trigger: 'change'
@@ -489,12 +494,12 @@ export default {
{
fieldShowType: 1,
dbFieldTxt: this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
dbFieldName: 'basisDescription'
dbFieldName: 'description'
},
{
fieldShowType: 2,
dbFieldTxt: this.$t('projectLibrary.specialProjectLibrary.supportingMaterial'),
dbFieldName: 'basisFile',
dbFieldName: 'fileId',
fileType: 'pdf,doc,docx,pptx,ppt,jpg,jpeg,png,xls,xlsx,bmp'
}
]
@@ -503,13 +508,13 @@ export default {
'2': {
rules: {
// 依据描述
basisDescription: {
description: {
required: true,
message: this.$t('pleaseEnter') + this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
trigger: 'blur'
},
// 预计整改完成日期
basisFile: {
expectedTime: {
required: true,
message: this.$t('pleaseSelect') + this.$t('projectLibrary.vehicleItemLibrary.estimatedDateOfCompletionOfRectification'),
trigger: 'change'
@@ -519,12 +524,12 @@ export default {
{
fieldShowType: 1,
dbFieldTxt: this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
dbFieldName: 'basisDescription'
dbFieldName: 'description'
},
{
fieldShowType: 3,
dbFieldTxt: this.$t('projectLibrary.vehicleItemLibrary.estimatedDateOfCompletionOfRectification'),
dbFieldName: 'basisFile'
dbFieldName: 'expectedTime'
}
]
},
@@ -532,13 +537,13 @@ export default {
'3': {
rules: {
// 依据描述
basisDescription: {
description: {
required: true,
message: this.$t('pleaseEnter') + this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
trigger: 'blur'
},
// 预计整改完成日期
basisFile: {
expectedTime: {
required: true,
message: this.$t('pleaseSelect') + this.$t('projectLibrary.vehicleItemLibrary.estimatedDateOfCompletionOfRectification'),
trigger: 'change'
@@ -548,12 +553,12 @@ export default {
{
fieldShowType: 1,
dbFieldTxt: this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
dbFieldName: 'basisDescription'
dbFieldName: 'description'
},
{
fieldShowType: 3,
dbFieldTxt: this.$t('projectLibrary.vehicleItemLibrary.estimatedDateOfCompletionOfRectification'),
dbFieldName: 'basisFile'
dbFieldName: 'expectedTime'
}
]
},
@@ -561,7 +566,7 @@ export default {
'4': {
rules: {
// 依据描述
basisDescription: {
description: {
required: true,
message: this.$t('pleaseEnter') + this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
trigger: 'blur'
@@ -571,12 +576,13 @@ export default {
{
fieldShowType: 1,
dbFieldTxt: this.$t('projectLibrary.specialProjectLibrary.basisDescription'),
dbFieldName: 'basisDescription'
dbFieldName: 'description'
}
]
}
},
businessId: null
businessId: null,
isTransfer: false // 是否转办选人
}
},
computed: {
@@ -707,9 +713,9 @@ export default {
// 设计工程师
{
title: this.$t('workCenter.standardConsultationProcess.designEngineer'),
dataIndex: 'designEngineer',
dataIndex: 'designEngineers',
width: 150,
scopedSlots: { customRender: 'designEngineer' }
scopedSlots: { customRender: 'designEngineers' }
},
// 操作
{
@@ -735,7 +741,7 @@ export default {
// 评估反馈
{
title: this.$t('workCenter.projectComplianceEvaluationProcess.evaluationFeedback'),
dataIndex: 'evaluationFeedback',
dataIndex: 'evaluationFeedback_dictText',
width: 150,
align: 'center',
scopedSlots: { customRender: 'evaluationFeedback' }
@@ -804,7 +810,7 @@ export default {
}
// 流程审批信息
this.approvalInfo = Object.assign({}, draftResult.approvalInfo)
} else if (this.currentNode === ProjectComplianceEvaluationProcessNode.departLeaderIssued.value) {
} else {
const dataList = result.businessInfoDTO.processProjectAssessTermList || []
this.dataSource = dataList.map((item, index) => {
item.tableRowKey = index
@@ -947,9 +953,13 @@ export default {
this.$message.warning(this.$t('selectOne'))
return
}
this.isTransfer = false
this.$refs.userSelectModal.open()
},
handleBatchSelectorOk (list) {
if (this.isTransfer) {
return
}
let fieldName
switch (this.currentNode) {
// 发起节点,批量选择的是责任单位负责人
@@ -962,7 +972,7 @@ export default {
break
// 模块负责人分发,批量选择的是设计工程师
case ProjectComplianceEvaluationProcessNode.moduleOwnerIssued.value:
fieldName = 'designEngineer'
fieldName = 'designEngineers'
break
default:
break
@@ -1056,25 +1066,11 @@ export default {
processProjectAssessLinkList = JSON.parse(JSON.stringify(this.standardDataSource))
// 关联条款列表(发起第四步)
processProjectAssessTermList = JSON.parse(JSON.stringify(this.dataSource))
// // 校验责任单位必填
// if (processProjectAssessTermList.some(tt => !tt.responsibleUnits)) {
// this.$message.warning(this.$t('workCenter.projectComplianceEvaluationProcess.pleaseSelectResponsibleUnit'))
// flag = false
// }
// 校验责任单位负责人必填
if (processProjectAssessTermList.some(tt => !tt.responsibleUnitLeaders)) {
if (processProjectAssessTermList.some(tt => !tt.responsibleUnitLeaders && tt.canAssignFlag + '' === '1')) {
this.$message.warning(this.$t('workCenter.projectComplianceEvaluationProcess.pleaseSelectResponsibleUnitLeader'))
flag = false
}
// // 校验责任单位和责任单位负责人是一对一的关系
// if (processProjectAssessTermList.some(tt => {
// const responsibleUnitList = (tt.responsibleUnits || '').split(',')
// const responsibleUnitLeadersList = (tt.responsibleUnitLeaders || '').split(',')
// return responsibleUnitList.length !== responsibleUnitLeadersList.length
// })) {
// this.$message.warning(this.$t('workCenter.projectComplianceEvaluationProcess.aUnitOnlyALeader'))
// flag = false
// }
formData.businessInfoDTO = {
processProjectAssess, processProjectAssessLinkList, processProjectAssessTermList
}
@@ -1157,7 +1153,6 @@ export default {
*/
handleSubmit () {
const formData = this.dealFormData()
console.log('提交表单数据===', formData)
if (!formData) {
return
}
@@ -1183,14 +1178,77 @@ export default {
this.loading = false
})
},
/**
* 转办
*/
handleTurnTo () {
this.isTransfer = true
this.$refs.userSelectModal.open()
},
continueTransfer (userId) {
if (!this.isTransfer) {
return
}
const params = {
taskId: this.$route.query.taskId,
userId
}
this.loading = true
processTransfer(params).then(res => {
if (res.success) {
this.$message.success(res.message)
this.goBack()
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
/**
* 同意
*/
handleAgree () {
this.validatorRules.handleText.rules[0].required = false
if (!this.approvalInfoForm.getFieldValue('handleText')) {
this.approvalInfoForm.setFieldsValue({ handleText: '同意' })
}
const formData = this.dealFormData()
if (!formData) {
return
}
this.loading = true
agreeProjectComplianceEvaluation(formData).then(res => {
if (res.success) {
this.$message.success(res.message)
this.goBack()
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
/**
* 驳回
*/
handleReject () {
this.validatorRules.handleText.rules[0].required = true
const formData = this.dealFormData()
if (!formData) {
return
}
this.loading = true
rejectProjectComplianceEvaluation(formData).then(res => {
if (res.success) {
this.$message.success(res.message)
this.goBack()
} else {
this.$message.warning(res.message)
}
}).finally(() => {
this.loading = false
})
},
handleTableChange (pagination) {
this.ipagination = pagination