From 5178799b28cc30037f3991aecf83811e92cba296 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期四, 05 十月 2023 21:11:10 +0800
Subject: [PATCH] table

---
 src/views/smoke/realTime/index.vue |  363 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 293 insertions(+), 70 deletions(-)

diff --git a/src/views/smoke/realTime/index.vue b/src/views/smoke/realTime/index.vue
index 7165c60..09f4a4e 100644
--- a/src/views/smoke/realTime/index.vue
+++ b/src/views/smoke/realTime/index.vue
@@ -1,83 +1,306 @@
 <template>
-  <MyHeader @getList="getRealTimeList"></MyHeader>
+    <div>
+        <MyHeader @getList="getRealTimeList"></MyHeader>
+        <!-- 鏁版嵁灞曠ず -->
+        <div style="width: 100%; overflow-x: scroll">
+            <el-table
+                border
+                stripe
+                ref="multipleTable"
+                :header-cell-style="{
+                    background: '#F5F5F5',
+                    'font-weight': '650',
+                    'line-height': '45px'
+                }"
+                :data="tableData"
+                :row-class-name="tableRowClassName"
+            >
+                <el-table-column label="搴忓彿" type="index" width="60px">
+                </el-table-column>
+                <el-table-column prop="Locale" label="鐩戞祴鐐�" width="120px">
+                </el-table-column>
+                <el-table-column prop="Addr" label="瀹夎鍦板潃" width="180px">
+                </el-table-column>
+                <el-table-column
+                    prop="AcquitAtStr"
+                    label="閲囬泦鏃堕棿"
+                    width="100px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="FanStatusStr"
+                    label="椋庢満鐘舵��"
+                    width="80px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="FilterStatusStr"
+                    label="鍑�鍖栧櫒鐘舵��"
+                    width="95px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="EmissionsConc"
+                    label="娌圭儫瀹炴椂娴撳害锛坢g/m3锛�"
+                    width="110px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="CEmissions"
+                    label="娌圭儫鎶樼畻娴撳害锛坢g/m3锛�"
+                    width="110px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="GranuleConc"
+                    label="棰楃矑鐗╁疄鏃舵祿搴︼紙mg/m3锛�"
+                    width="120px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="CGranule"
+                    label="棰楃矑鐗╂姌绠楁祿搴︼紙mg/m3锛�"
+                    width="120px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="HydrocarbonConc"
+                    label="闈炵敳鐑锋�荤儍瀹炴椂娴撳害锛坢g/m3锛�"
+                    width="160px"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="CHydrocarbon"
+                    label="闈炵敳鐑锋�荤儍鎶樼畻娴撳害锛坢g/m3锛�"
+                    width="160px"
+                >
+                </el-table-column>
+                <el-table-column prop="StatusStr" label="鎺掓斁鐘舵��" width="80px">
+                </el-table-column>
+                <el-table-column
+                    prop="OnlineStatusStr"
+                    label="鏁翠綋鐘舵��"
+                    width="80px"
+                >
+                </el-table-column>
+                <el-table-column prop="operation" label="鎿嶄綔" width="550px">
+                    <template slot-scope="scope">
+                        <div class="operation">
+                            <span @click="handleUpload(scope.row)"
+                                >涓�鐐逛竴妗�</span
+                            >
+                            <span class="line">|</span>
+                            <span @click="handleDispatch(scope.row)"
+                                >鏌ョ湅姣忓垎閽熸暟鎹�</span
+                            >
+                            <span class="line">|</span>
+                            <span @click="handleLearn(scope.row)"
+                                >鏌ョ湅10min娴撳害</span
+                            >
+                            <span class="line">|</span>
+                            <span @click="handleNotDeal(scope.row)"
+                                >鏌ョ湅灏忔椂鎶樼畻娴撳害</span
+                            >
+                            <span class="line">|</span>
+                            <span @click="handleNotDeal(scope.row)"
+                                >鐩戞祴鐐硅澶囩鐞�</span
+                            >
+                        </div>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+        <div class="tools">
+            <div class="pagination">
+                <el-pagination
+                    background
+                    @prev-click="handlePrev"
+                    @next-click="handleNext"
+                    :current-page="currentPage"
+                    layout="prev, pager, next"
+                    :total="totalNum"
+                    :page-size="pageSize"
+                    @current-change="changeCurrentPage"
+                >
+                </el-pagination>
+            </div>
+        </div>
+    </div>
 </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,
+    data() {
+        return {
+            tableData: [],
+            totalNum: 0,
+            pageSize: 10,
+            currentPage: 1,
         };
-      } 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));
     },
-  },
+    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(({ list, total }) => {
+                    list.forEach(e => {
+                        e.AcquitAtStr = this.Dateformat(e.AcquitAt);
+                        e.FanStatusStr = this.FanStatusStr(e.FanStatus)
+                        e.FilterStatusStr = this.FanStatusStr(e.FilterStatus)
+                        e.OnlineStatusStr = this.OnlineStatusStr(e.OnlineStatus)
+                        e.StatusStr = this.StatusStr(e.Status)
+                    });
+                    this.tableData = list;
+                    this.totalNum = total;
+                })
+                .catch((err) => this.$message.error(err));
+        },
+        FanStatusStr(FanStatus) {
+            switch (FanStatus) {
+                case 1:
+                    return "寮�"
+                case 2:
+                    return "鍏�"
+                default:
+                    return "寮傚父"
+            }
+        },
+        OnlineStatusStr(Status) {
+            switch (Status) {
+                case 1:
+                    return "鍦ㄧ嚎"
+                case 2:
+                    return "绂荤嚎"
+                default:
+                    return "寮傚父绂荤嚎"
+            }
+        },
+        StatusStr(Status) {
+            switch (Status) {
+                case "NORMAL":
+                    return "姝e父"
+                case "ALARM":
+                    return "棰勮"
+                case "EXCESS":
+                    return "瓒呮爣"
+                case "DOWN":
+                    return "绂荤嚎"
+                default:
+                    return "寮傚父绂荤嚎"
+            }
+        },
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getRealTimeList();
+        },
+        // 涓婁竴椤电偣鍑讳簨浠�
+        handlePrev(page) {
+            this.currentPage = page;
+            this.getRealTimeList();
+        },
+        // 涓嬩竴椤电偣鍑讳簨浠�
+        handleNext(page) {
+            this.currentPage = page;
+            this.getRealTimeList();
+        },
+        Dateformat(fmt) {
+            var fmtdate = new Date(fmt)
+            var o = {
+                "M+": fmtdate.getMonth() + 1,                 //鏈堜唤 
+                "d+": fmtdate.getDate(),                    //鏃� 
+                "h+": fmtdate.getHours(),                   //灏忔椂 
+                "m+": fmtdate.getMinutes(),                 //鍒� 
+                "s+": fmtdate.getSeconds(),                 //绉� 
+                "q+": Math.floor((fmtdate.getMonth() + 3) / 3), //瀛e害 
+                "S": fmtdate.getMilliseconds()             //姣 
+            };
+            if (/(y+)/.test(fmt)) {
+                fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+            }
+            for (var k in o) {
+                if (new RegExp("(" + k + ")").test(fmt)) {
+                    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+                }
+            }
+            return fmt;
+        }
+    },
 };
 </script>
 
-<style>
+<style lang="scss" scoped>
+.el-table {
+    .operation {
+        display: flex;
+        color: var(--operation-color);
+        .line {
+            padding: 0 5px;
+        }
+
+        span:hover {
+            cursor: pointer;
+        }
+    }
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0