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