From 7a2b07ad2b0715c6e2dffb5102cd1d1c05c28d6a Mon Sep 17 00:00:00 2001
From: mark <mark18340872469@163.com>
Date: 星期四, 29 九月 2022 11:14:20 +0800
Subject: [PATCH] 点位信息 all

---
 src/views/dataPush/components/point.vue |  230 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 182 insertions(+), 48 deletions(-)

diff --git a/src/views/dataPush/components/point.vue b/src/views/dataPush/components/point.vue
index b26d945..c020b0e 100644
--- a/src/views/dataPush/components/point.vue
+++ b/src/views/dataPush/components/point.vue
@@ -18,6 +18,10 @@
         <span class="iconfont">&#xe614;</span>
         <span>娣诲姞鐐逛綅</span>
       </div>
+      <div class="switchBox">
+        <el-switch v-model="value1" @change="changeAll($event)" active-text="鎬荤偣浣嶅紑" inactive-text="鎬荤偣浣嶅叧">
+        </el-switch>
+      </div>
     </div>
 
     <div class="table-area">
@@ -32,12 +36,24 @@
         <el-table-column prop="channelCode" label="鎶ヨ閫氶亾缂栫爜" show-overflow-tooltip></el-table-column>
         <el-table-column prop="companyCode" label="浼佷笟缂栫爜" show-overflow-tooltip></el-table-column>
         <el-table-column prop="scenes" label="鎺ㄩ�佸満鏅�" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="updatedAt" label="鎺ㄩ�佹椂闂�" show-overflow-tooltip>
+        <el-table-column prop="updatedAt" label="鎺ㄩ�佹椂闂�" width="100px" show-overflow-tooltip>
           <template slot-scope="scope">{{ scope.row.startTime }}-{{ scope.row.endTime }}</template>
+        </el-table-column>
+        <el-table-column prop="Enable" label="寮�鍏�" width="70px" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-switch
+              v-model="scope.row.enable"
+              @change="changeSwitch($event, scope.row)"
+              active-color="#13ce66"
+              inactive-color="#f0f3f5"
+            >
+            </el-switch>
+          </template>
         </el-table-column>
 
         <el-table-column label="鎿嶄綔" align="center" width="100px">
           <template slot-scope="scope">
+            <span class="iconfont option" @click="editCameras(scope.row)">缂栬緫</span>
             <span class="iconfont option" style="color:red" @click="delCameras(scope.row)">鍒犻櫎</span>
           </template>
         </el-table-column>
@@ -63,7 +79,7 @@
       :rules="rules"
       :label-position="'left'"
       ref="ruleForm"
-      label-width="100px"
+      label-width="120px"
       class="add-ruleForm"
     >
       <el-form-item label="鐐逛綅鍚嶇О" prop="CameraName">
@@ -83,7 +99,7 @@
           </el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="鎺ㄩ�佹椂闂�">
+      <el-form-item label="鎺ㄩ�佹椂闂�" required>
         <el-col :span="12" style="width: 175px">
           <el-form-item prop="StartTime">
             <el-time-select
@@ -93,7 +109,8 @@
               :picker-options="{
                 start: '00:00',
                 step: '00:30',
-                end: '23:30'
+                end: ruleForm.EndTime ? ruleForm.EndTime : '23:30',
+                maxTime: ruleForm.EndTime
               }"
             >
             </el-time-select>
@@ -106,9 +123,10 @@
               placeholder="缁撴潫鏃堕棿"
               v-model="ruleForm.EndTime"
               :picker-options="{
-                start: '00:00',
+                start: ruleForm.StartTime ? ruleForm.StartTime : '00:00',
                 step: '00:30',
-                end: '23:30'
+                end: '23:30',
+                minTime: ruleForm.StartTime
               }"
             >
             </el-time-select>
@@ -126,12 +144,14 @@
 
 <script>
 import { getLocalCameraTree } from "@/api/area"
+import { traverse } from "./point"
 import { getClusterDevList } from "@/api/clusterManage"
-import { camerasList, camerasCreate, camerasDelete } from "@/api/report"
+import { camerasList, camerasCreate, camerasConfig, camerasSwitch, camerasUpdate, camerasDelete } from "@/api/report"
 
 export default {
   data() {
     return {
+      value1: false,
       query: {},
       inputText: "", //杈撳叆妗嗗唴瀹�
       cameraOptions: [],
@@ -193,7 +213,10 @@
 
         CameraId: "", // 鎽勫儚鏈篿d
         Level: "",
-        Enable: true
+        Enable: false,
+        createdAt: "",
+        updatedAt: "",
+        id: ""
       },
 
       dataList: [],
@@ -224,7 +247,69 @@
   // const rsp: any = await getLocalCameraTree(params)
   // console.log(rsp, "rsp")
   methods: {
+    async changeAll(val) {
+      console.log(val)
+      let enable
+      val ? (enable = 1) : (enable = 0)
+      let rsp = await camerasSwitch({ enable: enable })
+      if (rsp && rsp.success) {
+        this.$message({
+          type: "success",
+          message: "鎴愬姛!"
+        })
+        this.checkCamerasList()
+      }
+    },
+    changeSwitch(val, row) {
+      console.log(val, row, "val, rowval, row")
+      let params = {
+        CameraName: row.cameraName,
+        ChannelCode: row.channelCode,
+        CompanyCode: row.companyCode,
+        Scenes: row.scenes,
+        StartTime: row.startTime,
+        EndTime: row.endTime,
+        CameraId: row.cameraId, //
+        Level: row.level,
+        Enable: val,
+        createdAt: row.createdAt,
+        updatedAt: row.updatedAt,
+        id: row.id
+      }
+      camerasUpdate(params).then((res) => {
+        console.log(res, "res")
+        if (res && res.success) {
+          this.$message({
+            type: "success",
+            message: res.msg
+          })
+        }
+      })
+    },
+    editCameras(row) {
+      console.log(row, "row")
+      this.tip = 2
+      this.isShowAdd = true
+      this.resetUser()
+      this.ruleForm.StartTime = row.startTime
+      this.ruleForm.EndTime = row.endTime
+      this.ruleForm.CameraName = row.cameraName
+      this.ruleForm.ChannelCode = row.channelCode
+      this.ruleForm.CompanyCode = row.companyCode
+      this.ruleForm.Sceneslist = row.scenes.split(",")
+
+      this.ruleForm.Level = row.level
+      this.ruleForm.Enable = row.enable
+      this.ruleForm.createdAt = row.createdAt
+      this.ruleForm.updatedAt = row.updatedAt
+      this.ruleForm.id = row.id
+    },
     async aaaaa() {
+      let res = await camerasConfig()
+      if (res && res.success) {
+        res.data.enable === 0 ? (this.value1 = false) : (this.value1 = true)
+        console.log(this.value1)
+      }
       let clusterId = ""
       let clusterReq = await getClusterDevList()
       if (clusterReq && clusterReq.success) {
@@ -234,15 +319,8 @@
       }
       console.log(clusterId)
       let camereReq = await getLocalCameraTree({ clusterId: clusterId })
-      console.log(camereReq.data.treeMenu, "camereReqcamereReqcamereReq")
-      let array = camereReq.data.treeMenu
-      for (let i = 0; i < array.length; i++) {
-        console.log(array[i].children, "11111111")
-        for (let j = 0; j < array[i].children.length; j++) {
-          this.cameraOptions.push(array[i].children[j])
-        }
-      }
-      console.log(this.cameraOptions, "arrrrrrrrrrrrrrrr")
+      let array = []
+      this.cameraOptions = traverse(camereReq.data.treeMenu, array)
     },
     addPoint() {
       this.isShowAdd = true
@@ -252,30 +330,61 @@
     saveUser() {
       this.$refs["ruleForm"].validate((valid) => {
         if (valid) {
-          let obj = this.cameraOptions.find((item) => item.name === this.ruleForm.CameraName)
-          console.log(obj, "dddddddd")
-          let params = {
-            CameraName: this.ruleForm.CameraName,
-            ChannelCode: this.ruleForm.ChannelCode,
-            CompanyCode: this.ruleForm.CompanyCode,
-            Scenes: this.ruleForm.Sceneslist.toString(),
-            StartTime: this.ruleForm.StartTime,
-            EndTime: this.ruleForm.EndTime,
-            CameraId: obj.id, //
-            Level: this.ruleForm.Level,
-            Enable: this.ruleForm.Enable
-          }
-          console.log(params, "paramsv")
-          camerasCreate(params).then((res) => {
-            console.log(res, "res")
-            if (res && res.success) {
-              this.$message({
-                type: "success",
-                message: res.msg
-              })
-              this.goback()
+          if (this.tip !== 1) {
+            let obj = this.cameraOptions.find((item) => item.name === this.ruleForm.CameraName)
+            console.log(obj, "dddddddd")
+            let params = {
+              CameraName: this.ruleForm.CameraName,
+              ChannelCode: this.ruleForm.ChannelCode,
+              CompanyCode: this.ruleForm.CompanyCode,
+              Scenes: this.ruleForm.Sceneslist.toString(),
+              StartTime: this.ruleForm.StartTime,
+              EndTime: this.ruleForm.EndTime,
+              CameraId: obj.id, //
+              Level: this.ruleForm.Level,
+              Enable: this.ruleForm.Enable,
+              createdAt: this.ruleForm.createdAt,
+              updatedAt: this.ruleForm.updatedAt,
+              id: this.ruleForm.id
             }
-          })
+            camerasUpdate(params).then((res) => {
+              console.log(res, "res")
+              if (res && res.success) {
+                this.$message({
+                  type: "success",
+                  message: res.msg
+                })
+                this.goback()
+                this.checkCamerasList()
+              }
+            })
+          } else {
+            let obj = this.cameraOptions.find((item) => item.name === this.ruleForm.CameraName)
+            console.log(obj, "dddddddd")
+            let params = {
+              CameraName: this.ruleForm.CameraName,
+              ChannelCode: this.ruleForm.ChannelCode,
+              CompanyCode: this.ruleForm.CompanyCode,
+              Scenes: this.ruleForm.Sceneslist.toString(),
+              StartTime: this.ruleForm.StartTime,
+              EndTime: this.ruleForm.EndTime,
+              CameraId: obj.id, //
+              Level: this.ruleForm.Level,
+              Enable: this.ruleForm.Enable
+            }
+            console.log(params, "paramsv")
+            camerasCreate(params).then((res) => {
+              console.log(res, "res")
+              if (res && res.success) {
+                this.$message({
+                  type: "success",
+                  message: res.msg
+                })
+                this.goback()
+                this.checkCamerasList()
+              }
+            })
+          }
         } else {
           return false
         }
@@ -320,14 +429,22 @@
       }
     },
     resetUser() {
-      this.ruleForm = {
-        CameraName: "",
-        ChannelCode: "",
-        CompanyCode: "",
-        Sceneslist: [],
-        StartTime: "",
-        EndTime: ""
-      }
+      // this.ruleForm. = {
+      this.ruleForm.CameraName = ""
+      this.ruleForm.ChannelCode = ""
+      this.ruleForm.CompanyCode = ""
+      this.ruleForm.Sceneslist = []
+      this.ruleForm.StartTime = ""
+      this.ruleForm.EndTime = ""
+
+      //   Scenes: "",
+      //   CameraId: "", // 鎽勫儚鏈篿d
+      //   Level: "",
+      //   Enable: false,
+      //   createdAt: "",
+      //   updatedAt: "",
+      //   id: ""
+      // }
     },
     goback() {
       this.isShowAdd = false
@@ -336,6 +453,19 @@
 }
 </script>
 
+//
+<style scoped lang="scss">
+// /deep/ .el-switch .is-checked {
+//   .el-switch__core {
+//     height: 32px !important;
+//   }
+//   .el-switch__core::after {
+//     height: 30px !important;
+//     width: 30px !important;
+//   }
+// }
+//
+</style>
 <style scoped lang="scss">
 .sub-account {
   padding: 20px;
@@ -497,6 +627,10 @@
   }
 
   .btns {
+    .switchBox {
+      display: flex;
+      align-items: center;
+    }
     display: flex;
     margin: 20px 0;
     text-align: center;

--
Gitblit v1.8.0