[update] 联调企标计划立项/变更流程

This commit is contained in:
lideqin
2023-10-26 16:35:57 +08:00
parent d6ecca66a0
commit 9578cde2b0
4 changed files with 85 additions and 55 deletions
+28 -1
View File
@@ -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
+1 -1
View File
@@ -71,7 +71,7 @@ export default {
},
{ // 企标复审流程
title: this.$t('workCenter.newProcess.processOfEnterpriseBidReview'),
path: ''
path: '/workCenter/enterpriseStandardRecheck/enterpriseStandardRecheckFlow'
},
{ // 企标废止流程
title: this.$t('workCenter.newProcess.processOfEnterpriseBidAnnulment'),
@@ -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]" />
</a-form-item>
</a-col>
<a-col :span="12">
@@ -34,7 +34,7 @@
style="width: 100%"
:disabled="disabled"
value-format="YYYY-MM-DD"
v-decorator="['deadlineDate']" />
v-decorator="['dueTime']" />
</a-form-item>
</a-col>
<a-col :span="24">
@@ -44,7 +44,7 @@
:maxLength="500"
:rows="4"
:disabled="disabled"
v-decorator="['processDescription']" />
v-decorator="['prcMes']" />
</a-form-item>
</a-col>
</a-row>
@@ -192,11 +192,11 @@
<a-textarea :placeholder="$t('pleaseEnter') + $t('remarks')"
:maxLength="500"
:rows="4"
v-decorator="['remarks', validatorRules.remarks]" />
v-decorator="['commitText', validatorRules.commitText]" />
</a-form-item>
<!--附件-->
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('businessSupport.questionAnswer.attach')">
<j-upload v-decorator="['attachment']" return-id />
<j-upload v-decorator="['commitFile']" return-id />
</a-form-item>
</a-form>
</div>
@@ -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
})
}
})
@@ -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
}
})
},