From c6d3157eb616116c84d35e221ed9c57ef8da0ad6 Mon Sep 17 00:00:00 2001
From: long <515897141@qq.com>
Date: 星期四, 01 二月 2024 16:24:11 +0800
Subject: [PATCH] 操作频繁锁(60秒)

---
 src/pages/room/detail.vue |   55 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 42 insertions(+), 13 deletions(-)

diff --git a/src/pages/room/detail.vue b/src/pages/room/detail.vue
index f76c17b..b385645 100644
--- a/src/pages/room/detail.vue
+++ b/src/pages/room/detail.vue
@@ -24,9 +24,11 @@
     <div class="page_header_placeholer" />
     <!-- 鏈湁瀹夋帓 -->
     <div v-if="(!occupyInfoViewArr || !occupyInfoViewArr.length) && (!assignTreatListView || !assignTreatListView.length)" class="page_container flex flex-1">
-      <div class="main flex-1">
+      <div class="main flex-1 flex flex-col">
         <div v-if="roomInfo && roomInfo.roomNo" class="room_title">{{ roomInfo.roomNo }}</div>
-        <div v-if="roomInfo" class="room_main_tip" style="margin-top: 93px;line-height: 186px;font-size: 140px;">-{{ statusTx[roomInfo.status] }}-</div>
+        <div class="flex-1" />
+        <div v-if="roomInfo" class="room_main_tip" style="line-height: 186px;font-size: 140px;margin-top: 0">-{{ statusTx[roomInfo.status] }}-</div>
+        <div class="flex-1" />
         <div class="btn_box flex flex-center">
           <div class="flex flex-ver">
             <div class="btn_box__item flex flex-center white" data-tx="绌洪棽" data-status="0" @click="statusChg">
@@ -154,8 +156,14 @@
       timeObj: {}, // week锛氭槦鏈燂紝date锛氬勾鏈堟棩锛宼imeMin锛氭椂鍒嗭紝time锛氭椂鍒嗙锛宼imeStamp锛氭椂闂存埑
       curTreatId: '',
       curTreatIds: '', // 宸查�変腑鐨勬不鐤楄褰昳d鏁扮粍
-      offNarcosisIds: [] // 鏄惁宸查�氱煡鍗搁夯鐨勭敤鎴穒d鏁扮粍
+      offNarcosisIds: [], // 鏄惁宸查�氱煡鍗搁夯鐨勭敤鎴穒d鏁扮粍
       // isShowAppellationName: true // 鏄惁鏄剧ず绉拌皳
+
+      // 60绉掑垏鎹㈢姸鎬侀攣 鈫撯啌鈫撯啌鈫撯啌鈫撯啌鈫撯啌
+      setStatusLock: false, // 鏇存柊鐘舵�侀攣
+      setStatusLockDuration: 60000, // 鏇存柊鐘舵�侀攣鏃堕棿
+      setStatusLockTimer: null
+      // 60绉掑垏鎹㈢姸鎬侀攣 鈫戔啈鈫戔啈鈫戔啈鈫戔啈鈫戔啈
     }
   },
   computed: {
@@ -528,6 +536,14 @@
     },
     // 鏀瑰彉鎴块棿鐘舵�佸紓姝ユ柟娉�
     changeStatusFn(item = {}, status, cb) {
+      // 鏈В閿� 20240201 long
+      if (this.setStatusLock) {
+        return this.$messageWarn('鎿嶄綔棰戠箒锛岃绋嶅悗鍐嶈瘯')
+      }
+      this.setStatusLock = true
+      clearInterval(this.setStatusLockTimer)
+      this.setStatusLockTimer = null
+
       var params = {}
       // 鎴块棿id
       if (this.id) {
@@ -571,18 +587,18 @@
 
         // 褰撳墠閫夋嫨瀹㈡埛鐨勬暟缁勫垹闄ゅ鎴�
         this.occupyInfoViewArrDataHandle('cancel', item)
+        params.treatRoomList = []
+        if (arr && arr.length) {
+          arr.forEach((o) => {
+            params.treatRoomList.push({
+              treatRecordId: o.id,
+              status: o.treatRoomStatus
+            })
+          })
+        }
       } else {
         // 鏇存敼鐨勭姸鎬�
         params.status = status * 1
-      }
-      params.treatRoomList = []
-      if (arr && arr.length) {
-        arr.forEach((o) => {
-          params.treatRoomList.push({
-            treatRecordId: o.id,
-            status: o.treatRoomStatus
-          })
-        })
       }
 
       Req.http.post({
@@ -610,6 +626,15 @@
         }
         // console.log('8888888888888888888888888888888888', res)
         cb && cb()
+
+        // 30s鍚庤В閿� 20240201 long
+        this.setStatusLockTimer = setInterval(() => {
+          this.setStatusLock = false
+        }, this.setStatusLockDuration)
+      }, () => {
+        setTimeout(() => {
+          this.setStatusLock = false
+        }, 1000)
       })
     },
     // 閲嶇疆鐘舵��
@@ -744,6 +769,9 @@
 }
 .page_header_placeholer {
   height: 100px;
+  width: 100%;
+  display: block;
+  flex-shrink: 0;
 }
 .page_header {
   position: fixed;
@@ -821,7 +849,8 @@
   color: rgba(154,154,154,1);
 }
 .page_container .main .btn_box {
-  margin-top: 130px;
+  /* margin-top: 130px; */
+  margin-bottom: 40px;
 }
 .page_container .main .btn_box__item {
   width: 250px;

--
Gitblit v1.8.0