From 73953e3d95ecf974a5e79c1e259d33c1c9d518cc Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 28 十一月 2024 16:49:27 +0800
Subject: [PATCH] add 删除功能

---
 src/views/area/server-info.vue |   48 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/src/views/area/server-info.vue b/src/views/area/server-info.vue
index 448faff..3f61aea 100644
--- a/src/views/area/server-info.vue
+++ b/src/views/area/server-info.vue
@@ -75,8 +75,11 @@
               ? 'space-text-red'
               : '',
             item.info && item.info.statusInt == 1 ? 'space-text-yellow' : '',
-          ]" v-if="item.info">
+          ]" v-if="item.info"  @click="showDeviceInfo(index,item,$event)">
             {{ item.info.networkPort || "-" }}
+            <device-info-delete v-show="selectedIndex === item.info.id " :show_info="show_device_info"
+                                :device_info="cur_device_info" @delPort="delPort"
+            ></device-info-delete>
           </div>
           <div class="port-tip">{{ item.index }}</div>
         </div>
@@ -131,6 +134,7 @@
 
 
 import equAddForm from "@/components/equ-add-form.vue";
+import deviceInfoDelete from "@/components/device-info-delete";
 import {
   getAreaServeInfo,
   getFaultInfo,
@@ -147,7 +151,7 @@
 
 export default {
 
-  components: {equAddForm},
+  components: {equAddForm,deviceInfoDelete},
   props: {
     serve_info: {},
     serve_select:{},
@@ -168,7 +172,11 @@
       areas: [],
       device_list: [],
       // serve_info: {},
-    
+      isDragging: false,
+      selectedIndex: null,
+      cur_device_info: null,  // 当前的设备信息
+      cur_item:null,// 当前的element
+      show_device_info: false, // 展示设备信息
     };
   },
   created() {
@@ -226,6 +234,7 @@
       this.cabinetName = info.cabinetName;
     },
     async update_server_info(code,name) {
+      debugger;
       // name 是交换机
       console.log("info",code,name);
       this.$modal.loading("加载中");
@@ -255,8 +264,9 @@
         });
       }
       // console.log("this.activateSwitchPorts", this.activateSwitchPorts);
+      debugger;
       this.dialog_activateSwitchPorts = true;
-      this.cabinetName = cabinetName;
+      this.cabinetName = name;
     },
     click_item_add() {
       console.log("this.$refs.equAddForm", this.$refs.equAddForm);
@@ -269,6 +279,36 @@
       }
       this.$refs.equAddForm && this.$refs.equAddForm.openConfigform(this.code,this.cabinetName,this.cabinetNameForOpen,config);
     },
+    showDeviceInfo(index, item, event) {
+      event.stopPropagation(); // 阻止事件冒泡
+      if (item.info) {
+        // 如果点击的是同一个元素,则切换显示状态
+        if (this.selectedIndex === item.info.id) {
+          this.show_device_info = !this.show_device_info;
+        } else {
+          // 切换到新元素,自动关闭之前的
+          this.selectedIndex = item.info.id;
+          this.show_device_info = true;
+          this.cur_device_info = item.info;
+        }
+      }
+    },
+    async delPort(info) {
+      var json = {
+        id: info.id,
+        operateType: 4,
+        networkPort: info.name,
+      };
+      this.$modal.loading("删除中");
+
+      const data = await delport(json);
+      console.log("info", info);
+      this.update_server_info(info.areaCode, info.switchName);
+
+      // this.$modal.closeLoading();
+      // this.initializeElements();
+      // this.handleBindElementsItems()
+    },
   },
 };
 </script>

--
Gitblit v1.9.3