From f65e2e303e5a9efce1d7843e8420e00e468952ca Mon Sep 17 00:00:00 2001 From: lideqin <694785430@qq.com> Date: Mon, 22 Jul 2024 16:13:57 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20=E5=B7=B2=E5=B0=81=E5=AD=98=E4=BC=81?= =?UTF-8?q?=E6=A0=87=E5=90=AF=E7=94=A8=E6=B5=81=E7=A8=8B=E7=9A=84=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/workCenter.js | 6 + src/components/ProcessDetailList.vue | 132 ++++++++++++++++++ src/enums/commonEnums.js | 9 ++ .../EnterpriseStandardStartUseFlow.vue | 83 +++++++++-- .../processCenter/detail/ProcessDetail.vue | 2 +- .../processCenter/table/DoneList.vue | 5 +- .../processCenter/table/MonitorList.vue | 5 +- .../processCenter/table/SentList.vue | 5 +- 8 files changed, 230 insertions(+), 17 deletions(-) diff --git a/src/api/workCenter.js b/src/api/workCenter.js index ede00787..b457d1c0 100644 --- a/src/api/workCenter.js +++ b/src/api/workCenter.js @@ -6,6 +6,10 @@ const getProcessNodeList = (params) => getAction('/activiti/getNodeList', params const urgeProcessNode = (params) => postAction('/workCenter/urging', params) // 获取taskName const queryTaskNameByTaskId = (params) => getAction('/workCenter/getByTaskId', params) +// 流程中心-保存快照 +const saveSnapShot = (params) => getAction('/workCenter/snapshotSave', params) +// 流程中心-查看-获取数据 +const getLookData = (params) => getAction('/workCenter/snapshotHandle', params) // 流程配置-部署 const deployWorkFlow = (params) => getAction('/activitiModel/deploy', params) @@ -448,6 +452,8 @@ export { getProcessNodeList, urgeProcessNode, queryTaskNameByTaskId, + saveSnapShot, + getLookData, deployWorkFlow, getFlowNodeList, diff --git a/src/components/ProcessDetailList.vue b/src/components/ProcessDetailList.vue index 0c927830..1f03506a 100644 --- a/src/components/ProcessDetailList.vue +++ b/src/components/ProcessDetailList.vue @@ -56,6 +56,16 @@ + + + + {{ text || text === 0 ? text : global.emptyLine }} + {{ text }} + {{ text }} + {{ global.emptyLine }} + + + @@ -147,6 +157,18 @@ export default { type: Boolean, required: false, default: false + }, + // 是否可以点击节点名称跳转 + nodeNameClick: { + type: Boolean, + required: false, + default: false + }, + // 详情页从哪里点进来的(已办,已发还是监控流程) + detailFrom: { + type: String, + required: false, + default: '' } }, computed: { @@ -248,6 +270,10 @@ export default { if (this.$route.query.source === 'monitorList' && this.$route.query.prcStatus === '3') { params.finishFlagSearch = '2,3,4' } + // 是已办,已发还是监控流程的查审批记录 + if (this.detailFrom) { + params.type = this.detailFrom + } if (this.$route.query.processInstanceId) { params.processInstanceId = this.$route.query.processInstanceId } else { @@ -372,6 +398,112 @@ export default { } // 其余可预览文件仍使用KKFile进行预览 kkFilePreview(fileFullUrl) + }, + // 跳转流程基本信息页面 + handleLookDetail (record) { + let path = '' + console.log('-------processKey', this.$route.query.processKey) + // 跳转到对应流程页面 + switch (this.$route.query.processKey + '') { + // 标准法规入库/变更流程 + case '1': + path = '/workCenter/StandardEntryOrChangeProcess' + break + // 标准征求意见流程 + case '2': + path = '/workCenter/StandardConsultationProcess' + break + // 项目合规评估流程 + case '3': + path = '/workCenter/ProjectComplianceEvaluationProcess' + break + // 未符合项跟踪流程 + case '4': + path = '/workCenter/NoMatchTrackingProcess' + break + // 法规合规评估流程 + case '5': + path = '/workCenter/StandardComplianceProcess' + break + // 法规采购流程 + case '6': + path = '/workCenter/StandardProcurementProcess' + break + // 企标立项、变更计划 + case '7': + path = '/workCenter/enterpriseStandardInitChange/planApprovalChangeFlow' + break + // 年度制修订计划(各部门主动上报) + case '8': + path = '/workCenter/annualRevisionPlanActivelyReport/revisionPlanActivelyReportFlow' + break + // 年度制修订计划(标准化发起) + case '9': + path = '/workCenter/annualRevisionPlanStandardizationInit/revisionPlanStandardizationInitFlow' + break + // 企标制修订流程 + case '10': + path = '/workCenter/enterpriseStandardRevision/enterpriseStandardRevisionFlow' + break + // 企标更改流程 + case '11': + path = '/workCenter/enterpriseStandardChange/enterpriseStandardChangeFlow' + break + // 企标复审流程 + case '12': + path = '/workCenter/enterpriseStandardRecheck/enterpriseStandardRecheckFlow' + break + // 企标废止流程 + case '13': + path = '/workCenter/enterpriseStandardAnnul/enterpriseStandardAnnulFlow' + break + // 企标封存流程 + case '14': + path = '/workCenter/enterpriseStandardSealSave/enterpriseStandardSealSaveFlow' + break + // 已封存企标启用流程 + case '15': + path = '/workCenter/enterpriseStandardStartUse/enterpriseStandardStartUseFlow' + break + // 企标稽查计划 + case '16': + path = '/workCenter/EnterpriseStandardInspectionPlan' + break + // 企标稽查流程 + case '17': + path = '/workCenter/EnterpriseStandardInspectionProcess' + break + // 稽查延期申请流程 + case '18': + path = '/workCenter/InspectionExtensionRequestProcess' + break + // 企标稽查整改 + case '19': + path = '/workCenter/EnterpriseStandardInspectionRectification' + break + // 权限申请流程 + case '20': + path = '/workCenter/PermissionApplicationProcess' + break + // 标准宣贯流程 + case '21': + path = '/workCenter/StandardPromotionProcess' + break + // 会后管理流程 + case '22': + path = '/workCenter/PostMeetingManageProcess' + break + } + const query = {} + query.taskName = record.taskName + query.taskId = record.taskId // 为了不影响部分节点的导出 + query.snapshotId = record.snapshotId // 快照id + query.nodeId = record.nodeId // 节点的id + query.isLook = 1 + this.$router.push({ + path: path, + query: query + }) } } } diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js index 55b8b805..eeaa2daf 100644 --- a/src/enums/commonEnums.js +++ b/src/enums/commonEnums.js @@ -170,6 +170,15 @@ export const EnterpriseStandardStatus = { ARCHIVE: { text: '封存', value: '10' } } +// 流程中心-查看跳转详情需要传是已办,已发还是监控流程 +export const Process = { + TO_DO: { text: '待办流程', value: 'todo' }, + DONE: { text: '已办流程', value: '1' }, + SENT: { text: '已发流程', value: '2' }, + MONITOR: { text: '监控流程', value: '3' }, + DRAFT: { text: '草稿', value: 'draft' } +} + // 流程key,获取人员信息前需要获取流程定义id,传这里的名字到WorkCenterMixin的getFlowDefinition方法中 export const ProcessKey = { // 企标立项/变更计划 diff --git a/src/views/workCenter/enterpriseStandardStartUse/EnterpriseStandardStartUseFlow.vue b/src/views/workCenter/enterpriseStandardStartUse/EnterpriseStandardStartUseFlow.vue index 3e03eba9..4b93a315 100644 --- a/src/views/workCenter/enterpriseStandardStartUse/EnterpriseStandardStartUseFlow.vue +++ b/src/views/workCenter/enterpriseStandardStartUse/EnterpriseStandardStartUseFlow.vue @@ -1,7 +1,7 @@ - + {{ $t('basicInformation') }} @@ -31,7 +31,7 @@ @@ -42,7 +42,7 @@ @@ -52,7 +52,7 @@ {{ $t('basicServiceInformation') }} - + @@ -66,11 +66,12 @@ - + @@ -81,7 +82,7 @@ - + @@ -119,11 +120,13 @@ import { enStandardStartUseApproval, enStandardStartUseTurnTo, enStandardStartUseAgree, - enStandardStartUseReject + enStandardStartUseReject, + getLookData } from '@/api/workCenter' import BaseInfoForm from './modules/BaseInfoForm' import { WorkCenterMixin } from '@/mixins/WorkCenterMixin' import { ProcessKey, EsStartUseNodes } from '@/enums/commonEnums' +import { saveSnapShot } from '../../../api/workCenter' export default { name: 'EnterpriseStandardStartUseFlow', @@ -183,6 +186,14 @@ export default { // 有草稿id,说明是从流程中心-草稿来的,需要初始化数据 this.getProcessData('draft', { draftId: this.$route.query.draftId, projectId: this.$route.query.projectId }) } + if (this.$route.query.isLook + '' === '1') { + // 是查看 + this.isLook = true + // 人员信息全部不可选 + this.initPersonInfoData(false) + // 查询数据 + this.getProcessData('look', { snapshotId: this.$route.query.snapshotId }) + } if (this.$route.query.taskName) { // 说明是已发起流程 this.currentNodeName = this.$route.query.taskName @@ -238,7 +249,8 @@ export default { url: { list: '' // 人员信息的右侧表格获取接口 }, - onlySelectFromFlowStation: [EsStartUseNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点 + onlySelectFromFlowStation: [EsStartUseNodes.standardizationApproval.value], // 只能在标准与流程所里选人的节点 + isLook: false } }, methods: { @@ -250,6 +262,9 @@ export default { if (type === 'todo') { func = enStandardStartUseGetDataById params = param.taskId + } else if (type === 'look') { + func = getLookData + params = param } else { func = enStandardStartUseGetDataDraft params = param @@ -360,6 +375,48 @@ export default { } }) }, + // 获取快照json + getParamJsonStr () { + // 流程信息表单 + const processInfoForm = this.processInfoForm.getFieldsValue() + // 流程审批信息 + const approvalInfoForm = this.approvalInfoForm.getFieldsValue() + // 人员信息的数据, 处理成对象 + const personnelObj = this.$refs.personnelInfo.getDataObj() + // 业务基本信息 + const baseInfo = this.$refs.baseInfoRef.getData() + const infoJsonStr = JSON.stringify({ + basicProcessInfoDTO: processInfoForm, + basicTaskInfoDTO: approvalInfoForm, + data: baseInfo.formInline, + personnelObj: personnelObj + }) + return infoJsonStr + }, + // 保存快照 + saveParamJsonStr () { + // 流程信息表单 + const processInfoForm = this.processInfoForm.getFieldsValue() + // 流程审批信息 + const approvalInfoForm = this.approvalInfoForm.getFieldsValue() + // 人员信息的数据, 处理成对象 + const personnelObj = this.$refs.personnelInfo.getDataObj() + // 业务基本信息 + const baseInfo = this.$refs.baseInfoRef.getData() + const params = {} + params.infoJsonStr = JSON.stringify({ + basicProcessInfoDTO: processInfoForm, + basicTaskInfoDTO: approvalInfoForm, + data: baseInfo.formInline, + personnelObj: personnelObj + }) + params.taskId = this.$route.query.taskId + saveSnapShot(params).then(res => { + if (!res.success) { + console.log(res.message) + } + }) + }, // 节点一时候的提交 handleStart () { if (this.loading) return @@ -384,6 +441,8 @@ export default { } paramObj.flowUser = personnelObj paramObj.data = data.formInline + // 快照JSON + paramObj.common.infoJsonStr = this.getParamJsonStr() let func if (this.$route.query.taskId) { // 有taskId说明是驳回的提交 @@ -446,9 +505,11 @@ export default { const param = {} param.common = Object.assign({}, values) param.common.taskId = this.$route.query.taskId - enStandardStartUseAgree(param).then(res => { + enStandardStartUseAgree(param).then(async res => { if (res.success) { this.$message.success(res.message) + // 保存快照 + await this.saveParamJsonStr() this.goBack() } else { this.$message.warning(res.message) @@ -473,9 +534,11 @@ export default { const param = {} param.common = Object.assign({}, values) param.common.taskId = this.$route.query.taskId - enStandardStartUseReject(param).then(res => { + enStandardStartUseReject(param).then(async res => { if (res.success) { this.$message.success(res.message) + // 保存快照 + await this.saveParamJsonStr() this.goBack() } else { this.$message.warning(res.message) diff --git a/src/views/workCenter/processCenter/detail/ProcessDetail.vue b/src/views/workCenter/processCenter/detail/ProcessDetail.vue index 81fefe33..7d538774 100644 --- a/src/views/workCenter/processCenter/detail/ProcessDetail.vue +++ b/src/views/workCenter/processCenter/detail/ProcessDetail.vue @@ -1,6 +1,6 @@ - + diff --git a/src/views/workCenter/processCenter/table/DoneList.vue b/src/views/workCenter/processCenter/table/DoneList.vue index 3a605bb1..ea46f7af 100644 --- a/src/views/workCenter/processCenter/table/DoneList.vue +++ b/src/views/workCenter/processCenter/table/DoneList.vue @@ -76,7 +76,7 @@