From 8231542d77a49f80a49434be6ca8bfb3ae9e1efe Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期一, 28 八月 2023 09:26:21 +0800
Subject: [PATCH] 8-28

---
 src/views/standardLibrary/index.vue |  135 ++++++++++++++++++++++++++++----------------
 1 files changed, 85 insertions(+), 50 deletions(-)

diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue
index 6070828..5277b3b 100644
--- a/src/views/standardLibrary/index.vue
+++ b/src/views/standardLibrary/index.vue
@@ -25,6 +25,22 @@
         <div class="table-header">
           <div class="serve-btn">
             <span class="tipMsg">{{ msg !== "" ? msg : "" }}</span>
+            <el-select
+              v-model="versionValue"
+              @change="changeSelect"
+              placeholder="璇烽�夋嫨鐗堟湰鍙�"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+            <el-button type="primary" @click="addVersionFun"
+              >鏂板鐗堟湰鍙�</el-button
+            >
             <el-button
               type="primary"
               icon="el-icon-plus"
@@ -44,13 +60,14 @@
           <el-table
             :data="tableData"
             style="width: 100%; margin-bottom: 20px"
-            row-key="name"
+            row-key="id"
             border
             height="calc(100vh - 250px)"
             default-expand-all
             ref="multipleTable"
             @select="selectTr"
             @select-all="selectAll"
+            @selection-change="handleSelectionChange"
             :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
           >
             <el-table-column type="selection" label="搴忓彿"> </el-table-column>
@@ -160,12 +177,16 @@
   addSpecifications,
   deleteListApi,
   blurUpdateApi,
+  getVersion,
+  addVersion,
 } from "@/api/standardLibrary";
 
 import { selectproductModelApi } from "@/api/basicData/index";
 export default {
   data() {
     return {
+      options: [],
+      versionValue: "",
       deleteList: [],
       msg: "",
       isAllSelect: false,
@@ -198,7 +219,50 @@
   created() {
     this.getStandardTree();
   },
+  mounted() {},
   methods: {
+    async initSelect() {
+      this.options = [];
+      this.versionValue = "";
+      const response = await getVersion({
+        specificationsId: this.selectData.id,
+      });
+      if (response.code === 200 && response.data.length > 0) {
+        this.getTableByClick(this.selectData, response.data[0]);
+        for (let i = 0; i < response.data.length; i++) {
+          this.options.push({
+            value: response.data[i],
+            label: "V" + response.data[i],
+          });
+          this.versionValue = response.data[0];
+        }
+      }
+    },
+    changeSelect() {
+      this.tableData = [];
+      this.getTableByClick(this.selectData, this.versionValue);
+    },
+    async insertVersion() {
+      const resp = await addVersion({ specificationsId: this.selectData.id });
+      if (resp.code === 200) {
+        this.initSelect();
+        this.$message({
+          type: "success",
+          message: resp.message,
+        });
+      }
+    },
+    addVersionFun() {
+      this.$confirm("纭娣诲姞鏂扮殑鐗堟湰鍙峰悧?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.insertVersion();
+        })
+        .catch(() => {});
+    },
     filterNode(value, data) {
       if (!value) return true;
       return data.name.indexOf(value) !== -1;
@@ -252,7 +316,8 @@
         this.getParentData(node.parent, node.data.name);
         // 瀛樹笅閫変腑鑺傜偣
         this.selectData = data;
-        this.getTableByClick(data);
+        this.getTableByClick(data, this.versionValue);
+        this.initSelect();
       }
       if (!("children" in data)) {
         return;
@@ -267,9 +332,10 @@
         this.getParentData(node.parent, this.msg);
       }
     },
-    async getTableByClick(data) {
+    async getTableByClick(data, versionVal) {
       await getProductList({
         specificationsId: data.id,
+        version: versionVal,
       }).then((res) => {
         res.data.forEach((i) => {
           if (i.name === undefined) {
@@ -291,10 +357,9 @@
       this.$router.push(`/standardLibrary/SpecificationDetails/${row.id}`);
     },
     renderContent(h, { node, data, store }) {
-      // console.log('data', data)
-      // console.log('node', node)
       // 鍒ゆ柇鏄惁鏄埗鑺傜偣鎴栨枃浠跺す
       const isFolder = "children" in data;
+      console.log(`output->data`, isFolder);
       return (
         <span class="tree-node">
           {isFolder ? (
@@ -345,13 +410,12 @@
         this.$message.error("娣诲姞澶辫触");
       }
 
-      console.log(res);
       this.$message.success("娣诲姞鎴愬姛");
       this.addTreeForm = {
         addTypeArr: [],
       };
       this.getStandardTree();
-      this.getTableByClick(this.selectData);
+      this.getTableByClick(this.selectData, this.versionValue);
     },
     changeCascader(data) {
       this.addTreeForm.addTypeArr = data;
@@ -400,20 +464,6 @@
       this.isAllSelect = !this.isAllSelect;
       let data = this.tableData;
       this.toggleSelect(data, this.isAllSelect, "all");
-      // 鑷畾涔�
-      if (this.isAllSelect) {
-        val.forEach((i) => {
-          if (i.id !== undefined) {
-            this.deleteList.push(i.id);
-          } else {
-            i.children.forEach((c) => {
-              this.deleteList.push(c.id);
-            });
-          }
-        });
-      } else {
-        this.deleteList.splice(0, this.deleteList.length);
-      }
     },
     //閫夋嫨鏌愯
     selectTr(selection, row) {
@@ -422,33 +472,6 @@
         this.isAllSelect = row.isChecked;
         this.toggleSelect(row, row.isChecked, "tr");
       });
-
-      if (row.isChecked === true) {
-        if (row.children !== undefined) {
-          row.children.forEach((i) => {
-            this.deleteList.push(i.id);
-          });
-        } else {
-          this.deleteList.push(row.id);
-        }
-      } else if (row.isChecked === false) {
-        if (row.children !== undefined) {
-          row.children.forEach((i) => {
-            this.deleteList.findIndex((c, index) => {
-              if (c === i.id) {
-                this.deleteList.splice(index, 1);
-                return;
-              }
-            });
-          });
-        }
-        this.deleteList.findIndex((c, index) => {
-          if (c === row.id) {
-            this.deleteList.splice(index, 1);
-            return;
-          }
-        });
-      }
     },
     //閫掑綊瀛愮骇
     toggleSelect(data, flag, type) {
@@ -482,6 +505,15 @@
         }
       });
     },
+    handleSelectionChange(val) {
+      this.deleteList = [];
+      val.forEach((v) => {
+        if (v.id !== undefined) {
+          this.deleteList.push(v.id);
+        }
+      });
+      console.log(`output->this.deleteList`, this.deleteList);
+    },
     // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆  缁撴潫
     deleteListClick() {
       deleteListApi(this.deleteList).then((res) => {
@@ -489,7 +521,7 @@
           message: res.message,
           type: "success",
         });
-        this.getTableByClick(this.selectData);
+        this.getTableByClick(this.selectData, this.versionValue);
       });
     },
     async requiredOnfocus(scope) {
@@ -504,7 +536,7 @@
           message: res.message,
           type: "success",
         });
-        this.getTableByClick(this.selectData);
+        this.getTableByClick(this.selectData, this.versionValue);
       });
     },
   },
@@ -640,6 +672,9 @@
   width: 100%;
   padding-bottom: 6px;
   text-align: right;
+  .el-select {
+    margin-right: 10px;
+  }
 }
 .tipMsg {
   float: left;

--
Gitblit v1.9.3