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/scripts/httpRequest.ts | 4
src/store/index.js | 18 ++-
src/views/hashrate/CameraManage/CameraRules/index.vue | 1
src/views/hashrate/CameraManage/CameraRules/components/TimeSlider.vue | 218 +++++++++++++++++++------------------------
4 files changed, 113 insertions(+), 128 deletions(-)
diff --git a/src/scripts/httpRequest.ts b/src/scripts/httpRequest.ts
index ed332a2..aa78816 100644
--- a/src/scripts/httpRequest.ts
+++ b/src/scripts/httpRequest.ts
@@ -26,6 +26,10 @@
config.data.devId = sessionStorage.getItem("cameraDevId")
}
+ if (config.url === "/saas/api-s/cameraTimerule/save") {
+ config.data.devId = sessionStorage.getItem("cameraDevId")
+ }
+
//鍚庨棬
if (config.url === "/saas/api-d/device/userClusterInfo") {
config.data.clusterId = ""
diff --git a/src/store/index.js b/src/store/index.js
index 2b4c5a9..d5ddf66 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,21 +1,25 @@
-import Vue from "vue";
-import Vuex from "vuex";
+import Vue from "vue"
+import Vuex from "vuex"
-Vue.use(Vuex);
+Vue.use(Vuex)
export default new Vuex.Store({
state: {
productPay: {},
newSdk: {},
+ devId: ""
},
mutations: {
addProductPay(state, productPay) {
- state.productPay = productPay;
+ state.productPay = productPay
},
setNewSdk(state, sdk) {
- state.newSdk = sdk;
+ state.newSdk = sdk
},
+ setDevId(state, devId) {
+ state.devId = devId
+ }
},
actions: {},
- modules: {},
-});
+ modules: {}
+})
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>
diff --git a/src/views/hashrate/CameraManage/CameraRules/index.vue b/src/views/hashrate/CameraManage/CameraRules/index.vue
index d35a536..27ac04c 100644
--- a/src/views/hashrate/CameraManage/CameraRules/index.vue
+++ b/src/views/hashrate/CameraManage/CameraRules/index.vue
@@ -532,6 +532,7 @@
// 鍒濆鍖栨憚鍍忔満淇℃伅锛岀埗缁勪欢璋冪敤
async initCameraData(id, devId) {
+ this.$store.commit("setDevId", devId)
devId ? false : (devId = "")
getAllTimeRule(devId).then((rsp) => {
this.VideoManageData.TimeRules = rsp.data.timeRules
--
Gitblit v1.8.0