diff --git a/src/views/modules/part/bomManagement.vue b/src/views/modules/part/bomManagement.vue index 08151f6..3dc773b 100644 --- a/src/views/modules/part/bomManagement.vue +++ b/src/views/modules/part/bomManagement.vue @@ -2791,7 +2791,7 @@ export default { materialLength2: row.materialLength2 == null ? undefined : row.materialLength2, unitConversion: row.unitConversion == null ? undefined : row.unitConversion, } - this.componentDisableFlag = true + this.componentDisableFlag = false this.componentSaveModal = true }, diff --git a/src/views/modules/part/bom_create.vue b/src/views/modules/part/bom_create.vue index 97b6feb..1d1285e 100644 --- a/src/views/modules/part/bom_create.vue +++ b/src/views/modules/part/bom_create.vue @@ -119,6 +119,7 @@ 新增 批量新增 + 批量修改 编辑工序 导入 删除 @@ -143,7 +144,14 @@ :min-width="item.columnWidth" :label="item.columnLabel"> @@ -380,56 +388,148 @@
- - - - - - - - - 查询 - - - - - +
+
+ + + + + + + + + 查询 + + +
+
+ + + + + +
+
- - - 可选物料 - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ 可选物料 +
+ + + + + + +
- - -
- 添加>> -
-
- 删除<< -
-
- - 已选物料 +
+
+ ↓添加↓ + ↑删除↑ +
+
+ 已选物料 - - - - - - + highlight-current-row style="width: 100%; height: 150px;"> + + + - - +
+
保存 关闭 @@ -586,6 +663,169 @@
+ +
+ + + + + + + + + + + + + + +
+ + 保存 + 关闭 + +
+ + +
+ + + + + + + + + 查询 + + + + + + + + + + +
+ + 关闭 + +
+ @@ -622,6 +862,7 @@ import { import ChooseList from '@/views/modules/common/Chooselist_eam' import {Decimal} from "decimal.js" import BomComponentUpload from "./bom_component_upload.vue" +import {partFamilyInformationSearch} from "../../../api/part/partFamilyInformation"; export default { components: { BomComponentUpload, @@ -634,16 +875,102 @@ export default { required: true } }, + computed: { + productionDataFlag() { + const targetFamilyIDs = ['RFID003', 'RFID023', 'RFID024', 'RFID025', 'RFID004', 'RFID005', + 'RFID026', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID027']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + materialDataFlag() { + const targetFamilyIDs = ['RFID011', 'RFID020', 'RFID021', 'RFID022']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + finishedProductDataFlag() { + const targetFamilyIDs = ['RFID020', 'RFID021', 'RFID022']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + consumptionLossFlag() { + const targetFamilyIDs = ['RFID001', 'RFID002', 'RFID014', 'RFID015', 'RFID016', 'RFID017', 'RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + coatingLengthFlag() { + const targetFamilyIDs = ['RFID013']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + glueWeightFlag() { + const targetFamilyIDs = ['RFID013']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + materialWidthFlag() { + const targetFamilyIDs = ['RFID014','RFID015']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + widthConversionFlag() { + const targetFamilyIDs = ['RFID014','RFID015']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + materialLengthFlag() { + const targetFamilyIDs = ['RFID001', 'RFID002', 'RFID016', 'RFID017', 'RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + materialThicknessFlag() { + const targetFamilyIDs = ['RFID001', 'RFID002', 'RFID016', 'RFID017', 'RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + areaConversionFLag() { + const targetFamilyIDs = ['RFID016', 'RFID017', 'RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + densityConversionFlag() { + const targetFamilyIDs = ['RFID016', 'RFID017', 'RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + materialWeightFlag() { + const targetFamilyIDs = ['RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + materialLength2Flag() { + const targetFamilyIDs = ['RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + unitConversionFlag() { + const targetFamilyIDs = ['RFID018', 'RFID019']; + return this.subDetailList.some(item => targetFamilyIDs.includes(item.familyID)); + }, + filteredBatchUpdateComponentsColumn() { + return this.batchUpdateComponentsColumn.filter(item => { + if (item.columnProp === 'productionData') return this.productionDataFlag; + if (item.columnProp === 'materialData') return this.materialDataFlag; + if (item.columnProp === 'finishedProductData') return this.finishedProductDataFlag; + if (item.columnProp === 'consumptionLoss') return this.consumptionLossFlag; + if (item.columnProp === 'coatingLength') return this.coatingLengthFlag; + if (item.columnProp === 'glueWeight') return this.glueWeightFlag; + if (item.columnProp === 'materialWidth') return this.materialWidthFlag; + if (item.columnProp === 'widthConversion') return this.widthConversionFlag; + if (item.columnProp === 'materialLength') return this.materialLengthFlag; + if (item.columnProp === 'materialThickness') return this.materialThicknessFlag; + if (item.columnProp === 'areaConversion') return this.areaConversionFLag; + if (item.columnProp === 'densityConversion') return this.densityConversionFlag; + if (item.columnProp === 'materialWeight') return this.materialWeightFlag; + if (item.columnProp === 'materialLength2') return this.materialLength2Flag; + if (item.columnProp === 'unitConversion') return this.unitConversionFlag; + return true; + }); + } + }, data() { return { // 初始页签 detailTable: 'bom_detail', subDetailTable: 'bom_sub_detail', + pageIndex: 1, + pageSize: 50, + totalPage: 0, pageIndex3: 1, pageSize3: 20, totalPage3: 0, pageIndex5: 1, - pageSize5: 20, + pageSize5: 50, totalPage5: 0, batchComponentSelections: [], batchComponentSelections2: [], @@ -654,6 +981,7 @@ export default { batchComponentPartList: [], choosePartList: [], operationList: [], + familyList: [], modalData: { flag: '', title: '', @@ -788,7 +1116,19 @@ export default { batchOperationData: { operationId: '', operationNo: '', - operationName: '' + operationName: '', + }, + familyData: { + buNo: '', + site: '', + partNo: '', + componentPart: '', + userName: '', + familyID: '', + familyName: '', + indexOfList: null, + page: 1, + limit: 10, }, // 必填规则 rules: { @@ -954,190 +1294,618 @@ export default { sortLv: 0, status: true, fixed: '', - columnWidth : 150, + columnWidth : 150, + }, + { + columnProp: 'createBy', + headerAlign: "center", + align: "left", + columnLabel: '创建人', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth : 100, + }, + { + columnProp: 'updateDate', + headerAlign: "center", + align: "center", + columnLabel: '更新时间', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth : 150, + }, + { + columnProp: 'updateBy', + headerAlign: "center", + align: "left", + columnLabel: '更新人', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth : 100, + }, + ], + partColumnList: [ + { + columnProp: 'partNo', + headerAlign: "center", + align: "center", + columnLabel: '物料编码', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 120 + }, + { + columnProp: 'partDesc', + headerAlign: "center", + align: "center", + columnLabel: '物料名称', + columnHidden: false, + columnImage: false, + status: true, + fixed: '', + columnWidth: 300 + }, + { + columnProp: 'spec', + headerAlign: "center", + align: "center", + columnLabel: '规格型号', + columnHidden: false, + columnImage: false, + status: true, + fixed: '', + columnWidth: 300 + }, + { + columnProp: 'printUnitName', + headerAlign: "center", + align: "center", + columnLabel: '计量单位', + columnHidden: false, + columnImage: false, + status: true, + fixed: '', + columnWidth: 100 + }, + { + columnProp: 'partType2', + headerAlign: "center", + align: "center", + columnLabel: '零件类型', + columnHidden: false, + columnImage: false, + status: true, + fixed: '', + columnWidth: 100 + }, + { + columnProp: 'yieldRate', + headerAlign: "center", + align: "right", + columnLabel: '良品率', + columnHidden: false, + columnImage: false, + status: true, + fixed: '', + columnWidth: 100 + }, + ], + familyColumnList: [ + { + columnProp: 'familyID', + headerAlign: "center", + align: "left", + columnLabel: '分类编码', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 60 + }, + { + columnProp: 'familyName', + headerAlign: "center", + align: "left", + columnLabel: '分类名称', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 150 + }, + ], + columnSubDetailList1: [ + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2LineSequence', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'lineSequence', + headerAlign: 'center', + align: 'center', + columnLabel: '序号', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 50 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ComponentPart', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'componentPart', + headerAlign: 'center', + align: 'left', + columnLabel: '物料编码', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 80 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ComponentPartDesc', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'componentPartDesc', + 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: 601002, + serialNumber: '601002Table2ComponentPartDesc', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'formula', + headerAlign: 'center', + align: 'left', + columnLabel: '计算公式', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 300 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ComponentPartDesc', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'familyName', + headerAlign: 'center', + align: 'left', + columnLabel: '物料分类', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 200 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2PrintUnit', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'printUnitName', + headerAlign: 'center', + align: 'center', + columnLabel: '物料单位', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 60 + }, + ], + columnSubDetailList2: [ + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ConsumptionItem', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'consumptionItem', + headerAlign: 'center', + align: 'center', + columnLabel: '消耗项目', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 80 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2IssueType', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'issueType', + headerAlign: 'center', + align: 'center', + columnLabel: '生产属性', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 140 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2OperationNo', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'operationNo', + headerAlign: 'center', + align: 'center', + columnLabel: '工序编码', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 80 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2OperationName', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'operationName', + headerAlign: 'center', + align: 'left', + columnLabel: '工序名称', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 120 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2IssueToLoc', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'issueToLocName', + headerAlign: 'center', + align: 'center', + columnLabel: '发料库位', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 80 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2NoteText', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'noteText', + headerAlign: 'center', + align: 'center', + columnLabel: '备注', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 150 + }, + ], + batchUpdateComponentsColumn: [ + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2LineSequence', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'lineSequence', + headerAlign: 'center', + align: 'center', + columnLabel: '序号', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 50 + }, + { + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ComponentPart', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'componentPart', + headerAlign: 'center', + align: 'left', + columnLabel: '物料编码', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 80 }, { - columnProp: 'createBy', - headerAlign: "center", - align: "left", - columnLabel: '创建人', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ComponentPartDesc', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'componentPartDesc', + headerAlign: 'center', + align: 'left', + columnLabel: '物料名称', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth : 100, + columnWidth: 150 }, { - columnProp: 'updateDate', - headerAlign: "center", - align: "center", - columnLabel: '更新时间', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ComponentPartDesc', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'formula', + headerAlign: 'center', + align: 'left', + columnLabel: '计算公式', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth : 150, + columnWidth: 300 }, { - columnProp: 'updateBy', - headerAlign: "center", - align: "left", - columnLabel: '更新人', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2ComponentPartDesc', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'familyName', + headerAlign: 'center', + align: 'left', + columnLabel: '物料分类', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth : 100, + columnWidth: 200 }, - ], - partColumnList: [ { - columnProp: 'partNo', - headerAlign: "center", - align: "center", - columnLabel: '物料编码', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2PrintUnit', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'printUnitName', + headerAlign: 'center', + align: 'center', + columnLabel: '物料单位', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 120 - }, - { - columnProp: 'partDesc', - headerAlign: "center", - align: "center", - columnLabel: '物料名称', - columnHidden: false, - columnImage: false, - status: true, - fixed: '', - columnWidth: 300 + columnWidth: 60 }, { - columnProp: 'spec', - headerAlign: "center", - align: "center", - columnLabel: '规格型号', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2PrintUnit', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'productionData', + headerAlign: 'center', + align: 'center', + columnLabel: '实际生产数量', columnHidden: false, columnImage: false, + columnSortable: false, + sortLv: 0, status: true, fixed: '', - columnWidth: 300 + columnWidth: 90 }, { - columnProp: 'printUnitName', - headerAlign: "center", - align: "center", - columnLabel: '计量单位', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2PrintUnit', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'materialData', + headerAlign: 'center', + align: 'center', + columnLabel: '材料数量', columnHidden: false, columnImage: false, + columnSortable: false, + sortLv: 0, status: true, fixed: '', - columnWidth: 100 + columnWidth: 60 }, { - columnProp: 'partType2', - headerAlign: "center", - align: "center", - columnLabel: '零件类型', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2PrintUnit', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'finishedProductData', + headerAlign: 'center', + align: 'center', + columnLabel: '成品数量', columnHidden: false, columnImage: false, + columnSortable: false, + sortLv: 0, status: true, fixed: '', - columnWidth: 100 + columnWidth: 60 }, { - columnProp: 'yieldRate', - headerAlign: "center", - align: "right", - columnLabel: '良品率', + userId: this.$store.state.user.name, + functionId: 601002, + serialNumber: '601002Table2PrintUnit', + tableId: '601002Table2', + tableName: 'BOM子物料表', + columnProp: 'consumptionLoss', + headerAlign: 'center', + align: 'center', + columnLabel: '用量消耗', columnHidden: false, columnImage: false, + columnSortable: false, + sortLv: 0, status: true, fixed: '', - columnWidth: 100 + columnWidth: 60 }, - ], - columnSubDetailList1: [ { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2LineSequence', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'lineSequence', + columnProp: 'coatingLength', headerAlign: 'center', align: 'center', - columnLabel: '序号', + columnLabel: '涂胶长度', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 50 + columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2ComponentPart', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'componentPart', + columnProp: 'glueWeight', headerAlign: 'center', - align: 'left', - columnLabel: '物料编码', + align: 'center', + columnLabel: '胶水克重', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 120 + columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2ComponentPartDesc', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'componentPartDesc', + columnProp: 'materialWidth', headerAlign: 'center', - align: 'left', - columnLabel: '物料名称', + align: 'center', + columnLabel: '材料宽度', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 300 + columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2ComponentPartDesc', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'formula', + columnProp: 'widthConversion', headerAlign: 'center', - align: 'left', - columnLabel: '计算公式', + align: 'center', + columnLabel: '宽度换算单位', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 300 + columnWidth: 90 }, { userId: this.$store.state.user.name, @@ -1145,10 +1913,10 @@ export default { serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'printUnitName', + columnProp: 'materialLength', headerAlign: 'center', align: 'center', - columnLabel: '物料单位', + columnLabel: '材料长度1', columnHidden: false, columnImage: false, columnSortable: false, @@ -1157,115 +1925,113 @@ export default { fixed: '', columnWidth: 60 }, - ], - columnSubDetailList2: [ { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2ConsumptionItem', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'consumptionItem', + columnProp: 'materialThickness', headerAlign: 'center', align: 'center', - columnLabel: '消耗项目', + columnLabel: '材料厚度', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 80 + columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2IssueType', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'issueType', + columnProp: 'areaConversion', headerAlign: 'center', align: 'center', - columnLabel: '生产属性', + columnLabel: '面积单位换算', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 140 + columnWidth: 90 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2OperationNo', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'operationNo', + columnProp: 'densityConversion', headerAlign: 'center', align: 'center', - columnLabel: '工序编码', + columnLabel: '密度单位换算', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 80 + columnWidth: 90 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2OperationName', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'operationName', + columnProp: 'materialWeight', headerAlign: 'center', - align: 'left', - columnLabel: '工序名称', + align: 'center', + columnLabel: '材料克重', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 120 + columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2IssueToLoc', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'issueToLocName', + columnProp: 'materialLength2', headerAlign: 'center', align: 'center', - columnLabel: '发料库位', + columnLabel: '材料长度2', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 80 + columnWidth: 60 }, { userId: this.$store.state.user.name, functionId: 601002, - serialNumber: '601002Table2NoteText', + serialNumber: '601002Table2PrintUnit', tableId: '601002Table2', tableName: 'BOM子物料表', - columnProp: 'noteText', + columnProp: 'unitConversion', headerAlign: 'center', align: 'center', - columnLabel: '备注', + columnLabel: '单位换算', columnHidden: false, columnImage: false, columnSortable: false, sortLv: 0, status: true, fixed: '', - columnWidth: 150 + columnWidth: 60 }, ], componentPartColumnList: [ @@ -1283,7 +2049,7 @@ export default { { columnProp: 'partDesc', headerAlign: "center", - align: "center", + align: "left", columnLabel: '物料名称', columnHidden: false, columnImage: false, @@ -1294,7 +2060,7 @@ export default { { columnProp: 'spec', headerAlign: "center", - align: "center", + align: "left", columnLabel: '规格型号', columnHidden: false, columnImage: false, @@ -1426,6 +2192,8 @@ export default { saveDetailModalDisable: false, operationModelFlag: false, batchOperationModelFlag: false, + batchUpdateComponentsFlag: false, + familyDialogFlag: false, // ======== 子物料字段分类集合 ======== productionDataFamily: ['RFID003', 'RFID004', 'RFID005', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID023', 'RFID024', 'RFID025', 'RFID026', 'RFID027'], materialDataFamily: ['RFID011', 'RFID020', 'RFID021', 'RFID022'], @@ -1861,7 +2629,7 @@ export default { this.$message.warning('请先选择替代!') return } - this.pageSize5 = 20 + this.pageSize5 = 50 this.pageIndex5 = 1 this.batchComponentPartData.partNo = '' this.batchComponentPartData.partDesc = '' @@ -1991,7 +2759,7 @@ export default { materialLength2: row.materialLength2 == null ? undefined : row.materialLength2, unitConversion: row.unitConversion == null ? undefined : row.unitConversion, } - this.componentDisableFlag = true + this.componentDisableFlag = false this.componentSaveModal = true }, @@ -2680,6 +3448,173 @@ export default { this.$refs[aaa].focus() }) }, + + handleFamilySelect(row, index) { + this.familyData = { + buNo: row.buNo, + site: row.site, + partNo: row.partNo, + componentPart: row.componentPart, + userName: this.$store.state.user.name, + familyID: '', + familyName: '', + indexOfList: index, + page: 1, + limit: 10 + } + this.queryFamilyList() + }, + + queryFamilyList() { + this.familyData.limit = this.pageSize + this.familyData.page = this.pageIndex + partFamilyInformationSearch(this.familyData).then(({data}) => { + if (data && data.code === 0) { + this.familyList = data.page.list + this.familyList.forEach(item => { + item.familyID = item.familyId; + }); + this.pageIndex = data.page.currPage + this.pageSize = data.page.pageSize + this.totalPage = data.page.totalCount + this.familyDialogFlag = true + } else { + this.familyList = [] + } + }) + }, + + getRowData (row) { + this.$set(this.subDetailList[this.familyData.indexOfList], 'familyName', row.familyName); + this.$set(this.subDetailList[this.familyData.indexOfList], 'familyID', row.familyID); + this.familyDialogFlag = false + }, + + sizeChangeHandle (val) { + this.pageSize = val + this.pageIndex = 1 + this.queryFamilyList() + }, + + // 当前页 + currentChangeHandle (val) { + this.pageIndex = val + this.queryFamilyList() + }, + + batchUpdateComponents() { + this.batchUpdateComponentsFlag = true + }, + + async batchUpdateComponentsSave() { + let flag = true + for (let i = 0; i < this.subDetailList.length; i++) { + let row = this.subDetailList[i] + this.componentData = { + flag: '2', + site: row.site, + buNo: row.buNo, + partNo: row.partNo, + engChgLevel: row.engChgLevel, + bomType: row.bomType, + alternativeNo: row.alternativeNo, + componentPart: row.componentPart, + componentPartDesc: row.componentPartDesc, + printUnit: row.printUnit, + printUnitName: row.printUnitName, + qtyPerAssembly: row.qtyPerAssembly, + componentScrap: row.componentScrap, + issueType: row.issueType, + shrinkageFactor: row.shrinkageFactor, + lineItemNo: row.lineItemNo, + operationId: row.operationId, + operationNo: row.operationNo, + issueToLoc: row.issueToLoc, + issueToLocName: row.issueToLocName, + noteText: row.noteText, + updateBy: this.$store.state.user.name, + lineSequence: row.lineSequence, + consumptionItem: row.consumptionItem, + productFlag: 'component', + familyID: row.familyID, + productionData: row.productionData == null ? undefined : row.productionData, + materialData: row.materialData == null ? undefined : row.materialData, + finishedProductData: row.finishedProductData == null ? undefined : row.finishedProductData, + consumptionLoss: row.consumptionLoss == null ? undefined : row.consumptionLoss, + coatingLength: row.coatingLength == null ? undefined : row.coatingLength, + glueWeight: row.glueWeight == null ? undefined : row.glueWeight, + materialWidth: row.materialWidth == null ? undefined : row.materialWidth, + widthConversion: row.widthConversion == null ? undefined : row.widthConversion, + materialLength: row.materialLength == null ? undefined : row.materialLength, + materialThickness: row.materialThickness == null ? undefined : row.materialThickness, + areaConversion: row.areaConversion == null ? undefined : row.areaConversion, + densityConversion: row.densityConversion == null ? undefined : row.densityConversion, + materialWeight: row.materialWeight == null ? undefined : row.materialWeight, + materialLength2: row.materialLength2 == null ? undefined : row.materialLength2, + unitConversion: row.unitConversion == null ? undefined : row.unitConversion, + } + if (this.componentData.lineSequence === '' || this.componentData.lineSequence == null) { + this.$message.warning('序号不能为空!') + return + } + if (this.componentData.partNo === '' || this.componentData.partNo == null) { + this.$message.warning('请选择主记录物料编码!') + return + } + if (this.componentData.bomType === '' || this.componentData.bomType == null) { + this.$message.warning('请选择主记录制造类型!') + return + } + if (this.componentData.engChgLevel === '' || this.componentData.engChgLevel == null) { + this.$message.warning('请填写主记录BOM版本号!') + return + } + if (this.componentData.componentPart === '' || this.componentData.componentPart == null) { + this.$message.warning('请选择子物料编码!') + return + } + if (this.componentData.productFlag === 'component' && (this.componentData.consumptionItem === '' || this.componentData.consumptionItem == null)) { + this.$message.warning('请选择消耗项目!') + return + } + if (this.componentData.componentScrap === '' || this.componentData.componentScrap == null) { + this.$message.warning('请填写调机量!') + return + } + if (this.componentData.shrinkageFactor === '' || this.componentData.shrinkageFactor == null) { + this.$message.warning('请填写损耗率!') + return + } + if (this.componentData.issueType === '' || this.componentData.issueType == null) { + this.$message.warning('请选择生产属性!') + return + } + try { + const {data} = await computeQtyPerAssemblyEdit(this.componentData) + if (data && data.code !== 0) { + flag = false + this.$alert('第'+(i+1)+'行'+data.msg, '错误', { + confirmButtonText: '确定' + }) + } + } catch (error) { + flag = false + this.$alert('第'+(i+1)+'行请求失败', '错误', { + confirmButtonText: '确定' + }) + } + } + + if(flag) { + this.$message({ + message: '操作成功', + type: 'success', + duration: 1500, + onClose: () => {} + }) + this.batchUpdateComponentsFlag = false + } + } } } diff --git a/src/views/modules/part/copy_bom_modal.vue b/src/views/modules/part/copy_bom_modal.vue index 0825459..71facc0 100644 --- a/src/views/modules/part/copy_bom_modal.vue +++ b/src/views/modules/part/copy_bom_modal.vue @@ -1834,7 +1834,7 @@ export default { treeId: row.treeId, bomId: row.bomId } - this.componentDisableFlag1 = true + this.componentDisableFlag1 = false this.componentSaveModal1 = true }, diff --git a/src/views/modules/part/routing_create.vue b/src/views/modules/part/routing_create.vue index 9c10071..74e6115 100644 --- a/src/views/modules/part/routing_create.vue +++ b/src/views/modules/part/routing_create.vue @@ -2678,7 +2678,7 @@ export default { return '人数/(速度x时间x效率)' case '印刷': case 'RFID-蚀刻': case 'RFID-分切': return '人数/(速度x时间x效率)/Printing lanes' - case '绑定': case 'RFID编码': case 'RFID编码打印': + case 'RFID绑定-TAL': case'RFID绑定-Paris': case'RFID绑定-MLI':case 'RFID编码': case 'RFID编码打印': return '人数/(UPH(每小时产量)*效率)*1KCT' case 'RFID多条检测': return '人数/(速度x时间xCDx效率)*1KCT' @@ -2690,7 +2690,7 @@ export default { return '人数/(速度x时间x效率x(CDx贴标列数))*1KCT' case 'Voyantic在线检测': return '人数/(速度x时间x效率x(CDx检测列数))*1KCT' - case 'RFID包装': + case 'Packaging': return '人数/(日产量/8小时/17人均摊)*1KCT' default: return ''