update 项目合规流程
This commit is contained in:
+12
-1
@@ -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
|
||||
}
|
||||
|
||||
+113
-55
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user