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