From 46ed69e3b72658140a40127f4bae16bef9a02d56 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期一, 21 八月 2023 11:23:34 +0800 Subject: [PATCH] bug修复 --- src/views/other/commonDialog/SelectCommonDialog.vue | 267 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 243 insertions(+), 24 deletions(-) diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue index f3dd1e3..3090ad6 100644 --- a/src/views/other/commonDialog/SelectCommonDialog.vue +++ b/src/views/other/commonDialog/SelectCommonDialog.vue @@ -10,15 +10,22 @@ > <div class="bg-view"> <div class="query-bg"> - <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="queryInput" size="mini" class="input-with-select"> + <!-- <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="queryInput" size="mini" class="input-with-select"> <el-select v-model="select" slot="prepend" placeholder="璇烽�夋嫨"> <el-option v-for="item in commonOptions" :key="item.id" :label="item.name" :value="item.name"> </el-option> </el-select> - </el-input> + </el-input> --> + <SearchCommonView + ref="searchCommonView" + :search-options="searchOptions" + @searchClick="searchClick" + @resetClick="resetClick" + :search-sel="searchSel" + /> <div class="btn"> - <el-button type="primary" size="mini" disabled>璁剧疆瀛楁</el-button> - <el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button> + <!-- <el-button type="primary" size="mini" disabled>璁剧疆瀛楁</el-button> + <el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button> --> </div> </div> <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick"> @@ -32,6 +39,12 @@ </template> <script> +import { getMasterOrderList } from "@/api/sales/masterOrder" +import { getQuotationList } from "@/api/sales/quotation" +import { getSalesDetailsList } from "@/api/sales/salesDetails" +import { getServiceContractList } from "@/api/serviceManage/serviceContract" +import { getServiceOrderList } from "@/api/serviceManage/clientServiceOrder" +import { getProductList } from "@/api/common/other" export default { name: "EditSelCommonDialog", props: { @@ -58,73 +71,260 @@ searchSelOptions: [], loading: false, tableList: {}, - commonOptions: [] + searchOptions: [], + search_map: {}, + searchSel: {}, + keyword: "", + keywordType: "" } }, created() { this.setTable() + this.getData() }, methods: { setTable() { if (this.editConfig.title === "閿�鍞�诲崟") { this.tableList = { - tableInfomation: this.editConfig.tableInfomation, + tableInfomation: [], tableColumn: [ { label: "鍗曟嵁缂栧彿", prop: "number", isClick: true }, // 鍗曟嵁缂栧彿 - { label: "璐熻矗浜�", prop: "member_id" } // 璐熻矗浜� + { label: "璐熻矗浜�", prop: "member_name" } // 璐熻矗浜� ] } + this.searchSel = { value: "number", label: "鍗曟嵁缂栧彿" } } else if (this.editConfig.title === "鏈嶅姟鍚堝悓") { this.tableList = { - tableInfomation: this.editConfig.tableInfomation, + tableInfomation: [], tableColumn: [ - { label: "瀹㈡埛鍚嶇О", prop: "clientId" }, // 瀹㈡埛鍚嶇О + { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, // 瀹㈡埛鍚嶇О { label: "鏈嶅姟鍚堝悓缂栧彿", prop: "number", isClick: true }, // 鏈嶅姟鍚堝悓缂栧彿 - { label: "璐熻矗浜�", prop: "memberId" }, // 璐熻矗浜� + { label: "璐熻矗浜�", prop: "member_name" }, // 璐熻矗浜� { label: "鍚堣", prop: "total" }, // 鍚堣 { label: "绛剧害鏃ユ湡", prop: "signTime", isTime: true }, // 绛剧害鏃ユ湡 - { label: "鍚堝悓鐘舵��", prop: "serviceContractStatusId" } // 鍚堝悓鐘舵�� + { label: "鍚堝悓鐘舵��", prop: "serviceContractStatus" } // 鍚堝悓鐘舵�� ] } + this.searchSel = { value: "number", label: "鏈嶅姟鍚堝悓缂栧彿" } } else if (this.editConfig.title === "閿�鍞槑缁嗗崟") { this.tableList = { - tableInfomation: this.editConfig.tableInfomation, + tableInfomation: [], tableColumn: [ - { label: "瀹㈡埛鍚嶇О", prop: "clientId" }, // 瀹㈡埛鍚嶇О + { label: "瀹㈡埛鍚嶇О", prop: "client_name" }, // 瀹㈡埛鍚嶇О { label: "璁㈠崟缂栧彿", prop: "number", isClick: true }, // 璁㈠崟缂栧彿 { label: "绛剧害鏃ユ湡", prop: "signTime" }, // 绛剧害鏃ユ湡 - { label: "閿�鍞礋璐d汉", prop: "memberId" }, // 閿�鍞礋璐d汉 + { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉 { label: "鍚堣", prop: "tptal" } // 鍚堣 ] } + this.searchSel = { value: "number", label: "璁㈠崟缂栧彿" } } else if (this.editConfig.title === "鎶ヤ环鍗�") { this.tableList = { - tableInfomation: this.editConfig.tableInfomation, + tableInfomation: [], tableColumn: [ { label: "鎶ヤ环鍗曞彿", prop: "number", isClick: true }, // 鎶ヤ环鍗曞彿 - { label: "閿�鍞礋璐d汉", prop: "memberId" } // 閿�鍞礋璐d汉 + { label: "閿�鍞礋璐d汉", prop: "member_name" } // 閿�鍞礋璐d汉 ] } + this.searchSel = { value: "number", label: "鎶ヤ环鍗曞彿" } } else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") { this.tableList = { - tableInfomation: this.editConfig.tableInfomation, + tableInfomation: [], tableColumn: [ { label: "鏈嶅姟鍗曠紪鍙�", prop: "serviceNumber", isClick: true }, // 鏈嶅姟鍗曠紪鍙� { label: "涓婚", prop: "subject" }, // 涓婚 { label: "鏈嶅姟鏂瑰紡", prop: "serviceType_name" }, // 鏈嶅姟鏂瑰紡 - { label: "鏈嶅姟浜哄憳", prop: "serviceManId" }, // 鏈嶅姟浜哄憳 - { label: "浼樺厛绾у埆", prop: "priorityLevelId" }, // 浼樺厛绾у埆 - { label: "澶勭悊鐘舵��", prop: "status" }, // 澶勭悊鐘舵�� + { label: "鏈嶅姟浜哄憳", prop: "serviceMan_name" }, // 鏈嶅姟浜哄憳 + { label: "浼樺厛绾у埆", prop: "priorityLevel_name" }, // 浼樺厛绾у埆 + { label: "澶勭悊鐘舵��", prop: "serviceOrderStatus_name" }, // 澶勭悊鐘舵�� { label: "瀹㈡埛绛惧悕", prop: "qianming" } // 瀹㈡埛绛惧悕 ] } + this.searchSel = { value: "serviceNumber", label: "鏈嶅姟鍗曠紪鍙�" } + } else if (this.editConfig.title === "浜у搧鍚嶇О") { + this.tableList = { + tableInfomation: [], + tableColumn: [ + { label: "浜у搧鍚嶇О", prop: "name", isClick: true }, + { label: "浜у搧缂栧彿", prop: "number" } + ] + } + this.searchSel = { value: "name", label: "浜у搧鍚嶇О" } } - - this.commonOptions = [{ id: 1, name: "鍏ㄩ儴瀛楁" }] - for (let i = 1; i < this.tableList.tableColumn.length; i++) { + this.searchOptions = [] + for (let i = 0; i < this.tableList.tableColumn.length; i++) { const label = this.tableList.tableColumn[i].label - this.commonOptions.push({ id: (i + 1).toString(), name: label }) + const value = this.tableList.tableColumn[i].prop + this.searchOptions.push({ value: value, label: label }) } + }, + // 璇锋眰鏁版嵁 + async getData() { + this.loading = true + if (this.editConfig.title === "閿�鍞�诲崟") { + this.getMasterOrderList() + } else if (this.editConfig.title === "鏈嶅姟鍚堝悓") { + this.getServiceContractList() + } else if (this.editConfig.title === "閿�鍞槑缁嗗崟") { + this.getSalesDetailsList() + } else if (this.editConfig.title === "鎶ヤ环鍗�") { + this.getQuotationList() + } else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") { + this.getServiceOrderList() + } else if (this.editConfig.title === "浜у搧鍚嶇О") { + this.getProductList() + } + }, + // 閿�鍞�诲崟 + async getMasterOrderList() { + await getMasterOrderList({ + search_map: this.search_map, + page: 0, + pageSize: 0 + }).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.slice(0, 5) || [] + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, + // 鏈嶅姟鍚堝悓 + async getServiceContractList() { + await getServiceContractList({ + keyword: this.keyword, + keywordType: this.keywordType, + page: 0, + pageSize: 0 + }).then((res) => { + if (res.code === 200) { + if (res.data.list && res.data.list.length > 0) { + const list = res.data.list.map((item) => { + return { + ...item, + client_name: item.client.name, + member_name: item.member.username, + serviceContractStatus: item.serviceContractStatus.name + } + }) + this.tableList.tableInfomation = list.slice(0, 5) || [] + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, + // 鎶ヤ环鍗� + async getQuotationList() { + await getQuotationList({ + search_map: this.search_map, + page: 0, + pageSize: 0 + }).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.slice(0, 5) || [] + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, + // 閿�鍞槑缁嗗崟 + async getSalesDetailsList() { + await getSalesDetailsList({ + keyword: this.keyword, + keywordType: this.keywordType, + page: 0, + pageSize: 0 + }).then((res) => { + if (res.code === 200) { + if (res.data.list && res.data.list.length > 0) { + const list = res.data.list.map((item) => { + return { + ...item, + client_name: item.client.name, + member_name: item.Member.username + } + }) + this.tableList.tableInfomation = list.slice(0, 5) || [] + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, + // 瀹㈡埛鏈嶅姟鍗� + async getServiceOrderList() { + await getServiceOrderList({ + keyword: this.keyword, + keywordType: this.keywordType, + page: 0, + pageSize: 0 + }).then((res) => { + if (res.code === 200) { + if (res.data.data && res.data.data.length > 0) { + const list = res.data.data.map((item) => { + return { + ...item, + client_name: item.Client.name, + serviceType_name: item.ServiceType.name, + faultType_name: item.FaultType.name, + serviceContract_Number: item.ServiceContract.number, + serviceMan_name: item.serviceMan.username, + priorityLevel_name: item.PriorityLevel.name, + serviceOrderStatus_name: item.ServiceOrderStatus_name + } + }) + this.tableList.tableInfomation = list.slice(0, 5) || [] + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, + // 浜у搧鍚嶇О + async getProductList() { + await getProductList({ + productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "", + productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "", + page: 1, + pageSize: 5 + }).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) => { + return { + ...item + } + }) + this.tableList.tableInfomation = list.slice(0, 5) || [] + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) }, handleClose() { this.editConfig.editVisible = false @@ -141,7 +341,25 @@ this.$emit("selClient", row, "quotation") } else if (this.editConfig.title === "瀹㈡埛鏈嶅姟鍗�") { this.$emit("selClient", row, "customService") + } else if (this.editConfig.title === "浜у搧鍚嶇О") { + this.$emit("selClient", row, "productName") } + }, + // 鎼滅储 + searchClick(val, content) { + console.log(val, content) + this.search_map = { + [val.value]: content + } + this.keyword = content + this.keywordType = val.label + this.getData() + }, + resetClick() { + this.search_map = {} + this.keyword = "" + this.keywordType = "" + this.getData() } } } @@ -152,6 +370,7 @@ .bg-view { margin: 10px; .query-bg { + margin-left: -20px; margin-bottom: 10px; display: flex; justify-content: space-between; -- Gitblit v1.8.0