From eab06fbfcf4577eac399992b5ab11df3f3ff7456 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期五, 03 十一月 2023 11:44:32 +0800 Subject: [PATCH] 搜索和弹窗按钮公共组件和产品搜索功能优化 --- src/views/productManage/product/index.vue | 21 +++++++--- src/components/makepager/SearchCommonView.vue | 24 ++++++++---- src/components/makepager/FormBtnsView.vue | 19 ++++++--- 3 files changed, 42 insertions(+), 22 deletions(-) diff --git a/src/components/makepager/FormBtnsView.vue b/src/components/makepager/FormBtnsView.vue index b27b6b1..37119ca 100644 --- a/src/components/makepager/FormBtnsView.vue +++ b/src/components/makepager/FormBtnsView.vue @@ -7,9 +7,10 @@ <div class="right-label">棰濆鐨勪环鏍�</div> </div> </div> --> - <div v-if="!showProduct && !showWarehouse && !showPosition && !addProduct" - class="sub-number left_border cursor_pointer" - @click="inLibraryClick()" + <div + v-if="!showProduct && !showWarehouse && !showPosition && !addProduct" + class="sub-number left_border cursor_pointer" + @click="inLibraryClick()" > <div class="left"><i class="el-icon-present"></i></div> <div class="right"> @@ -51,18 +52,18 @@ <div v-if="!showProduct && !showWarehouse && !showPosition" class="sub-number no-cursor"> <div class="left"><i class="el-icon-refresh"></i></div> <div class="right"> - <div class="right-label">{{ (countObject?.reorderRule ?? 0) }}</div> + <div class="right-label">{{ countObject?.reorderRule ?? 0 }}</div> <div class="right-label">閲嶈璐ц鍒�</div> </div> </div> <div v-if="showProduct" class="sub-number left_border yes-cursor" @click="productClick"> <div class="left"><i class="el-icon-s-fold"></i></div> <div class="right"> - <div class="right-label">{{ (countObject?.product ?? 0) }}</div> + <div class="right-label">{{ countObject?.product ?? 0 }}</div> <div class="right-label">浜у搧</div> </div> </div> - <div v-if="!showWarehouse" class="sub-number left_border no-cursor"> + <div v-if="!showWarehouse" class="sub-number left_border yes-cursor" @click="listingRulesClick"> <div class="left"><i class="el-icon-refresh"></i></div> <div class="right"> <div class="right-one">涓婃灦瑙勫垯</div> @@ -151,8 +152,12 @@ this.$emit("productClick") }, // 鍦ㄥ簱 - inLibraryClick(){ + inLibraryClick() { this.$emit("inLibraryClick") + }, + // 涓婃灦瑙勫垯 + listingRulesClick() { + this.$emit("listingRulesClick") } } } diff --git a/src/components/makepager/SearchCommonView.vue b/src/components/makepager/SearchCommonView.vue index c44e993..dd328e8 100644 --- a/src/components/makepager/SearchCommonView.vue +++ b/src/components/makepager/SearchCommonView.vue @@ -54,7 +54,7 @@ <template v-if="selectArr?.length > 0" slot="prepend"> <div style="display: flex"> <div v-for="(val, i) in selectArr" :key="i" class="pre-views"> - <span style="margin-left: 5px">{{ val }}</span> + <span style="margin-left: 5px">{{ val.title }}</span> <i @click="delSelectClick(val)" class="el-icon-close" style="margint: 0 5px"></i> </div> </div> @@ -88,9 +88,9 @@ </div> <el-dropdown-menu slot="dropdown"> <el-dropdown-item - v-for="(item, key) in taskStatusMap" + v-for="(item, key) in screenArray" :key="key" - :command="item.title" + :command="{ command: item.title, ...item }" :class="{ selected: status == item.title }" > <div class="dropdown-view"> @@ -224,6 +224,14 @@ showSreen: { type: Boolean, default: true + }, + searchTaskMap: { + type: Array, + default: () => [] + }, + screenArray: { + type: Array, + default: () => [] } }, watch: { @@ -243,13 +251,12 @@ searchInput: "", searchSelValue: this.searchSel, status: "", - taskStatusMap: [ - { value: "0", type: "default", title: "瀹屾垚" }, - { value: "1", type: "default", title: "灏辩窉" } - ], selList: [], selectArr: [] } + }, + mounted() { + this.selectArr = this.searchTaskMap }, methods: { // 鎼滅储 @@ -302,6 +309,7 @@ this.selectArr.findIndex((e) => e === item), 1 ) + this.$emit("delSelectClick", item) } } } @@ -400,7 +408,7 @@ } } .pre-views { - border: 1px solid #ccc; + border: 1px solid #c0c0c0; font-size: 12px; margin-right: 5px; border-radius: 3px; diff --git a/src/views/productManage/product/index.vue b/src/views/productManage/product/index.vue index 0b32e39..2eed6ad 100644 --- a/src/views/productManage/product/index.vue +++ b/src/views/productManage/product/index.vue @@ -5,8 +5,10 @@ :add-title="'鏂板缓'" :placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉�'" :amount-view="false" + :search-task-map="searchTaskMap" @addCommonClick="addBtnClick" @searchClick="searchClick" + @delSelectClick="delSelectClick" /> </div> <div class="list-view"> @@ -54,11 +56,7 @@ </div> <!-- 鍒楄〃褰㈠紡 --> <div v-if="isIconIndex === '2'" class="product-list"> - <TableCommonView - ref="tableListRef" - :table-list="tableList" - @selTableCol="selTableCol" - > + <TableCommonView ref="tableListRef" :table-list="tableList" @selTableCol="selTableCol"> <template slot="tableButton"> <el-table-column label="鎿嶄綔" width="90" align="center"> <template slot-scope="scope"> @@ -114,16 +112,20 @@ url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg", pageSizes: [15, 30], keyWord: "", - categoryId: null + categoryId: null, + searchTaskMap: [] } }, created() { this.setTable() let query = this.$route.query if (query) { + console.log("ssssss") this.categoryId = query.id ? Number(query.id) : null this.pagerOptions.currPage = 1 + this.searchTaskMap = query.id ? [{ categoryId: this.categoryId, title: query.categoryName }] : [] } + this.getData() }, methods: { @@ -272,7 +274,7 @@ this.editConfig.visible = true }, // 缂栬緫 - editRow(row){ + editRow(row) { this.editConfig.autoEdit = true this.editConfig.title = "缂栬緫" this.editConfig.infomation = { ...row } @@ -290,6 +292,11 @@ this.pagerOptions.pageSize = 15 } this.getData() + }, + // 鍒犻櫎浜у搧绫诲瀷 + delSelectClick() { + this.categoryId = 0 + this.getData() } } } -- Gitblit v1.8.0