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