From d4f4c52402b91cb8e17c1845da71c5e39662fde0 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 03 一月 2024 15:28:06 +0800 Subject: [PATCH] 销售报价单列表页增加统计内容及接口联调、添加报价单天天客户名称及对应限制功能 --- src/views/sales/salesDetails/index.vue | 169 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 104 insertions(+), 65 deletions(-) diff --git a/src/views/sales/salesDetails/index.vue b/src/views/sales/salesDetails/index.vue index 7f6b45f..e88abf1 100644 --- a/src/views/sales/salesDetails/index.vue +++ b/src/views/sales/salesDetails/index.vue @@ -62,8 +62,8 @@ class="tab-pane" @click="getTab(0)" :style="{ - background: TabsIndex==0 ? '#2a78fb' : '#F1F3F8', - color: TabsIndex==0 ? '#fff' : '#666' + background: TabsIndex == 0 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 0 ? '#fff' : '#666' }" > 浜у搧淇℃伅 @@ -72,18 +72,18 @@ class="tab-pane" @click="getTab(1)" :style="{ - background: TabsIndex==1 ? '#2a78fb' : '#F1F3F8', - color: TabsIndex==1 ? '#fff' : '#666' + background: TabsIndex == 1 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 1 ? '#fff' : '#666' }" > - 搴撳瓨淇℃伅 + 鍙戣揣淇℃伅 </div> <div class="tab-pane" @click="getTab(2)" :style="{ - background: TabsIndex==2 ? '#2a78fb' : '#F1F3F8', - color: TabsIndex==2 ? '#fff' : '#666' + background: TabsIndex == 2 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 2 ? '#fff' : '#666' }" > 鍒堕�犱俊鎭� @@ -92,8 +92,8 @@ class="tab-pane" @click="getTab(3)" :style="{ - background: TabsIndex==3 ? '#2a78fb' : '#F1F3F8', - color: TabsIndex==3 ? '#fff' : '#666' + background: TabsIndex == 3 ? '#2a78fb' : '#F1F3F8', + color: TabsIndex == 3 ? '#fff' : '#666' }" > 閲囪喘淇℃伅 @@ -195,17 +195,20 @@ { label: "浜у搧鍚嶇О", prop: "name" }, { label: "鏁伴噺", prop: "amount" }, { label: "鍗曚綅", prop: "unit" }, - { label: "鍙戣揣鍗�", prop: "invoice" }, - { label: "鎵胯繍鍟�", prop: "carrier" }, - { label: "杩愬崟鍙�", prop: "waybillNumber" }, { label: "閿�鍞崟浠�", prop: "salePrice", price: true }, - { label: "浠风◣鍚堣", prop: "valorem", price: true } + { label: "鎴愭湰鍗曚环", prop: "cost" }, + { label: "姣涘埄", prop: "profit" }, + { label: "姣涘埄鐜�(%)", prop: "margin" }, + { label: "浠风◣鍚堣", prop: "total", price: true } ] // 搴撳瓨淇℃伅 const inventoryColumn = [ { label: "浜у搧缂栧彿", prop: "number", default: true }, { label: "浜у搧鍚嶇О", prop: "name" }, { label: "璁㈠崟鏁伴噺", prop: "orderAmount" }, + { label: "鍙戣揣鍗�", prop: "invoice" }, + { label: "鎵胯繍鍟�", prop: "carrier" }, + { label: "杩愬崟鍙�", prop: "waybill" }, { label: "浠撳簱", prop: "warehouse" }, { label: "鍦ㄥ簱鏁伴噺", prop: "amount" }, { label: "鍙敤搴撳瓨", prop: "availableNumber" }, @@ -222,31 +225,31 @@ { label: "璁″垝缁撴潫鏃堕棿", prop: "endTime" } ] // 閲囪喘淇℃伅 - const purchaseColumn=[ - { - label: "閲囪喘鍗曞彿", - prop: "purchaseNumber", - default: true - }, - { - label: "閲囪喘鍗曞悕绉�", - prop: "purchaseName", - }, - { - label: "渚涘簲鍟嗗悕绉�", - prop: "supplierName", - }, - { - label: "閲囪喘鏁伴噺", - prop: "amount", - }, - { - label: "鐘舵��", - prop: "status", - isCallMethod: true, - getCallMethod: this.getpurchaseStatus, - }, - ]; + const purchaseColumn = [ + { + label: "閲囪喘鍗曞彿", + prop: "purchaseNumber", + default: true + }, + { + label: "閲囪喘鍗曞悕绉�", + prop: "purchaseName" + }, + { + label: "渚涘簲鍟嗗悕绉�", + prop: "supplierName" + }, + { + label: "閲囪喘鏁伴噺", + prop: "amount" + }, + { + label: "鐘舵��", + prop: "status", + isCallMethod: true, + getCallMethod: this.getpurchaseStatus + } + ] return { tableList: {}, searchOptions: [], @@ -306,14 +309,25 @@ TabsIndex: "0", productTableList: {}, productColumn: productColumn, - showProductCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О", "鏁伴噺", "鍗曚綅", "鍙戣揣鍗�", "鎵胯繍鍟�", "杩愬崟鍙�", "閿�鍞崟浠�", "浠风◣鍚堣"], + showProductCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О", "鏁伴噺", "鍗曚綅", "閿�鍞崟浠�", "鎴愭湰鍗曚环", "姣涘埄", "姣涘埄鐜�(%)", "浠风◣鍚堣"], inventoryColumn: inventoryColumn, - showInventoryCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О", "璁㈠崟鏁伴噺", "浠撳簱", "鍦ㄥ簱鏁伴噺", "鍙敤搴撳瓨", "鍗曚綅"], + showInventoryCol: [ + "浜у搧缂栧彿", + "浜у搧鍚嶇О", + "璁㈠崟鏁伴噺", + "鍙戣揣鍗�", + "鎵胯繍鍟�", + "杩愬崟鍙�", + "浠撳簱", + "鍦ㄥ簱鏁伴噺", + "鍙敤搴撳瓨", + "鍗曚綅" + ], makeColumn: makeColumn, showMakeCol: ["鐢熶骇璁㈠崟", "浜у搧鍚嶇О", "璁㈠崟鐘舵��", "宸ュ崟缂栧彿", "宸ュ崟鐘舵��", "璁″垝寮�濮嬫椂闂�", "璁″垝缁撴潫鏃堕棿"], // 閲囪喘 purchaseColumn: purchaseColumn, - showPurchaseCol: ['閲囪喘鍗曞彿','閲囪喘鍗曞悕绉�',"渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鐘舵��"], + showPurchaseCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鐘舵��"], selectRow: {}, projectList: [], projectListShow: false, @@ -325,6 +339,7 @@ projectId: [{ required: true, message: "璇烽�夋嫨椤圭洰", trigger: "change" }] }, purchaseStatusList: getDataByType("purchaseStatus"), + loading: false } }, created() { @@ -344,11 +359,11 @@ if (val) { for (let i in this.purchaseStatusList) { if (this.purchaseStatusList[i].id == val) { - return this.purchaseStatusList[i].name; + return this.purchaseStatusList[i].name } } } else { - return "--"; + return "--" } }, setTable() { @@ -407,7 +422,6 @@ }, // 璇锋眰鏁版嵁 async getData() { - this.loading = true let params = {} console.log(this.addConfig) if (this.addConfig.keywordType === "瀹㈡埛鍚嶇О") { @@ -436,9 +450,9 @@ pageSize: this.pagerOptions.pageSize } } + this.loading = true await getSalesDetailsList(params) .then((res) => { - console.log(res) if (res.code === 200) { if (res.data.list && res.data.list.length > 0) { const list = res.data.list.map((item) => { @@ -453,8 +467,7 @@ this.pagerOptions.totalCount = res.data.count if (res.data.count > 0) { this.selectRow = this.tableList.tableInfomation.length > 0 ? this.tableList.tableInfomation[0] : {} - let row = this.tableList.tableInfomation[0] - this.getProductInventoryInfo(row) + this.tableRowClick(this.selectRow) } } else { this.tableList.tableInfomation = [] @@ -472,21 +485,41 @@ }, // 鑾峰彇浜у搧/搴撳瓨淇℃伅 async getProductInventoryInfo(row) { - if (row.status === 1) { + if (this.TabsIndex == 0 || row.status == 1) { this.productTableList.tableInfomation = row.products || [] } else { - await getProductInventoryInfo(row.number).then((res) => { - console.log(res) - this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : [] - }) + if (row.number) { + this.loading = true + await getProductInventoryInfo(row.number) + .then((res) => { + this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : [] + this.loading = false + }) + .catch(() => { + this.productTableList.tableInfomation = [] + this.loading = false + }) + } } }, // 鑾峰彇鍒堕�犱俊鎭� async getProductOrderInfo(number) { - await getProductOrderInfo(number).then((res) => { - console.log(res) - this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : [] - }) + if (number) { + this.loading = true + await getProductOrderInfo(number) + .then((res) => { + if (this.TabsIndex == 3) { + this.productTableList.tableInfomation = res.data && res.data.purchaseInfo ? res.data.purchaseInfo : [] + } else { + this.productTableList.tableInfomation = res.data && res.data.makeInfo ? res.data.makeInfo : [] + } + this.loading = false + }) + .catch(() => { + this.productTableList.tableInfomation = [] + this.loading = false + }) + } }, // 鎼滅储 onFilterSearch(searchText) { @@ -511,7 +544,7 @@ }, // 鏌ョ湅 缂栬緫 handleClick(row, title) { - let params = JSON.parse(JSON.stringify(row)); + let params = JSON.parse(JSON.stringify(row)) this.editConfig.title = title this.editConfig.infomation = { ...params, @@ -628,7 +661,11 @@ this.tableBottomColumn = this.inventoryColumn this.showBottomCol = this.showInventoryCol this.setBottomList() - this.getProductInventoryInfo(this.selectRow) + if (this.selectRow.status == 1) { + this.productTableList.tableInfomation = [] + } else { + this.getProductInventoryInfo(this.selectRow) + } } else if (this.TabsIndex == 2) { // 鍒堕�犱俊鎭垪琛� this.tableBottomColumn = this.makeColumn @@ -640,7 +677,7 @@ this.tableBottomColumn = this.purchaseColumn this.showBottomCol = this.showPurchaseCol this.setBottomList() - // this.getProductOrderInfo(this.selectRow.number) + this.getProductOrderInfo(this.selectRow.number) } }, // 鐘舵�� @@ -648,16 +685,19 @@ return val === 1 ? "寰呯‘璁�" : val === 2 ? "寰呭嚭搴�" : val === 3 ? "鍑哄簱瀹屾垚" : val === 4 ? "宸插叧闂�" : "--" }, // top 琛岀偣鍑� - tableRowClick(row, column, event) { - console.log(row, column, event) + tableRowClick(row) { this.selectRow = row if (this.TabsIndex == 0) { this.getProductInventoryInfo(this.selectRow) } else if (this.TabsIndex == 1) { - this.getProductInventoryInfo(this.selectRow) + if (this.selectRow.status == 1) { + this.productTableList.tableInfomation = [] + } else { + this.getProductInventoryInfo(this.selectRow) + } } else if (this.TabsIndex == 2) { this.getProductOrderInfo(this.selectRow.number) - }else if(this.TabsIndex == 3) { + } else if (this.TabsIndex == 3) { // 閲囪喘淇℃伅 this.getProductOrderInfo(this.selectRow.number) } @@ -668,8 +708,7 @@ page: 1, pageSize: 100 }).then((res) => { - console.log(res.data, "椤圭洰鍒楄〃淇℃伅") - this.projectList = res.data + this.projectList = res.data ? res.data : [] }) }, handleClose(done) { -- Gitblit v1.8.0