From 0026b3725127be9b0ec5ab2ec6b05181ccb2997f Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 28 二月 2024 15:49:16 +0800 Subject: [PATCH] 报价单-产品管理-添加、删除、编辑等产品数据处理和保存产品校验和数据处理 --- src/views/other/commonDialog/SelectCommonDialog.vue | 94 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 80 insertions(+), 14 deletions(-) diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue index 3df5f0c..3603f67 100644 --- a/src/views/other/commonDialog/SelectCommonDialog.vue +++ b/src/views/other/commonDialog/SelectCommonDialog.vue @@ -29,11 +29,14 @@ </div> </div> <TableCommonView + class="bg-list" ref="tableListRef" :table-list="tableList" - :select-box="false" + :select-box="editCommonConfig.isSelectBox" + :selectBoxList="selectBoxList" @selCommonClick="selNameClick" @selTableCol="selTableCol" + @getSelectArray="getSelectArray" > </TableCommonView> <div slot="footer" class="dialog-footer"> @@ -42,6 +45,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> @@ -66,11 +73,23 @@ default: () => { return { editVisible: false, + isSelectBox: false, title: "", clientId: 0, + isRequest: true, + client_name: "", tableInfomation: [] } } + }, + // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝� + quotationNumber: { + type: [String, Number], + default: "" + }, + selectBoxList: { + type: Array, + default: () => [] } }, components: {}, @@ -91,13 +110,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() }, @@ -155,11 +177,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, @@ -187,10 +215,14 @@ 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: "price" }, + { label: "鍗曚綅", prop: "unit" }, + { label: "浜у搧瑙勬牸", prop: "specs" }, + { label: "鍨嬪彿", prop: "type" } ] - this.showCol = ["浜у搧鍚嶇О", "浜у搧缂栧彿"] + this.showCol = ["浜у搧鍚嶇О", "浜у搧缂栧彿", "閿�鍞崟浠�", "鍗曚綅", "浜у搧瑙勬牸", "鍨嬪彿"] this.tableList = { selectIndex: true, tableInfomation: [], @@ -249,6 +281,14 @@ selTableCol(val) { 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() { @@ -324,6 +364,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, @@ -334,7 +387,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 || [] @@ -349,8 +405,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) => { @@ -405,12 +460,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) { @@ -430,8 +490,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) => { @@ -480,6 +539,9 @@ 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") @@ -523,6 +585,9 @@ <style lang="scss" scoped> .bg-view { margin: 10px; + .bg-list { + min-height: 370px; + } .query-bg { margin-left: -20px; margin-bottom: 10px; @@ -534,6 +599,7 @@ width: 100px; } } + .btn { float: right; } -- Gitblit v1.8.0