Browse Source

2024.12.05 产品文档收集-项目物料-量产BOM

java8
yuejiayang 1 year ago
parent
commit
73b844c9cb
  1. 2
      src/api/eam/eamProject.js
  2. 150
      src/views/modules/eam/eamProjectPartInfo.vue

2
src/api/eam/eamProject.js

@ -35,3 +35,5 @@ export const confirmatorSendMailHandle= data => createAPI(`/pms/eamProject/confi
export const agencyMatter= data => createAPI(`/pms/agencyMatter/project-counts`,'post',data)
export const deleteAndSaveHandle= data => createAPI(`/pms/eamProject/deleteAndSaveHandle`,'post',data)
export const saveHandle= data => createAPI(`/pms/eamProject/saveHandle`,'post',data)
export const searchMassProductionBomList= data => createAPI(`/pms/eamProject/searchMassProductionBomList`,'post',data)

150
src/views/modules/eam/eamProjectPartInfo.vue

@ -476,6 +476,39 @@
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="量产BOM" name="massProductionBOM">
<el-table
:data="projectPartBomList"
border
style="width: 100%;margin-top: 5px;"
:height="this.height + 50"
ref="projectBomTable"
v-loading="dataListLoading">
<el-table-column label="序号" type="index" align="center" :index="indexMethod"></el-table-column>
<el-table-column
v-for="(item,index) in columnProjectBomList" :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">
<div v-if="item.columnProp === 'levels'">
<span v-if="scope.row.levels === 1">{{ '主BOM' }}</span>
<span v-else>{{ ''+ scope.row.levels-1 + '层BOM' }}</span>
</div>
<div v-else>
<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>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<el-dialog title="文档清单定义" @close="projectDocumentListVisibleFalse" :visible.sync="projectDocumentListVisible" width="561px" style="margin-top: 10vh" :close-on-click-modal="false">
@ -1121,7 +1154,7 @@ import {
confirmatorSendMailHandle,
eamProjectPartSearch,
eamProjectPartInfoEdit,
getFinalPartDesc, addConfirmatory, deleteConfirmatory, queryEamProjectPart
getFinalPartDesc, addConfirmatory, deleteConfirmatory, queryEamProjectPart,searchMassProductionBomList
} from "../../../api/eam/eamProject";
import row from "element-ui/packages/row";
import moment from 'moment';
@ -1281,6 +1314,7 @@ import {EventBus} from "../../../main";
confirmatoryList: [],
projectAllDocumentConfirmatorList: [],
projectANotDocumentConfirmatorList: [],
projectPartBomList: [],
confirmatorySelection1: [],
confirmatorySelection2: [],
proofDocumentListDefinition: [],
@ -2439,6 +2473,98 @@ import {EventBus} from "../../../main";
columnWidth: 80
}
],
columnProjectBomList: [
{
userId: this.$store.state.user.name,
functionId: 401005,
serialNumber: '401005Table1PartNo2',
tableId: "401005Table1",
tableName: "项目物料BOM表",
columnProp: 'partNo2',
headerAlign: "center",
align: "center",
columnLabel: '物料编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 401005,
serialNumber: '401005Table1PartDesc2',
tableId: "401005Table1",
tableName: "项目物料BOM表",
columnProp: 'partDesc2',
headerAlign: "center",
align: "center",
columnLabel: '物料描述',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 401005,
serialNumber: '401005Table1QtyAssembly',
tableId: "401005Table1",
tableName: "项目物料BOM表",
columnProp: 'qtyAssembly',
headerAlign: "center",
align: "center",
columnLabel: '用量',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 401005,
serialNumber: '401005Table1ScrapFactor',
tableId: "401005Table1",
tableName: "项目物料表",
columnProp: 'scrapFactor',
headerAlign: "center",
align: "center",
columnLabel: '损耗',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 401005,
serialNumber: '401005Table1Levels',
tableId: "401005Table1",
tableName: "项目物料表",
columnProp: 'levels',
headerAlign: "center",
align: "center",
columnLabel: 'BOM层级',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
],
levelList: [],
rules:{
projectNo:[
@ -5036,6 +5162,25 @@ import {EventBus} from "../../../main";
}
})
},
searchMassProductionBomList() {
let inData = {
site: this.proofingCurrentRow.site,
buNo: this.proofingCurrentRow.buNo,
projectId: this.proofingCurrentRow.projectId,
projectNo: this.proofingCurrentRow.projectNo,
projectDesc: this.proofingCurrentRow.projectDesc,
projectPartId: this.proofingCurrentRow.projectPartId,
testPartNo: this.proofingCurrentRow.testPartNo,
partDesc: this.proofingCurrentRow.partDesc,
page: 1,
limit: 1000
}
searchMassProductionBomList(inData).then(({data}) => {
if (data && data.code === 0){
this.projectPartBomList = data.list;
}
})
},
//
tabClick (tab, event) {
//
@ -5056,6 +5201,9 @@ import {EventBus} from "../../../main";
this.getConfirmProgressDocumentList()
this.getConfirmProgressPusherList()
}
if (this.activeName == 'massProductionBOM' && this.proofingCurrentRow.finalPartNo !== '' && this.proofingCurrentRow.finalPartNo !== null){
this.searchMassProductionBomList()
}
},
//
getButtonAuthData () {

Loading…
Cancel
Save