East 3 anos atrás
pai
commit
67d9280cb2

+ 37 - 1
src/utils/chenApi.js

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2021-11-18 13:40:39
- * @LastEditTime: 2021-11-30 16:27:22
+ * @LastEditTime: 2021-12-01 15:22:46
  * @LastEditors: Please set LastEditors
  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  * @FilePath: \hyyfClient\src\utils\chenApi.js
@@ -146,3 +146,39 @@ export function getRegularSet(params) {
     data: params
   })
 }
+
+// 报警设置 - 获取电话号码
+export function getAlarmPhones(params) {
+  return axios({
+    url: '/produce/warningPhone/getWarningPhone',
+    method: 'get',
+    params: params
+  })
+}
+
+// 报警设置 - 修改电话号码
+export function postAlarmPhones(params) {
+  return axios({
+    url: '/produce/warningPhone/addWarningPhone',
+    method: 'post',
+    data: params
+  })
+}
+
+// 报警设置 - 获取三个级别报警 table
+export function getAlarmSets(params) {
+  return axios({
+    url: '/produce/warningSet/getWarningSet',
+    method: 'get',
+    params: params
+  })
+}
+
+// 报警设置 - 修改三个级别报警 table
+export function postAlarmSets(params) {
+  return axios({
+    url: '/produce/warningSet/addWarningSet',
+    method: 'post',
+    data: params
+  })
+}

+ 20 - 6
src/views/Alarm/AlarmSet.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-11-29 15:06:41
- * @LastEditTime: 2021-11-30 16:09:56
+ * @LastEditTime: 2021-12-01 16:16:56
  * @LastEditors: Please set LastEditors
  * @Description: 报警阈值设置
  * @FilePath: \hyyfClient\src\views\Alarm\AlarmSet.vue
@@ -27,8 +27,8 @@
       </div>
       <div class="regular-left"></div>
       <div class="right">
-        <alarm-form></alarm-form>
-        <alarm-table></alarm-table>
+        <alarm-form ref="alarmFormRef"></alarm-form>
+        <alarm-table ref="alarmTableRef"></alarm-table>
         <div class="submit-btn">
           <el-button type="primary" @click="handleSubmit">提交</el-button>
         </div>
@@ -55,9 +55,23 @@ export default {
     };
   },
   methods: {
-    handleSubmit() {
-      console.log("好饿啊,我想去十足买吃的了");
-      this.$refs["regularRef"].actionRegular();
+    async handleSubmit() {
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      try {
+        await this.$refs["regularRef"].actionRegular();
+        await this.$refs["alarmFormRef"].addPhonesAction();
+        await this.$refs["alarmTableRef"].addAlarmSets();
+        loading.close();
+        this.$message.success("设置成功");
+      } catch (err) {
+        console.log(err);
+        this.$message.error("设置失败");
+      }
     },
   },
 };

+ 89 - 21
src/views/Alarm/alarm-set/AlarmForm.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-11-29 16:41:38
- * @LastEditTime: 2021-11-29 17:23:48
+ * @LastEditTime: 2021-12-01 15:56:30
  * @LastEditors: Please set LastEditors
  * @Description: 报警设置的 各个报警号码
  * @FilePath: \hyyfClient\src\views\Alarm\alarm-set\AlarmForm.vue
@@ -9,15 +9,15 @@
 <template>
   <div class="alarm-form">
     <el-form
-      :model="alalrForm"
-      ref="alalrForm"
+      :model="alarmForm"
+      ref="alarmForm"
       label-width="140px"
       class="demo-dynamic"
     >
       <!-- 一级报警 -->
       <el-form-item prop="first" label="一级报警:">
         <el-input
-          v-model="alalrForm.first"
+          v-model="alarmForm.first"
           style="width: 200px"
           disabled
         ></el-input>
@@ -25,17 +25,21 @@
 
       <!-- 二级报警 -->
       <el-form-item prop="second" label="二级报警:">
-        <el-input v-model="alalrForm.second" style="width: 200px" disabled>
+        <el-input v-model="alarmForm.second" style="width: 200px" disabled>
         </el-input>
       </el-form-item>
       <div class="rows">
         <el-form-item
-          v-for="(domain, index) in alalrForm.secondPhones"
+          v-for="(domain, index) in alarmForm.secondPhones"
           label="接收号码:"
+          :prop="'secondPhones.' + index + '.phone'"
           :key="domain.key"
-          :prop="'secondPhones.' + index + '.value'"
         >
-          <el-input v-model="domain.value" style="width: 200px"></el-input>
+          <el-input
+            v-model="alarmForm.secondPhones[index].phone"
+            style="width: 200px"
+          >
+          </el-input>
         </el-form-item>
         <div class="add-btn">
           <el-button @click.prevent="addPhones('secondPhones')">新增</el-button>
@@ -44,20 +48,21 @@
 
       <!-- 三级报警 -->
       <el-form-item prop="third" label="三级报警:">
-        <el-input
-          v-model="alalrForm.third"
-          style="width: 200px"
-          disabled
-        ></el-input>
+        <el-input v-model="alarmForm.third" style="width: 200px" disabled>
+        </el-input>
       </el-form-item>
       <div class="rows">
         <el-form-item
-          v-for="(domain, index) in alalrForm.thirdPhones"
+          v-for="(domain, index) in alarmForm.thirdPhones"
           label="接收号码:"
+          :prop="'thirdPhones.' + index + '.phone'"
           :key="domain.key"
-          :prop="'domains.' + index + '.value'"
         >
-          <el-input v-model="domain.value" style="width: 200px"></el-input>
+          <el-input
+            v-model="alarmForm.thirdPhones[index].phone"
+            style="width: 200px"
+          >
+          </el-input>
         </el-form-item>
         <div class="add-btn">
           <el-button @click.prevent="addPhones('thirdPhones')">新增</el-button>
@@ -67,33 +72,96 @@
   </div>
 </template>
 <script>
+import { getAlarmPhones, postAlarmPhones } from "utils/chenApi";
 export default {
   data() {
     return {
-      alalrForm: {
+      alarmForm: {
         secondPhones: [
           {
             phone: "",
-            key: new Date(),
+            key: 0,
           },
         ],
         thirdPhones: [
           {
             phone: "",
-            key: new Date(),
+            key: 0,
           },
         ],
         first: "平台消息",
         second: "短信通知",
         third: "电话通知",
       },
+      secondId: "",
+      thirdId: "",
     };
   },
+  mounted() {
+    this.initGetPhones();
+  },
   methods: {
     addPhones(value) {
-      this.alalrForm[value].push({
+      this.alarmForm[value].push({
         phone: "",
-        key: Date.now(),
+        key: this.alarmForm[value].length,
+      });
+    },
+    initGetPhones() {
+      getAlarmPhones({}).then(({ code, data }) => {
+        if (code === 10000) {
+          const secondPhones = data.two.phone.split(",");
+          this.alarmForm.secondPhones = [];
+          secondPhones.forEach((item) => {
+            if (item) {
+              this.alarmForm.secondPhones.push({
+                phone: item,
+                key: this.alarmForm.secondPhones.length,
+              });
+            }
+          });
+          this.secondId = data.two.id;
+          const thirdPhones = data.three.phone.split(",");
+          this.alarmForm.thirdPhones = [];
+          thirdPhones.forEach((item) => {
+            if (item) {
+              this.alarmForm.thirdPhones.push({
+                phone: item,
+                key: this.alarmForm.thirdPhones.length,
+              });
+            }
+          });
+          this.thirdId = data.three.id;
+        }
+      });
+    },
+    addPhonesAction() {
+      const secondPhones = this.alarmForm.secondPhones.reduce((prev, item) => {
+        return prev + item.phone + ",";
+      }, "");
+      const thirdPhones = this.alarmForm.thirdPhones.reduce((prev, item) => {
+        return prev + item.phone + ",";
+      }, "");
+      postAlarmPhones([
+        {
+          id: this.secondId || undefined,
+          farmId: Number(localStorage.getItem("lastFarmId")),
+          wraningName: "二级报警",
+          phone: secondPhones,
+          level: 2,
+        },
+        {
+          id: this.thirdId || undefined,
+          farmId: Number(localStorage.getItem("lastFarmId")),
+          wraningName: "三级报警",
+          phone: thirdPhones,
+          level: 3,
+        },
+      ]).then((res) => {
+        console.log(res);
+        if (res.code === 10000) {
+          this.initGetPhones();
+        }
       });
     },
   },

+ 1 - 1
src/views/Alarm/alarm-set/RegularForm.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-11-29 15:55:20
- * @LastEditTime: 2021-11-30 16:36:40
+ * @LastEditTime: 2021-12-01 14:57:57
  * @LastEditors: Please set LastEditors
  * @Description: 常规设置的每一项
  * @FilePath: \hyyfClient\src\views\Alarm\alarm-set\RegularForm.vue

+ 32 - 108
src/views/Alarm/alarm-set/alarm-table.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-11-29 17:27:07
- * @LastEditTime: 2021-11-29 18:18:00
+ * @LastEditTime: 2021-12-01 16:07:07
  * @LastEditors: Please set LastEditors
  * @Description: 报警设置的表格
  * @FilePath: \hyyfClient\src\views\Alarm\alarm-set\alarm-table.vue
@@ -14,22 +14,22 @@
       border
       style="width: 100%; margin-top: 20px"
     >
-      <el-table-column prop="id" label="大项" width="180"></el-table-column>
-      <el-table-column prop="name" label="内容"></el-table-column>
-      <el-table-column prop="amount1" label="一级">
+      <el-table-column prop="major" label="大项" width="180"></el-table-column>
+      <el-table-column prop="content" label="内容"></el-table-column>
+      <el-table-column label="一级">
         <template slot-scope="scope">
           <el-switch
-            v-model="value"
+            v-model="scope.row.firstLevel"
             active-color="#13ce66"
             inactive-color="#ccc"
           >
           </el-switch>
         </template>
       </el-table-column>
-      <el-table-column prop="amount2" label="二级">
+      <el-table-column label="二级">
         <template slot-scope="scope">
           <el-switch
-            v-model="value"
+            v-model="scope.row.secondLevel"
             active-color="#13ce66"
             inactive-color="#ccc"
           >
@@ -39,7 +39,7 @@
       <el-table-column prop="amount3" label="三级">
         <template slot-scope="scope">
           <el-switch
-            v-model="value"
+            v-model="scope.row.thirdLevel"
             active-color="#13ce66"
             inactive-color="#ccc"
           >
@@ -50,112 +50,17 @@
   </div>
 </template>
 <script>
+import { getAlarmSets, postAlarmSets } from "utils/chenApi";
 export default {
   data() {
     return {
-      tableData: [
-        {
-          id: "12987122",
-          name: "王小虎",
-          amount1: "234",
-          amount2: "3.2",
-          amount3: 10,
-        },
-        {
-          id: "12987123",
-          name: "王小虎",
-          amount1: "165",
-          amount2: "4.43",
-          amount3: 12,
-        },
-        {
-          id: "12987124",
-          name: "王小虎",
-          amount1: "324",
-          amount2: "1.9",
-          amount3: 9,
-        },
-        {
-          id: "12987125",
-          name: "王小虎",
-          amount1: "621",
-          amount2: "2.2",
-          amount3: 17,
-        },
-        {
-          id: "12987126",
-          name: "王小虎",
-          amount1: "539",
-          amount2: "4.1",
-          amount3: 15,
-        },
-        {
-          id: "12987122",
-          name: "王小虎",
-          amount1: "234",
-          amount2: "3.2",
-          amount3: 10,
-        },
-        {
-          id: "12987123",
-          name: "王小虎",
-          amount1: "165",
-          amount2: "4.43",
-          amount3: 12,
-        },
-        {
-          id: "12987124",
-          name: "王小虎",
-          amount1: "324",
-          amount2: "1.9",
-          amount3: 9,
-        },
-        {
-          id: "12987125",
-          name: "王小虎",
-          amount1: "621",
-          amount2: "2.2",
-          amount3: 17,
-        },
-        {
-          id: "12987126",
-          name: "王小虎",
-          amount1: "539",
-          amount2: "4.1",
-          amount3: 15,
-        },
-        {
-          id: "12987123",
-          name: "王小虎",
-          amount1: "165",
-          amount2: "4.43",
-          amount3: 12,
-        },
-        {
-          id: "12987123",
-          name: "王小虎",
-          amount1: "165",
-          amount2: "4.43",
-          amount3: 12,
-        },
-        {
-          id: "12987123",
-          name: "王小虎",
-          amount1: "165",
-          amount2: "4.43",
-          amount3: 12,
-        },
-        {
-          id: "12987123",
-          name: "王小虎",
-          amount1: "165",
-          amount2: "4.43",
-          amount3: 12,
-        },
-      ],
+      tableData: [],
       value: false,
     };
   },
+  mounted() {
+    this.initAlarmSets();
+  },
   methods: {
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
       const smallItem = {
@@ -202,6 +107,25 @@ export default {
         }
       }
     },
+    initAlarmSets() {
+      getAlarmSets({}).then(({ code, data }) => {
+        if (code === 10000) {
+          this.tableData = data;
+        }
+      });
+    },
+    async addAlarmSets() {
+      const farmId = Number(localStorage.getItem("lastFarmId"));
+      const params = this.tableData.map((item) => {
+        return {
+          ...item,
+          farmId,
+        };
+      });
+      const res = await postAlarmSets(params);
+      console.log(res);
+      this.initAlarmSets();
+    },
   },
 };
 </script>

+ 3 - 3
src/views/BioSafety/CarAdmin.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-09-13 17:52:31
- * @LastEditTime: 2021-11-28 15:38:04
+ * @LastEditTime: 2021-12-01 18:04:42
  * @LastEditors: Please set LastEditors
  * @Description: In User Settings Edit
  * @FilePath: \hyyfClient\src\views\BioSafety\CarAdmin.vue
@@ -91,13 +91,13 @@
     </el-dialog>
     <el-dialog title="回放视频" :visible.sync="videoVisible" width="50%">
       <div style="width: 100%; height: 600px">
-        <!-- <iframe
+        <iframe
           v-if="videoVisible"
           :src="'static/dahua/index.html?' + rtsp"
           frameborder="0"
           style="width: 100%; height: 100%"
         >
-        </iframe> -->
+        </iframe>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="videoVisible = false">取 消</el-button>