From 17816296ced79718931ae694b0e635f278495229 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 27 二月 2024 17:18:37 +0800 Subject: [PATCH] 销售报价单列表增加报价名称,客户名称,业务机会,报价单状态,合计 --- src/views/other/commonDialog/SelectCommonDialog.vue | 132 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 117 insertions(+), 15 deletions(-) diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue index 4ea3c14..237f33b 100644 --- a/src/views/other/commonDialog/SelectCommonDialog.vue +++ b/src/views/other/commonDialog/SelectCommonDialog.vue @@ -29,11 +29,13 @@ </div> </div> <TableCommonView + class="bg-list" ref="tableListRef" :table-list="tableList" - :select-box="false" + :select-box="editCommonConfig.isSelectBox" @selCommonClick="selNameClick" @selTableCol="selTableCol" + @getSelectArray="getSelectArray" > </TableCommonView> <div slot="footer" class="dialog-footer"> @@ -42,6 +44,10 @@ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> </div> </div> + </div> + <div slot="footer" class="dialog-footer" v-if="editCommonConfig.isSelectBox"> + <el-button type="primary" size="small" @click="saveClick()">纭畾</el-button> + <el-button size="small" @click="editConfig.editVisible = false">鍙栨秷</el-button> </div> </el-dialog> </div> @@ -55,6 +61,7 @@ import { getServiceOrderList } from "@/api/serviceManage/clientServiceOrder" import { getProductList } from "@/api/common/other" import { getSalesReturnList } from "@/api/sales/salesReturn" +import { getSubOrderList } from "@/api/sales/subOrder" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" export default { name: "EditSelCommonDialog", @@ -65,12 +72,20 @@ default: () => { return { editVisible: false, + isSelectBox:false, title: "", clientId: 0, + isRequest:true, + client_name: "", tableInfomation: [] } } - } + }, + // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝� + quotationNumber:{ + type:[String,Number], + default:'' + }, }, components: {}, computed: {}, @@ -90,13 +105,16 @@ keyword: "", keywordType: "", tableColumn: [], - showCol: [] + showCol: [], + selectArray:[], } }, created() { this.search_map = { client_id: this.editConfig.clientId } + this.keyword = this.editConfig.client_name + this.keywordType = "瀹㈡埛鍚嶇О" this.setTable() this.getData() }, @@ -154,11 +172,17 @@ } else if (this.editConfig.title === "鎶ヤ环鍗�") { this.tableColumn = [ { label: "鎶ヤ环鍗曞彿", prop: "number", isClick: true, default: true }, // 鎶ヤ环鍗曞彿 - { label: "閿�鍞礋璐d汉", prop: "member_name" } // 閿�鍞礋璐d汉 + { label: "鎶ヤ环鍚嶇О", prop: "quotationName" }, + { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉 + { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, + { label: "鎵�灞炰笟鍔℃満浼�", prop: "sale_chance_name" }, + { label: "鎶ヤ环鍗曠姸鎬�", prop: "quotationStatus" }, + { label: "鍚堣", prop: "amountTotal" }, ] - this.showCol = ["鎶ヤ环鍗曞彿", "閿�鍞礋璐d汉"] + this.showCol = ["鎶ヤ环鍗曞彿","鎶ヤ环鍚嶇О","閿�鍞礋璐d汉",'瀹㈡埛鍚嶇О','鎵�灞炰笟鍔℃満浼�','鎶ヤ环鍗曠姸鎬�','鍚堣'] this.tableList = { selectIndex: true, + tableInfomation: [], allcol: [], showcol: this.showCol, @@ -186,10 +210,12 @@ this.searchSel = { value: "serviceNumber", label: "鏈嶅姟鍗曠紪鍙�" } } else if (this.editConfig.title === "浜у搧鍚嶇О") { this.tableColumn = [ - { label: "浜у搧鍚嶇О", prop: "name", isClick: true, default: true }, // 浜у搧鍚嶇О - { label: "浜у搧缂栧彿", prop: "number" } + { label: "浜у搧鍚嶇О", prop: "name", isClick: this.editCommonConfig.isSelectBox?false:true, default: true }, // 浜у搧鍚嶇О + { label: "浜у搧缂栧彿", prop: "number" }, + { label: "瑙勬牸", prop: "specs" }, + { label: "鍨嬪彿", prop: "type" } ] - this.showCol = ["浜у搧鍚嶇О", "浜у搧缂栧彿"] + this.showCol = ["浜у搧鍚嶇О", "浜у搧缂栧彿",'瑙勬牸','鍨嬪彿'] this.tableList = { selectIndex: true, tableInfomation: [], @@ -214,6 +240,20 @@ tableColumn: this.setColumnVisible(this.showCol) } this.searchSel = { value: "number", label: "閿�鍞��璐у崟缂栧彿" } + } else if (this.editConfig.title === "閿�鍞瓙鍗�") { + this.tableColumn = [ + { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true, default: true }, // 鍗曟嵁缂栧彿 + { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜� + ] + this.showCol = ["鍗曟嵁缂栧彿", "璐熻矗浜�"] + this.tableList = { + selectIndex: true, + tableInfomation: [], + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) + } + this.searchSel = { value: "number", label: "鍗曟嵁缂栧彿" } } this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label) this.searchOptions = [] @@ -235,6 +275,14 @@ this.showcol = val this.tableList.tableColumn = this.setColumnVisible(val) }, + // 鍒楄〃澶氶�� + getSelectArray(val){ + this.selectArray=val; + }, + saveClick(){ + this.$emit('getSelectArray',this.selectArray) + this.editConfig.editVisible = false + }, // 璇锋眰鏁版嵁 async getData() { this.loading = true @@ -252,6 +300,8 @@ this.getProductList() } else if (this.editConfig.title === "閿�鍞��璐у崟") { this.getSalesReturnList() + } else if (this.editConfig.title === "閿�鍞瓙鍗�") { + this.getSubOrderList() } }, // 閿�鍞�诲崟 @@ -307,6 +357,19 @@ }, // 鎶ヤ环鍗� async getQuotationList() { + if(!this.editConfig.isRequest){ + this.tableList.tableInfomation =this.editConfig.tableInfomation.map((item) => { + return { + ...item, + client_name: item.client.name, + sale_chance_name: item.sale_chance.name, + member_name: item.member.username, + quotationStatus: item.quotation_status.name + } + }) + this.pagerOptions.totalCount =this.editConfig.count?this.editConfig.count:0 + return true; + } await getQuotationList({ search_map: this.search_map, page: this.pagerOptions.currPage, @@ -317,7 +380,10 @@ const list = res.data.list.map((item) => { return { ...item, - member_name: item.member.username + client_name: item.client.name, + sale_chance_name: item.sale_chance.name, + member_name: item.member.username, + quotationStatus: item.quotation_status.name } }) this.tableList.tableInfomation = list || [] @@ -332,8 +398,7 @@ // 閿�鍞槑缁嗗崟 async getSalesDetailsList() { await getSalesDetailsList({ - keyword: this.keyword, - keywordType: this.keywordType, + clientId:Number(this.editCommonConfig.clientId), page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize }).then((res) => { @@ -388,12 +453,17 @@ }, // 浜у搧鍚嶇О async getProductList() { - await getProductList({ + let params={ productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "", productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "", page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize - }).then((res) => { + } + // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝� + if(this.quotationNumber){ + params.quotationNumber=this.quotationNumber + } + await getProductList(params).then((res) => { console.log(res.data) if (res.code === 200) { if (res.data.data && res.data.data.length > 0) { @@ -413,8 +483,7 @@ }, async getSalesReturnList() { await getSalesReturnList({ - keyword: this.keyword, - keywordType: this.keywordType, + clientId:Number(this.editCommonConfig.clientId), page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize }).then((res) => { @@ -435,10 +504,37 @@ this.loading = false }) }, + // 閿�鍞瓙鍗� + async getSubOrderList() { + await getSubOrderList({ + search_map: this.search_map, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }).then((res) => { + if (res.code === 200) { + if (res.data.list && res.data.list.length > 0) { + const list = res.data.list.map((item) => { + return { + ...item, + member_name: item.member.username + } + }) + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, handleClose() { this.editConfig.editVisible = false }, selNameClick(row) { + if(this.editCommonConfig.isSelectBox){ + return true; + } this.editConfig.editVisible = false if (this.editConfig.title === "閿�鍞�诲崟") { this.$emit("selClient", row, "master") @@ -454,6 +550,8 @@ this.$emit("selClient", row, "productName") } else if (this.editConfig.title === "閿�鍞��璐у崟") { this.$emit("selClient", row, "salesReturn") + } else if (this.editConfig.title === "閿�鍞瓙鍗�") { + this.$emit("selClient", row, "subbill") } }, // 鎼滅储 @@ -480,6 +578,9 @@ <style lang="scss" scoped> .bg-view { margin: 10px; + .bg-list{ + min-height:370px; + } .query-bg { margin-left: -20px; margin-bottom: 10px; @@ -491,6 +592,7 @@ width: 100px; } } + .btn { float: right; } -- Gitblit v1.8.0