@@ -364,6 +364,7 @@
fileList: [],
// 销售合同收入明细
incomeDetails: [],
+ selectedDepts: []
}
}
@@ -600,7 +601,49 @@
},
applyDeptSelected(value) {
- console.log(value)
+ if (value.length === 0) {
+ this.processForm['applyDept'] = null
+ this.processForm['applyDeptId'] = null
+ this.processForm['applyDeptLeaderId'] = null
+ this.processForm['applyDeptLeaderName'] = null
+ return;
+ }
+
+ const level1Value = value[0]
+ const level2Value = value.length >= 2 && value[1]
+ const level3Value = value.length === 3 && value[2]
+ let opt;
+
+ const find = (options, value) => {
+ return options.find(option => option.id === value)
+ }
+
+ const leveled = []
+ let selected = find(this.applyDeptSectorOptions, level1Value)
+ leveled.push(selected)
+ if (selected && level2Value) {
+ selected = find(selected.children, level2Value)
+ if (selected && level3Value) {
+ leveled.push(selected)
+ selected = find(selected.children, level3Value)
+ if (selected) {
+ leveled.push(selected)
+ opt = selected
+ }
+ }
+ else {
+ opt = selected
+ }
+ }
+ else {
+ opt = selected
+ }
+
+ this.selectedDepts = leveled.map(level => level.id)
+ this.processForm['applyDept'] = leveled.map(level => level.name).join(',')
+ this.processForm['applyDeptId'] = leveled.map(level => level.id).join(',')
+ this.processForm['applyDeptLeaderId'] = opt.leaderId
+ this.processForm['applyDeptLeaderName'] = opt.leaderName
},
}
diff --git a/src/main/resources/templates/admin/business/process-new.ftl b/src/main/resources/templates/admin/business/process-new.ftl
index 45de785..9c43fbd 100644
--- a/src/main/resources/templates/admin/business/process-new.ftl
+++ b/src/main/resources/templates/admin/business/process-new.ftl
@@ -143,8 +143,8 @@
-
+
@@ -153,7 +153,7 @@
- {{processForm.applyDeptLeaderName}}
+ {{processForm.applyDeptLeaderName}}
未选择部门
@@ -478,7 +478,8 @@
fileList: [],
// 销售合同收入明细
incomeDetails: [],
- processType: ""
+ processType: "",
+ selectedDepts: []
}
}
@@ -574,6 +575,10 @@
this.incomeDetails = incomeDetails.map(detail => ({
...detail, type: computeType(detail.type)
}))
+
+ if (!form.projectNo || !form.projectName) {
+ this.$message.warning("当前选择的项目没有编号或者名称");
+ }
})
.catch(err => {
this.$message.error("项目'" + name + "'加载失败");
@@ -730,8 +735,6 @@
},
applyDeptSelected(value) {
- console.log(value)
- const sectorOptions = this.applyDeptSectorOptions
if (value.length === 0) {
this.processForm['applyDept'] = null
this.processForm['applyDeptId'] = null
@@ -750,7 +753,7 @@
}
const leveled = []
- let selected = find(sectorOptions, level1Value)
+ let selected = find(this.applyDeptSectorOptions, level1Value)
leveled.push(selected)
if (selected && level2Value) {
selected = find(selected.children, level2Value)
@@ -770,8 +773,9 @@
opt = selected
}
+ this.selectedDepts = leveled.map(level => level.id)
this.processForm['applyDept'] = leveled.map(level => level.name).join(',')
- this.processForm['applyDeptId'] = opt.id
+ this.processForm['applyDeptId'] = leveled.map(level => level.id).join(',')
this.processForm['applyDeptLeaderId'] = opt.leaderId
this.processForm['applyDeptLeaderName'] = opt.leaderName
},