From f2ef9272ed076bdca33d21b39bcc671e576553b3 Mon Sep 17 00:00:00 2001
From: ZZJ <10913410+zzj2100@user.noreply.gitee.com>
Date: 星期二, 27 九月 2022 11:30:04 +0800
Subject: [PATCH] 添加场景的 时间段的添加编辑删除 加请求字段devid

---
 src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue |  218 ++++++++++++++++++++++++------------------------------
 1 files changed, 97 insertions(+), 121 deletions(-)

diff --git a/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue b/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue
index 5d4415e..abc0e5f 100644
--- a/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue
+++ b/src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue
@@ -2,11 +2,7 @@
   <div class="sub-time-box" v-if="false">
     <div class="btn-control">
       <div class="el-tabs-edit">
-        <span
-          v-if="!editSlider"
-          class="add-btn"
-          @click="handleTabsEdit('', 'edit')"
-        >
+        <span v-if="!editSlider" class="add-btn" @click="handleTabsEdit('', 'edit')">
           <i class="el-icon-edit"></i>
           缂栬緫
         </span>
@@ -22,20 +18,9 @@
         </span>
       </div>
     </div>
-    <el-tabs
-      v-model="activeTab"
-      type="border-card"
-      editable
-      @edit="handleTabsEdit"
-    >
-      <el-tab-pane
-        v-for="item in VideoManageData.TimeRules"
-        :key="item.id"
-        :name="item.id"
-      >
-        <span slot="label" @click="tabClick(item)" style="width: 100px">{{
-          item.name
-        }}</span>
+    <el-tabs v-model="activeTab" type="border-card" editable @edit="handleTabsEdit">
+      <el-tab-pane v-for="item in VideoManageData.TimeRules" :key="item.id" :name="item.id">
+        <span slot="label" @click="tabClick(item)" style="width: 100px">{{ item.name }}</span>
         <multi-range-slider
           :timeData="JSON.parse(item.time_rule)"
           :mainId="`${item.id}_${type}`"
@@ -59,11 +44,7 @@
           :key="item.id"
           :class="{ active: activeTabObj.id === item.id }"
         >
-          <div
-            class="tab"
-            @click="chooseTab(item)"
-            @dblclick="chooseEdit(item)"
-          >
+          <div class="tab" @click="chooseTab(item)" @dblclick="chooseEdit(item)">
             {{ item.name }}
           </div>
           <div class="iconfont del" @click="handleTabsEdit(item.id, 'remove')">
@@ -111,21 +92,21 @@
 </template>
 
 <script>
-import TimeSliderItem from "@/views/hashrate/CameraManage/CameraRules/components/TimeSliderItem";
-import MultiRangeSlider from "@/components/subComponents/MultiRangeSlider";
-import { saveTimeRule, deleteTimeRule } from "@/api/timeRule";
+import TimeSliderItem from "@/views/hashrate/CameraManage/CameraRules/components/TimeSliderItem"
+import MultiRangeSlider from "@/components/subComponents/MultiRangeSlider"
+import { saveTimeRule, deleteTimeRule } from "@/api/timeRule"
 
 export default {
   name: "TimeSlider",
   components: {
     MultiRangeSlider,
-    TimeSliderItem,
+    TimeSliderItem
   },
   props: {
     type: {
       default: "",
-      type: String,
-    },
+      type: String
+    }
   },
   data() {
     return {
@@ -143,7 +124,7 @@
         { day: 4, time_range: [{ start: "00:00", end: "24:00" }] },
         { day: 5, time_range: [{ start: "00:00", end: "24:00" }] },
         { day: 6, time_range: [{ start: "00:00", end: "24:00" }] },
-        { day: 7, time_range: [{ start: "00:00", end: "24:00" }] },
+        { day: 7, time_range: [{ start: "00:00", end: "24:00" }] }
       ],
       isAdding: false,
       swiperOption: {
@@ -151,109 +132,103 @@
         spaceBetween: 0,
         pagination: {
           el: ".swiper-pagination",
-          clickable: true,
+          clickable: true
         },
         navigation: {
           nextEl: ".swiper-next-border",
-          prevEl: ".swiper-pre-border",
+          prevEl: ".swiper-pre-border"
         },
         observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper
-        observeParents: true, //淇敼swiper鐨勭埗鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper
-      },
-    };
+        observeParents: true //淇敼swiper鐨勭埗鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper
+      }
+    }
   },
   created() {
     this.activeTabObj = this.VideoManageData.TimeRules && {
       id: this.VideoManageData.TimeRules[0].id,
       name: this.VideoManageData.TimeRules[0].name,
-      time_rule: JSON.parse(this.VideoManageData.TimeRules[0].time_rule),
-    };
+      time_rule: JSON.parse(this.VideoManageData.TimeRules[0].time_rule)
+    }
   },
   methods: {
     chooseTab(data) {
-      this.activeTabObj = {};
+      this.activeTabObj = {}
 
       this.$nextTick(() => {
         this.activeTabObj = {
           id: data.id,
           name: data.name,
-          time_rule: JSON.parse(data.time_rule),
-        };
-      });
+          time_rule: JSON.parse(data.time_rule)
+        }
+      })
     },
     chooseEdit(data) {
       this.$prompt("璇疯緭鍏ユ柊鐨勬椂闂存鍚嶇О", "鎻愮ず", {
         confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
+        cancelButtonText: "鍙栨秷"
       })
         .then(({ value }) => {
-          let repeat = false;
+          let repeat = false
           this.VideoManageData.TimeRules.forEach((item) => {
             if (item.name === value) {
-              repeat = true;
+              repeat = true
             }
-          });
-          console.log("aaa");
-          console.log(repeat);
+          })
+          console.log("aaa")
+          console.log(repeat)
           if (repeat) {
             this.$notify({
               message: "鍚嶇О涓嶈兘閲嶅",
-              type: "warning",
-            });
-            return;
+              type: "warning"
+            })
+            return
           }
 
-          this.activeTabObj.name = value;
-          this.save();
+          this.activeTabObj.name = value
+          this.save()
         })
-        .catch(() => {});
+        .catch(() => {})
     },
 
     handleTabsEdit(tabId, action) {
-      let tabs = this.VideoManageData.TimeRules;
+      let tabs = this.VideoManageData.TimeRules
       if (action === "add") {
         if (this.isAdding) {
-          return;
+          return
         } else {
-          this.isAdding = true;
+          this.isAdding = true
           let newRule = {
             id: "",
             name: "鏃堕棿娈�" + this.VideoManageData.TimeRules.length,
-            time_rule: this.allDay,
-          };
-          this.activeTabObj = {};
+            time_rule: this.allDay
+          }
+          this.activeTabObj = {}
           saveTimeRule(newRule)
             .then(async (rsp) => {
               if (rsp && rsp.success) {
                 this.$notify({
                   type: "success",
-                  message: "鏂板鎴愬姛",
-                });
-                await this.VideoManageData.getTimeRule();
-                this.activeTabObj = {};
+                  message: "鏂板鎴愬姛"
+                })
+                await this.VideoManageData.getTimeRule()
+                this.activeTabObj = {}
                 this.activeTabObj = {
-                  id: this.VideoManageData.TimeRules[
-                    this.VideoManageData.TimeRules.length - 1
-                  ].id,
-                  name: this.VideoManageData.TimeRules[
-                    this.VideoManageData.TimeRules.length - 1
-                  ].name,
+                  id: this.VideoManageData.TimeRules[this.VideoManageData.TimeRules.length - 1].id,
+                  name: this.VideoManageData.TimeRules[this.VideoManageData.TimeRules.length - 1].name,
                   time_rule: JSON.parse(
-                    this.VideoManageData.TimeRules[
-                      this.VideoManageData.TimeRules.length - 1
-                    ].time_rule
-                  ),
-                };
+                    this.VideoManageData.TimeRules[this.VideoManageData.TimeRules.length - 1].time_rule
+                  )
+                }
               }
-              this.isAdding = false;
+              this.isAdding = false
             })
             .catch(() => {
               this.$notify({
                 type: "warning",
-                message: rsp.msg,
-              });
-              this.isAdding = false;
-            });
+                message: rsp.msg
+              })
+              this.isAdding = false
+            })
         }
       }
       if (action === "remove") {
@@ -261,58 +236,59 @@
           this.$notify({
             title: "璀﹀憡",
             message: "姝ゆ椂闂存姝e湪浣跨敤涓紝鏃犳硶鍒犻櫎锛�",
-            type: "warning",
-          });
+            type: "warning"
+          })
 
-          return;
+          return
         }
 
         this.$confirm("姝ゆ搷浣滃皢鍒犻櫎璇ヨ鍒�, 鎵�鍏宠仈鐨勪换鍔″皢浼氬け鏁堬紝鏄惁缁х画?", {
           center: true,
           confirmButtonText: "纭畾",
-          cancelButtonText: "鍙栨秷",
+          cancelButtonText: "鍙栨秷"
         })
           .then(() => {
-            deleteTimeRule({ id: tabId }).then((rsp) => {
+            deleteTimeRule({ id: tabId, devId: this.$store.state.devId }).then((rsp) => {
               if (rsp && rsp.success) {
-                this.VideoManageData.getTimeRule();
+                this.VideoManageData.getTimeRule()
                 // this.VideoManageData.TimeRules.splice(2, 1)
-                this.activeTab = this.VideoManageData.TimeRules[0].id;
+                this.activeTab = this.VideoManageData.TimeRules[0].id
                 this.$notify({
                   type: "success",
-                  message: "鍒犻櫎鎴愬姛!",
-                });
+                  message: "鍒犻櫎鎴愬姛!"
+                })
               }
-            });
+            })
           })
-          .catch(() => {});
+          .catch(() => {})
       }
       if (action == "edit") {
-        this.editSlider = true;
+        this.editSlider = true
       }
       if (action == "lock") {
-        this.editSlider = false;
+        this.editSlider = false
       }
     },
     windowSizeChange() {
-      let timeSlideWidth = document.querySelector(".sub-time-box").clientWidth;
-      this.cavasLength = timeSlideWidth;
-      console.log("鏃堕棿缁勪欢瀹藉害锛�", timeSlideWidth);
+      let timeSlideWidth = document.querySelector(".sub-time-box").clientWidth
+      this.cavasLength = timeSlideWidth
+      console.log("鏃堕棿缁勪欢瀹藉害锛�", timeSlideWidth)
     },
     updateTimeRule(rule) {
       saveTimeRule(rule)
         .then(async (rsp) => {
+          console.log(rsp, "rrr1333331rrrrrrrrrrrrr")
           if (rsp && rsp.success) {
-            await this.VideoManageData.getTimeRule();
-            this.isAdding = false;
-            this.activeTab = rsp.data.id;
+            await this.VideoManageData.getTimeRule()
+            this.isAdding = false
+            this.activeTab = rsp.data.id
           } else {
-            this.isAdding = false;
+            this.isAdding = false
           }
         })
         .catch(() => {
-          this.isAdding = false;
-        });
+          this.isAdding = false
+        })
     },
     tabClick(item) {
       if (this.activeTab === item.id) {
@@ -321,45 +297,46 @@
           cancelButtonText: "鍙栨秷",
           inputValue: item.name,
           inputPattern: /^[\S]{1,16}$/,
-          inputErrorMessage: "鍚嶇О涓嶈兘鍖呭惈绌烘牸",
+          inputErrorMessage: "鍚嶇О涓嶈兘鍖呭惈绌烘牸"
         })
           .then(({ value }) => {
             this.updateTimeRule({
               id: item.id,
               name: value,
-              time_rule: JSON.parse(item.time_rule),
-            });
+              time_rule: JSON.parse(item.time_rule)
+            })
             this.$notify({
               type: "success",
-              message: "鏃堕棿瑙勫垯鍚嶇О淇敼鎴愬姛",
-            });
+              message: "鏃堕棿瑙勫垯鍚嶇О淇敼鎴愬姛"
+            })
           })
-          .catch(() => {});
+          .catch(() => {})
       }
     },
     close() {
-      this.$emit("close");
+      this.$emit("close")
     },
     save() {
       saveTimeRule(this.activeTabObj)
         .then(async (rsp) => {
+          console.log(rsp, "rrr112222rrrrrrrrrrrrr")
           if (rsp && rsp.success) {
             this.$notify({
               type: "success",
-              message: "淇濆瓨鎴愬姛",
-            });
-            await this.VideoManageData.getTimeRule();
+              message: "淇濆瓨鎴愬姛"
+            })
+            await this.VideoManageData.getTimeRule()
           }
-          this.isAdding = false;
+          this.isAdding = false
         })
         .catch(() => {
-          this.isAdding = false;
-        });
-    },
-  },
-};
+          this.isAdding = false
+        })
+    }
+  }
+}
 </script>
-<style lang='scss' scoped>
+<style lang="scss" scoped>
 .TimeSlider {
   position: relative;
   position: fixed;
@@ -524,5 +501,4 @@
 }
 </style>
 
-<style lang="scss">
-</style>
\ No newline at end of file
+<style lang="scss"></style>

--
Gitblit v1.8.0