|
|
|
@ -5,7 +5,7 @@ import { |
|
|
|
queryQuoteDetailBomTreeAlternative |
|
|
|
} from "@/api/quote/quoteDetailBomTree"; |
|
|
|
import {queryQuoteDetailBom} from "@/api/quote/quoteDetailBom"; |
|
|
|
import {changeQuoteDetailBomTree} from "../../../../../api/quote/quoteDetailBomTree"; |
|
|
|
import {changeQuoteDetailBomTree, queryPlmPart} from "../../../../../api/quote/quoteDetailBomTree"; |
|
|
|
|
|
|
|
export default { |
|
|
|
name: "quoteDetailBom", |
|
|
|
@ -248,6 +248,10 @@ export default { |
|
|
|
versionVisible: false, |
|
|
|
versionList: [], |
|
|
|
alternativeList: [], |
|
|
|
part:{ |
|
|
|
status:'N', |
|
|
|
ifsPartNo:'', |
|
|
|
}, |
|
|
|
bomEngChgLevel: { |
|
|
|
partNo: '', |
|
|
|
bomType: '', |
|
|
|
@ -304,7 +308,7 @@ export default { |
|
|
|
this.queryLoading = false; |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleCheckedVersion() { |
|
|
|
async handleCheckedVersion(flag) { |
|
|
|
let node = this.$refs.tree.getCurrentNode(); |
|
|
|
if (node) { |
|
|
|
this.bomEngChgLevel = { |
|
|
|
@ -316,21 +320,46 @@ export default { |
|
|
|
alternativeNo: node.alternativeNo, |
|
|
|
} |
|
|
|
} |
|
|
|
this.handleQueryQuoteDetailBomTreeVersion(); |
|
|
|
// 查询选中的料号是否是正式料 |
|
|
|
// 判断BomDetailPartNO是否是正式料号, |
|
|
|
await this.handleQueryPart(); |
|
|
|
this.versionVisible = true |
|
|
|
}, |
|
|
|
async handleQueryPart(){ |
|
|
|
let node = this.$refs.tree.getCurrentNode(); |
|
|
|
let params = { |
|
|
|
partNo: node.partNo, |
|
|
|
site: node.site, |
|
|
|
} |
|
|
|
queryPlmPart(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.part.ifsPartNo = data.partNo |
|
|
|
if (this.part.ifsPartNo){ |
|
|
|
this.part.status = "Y" |
|
|
|
} |
|
|
|
this.handleQueryQuoteDetailBomTreeVersion(); |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg); |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
this.$message.error(error); |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleQueryQuoteDetailBomTreeVersion() { |
|
|
|
let params = { |
|
|
|
...this.bomEngChgLevel, |
|
|
|
bomType:'', |
|
|
|
engChgLevel: '', |
|
|
|
alternativeNo: '', |
|
|
|
partStatus:this.part.status, |
|
|
|
plmPartNo:this.part.ifsPartNo, |
|
|
|
} |
|
|
|
queryQuoteDetailBomTreeLevel(params).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.versionList = data.rows; |
|
|
|
this.handleQueryQuoteDetailBomAlternative(); |
|
|
|
} else { |
|
|
|
this.part.status = 'N' |
|
|
|
this.$message.warning(data.msg); |
|
|
|
} |
|
|
|
}).catch((error) => { |
|
|
|
@ -338,12 +367,12 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
levelRowStyle({row}) { |
|
|
|
if (row.engChgLevel === this.bomEngChgLevel.engChgLevel && row.bomType === this.bomEngChgLevel.bomType) { |
|
|
|
if (row.engChgLevel === this.bomEngChgLevel.engChgLevel && row.bomType === this.bomEngChgLevel.bomType && row.partNo === this.bomEngChgLevel.partNo) { |
|
|
|
return {'background-color': '#E8F7F6'}; |
|
|
|
} |
|
|
|
}, |
|
|
|
alternativeRowStyle({row}) { |
|
|
|
if (row.engChgLevel === this.bomEngChgLevel.engChgLevel && row.bomType === this.bomEngChgLevel.bomType && row.alternativeNo === this.bomEngChgLevel.alternativeNo) { |
|
|
|
if (row.engChgLevel === this.bomEngChgLevel.engChgLevel && row.bomType === this.bomEngChgLevel.bomType && row.alternativeNo === this.bomEngChgLevel.alternativeNo && row.partNo === this.bomEngChgLevel.partNo) { |
|
|
|
return {'background-color': '#E8F7F6'}; |
|
|
|
} |
|
|
|
}, |
|
|
|
@ -370,7 +399,6 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleChangeVersion(row) { |
|
|
|
console.log(row) |
|
|
|
this.$confirm('确认切换BOM版本吗,切换后将重新覆盖工具信息,请确认!','提示',{ |
|
|
|
type: 'warning', |
|
|
|
confirmButtonText: '确定', |
|
|
|
@ -395,7 +423,7 @@ export default { |
|
|
|
} |
|
|
|
if (node) { |
|
|
|
params.id = node.id |
|
|
|
params.partNo = node.partNo |
|
|
|
params.partNo = row.partNo |
|
|
|
params.buNo = node.buNo |
|
|
|
params.site = node.site |
|
|
|
} |
|
|
|
@ -445,7 +473,7 @@ export default { |
|
|
|
}, |
|
|
|
isAllBom(newVal, oldVal) { |
|
|
|
this.handleQueryQuoteDetailBom(); |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
@ -454,7 +482,7 @@ export default { |
|
|
|
<div> |
|
|
|
<div style="margin-bottom: 10px"> |
|
|
|
<template v-if="isAuth('5011:detail:tab1:check')"> |
|
|
|
<el-link style="margin-right: 20px;cursor: pointer" @click="handleCheckedVersion" v-if="quoteDetail.status === '草稿'">切换版本</el-link> |
|
|
|
<el-link style="margin-right: 20px;cursor: pointer" @click="handleCheckedVersion()" v-if="quoteDetail.status === '草稿'">切换版本</el-link> |
|
|
|
</template> |
|
|
|
<el-checkbox v-model="isAllBom">全级BOM结构</el-checkbox> |
|
|
|
</div> |
|
|
|
@ -499,6 +527,14 @@ export default { |
|
|
|
|
|
|
|
<el-dialog title="BOM版本切换" :visible.sync="versionVisible" append-to-body :close-on-click-modal="false" v-drag |
|
|
|
width="900px"> |
|
|
|
<el-form label-position="top" :model="part"> |
|
|
|
<el-form-item label="料号类型"> |
|
|
|
<el-select v-model="part.status" style="width: 120px" @change="handleCheckedVersion(true)"> |
|
|
|
<el-option value="N" label="临时物料" :disabled="!!part.ifsPartNo"></el-option> |
|
|
|
<el-option value="Y" label="正式物料"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table v-loading="changeLoading" :data="versionList" :row-style="levelRowStyle" @row-click="levelRowClick" ref="versionTable" |
|
|
|
style="width: 100%" border :height="240"> |
|
|
|
<el-table-column label="物料编码" prop="partNo" header-align="center" align="center" show-overflow-tooltip |
|
|
|
|