From 61883fcf237024ceb7622daf5b23434e3eb1be74 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期一, 16 十月 2023 10:38:50 +0800 Subject: [PATCH] 产品获取值修改 --- src/views/other/commonDialog/SelectChanceDialog.vue | 162 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 94 insertions(+), 68 deletions(-) diff --git a/src/views/other/commonDialog/SelectChanceDialog.vue b/src/views/other/commonDialog/SelectChanceDialog.vue index bec8e0d..2814fbc 100644 --- a/src/views/other/commonDialog/SelectChanceDialog.vue +++ b/src/views/other/commonDialog/SelectChanceDialog.vue @@ -10,51 +10,31 @@ > <div class="bg-view"> <div class="query-bg"> - <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="queryInput" size="mini" class="input-with-select"> - <el-select v-model="select" slot="prepend" placeholder="璇烽�夋嫨"> - <el-option label="鍏ㄩ儴瀛楁" value="1"></el-option> - <el-option label="閿�鍞満浼氱紪鍙�" value="2"></el-option> - <el-option label="鏈轰細鍚嶇О" value="3"></el-option> - <el-option label="閿�鍞樁娈�" value="4"></el-option> - <el-option label="閿�鍞礋璐d汉" value="5"></el-option> - <el-option label="棰勮鎴愪氦鏃ユ湡" value="6"></el-option> - </el-select> - </el-input> + <SearchCommonView + ref="searchCommonView" + :search-options="searchOptions" + @searchClick="searchClick" + @resetClick="resetClick" + /> <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> - <el-table - :data="tableData" - border - size="mini" + <TableCommonView + ref="tableListRef" v-loading="loading" - :header-cell-style="{ background: '#f7f7f7' }" + :table-list="tableList" + :select-box="false" + @selCommonClick="selNameClick" + @selTableCol="selTableCol" > - <el-table-column label="閿�鍞満浼氱紪鍙�" prop="number"></el-table-column> - <el-table-column label="鏈轰細鍚嶇О" prop="name" show-overflow-tooltip> - <template slot-scope="scope"> - <span class="sel-name" @click="selNameClick(scope.row)">{{ scope.row.name }}</span> - </template> - </el-table-column> - <el-table-column label="閿�鍞樁娈�" prop="sale_stage_id"></el-table-column> - <el-table-column label="閿�鍞礋璐d汉" prop="member_id"></el-table-column> - <el-table-column label="棰勮鎴愪氦鏃ユ湡" prop="expected_time" show-overflow-tooltip> - <template slot-scope="scope"> - <span>{{ - dateFormat("YYYY-mm-dd HH:MM:SS", scope.row.expected_time) === "1900-01-01 08:00:00" - ? "--" - : dateFormat("YYYY-mm-dd HH:MM:SS", scope.row.expected_time) - }}</span> - </template> - </el-table-column> - <div slot="empty"> - <el-empty :image-size="100"></el-empty> - </div> - </el-table> + </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> @@ -63,8 +43,10 @@ <script> import { getSaleChanceList } from "@/api/sales/salesOpportunity" +import pageMixin from "@/components/makepager/pager/mixin/pageMixin" export default { name: "EditSelChanceDialog", + mixins: [pageMixin], props: { editCommonConfig: { type: Object, @@ -85,43 +67,88 @@ editConfig: this.editCommonConfig, queryInput: "", select: "1", - tableData: [], + tableList: [], searchSelOptions: [], - loading: false + loading: false, + search_map: {}, + tableColumn: [ + { label: "閿�鍞満浼氱紪鍙�", prop: "number" }, // 閿�鍞満浼氱紪鍙� + { label: "鏈轰細鍚嶇О", prop: "name", isCommonClick: true, default: true }, // 鏈轰細鍚嶇О + { label: "閿�鍞樁娈�", prop: "sale_stage_name" }, // 閿�鍞樁娈� + { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉 + { label: "棰勮鎴愪氦鏃ユ湡", prop: "expected_time" } // 棰勮鎴愪氦鏃ユ湡 + ], + showCol: ["閿�鍞満浼氱紪鍙�", "鏈轰細鍚嶇О", "閿�鍞樁娈�", "閿�鍞礋璐d汉", "棰勮鎴愪氦鏃ユ湡"] } }, created() { + this.setTable() this.getData() }, methods: { + setTable() { + this.tableList = { + selectIndex: true, + tableInfomation: [], + allcol: [], + showcol: this.showCol, + tableColumn: this.setColumnVisible(this.showCol) + } + 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) + }, handleClose() { this.editConfig.editVisible = false }, // 璇锋眰鏁版嵁 async getData() { this.loading = true - await getSaleChanceList() + await getSaleChanceList({ + search_map: this.search_map, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }) .then((res) => { console.log(res) if (res.code === 200) { if (res.data.list && res.data.list.length > 0) { const list = res.data.list.map((item) => { return { - ...item + ...item, + member_name: item.member.username, + sale_stage_name: item.sale_stage.name } }) - this.tableData = list.slice(0, 5) || [] + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.data.count } else { - this.tableData = [] + this.tableList.tableInfomation = [] } } else { - this.tableData = [] + this.tableList.tableInfomation = [] } this.loading = false }) .catch((err) => { console.log(err) - this.tableData = [] + this.tableList.tableInfomation = [] this.loading = false }) }, @@ -130,26 +157,17 @@ console.log(row) this.$emit("selClient", row, "chance") }, - // 鏃堕棿鏄剧ず - dateFormat(fmt, date) { - let ret = "" - date = new Date(date) - const opt = { - "Y+": date.getFullYear().toString(), // 骞� - "m+": (date.getMonth() + 1).toString(), // 鏈� - "d+": date.getDate().toString(), // 鏃� - "H+": date.getHours().toString(), // 鏃� - "M+": date.getMinutes().toString(), // 鍒� - "S+": date.getSeconds().toString() // 绉� - // 鏈夊叾浠栨牸寮忓寲瀛楃闇�姹傚彲浠ョ户缁坊鍔狅紝蹇呴』杞寲鎴愬瓧绗︿覆 + // 鎼滅储 + searchClick(val, content) { + console.log(val, content) + this.search_map = { + [val.value]: content } - for (let k in opt) { - ret = new RegExp("(" + k + ")").exec(fmt) - if (ret) { - fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")) - } - } - return fmt + this.getData() + }, + resetClick() { + this.search_map = {} + this.getData() } } } @@ -160,6 +178,7 @@ .bg-view { margin: 10px; .query-bg { + margin-left: -20px; margin-bottom: 10px; display: flex; justify-content: space-between; @@ -179,9 +198,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