From 9578cde2b0ce490cf595edbcc60323ba4807d273 Mon Sep 17 00:00:00 2001 From: lideqin <694785430@qq.com> Date: Thu, 26 Oct 2023 16:35:57 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20=E8=81=94=E8=B0=83=E4=BC=81=E6=A0=87?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E7=AB=8B=E9=A1=B9/=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/workCenter.js | 29 +++++- src/views/workCenter/NewProcess.vue | 2 +- .../PlanApprovalChangeFlow.vue | 95 ++++++++++--------- .../processCenter/table/TodoList.vue | 14 +-- 4 files changed, 85 insertions(+), 55 deletions(-) diff --git a/src/api/workCenter.js b/src/api/workCenter.js index ad0c1274..98aa9666 100644 --- a/src/api/workCenter.js +++ b/src/api/workCenter.js @@ -27,7 +27,7 @@ const enterprisePlanApprovalSave = (params) => postAction('/process/es/initChang // 根据三个编号和年代号获取企标编号 const getEnStandardNo = (params) => postAction('/process/es/initChange/getStandardNo', params) // 根据流程id获取流程信息 -const getProcessDataById = (params) => getAction('/process/center/handle', params) +const getProcessDataById = (params) => postAction('/process/es/initChange/handle', params) // 年度制修订计划(各部门主动上报) // 发起 @@ -64,6 +64,24 @@ const enStandardChangeTurnTo = (params) => postAction('', params) const enStandardChangeAgree = (params) => postAction('', params) // 拒绝 const enStandardChangeReject = (params) => postAction('', params) +// 根据id查流程数据 +const enStandardChangeGetDataById = (params) => getAction('', params) + +// 企标复审流程 +// 根据id查询流程数据 +const enStandardRecheckGetDataById = (params) => getAction('', params) +// 保存 +const enStandardRecheckSave = (params) => postAction('', params) +// 发起 +const enStandardRecheckApproval = (params) => postAction('', params) +// 转办 +const enStandardRecheckTurnTo = (params) => postAction('', params) +// 提交 +const enStandardRecheckSubmit = (params) => postAction('', params) +// 同意 +const enStandardRecheckAgree = (params) => postAction('', params) +// 驳回 +const enStandardRecheckReject = (params) => postAction('', params) // 流程中心 // 待办-转办 @@ -103,6 +121,15 @@ export { enStandardChangeTurnTo, enStandardChangeAgree, enStandardChangeReject, + enStandardChangeGetDataById, + + enStandardRecheckGetDataById, + enStandardRecheckSave, + enStandardRecheckApproval, + enStandardRecheckTurnTo, + enStandardRecheckSubmit, + enStandardRecheckAgree, + enStandardRecheckReject, toDoTurnTo, compulsoryWithdrawal diff --git a/src/views/workCenter/NewProcess.vue b/src/views/workCenter/NewProcess.vue index efd01ef1..ed1e9fbf 100644 --- a/src/views/workCenter/NewProcess.vue +++ b/src/views/workCenter/NewProcess.vue @@ -71,7 +71,7 @@ export default { }, { // 企标复审流程 title: this.$t('workCenter.newProcess.processOfEnterpriseBidReview'), - path: '' + path: '/workCenter/enterpriseStandardRecheck/enterpriseStandardRecheckFlow' }, { // 企标废止流程 title: this.$t('workCenter.newProcess.processOfEnterpriseBidAnnulment'), diff --git a/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue b/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue index 413acd61..c8fdf4d6 100644 --- a/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue +++ b/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue @@ -24,7 +24,7 @@ @change="event => event.target.value = event.target.value.trim()" :disabled="disabled || processNameDisabled" :maxLength="50" - v-decorator="['processName', validatorRules.processName]" /> + v-decorator="['prcName', validatorRules.prcName]" /> @@ -34,7 +34,7 @@ style="width: 100%" :disabled="disabled" value-format="YYYY-MM-DD" - v-decorator="['deadlineDate']" /> + v-decorator="['dueTime']" /> @@ -44,7 +44,7 @@ :maxLength="500" :rows="4" :disabled="disabled" - v-decorator="['processDescription']" /> + v-decorator="['prcMes']" /> @@ -192,11 +192,11 @@ + v-decorator="['commitText', validatorRules.commitText]" /> - + @@ -469,11 +469,11 @@ export default { } }, mounted () { - console.log(this.$route.query.processId) - if (this.$route.query.processId) { + console.log(this.$route.query.taskId) + if (this.$route.query.taskId) { this.currentNode = 2 // todo: 先设置一个假数据,后端还不能返回当前节点 // 有流程id说明是从流程中心来的,需要初始化数据 - this.getProcessData(this.$route.query.processId) + this.getProcessData(this.$route.query.taskId) } if (this.currentNode === 1) { this.personnelInfoData = approvalPersonalInfo @@ -519,13 +519,13 @@ export default { }, validatorRules: { // 流程名称 - processName: { + prcName: { rules: [ { required: true, message: this.$t('pleaseEnter') + this.$t('processName') } ], validateTrigger: 'blur' }, - remarks: { + commitText: { rules: [ { required: false, message: this.$t('pleaseEnter') + this.$t('remarks') } ], @@ -575,15 +575,15 @@ export default { }, methods: { // 根据流程id获取数据并回显 - getProcessData (processId) { - getProcessDataById({ processInstanceId: processId }).then(res => { + getProcessData (taskId) { + getProcessDataById({ taskId: taskId }).then(res => { if (res.success) { this.model = res.result this.$nextTick(() => { // 初始化流程信息 - this.processInfoForm.setFieldsValue(pick(this.model[0], 'processName', 'deadlineDate', 'processDescription')) + this.processInfoForm.setFieldsValue(pick(this.model[0], 'prcName', 'dueTime', 'prcMes')) // 初始化流程审批信息,todo:需要判断是不是草稿进来的,草稿进来的才回显审批信息 - // this.approvalInfoForm.setFieldsValue(pick(this.model[0], 'remarks', 'attachment')) + // this.approvalInfoForm.setFieldsValue(pick(this.model[0], 'commitText', 'commitFile')) }) // 初始化业务基本信息的申请类型和项目类别 this.formInline.applicationCategory = this.model[0].applicationCategory @@ -649,12 +649,12 @@ export default { }, // 业务基本信息组件中获取到流程名称改变后的值 processNameChange (value) { - const param = { processName: value } + const param = { prcName: value } this.$nextTick(() => { - this.processInfoForm.setFieldsValue(pick(param, 'processName')) + this.processInfoForm.setFieldsValue(pick(param, 'prcName')) }) }, - // 保存(业务基本信息那里是表格的就传给后端数组里多条数据,是表单的就在数组里放一条数据) + // 保存 handleSave () { // 有任意一项填了即可 // 流程信息表单 @@ -673,16 +673,16 @@ export default { personnelObj[item.fieldName] = item.user } } - // 需要传给后端的数组 + // 业务基础信息组件中的数据 let arr = [] // 业务基本信息-立项表单 - let approvalBaseInfo = {} if (this.$refs.approvalBaseInfo) { - approvalBaseInfo = this.$refs.approvalBaseInfo.formInline + const approvalBaseInfo = this.$refs.approvalBaseInfo.formInline // 企标体系处理成逗号分隔 if (approvalBaseInfo.enStandardSystem && approvalBaseInfo.enStandardSystem.length > 0) { approvalBaseInfo.enStandardSystem = approvalBaseInfo.enStandardSystem.map(item => item.value).join(',') } + // 校验至少填了一项 const param = { ...processInfoForm, ...ruleForm, ...approvalBaseInfo, ...approvalInfoForm, ...personnelObj, ...userInfoForm } const flag = Object.values(param).some(v => !!v || v === 0) if (!flag) { @@ -690,7 +690,7 @@ export default { this.$message.warning(this.$t('pleaseFillInAtLeastOneItem')) return } - arr.push(param) + arr.push({ ...ruleForm, ...approvalBaseInfo }) } else if (this.formInline.projectType === ProjectType.COMPLETE_TIME_CHANGE.value) { // 业务基本信息-变更-完成时间变更 const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm, ...personnelObj, ...userInfoForm } @@ -700,7 +700,7 @@ export default { this.$message.warning(this.$t('pleaseFillInAtLeastOneItem')) return } - arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } }) + arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...ruleForm } }) } else if (this.formInline.projectType === ProjectType.WORK_TERMINATE.value) { // 业务基本信息-变更-工作终止 const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm, ...personnelObj, ...userInfoForm } @@ -710,13 +710,10 @@ export default { this.$message.warning(this.$t('pleaseFillInAtLeastOneItem')) return } - arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } }) + arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...ruleForm } }) } else if (this.formInline.projectType === ProjectType.RESPONSIBLE_DEPT_CHANGE.value) { // 业务基本信息-变更-责任部门变更 - let dutyDepartChangeForm = {} - if (this.$refs.changeBaseInfo) { - dutyDepartChangeForm = this.$refs.changeBaseInfo.formInline - } + const dutyDepartChangeForm = this.$refs.changeBaseInfo.formInline const param = { ...processInfoForm, ...ruleForm, ...dutyDepartChangeForm, ...approvalInfoForm, ...personnelObj, ...userInfoForm } const flag = Object.values(param).some(v => !!v || v === 0) if (!flag) { @@ -724,13 +721,10 @@ export default { this.$message.warning(this.$t('pleaseFillInAtLeastOneItem')) return } - arr.push(param) + arr.push({ ...ruleForm, ...dutyDepartChangeForm }) } else if (this.formInline.projectType === ProjectType.MERGE.value) { // 业务基本信息-变更-合并 - let mergeForm = {} - if (this.$refs.changeBaseInfo) { - mergeForm = this.$refs.changeBaseInfo.formInline - } + const mergeForm = this.$refs.changeBaseInfo.formInline const param = { ...processInfoForm, ...ruleForm, ...mergeForm, ...approvalInfoForm, ...personnelObj, ...userInfoForm } const flag = Object.values(param).some(v => !!v || v === 0) if (!flag) { @@ -738,10 +732,10 @@ export default { this.$message.warning(this.$t('pleaseFillInAtLeastOneItem')) return } - arr.push(param) + arr.push({ ...ruleForm, ...mergeForm }) } else { // 还没有选择申请类型和项目类别,需要外层信息至少填了一项 - const param = { ...processInfoForm, ...ruleForm, ...approvalBaseInfo, ...approvalInfoForm, ...personnelObj, ...userInfoForm } + const param = { ...processInfoForm, ...ruleForm, ...approvalInfoForm, ...personnelObj, ...userInfoForm } const flag = Object.values(param).some(v => !!v || v === 0) if (!flag) { // 提示至少填写一项 @@ -750,8 +744,12 @@ export default { } } this.loading = true + const param = {} // 传给后端的参数 + param.commonVO = { ...processInfoForm, ...approvalInfoForm } // 流程信息和流程审批信息 + param.dataList = arr // 业务基础信息数组 + param.flowUserInfoVO = personnelObj // 人员信息 // 保存到草稿 - enterprisePlanApprovalSave(arr).then(res => { + enterprisePlanApprovalSave(param).then(res => { if (res.success) { this.$message.success(res.message) } else { @@ -761,7 +759,7 @@ export default { this.loading = false }) }, - // 节点一时候的提交,发起立项变更申请(业务基本信息那里是表格的就传给后端数组里多条数据,是表单的就在数组里放一条数据) + // 节点一时候的提交,发起立项变更申请 handleStart () { if (this.loading) return // 人员信息的数据, 处理成对象 @@ -780,7 +778,7 @@ export default { this.processInfoForm.validateFields((err, values) => { this.$refs.ruleForm.validate(valid => { this.approvalInfoForm.validateFields((approvalErr, approvalValues) => { - let arr = [] // 需要传给后端的数据 + let arr = [] // 业务基本信息部分的数据封装 let haveErr = true // 是否有错误,有错,则不能提交,false没有错 // 立项和变更的数据不一样,分开判断 if (this.formInline.applicationCategory === ApplicationCategory.INITIATION.value) { @@ -788,7 +786,7 @@ export default { this.$refs.approvalBaseInfo.$refs.ruleForm.validate(approvalBaseValid => { if (valid && approvalBaseValid && !err && !approvalErr) { this.loading = true - const param = Object.assign({}, values, this.formInline, approvalValues, this.$refs.approvalBaseInfo.formInline, personnelObj) + const param = Object.assign({}, this.formInline, this.$refs.approvalBaseInfo.formInline) // 企标体系处理成逗号分隔 param.enStandardSystem = param.enStandardSystem.map(item => item.value).join(',') arr.push(param) @@ -802,9 +800,10 @@ export default { // 是变更-完成时间 或者 变更-工作终止变更 if (valid && !err && !approvalErr && this.$refs.changeBaseInfo && this.$refs.changeBaseInfo.dataSource.length > 0) { this.loading = true - const param = { ...values, ...this.formInline, ...approvalValues, ...personnelObj } - arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...param } }) + arr = this.$refs.changeBaseInfo.dataSource.map(item => { return { ...item, ...this.formInline } }) haveErr = false + } else if (valid && !err && !approvalErr && this.$refs.changeBaseInfo) { + haveErr = true } else { haveErr = true if (this.$refs.changeBaseInfo.dataSource.length <= 0) { @@ -816,7 +815,7 @@ export default { this.$refs.changeBaseInfo.$refs.ruleForm.validate(changeBaseValid => { if (valid && changeBaseValid && !err && !approvalErr) { this.loading = true - const param = Object.assign({}, values, this.formInline, approvalValues, this.$refs.changeBaseInfo.formInline, personnelObj) + const param = Object.assign({}, this.formInline, this.$refs.changeBaseInfo.formInline) arr.push(param) haveErr = false } else { @@ -834,7 +833,7 @@ export default { return } this.loading = true - const param = Object.assign({}, values, this.formInline, approvalValues, this.$refs.changeBaseInfo.formInline, personnelObj) + const param = Object.assign({}, this.formInline, this.$refs.changeBaseInfo.formInline) // 企标体系处理成逗号分隔 param.enStandardSystem = param.enStandardSystem.map(item => item.value).join(',') arr.push(param) @@ -856,7 +855,11 @@ export default { if (haveErr) { return } - enterprisePlanApproval(arr).then(res => { + const param = {} // 需要传给后端的数据 + param.commonVO = { ...values, ...approvalValues } // 流程信息和流程审批信息 + param.dataList = arr + param.flowUserInfoVO = personnelObj + enterprisePlanApproval(param).then(res => { if (res.success) { this.$message.success(res.message) } else { @@ -941,8 +944,8 @@ export default { // 驳回 handleReject () { if (this.loading) return - this.validatorRules.remarks.rules[0].required = true - if (!this.approvalInfoForm.getFieldValue('remarks')) { + this.validatorRules.commitText.rules[0].required = true + if (!this.approvalInfoForm.getFieldValue('commitText')) { this.$message.warning(this.$t('pleaseEnterRemarks')) } this.$nextTick(() => { @@ -959,7 +962,7 @@ export default { } }).finally(() => { this.loading = false - this.validatorRules.remarks.rules[0].required = false + this.validatorRules.commitText.rules[0].required = false }) } }) diff --git a/src/views/workCenter/processCenter/table/TodoList.vue b/src/views/workCenter/processCenter/table/TodoList.vue index ca8544eb..ef7cf90c 100644 --- a/src/views/workCenter/processCenter/table/TodoList.vue +++ b/src/views/workCenter/processCenter/table/TodoList.vue @@ -88,35 +88,35 @@ export default { title: this.$t('workCenter.processCenter.processNumber'), align: 'center', width: 180, - dataIndex: 'processNumber', + dataIndex: 'prcNum', scopedSlots: { customRender: 'text' } }, { // 流程类型 title: this.$t('workCenter.processCenter.processType'), align: 'center', width: 180, - dataIndex: 'processType_dictText', + dataIndex: 'prcType_dictText', scopedSlots: { customRender: 'text' } }, { // 流程名称 title: this.$t('processName'), align: 'center', width: 180, - dataIndex: 'processName', + dataIndex: 'prcName', scopedSlots: { customRender: 'text' } }, { // 发起人 title: this.$t('workCenter.processCenter.initiator'), align: 'center', width: 180, - dataIndex: 'initiator', + dataIndex: 'createUserName', scopedSlots: { customRender: 'text' } }, { // 接收任务时间 title: this.$t('workCenter.processCenter.receivingTaskTime'), align: 'center', width: 180, - dataIndex: 'receivingTaskTime', + dataIndex: 'receivedTaskTime', sort: true, scopedSlots: { customRender: 'text' } }, @@ -148,8 +148,8 @@ export default { path: path, query: { currentNode: record.currentNode, - processId: record.prcId, // 流程id - taskId: record.taskId + processId: record.id, // 流程id + taskId: record.taskId // 任务id } }) },