From 69cfa80854939d9c62cf9c954dc83613710b2eae Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 10 四月 2023 18:06:05 +0800
Subject: [PATCH] 添加短信推送日志查询

---
 src/views/dataPush/components/smsLog.vue    |  412 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/api/report.ts                           |   12 +
 src/views/dataPush/components/alarmPush.vue |    2 
 src/views/dataPush/components/dataPush.vue  |   14 +
 4 files changed, 435 insertions(+), 5 deletions(-)

diff --git a/src/api/report.ts b/src/api/report.ts
index 6f7fd07..fb8d18a 100644
--- a/src/api/report.ts
+++ b/src/api/report.ts
@@ -166,3 +166,15 @@
     params: query
   })
 }
+
+/**
+ *
+ * 鐭俊鎺ㄩ�佹棩蹇�
+ */
+export const smsLog = (query: any) => {
+  return request({
+    url: "/api-a/v1/smsLog/list",
+    method: "get",
+    params: query
+  })
+}
diff --git a/src/views/dataPush/components/alarmPush.vue b/src/views/dataPush/components/alarmPush.vue
index 006450a..1bc7d9d 100644
--- a/src/views/dataPush/components/alarmPush.vue
+++ b/src/views/dataPush/components/alarmPush.vue
@@ -59,7 +59,7 @@
   },
   async created() {
     this.lookUp()
-    //     GET    /api-a/v1/cameras/reportLog
+    // GET    /api-a/v1/cameras/reportLog
     // 鍒嗛〉鏌ヨ涓婃姤鏃ュ織
     // alarmDate   string // 鎶ヨ鏃ユ湡
     // channelName string // 璁惧鐨勭湡瀹炴姤璀﹂�氶亾鍚嶇О
diff --git a/src/views/dataPush/components/dataPush.vue b/src/views/dataPush/components/dataPush.vue
index f87d870..9504766 100644
--- a/src/views/dataPush/components/dataPush.vue
+++ b/src/views/dataPush/components/dataPush.vue
@@ -2,16 +2,20 @@
   <div style="padding: 20px;">
     <el-tabs v-model="activeName" @tab-click="handleClick">
       <el-tab-pane name="device">
-        <span slot="label"><i class="el-icon-s-home"></i> 璁惧淇℃伅缁存姢</span>
+        <span slot="label"><i class="el-icon-coin"></i> 璁惧淇℃伅缁存姢</span>
         <device></device>
       </el-tab-pane>
       <el-tab-pane name="point">
-        <span slot="label"><i class="el-icon-s-platform"></i> 鐐逛綅淇℃伅缁存姢</span>
+        <span slot="label"><i class="el-icon-place"></i> 鐐逛綅淇℃伅缁存姢</span>
         <point></point>
       </el-tab-pane>
       <el-tab-pane name="alarmPush">
-        <span slot="label"><i class="el-icon-phone"></i> 鎶ヨ涓婃姤鏃ュ織</span>
+        <span slot="label"><i class="el-icon-position"></i> 鎶ヨ涓婃姤鏃ュ織</span>
         <alarmPush></alarmPush>
+      </el-tab-pane>
+      <el-tab-pane name="smsLog">
+        <span slot="label"><i class="el-icon-chat-line-square"></i> 鐭俊鎺ㄩ�佹棩蹇�</span>
+        <smsLog></smsLog>
       </el-tab-pane>
     </el-tabs>
   </div>
@@ -21,12 +25,14 @@
 import device from "./device.vue"
 import point from "./point.vue"
 import alarmPush from "./alarmPush.vue"
+import smsLog from "./smsLog.vue"
 
 export default {
   components: {
     device,
     point,
-    alarmPush
+    alarmPush,
+    smsLog
   },
   data() {
     return {
diff --git a/src/views/dataPush/components/smsLog.vue b/src/views/dataPush/components/smsLog.vue
new file mode 100644
index 0000000..285900b
--- /dev/null
+++ b/src/views/dataPush/components/smsLog.vue
@@ -0,0 +1,412 @@
+<template>
+  <div class="sub-account">
+    <div class="search">
+      <div class="left">
+        <div class="id">
+          鐐逛綅鍚嶇О/浠诲姟鍚嶇О/濮撳悕/鎵嬫満鍙�
+          <el-input v-model="inputText" placeholder="璇疯緭鍏�" clearable></el-input>
+        </div>
+      </div>
+
+      <div class="right">
+        <div class="button searchBtn" @click="lookUp()">鎼滅储</div>
+      </div>
+    </div>
+    <div class="table-area">
+      <el-table
+        id="multipleTable"
+        ref="multipleTable"
+        :data="dataList"
+        :fit="true"
+        :default-sort="{ prop: 'createTime', order: 'descending' }"
+      >
+        <el-table-column type="index" label="#" width="50px"></el-table-column>
+        <el-table-column prop="cameraName" label="鐐逛綅鍚嶇О" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="taskName" label="浠诲姟鍚嶇О" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="level" label="鎶ヨ绛夌骇" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="person" label="浜哄憳濮撳悕" width="100px"></el-table-column>
+        <el-table-column prop="tel" label="鎵嬫満鍙风爜" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="state" label="鐘舵��" width="100px">
+          <template slot-scope="scope">
+            <div v-if="scope.row.state == 1" class="status green">鎴愬姛</div>
+            <div v-else class="status">澶辫触</div>
+          </template>
+        </el-table-column>
+        <el-table-column prop="createdAt" label="鎺ㄩ�佹棩鏈�" width="170px"></el-table-column>
+
+        <!-- <el-table-column label="鎿嶄綔" align="center" width="100px">
+          <template slot-scope="scope">
+            <span class="iconfont option" @click="editUser(scope.row)">缂栬緫</span>
+            <span class="iconfont option" style="color:red" @click="delUser(scope.row)">鍒犻櫎</span>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <div>
+        <el-pagination
+          @current-change="refrash"
+          @size-change="handleSizeChange"
+          :current-page="page"
+          :page-size="size"
+          layout="total, sizes, prev, pager, next, jumper"
+          :page-sizes="[5, 10, 15, 20, 25]"
+          :total="total"
+          background
+        ></el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { smsLog } from "@/api/report"
+
+export default {
+  data() {
+    return {
+      dataList: [],
+      inputText: "",
+      page: 1,
+      size: 10, //鍒嗛〉鐩稿叧
+      total: 0 //鎬绘暟,
+    }
+  },
+  async created() {
+    this.lookUp()
+    // GET    /api-a/v1/sms/logs
+    // 鍒嗛〉鏌ヨ涓婃姤鏃ュ織
+    // taskName   string  //浜嬩欢鍚嶇О
+    // cameraName string  //鎽勫儚鏈�
+    // level      string  //浜嬩欢绛夌骇
+    // person     string  //璐d换浜�
+    // tel        string  //鎵嬫満鍙�
+    // state      int     //鐘舵��
+  },
+  mounted() {},
+  methods: {
+    handleSizeChange(size) {
+      this.size = size
+      this.lookUp()
+    },
+    //鍒嗛〉鍔熻兘
+    refrash(page) {
+      this.page = page
+      this.lookUp()
+    },
+
+    async lookUp() {
+      let res = await smsLog({ keyword: this.inputText, pageIndex: this.page, pageSize: this.size })
+      this.dataList = res.data
+      this.total = res.total
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.sub-account {
+  padding: 20px;
+  .head-name {
+    font-weight: 700;
+    font-size: 16px;
+    line-height: 22px;
+    color: #3d3d3d;
+    border-left: 4px solid #0065ff;
+    padding-left: 10px;
+  }
+  .add-title {
+    font-weight: 700;
+    font-size: 16px;
+    cursor: pointer;
+    line-height: 22px;
+    color: #3d3d3d;
+    margin-bottom: 30px;
+    .iconfont {
+      margin-right: 10px;
+    }
+  }
+  .add-ruleForm::v-deep {
+    .el-input__inner {
+      color: #3d3d3d;
+      border-radius: 4px;
+      border-color: #c0c5cc;
+      height: 32px;
+      line-height: 32px;
+      border-color: #c0c5cc;
+    }
+    .user-tree {
+      .el-form-item__label:before {
+        content: "*";
+        color: #f52323;
+        margin-right: 4px;
+      }
+      .el-form-item__content {
+        display: flex;
+        .tree-box {
+          .t {
+            height: 32px;
+            background: #f0f5fa;
+            border-radius: 3px 3px 0px 0px;
+            line-height: 32px;
+            text-align: center;
+            border-bottom: 1px solid #c0c5cc;
+          }
+          width: 336px;
+          height: 480px;
+          border: 1px solid #c0c5cc;
+          margin-right: 20px;
+          box-sizing: border-box;
+        }
+      }
+    }
+  }
+  .searchBtn {
+    width: 50px;
+    height: 25px;
+    line-height: 25px;
+    font-size: 14px;
+    text-align: center;
+    color: #fff;
+    background: #0065ff;
+    margin-right: 20px;
+  }
+  .right {
+    display: flex;
+  }
+  .resetBtn {
+    width: 50px;
+    height: 25px;
+    line-height: 25px;
+    font-size: 14px;
+    text-align: center;
+    color: #0065ff;
+    box-sizing: border-box;
+    border: 1px solid #0065ff;
+  }
+  .search {
+    display: flex;
+    font-size: 14px;
+    border-bottom: 1px solid #e9ebee;
+    margin-top: 30px;
+    padding-bottom: 20px;
+    .left,
+    .right,
+    .id,
+    .time,
+    .cluster {
+      display: flex;
+      align-items: center;
+      .el-select {
+        width: auto;
+      }
+    }
+
+    .id .el-input ::v-deep {
+      width: 200px;
+    }
+
+    .cluster::v-deep .el-input {
+      width: 300px;
+
+      margin-left: 10px;
+      margin-right: 20px;
+      .el-input__icon {
+        line-height: 32px;
+      }
+      input {
+        border-radius: 0;
+
+        &::-webkit-input-placeholder {
+          color: #999;
+        }
+
+        &:focus {
+          border-color: #0065ff;
+        }
+      }
+    }
+
+    .el-input ::v-deep {
+      width: 200px;
+      margin-left: 10px;
+      margin-right: 20px;
+      height: 32px;
+      line-height: 32px;
+      input {
+        border-radius: 0;
+        height: 32px;
+        line-height: 32px;
+        &::-webkit-input-placeholder {
+          color: #999;
+        }
+
+        &:focus {
+          border-color: #0065ff;
+        }
+      }
+    }
+
+    .el-date-editor {
+      width: 318px;
+      height: 40px;
+      margin-left: 10px;
+      margin-right: 20px;
+      border-radius: 0;
+
+      &::-webkit-input-placeholder {
+        color: #999;
+      }
+
+      &.is-active {
+        border-color: #0065ff;
+      }
+    }
+  }
+
+  .btns {
+    display: flex;
+    margin: 20px 0;
+    text-align: center;
+    .add {
+      margin-right: 20px;
+      width: 126px;
+      height: 32px;
+      background: #0065ff;
+      color: #fff;
+      span {
+        margin-right: 5px;
+        line-height: 32px;
+        font-size: 14px;
+      }
+    }
+
+    .export {
+      width: 126px;
+      height: 32px;
+      border: 1px solid #0065ff;
+      color: #0065ff;
+      box-sizing: border-box;
+      span {
+        margin-right: 5px;
+        line-height: 32px;
+        font-size: 14px;
+      }
+    }
+  }
+
+  .el-table ::v-deep {
+    background-color: rgb(233, 235, 238);
+    padding: 1px;
+
+    &::after {
+      display: none;
+    }
+
+    td.index .cell {
+      padding-left: 16px;
+      padding-right: 4px;
+    }
+
+    .has-gutter tr th {
+      background: #f0f3f5;
+      font-size: 16px;
+      color: #3d3d3d;
+      font-weight: 700;
+    }
+
+    td .cell {
+      color: #3d3d3d;
+    }
+
+    tr:hover > td.el-table__cell {
+      background-color: #fff;
+    }
+
+    .el-table__row--striped .el-table__cell {
+      background-color: #f0f5fa !important;
+    }
+    tr:hover > td.el-table__cell {
+      background-color: #fff;
+    }
+
+    .el-table__row--striped .el-table__cell {
+      background-color: #f0f5fa !important;
+    }
+
+    .status {
+      color: #ff4b33;
+
+      &.green {
+        color: #36b24a;
+      }
+    }
+
+    .option {
+      margin-right: 10px;
+      font-size: 14px;
+      color: rgb(0, 101, 255);
+      cursor: pointer;
+    }
+  }
+
+  .el-pagination ::v-deep {
+    margin-top: 30px;
+    text-align: center;
+    height: 24px;
+    .el-pagination__sizes {
+      margin-right: 0;
+    }
+
+    button {
+      margin: 0;
+      background-color: #fff;
+      border: 1px solid #c0c5cc;
+      border-radius: 2px;
+    }
+
+    .number {
+      background-color: #fff;
+
+      &:not(.disabled):hover {
+        color: #0065ff;
+      }
+
+      &:not(.disabled).active {
+        background-color: #0065ff;
+        color: #fff;
+      }
+    }
+
+    .el-input .el-input__inner {
+      padding-left: 0;
+
+      &:hover,
+      &:focus {
+        border-color: #0065ff;
+      }
+    }
+  }
+
+  .el-select ::v-deep {
+    .el-select__tags-text {
+      color: #3d3d3d;
+    }
+  }
+}
+</style>
+
+<style>
+.el-date-table td.start-date span,
+.el-date-table td.end-date span {
+  background-color: #0065ff;
+}
+
+.el-button--text span {
+  color: #0065ff;
+}
+
+.el-button.is-plain:hover,
+.el-button.is-plain:focus {
+  color: #0065ff;
+  border-color: #0065ff;
+}
+</style>

--
Gitblit v1.8.0