From d76cafba17df40d648b3255352d793609fed2664 Mon Sep 17 00:00:00 2001 From: danshihao Date: Fri, 24 Nov 2023 14:26:23 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=81=E6=A0=87=E7=A8=BD=E6=9F=A5?= =?UTF-8?q?=E6=89=80=E6=9C=89=E6=B5=81=E7=A8=8B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/enums/commonEnums.js | 42 +- .../EnterpriseStandardInspectionPlanFlow.vue | 45 +- .../modules/InspectionPlanTable.vue | 10 +- .../EnterpriseStandardInspectionProcess.vue | 401 ++++++++++++++---- .../modules/InspectionProcessContent.vue | 3 + .../InspectionProcessRectificationPlan.vue | 1 + .../modules/InspectionProcessReport.vue | 1 + .../modules/InspectionProcessTable.vue | 83 ++-- ...erpriseStandardInspectionRectification.vue | 391 +++++++++++++---- .../InspectionExtensionRequestProcess.vue | 392 +++++++++++++---- .../modules/ExtensionRequestTable.vue | 63 ++- 11 files changed, 1076 insertions(+), 356 deletions(-) diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js index 9c188289..2500ff50 100644 --- a/src/enums/commonEnums.js +++ b/src/enums/commonEnums.js @@ -191,7 +191,13 @@ export const ProcessKey = { // 法规采购流程 LEGAL_PROCUREMENT: { text: 'fb-standard-purchase', value: 'fb-standard-purchase' }, // 企标稽查计划 - ES_Inspection_Plan: { text: 'inspect_plan', value: 'inspect_plan' } + ES_INSPECTION_PLAN: { text: 'inspect_plan', value: 'inspect_plan' }, + // 企标稽查流程 + ES_INSPECTION_PROCESS: { text: 'inspect_process', value: 'inspect_process' }, + // 稽查延期申请流程 + INSPECTION_EXTENSION_REQUEST_PROCESS: { text: 'inspect_plan', value: 'inspect_process' }, + // 企标稽查整改 + ES_INSPECTION_RECTIFICATION: { text: 'inspect_plan', value: 'inspect_process' } } // 标准性质 @@ -252,11 +258,35 @@ export const SenderType = { // 企标稽查计划 export const EsInspectionPlan = new EsEnums({ - initiate: { text: '稽查联络人发起计划', value: 'Activity_15w9cns', btn: 6 }, - fillInComments: { text: '稽查征求意见对象填写意见', value: 'Activity_0mnt8n8', btn: 6 }, - liaisonCollect: { text: '稽查联络人汇总', value: 'Activity_0r85qcr', btn: 6 }, - relevantPersonnelCountersign: { text: '相关人员会签', value: 'Activity_1jmz9m2', btn: 27 }, - liaisonLeaderApproval: { text: '联络人主管级领导批准', value: 'Activity_13e43pu', btn: 27 } + initiate: { text: '稽查联络人发起计划', value: 'liaisons_start', btn: 6 }, + fillInComments: { text: '稽查征求意见对象填写意见', value: 'opinion_fill', btn: 6 }, + liaisonCollect: { text: '稽查联络人汇总', value: 'liaisons_collect', btn: 6 }, + relevantPersonnelCountersign: { text: '相关人员会签', value: 'involve_countersign', btn: 27 }, + liaisonLeaderApproval: { text: '联络人主管级领导批准', value: 'leader_approval', btn: 27 } +}) + +// 企标稽查流程 +export const EsInspectionProcess = new EsEnums({ + initiate: { text: '稽查负责人发起', value: '1', btn: 6 }, + directorLeaderApprovalOne: { text: '负责人主管级领导审批', value: '2', btn: 27 }, + inputInspectionReport: { text: '稽查负责人上传稽查报告和整改计划', value: '3', btn: 7 }, + directorLeaderApprovalTwo: { text: '负责人主管级领导审批', value: '4', btn: 27 }, + relevantPersonnelCountersign: { text: '相关人员会签', value: '5', btn: 27 } +}) + +// 稽查延期申请流程 +export const InspectionExtensionRequestProcess = new EsEnums({ + initiate: { text: '稽查负责人申请延期', value: '1', btn: 6 }, + directorLeaderApproval: { text: '负责人主管级领导审批', value: '2', btn: 27 }, + contactEvaluation: { text: '稽查联络人评估', value: '3', btn: 27 }, + directorSuperiorLeaderApproval: { text: '负责人主管级上一级领导审批', value: '4', btn: 27 } +}) + +// 企标稽查整改 +export const EsInspectionRectification = new EsEnums({ + uploadRectificationResult: { text: '整改负责人上传整改结果', value: '1', btn: 7 }, + directorLeaderApproval: { text: '负责人主管级领导审批', value: '2', btn: 27 }, + directorToExamine: { text: '稽查负责人审核', value: '3', btn: 6 } }) // 项目评估结果类型 diff --git a/src/views/workCenter/enterpriseStandardInspectionPlan/EnterpriseStandardInspectionPlanFlow.vue b/src/views/workCenter/enterpriseStandardInspectionPlan/EnterpriseStandardInspectionPlanFlow.vue index 40fe63a3..a6afb9f1 100644 --- a/src/views/workCenter/enterpriseStandardInspectionPlan/EnterpriseStandardInspectionPlanFlow.vue +++ b/src/views/workCenter/enterpriseStandardInspectionPlan/EnterpriseStandardInspectionPlanFlow.vue @@ -143,9 +143,6 @@ export default { mixins: [WorkCenterMixin], data () { return { - // 当前流程信息 - EsInspectionPlan, - info: {}, loading: false, switchValue: 'base', disabled: false, @@ -165,6 +162,9 @@ export default { xs: { span: 24 }, sm: { span: 22 } }, + // 当前流程信息 + EsInspectionPlan, + info: {}, currentNode: '', currentNodeName: '', // 项目id @@ -199,9 +199,11 @@ export default { validateTrigger: 'change' } }, - // 流程基本信息 + // 流程表单 processInfoForm: this.$form.createForm(this), + // 会签表单 countersignForm: this.$form.createForm(this), + // 流程审批信息表单 approvalInfoForm: this.$form.createForm(this), // 是否会签 isCountersign: null, @@ -212,9 +214,10 @@ export default { }, computed: { pageTitle () { - return this.$t('flowCenter') + this.$route.meta.title + '(' + this.subTitle + ')' + return this.$t('flowCenter') + this.$route.meta.title + '(' + this.nodeTitle + ')' }, - subTitle () { + // 节点标题 + nodeTitle () { return this.$route.query.taskName || EsInspectionPlan.initiate.text }, processDisabled () { @@ -231,8 +234,9 @@ export default { this.currentNode = nodeId || EsInspectionPlan.initiate.value this.currentNodeName = taskName || EsInspectionPlan.initiate.text this.projectId = projectId + this.btn = EsInspectionPlan.propertyOfValue('btn', this.currentNode) // 查询人员信息 - this.getPersonInfoStructure(ProcessKey.ES_Inspection_Plan.value, () => { + this.getPersonInfoStructure(ProcessKey.ES_INSPECTION_PLAN.value, () => { this.initPersonInfoData(this.currentNode === EsInspectionPlan.initiate.value) }) // 如果是待办进来,就获取详情数据 @@ -249,8 +253,6 @@ export default { */ getProjectId () { this.loading = true - this.currentNode = EsInspectionPlan.initiate.value - this.btn = EsInspectionPlan.initiate.btn // 否则就是创建一个新的流程 getInspectPlanProjectId().then(res => { if (res) { @@ -265,23 +267,6 @@ export default { */ loadPage () { const { projectId, taskId } = this.$route.query - switch (this.currentNode) { - case EsInspectionPlan.initiate.value: - this.btn = EsInspectionPlan.initiate.btn - break - case EsInspectionPlan.fillInComments.value: - this.btn = EsInspectionPlan.fillInComments.btn - break - case EsInspectionPlan.liaisonCollect.value: - this.btn = EsInspectionPlan.liaisonCollect.btn - break - case EsInspectionPlan.relevantPersonnelCountersign.value: - this.btn = EsInspectionPlan.relevantPersonnelCountersign.btn - break - case EsInspectionPlan.liaisonLeaderApproval.value: - this.btn = EsInspectionPlan.liaisonLeaderApproval.btn - break - } this.loading = true getInspectPlanDetail({ projectId, @@ -332,11 +317,6 @@ export default { const userList = this.$refs.inspectionPlanTable.dataSource.map(item => item.objectOfConsultation.split(',')).flat(Infinity) personnelObj.opinionFillList = Array.from(new Set(userList)) } - // else if (this.currentNode === EsInspectionPlan.liaisonCollect.value) { - // // 节点3:只给后端leader - // const map = this.$refs.personnelInfo[funName]() - // personnelObj.leader = map.leader - // } return personnelObj }, // 获取页面参数 @@ -445,8 +425,7 @@ export default { case EsInspectionPlan.initiate.value: fn = startInspectPlan break - case EsInspectionPlan.fillInComments.value: - case EsInspectionPlan.liaisonCollect.value: + default: fn = approvalInspectPlan break } diff --git a/src/views/workCenter/enterpriseStandardInspectionPlan/modules/InspectionPlanTable.vue b/src/views/workCenter/enterpriseStandardInspectionPlan/modules/InspectionPlanTable.vue index e8ad4bf3..3855760b 100644 --- a/src/views/workCenter/enterpriseStandardInspectionPlan/modules/InspectionPlanTable.vue +++ b/src/views/workCenter/enterpriseStandardInspectionPlan/modules/InspectionPlanTable.vue @@ -19,7 +19,7 @@ rowKey="id" :loading="loading" :pagination="false" - :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" + :row-selection="hasTableOperator ? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange, getCheckboxProps } : null" :scroll="{x: '100%'}" @change="tableOnChange"> @@ -271,6 +271,14 @@ export default { this.filters.taskId = this.$route.query.taskId }, methods: { + getCheckboxProps (record) { + const obj = { props: { disabled: false } } + // 第二个节点,只有自己的才能勾选删除 + if (this.currentNode === EsInspectionPlan.fillInComments.value) { + obj.props.disabled = record.createBy !== this.$store.getters.userInfo.username + } + return obj + }, getData () { return this.dataSource }, diff --git a/src/views/workCenter/enterpriseStandardInspectionProcess/EnterpriseStandardInspectionProcess.vue b/src/views/workCenter/enterpriseStandardInspectionProcess/EnterpriseStandardInspectionProcess.vue index dc727657..c4aa82bc 100644 --- a/src/views/workCenter/enterpriseStandardInspectionProcess/EnterpriseStandardInspectionProcess.vue +++ b/src/views/workCenter/enterpriseStandardInspectionProcess/EnterpriseStandardInspectionProcess.vue @@ -1,5 +1,5 @@