From 6fe9f08a8e065b3677b9ccab6d31153a3322f1a0 Mon Sep 17 00:00:00 2001 From: yuejiayang <146344614+YangLei105@users.noreply.github.com> Date: Tue, 18 Feb 2025 00:31:00 +0800 Subject: [PATCH] =?UTF-8?q?2025.02.18=20=E7=BB=A9=E6=95=88&=E9=80=81?= =?UTF-8?q?=E8=B4=A7=E8=AE=A1=E5=88=92=20=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deliverySchedule/supplierDeliveryPlan.js | 3 + .../externalSupplierDeliverySchedule.vue | 177 +++++++++++++++--- .../internalSupplierDeliverySchedule.vue | 177 ++++++++++++++++-- .../supplierDeliverySchedule.vue | 49 ++--- .../performanceIndicatorDefinition.vue | 32 ++-- .../supplierPerformanceTheYear.vue | 2 +- .../supplierPerformanceThisMonth.vue | 2 +- 7 files changed, 366 insertions(+), 76 deletions(-) diff --git a/src/api/deliverySchedule/supplierDeliveryPlan.js b/src/api/deliverySchedule/supplierDeliveryPlan.js index 843325c..a90f7bc 100644 --- a/src/api/deliverySchedule/supplierDeliveryPlan.js +++ b/src/api/deliverySchedule/supplierDeliveryPlan.js @@ -5,3 +5,6 @@ export const searchSupplierDeliveryPlan = data => createAPI(`/deliverySchedule/s export const updateSupplierDeliveryPlan = data => createAPI(`/deliverySchedule/updateSupplierDeliveryPlan`,'post',data) export const removeSupplierDeliveryPlan = data => createAPI(`/deliverySchedule/removeSupplierDeliveryPlan`,'post',data) + +// 外部供应商送货计划信息 查询发料信息方法 +export const materialIssueSearch = data => createAPI(`/deliverySchedule/materialIssueSearch`,'post',data) diff --git a/src/views/modules/deliverySchedule/externalSupplierDeliverySchedule.vue b/src/views/modules/deliverySchedule/externalSupplierDeliverySchedule.vue index a46f3d4..8c44903 100644 --- a/src/views/modules/deliverySchedule/externalSupplierDeliverySchedule.vue +++ b/src/views/modules/deliverySchedule/externalSupplierDeliverySchedule.vue @@ -66,7 +66,7 @@ - + @@ -121,6 +121,16 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 关闭 + + + @@ -196,7 +248,7 @@ import { searchSupplierDeliverySchedule, updateSupplierDeliveryScheduleDeliveryQty } from "../../../api/deliverySchedule/supplierDeliverySchedule"; -import {searchSupplierDeliveryPlan} from "../../../api/deliverySchedule/supplierDeliveryPlan"; +import {searchSupplierDeliveryPlan,materialIssueSearch} from "../../../api/deliverySchedule/supplierDeliveryPlan"; import {getTableDefaultListLanguage, getTableUserListLanguage} from "../../../api/table"; import Chooselist from "../common/Chooselist.vue"; @@ -214,11 +266,12 @@ export default { exportHeader: ["供应商送货计划信息"], exportFooter: [], exportList: [], - modalData: { - WantedDelDate: new Date(), - DelPlace: '', - Remark: '', - SupplierDeliveryScheduleList: [], + materialIssueModalData: { + site: '', + orderNo: '', + orderRef1: '', + partNo: '', + partDescription: '', }, // 导出 end searchData: { @@ -729,6 +782,79 @@ export default { fixed: '', }, ], + columnMaterialIssueList: [ + { + userId: this.$store.state.user.name, + functionId: 109003, + serialNumber: '109003Table3ComponentPartNo', + tableId: "109003Table3", + tableName: "供应商送货计划信息表", + columnWidth: 150, + columnProp: 'componentPartNo', + headerAlign: 'center', + align: "left", + columnLabel: '料号', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + { + userId: this.$store.state.user.name, + functionId: 109003, + serialNumber: '109003Table3ComponentPartDesc', + tableId: "109003Table3", + tableName: "供应商送货计划信息表", + columnProp: 'componentPartDesc', + headerAlign: 'center', + align: "left", + columnLabel: '料号描述', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + { + userId: this.$store.state.user.name, + functionId: 109003, + serialNumber: '109003Table3QtyRequired', + tableId: "109003Table3", + tableName: "供应商送货计划信息表", + columnWidth: 110, + columnProp: 'qtyRequired', + headerAlign: 'center', + align: "right", + columnLabel: '需求数量', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + { + userId: this.$store.state.user.name, + functionId: 109003, + serialNumber: '109003Table3QtyIssued', + tableId: "109003Table3", + tableName: "供应商送货计划信息表", + columnWidth: 110, + columnProp: 'qtyIssue', + headerAlign: 'center', + align: "right", + columnLabel: '已发料数量', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + ], rules: { wantedDelDate: [ { required: true, message: '要求送货日期不能为空', trigger: 'blur' } @@ -747,7 +873,8 @@ export default { activeName: 'first', dataList: [], collectDataList: [], - modalFlag: false, + materialIssueDataList: [], + materialIssueDetailFlag: false, modalDisableFlag: false, autoReservationFlag: false, options: [], @@ -871,29 +998,31 @@ export default { }) }, - - saveData () { - let inData = { - site: this.$store.state.user.site, - userId: this.$store.state.user.id, - delPlace: this.modalData.DelPlace, - wantedDelDate: this.modalData.WantedDelDate, - remark: this.modalData.Remark, - supplierDeliveryScheduleList: this.modalData.SupplierDeliveryScheduleList, - createBy: this.$store.state.user.name, + searchDetailModal (row) { + this.materialIssueModalData = row + let tempData = { + site: row.site, + orderRef1: row.orderRef1, } - addSupplierDeliveryPlan(inData).then(({data}) => { + materialIssueSearch(tempData).then(({data}) => { if (data.code === 0) { - this.modalFlag = false - this.$message.success(data.msg) + this.materialIssueDataList = data.list } else { - this.$message.error(data.msg) + this.materialIssueDataList = [] } }) + this.materialIssueDetailFlag = true }, - handleSelectionChange(val) { - this.selectionList = val; + materialIssueDetailFlagClose () { + this.materialIssueModalData = { + site: '', + orderNo: '', + orderRef1: '', + partNo: '', + partDescription: '', + } + this.materialIssueDataList = [] }, // 每页数 diff --git a/src/views/modules/deliverySchedule/internalSupplierDeliverySchedule.vue b/src/views/modules/deliverySchedule/internalSupplierDeliverySchedule.vue index e61af8e..49455aa 100644 --- a/src/views/modules/deliverySchedule/internalSupplierDeliverySchedule.vue +++ b/src/views/modules/deliverySchedule/internalSupplierDeliverySchedule.vue @@ -71,14 +71,14 @@ - - - - - - - - + + + + + + + + 查询 删除 @@ -128,11 +128,12 @@ fixed="right" header-align="center" align="center" - width="100" + width="130" label="操作"> @@ -181,6 +182,48 @@ + + + + + + + + + + + + + + + + + + + + + + 关闭 + + + @@ -219,7 +262,8 @@ import { import { removeSupplierDeliveryPlan, searchSupplierDeliveryPlan, - updateSupplierDeliveryPlan + updateSupplierDeliveryPlan, + materialIssueSearch } from "../../../api/deliverySchedule/supplierDeliveryPlan"; import {getTableDefaultListLanguage, getTableUserListLanguage} from "../../../api/table"; import Chooselist from "../common/Chooselist.vue"; @@ -245,6 +289,13 @@ export default { lastDeliveryQty: '', remark: '', }, + materialIssueModalData: { + site: '', + orderNo: '', + orderRef1: '', + partNo: '', + partDescription: '', + }, // 导出 end searchData: { orderNo: '', @@ -663,6 +714,79 @@ export default { fixed: '', }, ], + columnMaterialIssueList: [ + { + userId: this.$store.state.user.name, + functionId: 109002, + serialNumber: '109002Table2ComponentPartNo', + tableId: "109002Table2", + tableName: "供应商送货计划信息表", + columnWidth: 150, + columnProp: 'componentPartNo', + headerAlign: 'center', + align: "left", + columnLabel: '料号', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + { + userId: this.$store.state.user.name, + functionId: 109002, + serialNumber: '109002Table2ComponentPartDesc', + tableId: "109002Table2", + tableName: "供应商送货计划信息表", + columnProp: 'componentPartDesc', + headerAlign: 'center', + align: "left", + columnLabel: '料号描述', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + { + userId: this.$store.state.user.name, + functionId: 109002, + serialNumber: '109002Table2QtyRequired', + tableId: "109002Table2", + tableName: "供应商送货计划信息表", + columnWidth: 110, + columnProp: 'qtyRequired', + headerAlign: 'center', + align: "right", + columnLabel: '需求数量', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + { + userId: this.$store.state.user.name, + functionId: 109002, + serialNumber: '109002Table2QtyIssued', + tableId: "109002Table2", + tableName: "供应商送货计划信息表", + columnWidth: 110, + columnProp: 'qtyIssue', + headerAlign: 'center', + align: "right", + columnLabel: '已发料数量', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + }, + ], rules: { wantedDelDate: [ { required: true, message: '要求送货日期不能为空', trigger: 'blur' } @@ -682,6 +806,8 @@ export default { totalPage: 0, height: 200, dataList: [], + materialIssueDataList: [], + materialIssueDetailFlag: false, modalFlag: false, modalDisableFlag: false, autoReservationFlag: false, @@ -910,6 +1036,33 @@ export default { } }, + searchDetailModal (row) { + this.materialIssueModalData = row + let tempData = { + site: row.site, + orderRef1: row.orderRef1, + } + materialIssueSearch(tempData).then(({data}) => { + if (data.code === 0) { + this.materialIssueDataList = data.list + } else { + this.materialIssueDataList = [] + } + }) + this.materialIssueDetailFlag = true + }, + + materialIssueDetailFlagClose () { + this.materialIssueModalData = { + site: '', + orderNo: '', + orderRef1: '', + partNo: '', + partDescription: '', + } + this.materialIssueDataList = [] + }, + // 每页数 sizeChangeHandle (val) { this.pageSize = val diff --git a/src/views/modules/deliverySchedule/supplierDeliverySchedule.vue b/src/views/modules/deliverySchedule/supplierDeliverySchedule.vue index ddf5f3a..3840ab2 100644 --- a/src/views/modules/deliverySchedule/supplierDeliverySchedule.vue +++ b/src/views/modules/deliverySchedule/supplierDeliverySchedule.vue @@ -68,6 +68,7 @@ + @@ -226,20 +227,24 @@ - + - - - - + + - + - + + + + + + + - + @@ -313,9 +318,6 @@ export default { Remark: '', SupplierDeliveryScheduleList: [], }, - autoReservationData: { - allotmentQty: '', - }, // 导出 end searchData: { site: this.$store.state.user.site, @@ -332,8 +334,13 @@ export default { partNo: '', partDescription: '', deliveryQty: '', - part: '', - supplier: '' + }, + autoReservationModalData: { + supplierID: '', + supplierName: '', + partNo: '', + partDescription: '', + allotmentQty: '', }, columnList: [ { @@ -914,16 +921,10 @@ export default { this.$message.error('没有订单数据无法自动预留,请检查查询条件是否正确!') return } - if(this.searchData.partNo === '' || this.searchData.partNo == null){ - this.searchData.part = this.searchData.partDescription - } else { - this.searchData.part = this.searchData.partNo - } - if(this.searchData.supplierID === '' || this.searchData.supplierID == null){ - this.searchData.supplier = this.searchData.supplierName - } else { - this.searchData.supplier = this.searchData.supplierID - } + this.autoReservationModalData.partNo = this.dataList[0].partNo + this.autoReservationModalData.partDescription = this.dataList[0].partDescription + this.autoReservationModalData.supplierID = this.dataList[0].supplierID + this.autoReservationModalData.supplierName = this.dataList[0].supplierName this.allotmentQtys = 0 this.dataList.forEach(item => { this.allotmentQtys += item.pendingQty @@ -933,7 +934,7 @@ export default { autoReservationInitiateHandler () { let inData = { - allotmentQty : this.autoReservationData.allotmentQty, + allotmentQty : this.autoReservationModalData.allotmentQty, autoReservationDataList : this.dataList } if (inData.allotmentQty === '' || inData.allotmentQty == null){ diff --git a/src/views/modules/performance/performanceIndicatorDefinition.vue b/src/views/modules/performance/performanceIndicatorDefinition.vue index 6604195..93093ad 100644 --- a/src/views/modules/performance/performanceIndicatorDefinition.vue +++ b/src/views/modules/performance/performanceIndicatorDefinition.vue @@ -79,7 +79,7 @@ fixed="right" header-align="center" align="center" - width="160" + width="100" label="操作">