From 1888b426ff2b6a529f5fdef0f0453dadef71824b Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 17 四月 2024 10:17:38 +0800
Subject: [PATCH] 隐藏多单位的问题

---
 src/views/productManage/product/index.vue |  156 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 118 insertions(+), 38 deletions(-)

diff --git a/src/views/productManage/product/index.vue b/src/views/productManage/product/index.vue
index 7120876..dc395f6 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">
@@ -14,24 +16,34 @@
         <div class="icon-view">
           <span
             class="icon-label"
-            @click="selIconSwitchClick('1')"
-            :class="{ blueBackgroud: isIconIndex === '1', whiteBackgroud: isIconIndex === '2' }"
-            ><i class="el-icon-menu"></i
-          ></span>
-          <span
-            class="icon-label"
             @click="selIconSwitchClick('2')"
             :class="{ whiteBackgroud: isIconIndex === '1', blueBackgroud: isIconIndex === '2' }"
             style="margin-left: 5px"
             ><i class="el-icon-s-unfold"></i
           ></span>
+          <span
+            class="icon-label"
+            @click="selIconSwitchClick('1')"
+            :class="{ blueBackgroud: isIconIndex === '1', whiteBackgroud: isIconIndex === '2' }"
+            ><i class="el-icon-menu"></i
+          ></span>
         </div>
       </div>
       <!-- 鍥捐〃褰㈠紡 -->
       <div v-if="isIconIndex === '1'" class="product-view">
-        <div class="product-box" v-for="item in tableList.tableInfomation" :key="item.id" @click="tableRowClick(item)">
+        <div class="product-box" v-for="item in tableList.tableInfomation" :key="item.id" @click="showDetail(item)">
           <div class="left">
-            <el-image style="width: 60px; height: 80px" :src="url"></el-image>
+            <el-image
+              v-if="item.attachmentList?.length > 0"
+              style="width: 60px; height: 80px"
+              :src="item.attachmentList[0].FileUrl"
+              :preview-src-list="item.srcList"
+              :z-index="9999"
+              @click.stop="imgClick"
+            ></el-image>
+            <div v-else class="img-view">
+              <i class="el-icon-picture-outline"></i>
+            </div>
           </div>
           <div class="right">
             <div class="label">
@@ -51,16 +63,20 @@
       </div>
       <!-- 鍒楄〃褰㈠紡 -->
       <div v-if="isIconIndex === '2'" class="product-list">
-        <TableCommonView
-          ref="tableListRef"
-          :table-list="tableList"
-          @selTableCol="selTableCol"
-          @tableRowClick="tableRowClick"
-        >
+        <TableCommonView ref="tableListRef" :table-list="tableList" @selTableCol="selTableCol">
+          <template slot="tableButton">
+            <el-table-column label="鎿嶄綔" width="90" align="center">
+              <template slot-scope="scope">
+                <span @click.stop="showDetail(scope.row)" class="cursor_pointer" style="margin-right: 10px">
+                  <span style="color: #2a78fb">鏌ョ湅</span>
+                </span>
+                <span @click.stop="editRow(scope.row)" class="cursor_pointer">
+                  <span style="color: #2a78fb">缂栬緫</span>
+                </span>
+              </template>
+            </el-table-column>
+          </template>
         </TableCommonView>
-        <!-- <div class="btn-pager">
-          <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
-        </div> -->
       </div>
       <div class="btn-pager">
         <PagerView class="page" :pager-options="pagerOptions" :page-size="pageSizes" v-on="pagerEvents" />
@@ -86,7 +102,7 @@
   data() {
     return {
       tableList: {},
-      showcol: ["鍐呴儴鍙傝��", "璐熻矗浜�", "浜у搧鏍囩", "閿�鍞环鏍�", "鎴愭湰", "鍦ㄥ簱鏁伴噺", "棰勬祴鏁伴噺", "璁¢噺鍗曚綅"],
+      showcol: ["鍐呴儴缂栫爜",'浜у搧瑙勬牸', "璐熻矗浜�", "浜у搧鏍囩", "鎴愭湰", "鍦ㄥ簱鏁伴噺", "棰勬祴鏁伴噺", "璁¢噺鍗曚綅"],
       searchOptions: [],
       commonDetail: {
         visible: false,
@@ -96,15 +112,26 @@
       editConfig: {
         visible: false,
         title: "鏂板缓",
-        infomation: {}
+        infomation: {},
+        autoEdit: false
       },
-      isIconIndex: "1", // 1 鍥炬爣 2 鍒楄〃
+      isIconIndex: "2", // 1 鍥炬爣 2 鍒楄〃
       url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
-      pageSizes: [15, 30]
+      pageSizes: [15, 30],
+      keyWord: "",
+      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: {
@@ -115,7 +142,8 @@
       }
       this.tableList = {
         tableInfomation: [],
-        selectBox: true,
+        selectBox: false,
+        selectIndex: true,
         showcol: this.showcol,
         allcol: [],
         tableColumn: this.setTableColumn(this.showcol)
@@ -132,15 +160,27 @@
     setTableColumn(showcol) {
       let tableColumn = [
         {
+          label: "浜у搧缂栫爜",
+          prop: "id",
+          isShowColumn: true,
+          default: true
+        },
+        {
           label: "浜у搧鍚嶇О",
           prop: "name",
           isShowColumn: true,
           default: true
         },
         {
-          label: "鍐呴儴鍙傝��",
+          label: "浜у搧瑙勬牸",
+          prop: "specs",
+          isShowColumn: showcol.includes("浜у搧瑙勬牸"),
+          default: false
+        },
+        {
+          label: "鍐呴儴缂栫爜",
           prop: "internalReference",
-          isShowColumn: showcol.includes("鍐呴儴鍙傝��"),
+          isShowColumn: showcol.includes("鍐呴儴缂栫爜"),
           default: false
         },
         {
@@ -181,7 +221,7 @@
         },
         {
           label: "浜у搧绫诲瀷",
-          prop: "productType",
+          prop: "model",
           isShowColumn: showcol.includes("浜у搧绫诲瀷"),
           default: false
         },
@@ -212,16 +252,29 @@
       this.tableList.tableColumn = this.setTableColumn(val)
     },
     // 璇锋眰鏁版嵁
-    async getData(val) {
+    async getData() {
       await getProductList({
-        keyWord: val,
+        keyWord: this.keyWord,
+        categoryId: this.categoryId ? this.categoryId : null,
         page: this.pagerOptions.currPage,
         pageSize: this.pagerOptions.pageSize
       }).then((res) => {
         if (res.code === 200) {
           const list = res.data.map((item) => {
+            let srcList = []
+            if (item.attachmentList?.length > 0) {
+              item.attachmentList.forEach((ele) => {
+                if (ele.fileType === "picture") {
+                  srcList.push(ele.FileUrl)
+                }
+              })
+            } else {
+              srcList = []
+            }
+
             return {
-              ...item
+              ...item,
+              srcList
             }
           })
           this.tableList.tableInfomation = list || []
@@ -232,21 +285,34 @@
     // 鎼滅储
     searchClick(val) {
       console.log(val)
+      this.keyWord = val
       this.pagerOptions.currPage = 1
-      this.getData(val)
+      this.getData()
     },
     // 鏂板缓
     addBtnClick() {
-      this.editConfig.visible = true
       this.editConfig.title = "鏂板缓"
-      this.editConfig.infomation = {}
-    },
-    // 琛岀偣鍑�
-    tableRowClick(row) {
-      console.log(row)
+      this.editConfig.infomation = {
+        purchaseTypeList:[]
+      }
       this.editConfig.visible = true
+    },
+    // 璇︽儏
+    showDetail(row) {
+      console.log(row)
+      this.editConfig.autoEdit = false
       this.editConfig.title = "缂栬緫"
-      this.editConfig.infomation = { ...row }
+      let imageSrc = row.attachmentList?.length > 0 ? row.attachmentList[0].FileUrl : ""
+      this.editConfig.infomation = { ...row, imageSrc: imageSrc }
+      this.editConfig.visible = true
+    },
+    // 缂栬緫
+    editRow(row) {
+      this.editConfig.autoEdit = true
+      this.editConfig.title = "缂栬緫"
+      let imageSrc = row.attachmentList?.length > 0 ? row.attachmentList[0].FileUrl : ""
+      this.editConfig.infomation = { ...row, imageSrc: imageSrc }
+      this.editConfig.visible = true
     },
     // 鍒囨崲鍒楄〃灞曠幇褰㈠紡
     selIconSwitchClick(value) {
@@ -260,7 +326,13 @@
         this.pagerOptions.pageSize = 15
       }
       this.getData()
-    }
+    },
+    // 鍒犻櫎浜у搧绫诲瀷
+    delSelectClick() {
+      this.categoryId = 0
+      this.getData()
+    },
+    imgClick() {}
   }
 }
 </script>
@@ -318,6 +390,14 @@
     .left {
       width: 60px;
       text-align: center;
+      .img-view {
+        width: 60px;
+        height: 80px;
+        line-height: 80px;
+        border: 1px solid #dee2e6;
+        font-size: 22px;
+        color: #b8babb;
+      }
     }
     .right {
       flex: 1;
@@ -345,7 +425,7 @@
   }
 }
 .product-list {
-  height: calc(100% - 65px);
+  height: calc(100% - 70px);
 }
 ::v-deep {
   .el-table {

--
Gitblit v1.8.0