From 0f43183f986f0ed314647687c73da5a4493d2611 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期一, 16 十月 2023 20:36:15 +0800 Subject: [PATCH] bug修复(5219 5233) --- src/views/other/commonDialog/SelectCommonDialog.vue | 288 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 226 insertions(+), 62 deletions(-) diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue index 3090ad6..e829aa8 100644 --- a/src/views/other/commonDialog/SelectCommonDialog.vue +++ b/src/views/other/commonDialog/SelectCommonDialog.vue @@ -28,10 +28,19 @@ <el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button> --> </div> </div> - <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick"> + <TableCommonView + ref="tableListRef" + :table-list="tableList" + :select-box="false" + @selCommonClick="selNameClick" + @selTableCol="selTableCol" + > </TableCommonView> <div slot="footer" class="dialog-footer"> - <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div> + <!-- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div> --> + <div class="btn-pager"> + <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + </div> </div> </div> </el-dialog> @@ -45,8 +54,12 @@ import { getServiceContractList } from "@/api/serviceManage/serviceContract" 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", + mixins: [pageMixin], props: { editCommonConfig: { type: Object, @@ -54,6 +67,8 @@ return { editVisible: false, title: "", + clientId: 0, + client_name: "", tableInfomation: [] } } @@ -75,88 +90,168 @@ search_map: {}, searchSel: {}, keyword: "", - keywordType: "" + keywordType: "", + tableColumn: [], + showCol: [] } }, created() { + this.search_map = { + client_id: this.editConfig.clientId + } + this.keyword = this.editConfig.client_name + this.keywordType = "瀹㈡埛鍚嶇О" this.setTable() this.getData() }, methods: { setTable() { if (this.editConfig.title === "閿�鍞�诲崟") { + this.tableColumn = [ + { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true, default: true }, // 鍗曟嵁缂栧彿 + { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜� + ] + this.showCol = ["鍗曟嵁缂栧彿", "璐熻矗浜�"] this.tableList = { + selectIndex: true, tableInfomation: [], - tableColumn: [ - { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true }, // 鍗曟嵁缂栧彿 - { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜� - ] + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) } this.searchSel = { value: "number", label: "鍗曟嵁缂栧彿" } } else if (this.editConfig.title === "鏈嶅姟鍚堝悓") { + this.tableColumn = [ + { label: "瀹㈡埛鍚嶇О", prop: "client_name", default: true }, // 瀹㈡埛鍚嶇О + { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "number", isClick: true }, // 鏈嶅姟鍚堝悓缂栧彿 + { label: "璐熻矗浜�", prop: "member_name" }, // 璐熻矗浜� + { label: "鍚堣", prop: "total" }, // 鍚堣 + { label: "绛剧害鏃ユ湡", prop: "signTime", isTime: true }, // 绛剧害鏃ユ湡 + { label: "鍚堝悓鐘舵��", prop: "serviceContractStatus" } // 鍚堝悓鐘舵�� + ] + this.showCol = ["瀹㈡埛鍚嶇О", "鏈嶅姟鍚堝悓缂栧彿", "璐熻矗浜�", "鍚堣", "绛剧害鏃ユ湡", "鍚堝悓鐘舵��"] this.tableList = { + selectIndex: true, tableInfomation: [], - tableColumn: [ - { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, // 瀹㈡埛鍚嶇О - { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "number", isClick: true }, // 鏈嶅姟鍚堝悓缂栧彿 - { label: "璐熻矗浜�", prop: "member_name" }, // 璐熻矗浜� - { label: "鍚堣", prop: "total" }, // 鍚堣 - { label: "绛剧害鏃ユ湡", prop: "signTime", isTime: true }, // 绛剧害鏃ユ湡 - { label: "鍚堝悓鐘舵��", prop: "serviceContractStatus" } // 鍚堝悓鐘舵�� - ] + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) } this.searchSel = { value: "number", label: "鏈嶅姟鍚堝悓缂栧彿" } } else if (this.editConfig.title === "閿�鍞槑缁嗗崟") { + this.tableColumn = [ + { label: "瀹㈡埛鍚嶇О", prop: "client_name", default: true }, // 瀹㈡埛鍚嶇О + { label: "璁㈠崟缂栧彿", prop: "number", isClick: true }, // 璁㈠崟缂栧彿 + { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡 + { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉 + { label: "鍚堣", prop: "tptal" } // 鍚堣 + ] + this.showCol = ["瀹㈡埛鍚嶇О", "璁㈠崟缂栧彿", "绛剧害鏃ユ湡", "閿�鍞礋璐d汉", "鍚堣"] this.tableList = { + selectIndex: true, tableInfomation: [], - tableColumn: [ - { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, // 瀹㈡埛鍚嶇О - { label: "璁㈠崟缂栧彿", prop: "number", isClick: true }, // 璁㈠崟缂栧彿 - { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡 - { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉 - { label: "鍚堣", prop: "tptal" } // 鍚堣 - ] + allcol: [], + showcol: this.showCol, + 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: "閿�鍞礋璐d汉", prop: "member_name" } // 閿�鍞礋璐d汉 + ] + this.showCol = ["鎶ヤ环鍗曞彿", "閿�鍞礋璐d汉"] this.tableList = { + selectIndex: true, tableInfomation: [], - tableColumn: [ - { label: "鎶ヤ环鍗曞彿", prop: "number", isClick: true }, // 鎶ヤ环鍗曞彿 - { label: "閿�鍞礋璐d汉", prop: "member_name" } // 閿�鍞礋璐d汉 - ] + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) } this.searchSel = { value: "number", label: "鎶ヤ环鍗曞彿" } } else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") { + this.tableColumn = [ + { label: "鏈嶅姟鍗曠紪鍙�", prop: "serviceNumber", isClick: true, default: true }, // 鏈嶅姟鍗曠紪鍙� + { label: "涓婚", prop: "subject" }, // 涓婚 + { label: "鏈嶅姟鏂瑰紡", prop: "serviceType_name" }, // 鏈嶅姟鏂瑰紡 + { label: "鏈嶅姟浜哄憳", prop: "serviceMan_name" }, // 鏈嶅姟浜哄憳 + { label: "浼樺厛绾у埆", prop: "priorityLevel_name" }, // 浼樺厛绾у埆 + { label: "澶勭悊鐘舵��", prop: "serviceOrderStatus_name" }, // 澶勭悊鐘舵�� + { label: "瀹㈡埛绛惧悕", prop: "qianming" } // 瀹㈡埛绛惧悕 + ] + this.showCol = ["鏈嶅姟鍗曠紪鍙�", "涓婚", "鏈嶅姟鏂瑰紡", "鏈嶅姟浜哄憳", "浼樺厛绾у埆", "澶勭悊鐘舵��", "瀹㈡埛绛惧悕"] this.tableList = { + selectIndex: true, tableInfomation: [], - tableColumn: [ - { label: "鏈嶅姟鍗曠紪鍙�", prop: "serviceNumber", isClick: true }, // 鏈嶅姟鍗曠紪鍙� - { label: "涓婚", prop: "subject" }, // 涓婚 - { label: "鏈嶅姟鏂瑰紡", prop: "serviceType_name" }, // 鏈嶅姟鏂瑰紡 - { label: "鏈嶅姟浜哄憳", prop: "serviceMan_name" }, // 鏈嶅姟浜哄憳 - { label: "浼樺厛绾у埆", prop: "priorityLevel_name" }, // 浼樺厛绾у埆 - { label: "澶勭悊鐘舵��", prop: "serviceOrderStatus_name" }, // 澶勭悊鐘舵�� - { label: "瀹㈡埛绛惧悕", prop: "qianming" } // 瀹㈡埛绛惧悕 - ] + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) } this.searchSel = { value: "serviceNumber", label: "鏈嶅姟鍗曠紪鍙�" } } else if (this.editConfig.title === "浜у搧鍚嶇О") { + this.tableColumn = [ + { label: "浜у搧鍚嶇О", prop: "name", isClick: true, default: true }, // 浜у搧鍚嶇О + { label: "浜у搧缂栧彿", prop: "number" } + ] + this.showCol = ["浜у搧鍚嶇О", "浜у搧缂栧彿"] this.tableList = { + selectIndex: true, tableInfomation: [], - tableColumn: [ - { label: "浜у搧鍚嶇О", prop: "name", isClick: true }, - { label: "浜у搧缂栧彿", prop: "number" } - ] + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) } this.searchSel = { value: "name", label: "浜у搧鍚嶇О" } + } else if (this.editConfig.title === "閿�鍞��璐у崟") { + this.tableColumn = [ + { label: "閫�璐у崟缂栧彿", prop: "number", isClick: true, default: true }, // 閫�璐у崟缂栧彿 + { label: "閫�璐ф棩鏈�", prop: "returnDate" }, + { label: "鐘舵��", prop: "salesReturnStatus_name" }, + { label: "閫�鍏ヤ粨搴�", prop: "repository" } + ] + this.showCol = ["閫�璐у崟缂栧彿", "閫�璐ф棩鏈�", "鐘舵��", "閫�鍏ヤ粨搴�"] + this.tableList = { + selectIndex: true, + tableInfomation: [], + allcol: [], + showcol: this.showCol, + 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 = [] for (let i = 0; i < this.tableList.tableColumn.length; i++) { const label = this.tableList.tableColumn[i].label const value = this.tableList.tableColumn[i].prop this.searchOptions.push({ value: value, label: label }) } + }, + setColumnVisible(showCol) { + return this.tableColumn.map((ele) => { + return { + ...ele, + isShowColumn: showCol.includes(ele.label) + } + }) + }, + selTableCol(val) { + this.showcol = val + this.tableList.tableColumn = this.setColumnVisible(val) }, // 璇锋眰鏁版嵁 async getData() { @@ -173,14 +268,18 @@ this.getServiceOrderList() } else if (this.editConfig.title === "浜у搧鍚嶇О") { this.getProductList() + } else if (this.editConfig.title === "閿�鍞��璐у崟") { + this.getSalesReturnList() + } else if (this.editConfig.title === "閿�鍞瓙鍗�") { + this.getSubOrderList() } }, // 閿�鍞�诲崟 async getMasterOrderList() { await getMasterOrderList({ search_map: this.search_map, - page: 0, - pageSize: 0 + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize }).then((res) => { if (res.code === 200) { if (res.data.list && res.data.list.length > 0) { @@ -190,7 +289,8 @@ member_name: item.member.username } }) - this.tableList.tableInfomation = list.slice(0, 5) || [] + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count } else { this.tableList.tableInfomation = [] } @@ -203,8 +303,8 @@ await getServiceContractList({ keyword: this.keyword, keywordType: this.keywordType, - page: 0, - pageSize: 0 + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize }).then((res) => { if (res.code === 200) { if (res.data.list && res.data.list.length > 0) { @@ -216,7 +316,8 @@ serviceContractStatus: item.serviceContractStatus.name } }) - this.tableList.tableInfomation = list.slice(0, 5) || [] + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count } else { this.tableList.tableInfomation = [] } @@ -228,8 +329,8 @@ async getQuotationList() { await getQuotationList({ search_map: this.search_map, - page: 0, - pageSize: 0 + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize }).then((res) => { if (res.code === 200) { if (res.data.list && res.data.list.length > 0) { @@ -239,7 +340,8 @@ member_name: item.member.username } }) - this.tableList.tableInfomation = list.slice(0, 5) || [] + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count } else { this.tableList.tableInfomation = [] } @@ -252,8 +354,8 @@ await getSalesDetailsList({ keyword: this.keyword, keywordType: this.keywordType, - page: 0, - pageSize: 0 + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize }).then((res) => { if (res.code === 200) { if (res.data.list && res.data.list.length > 0) { @@ -264,7 +366,8 @@ member_name: item.Member.username } }) - this.tableList.tableInfomation = list.slice(0, 5) || [] + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count } else { this.tableList.tableInfomation = [] } @@ -277,8 +380,8 @@ await getServiceOrderList({ keyword: this.keyword, keywordType: this.keywordType, - page: 0, - pageSize: 0 + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize }).then((res) => { if (res.code === 200) { if (res.data.data && res.data.data.length > 0) { @@ -294,7 +397,8 @@ serviceOrderStatus_name: item.ServiceOrderStatus_name } }) - this.tableList.tableInfomation = list.slice(0, 5) || [] + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count } else { this.tableList.tableInfomation = [] } @@ -307,18 +411,67 @@ await getProductList({ productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "", productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "", - page: 1, - pageSize: 5 + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize }).then((res) => { console.log(res.data) - if (res.data.code === 200) { - if (res.data.data.data && res.data.data.data.length > 0) { - const list = res.data.data.data.map((item) => { + if (res.code === 200) { + if (res.data.data && res.data.data.length > 0) { + const list = res.data.data.map((item) => { return { ...item } }) - this.tableList.tableInfomation = list.slice(0, 5) || [] + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, + async getSalesReturnList() { + await getSalesReturnList({ + keyword: this.keyword, + keywordType: this.keywordType, + 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, + salesReturnStatus_name: item.SalesReturnStatus.name + } + }) + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count + } else { + this.tableList.tableInfomation = [] + } + } + 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 = [] } @@ -343,6 +496,10 @@ this.$emit("selClient", row, "customService") } else if (this.editConfig.title === "浜у搧鍚嶇О") { 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") } }, // 鎼滅储 @@ -390,9 +547,16 @@ cursor: pointer; } .dialog-footer { - height: 40px; - line-height: 40px; + height: 50px; + line-height: 50px; color: red; + .btn-pager { + display: flex; + margin-top: 0px; + .page { + margin-left: auto; + } + } } ::v-deep { .input-with-select .el-input-group__prepend { -- Gitblit v1.8.0