From f3371fc9c33f979bd2b00e3241769a27c9c79c38 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 25 三月 2025 16:56:19 +0800
Subject: [PATCH] Merge branch 'radio-frequency-cable' of http://114.132.189.42:9002/r/lims-ruoyi-before into radio-frequency-cable

---
 src/views/standard/standardLibrary/index.vue |  211 ++++++++++++++++++++++------------------------------
 1 files changed, 89 insertions(+), 122 deletions(-)

diff --git a/src/views/standard/standardLibrary/index.vue b/src/views/standard/standardLibrary/index.vue
index d9855a5..377a29f 100644
--- a/src/views/standard/standardLibrary/index.vue
+++ b/src/views/standard/standardLibrary/index.vue
@@ -8,7 +8,7 @@
         </el-col>
         <el-col v-if="checkPermi(['standard:standardLibrary:add'])" :span="4"
           style="text-align: center; line-height: 30px">
-          <el-button circle icon="el-icon-plus" size="mini" type="primary" @click="addDia = true"></el-button>
+          <el-button circle icon="el-icon-plus" size="mini" type="primary" @click="openAddDia"></el-button>
         </el-col>
       </el-row>
       <el-tree ref="tree" v-loading="treeLoad" :allow-drop="allowDrop" :data="list"
@@ -181,9 +181,6 @@
             </template>
           </el-table-column>
         </el-table>
-        <!-- <el-pagination :current-page="currentPage" :page-size="300" :total="total" layout="total"
-          style="position: absolute; right: 16px; bottom: 1px" @current-change="handleCurrentChange">
-        </el-pagination> -->
         <p style="text-align: right;margin-right: 20px;color: #333;">鍏眥{ total }}鏉�</p>
       </el-row>
     </div>
@@ -195,8 +192,7 @@
             <span class="required-span">* </span>鍨嬪彿锛�
           </el-col>
           <el-col :offset="1" :span="16">
-            <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"
-              @keyup.enter.native="addStandardTree"></el-input>
+            <el-input v-model="addOb.modelName" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"></el-input>
           </el-col>
         </el-row>
       </div>
@@ -212,8 +208,7 @@
             <span class="required-span">* </span>鍨嬪彿锛�
           </el-col>
           <el-col :offset="1" :span="16">
-            <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"
-              @keyup.enter.native="updateStandardTree"></el-input>
+            <el-input v-model="addOb.modelName" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"></el-input>
           </el-col>
         </el-row>
       </div>
@@ -259,16 +254,6 @@
               <el-input v-model="scope.row.conductorType" clearable placeholder="瀵间綋绫诲瀷" size="small"></el-input>
             </template>
           </el-table-column>
-          <!--          <el-table-column align="center" label="鍗曚环" width="120">-->
-          <!--            <template slot-scope="scope">-->
-          <!--              <el-input v-model="scope.row.price" clearable placeholder="鍗曚环" size="small"></el-input>-->
-          <!--            </template>-->
-          <!--          </el-table-column>-->
-          <!--          <el-table-column align="center" label="宸ユ椂绯绘暟" width="120">-->
-          <!--            <template slot-scope="scope">-->
-          <!--              <el-input v-model="scope.row.manHour" clearable placeholder="宸ユ椂绯绘暟" size="small"></el-input>-->
-          <!--            </template>-->
-          <!--          </el-table-column>-->
           <el-table-column align="center" label="鎿嶄綔" width="70">
             <template slot-scope="scope">
               <el-button circle icon="el-icon-minus" size="mini" type="danger"
@@ -333,13 +318,11 @@
       factory: [],
       addDia: false,
       updateDia: false, // 淇敼鏍戝悕瀛楀脊妗�
-      oldModel: "",
       addOb: {
-        factory: null,
-        laboratory: null,
-        sampleType: null,
-        sample: null,
-        model: null,
+        id: '',
+        modelName: null,
+        parentLevel: '',
+        parentId: '',
       },
       laboratory: [],
       addLoad: false,
@@ -411,11 +394,6 @@
     };
   },
   methods: {
-    // 淇敼鏈�瀛愮骇鍚嶅瓧
-    editTreeName(info) {
-      this.updateDia = true;
-      this.oldModel = info.label;
-    },
     // 鎷栨嫿鏃跺垽瀹氱洰鏍囪妭鐐硅兘鍚﹁鏀剧疆
     // 'prev'銆�'inner' 鍜� 'next'锛屽墠銆佹彃鍏ャ�佸悗
     allowDrop(draggingNode, dropNode, type) {
@@ -540,67 +518,66 @@
       this.upIndex++;
     },
     handleNodeClick(val, node, el) {
-      //鏍戠殑鍊�
-      if (node.childNodes.length === 0) {
-        this.isShowCopy = true;
-      } else {
-        this.isShowCopy = false;
-      }
+      // 鍒ゆ柇鏄惁涓哄彾瀛愯妭鐐�
+      this.isShowCopy = node.childNodes.length === 0;
+
+      // 鏇存柊鐖惰妭鐐逛俊鎭�
+      this.addOb.parentLevel = node.data.level;
+      this.addOb.parentId = node.data.value;
+      this.addOb.id = node.data.value;
+
+      // 鍒濆鍖栧垎椤电浉鍏冲彉閲�
       this.total = 0;
       this.currentPage = 1;
-      this.selectTree = "";
-      this.getNodeParent(node);
-      this.selectTree = this.selectTree.replace(" - ", "");
-      let data = this.selectTree.split(" - ");
-      let data2 = "";
-      for (let index = data.length - 1; index >= 0; index--) {
-        data2 += " - " + data[index];
-      }
-      this.selectTree = data2.replace(" - ", "");
-      if (node.childNodes.length === 0) {
+
+      // 鎷兼帴鏍戣矾寰�
+      this.selectTree = this.getReversedTreePath(node);
+
+      // 濡傛灉鏄彾瀛愯妭鐐癸紝璋冪敤鐗瑰畾鏂规硶
+      if (this.isShowCopy) {
         this.selectsStandardMethodByFLSSM();
       }
-      let trees = this.selectTree.split(" - ");
-      this.addOb.factory = trees[0];
-      this.addOb.laboratory = trees[1];
-      this.addOb.sampleType = trees[2];
-      this.addOb.sample = trees[3];
     },
-    getNodeParent(val) {
-      if (val.parent != null) {
-        if (val.data.children === null) {
-          this.selectTree += " - " + val.label + " - " + "null";
-        } else {
-          this.selectTree += " - " + val.label;
+
+    /**
+     * 鑾峰彇鍙嶅悜鎷兼帴鐨勬爲璺緞瀛楃涓�
+     * @param {Object} node - 褰撳墠鑺傜偣
+     * @returns {string} - 鍙嶅悜鎷兼帴鐨勬爲璺緞
+     */
+    getReversedTreePath(node) {
+      const pathParts = [];
+
+      // 閫掑綊鑾峰彇鐖惰妭鐐硅矾寰�
+      const collectParentLabels = (currentNode) => {
+        if (currentNode && currentNode.label) {
+          pathParts.unshift(currentNode.label); // 灏嗗綋鍓嶈妭鐐规爣绛炬彃鍏ュ埌鏁扮粍寮�澶�
         }
-        this.getNodeParent(val.parent);
-      }
+        if (currentNode.parent) {
+          collectParentLabels(currentNode.parent); // 閫掑綊澶勭悊鐖惰妭鐐�
+        }
+      };
+
+      collectParentLabels(node);
+
+      // 鎷兼帴璺緞骞惰繑鍥�
+      return pathParts.join(" - ");
     },
     remove(node, data) {
       this.$confirm("鏄惁鍒犻櫎璇ュ眰绾�", "鎻愮ず", {
         type: "error",
-      })
-        .then(() => {
-          // this.treeLoad = true
+      }).then(() => {
+        this.selectTree = "";
+        // 鎷兼帴鏍戣矾寰�
+        this.selectTree = this.getReversedTreePath(node);
+        delStandardTree({ tree: this.selectTree }).then((res) => {
+          this.$message.success("宸插垹闄�");
+          let arr = this.selectTree.split(" - ");
+          this.deleteStandard(this.list, arr[arr.length - 1]);
           this.selectTree = "";
-          this.getNodeParent(node);
-          this.selectTree = this.selectTree.replace(" - ", "");
-          let data = this.selectTree.split(" - ");
-          let data2 = "";
-          for (let index = data.length - 1; index >= 0; index--) {
-            data2 += " - " + data[index];
-          }
-          this.selectTree = data2.replace(" - ", "");
-          delStandardTree({ tree: this.selectTree }).then((res) => {
-            this.$message.success("宸插垹闄�");
-            let arr = this.selectTree.split(" - ");
-            this.deleteStandard(this.list, arr[arr.length - 1]);
-            this.selectTree = "";
-            this.standardList = [];
-            this.productList = [];
-          });
+          this.standardList = [];
+          this.productList = [];
         })
-        .catch((e) => { });
+      }).catch((e) => { });
     },
     deleteStandard(arr, label) {
       arr.forEach((item, index) => {
@@ -679,62 +656,52 @@
         this.standardEnum = data;
       });
     },
+    // 鎵撳紑鏂板寮规
+    openAddDia () {
+      this.addDia = true
+      this.addOb.modelName = ''
+    },
     // 鎻愪氦鍒嗙被娣诲姞
     addStandardTree() {
-      if (this.addOb.sampleType == null || this.addOb.sampleType == "") {
-        this.$message.error("瀵硅薄涓嶅瓨鍦�");
-        return;
-      }
-      if (this.addOb.model == null || this.addOb.model == "") {
+      if (this.addOb.modelName == null || this.addOb.modelName == "") {
         this.$message.error("璇峰~鍐欏瀷鍙�");
         return;
       }
       this.addLoad = true;
-      addStandardTree(this.addOb)
-        .then((res) => {
-          this.$message.success("娣诲姞鎴愬姛");
-          this.addDia = false;
-          this.list
-            .find((a) => a.label == this.addOb.factory)
-            .children.find((a) => a.label == this.addOb.laboratory)
-            .children.find((a) => a.label == this.addOb.sampleType)
-            .children.find((a) => a.label == this.addOb.sample)
-            .children.push({
-              code: "[5]",
-              label: this.addOb.model,
-              value: this.addOb.model,
-            });
-          this.addLoad = false;
-        })
-        .catch((e) => {
-          this.addDia = false;
-          this.addLoad = false;
-        });
+      delete this.addOb.id;
+      addStandardTree(this.addOb).then((res) => {
+        this.$message.success("娣诲姞鎴愬姛");
+        this.addOb.modelName = "";
+        this.addDia = false;
+        this.selectStandardTreeList();
+        this.addLoad = false;
+      }).catch((e) => {
+        this.addLoad = false;
+      });
     },
-    // 淇敼鍨嬪彿
+    // 鎵撳紑淇敼鍚嶅瓧寮规
+    editTreeName(info) {
+      this.updateDia = true;
+      this.addOb.modelName = info.label;
+    },
+    // 鎻愪氦淇敼鍨嬪彿
     updateStandardTree() {
-      if (this.addOb.sampleType == null || this.addOb.sampleType == "") {
-        this.$message.error("瀵硅薄涓嶅瓨鍦�");
-        return;
-      }
-      if (this.addOb.model == null || this.addOb.model == "") {
+      if (this.addOb.modelName == null || this.addOb.modelName == "") {
         this.$message.error("璇峰~鍐欏瀷鍙�");
         return;
       }
-      this.addOb.oldModel = this.oldModel;
       this.updateLoad = true;
-      updateStandardTree(this.addOb)
-        .then((res) => {
-          this.$message.success("娣诲姞鎴愬姛");
-          this.$tab.refreshPage();
-          // this.selectStandardTreeList();
-          this.updateDia = false;
-          this.updateLoad = false;
-        })
-        .catch((e) => {
-          this.updateDia = false;
-          this.updateLoad = false;
-        });
+      delete this.addOb.parentLevel;
+      delete this.addOb.parentId;
+      updateStandardTree(this.addOb).then((res) => {
+        this.$message.success("娣诲姞鎴愬姛");
+        this.selectStandardTreeList();
+        this.addOb.modelName = "";
+        this.updateDia = false;
+        this.updateLoad = false;
+      }).catch((e) => {
+        this.updateLoad = false;
+      });
     },
     selectsStandardMethodByFLSSM() {
       this.tableLoad = true;

--
Gitblit v1.9.3