From e5454b769d44a34af423bf87ac8a740bf8c20341 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期二, 29 四月 2025 13:25:29 +0800
Subject: [PATCH] Merge branch 'dev' into dev_tides

---
 src/views/standard/standardLibrary/index.vue |  480 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 226 insertions(+), 254 deletions(-)

diff --git a/src/views/standard/standardLibrary/index.vue b/src/views/standard/standardLibrary/index.vue
index 180ad2c..d9855a5 100644
--- a/src/views/standard/standardLibrary/index.vue
+++ b/src/views/standard/standardLibrary/index.vue
@@ -1,192 +1,3 @@
-<style scoped>
-.standard {
-  padding-top: 10px;
-  display: flex;
-  height: calc(100vh - 90px);
-}
-
-.left {
-  width: 330px;
-  height: calc(100% - 40px - 10px);
-  background-color: white;
-  padding: 15px;
-}
-
-.custom-tree-node {
-  width: 100%;
-  line-height: 32px;
-}
-
-.custom-tree-node .el-icon-delete {
-  color: #3a7bfa;
-  opacity: 0;
-  font-size: 18px;
-}
-
-.custom-tree-node:hover .el-icon-delete {
-  opacity: 1;
-}
-
-.custom-tree-node .el-icon-edit {
-  color: #3a7bfa;
-  opacity: 0;
-  font-size: 18px;
-}
-
-.custom-tree-node:hover .el-icon-edit {
-  opacity: 1;
-}
-
-.node_i {
-  color: orange;
-  font-size: 18px;
-}
-
-.right {
-  margin-left: 5px;
-  width: calc(100% - 350px);
-  height: calc(100% - 40px);
-}
-
-.right .title {
-  height: 34px;
-  line-height: 34px;
-  padding: 0 10px;
-  background-color: white;
-}
-
-.standard_table {
-  border-top: 1px solid #ebeef5;
-  background-color: white;
-}
-
-.product_table {
-  border-top: 1px solid #ebeef5;
-  height: calc(100% - 235px);
-  margin-top: 5px;
-  background-color: white;
-  user-select: none;
-}
-
-.product_table .el-table {
-  height: calc(100% - 35px) !important;
-}
-
-.sort {
-  width: 80% !important;
-  overflow: hidden;
-}
-
->>>.el-table__body-wrapper {
-  height: calc(100% - 46px) !important;
-}
-
->>>.header-class {
-  height: 40px !important;
-}
-
->>>.header-class th.el-table__cell>.cell {
-  line-height: 20px !important;
-  padding-top: 0 !important;
-  padding-bottom: 0 !important;
-}
-
->>>.el-table__row {
-  height: 35px !important;
-}
-
-.search {
-  border-bottom: 1px solid #ebeef5;
-  margin-bottom: 16px;
-  display: flex;
-  align-items: center;
-  box-sizing: border-box;
-  padding-bottom: 10px;
-}
-
-.search-item {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-
-.search-item .el-row {
-  display: flex;
-  align-items: center;
-}
-
-.search-item .el-col {
-  margin-left: 0;
-}
-
-.more-edit .dialog-footer {
-  position: absolute;
-  top: 15px;
-  right: 70px;
-}
-
->>>.is-disabled .el-textarea__inner {
-  background: rgba(0, 0, 0, 0.05) !important;
-}
-
->>>.el-table__body-wrapper::-webkit-scrollbar {
-  height: 14px;
-  /* 璁剧疆婊氬姩鏉″搴� */
-}
-</style>
-<style>
-.standard .el-tree-node__content {
-  height: 32px;
-  font-size: 14px;
-  border-radius: 2px;
-}
-
-.standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
-  color: #3a7bfa;
-}
-
-.standard .has-gutter .el-table__cell .cell {
-  line-height: 34px;
-  background-color: #f8f8f8;
-}
-
-.standard .has-gutter .el-table__cell {
-  background-color: #fafafa !important;
-}
-
-.standard .standard_table .el-table__row .cell {
-  font-size: 14px;
-}
-
-.standard .el-table .warning-row .cell {
-  color: #bababa;
-}
-
-.standard .el-table-filter__list {
-  max-height: 400px;
-  overflow-y: auto;
-}
-
-.standard .el-upload {
-  width: 100%;
-}
-
-.standard .el-upload-dragger {
-  width: 100%;
-}
-
-.standard .handleBtn.is-disabled .el-upload:focus {
-  color: #c0c4cc !important;
-}
-
-.standard .avatar-uploader .el-upload {
-  height: 80px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-</style>
-
 <template>
   <div class="standard">
     <div class="left">
@@ -206,7 +17,8 @@
           height: calc(100% - 30px);
           overflow-y: scroll;
           scrollbar-width: none;
-        " @node-click="handleNodeClick" @node-expand="nodeOpen" @node-collapse="nodeClose" @node-drop="handleDrop">
+        " @node-click="handleNodeClick"
+               @node-drop="handleDrop">
         <div slot-scope="{ node, data }" class="custom-tree-node">
           <el-row style="width: 100%">
             <el-col :class="{ sort: node.level > 3 }" :span="19" :title="data.label" style="text-align: left">
@@ -254,6 +66,7 @@
       </el-row>
       <el-row v-loading="tableLoad" class="standard_table">
         <el-table ref="standard" :data="standardList" class="el-table" header-row-class-name="header-class" height="220"
+                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
           highlight-current-row style="width: 100%; height: 220px !important" tooltip-effect="dark"
           @row-click="rowClick">
           <el-table-column label="鏍囧噯缂栧彿" prop="code" show-overflow-tooltip width="200">
@@ -269,7 +82,8 @@
       </el-row>
       <el-row v-loading="tableLoad2" class="product_table">
         <el-table id="templateParamTable" ref="productTable" v-loading="productTableLoading" :data="productList"
-          :fit="true" :row-class-name="tableRowClassName" border class="productTable"
+                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
+          :fit="true" :row-class-name="tableRowClassName" class="productTable"
           header-row-class-name="header-class" height="100%" row-key="id" stripe style="width: 100%"
           tooltip-effect="dark" @select="upProductSelect" @selection-change="handleSelectionChange"
           @select-all="handleAll">
@@ -410,7 +224,8 @@
     </el-dialog>
     <el-dialog :close-on-click-modal="false" :visible.sync="sectionUpDia" title="鍖洪棿璁剧疆" width="80%">
       <div class="body" style="padding: 5px 0">
-        <el-table :data="sectionList" border height="350px" style="width: 100%">
+        <el-table :data="sectionList" border height="350px" style="width: 100%"
+                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }">
           <el-table-column align="center" label="搴忓彿" type="index" width="70">
           </el-table-column>
           <el-table-column align="center" label="鍖洪棿">
@@ -682,10 +497,42 @@
         }
       }
     },
-    filterNode(value, data) {
-      if (!value) return true;
-      return data.label.indexOf(value) !== -1;
+    // 璋冪敤tree杩囨护鏂规硶 涓枃鑻辫繃婊�
+    filterNode (value, data, node) {
+      if (!value) {銆�銆�銆�銆�//濡傛灉鏁版嵁涓虹┖锛屽垯杩斿洖true,鏄剧ず鎵�鏈夌殑鏁版嵁椤�
+        return true
+      }
+      // 鏌ヨ鍒楄〃鏄惁鏈夊尮閰嶆暟鎹紝灏嗗�煎皬鍐欙紝鍖归厤鑻辨枃鏁版嵁
+      let val = value.toLowerCase()
+      return this.chooseNode(val, data, node) // 璋冪敤杩囨护浜屽眰鏂规硶
     },
+    // 杩囨护鐖惰妭鐐� / 瀛愯妭鐐� (濡傛灉杈撳叆鐨勫弬鏁版槸鐖惰妭鐐逛笖鑳藉尮閰嶏紝鍒欒繑鍥炶鑺傜偣浠ュ強鍏朵笅鐨勬墍鏈夊瓙鑺傜偣锛涘鏋滃弬鏁版槸瀛愯妭鐐癸紝鍒欒繑鍥炶鑺傜偣鐨勭埗鑺傜偣銆俷ame鏄腑鏂囧瓧绗︼紝enName鏄嫳鏂囧瓧绗�.
+    chooseNode (value, data, node) {
+      if (data.label.indexOf(value) !== -1) {
+        return true
+      }
+      const level = node.level
+      // 濡傛灉浼犲叆鐨勮妭鐐规湰韬氨鏄竴绾ц妭鐐瑰氨涓嶇敤鏍¢獙浜�
+      if (level === 1) {
+        return false
+      }
+      // 鍏堝彇褰撳墠鑺傜偣鐨勭埗鑺傜偣
+      let parentData = node.parent
+      // 閬嶅巻褰撳墠鑺傜偣鐨勭埗鑺傜偣
+      let index = 0
+      while (index < level - 1) {
+        // 濡傛灉鍖归厤鍒扮洿鎺ヨ繑鍥烇紝姝ゅname鍊兼槸涓枃瀛楃锛宔nName鏄嫳鏂囧瓧绗︺�傚垽鏂尮閰嶄腑鑻辨枃杩囨护
+        if (parentData.data.label.indexOf(value) !== -1) {
+          return true
+        }
+        // 鍚﹀垯鐨勮瘽鍐嶅線涓婁竴灞傚仛鍖归厤
+        parentData = parentData.parent
+        index++
+      }
+      // 娌″尮閰嶅埌杩斿洖false
+      return false
+    },
+
     searchFilter() {
       this.$refs.tree.filter(this.search);
     },
@@ -745,7 +592,6 @@
           }
           this.selectTree = data2.replace(" - ", "");
           delStandardTree({ tree: this.selectTree }).then((res) => {
-            if (res.code == 201) return;
             this.$message.success("宸插垹闄�");
             let arr = this.selectTree.split(" - ");
             this.deleteStandard(this.list, arr[arr.length - 1]);
@@ -764,15 +610,6 @@
           item.children && this.deleteStandard(item.children, label);
         }
       });
-    },
-    nodeOpen(data, node, el) {
-      $($(el.$el).find(".node_i")[0]).attr(
-        "class",
-        "node_i el-icon-folder-opened"
-      );
-    },
-    nodeClose(data, node, el) {
-      $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder");
     },
     selectEnumByCategoryForFactory() {
       this.getConfigKey("sys_factory").then((response) => {
@@ -855,10 +692,6 @@
       this.addLoad = true;
       addStandardTree(this.addOb)
         .then((res) => {
-          if (res.code === 201) {
-            this.addLoad = false;
-            return;
-          }
           this.$message.success("娣诲姞鎴愬姛");
           this.addDia = false;
           this.list
@@ -892,10 +725,6 @@
       this.updateLoad = true;
       updateStandardTree(this.addOb)
         .then((res) => {
-          if (res.code === 201) {
-            this.updateLoad = false;
-            return;
-          }
           this.$message.success("娣诲姞鎴愬姛");
           this.$tab.refreshPage();
           // this.selectStandardTreeList();
@@ -929,10 +758,6 @@
           ask: value,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
         this.$message.success("宸蹭繚瀛�");
       });
     },
@@ -943,10 +768,6 @@
           tell: value,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
         this.$message.success("宸蹭繚瀛�");
       });
     },
@@ -958,10 +779,6 @@
           methodS: value,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
         this.$message.success("宸蹭繚瀛�");
       });
     },
@@ -973,10 +790,6 @@
           radius: value,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
         this.$message.success("宸蹭繚瀛�");
       });
     },
@@ -987,10 +800,6 @@
           price: value,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
         this.$message.success("宸蹭繚瀛�");
       });
     },
@@ -1001,10 +810,6 @@
           manHour: value,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
         this.$message.success("宸蹭繚瀛�");
       });
     },
@@ -1015,10 +820,6 @@
           templateId: value,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
         this.$message.success("宸蹭繚瀛�");
       });
     },
@@ -1099,11 +900,7 @@
           state: row.state,
         }),
       }).then((res) => {
-        if (res.code == 201) {
-          this.$message.error("鏈繚瀛�");
-          return;
-        }
-        // this.$message.success('宸蹭繚瀛�')
+        this.$message.success('宸蹭繚瀛�')
       });
     },
     filterHandler(value) {
@@ -1253,10 +1050,6 @@
           }),
         }).then((res) => {
           this.sectionLoad = false;
-          if (res.code == 201) {
-            this.$message.error("鏈繚瀛�");
-            return;
-          }
           this.$message.success("宸蹭繚瀛�");
           this.sectionUpDia = false;
         });
@@ -1275,10 +1068,6 @@
           },
         }).then((res) => {
           this.sectionLoad = false;
-          if (res.code == 201) {
-            this.$message.error("鏈繚瀛�");
-            return;
-          }
           this.$message.success("宸蹭繚瀛�");
           this.sectionUpDia = false;
           this.currentPage0 = 1;
@@ -1418,3 +1207,186 @@
   },
 };
 </script>
+<style scoped>
+.standard {
+  padding-top: 10px;
+  display: flex;
+  height: calc(100vh - 90px);
+}
+
+.left {
+  width: 330px;
+  height: calc(100% - 40px - 10px);
+  background-color: white;
+  padding: 15px;
+}
+
+.custom-tree-node {
+  width: 100%;
+  line-height: 32px;
+}
+
+.custom-tree-node .el-icon-delete {
+  color: #3a7bfa;
+  opacity: 0;
+  font-size: 18px;
+}
+
+.custom-tree-node:hover .el-icon-delete {
+  opacity: 1;
+}
+
+.custom-tree-node .el-icon-edit {
+  color: #3a7bfa;
+  opacity: 0;
+  font-size: 18px;
+}
+
+.custom-tree-node:hover .el-icon-edit {
+  opacity: 1;
+}
+
+.node_i {
+  color: orange;
+  font-size: 18px;
+}
+
+.right {
+  margin-left: 5px;
+  width: calc(100% - 350px);
+  height: calc(100% - 40px);
+}
+
+.right .title {
+  height: 34px;
+  line-height: 34px;
+  padding: 0 10px;
+  background-color: white;
+}
+
+.standard_table {
+  border-top: 1px solid #ebeef5;
+  background-color: white;
+}
+
+.product_table {
+  border-top: 1px solid #ebeef5;
+  height: calc(100% - 235px);
+  margin-top: 5px;
+  background-color: white;
+  user-select: none;
+}
+
+.product_table .el-table {
+  height: calc(100% - 35px) !important;
+}
+
+.sort {
+  width: 80% !important;
+  overflow: hidden;
+}
+
+>>>.el-table__body-wrapper {
+  height: calc(100% - 46px) !important;
+}
+
+>>>.header-class {
+  height: 40px !important;
+}
+
+>>>.header-class th.el-table__cell>.cell {
+  line-height: 20px !important;
+  padding-top: 0 !important;
+  padding-bottom: 0 !important;
+}
+
+>>>.el-table__row {
+  height: 35px !important;
+}
+
+.search {
+  border-bottom: 1px solid #ebeef5;
+  margin-bottom: 16px;
+  display: flex;
+  align-items: center;
+  box-sizing: border-box;
+  padding-bottom: 10px;
+}
+
+.search-item {
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+}
+
+.search-item .el-row {
+  display: flex;
+  align-items: center;
+}
+
+.search-item .el-col {
+  margin-left: 0;
+}
+
+.more-edit .dialog-footer {
+  position: absolute;
+  top: 15px;
+  right: 70px;
+}
+
+>>>.is-disabled .el-textarea__inner {
+  background: rgba(0, 0, 0, 0.05) !important;
+}
+</style>
+<style scoped>
+.standard .el-tree-node__content {
+  height: 32px;
+  font-size: 14px;
+  border-radius: 2px;
+}
+
+.standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+  color: #3a7bfa;
+}
+
+.standard .has-gutter .el-table__cell .cell {
+  line-height: 34px;
+  background-color: #f8f8f8;
+}
+
+.standard .has-gutter .el-table__cell {
+  background-color: #fafafa !important;
+}
+
+.standard .standard_table .el-table__row .cell {
+  font-size: 14px;
+}
+
+.standard .el-table .warning-row .cell {
+  color: #bababa;
+}
+
+.standard .el-table-filter__list {
+  max-height: 400px;
+  overflow-y: auto;
+}
+
+.standard .el-upload {
+  width: 100%;
+}
+
+.standard .el-upload-dragger {
+  width: 100%;
+}
+
+.standard .handleBtn.is-disabled .el-upload:focus {
+  color: #c0c4cc !important;
+}
+
+.standard .avatar-uploader .el-upload {
+  height: 80px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+</style>

--
Gitblit v1.9.3