|
|
@ -79,21 +79,21 @@ |
|
|
</el-input> |
|
|
</el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
<el-form-item label="试验负责人"> |
|
|
<el-form-item label="试验负责人"> |
|
|
<span v-if="!readonly" style="cursor: pointer" slot="label" @click="getBaseList(103)"><a href="#">试验负责人</a></span> |
|
|
<span v-if="!readonly" style="cursor: pointer" slot="label" @click="getBaseList(103)"><a href="#">试验负责人</a></span> |
|
|
<el-input v-model="saveHeaderData.projectLeader" disabled></el-input> |
|
|
<el-input v-model="saveHeaderData.projectLeader" disabled></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
|
|
|
<el-col :span="12"> |
|
|
|
|
|
|
|
|
<el-col :span="8"> |
|
|
<el-form-item label="PJM负责人"> |
|
|
<el-form-item label="PJM负责人"> |
|
|
<el-select |
|
|
<el-select |
|
|
v-model="saveHeaderData.pjmLeaderUserId" |
|
|
v-model="saveHeaderData.pjmLeaderUserId" |
|
|
:disabled="readonly" |
|
|
:disabled="readonly" |
|
|
clearable |
|
|
clearable |
|
|
filterable |
|
|
filterable |
|
|
placeholder="请选择PJM负责人(非必填)" |
|
|
|
|
|
|
|
|
placeholder="非必填" |
|
|
style="width: 100%" |
|
|
style="width: 100%" |
|
|
@change="handlePjmLeaderChange"> |
|
|
@change="handlePjmLeaderChange"> |
|
|
<el-option |
|
|
<el-option |
|
|
@ -105,6 +105,25 @@ |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<el-form-item label="生产车间负责人"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="saveHeaderData.workshopLeaderUserId" |
|
|
|
|
|
:disabled="readonly" |
|
|
|
|
|
clearable |
|
|
|
|
|
filterable |
|
|
|
|
|
placeholder="非必填" |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
@change="handleWorkshopLeaderChange"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in workshopLeaderList" |
|
|
|
|
|
:key="item.userId" |
|
|
|
|
|
:label="item.userDisplay || item.username" |
|
|
|
|
|
:value="item.userId"> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<el-form-item label="试验目的" prop="purpose"> |
|
|
<el-form-item label="试验目的" prop="purpose"> |
|
|
@ -264,6 +283,7 @@ export default { |
|
|
return { |
|
|
return { |
|
|
buList: [], |
|
|
buList: [], |
|
|
pjmLeaderList: [], |
|
|
pjmLeaderList: [], |
|
|
|
|
|
workshopLeaderList: [], |
|
|
saveHeaderData: { |
|
|
saveHeaderData: { |
|
|
applyNo: '', |
|
|
applyNo: '', |
|
|
originalApplyNo: '', |
|
|
originalApplyNo: '', |
|
|
@ -281,6 +301,8 @@ export default { |
|
|
projectLeader: this.$store.state.user.userDisplay, |
|
|
projectLeader: this.$store.state.user.userDisplay, |
|
|
pjmLeaderUserId: null, |
|
|
pjmLeaderUserId: null, |
|
|
pjmLeaderName: '', |
|
|
pjmLeaderName: '', |
|
|
|
|
|
workshopLeaderUserId: null, |
|
|
|
|
|
workshopLeaderName: '', |
|
|
contactMethod: '', |
|
|
contactMethod: '', |
|
|
processRequirement: '', |
|
|
processRequirement: '', |
|
|
creatorUserId: this.$store.state.user.id, |
|
|
creatorUserId: this.$store.state.user.id, |
|
|
@ -318,7 +340,9 @@ export default { |
|
|
if (!newVal) { |
|
|
if (!newVal) { |
|
|
this.saveHeaderData.pjmLeaderUserId = null |
|
|
this.saveHeaderData.pjmLeaderUserId = null |
|
|
this.saveHeaderData.pjmLeaderName = '' |
|
|
this.saveHeaderData.pjmLeaderName = '' |
|
|
// BU为空时回退查询全部PJM负责人 |
|
|
|
|
|
|
|
|
this.saveHeaderData.workshopLeaderUserId = null |
|
|
|
|
|
this.saveHeaderData.workshopLeaderName = '' |
|
|
|
|
|
// BU为空时回退查询全部负责人 |
|
|
this.loadPjmLeaderList('') |
|
|
this.loadPjmLeaderList('') |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
@ -326,6 +350,8 @@ export default { |
|
|
if (oldVal !== undefined && oldVal !== null && oldVal !== '') { |
|
|
if (oldVal !== undefined && oldVal !== null && oldVal !== '') { |
|
|
this.saveHeaderData.pjmLeaderUserId = null |
|
|
this.saveHeaderData.pjmLeaderUserId = null |
|
|
this.saveHeaderData.pjmLeaderName = '' |
|
|
this.saveHeaderData.pjmLeaderName = '' |
|
|
|
|
|
this.saveHeaderData.workshopLeaderUserId = null |
|
|
|
|
|
this.saveHeaderData.workshopLeaderName = '' |
|
|
} |
|
|
} |
|
|
this.loadPjmLeaderList(newVal) |
|
|
this.loadPjmLeaderList(newVal) |
|
|
} |
|
|
} |
|
|
@ -343,7 +369,7 @@ export default { |
|
|
} |
|
|
} |
|
|
this.isEdit = true |
|
|
this.isEdit = true |
|
|
} |
|
|
} |
|
|
// 首次打开弹窗时也查询一次PJM负责人(BU为空时查询全量) |
|
|
|
|
|
|
|
|
// 首次打开弹窗时查询负责人列表(BU为空时查询全量) |
|
|
this.loadPjmLeaderList(this.saveHeaderData.buNo || '') |
|
|
this.loadPjmLeaderList(this.saveHeaderData.buNo || '') |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
@ -364,23 +390,30 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 加载PJM负责人列表(产品文档收美-PM角色) |
|
|
|
|
|
|
|
|
* 加载负责人列表(PJM负责人 + 生产车间负责人) |
|
|
*/ |
|
|
*/ |
|
|
loadPjmLeaderList(buNo) { |
|
|
loadPjmLeaderList(buNo) { |
|
|
getPjmLeaderList({ buNo: buNo || '' }).then(({data}) => { |
|
|
getPjmLeaderList({ buNo: buNo || '' }).then(({data}) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
this.pjmLeaderList = data.list || [] |
|
|
|
|
|
|
|
|
this.pjmLeaderList = data.pjmLeaderList || data.list || [] |
|
|
|
|
|
this.workshopLeaderList = data.workshopLeaderList || [] |
|
|
this.ensurePjmLeaderOption() |
|
|
this.ensurePjmLeaderOption() |
|
|
|
|
|
this.ensureWorkshopLeaderOption() |
|
|
if (this.saveHeaderData.pjmLeaderUserId && !this.saveHeaderData.pjmLeaderName) { |
|
|
if (this.saveHeaderData.pjmLeaderUserId && !this.saveHeaderData.pjmLeaderName) { |
|
|
this.handlePjmLeaderChange(this.saveHeaderData.pjmLeaderUserId) |
|
|
this.handlePjmLeaderChange(this.saveHeaderData.pjmLeaderUserId) |
|
|
} |
|
|
} |
|
|
|
|
|
if (this.saveHeaderData.workshopLeaderUserId && !this.saveHeaderData.workshopLeaderName) { |
|
|
|
|
|
this.handleWorkshopLeaderChange(this.saveHeaderData.workshopLeaderUserId) |
|
|
|
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
this.pjmLeaderList = [] |
|
|
this.pjmLeaderList = [] |
|
|
this.$message.error(data.msg || '加载PJM负责人失败') |
|
|
|
|
|
|
|
|
this.workshopLeaderList = [] |
|
|
|
|
|
this.$message.error(data.msg || '加载负责人失败') |
|
|
} |
|
|
} |
|
|
}).catch(() => { |
|
|
}).catch(() => { |
|
|
this.pjmLeaderList = [] |
|
|
this.pjmLeaderList = [] |
|
|
this.$message.error('加载PJM负责人异常') |
|
|
|
|
|
|
|
|
this.workshopLeaderList = [] |
|
|
|
|
|
this.$message.error('加载负责人异常') |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
@ -398,6 +431,20 @@ export default { |
|
|
: (this.saveHeaderData.pjmLeaderName || '') |
|
|
: (this.saveHeaderData.pjmLeaderName || '') |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 处理生产车间负责人变更 |
|
|
|
|
|
*/ |
|
|
|
|
|
handleWorkshopLeaderChange(userId) { |
|
|
|
|
|
if (!userId) { |
|
|
|
|
|
this.saveHeaderData.workshopLeaderName = '' |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
const selected = this.workshopLeaderList.find(item => item.userId === userId) |
|
|
|
|
|
this.saveHeaderData.workshopLeaderName = selected |
|
|
|
|
|
? (selected.userDisplay || selected.username || '') |
|
|
|
|
|
: (this.saveHeaderData.workshopLeaderName || '') |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 编辑场景兜底:已选PJM负责人不在当前下拉项时补充显示 |
|
|
* 编辑场景兜底:已选PJM负责人不在当前下拉项时补充显示 |
|
|
*/ |
|
|
*/ |
|
|
@ -415,6 +462,23 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 编辑场景兜底:已选生产车间负责人不在当前下拉项时补充显示 |
|
|
|
|
|
*/ |
|
|
|
|
|
ensureWorkshopLeaderOption() { |
|
|
|
|
|
if (!this.saveHeaderData.workshopLeaderUserId) { |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
const exist = this.workshopLeaderList.some(item => item.userId === this.saveHeaderData.workshopLeaderUserId) |
|
|
|
|
|
if (!exist && this.saveHeaderData.workshopLeaderName) { |
|
|
|
|
|
this.workshopLeaderList.push({ |
|
|
|
|
|
userId: this.saveHeaderData.workshopLeaderUserId, |
|
|
|
|
|
username: this.saveHeaderData.workshopLeaderName, |
|
|
|
|
|
userDisplay: this.saveHeaderData.workshopLeaderName |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取表单数据(用于验证) |
|
|
* 获取表单数据(用于验证) |
|
|
*/ |
|
|
*/ |
|
|
|