|
|
|
@ -447,9 +447,10 @@ |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'生产属性'" prop="issueType"> |
|
|
|
<el-select v-model="componentData.issueType" style="width: 165px"> |
|
|
|
<el-option label="Reserve and Backflush" value="Reserve and Backflush"></el-option> |
|
|
|
<el-option label="Reserve And Backflush" value="Reserve And Backflush"></el-option> |
|
|
|
<el-option label="Reserve" value="Reserve"></el-option> |
|
|
|
<el-option label="Backflush" value="Backflush"></el-option> |
|
|
|
<el-option label="Manual" value="Manual"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
@ -523,15 +524,18 @@ |
|
|
|
<legend>Source Revision</legend> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="物料编码"> |
|
|
|
<el-input v-model="modalData.partNo" readonly style="width: 185px"></el-input> |
|
|
|
<el-input v-model="modalData.partNo" readonly style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Site"> |
|
|
|
<el-input v-model="modalData.site" disabled style="width: 185px"></el-input> |
|
|
|
<el-form-item :label="'物料名称'"> |
|
|
|
<el-input v-model="modalData.partDesc" readonly style="width: 249px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="Site"> |
|
|
|
<el-input v-model="modalData.site" readonly style="width: 85px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="BOM版本号"> |
|
|
|
<el-input v-model="modalData.engChgLevel" readonly style="width: 185px"></el-input> |
|
|
|
<el-input v-model="modalData.engChgLevel" readonly style="width: 85px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="制造类型"> |
|
|
|
<el-input v-model="modalData.bomType" readonly style="width: 185px"></el-input> |
|
|
|
@ -570,19 +574,23 @@ |
|
|
|
<fieldset style="width: 426px"> |
|
|
|
<legend>Destination Revision</legend> |
|
|
|
<el-form :inline="true" label-position="top" :model="copyBomData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="物料编码"> |
|
|
|
<el-input v-model="copyBomData.partNo" style="width: 185px"></el-input> |
|
|
|
<el-form-item> |
|
|
|
<span slot="label" @click="queryCopyPartModal"><a herf="#">物料编码</a></span> |
|
|
|
<el-input v-model="copyBomData.partNo" @change="copyBomTypeChange" @blur="copyPartBlur" style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="Site"> |
|
|
|
<el-input v-model="copyBomData.site" disabled style="width: 185px"></el-input> |
|
|
|
<el-form-item :label="'物料名称'"> |
|
|
|
<el-input v-model="copyBomData.partDesc" disabled style="width: 249px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="copyBomData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="Site"> |
|
|
|
<el-input v-model="copyBomData.site" disabled style="width: 85px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="BOM版本号"> |
|
|
|
<el-input v-model="copyBomData.engChgLevel" style="width: 185px"></el-input> |
|
|
|
<el-input v-model="copyBomData.engChgLevel" style="width: 85px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="制造类型"> |
|
|
|
<el-select v-model="copyBomData.bomType" style="width: 185px"> |
|
|
|
<el-select v-model="copyBomData.bomType" @change="copyBomTypeChange" style="width: 185px"> |
|
|
|
<el-option label="Manufacturing" value="Manufacturing"></el-option> |
|
|
|
<el-option label="Repair" value="Repair"></el-option> |
|
|
|
<el-option label="Purchase" value="Purchase"></el-option> |
|
|
|
@ -605,6 +613,56 @@ |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- copy物料模态框 --> |
|
|
|
<el-dialog title="物料清单" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="copyPartModelFlag" width="700px"> |
|
|
|
<el-form :inline="true" label-position="top" :model="copyPartData"> |
|
|
|
<el-form-item :label="'物料编码'"> |
|
|
|
<el-input v-model="copyPartData.partNo" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'物料名称'"> |
|
|
|
<el-input v-model="copyPartData.partDesc" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="' '"> |
|
|
|
<el-button type="primary" @click="queryCopyPartList">查询</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
:height="250" |
|
|
|
:data="copyPartList" |
|
|
|
@row-dblclick="getCopyRowData" |
|
|
|
border |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in componentPartColumnList" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
:prop="item.columnProp" |
|
|
|
:header-align="item.headerAlign" |
|
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
:align="item.align" |
|
|
|
:fixed="item.fixed==''?false:item.fixed" |
|
|
|
:min-width="item.columnWidth" |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<!-- 分页插件 --> |
|
|
|
<el-pagination |
|
|
|
@size-change="sizeChangeHandle4" |
|
|
|
@current-change="currentChangeHandle4" |
|
|
|
:current-page="pageIndex4" |
|
|
|
:page-sizes="[20, 50, 100, 200, 500]" |
|
|
|
:page-size="pageSize4" |
|
|
|
:total="totalPage4" |
|
|
|
layout="total, sizes, prev, pager, next, jumper"> |
|
|
|
</el-pagination> |
|
|
|
<el-footer style="height:35px;margin-top:10px;text-align:center"> |
|
|
|
<el-button type="primary" @click="copyPartModelFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- copyAlternative --> |
|
|
|
<el-dialog title="Copy Structure Alternative" :close-on-click-modal="false" v-drag :visible.sync="copyAlternativeModelFlag" width="450px"> |
|
|
|
<fieldset style="width: 426px"> |
|
|
|
@ -701,6 +759,7 @@ import { |
|
|
|
copyBom, // 复制bom |
|
|
|
copyAlternative, // 复制alternative, |
|
|
|
queryBomComponentTable, // 刷新子物料 |
|
|
|
getBomEngChgLevel, // 获取物料的BOM版本号 |
|
|
|
} from '@/api/part/bomManagement.js' |
|
|
|
import {getSiteAndBuByUserName} from "@/api/eam/eam.js" |
|
|
|
import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js" |
|
|
|
@ -778,6 +837,9 @@ export default { |
|
|
|
pageIndex3: 1, |
|
|
|
pageSize3: 20, |
|
|
|
totalPage3: 0, |
|
|
|
pageIndex4: 1, |
|
|
|
pageSize4: 20, |
|
|
|
totalPage4: 0, |
|
|
|
selectedDataNum: 0, |
|
|
|
// 条件查询 |
|
|
|
searchData: { |
|
|
|
@ -882,6 +944,14 @@ export default { |
|
|
|
page: 1, |
|
|
|
limit: 10 |
|
|
|
}, |
|
|
|
copyPartData: { |
|
|
|
site: '', |
|
|
|
buNo: '', |
|
|
|
partNo: '', |
|
|
|
partDesc: '', |
|
|
|
page: 1, |
|
|
|
limit: 10 |
|
|
|
}, |
|
|
|
saveDetailData: { |
|
|
|
flag: '', |
|
|
|
site: this.$store.state.user.site, |
|
|
|
@ -912,6 +982,7 @@ export default { |
|
|
|
copyBomData: { |
|
|
|
site: '', |
|
|
|
partNo: '', |
|
|
|
partDesc: '', |
|
|
|
engChgLevel: '', |
|
|
|
bomType: '', |
|
|
|
effPhaseInDate: '', |
|
|
|
@ -937,6 +1008,7 @@ export default { |
|
|
|
dataList: [], |
|
|
|
partList: [], |
|
|
|
componentPartList: [], |
|
|
|
copyPartList: [], |
|
|
|
componentPartSelections: [], |
|
|
|
subDetailList: [], |
|
|
|
detailDataList: [], |
|
|
|
@ -1959,6 +2031,7 @@ export default { |
|
|
|
modalDisableFlag: false, |
|
|
|
partModelFlag: false, |
|
|
|
componentPartModelFlag: false, |
|
|
|
copyPartModelFlag: false, |
|
|
|
saveDetailModalFlag :false, |
|
|
|
saveDetailModalDisable: false, |
|
|
|
componentSaveModal: false, |
|
|
|
@ -2078,6 +2151,25 @@ export default { |
|
|
|
this.queryComponentPartModal() |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 每页数 |
|
|
|
* @param val |
|
|
|
*/ |
|
|
|
sizeChangeHandle4 (val) { |
|
|
|
this.pageSize4 = val |
|
|
|
this.pageIndex4 = 1 |
|
|
|
this.queryCopyPartModal() |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 当前页 |
|
|
|
* @param val |
|
|
|
*/ |
|
|
|
currentChangeHandle4 (val) { |
|
|
|
this.pageIndex4 = val |
|
|
|
this.queryCopyPartModal() |
|
|
|
}, |
|
|
|
|
|
|
|
// ======== 页签切换相关方法 ======== |
|
|
|
|
|
|
|
/** |
|
|
|
@ -2347,7 +2439,7 @@ export default { |
|
|
|
printUnitName: '', |
|
|
|
qtyPerAssembly: 0, |
|
|
|
componentScrap: 0, |
|
|
|
issueType: 'Reserve and Backflush', |
|
|
|
issueType: 'Reserve And Backflush', |
|
|
|
shrinkageFactor: 0, |
|
|
|
lineItemNo: '', |
|
|
|
operationId: '', |
|
|
|
@ -2399,7 +2491,7 @@ export default { |
|
|
|
printUnitName: '', |
|
|
|
qtyPerAssembly: 0, |
|
|
|
componentScrap: 0, |
|
|
|
issueType: 'Reserve and Backflush', |
|
|
|
issueType: 'Reserve And Backflush', |
|
|
|
shrinkageFactor: 0, |
|
|
|
lineItemNo: '', |
|
|
|
operationId: '', |
|
|
|
@ -2678,6 +2770,7 @@ export default { |
|
|
|
this.operationModelFlag = false |
|
|
|
}, |
|
|
|
|
|
|
|
// 双击选中子物料 |
|
|
|
getComponentRowData (row) { |
|
|
|
this.componentData.componentPart = row.partNo |
|
|
|
this.componentData.componentPartDesc = row.partDesc |
|
|
|
@ -2686,8 +2779,16 @@ export default { |
|
|
|
this.componentPartModelFlag = false |
|
|
|
}, |
|
|
|
|
|
|
|
// 双击选择copy物料 |
|
|
|
getCopyRowData (row) { |
|
|
|
this.copyBomData.partNo = row.partNo |
|
|
|
this.copyBomData.partDesc = row.partDesc |
|
|
|
this.copyBomTypeChange() |
|
|
|
this.copyPartModelFlag = false |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 物料列表 |
|
|
|
* 子物料列表 |
|
|
|
*/ |
|
|
|
queryComponentPartModal () { |
|
|
|
this.componentPartData.limit = this.pageSize3 |
|
|
|
@ -2710,8 +2811,33 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 物料列表 |
|
|
|
* copy物料列表 |
|
|
|
*/ |
|
|
|
queryCopyPartModal () { |
|
|
|
this.copyPartData.limit = this.pageSize3 |
|
|
|
this.copyPartData.page = this.pageIndex3 |
|
|
|
this.copyPartData.site = this.copyBomData.site |
|
|
|
this.copyPartData.buNo = this.copyBomData.buNo |
|
|
|
// 查询所有物料 |
|
|
|
queryPartList(this.copyPartData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.copyPartList = data.page.list |
|
|
|
this.pageIndex4 = data.page.currPage |
|
|
|
this.pageSize4 = data.page.pageSize |
|
|
|
this.totalPage4 = data.page.totalCount |
|
|
|
this.copyPartModelFlag = true |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 子物料查询列表 |
|
|
|
*/ |
|
|
|
queryComponentPartList () { |
|
|
|
this.componentPartData.limit = this.pageSize3 |
|
|
|
@ -2729,6 +2855,25 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* copy物料查询列表 |
|
|
|
*/ |
|
|
|
queryCopyPartList () { |
|
|
|
this.copyPartData.limit = this.pageSize4 |
|
|
|
this.copyPartData.page = this.pageIndex4 |
|
|
|
// 查询所有物料 |
|
|
|
queryPartList(this.copyPartData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.copyPartList = data.page.list |
|
|
|
this.pageIndex4 = data.page.currPage |
|
|
|
this.pageSize4 = data.page.pageSize |
|
|
|
this.totalPage4 = data.page.totalCount |
|
|
|
} else { |
|
|
|
this.copyPartList = [] |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 子物料编码失焦事件 |
|
|
|
componentPartBlur () { |
|
|
|
if (this.componentData.componentPart != null && this.componentData.componentPart !== '') { |
|
|
|
@ -2754,6 +2899,39 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// copy物料编码失焦事件 |
|
|
|
copyPartBlur () { |
|
|
|
if (this.copyBomData.partNo != null && this.copyBomData.partNo !== '') { |
|
|
|
this.copyPartData.limit = this.pageSize4 |
|
|
|
this.copyPartData.page = this.pageIndex4 |
|
|
|
this.copyPartData.partNo = this.copyBomData.partNo |
|
|
|
queryPartList(this.copyPartData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
if (data.page.list.length === 1) { |
|
|
|
this.copyBomData.partDesc = data.page.list[0].partDesc |
|
|
|
} else { |
|
|
|
this.$message.warning('该物料不存在!') |
|
|
|
this.copyBomData.partDesc = '' |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// copy BOM类型改变 |
|
|
|
copyBomTypeChange () { |
|
|
|
// 获取物料的bom版本号 |
|
|
|
getBomEngChgLevel(this.copyBomData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.copyBomData.engChgLevel = data.engChgLevel |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 表格的新增 |
|
|
|
* @param row |
|
|
|
@ -3000,6 +3178,7 @@ export default { |
|
|
|
site: this.modalData.site, |
|
|
|
buNo: this.modalData.buNo, |
|
|
|
partNo: this.modalData.partNo, |
|
|
|
partDesc: this.modalData.partDesc, |
|
|
|
engChgLevel: this.modalData.engChgLevel + 1, |
|
|
|
bomType: this.modalData.bomType, |
|
|
|
effPhaseInDate: this.dayjs(new Date()).format('YYYY-MM-DD'), |
|
|
|
|