From 85a5e415a9f5534551809564ce5e7ea38430377f Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期一, 18 三月 2024 15:25:11 +0800 Subject: [PATCH] 销售明细单添加发货,添加采购信息和委外信息,调整列表字段 --- src/views/sales/salesDetails/index.vue | 229 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 198 insertions(+), 31 deletions(-) diff --git a/src/views/sales/salesDetails/index.vue b/src/views/sales/salesDetails/index.vue index d57155c..719169e 100644 --- a/src/views/sales/salesDetails/index.vue +++ b/src/views/sales/salesDetails/index.vue @@ -47,6 +47,9 @@ <!-- <el-button @click="delClick(scope.row.id)" type="text" size="small">鍒犻櫎</el-button> --> <el-button @click.stop="closeClick(scope.row)" type="text" size="small">鍏抽棴</el-button> </template> + <template v-if="scope.row.status === 3||scope.row.status === 4"> + <el-button @click.stop="shipmentsClick(scope.row)" type="text" size="small">鍙戣揣</el-button> + </template> </template> </el-table-column> </template> @@ -98,6 +101,16 @@ > 閲囪喘淇℃伅 </div> + <div + class="tab-pane" + @click="getTab(4)" + :style="{ + background: TabsIndex == 4 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 4 ? '#fff' : '#666' + }" + > + 濮斿淇℃伅 + </div> </div> <div class="list-view"> <TableCommonView :loading="loading" :table-list="productTableList" @selTableCol="selBottomTableCol"> @@ -138,6 +151,12 @@ :edit-common-config="editConfig" @addCollectionPlanClick="addCollectionPlanClick" /> + <!-- 鍙戣揣 --> + <ShipmentsDialog + v-if="editShipmentsConfig.visible" + :edit-common-config="editShipmentsConfig" + @addCollectionPlanClick="addCollectionPlanClick" + /> <!-- 閿�鍞槑缁嗚鎯� --> <DetailSpecification v-if="specificationDetail.visible" :specification-detail="specificationDetail" /> <!-- 瀹㈡埛璇︽儏 --> @@ -149,6 +168,7 @@ <script> import AddSalesDetailsDialog from "@/views/sales/salesDetails/AddSalesDetailsDialog" +import ShipmentsDialog from "@/views/sales/salesDetails/shipmentsDialog" import { getSalesDetailsList, getDelSalesDetails, @@ -179,6 +199,7 @@ mixins: [pageMixin], components: { AddSalesDetailsDialog, + ShipmentsDialog, DetailSpecification, DetailClientManage: () => import("@/views/client/client/DetailClientManage"), AddCollectionPlan @@ -191,34 +212,46 @@ data() { // 浜у搧淇℃伅 const productColumn = [ - { label: "浜у搧缂栧彿", prop: "number", default: true }, - { label: "浜у搧鍚嶇О", prop: "name" }, - { label: "鏁伴噺", prop: "amount" }, + { label: "浜у搧缂栧彿", prop: "productId", default: true }, + { label: "浜у搧鍚嶇О", prop: "productName" }, + { label: "浜у搧瑙勬牸", prop: "specs" }, { label: "鍗曚綅", prop: "unit" }, + { label: "璁㈠崟鏁伴噺", prop: "amount" }, + { label: "宸插畬鎴愭暟閲�", prop: "finishAmount" }, + { label: "宸插彂璐ф暟閲�", prop: "deliveryAmount" }, + { label: "閲囪喘鏁伴噺", prop: "purchaseAmount" }, + { label: "鐢熶骇鏁伴噺", prop: "makeAmount" }, + { label: "濮斿鏁伴噺", prop: "outsourcingAmount" }, { label: "閿�鍞崟浠�", prop: "price", price: true }, { label: "鎴愭湰鍗曚环", prop: "cost" }, { label: "姣涘埄", prop: "profit" }, { label: "姣涘埄鐜�(%)", prop: "margin" }, { label: "浠风◣鍚堣", prop: "total", price: true } ] - // 搴撳瓨淇℃伅 + // 鍙戣揣淇℃伅 const inventoryColumn = [ + { label: "鍑哄簱鍗�", prop: "invoice" }, + { label: "浠撳簱", prop: "warehouse" }, { label: "浜у搧缂栧彿", prop: "number", default: true }, { label: "浜у搧鍚嶇О", prop: "name" }, + { label: "浜у搧瑙勬牸", prop: "specs" }, + { label: "浜у搧鍗曚綅", prop: "unit" }, + { label: "鍙戣揣鏁伴噺", prop: "amount" }, { label: "璁㈠崟鏁伴噺", prop: "orderAmount" }, - { label: "鍙戣揣鍗�", prop: "invoice" }, { label: "鎵胯繍鍟�", prop: "carrier" }, { label: "杩愬崟鍙�", prop: "waybill" }, - { label: "浠撳簱", prop: "warehouse" }, - { label: "鍦ㄥ簱鏁伴噺", prop: "amount" }, - { label: "鍙敤搴撳瓨", prop: "availableNumber" }, - { label: "鍗曚綅", prop: "unit" } + { label: "鍒涘缓鏃堕棿", prop: "warehouse" }, + { label: "鐘舵��", prop: "status" }, ] // 鍒堕�犱俊鎭� const makeColumn = [ { label: "鐢熶骇璁㈠崟", prop: "orderId", default: true }, + { label: "浜у搧缂栧彿", prop: "productId" }, { label: "浜у搧鍚嶇О", prop: "productName" }, - { label: "璁㈠崟鐘舵��", prop: "orderStatus" }, + { label: "浜у搧瑙勬牸", prop: "specs" }, + { label: "浜у搧鍗曚綅", prop: "unit" }, + { label: "璁㈠崟鏁伴噺", prop: "amount" }, + { label: "瀹屾垚鏁伴噺", prop: "finishAmount" }, { label: "宸ュ崟缂栧彿", prop: "workOrderId" }, { label: "宸ュ崟鐘舵��", prop: "workOrderStatus" }, { label: "璁″垝寮�濮嬫椂闂�", prop: "startTime" }, @@ -232,6 +265,36 @@ default: true }, { + label: "浜у搧缂栧彿", + prop: "productId", + default: true + }, + { + label: "浜у搧鍚嶇О", + prop: "productName", + default: true + }, + { + label: "浜у搧瑙勬牸", + prop: "specs", + default: true + }, + { + label: "浜у搧鍗曚綅", + prop: "unit", + default: true + }, + { + label: "璁″垝閲囪喘閲�", + prop: "amount", + default: true + }, + { + label: "瀹屾垚閲囪喘閲�", + prop: "finishAmount", + default: true + }, + { label: "閲囪喘鍗曞悕绉�", prop: "purchaseName" }, @@ -239,16 +302,74 @@ label: "渚涘簲鍟嗗悕绉�", prop: "supplierName" }, - { - label: "閲囪喘鏁伴噺", - prop: "amount" - }, + // { + // label: "閲囪喘鏁伴噺", + // prop: "amount" + // }, { label: "鐘舵��", prop: "status", isCallMethod: true, getCallMethod: this.getpurchaseStatus } + ] + // 濮斿 + const outsourceColumn = [ + { + label: "濮斿璁㈠崟", + prop: "outsourcingId", + default: true + }, + { + label: "浜у搧缂栧彿", + prop: "productId", + default: true + }, + { + label: "浜у搧鍚嶇О", + prop: "productName", + default: true + }, + { + label: "浜у搧瑙勬牸", + prop: "specs", + default: true + }, + { + label: "浜у搧鍗曚綅", + prop: "unit", + default: true + }, + { + label: "濮斿鏁伴噺", + prop: "amount", + default: true + }, + { + label: "瀹屾垚鏁伴噺", + prop: "finishAmount", + default: true + }, + { + label: "璁㈠崟鐘舵��", + prop: "status", + default: true + }, + { + label: "濮斿渚涘簲鍟�", + prop: "supplierName", + default: true + }, + { + label: "绛剧害鏃ユ湡", + prop: "startTime", + default: true + }, + { + label: "浜や粯鏃ユ湡", + prop: "endTime", + default: true + }, ] return { tableList: {}, @@ -257,6 +378,15 @@ visible: false, title: "鏂板缓", infomation: {} + }, + editShipmentsConfig:{ + visible: false, + title: "鏂板缓", + infomation: { + saleDetailID:null, + saleDetailNumber:null, + + } }, showSummary: { show: false, @@ -309,25 +439,29 @@ TabsIndex: "0", productTableList: {}, productColumn: productColumn, - showProductCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О", "鏁伴噺", "鍗曚綅", "閿�鍞崟浠�", "鎴愭湰鍗曚环", "姣涘埄", "姣涘埄鐜�(%)", "浠风◣鍚堣"], + showProductCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О","浜у搧瑙勬牸", "鍗曚綅", "璁㈠崟鏁伴噺", "宸插畬鎴愭暟閲�", "宸插彂璐ф暟閲�", "閲囪喘鏁伴噺", "鐢熶骇鏁伴噺", "濮斿鏁伴噺","閿�鍞崟浠�","鎴愭湰鍗曚环","姣涘埄","姣涘埄鐜�","浠风◣鍚堣"], inventoryColumn: inventoryColumn, showInventoryCol: [ + "鍑哄簱鍗�", + "浠撳簱", "浜у搧缂栧彿", "浜у搧鍚嶇О", + "浜у搧瑙勬牸", + "浜у搧鍗曚綅", + "鍙戣揣鏁伴噺", "璁㈠崟鏁伴噺", - "鍙戣揣鍗�", "鎵胯繍鍟�", "杩愬崟鍙�", - "浠撳簱", - "鍦ㄥ簱鏁伴噺", - "鍙敤搴撳瓨", - "鍗曚綅" + "鍒涘缓鏃堕棿", + "鐘舵��" ], makeColumn: makeColumn, showMakeCol: ["鐢熶骇璁㈠崟", "浜у搧鍚嶇О", "璁㈠崟鐘舵��", "宸ュ崟缂栧彿", "宸ュ崟鐘舵��", "璁″垝寮�濮嬫椂闂�", "璁″垝缁撴潫鏃堕棿"], // 閲囪喘 purchaseColumn: purchaseColumn, - showPurchaseCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鐘舵��"], + outsourceColumn:outsourceColumn, + showPurchaseCol: ["閲囪喘鍗曞彿", "浜у搧缂栧彿", "浜у搧鍚嶇О", "浜у搧瑙勬牸", "浜у搧鍗曚綅","璁″垝閲囪喘閲�","瀹屾垚閲囪喘閲�","閲囪喘鍗曞悕绉�","渚涘簲鍟嗗悕绉�","鐘舵��"], + showOutsourceCol:["濮斿璁㈠崟", "浜у搧缂栧彿", "浜у搧鍚嶇О", "浜у搧瑙勬牸", "浜у搧鍗曚綅","濮斿鏁伴噺","瀹屾垚鏁伴噺","璁㈠崟鐘舵��","濮斿渚涘簲鍟�","绛剧害鏃ユ湡","浜や粯鏃ユ湡"], selectRow: {}, projectList: [], projectListShow: false, @@ -486,7 +620,14 @@ // 鑾峰彇浜у搧/搴撳瓨淇℃伅 async getProductInventoryInfo(row) { if (this.TabsIndex == 0 || row.status == 1) { - this.productTableList.tableInfomation = row.products || [] + this.getProductOrderInfo(row) + // row.products.map((item)=>{ + // item.purchaseAmount=item.purchaseFinishAmount+"/"+item.purchaseAmount + // item.makeAmount=item.makeFinishAmount+"/"+item.makeAmount + // item.outsourcingAmount=item.outsourcingFinishAmount+"/"+item.outsourcingAmount + + // }) + // this.productTableList.tableInfomation = row.products || [] } else { if (row.number) { this.loading = true @@ -508,10 +649,23 @@ this.loading = true await getProductOrderInfo(number) .then((res) => { - if (this.TabsIndex == 3) { - this.productTableList.tableInfomation = res.data && res.data.purchaseInfo ? res.data.purchaseInfo : [] - } else { + if (this.TabsIndex == 0) { + if(res&&res.data){ + res.data.productInfo.map((item=>{ + item.purchaseAmount=item.purchaseFinishAmount+"/"+item.purchaseAmount + item.makeAmount=item.makeFinishAmount+"/"+item.makeAmount + item.outsourcingAmount=item.outsourcingFinishAmount+"/"+item.outsourcingAmount + })) + } + this.productTableList.tableInfomation = res.data && res.data.productInfo ? res.data.productInfo : [] + } else if (this.TabsIndex == 1) { + this.productTableList.tableInfomation = res.data ? res.data : [] + } else if (this.TabsIndex == 2) { this.productTableList.tableInfomation = res.data && res.data.makeInfo ? res.data.makeInfo : [] + } else if (this.TabsIndex == 3) { + this.productTableList.tableInfomation = res.data && res.data.purchaseInfo ? res.data.purchaseInfo : [] + } else if(this.TabsIndex == 4) { + this.productTableList.tableInfomation = res.data && res.data.outsourcingInfo ? res.data.outsourcingInfo : [] } this.loading = false }) @@ -574,6 +728,13 @@ } }) } + }, + // 鍙戣揣 + shipmentsClick(row){ + this.editShipmentsConfig.visible=true + this.editShipmentsConfig.infomation.saleDetailID=row.id + this.editShipmentsConfig.infomation.saleDetailNumber=row.number + this.editShipmentsConfig.infomation.projectId=row.projectId }, // 鍏抽棴 closeClick(row) { @@ -653,12 +814,12 @@ this.TabsIndex = tab if (this.TabsIndex == 0) { // 浜у搧淇℃伅鍒楄〃 - this.tableBottomColumn = this.productColumn - this.showBottomCol = this.showProductCol + this.tableBottomColumn = this.productColumn // 琛ㄥご + this.showBottomCol = this.showProductCol // 鍔ㄦ�佽〃澶� this.setBottomList() - this.getProductInventoryInfo(this.selectRow) + this.getProductInventoryInfo(this.selectRow.number) } else if (this.TabsIndex == 1) { - // 搴撳瓨淇℃伅鍒楄〃 + // 鍙戣揣淇℃伅鍒楄〃 this.tableBottomColumn = this.inventoryColumn this.showBottomCol = this.showInventoryCol this.setBottomList() @@ -679,17 +840,23 @@ this.showBottomCol = this.showPurchaseCol this.setBottomList() this.getProductOrderInfo(this.selectRow.number) + }if (this.TabsIndex == 4) { + // 濮斿淇℃伅鍒楄〃 + this.tableBottomColumn = this.outsourceColumn + this.showBottomCol = this.showOutsourceCol + this.setBottomList() + this.getProductOrderInfo(this.selectRow.number) } }, // 鐘舵�� getStatus(val) { - return val === 1 ? "寰呯‘璁�" : val === 2 ? "寰呭嚭搴�" : val === 3 ? "鍑哄簱瀹屾垚" : val === 4 ? "宸插叧闂�" : "--" + return val === 1 ? "寰呯‘璁�" : val === 2 ? "寰呭嚭搴�" : val === 3 ? "澶囪揣涓�" : val === 4 ? "寰呭嚭搴�" : val === 5 ? "鍑哄簱瀹屾垚" : val=== 6 ? "宸插叧闂�": "--" }, // top 琛岀偣鍑� tableRowClick(row) { this.selectRow = row if (this.TabsIndex == 0) { - this.getProductInventoryInfo(this.selectRow) + this.getProductInventoryInfo(this.selectRow.number) } else if (this.TabsIndex == 1) { if (this.selectRow.status == 1) { this.productTableList.tableInfomation = [] -- Gitblit v1.8.0