|
|
|
@ -509,6 +509,40 @@ |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-tab-pane> |
|
|
|
<el-tab-pane label="产品工艺路线" name="Routing"> |
|
|
|
<el-table |
|
|
|
:data="projectPartRoutingList" |
|
|
|
border |
|
|
|
style="width: 100%; margin-top: 5px;" |
|
|
|
:height="this.height + 50" |
|
|
|
ref="projectBomTable" |
|
|
|
v-loading="dataListLoading" |
|
|
|
> |
|
|
|
<!-- 数据列 --> |
|
|
|
<el-table-column |
|
|
|
v-for="(item, index) in columnProjectRoutingList" |
|
|
|
: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 === 'levelCode'"> |
|
|
|
<span v-if="scope.row.levelCode === '1'">{{ '1' }}</span> |
|
|
|
<span v-else>{{ scope.row.levelCode }}</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"> |
|
|
|
@ -1154,7 +1188,12 @@ import { |
|
|
|
confirmatorSendMailHandle, |
|
|
|
eamProjectPartSearch, |
|
|
|
eamProjectPartInfoEdit, |
|
|
|
getFinalPartDesc, addConfirmatory, deleteConfirmatory, queryEamProjectPart,searchMassProductionBomList |
|
|
|
getFinalPartDesc, |
|
|
|
addConfirmatory, |
|
|
|
deleteConfirmatory, |
|
|
|
queryEamProjectPart, |
|
|
|
searchMassProductionBomList, |
|
|
|
searchRoutingList |
|
|
|
} from "../../../api/eam/eamProject"; |
|
|
|
import row from "element-ui/packages/row"; |
|
|
|
import moment from 'moment'; |
|
|
|
@ -1317,6 +1356,7 @@ import {updateColumnSize} from "../../../api/table"; |
|
|
|
projectAllDocumentConfirmatorList: [], |
|
|
|
projectANotDocumentConfirmatorList: [], |
|
|
|
projectPartBomList: [],// 量产BOM原始平面数据数组 |
|
|
|
projectPartRoutingList: [],// 原始平面数据数组 |
|
|
|
confirmatorySelection1: [], |
|
|
|
confirmatorySelection2: [], |
|
|
|
proofDocumentListDefinition: [], |
|
|
|
@ -2567,6 +2607,170 @@ import {updateColumnSize} from "../../../api/table"; |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
], |
|
|
|
columnProjectRoutingList: [ |
|
|
|
{ |
|
|
|
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: 145, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1WorkCenterNo', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料BOM表", |
|
|
|
columnProp: 'workCenterNo', |
|
|
|
headerAlign: "center", |
|
|
|
align: "left", |
|
|
|
columnLabel: '加工中心', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1ItemNo', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料表", |
|
|
|
columnProp: 'itemNo', |
|
|
|
headerAlign: "center", |
|
|
|
align: "center", |
|
|
|
columnLabel: '工序行号', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1RoutingItemNo', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料表", |
|
|
|
columnProp: 'routingItemNo', |
|
|
|
headerAlign: "center", |
|
|
|
align: "left", |
|
|
|
columnLabel: '标准工序代号', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1ItemDesc', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料表", |
|
|
|
columnProp: 'itemDesc', |
|
|
|
headerAlign: "center", |
|
|
|
align: "left", |
|
|
|
columnLabel: '工序名称', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1LaborTime', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料表", |
|
|
|
columnProp: 'laborTime', |
|
|
|
headerAlign: "center", |
|
|
|
align: "right", |
|
|
|
columnLabel: '工时', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1LaborResources', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料表", |
|
|
|
columnProp: 'laborResources', |
|
|
|
headerAlign: "center", |
|
|
|
align: "right", |
|
|
|
columnLabel: '人数', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1MachRunFactor', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料表", |
|
|
|
columnProp: 'machRunFactor', |
|
|
|
headerAlign: "center", |
|
|
|
align: "right", |
|
|
|
columnLabel: '单位工时', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 401005, |
|
|
|
serialNumber: '401005Table1FactorUnit', |
|
|
|
tableId: "401005Table1", |
|
|
|
tableName: "项目物料表", |
|
|
|
columnProp: 'factorUnit', |
|
|
|
headerAlign: "center", |
|
|
|
align: "center", |
|
|
|
columnLabel: '单位', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150, |
|
|
|
}, |
|
|
|
], |
|
|
|
levelList: [], |
|
|
|
rules:{ |
|
|
|
projectNo:[ |
|
|
|
@ -5193,6 +5397,28 @@ import {updateColumnSize} from "../../../api/table"; |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
fetchRoutingList() { |
|
|
|
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, |
|
|
|
partNo:this.proofingCurrentRow.finalPartNo, |
|
|
|
partDesc: this.proofingCurrentRow.partDesc, |
|
|
|
page: 1, |
|
|
|
limit: 1000 |
|
|
|
} |
|
|
|
searchRoutingList(inData).then(({data}) => { |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.dataListLoading = false; |
|
|
|
this.projectPartRoutingList = data.list |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 列表表格选择替换 |
|
|
|
tabClick (tab, event) { |
|
|
|
// 刷新列表数据 |
|
|
|
@ -5209,14 +5435,14 @@ import {updateColumnSize} from "../../../api/table"; |
|
|
|
this.searchProjectAllDocumentList() |
|
|
|
this.searchConfirmatorList() |
|
|
|
} |
|
|
|
if (this.activeName == 'productionDocumentsConfirmProgress'){ |
|
|
|
if (this.activeName === 'productionDocumentsConfirmProgress'){ |
|
|
|
this.getConfirmProgressDocumentList() |
|
|
|
this.getConfirmProgressPusherList() |
|
|
|
} |
|
|
|
if (this.activeName == 'massProductionBOM' && this.proofingCurrentRow.finalPartNo !== '' && this.proofingCurrentRow.finalPartNo !== null){ |
|
|
|
if (this.activeName === 'massProductionBOM' && this.proofingCurrentRow.finalPartNo !== '' && this.proofingCurrentRow.finalPartNo !== null){ |
|
|
|
this.dataListLoading = true; |
|
|
|
try { |
|
|
|
// 模拟从后端获取数据 |
|
|
|
// 从后端获取数据 |
|
|
|
const flatData = await this.fetchBomList(); |
|
|
|
// 将平铺数据转换为树形结构 |
|
|
|
this.projectPartBomList = arrayToTreeByLevelCode(flatData, "levelCode", "children"); |
|
|
|
@ -5228,6 +5454,12 @@ import {updateColumnSize} from "../../../api/table"; |
|
|
|
} else { |
|
|
|
this.projectPartBomList = [] |
|
|
|
} |
|
|
|
if (this.activeName === 'Routing' && this.proofingCurrentRow.finalPartNo !== '' && this.proofingCurrentRow.finalPartNo !== null){ |
|
|
|
this.dataListLoading = true; |
|
|
|
this.fetchRoutingList() |
|
|
|
} else { |
|
|
|
this.projectPartRoutingList = [] |
|
|
|
} |
|
|
|
}, |
|
|
|
//获取按钮的权限数据 |
|
|
|
getButtonAuthData () { |
|
|
|
|