From 352e9e459e3c865a8509ccebfe6a3d580a65165c Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期二, 10 十月 2023 13:48:29 +0800 Subject: [PATCH] 搜索公共组件、新建选择客户名称等公共组件、新建弹窗及跟进记录页面批量删除改为单条删除 --- src/views/other/commonDialog/SelectCommonDialog.vue | 113 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 95 insertions(+), 18 deletions(-) diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue index fcc993e..9682e35 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,11 @@ 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 pageMixin from "@/components/makepager/pager/mixin/pageMixin" export default { name: "EditSelCommonDialog", + mixins: [pageMixin], props: { editCommonConfig: { type: Object, @@ -75,7 +87,9 @@ search_map: {}, searchSel: {}, keyword: "", - keywordType: "" + keywordType: "", + tableColumn: [], + showCol: [] } }, created() { @@ -85,12 +99,17 @@ 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 === "鏈嶅姟鍚堝悓") { @@ -145,19 +164,42 @@ this.tableList = { tableInfomation: [], tableColumn: [ - { label: "浜у搧鍚嶇О", prop: "Name", isClick: true }, - { label: "浜у搧缂栧彿", prop: "Number" }, - { label: "瑙勬牸鍨嬪彿", prop: "MaterialMode" } + { label: "浜у搧鍚嶇О", prop: "name", isClick: true }, + { label: "浜у搧缂栧彿", prop: "number" } ] } - this.searchSel = { value: "Name", label: "浜у搧鍚嶇О" } + this.searchSel = { value: "name", label: "浜у搧鍚嶇О" } + } else if (this.editConfig.title === "閿�鍞��璐у崟") { + this.tableList = { + tableInfomation: [], + tableColumn: [ + { label: "閫�璐у崟缂栧彿", prop: "number", isClick: true }, + { label: "閫�璐ф棩鏈�", prop: "returnDate" }, + { label: "鐘舵��", prop: "salesReturnStatus_name" }, + { label: "閫�鍏ヤ粨搴�", prop: "repository" } + ] + } + 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() { @@ -174,14 +216,16 @@ this.getServiceOrderList() } else if (this.editConfig.title === "浜у搧鍚嶇О") { this.getProductList() + } else if (this.editConfig.title === "閿�鍞��璐у崟") { + this.getSalesReturnList() } }, // 閿�鍞�诲崟 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) { @@ -191,7 +235,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 = [] } @@ -306,8 +351,8 @@ // 浜у搧鍚嶇О async getProductList() { await getProductList({ - productName: "", - productNumber: "", + productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "", + productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "", page: 1, pageSize: 5 }).then((res) => { @@ -317,6 +362,29 @@ const list = res.data.data.data.map((item) => { return { ...item + } + }) + this.tableList.tableInfomation = list.slice(0, 5) || [] + } else { + this.tableList.tableInfomation = [] + } + } + this.loading = false + }) + }, + async getSalesReturnList() { + await getSalesReturnList({ + 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, + salesReturnStatus_name: item.SalesReturnStatus.name } }) this.tableList.tableInfomation = list.slice(0, 5) || [] @@ -344,6 +412,8 @@ 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") } }, // 鎼滅储 @@ -391,9 +461,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