From 75f043dfa6660716364e66ee0b3cf99f44255686 Mon Sep 17 00:00:00 2001
From: DYL0109 <dn18191638832@163.com>
Date: 星期三, 16 四月 2025 19:20:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop1.0' into dyl_dev

---
 zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue |  168 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 92 insertions(+), 76 deletions(-)

diff --git a/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue b/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue
index a42b60d..a39fc47 100644
--- a/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue
+++ b/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue
@@ -5,38 +5,44 @@
         <div class="tree page-box">
           <!-- <CardHeader class="mb20">鐢ㄨ兘鍗曞厓缁撴瀯</CardHeader> -->
           <!-- <el-input v-model="filterText" style="width: 240px" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" class="mb10" /> -->
-          <el-tree ref="treeRef" :props="defaultProps" :data="treeData" node-key="id" highlight-current
-            :filter-node-method="filterNode" :default-expanded-keys="treeExpandData" :expand-on-click-node="false"
-            @node-click="changeNode" accordion>
+          <el-tree
+            ref="treeRef"
+            :props="defaultProps"
+            :data="treeData"
+            node-key="id"
+            highlight-current
+            :filter-node-method="filterNode"
+            :default-expanded-keys="treeExpandData"
+            :expand-on-click-node="false"
+            @node-click="changeNode"
+            accordion
+          >
             <template #default="{ node, data }">
               <span>
-                <el-tooltip v-if="node.label.length > 6" class="item" effect="dark" :content="node.label"
-                  placement="top-end">
+                <el-tooltip
+                  v-if="node.label.length > 6"
+                  class="item"
+                  effect="dark"
+                  :content="node.label"
+                  placement="top-end"
+                >
                   <span>{{ node.label.slice(0, 6) + "..." }}</span>
                 </el-tooltip>
                 <span v-else id="b">{{ node.label }}</span>
               </span>
               <span class="node-opt">
-                <el-link title="鏂板涓嬬骇鑺傜偣" icon="Plus" @click="() => addNode(node, data)">
-                </el-link>
-                <el-link title="淇敼鑺傜偣" icon="EditPen" @click="() => editNode(node, data)">
-                </el-link>
-                <el-link title="鍒犻櫎鑺傜偣" icon="Delete" @click="() => delNode(node, data)">
-                </el-link>
+                <el-link title="鏂板涓嬬骇鑺傜偣" icon="Plus" @click="() => addNode(node, data)"> </el-link>
+                <el-link title="淇敼鑺傜偣" icon="EditPen" @click="() => editNode(node, data)"> </el-link>
+                <el-link title="鍒犻櫎鑺傜偣" icon="Delete" @click="() => delNode(node, data)"> </el-link>
               </span>
             </template>
           </el-tree>
         </div>
       </div>
       <div class="page-container-right">
-
-        <div class="mb20 mt20 ml20 tab-box">
-          <div class="tab-li" :class="tab == 1 ? 'is-tab' : ''" @click="handleTab('1')">
-            璁¢噺鍣ㄥ叿閰嶇疆淇℃伅
-          </div>
-          <div class="tab-li" :class="tab == 2 ? 'is-tab' : ''" @click="handleTab('2')">
-            缁熻鎸囨爣
-          </div>
+        <div class="tab-box">
+          <div class="tab-li" :class="tab == 1 ? 'is-tab' : ''" @click="handleTab('1')">璁¢噺鍣ㄥ叿閰嶇疆淇℃伅</div>
+          <div class="tab-li" :class="tab == 2 ? 'is-tab' : ''" @click="handleTab('2')">缁熻鎸囨爣</div>
           <!-- <el-radio-group v-model="tab">
                                 <el-radio-button label="1" @click="handleTab('1')"> 璁惧閰嶇疆</el-radio-button>
                                 <el-radio-button label="2" @click="handleTab('2')"> 閲囬泦鎸囨爣</el-radio-button>
@@ -45,10 +51,10 @@
         <BaseCard :title="currentNode ? currentNode.label + '--鑺傜偣閰嶇疆' : '鏆傛棤鑺傜偣閰嶇疆'">
           <div>
             <div class="content-box" v-if="tab == '1'">
-              <deviceConfig ref='deviceConfigRef' />
+              <deviceConfig ref="deviceConfigRef" />
             </div>
             <div class="content-box1" v-if="tab == '2'">
-              <statisticalIndicatorManagement ref='statisticalIndicatorManagementRef' :indexType='"STATISTIC"' />
+              <statisticalIndicatorManagement ref="statisticalIndicatorManagementRef" :indexType="'STATISTIC'" />
             </div>
           </div>
         </BaseCard>
@@ -56,31 +62,36 @@
         <!-- <statisticalIndicatorManagement ref="statisticalIndicatorManagementRef" :indexType='"STATISTIC"' /> -->
       </div>
     </div>
-    <treeNodeModal ref="treeNodeModalRef" @getList="getTreeList" modelCode="JCZBK_CODE" @addTreeList="addTreeList"
-      @addTreeSelectList="addTreeSelectList" />
+    <treeNodeModal
+      ref="treeNodeModalRef"
+      @getList="getTreeList"
+      :modelCode="modelCode"
+      @addTreeList="addTreeList"
+      @addTreeSelectList="addTreeSelectList"
+    />
   </div>
-
 </template>
 
 <script setup>
-import treeNodeModal from './components/TreeNodeModal.vue'
-import deviceConfig from './components/deviceConfig/DeviceConfig.vue'
-import statisticalIndicatorManagement from './components/statisticalIndicatorManagement/statisticalIndicatorManagement.vue';
-import { treeList, delModelNode, hasEnergyIndex, } from '@/api/modelConfiguration/indexWarehouse'
-const { proxy } = getCurrentInstance();
+import treeNodeModal from "./components/TreeNodeModal.vue"
+import deviceConfig from "./components/deviceConfig/DeviceConfig.vue"
+import statisticalIndicatorManagement from "./components/statisticalIndicatorManagement/statisticalIndicatorManagement.vue"
+import { treeList, delModelNode, hasEnergyIndex } from "@/api/modelConfiguration/indexWarehouse"
+const { proxy } = getCurrentInstance()
 
 let currentNode = ref()
 let treeRef = ref()
 let tab = ref(1)
 let treeData = ref([])
+const modelCode = proxy.$route.query.modelCode || "JCZBK_CODE"
 
 const defaultProps = ref({
-  children: 'children',
-  label: 'label',
+  children: "children",
+  label: "label",
 })
 
 //妫�绱㈡爲
-let filterText = ref('')
+let filterText = ref("")
 
 const filterNode = (value, data) => {
   if (!value) return true
@@ -88,14 +99,14 @@
 }
 watch(filterText, (val) => {
   // 妫�鏌reeRef.value鏄惁鏄竴涓湁鏁堢殑ElTree瀹炰緥
-  if (treeRef.value && typeof treeRef.value.filter === 'function') {
+  if (treeRef.value && typeof treeRef.value.filter === "function") {
     // 璋冪敤filter鏂规硶
-    treeRef.value.filter(val);
+    treeRef.value.filter(val)
   } else {
     // treeRef.value鏃犳晥锛屽鐞嗛敊璇�
-    console.error('error');
+    console.error("error")
   }
-});
+})
 
 let treeExpandData = ref([])
 let isFirstLeafNode = ref(false)
@@ -103,32 +114,31 @@
 let statisticalIndicatorManagementRef = ref(null)
 //鑾峰彇鏍戝垪琛�
 function getTreeList() {
-  treeList({ modelCode: 'JCZBK_CODE' }).then(res => {
+  treeList({ modelCode: proxy.$route.query.modelCode || "JCZBK_CODE" }).then((res) => {
     let { data } = res
-    treeData.value = data;
-    let chooseNode = null;
+    treeData.value = data
+    let chooseNode = null
     if (data.length > 0) {
       if (data[0].children && data[0].children.length !== 0 && isFirstLeafNode.value) {
         if (data[0].children[0].children && data[0].children[0].children.length !== 0) {
-          chooseNode = data[0].children[0].children[0];
+          chooseNode = data[0].children[0].children[0]
         } else {
-          chooseNode = data[0].children[0];
+          chooseNode = data[0].children[0]
         }
       } else {
-        chooseNode = data[0];
+        chooseNode = data[0]
       }
-      currentNode.value = chooseNode;
-      treeExpandData.value.push(chooseNode.id);
+      currentNode.value = chooseNode
+      treeExpandData.value.push(chooseNode.id)
       nextTick(() => {
-        treeRef.value.setCurrentKey(chooseNode.id);
+        treeRef.value.setCurrentKey(chooseNode.id)
         if (tab.value == 1 && deviceConfigRef.value) {
           deviceConfigRef.value.getList(chooseNode)
         }
         if (tab.value == 2 && statisticalIndicatorManagementRef.value) {
           statisticalIndicatorManagementRef.value.getList(chooseNode)
         }
-
-      });
+      })
     }
   })
 }
@@ -143,7 +153,7 @@
   treeExpandData.value.push(addedNode.nodeId)
   nextTick(() => {
     treeRef.value.setCurrentNode(newChild)
-    currentNode.value = newChild;
+    currentNode.value = newChild
     if (tab.value == 1) {
       if (deviceConfigRef.value) {
         deviceConfigRef.value.getList(newChild)
@@ -155,11 +165,10 @@
       }
     }
   })
-
 }
 //鏍戠偣鍑�
 function changeNode(data, node, ev) {
-  currentNode.value = data;
+  currentNode.value = data
   if (tab.value == 1) {
     if (deviceConfigRef.value) {
       deviceConfigRef.value.getList(data)
@@ -171,7 +180,6 @@
     }
   }
 }
-
 
 let treeNodeModalRef = ref(null)
 
@@ -188,26 +196,27 @@
 
 function delNode(node, data) {
   if (data.children && data.children.length > 0) {
-    proxy.$modal.msgWarning('鍖呭惈瀛愯妭鐐癸紝涓嶈兘杩涜鍒犻櫎锛�')
+    proxy.$modal.msgWarning("鍖呭惈瀛愯妭鐐癸紝涓嶈兘杩涜鍒犻櫎锛�")
     return
   }
 
-  hasEnergyIndex(data.id).then(response => {
+  hasEnergyIndex(data.id).then((response) => {
     if (response.data) {
-      proxy.$modal.msgWarning('褰撳墠鑺傜偣涓嬪瓨鍦ㄦ寚鏍囷紝涓嶈兘杩涜鍒犻櫎锛�')
+      proxy.$modal.msgWarning("褰撳墠鑺傜偣涓嬪瓨鍦ㄦ寚鏍囷紝涓嶈兘杩涜鍒犻櫎锛�")
     } else {
-      proxy.$modal.confirm('鏄惁纭鍒犻櫎鍚嶄负"' + data.label + '"鐨勮妭鐐�?', '璀﹀憡', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      })
+      proxy.$modal
+        .confirm('鏄惁纭鍒犻櫎鍚嶄负"' + data.label + '"鐨勮妭鐐�?', "璀﹀憡", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning",
+        })
         .then(function () {
           return delModelNode(data.id)
         })
         .then(() => {
           let parent = node.parent
           let children = parent.data.children || parent.data
-          let index = children.findIndex(d => d.id === data.id)
+          let index = children.findIndex((d) => d.id === data.id)
           children.splice(index, 1)
 
           nextTick(() => {
@@ -217,10 +226,9 @@
               changeNode(null)
             }
           })
-          proxy.$modal.msgSuccess('鍒犻櫎鎴愬姛')
+          proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
         })
-        .catch(function () {
-        })
+        .catch(function () {})
     }
   })
 }
@@ -234,15 +242,12 @@
     if (value == 2 && statisticalIndicatorManagementRef.value) {
       statisticalIndicatorManagementRef.value.getList(currentNode.value)
     }
-
-  });
-
+  })
 }
 </script>
 
 <style lang="scss" scoped>
 @import "@/assets/styles/page.scss";
-
 
 .page-box {
   height: calc(100vh - 145px);
@@ -276,8 +281,6 @@
       margin-right: 5px;
     }
   }
-
-
 }
 
 :deep .el-tabs__nav-wrap:after {
@@ -298,29 +301,42 @@
 .tab-box {
   display: flex;
   align-items: center;
-  color: #fff;
-  border-bottom: 1px solid #3371EB;
+  color: #333;
+  border-bottom: 1px solid #3371eb;
   margin-right: 20px;
+  margin-left: 15px;
+  font-size: 15px;
 
   .tab-li {
     cursor: pointer;
-    border: 1px solid #3371EB;
-    padding: 10px 25px;
+    border: 1px solid #3371eb;
+    padding: 8px 20px;
     border-radius: 5px 5px 0 0;
   }
 
   .is-tab {
-    background: #3371EB;
+    background: #3371eb;
+    color: #fff;
+  }
+}
+
+.themeDark {
+  .tab-box {
+    color: #fff;
+  }
+}
+
+.themeLight {
+  .tab-box {
+    color: #333;
   }
 }
 
 .content-box {
   height: calc(100vh - 310px) !important;
-
 }
 
 .content-box1 {
   height: calc(100vh - 290px) !important;
-
 }
 </style>

--
Gitblit v1.9.3