From 10b92700323bccebb3e6902f2bb4c70e8166a2a4 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 02 十月 2023 12:59:56 +0800
Subject: [PATCH] 修改

---
 src/views/smoke/realTime/index.vue                   |   76 ++++++++++++++
 src/views/smoke/realTime/components/header/index.vue |  183 ++++++++++++++++++++++++++++++++++++
 src/api/smoke/realTime.js                            |   16 +++
 3 files changed, 272 insertions(+), 3 deletions(-)

diff --git a/src/api/smoke/realTime.js b/src/api/smoke/realTime.js
new file mode 100644
index 0000000..9849483
--- /dev/null
+++ b/src/api/smoke/realTime.js
@@ -0,0 +1,16 @@
+import http from '@/http'
+
+export default {
+    // 鑾峰彇鎵�灞炲崟浣�
+    findCustomerList: (params) => {
+        return http.get('/sccg/smoke/customer/list', params);
+    },
+    // 鏌ヨ瀹炴椂鏁版嵁
+    findInTimeList: (params) => {
+        return http.get('/sccg/smoke/inTime/list', params);
+    },
+    // 鑾峰彇璁惧鍦ㄧ嚎鎯呭喌
+    getInTimeCount: () => {
+        return http.get('/sccg/smoke/inTime/count');
+    },
+}
\ No newline at end of file
diff --git a/src/views/smoke/realTime/components/header/index.vue b/src/views/smoke/realTime/components/header/index.vue
new file mode 100644
index 0000000..89c38c6
--- /dev/null
+++ b/src/views/smoke/realTime/components/header/index.vue
@@ -0,0 +1,183 @@
+<template>
+  <div class="header">
+    <el-form :inline="true" :model="seachData" class="demo-form-inline">
+      <el-form-item label="">
+        <el-select
+          style="width: 140px"
+          v-model="seachData.ownerIndex"
+          placeholder="鎵�灞炲崟浣�"
+        >
+          <el-option
+            v-for="(item, index) in ownerOptions"
+            :key="item.Id"
+            :label="item.Name"
+            :value="index"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="">
+        <el-select
+          style="width: 120px"
+          v-model="seachData.status"
+          placeholder="鎺掓斁鐘舵��"
+        >
+          <el-option
+            v-for="item in statusOptions"
+            :key="item.label"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="">
+        <el-select
+          style="width: 120px"
+          v-model="seachData.onlineStatus"
+          placeholder="鏁翠綋鐘舵��"
+        >
+          <el-option
+            v-for="item in onlineStatusOptions"
+            :key="item.label"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+
+      <el-form-item>
+        <el-radio v-model="seachData.type" label="1">鐩戞帶璁惧</el-radio>
+        <el-radio v-model="seachData.type" label="2">鐩戞祴璁惧</el-radio>
+      </el-form-item>
+      <el-form-item label="">
+        <el-date-picker
+          v-model="seachData.alarmTime"
+          type="daterange"
+          align="right"
+          unlink-panels
+          range-separator="鑷�"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          :picker-options="pickerOptions"
+        >
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" @click="getUserList">鍒锋柊</el-button>
+
+        <el-button type="primary" @click="resetAll">瀵煎嚭</el-button>
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+
+<script>
+import realTimeApi from "@/api/smoke/realTime";
+
+export default {
+  data() {
+    return {
+      onlineStatusOptions: [
+        {
+          label: "姝e父",
+          value: "NORMAL",
+        },
+        {
+          label: "棰勮",
+          value: "ALARM",
+        },
+        {
+          label: "瓒呮爣",
+          value: "EXCESS",
+        },
+        {
+          label: "绂荤嚎",
+          value: "DOWN",
+        },
+        {
+          label: "寮傚父绂荤嚎",
+          value: "OFF",
+        },
+      ],
+      statusOptions: [
+        {
+          label: "姝e父",
+          value: 1,
+        },
+        {
+          label: "绂荤嚎",
+          value: 2,
+        },
+        {
+          label: "寮傚父绂荤嚎",
+          value: 3,
+        },
+      ],
+      ownerOptions: [],
+      seachData: {},
+      pickerOptions: {
+        shortcuts: [
+          {
+            text: "鏈�杩戜竴鍛�",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "鏈�杩戜竴涓湀",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "鏈�杩戜笁涓湀",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+        ],
+      },
+    };
+  },
+  created() {},
+  mounted() {
+    this.getOwnerOptions();
+  },
+  methods: {
+    // 鑾峰彇鎵�灞炲崟浣�
+    getOwnerOptions() {
+      const param = { pageSize: 100, pageNum: 1 };
+      realTimeApi
+        .findCustomerList(param)
+        .then((res) => {
+          this.ownerOptions = res.list;
+        })
+        .catch((err) => this.$message.error(err));
+    },
+
+    getUserList() {
+      const ownerItem = this.ownerOptions[this.seachData.ownerIndex];
+      this.seachData.owner = ownerItem.Pid + ownerItem.Id;
+      console.log(this.seachData);
+      this.$emit("getList", { seachData: this.seachData });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.header {
+  line-height: normal;
+}
+</style>
diff --git a/src/views/smoke/realTime/index.vue b/src/views/smoke/realTime/index.vue
index 2f1c154..7165c60 100644
--- a/src/views/smoke/realTime/index.vue
+++ b/src/views/smoke/realTime/index.vue
@@ -1,13 +1,83 @@
 <template>
-  <div>瀹炴椂绠$悊</div>
+  <MyHeader @getList="getRealTimeList"></MyHeader>
 </template>
 
 <script>
+import MyHeader from "./components/header";
+import realTimeApi from "@/api/smoke/realTime";
 export default {
+  data() {
+    return {
+      tableData: [],
+      totalNum: 0,
+      pageSize: 10,
+      currentPage: 1,
+    };
+  },
+  components: { MyHeader },
+  created() {
+    this.getRealTimeList();
+  },
+  methods: {
+    getRealTimeList(seachData) {
+      let params;
+      if (seachData) {
+        params = {
+          pageNum: this.currentPage,
+          pageSize: this.pageSize,
+          resource:
+            seachData.seachData.resource == undefined
+              ? null
+              : seachData.seachData.resource,
+          region:
+            seachData.seachData.region == undefined
+              ? null
+              : seachData.seachData.region,
+          type: this.statusArr[1] ?? null,
+          code:
+            seachData.seachData.code == undefined
+              ? null
+              : seachData.seachData.code,
+          categoryBig:
+            seachData.seachData.categoryBig == undefined
+              ? null
+              : seachData.seachData.categoryBig,
+          categorySmall:
+            seachData.seachData.categorySmall == undefined
+              ? null
+              : seachData.seachData.categorySmall,
+          site:
+            seachData.seachData.site == undefined
+              ? null
+              : seachData.seachData.site,
+          street:
+            seachData.seachData.street == undefined
+              ? null
+              : seachData.seachData.street,
+          alarmTime:
+            seachData.seachData.alarmTime == undefined
+              ? null
+              : seachData.seachData.alarmTime,
+        };
+      } else {
+        params = {
+          pageNum: this.currentPage,
+          pageSize: this.pageSize,
+        };
+      }
 
-}
+      realTimeApi
+        .findInTimeList(params)
+        .then(({ records, total }) => {
+          debugger;
+          this.tableData = records;
+          this.totalNum = total;
+        })
+        .catch((err) => this.$message.error(err));
+    },
+  },
+};
 </script>
 
 <style>
-
 </style>
\ No newline at end of file

--
Gitblit v1.8.0