销售合同流程 优化申请部门
parent
be0cbceee2
commit
59a88635cc
|
@ -91,8 +91,8 @@
|
|||
<div>
|
||||
|
||||
<el-form-item label="申请部门" :rules="[{ required: true, message: '申请部门不能为空'}]" prop="applyDept">
|
||||
<el-cascader :options="applyDeptSectorOptions" clearable v-model="processForm.applyDept"
|
||||
:props="{ expandTrigger: 'hover', label:'name', value: 'id'}"></el-cascader>
|
||||
<el-cascader :options="applyDeptSectorOptions" clearable v-model="selectedDepts"
|
||||
:props="{ expandTrigger: 'hover', label:'name', value: 'id'}" @change="applyDeptSelected"></el-cascader>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="申请人">
|
||||
|
@ -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
|
||||
},
|
||||
|
||||
}
|
||||
|
|
|
@ -143,8 +143,8 @@
|
|||
<div>
|
||||
|
||||
<el-form-item label="申请部门" :rules="[{ required: true, message: '申请部门不能为空'}]" prop="applyDept">
|
||||
<el-cascader :options="applyDeptSectorOptions" clearable v-model="processForm.applyDept"
|
||||
:props="{ expandTrigger: 'click', label:'name', value: 'id'}" @change="applyDeptSelected"></el-cascader>
|
||||
<el-cascader :options="applyDeptSectorOptions" clearable v-model="selectedDepts"
|
||||
:props="{ expandTrigger: 'hover', label:'name', value: 'id'}" @change="applyDeptSelected"></el-cascader>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="申请人">
|
||||
|
@ -153,7 +153,7 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item label="申请部门领导">
|
||||
<span v-if="projectSelected">{{processForm.applyDeptLeaderName}}</span>
|
||||
<span v-if="processForm.applyDeptLeaderName">{{processForm.applyDeptLeaderName}}</span>
|
||||
<span v-else>未选择部门</span>
|
||||
</el-form-item>
|
||||
|
||||
|
@ -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
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue