-
-
-
+
+
+
{{ step.userList }}
@@ -88,6 +88,34 @@ export default {
deep: true,
immediate: true
}
+ },
+ methods: {
+ // 获取人员对象,无校验
+ getDataObj () {
+ const personnelObj = {}
+ for (const item of this.stepsData) {
+ // 该属性还没有人就给他赋值
+ if ((item.canChoose || item.sort === 1) && !personnelObj[item.variableName]) {
+ personnelObj[item.variableName] = item.linkUserIds
+ }
+ }
+ return personnelObj
+ },
+ // 有校验的获取人员对象
+ getDataObjVerify () {
+ let personnelObj = {}
+ for (const item of this.stepsData) {
+ // 该属性还没有人就给他赋值
+ if ((item.canChoose || item.sort === 1) && !personnelObj[item.variableName]) {
+ personnelObj[item.variableName] = item.linkUserIds
+ }
+ }
+ if (!Object.values(personnelObj).every(v => !!v)) {
+ this.$message.warning(this.$t('pleaseEnterPersonnelInfo'))
+ personnelObj = false
+ }
+ return personnelObj
+ }
}
}
@@ -106,7 +134,8 @@ export default {
}
/deep/ .ant-steps-item-content {
- padding: 0 12px;
+ padding: 0 12px 30px 12px;
+
}
.step-title {
diff --git a/src/mixins/WorkCenterMixin.js b/src/mixins/WorkCenterMixin.js
new file mode 100644
index 00000000..0b9aab76
--- /dev/null
+++ b/src/mixins/WorkCenterMixin.js
@@ -0,0 +1,59 @@
+import { getProcessNodeList } from '../api/workCenter'
+import Vue from 'vue'
+import { USER_INFO } from '../store/mutation-types'
+
+export const WorkCenterMixin = {
+ data () {
+ return {
+ personnelInfoData: [] // 需要传给PersonnelInfo的数据
+ }
+ },
+ methods: {
+ // 查询人员信息结构数据
+ getPersonInfoStructure (key) {
+ const param = {}
+ param.processDefinitionKey = key
+ if (this.$route.query.processInstanceId) {
+ param.processInstanceId = this.$route.query.processInstanceId
+ }
+ getProcessNodeList(param).then(res => {
+ if (res.success) {
+ console.log(res.result)
+ // 处理人员信息数据,判断每个节点是否能选人
+ this.personnelInfoData = res.result.map(item => {
+ return {
+ ...item,
+ chooseType: item.variableType === 'string' ? 'radio' : 'checkbox'
+ }
+ })
+ if (!this.$route.query.processInstanceId) {
+ // 说明是在新发起一个节点,初始化发起人员信息
+ this.personnelInfoData[0].linkUserIds = Vue.ls.get(USER_INFO).id
+ this.personnelInfoData[0].userList = Vue.ls.get(USER_INFO).realname + '(' + Vue.ls.get(USER_INFO).username + ')'
+ }
+ }
+ })
+ },
+ /**
+ * 待办中进入需要初始化人员信息数据
+ * @param isFirstNode 是否是第一个节点,第一个节点需要能编辑的可以编辑并且回显数据
+ */
+ initPersonInfoData (isFirstNode) {
+ if (!isFirstNode) {
+ this.personnelInfoData = this.personnelInfoData.map(item => {
+ return {
+ ...item,
+ userList: item.linkUserIds_dictText,
+ canChoose: 0
+ }
+ })
+ }
+ },
+ // 操作完成返回
+ goBack () {
+ setTimeout(() => {
+ this.$router.go(-1)
+ }, 700)
+ }
+ }
+}
diff --git a/src/views/workCenter/annualRevisionPlanActivelyReport/RevisionPlanActivelyReportFlow.vue b/src/views/workCenter/annualRevisionPlanActivelyReport/RevisionPlanActivelyReportFlow.vue
index ccaf389c..f2630a89 100644
--- a/src/views/workCenter/annualRevisionPlanActivelyReport/RevisionPlanActivelyReportFlow.vue
+++ b/src/views/workCenter/annualRevisionPlanActivelyReport/RevisionPlanActivelyReportFlow.vue
@@ -99,7 +99,7 @@
@@ -162,64 +162,19 @@ import {
import Vue from 'vue'
import { USER_INFO } from '@/store/mutation-types'
import pick from 'lodash.pick'
+import { WorkCenterMixin } from '@/mixins/WorkCenterMixin'
+import { ProcessKey } from '@/enums/commonEnums'
-const personData = [
- {
- id: 1,
- nodeName: '标准化工程师发起',
- nodeRoleName: '发起人',
- canChoose: false,
- userList: Vue.ls.get(USER_INFO).realname + '(' + Vue.ls.get(USER_INFO).username + ')',
- fieldName: 'standardEngineer'
- },
- {
- id: 2,
- nodeName: '各部门联络人填写/下发任务',
- nodeRoleName: '各部门联络人',
- canChoose: true,
- chooseType: 'checkbox',
- fieldName: 'contactUserList'
- },
- {
- id: 3,
- nodeName: '工作组/所联络人填写企标',
- nodeRoleName: '工作组/所联络人',
- canChoose: false,
- fieldName: 'workGroupUserList'
- },
- {
- id: 4,
- nodeName: '收集联络人主管级领导审批',
- nodeRoleName: '联络人主管级领导',
- canChoose: false,
- chooseType: 'checkbox',
- fieldName: 'collectUserLeader'
- },
- {
- id: 5,
- nodeName: '各部门联络人汇总',
- nodeRoleName: '各部门联络人',
- canChoose: false,
- chooseType: 'checkbox',
- fieldName: 'contactUserList'
- },
- {
- id: 6,
- nodeName: '联络人主管级上一级领导审批',
- nodeRoleName: '联络人主管级上一级领导',
- canChoose: false,
- chooseType: 'checkbox',
- fieldName: 'contactUserLeaderLeader'
- },
- {
- id: 7,
- nodeName: '标准化工程师归档',
- nodeRoleName: '标准化工程师',
- canChoose: false,
- chooseType: 'radio',
- fieldName: 'standardEngineer'
- }
-]
+const taskNameConstant = {
+ STANDARD_ENGINEER_INIT: '标准化工程师发起',
+ CONTACT_USER_DISTRIBUTE: '各部所联络人 填写/下发任务',
+ WORK_GROUP_COLLECT: '工作组联络人 线下收集,填写计划内容(可跳过)',
+ COLLECT_LEADER_APPROVAL: '收集联络人主管级领导审批',
+ CONTACT_USER_COLLECT: '各部所联络人汇总',
+ CONTACT_USER_LEADER_APPROVAL: '联络人主管级上级领导审批',
+ CONTACT_USER_EDIT: '各部所联络人修改调整',
+ STANDARD_ENGINEER_COLLECT: '标准化工程师归档'
+}
export default {
name: 'RevisionPlanActivelyReportFlow',
@@ -233,6 +188,7 @@ export default {
PersonnelInfo,
UserSelectModal
},
+ mixins: [WorkCenterMixin],
computed: {
pageTitle () {
return this.$t('flowCenter') + this.$route.meta.title
@@ -243,30 +199,42 @@ export default {
}
},
mounted () {
+ // 获取人员信息结构
+ this.getPersonInfoStructure(ProcessKey.ES_ANNUAL_REPORT.value)
if (this.$route.query.taskId) {
+ this.currentNodeName = this.$route.query.taskName
// 有流程id说明是从流程中心来的,需要初始化数据
this.getProcessData(this.$route.query.taskId)
} else {
- // 没有taskId说明是新建进来的,初始化人员信息
- this.personnelInfoData = personData
+ this.currentNodeName = '标准化工程师发起'
}
// 初始化节点
const taskName = this.$route.query.taskName
if (taskName) {
- if (taskName === '标准化工程师发起') {
+ if (taskName === taskNameConstant.STANDARD_ENGINEER_INIT) {
+ // 标准化工程师发起
this.currentNode = 1
- } else if (taskName === '各部所联络人 填写/下发任务') {
+ } else if (taskName === taskNameConstant.CONTACT_USER_DISTRIBUTE) {
+ // 各部所联络人 填写/下发任务
this.currentNode = 2
- } else if (taskName === '工作组/所联络人填写企标') {
+ } else if (taskName === taskNameConstant.WORK_GROUP_COLLECT) {
+ // 工作组联络人 线下收集,填写计划内容(可跳过)
this.currentNode = 3
- } else if (taskName === '收集联络人主管级领导审批') {
+ } else if (taskName === taskNameConstant.COLLECT_LEADER_APPROVAL) {
+ // 收集联络人主管级领导审批
this.currentNode = 4
- } else if (taskName === '各部所联络人汇总') {
+ } else if (taskName === taskNameConstant.CONTACT_USER_COLLECT) {
+ // 各部所联络人汇总
this.currentNode = 5
- } else if (taskName === '联络人主管级上一级领导审批') {
+ } else if (taskName === taskNameConstant.CONTACT_USER_LEADER_APPROVAL) {
+ // 联络人主管级上级领导审批
this.currentNode = 6
- } else {
+ } else if (taskName === taskNameConstant.STANDARD_ENGINEER_COLLECT) {
+ // 标准化工程师归档
this.currentNode = 7
+ } else {
+ // 预留加签节点
+ this.currentNode = 999
}
}
// 如果是查看进入的,不可编辑,不可操作
@@ -342,25 +310,11 @@ export default {
})
// 初始化人员信息
if (this.currentNode === 1) {
- this.personnelInfoData = personData.map(item => {
- if (item.fieldName) {
- return {
- ...item,
- user: this.model.flowUser[item.fieldName],
- user_dictText: this.model.flowUser[item.fieldName + '_dictText']
- }
- } else {
- return item
- }
- })
+ // 初始化人员信息数据
+ this.initPersonInfoData(true)
} else {
- this.personnelInfoData = personData.map(item => {
- if (item.fieldName) {
- return { ...item, user: this.model.flowUser[item.fieldName], userList: this.model.flowUser[item.fieldName + '_dictText'], canChoose: false }
- } else {
- return item
- }
- })
+ // 初始化人员信息数据
+ this.initPersonInfoData(false)
}
// 初始化业务基本信息
if (this.currentNode === 1) {
@@ -391,44 +345,54 @@ export default {
// 流程审批信息
const approvalInfoForm = this.approvalInfoForm.getFieldsValue()
// 人员信息的数据, 处理成对象
- const personnelInfo = this.$refs.personnelInfo.stepsData
- const personnelObj = {}
- for (const item of personnelInfo) {
- if (item.fieldName) {
- personnelObj[item.fieldName] = item.user
- }
- }
+ const personnelObj = this.$refs.personnelInfo.getDataObj()
// 需要传给后端的
- let param = {}
- param.common = { ...processInfoForm, ...approvalInfoForm }
- param.flowUser = personnelObj
+ const paramObj = {}
+ paramObj.common = { ...processInfoForm, ...approvalInfoForm }
+ paramObj.flowUser = personnelObj
// 业务基本信息
if (this.$refs.baseInfoFormRef) {
const ruleForm = this.$refs.baseInfoFormRef.getData()
if (this.currentNode === 1) {
// 只有表单
- param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj, ...ruleForm.formInline }
+ const param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj, ...ruleForm.formInline }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
- param.dataList = [ruleForm.formInline]
- } else if ([2, 3].includes(this.currentNode)) {
+ paramObj.dataList = [ruleForm.formInline]
+ } else if (this.currentNode === 2) {
+ // 业务基本信息有表单,可能有表格也可能没有
+ const param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj, ...ruleForm.formInline }
+ const flag = Object.values(param).some(v => !!v || v === 0)
+ if (!flag || (ruleForm.dataSource && ruleForm.dataSource.length <= 0)) {
+ // 提示至少填写一项
+ this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
+ return
+ }
+ if (ruleForm.dataSource) {
+ paramObj.dataList = ruleForm.dataSource.map(item => {
+ return { ...item, ...ruleForm.formInline }
+ })
+ } else {
+ paramObj.dataList = [ruleForm.formInline]
+ }
+ } else if (this.currentNode === 3) {
// 业务基本信息有表单也有表格
- param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj, ...ruleForm.formInline }
+ const param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj, ...ruleForm.formInline }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag || ruleForm.dataSource.length <= 0) {
// 提示至少填写一项
this.$message.warning(this.$t('pleaseFillInAtLeastOneItem'))
return
}
- param.dataList = ruleForm.dataSource.map(item => {
+ paramObj.dataList = ruleForm.dataSource.map(item => {
return { ...item, ...ruleForm.formInline }
})
} else if (this.currentNode === 5) {
- param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj }
+ const param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag || ruleForm.dataSource.length <= 0) {
// 提示至少填写一项
@@ -436,11 +400,11 @@ export default {
return
}
// 业务基础信息中只有表格
- param.dataList = ruleForm.dataSource
+ paramObj.dataList = ruleForm.dataSource
}
} else {
// 需要外层信息至少填了一项
- param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj }
+ const param = { ...processInfoForm, ...approvalInfoForm, ...personnelObj }
const flag = Object.values(param).some(v => !!v || v === 0)
if (!flag) {
// 提示至少填写一项
@@ -450,7 +414,7 @@ export default {
}
this.loading = true
// 保存到草稿
- activelyReportSave(param).then(res => {
+ activelyReportSave(paramObj).then(res => {
if (res.success) {
this.$message.success(res.message)
this.goBack()
@@ -465,18 +429,8 @@ export default {
handleStart () {
if (this.loading) return
// 人员信息的数据, 处理成对象
- const personnelInfo = this.$refs.personnelInfo.stepsData
- const personnelObj = {}
- for (const item of personnelInfo) {
- if (item.fieldName && item.canChoose) {
- personnelObj[item.fieldName] = item.user
- }
- }
- // 发起人,标准化工程师设置为当前登录人
- personnelObj.standardEngineer = Vue.ls.get(USER_INFO).id
- // 校验是否填了所有能填的人员信息
- if (!Object.values(personnelObj).every(v => !!v)) {
- this.$message.warning(this.$t('pleaseEnterPersonnelInfo'))
+ const personnelObj = this.$refs.personnelInfo.getDataObjVerify()
+ if (!personnelObj) {
return
}
// 流程信息校验
@@ -574,8 +528,9 @@ export default {
this.approvalInfoForm.validateFields((err, values) => {
if (!err) {
this.loading = true
- const param = Object.assign({}, values)
- param.taskId = this.$route.query.taskId
+ const param = {}
+ param.common = Object.assign({}, values)
+ param.common.taskId = this.$route.query.taskId
activelyReportAgree(param).then(res => {
if (res.success) {
this.$message.success(res.message)
@@ -595,8 +550,9 @@ export default {
this.approvalInfoForm.validateFields((err, values) => {
if (!err) {
this.loading = true
- const param = Object.assign({}, values)
- param.taskId = this.$route.query.taskId
+ const param = {}
+ param.common = Object.assign({}, values)
+ param.common.taskId = this.$route.query.taskId
activelyReportReject(param).then(res => {
if (res.success) {
this.$message.success(res.message)
@@ -609,9 +565,6 @@ export default {
})
}
})
- },
- goBack () {
- this.$router.go(-1)
}
}
}
diff --git a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterSendTaskForm.vue b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterSendTaskForm.vue
index d92d789a..dcbe55be 100644
--- a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterSendTaskForm.vue
+++ b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterSendTaskForm.vue
@@ -120,8 +120,7 @@ export default {
}
]
},
- modalType: '', // 是在新增还是在编辑,编辑的时候放正在编辑的下标
- data: undefined
+ modalType: '' // 是在新增还是在编辑,编辑的时候放正在编辑的下标
}
},
methods: {
@@ -131,7 +130,6 @@ export default {
},
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表单赋值
if (data.dataList[0].distributeFlag + '' === '0') {
// 不下发联络人
@@ -166,11 +164,11 @@ export default {
if (result) {
if (this.$refs.tableRef) {
// 存在表格说明是否下发联络人选择了否
- if (this.$refs.tableRef.dataSource && this.$refs.tableRef.dataSource.length > 0) {
+ const tableData = this.$refs.tableRef.getDataValidate()
+ if (tableData) {
data.formInline = this.formInline
- data.dataSource = this.$refs.tableRef.dataSource
+ data.dataSource = tableData.dataSource
} else {
- this.$message.warning(this.$t('addAtLeastOneRowOfData'))
data = false
}
} else {
diff --git a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterStandardForm.vue b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterStandardForm.vue
index 278cb2b3..c0a1e2b1 100644
--- a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterStandardForm.vue
+++ b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/ContactEnterStandardForm.vue
@@ -63,8 +63,7 @@ export default {
}
]
},
- modalType: '', // 是在新增还是在编辑,编辑的时候放正在编辑的下标
- data: undefined
+ modalType: '' // 是在新增还是在编辑,编辑的时候放正在编辑的下标
}
},
methods: {
@@ -74,7 +73,6 @@ export default {
},
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表单赋值
this.formInline = { collectUserLeader: data.flowUser.collectUserLeader }
// 给表格赋值
@@ -96,25 +94,23 @@ export default {
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
- getDataValidate (callback) {
+ async getDataValidate () {
// 可能是表单,也可能是表格,表单校验一定要填,有是否下发联络人
- this.$refs.ruleForm.validate(result => {
+ let data = {}
+ await this.$refs.ruleForm.validate(result => {
if (result) {
- if (this.$refs.tableRef.dataSource && this.$refs.tableRef.dataSource.length > 0) {
- const data = {}
+ const tableData = this.$refs.tableRef.getDataValidate()
+ if (tableData) {
data.formInline = this.formInline
- data.dataSource = this.$refs.tableRef.dataSource
- callback(data)
+ data.dataSource = tableData.dataSource
} else {
- this.$message.warning(this.$t('addAtLeastOneRowOfData'))
- const data = false
- callback(data)
+ data = false
}
} else {
- const data = false
- callback(data)
+ data = false
}
})
+ return data
}
}
}
diff --git a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/EngineerInitForm.vue b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/EngineerInitForm.vue
index 29cfa31f..04667932 100644
--- a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/EngineerInitForm.vue
+++ b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/EngineerInitForm.vue
@@ -44,14 +44,12 @@ export default {
trigger: 'blur'
}
]
- },
- data: undefined
+ }
}
},
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表单赋值
this.formInline = {
processDescription: data.common.processDescription
@@ -65,17 +63,16 @@ export default {
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
- getDataValidate (callback) {
- this.$refs.ruleForm.validate(valid => {
+ async getDataValidate () {
+ let data = {}
+ await this.$refs.ruleForm.validate(valid => {
if (valid) {
- const data = {}
data.formInline = this.formInline
- callback(data)
} else {
- const data = false
- callback(data)
+ data = false
}
})
+ return data
}
}
}
diff --git a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/OnlyTableForm.vue b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/OnlyTableForm.vue
index ba7774a8..99498a63 100644
--- a/src/views/workCenter/annualRevisionPlanActivelyReport/modules/OnlyTableForm.vue
+++ b/src/views/workCenter/annualRevisionPlanActivelyReport/modules/OnlyTableForm.vue
@@ -278,12 +278,27 @@ export default {
},
methods: {
initData (data) {
- this.data = data
// 给表格赋值
this.$nextTick(() => {
this.dataSource = data.dataList
})
},
+ // 外层要获取数据
+ getData () {
+ return { dataSource: this.dataSource }
+ },
+ // 外层获取数据要过校验,返回false表示没有通过校验
+ getDataValidate () {
+ // 可能是表单,也可能是表格,表单校验一定要填,有是否下发联络人
+ let data = {}
+ if (this.dataSource && this.dataSource.length > 0) {
+ data.dataSource = this.dataSource
+ } else {
+ this.$message.warning(this.$t('addAtLeastOneRowOfData'))
+ data = false
+ }
+ return data
+ },
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
this.$openPageNewSheet({
@@ -330,6 +345,12 @@ export default {
},
// 导入
handleImportExcel (info) {
+ // 限制导入大于500MB
+ if (info.file.size > 1024 * 1024 * 500) {
+ this.$message.error('导入文件最大500MB!')
+ info.fileList.pop()
+ return
+ }
// 加一个大的提示
if (!this.loading) {
importModalLoading = this.$info({
diff --git a/src/views/workCenter/annualRevisionPlanStandardizationInit/RevisionPlanStandardizationInitFlow.vue b/src/views/workCenter/annualRevisionPlanStandardizationInit/RevisionPlanStandardizationInitFlow.vue
index 1a3b89c0..bff54b9a 100644
--- a/src/views/workCenter/annualRevisionPlanStandardizationInit/RevisionPlanStandardizationInitFlow.vue
+++ b/src/views/workCenter/annualRevisionPlanStandardizationInit/RevisionPlanStandardizationInitFlow.vue
@@ -247,8 +247,11 @@ export default {
this.currentNode = 5
} else if (taskName === '主起草单位主管级领导批准') {
this.currentNode = 6
- } else {
+ } else if (taskName === '标准化归档') {
this.currentNode = 7
+ } else {
+ // 预留加签节点
+ this.currentNode = 999
}
}
// 如果是查看进入的,不可编辑,不可操作
@@ -425,24 +428,23 @@ export default {
}
this.processInfoForm.validateFields((err, values) => {
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
- this.$refs.baseInfoRef.getDataValidate((data) => {
- if (!err && !approvalErr && data) {
- const param = {} // 传给后端的数据
- param.common = { ...values, ...approvalValues }
- param.dataList = data.dataSource
- param.flowUser = personnelObj
- standardizationInitApproval(param).then(res => {
- if (res.success) {
- this.$message.success(res.message)
- this.goBack()
- } else {
- this.$message.warning(res.message)
- }
- }).finally(() => {
- this.loading = false
- })
- }
- })
+ const data = this.$refs.baseInfoRef.getDataValidate()
+ if (!err && !approvalErr && data) {
+ const param = {} // 传给后端的数据
+ param.common = { ...values, ...approvalValues }
+ param.dataList = data.dataSource
+ param.flowUser = personnelObj
+ standardizationInitApproval(param).then(res => {
+ if (res.success) {
+ this.$message.success(res.message)
+ this.goBack()
+ } else {
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ }
})
})
},
@@ -478,35 +480,37 @@ export default {
if (this.loading) return
// 流程审批信息校验
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
- this.$refs.baseInfoFormRef.getDataValidate(data => {
- if (approvalErr && data) {
- // 只有表格
- const param = {}
- param.common = approvalValues
- param.dataList = data.dataSource
- standardizationInitAgree(param).then(res => {
- if (res.success) {
- this.$message.success(res.message)
- this.goBack()
- } else {
- this.$message.warning(res.message)
- }
- }).finally(() => {
- this.loading = false
- })
- }
- })
+ const data = this.$refs.baseInfoFormRef.getDataValidate()
+ if (!approvalErr && data) {
+ // 只有表格
+ const param = {}
+ param.common = approvalValues
+ param.common.taskId = this.$route.query.taskId
+ param.dataList = data.dataSource
+ standardizationInitAgree(param).then(res => {
+ if (res.success) {
+ this.$message.success(res.message)
+ this.goBack()
+ } else {
+ this.$message.warning(res.message)
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ }
})
},
// 同意(节点2,3,6有同意)
handleAgree () {
if (this.loading) return
this.approvalInfoForm.validateFields((err, values) => {
- if (!err) {
- this.loading = true
+ const data = this.$refs.baseInfoFormRef.getDataValidate()
+ if (!err && data) {
+ // 只有表格
const param = {}
- param.common = Object.assign({}, values)
- param.taskId = this.$route.query.taskId
+ param.common = values
+ param.common.taskId = this.$route.query.taskId
+ param.dataList = data.dataSource
standardizationInitAgree(param).then(res => {
if (res.success) {
this.$message.success(res.message)
diff --git a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/ContactSelectApproverBaseInfo.vue b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/ContactSelectApproverBaseInfo.vue
index 162642f6..1e14b9d7 100644
--- a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/ContactSelectApproverBaseInfo.vue
+++ b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/ContactSelectApproverBaseInfo.vue
@@ -215,9 +215,8 @@ export default {
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表格赋值
- // this.dataSource =
+ this.dataSource = data.dataList
},
// 外层要获取数据
getData () {
@@ -227,8 +226,9 @@ export default {
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
- getDataValidate (callback) {
+ getDataValidate () {
// 每行的审批人是否都有
+ let data = {}
let hasErr = false
for (const item of this.dataSource) {
if (!item.approvalUser) {
@@ -237,15 +237,13 @@ export default {
break
}
}
- let data
if (hasErr) {
this.$message.warning(this.$t('workCenter.revisionPlanActivelyReport.pleaseSelectApprover'))
data = false
- callback(data)
} else {
- data = { dataSource: this.dataSource }
- callback(data)
+ data.dataSource = this.dataSource
}
+ return data
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
diff --git a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/EngineerInitBaseInfo.vue b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/EngineerInitBaseInfo.vue
index 77536cc2..9422b53f 100644
--- a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/EngineerInitBaseInfo.vue
+++ b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/EngineerInitBaseInfo.vue
@@ -287,9 +287,8 @@ export default {
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表格赋值
- // this.dataSource =
+ this.dataSource = data.dataList
},
// 外层要获取数据
getData () {
@@ -301,10 +300,10 @@ export default {
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
- getDataValidate (callback) {
+ getDataValidate () {
// 校验表格是否每行都有数据,每行的联络人是否都有
+ let data = {}
if (this.dataSource && this.dataSource.length > 0) {
- const data = {}
data.dataSource = this.dataSource.map(item => {
return { ...item, enStandardSystem: item.enStandardSystem ? item.enStandardSystem.join(',') : ''}
})
@@ -318,16 +317,13 @@ export default {
}
if (hasErr) {
this.$message.warning(this.$t('workCenter.revisionPlanActivelyReport.pleaseSelectContact'))
- const data = false
- callback(data)
- } else {
- callback(data)
+ data = false
}
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
- const data = false
- callback(data)
+ data = false
}
+ return data
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
@@ -375,6 +371,12 @@ export default {
},
// 导入
handleImportExcel (info) {
+ // 限制导入大于500MB
+ if (info.file.size > 1024 * 1024 * 500) {
+ this.$message.error('导入文件最大500MB!')
+ info.fileList.pop()
+ return
+ }
// 加一个大的提示
if (!this.loading) {
importModalLoading = this.$info({
diff --git a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/LeaderApproveSentBaseInfo.vue b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/LeaderApproveSentBaseInfo.vue
index c3b0c697..651e7d48 100644
--- a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/LeaderApproveSentBaseInfo.vue
+++ b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/LeaderApproveSentBaseInfo.vue
@@ -211,9 +211,8 @@ export default {
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表格赋值
- // this.dataSource =
+ this.dataSource = data.dataList
},
// 外层要获取数据
getData () {
@@ -223,8 +222,9 @@ export default {
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
- getDataValidate (callback) {
+ getDataValidate () {
// 每行的主起草人是否都有
+ let data = {}
let hasErr = false
for (const item of this.dataSource) {
if (!item.drafter) {
@@ -233,15 +233,13 @@ export default {
break
}
}
- let data
if (hasErr) {
this.$message.warning(this.$t('workCenter.revisionPlanActivelyReport.pleaseSelectDrafter'))
data = false
- callback(data)
} else {
- data = { dataSource: this.dataSource }
- callback(data)
+ data.dataSource = this.dataSource
}
+ return data
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
diff --git a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/TableBaseInfo.vue b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/TableBaseInfo.vue
index d37a3f91..f7eb9392 100644
--- a/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/TableBaseInfo.vue
+++ b/src/views/workCenter/annualRevisionPlanStandardizationInit/modules/TableBaseInfo.vue
@@ -230,9 +230,8 @@ export default {
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表格赋值
- // this.dataSource =
+ this.dataSource = data.dataList
},
// 外层要获取数据
getData () {
@@ -242,17 +241,16 @@ export default {
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
- getDataValidate (callback) {
+ getDataValidate () {
// 校验表格是否每行都有数据,每行的联络人是否都有
+ let data = {}
if (this.dataSource && this.dataSource.length > 0) {
- const data = {}
data.dataSource = this.dataSource
- callback(data)
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
- const data = false
- callback(data)
+ data = false
}
+ return data
},
// 企标编号,企标名称跳转详情,原企标
handleGoDetailOld (record) {
diff --git a/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue b/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue
index 48eadc8a..5f023064 100644
--- a/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue
+++ b/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue
@@ -187,18 +187,34 @@ export default {
}
},
mounted () {
- if (this.$route.query.processId) {
- this.currentNode = 2 // todo: 先设置一个假数据,后端还不能返回当前节点
+ if (this.$route.query.taskId) {
// 有流程id说明是从流程中心来的,需要初始化数据
- this.getProcessData(this.$route.query.processId)
+ this.getProcessData(this.$route.query.taskId)
+ } else {
+ // 没有taskId说明是新建进来的,初始化人员信息
+ this.personnelInfoData = personalInfo
+ }
+ // 初始化节点
+ const taskName = this.$route.query.taskName
+ if (taskName) {
+ if (taskName === '主起草人发起') {
+ this.currentNode = 1
+ } else if (taskName === '相关人员校对') {
+ this.currentNode = 2
+ } else if (taskName === '起草人主管级领导审批') {
+ this.currentNode = 3
+ } else if (taskName === '标准化审批') {
+ this.currentNode = 4
+ } else if (taskName === '起草人主管级上一级领导审批') {
+ this.currentNode = 5
+ } else {
+ // 预留加签节点
+ this.currentNode = 999
+ }
}
if (this.currentNode === 1) {
- this.personnelInfoData = personalInfo
this.disabled = false
} else {
- this.personnelInfoData = personalInfo.map(item => {
- return { ...item, canChoose: false, fieldName: undefined }
- })
this.disabled = true
}
// 如果是查看进入的,不可编辑,不可操作
diff --git a/src/views/workCenter/enterpriseStandardChange/modules/ApproveBaseInfo.vue b/src/views/workCenter/enterpriseStandardChange/modules/ApproveBaseInfo.vue
index 7d62a94e..58451482 100644
--- a/src/views/workCenter/enterpriseStandardChange/modules/ApproveBaseInfo.vue
+++ b/src/views/workCenter/enterpriseStandardChange/modules/ApproveBaseInfo.vue
@@ -24,8 +24,8 @@
- {{ $t('workCenter.enStandardRevision.standardText') }}
-
+ {{ $t('workCenter.enStandardRevision.standardText') }}
+
diff --git a/src/views/workCenter/enterpriseStandardChange/modules/MainDrafterInitBaseInfo.vue b/src/views/workCenter/enterpriseStandardChange/modules/MainDrafterInitBaseInfo.vue
index c27f3cdf..9e5e04f0 100644
--- a/src/views/workCenter/enterpriseStandardChange/modules/MainDrafterInitBaseInfo.vue
+++ b/src/views/workCenter/enterpriseStandardChange/modules/MainDrafterInitBaseInfo.vue
@@ -137,9 +137,8 @@ export default {
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
initData (data) {
- this.data = data
// 给表格赋值,在线编辑不知道要怎么赋值?
- // this.dataSource =
+ this.dataSource = data.dataSource
// 给表单赋值
// this.$nextTick(() => {
// this.$refs.baseInfoForm.formInline =
diff --git a/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue b/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue
index c6dca2a4..7aaf88fe 100644
--- a/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue
+++ b/src/views/workCenter/enterpriseStandardInitChange/PlanApprovalChangeFlow.vue
@@ -205,7 +205,7 @@
@@ -258,7 +258,9 @@ import {
enterprisePlanApprovalReject,
enterprisePlanApprovalSave,
enterprisePlanApproval,
- getProcessDataById
+ getProcessDataById,
+ getNodeList,
+ getProcessNodeList
} from '@/api/workCenter'
import ApprovalBaseInfo from './modules/ApprovalBaseInfo'
import FinishTimeChangeBaseInfo from './modules/FinishTimeChangeBaseInfo'
@@ -266,10 +268,11 @@ import ProcessDetailList from '@/components/ProcessDetailList'
import JobEndBaseInfo from './modules/JobEndBaseInfo'
import DutyDepartChangeBaseInfo from './modules/DutyDepartChangeBaseInfo'
import MergeBaseInfo from './modules/MergeBaseInfo'
-import { ProjectType, ApplicationCategory } from '@/enums/commonEnums'
+import { ProjectType, ApplicationCategory, ProcessKey } from '@/enums/commonEnums'
import Vue from 'vue'
import { USER_INFO } from '@/store/mutation-types'
import pick from 'lodash.pick'
+import { WorkCenterMixin } from '@/mixins/WorkCenterMixin'
// 标准立项的人员信息
const approvalPersonalInfo = [ // 人员信息的数据
@@ -416,9 +419,10 @@ export default {
InternalDetailPage,
UserSelection
},
+ mixins: [WorkCenterMixin],
computed: {
pageTitle () {
- return this.$t('flowCenter') + this.$route.meta.title
+ return this.$t('flowCenter') + this.$route.meta.title + '(' + this.currentNodeName + ')'
},
// 流程名称是否不可填写
processNameDisabled () {
@@ -452,12 +456,14 @@ export default {
},
mounted () {
console.log(this.$route.query.taskId)
+ // 查询流程定义列表,通过查出的数据获取到流程定义id,如果已经发起过流程,用这个id和流程实例id去查人员信息数据
+ this.getPersonInfoStructure(ProcessKey.ES_INIT_CHANGE.value)
if (this.$route.query.taskId) {
+ this.currentNodeName = this.$route.query.taskName
// 有流程id说明是从流程中心来的,需要初始化数据
this.getProcessData(this.$route.query.taskId)
} else {
- // 没有taskId说明是新建进来的,初始化人员信息
- this.personnelInfoData = approvalPersonalInfo
+ this.currentNodeName = '主起草人发起'
}
// 如果是查看进入的,不可编辑,不可操作
if (this.$route.query.onlyLook) {
@@ -474,6 +480,7 @@ export default {
disabled: false,
onlyLook: false, // 是否仅查看
currentNode: 1, // 当前节点
+ currentNodeName: '', // 当前节点名称
model: [],
processInfoForm: this.$form.createForm(this),
labelCol: {
@@ -556,6 +563,25 @@ export default {
}
},
methods: {
+ // 查询人员信息结构数据
+ getPersonInfoStructure (key) {
+ console.log('-----------getPersonInfoStructure-------', key)
+ const param = {}
+ param.processDefinitionKey = key
+ if (this.$route.query.processInstanceId) {
+ param.processInstanceId = this.$route.query.processInstanceId
+ }
+ console.log(param)
+ getProcessNodeList(param).then(res => {
+ if (res.success) {
+ console.log(res.result)
+ // 处理人员信息数据
+ // 筛选出是立项、责任部门变更,其他变更
+ // 每个节点是否能选人
+ this.personnelInfoData = res.result
+ }
+ })
+ },
// 根据流程id获取数据并回显
getProcessData (taskId) {
getProcessDataById(taskId).then(res => {
@@ -592,8 +618,11 @@ export default {
this.currentNode = 7
} else if (taskName === '相关人员会签') {
this.currentNode = 8
- } else {
+ } else if (taskName === '抄送主起草人确认') {
this.currentNode = 9
+ } else {
+ // 预留加签节点
+ this.currentNode = 999
}
}
console.log(this.currentNode)
@@ -690,6 +719,34 @@ export default {
}
})
},
+ // 获取人员信息数据
+ getPersonInfoData () {
+ const param = {}
+ param.processDefinitionId = this.processDefinitionId
+ // 有流程实例id就需要传流程实例id
+ if (this.$route.query.processInstanceId) {
+ param.processInstanceId = this.$route.query.processInstanceId
+ }
+ getNodeList(param).then(res => {
+ if (res.success) {
+ console.log(res.result)
+ // 处理人员信息数据
+ if (this.formInline.applicationCategory) {
+ // 有申请类型,根据申请类型返回不同的人员信息,区分【立项、普通变更、责任部门变更(责任部门变更时某些节点不可跳过)】
+ if (this.formInline.applicationCategory === ApplicationCategory.INITIATION.value) {
+ // 是立项,从result中拿出立项有的人员信息
+ } else if (this.formInline.applicationCategory === ApplicationCategory.CHANGE.value) {
+ // 是变更
+ if (this.formInline.projectType === ProjectType.RESPONSIBLE_DEPT_CHANGE.value) {
+ // 是责任部门变更,从result中拿出责任部门变更有的人员信息
+ } else {
+ // 是别的变更,从result中拿出需要的人员信息
+ }
+ }
+ }
+ }
+ })
+ },
// 头部tab改变
switchChange (value) {
this.switchValue = value