From 994e5e08cba4e6b9ce321b7cf5cb1ec8d19dfa22 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期二, 12 四月 2022 17:50:21 +0800
Subject: [PATCH] 摄像机管理

---
 src/components/subComponents/MultiRangeSlider.vue |  127 ++++++++++++++++++++++++-----------------
 1 files changed, 74 insertions(+), 53 deletions(-)

diff --git a/src/components/subComponents/MultiRangeSlider.vue b/src/components/subComponents/MultiRangeSlider.vue
index 5bab8e5..36a2cfc 100644
--- a/src/components/subComponents/MultiRangeSlider.vue
+++ b/src/components/subComponents/MultiRangeSlider.vue
@@ -1,6 +1,8 @@
 <template>
   <div class="timeRangeSliderBox">
-    <canvas :id="mainId" :ref="mainId" width="700px" height="260px">鎶辨瓑,鎮ㄧ殑娴忚鍣ㄤ笉鏀寔canvas!璇锋洿鎹㈡祻瑙堝櫒</canvas>
+    <canvas :id="mainId" :ref="mainId" width="700px" height="260px"
+      >鎶辨瓑,鎮ㄧ殑娴忚鍣ㄤ笉鏀寔canvas!璇锋洿鎹㈡祻瑙堝櫒</canvas
+    >
     <canvas
       :id="`${mainId}Dummy`"
       :ref="`${mainId}Dummy`"
@@ -11,8 +13,13 @@
       @mousedown="mouseDown($event)"
       @mousemove="mousemove($event)"
       @mouseup="mouseup($event)"
-    >鎶辨瓑,鎮ㄧ殑娴忚鍣ㄤ笉鏀寔canvas!璇锋洿鎹㈡祻瑙堝櫒</canvas>
-    <div class="popup-box" :style="`top:${popPos.y + 10}px;left:${popPos.x - 70}px`" v-if="isPopup">
+      >鎶辨瓑,鎮ㄧ殑娴忚鍣ㄤ笉鏀寔canvas!璇锋洿鎹㈡祻瑙堝櫒</canvas
+    >
+    <div
+      class="popup-box"
+      :style="`top:${popPos.y + 10}px;left:${popPos.x - 70}px`"
+      v-if="isPopup"
+    >
       <div>
         <b>寮�濮嬫椂闂�:</b>
         <input
@@ -37,7 +44,7 @@
         <b>:</b>
         <input v-model="changeTime.endMin" type="number" placeholder="鍒�" />
       </div>
-      <div style="margin-top:5px;">
+      <div style="margin-top: 5px">
         <el-button @click="deleteRange">鍒犻櫎</el-button>
         <el-button @click="cancalPop">鍙栨秷</el-button>
         <el-button @click="timeAck">纭畾</el-button>
@@ -49,7 +56,6 @@
 <script>
 export default {
   mounted() {
-
     this.initMain();
     this.initMainDummy();
   },
@@ -71,43 +77,43 @@
       isPopup: false,
       popPos: {
         x: "",
-        y: ""
+        y: "",
       },
       changeTime: {
         startHour: "",
         startMin: "",
         endHour: "",
-        endMin: ""
+        endMin: "",
       },
       rangeArrBackup: "",
       styleClass: {
         weekTextColor: "",
         minutePerColor: "#cdcdcd",
-        minutePerTextColor: "#808080"
-      }
+        minutePerTextColor: "#808080",
+      },
     };
   },
   props: {
     timeData: {
-      default: () => { },
-      type: Array
+      default: () => {},
+      type: Array,
     },
     mainId: {
       type: String,
-      default: ""
+      default: "",
     },
     itemId: {
       type: String,
-      default: ""
+      default: "",
     },
     itemName: {
       type: String,
-      default: ""
+      default: "",
     },
     edit: {
       type: Boolean,
-      default: false
-    }
+      default: false,
+    },
   },
   watch: {
     changeTime: {
@@ -131,24 +137,27 @@
         }
 
         if (newVal.startMin > 60) {
-          newVal.startMin = 0
+          newVal.startMin = 0;
         }
         if (newVal.startMin < 0) {
-          newVal.startMin = 60
+          newVal.startMin = 60;
         }
         if (newVal.endMin > 60) {
-          newVal.endMin = 0
+          newVal.endMin = 0;
         }
         if (newVal.endMin < 0) {
-          newVal.endMin = 0
+          newVal.endMin = 0;
         }
 
-        if (parseInt(newVal.startHour) == parseInt(newVal.endHour) && parseInt(newVal.startMin) > parseInt(newVal.endMin)) {
-          newVal.startMin = 0
+        if (
+          parseInt(newVal.startHour) == parseInt(newVal.endHour) &&
+          parseInt(newVal.startMin) > parseInt(newVal.endMin)
+        ) {
+          newVal.startMin = 0;
         }
       },
-      deep: true
-    }
+      deep: true,
+    },
   },
   methods: {
     timeAck() {
@@ -157,14 +166,24 @@
       let perM = perH / 60;
 
       let tempRangeInfo = this.rangeArr[rangeInfo.ownedIndex].rangeInfo;
-      tempRangeInfo.maxX = this.changeTime.endHour * perH + this.changeTime.endMin * perM + 50.5;
-      tempRangeInfo.minX = this.changeTime.startHour * perH + this.changeTime.startMin * perM + 50.5;
+      tempRangeInfo.maxX =
+        this.changeTime.endHour * perH + this.changeTime.endMin * perM + 50.5;
+      tempRangeInfo.minX =
+        this.changeTime.startHour * perH +
+        this.changeTime.startMin * perM +
+        50.5;
       tempRangeInfo.width = tempRangeInfo.maxX - tempRangeInfo.minX;
       for (let i = 0; i < this.gridArr.length; i++) {
         let num = 0;
         for (let j = 0; j < this.rangeArr.length; j++) {
-          if (this.gridArr[i].posIndex === this.rangeArr[j].rangeInfo.posIndex) {
-            this.gridArr[i].rangeList.splice(num, 1, this.rangeArr[j].rangeInfo);
+          if (
+            this.gridArr[i].posIndex === this.rangeArr[j].rangeInfo.posIndex
+          ) {
+            this.gridArr[i].rangeList.splice(
+              num,
+              1,
+              this.rangeArr[j].rangeInfo
+            );
             num++;
           }
         }
@@ -310,9 +329,11 @@
           return;
         }
         this.actRange.rangeInfo.minX = tempMinxX;
-        this.actRange.rangeInfo.maxX = tempMinxX + this.actRange.rangeInfo.width;
+        this.actRange.rangeInfo.maxX =
+          tempMinxX + this.actRange.rangeInfo.width;
         this.currentPointX = e.offsetX;
-        let tempRangeList = this.gridArr[this.actRange.rangeInfo.posIndex].rangeList;
+        let tempRangeList =
+          this.gridArr[this.actRange.rangeInfo.posIndex].rangeList;
         this.redraw();
         // console.log("move-ed");
       } else if (
@@ -327,17 +348,17 @@
           if (
             this.actRange.rangeInfo.minX <= limit.limitLeft ||
             this.actRange.rangeInfo.minX + this.actRange.rangeInfo.width >=
-            limit.limitRight
+              limit.limitRight
           ) {
             return;
           }
-          let tempX
+          let tempX;
           if (this.x < 50) {
-            tempX = 50
+            tempX = 50;
           } else if (this.x > 650) {
-            tempX = 650
+            tempX = 650;
           } else {
-            tempX = this.x
+            tempX = this.x;
           }
           let temp = tempX - this.currentPointX > 0 ? true : false;
           let newWith = 0;
@@ -366,8 +387,8 @@
               width: 10,
               height: 14,
               posIndex: this.actGrid.posIndex,
-              ownedIndex: 0
-            }
+              ownedIndex: 0,
+            },
           };
           let actRangeIndex = 0;
           for (let i = 0; i < tempRangeList.length; i++) {
@@ -395,9 +416,8 @@
               }
             }
           }
-          this.actGrid.rangeList = this.gridArr[
-            this.actGrid.posIndex
-          ].rangeList;
+          this.actGrid.rangeList =
+            this.gridArr[this.actGrid.posIndex].rangeList;
           this.actRange = this.rangeArr[this.actRangeIndex];
           this.isCreate = true;
         }
@@ -412,7 +432,7 @@
         if (
           (this.actRange.rangeInfo.minX <= limit.limitLeft ||
             this.actRange.rangeInfo.minX + this.actRange.rangeInfo.width >=
-            limit.limitRight) &&
+              limit.limitRight) &&
           this.noLimit > 5
         ) {
           this.isResizeRight = false;
@@ -441,7 +461,8 @@
             return;
           }
           this.actRange.rangeInfo.maxX = this.x > 650 ? 650 : this.x;
-          this.actRange.rangeInfo.width = this.actRange.rangeInfo.maxX - this.actRange.rangeInfo.minX;
+          this.actRange.rangeInfo.width =
+            this.actRange.rangeInfo.maxX - this.actRange.rangeInfo.minX;
           this.noLimit++;
           this.redraw();
           return;
@@ -486,7 +507,7 @@
       let behind = this.rangeArr[this.actRangeIndex + 1];
       let obj = {
         limitLeft: 50,
-        limitRight: 650
+        limitRight: 650,
       };
       if (before === undefined && behind === undefined) {
         return obj;
@@ -579,7 +600,7 @@
           width: 600,
           height: 14,
           posIndex: i,
-          rangeList: []
+          rangeList: [],
         };
         this.gridArr.push(tempGrid);
         let timePer = 600 / 24;
@@ -629,7 +650,7 @@
             width: diffRange,
             height: 14,
             posIndex: i,
-            ownedIndex: this.rangeArr.length
+            ownedIndex: this.rangeArr.length,
           };
           rang[j].rangeInfo = rangeInfo;
           this.gridArr[i].rangeList.push(rangeInfo);
@@ -655,10 +676,10 @@
         minuteEnd = minuteEnd < 10 ? "0" + minuteEnd : minuteEnd;
         let textStart = `${hourStart < 10 ? "0" + hourStart : hourStart}:${
           minutetStart === 60 ? "00" : minutetStart
-          }`;
+        }`;
         let textEnd = `${hourEnd < 10 ? "0" + hourEnd : hourEnd}:${
           minuteEnd === 60 ? "00" : minuteEnd
-          }`;
+        }`;
         let startPointX = rangeInfo.minX - 14;
         let startPointY = rangeInfo.maxY + 10;
         let endPointX = rangeInfo.maxX - 13;
@@ -684,7 +705,7 @@
           day: i + 1,
           time_range: (() => {
             let range = [];
-            this.rangeArr.forEach(item => {
+            this.rangeArr.forEach((item) => {
               if (item.rangeInfo.posIndex === i) {
                 let rangeInfo = item.rangeInfo;
                 let hourStart = parseInt((rangeInfo.minX - 50.5) / (600 / 24));
@@ -702,23 +723,23 @@
                 minuteEnd = minuteEnd < 10 ? "0" + minuteEnd : minuteEnd;
                 range.push({
                   start: hourStart + ":" + minutetStart,
-                  end: hourEnd + ":" + minuteEnd
+                  end: hourEnd + ":" + minuteEnd,
                 });
               }
             });
             return range;
-          })()
+          })(),
         });
       }
 
       let obj = {
         id: this.itemId,
         name: this.itemName,
-        time_rule: timeRule
+        timeRule: timeRule,
       };
       this.$emit("range-update", obj);
-    }
-  }
+    },
+  },
 };
 </script>
  

--
Gitblit v1.8.0