From d6f23984d45ddab08a7f32fef182c0116ca9bf79 Mon Sep 17 00:00:00 2001
From: longyvfengyun <496960745@qq.com>
Date: 星期二, 05 九月 2023 14:17:48 +0800
Subject: [PATCH] 门禁系统提交

---
 src/views/accessControl/js/doorInfoModule.js |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/src/views/accessControl/js/doorInfoModule.js b/src/views/accessControl/js/doorInfoModule.js
index 884e876..a62ef48 100644
--- a/src/views/accessControl/js/doorInfoModule.js
+++ b/src/views/accessControl/js/doorInfoModule.js
@@ -2,6 +2,8 @@
 import {onMounted, reactive} from "vue";
 import door from "@/assets/js/const/door";
 import getLabelByKey from "@/assets/js/tools/getLabelByKey";
+import {changeDoorState} from "@/views/accessControl/js/api";
+import {ElLoading, ElMessage} from "element-plus";
 const lockStatusList = door.lockStatus;
 const doorInfoModule = ()=>{
   const {
@@ -48,9 +50,72 @@
     doorInfos.map(item=>{
       let doorInfo = data[item.ip];
       item.status = doorInfo.data2.lockStatus;
-      //item.status = 2;
       item.statusText = getLabelByKey(doorInfo.data2.lockStatus, lockStatusList, "鏈煡");
     });
+  }
+  /**
+   * 寮�鍚棬绂�
+   */
+  const openDoor = async (info)=>{
+    const loading = ElLoading.service({
+      lock: false,
+      text: '寮�鍚棬绂佷腑...',
+      background: 'rgba(0, 0, 0, 0.3)',
+    });
+    try {
+      const res = await changeDoorState(info, 1);
+      loading.close();
+      let rs = res.data;
+      if(rs.code === 1 && rs.data) {
+        ElMessage({
+          showClose: true,
+          message: '寮�鍚棬绂佹垚鍔�',
+          type: 'success',
+        });
+      }else {
+        ElMessage({
+          showClose: true,
+          message: '寮�鍚棬绂佸け璐�',
+          type: 'error',
+        });
+      }
+    }catch (error){
+      console.log(error);
+      loading.close();
+    }
+
+  }
+
+  /**
+   * 鍏抽棴闂ㄧ
+   */
+  const closeDoor = async (info)=>{
+    const loading = ElLoading.service({
+      lock: false,
+      text: '鍏抽棴闂ㄧ涓�...',
+      background: 'rgba(0, 0, 0, 0.3)',
+    });
+    try {
+      const res = await changeDoorState(info, 0);
+      loading.close();
+      let rs = res.data;
+      if(rs.code === 1 && rs.data) {
+        ElMessage({
+          showClose: true,
+          message: '鍏抽棴鎴愬姛',
+          type: 'success',
+        });
+      }else {
+        ElMessage({
+          showClose: true,
+          message: '鍏抽棴澶辫触',
+          type: 'error',
+        });
+      }
+    }catch (error){
+      console.log(error);
+      loading.close();
+    }
   }
 
   onMounted(()=>{
@@ -58,7 +123,11 @@
     SOCKET.value.addEventListener("message", handleMessage, false);
   });
 
-  return {doorInfos};
+  return {
+    doorInfos,
+    openDoor,
+    closeDoor
+  };
 }
 
 export default doorInfoModule;

--
Gitblit v1.9.1