From 4c4932cff39b772805471b39fbfcdb691b196f56 Mon Sep 17 00:00:00 2001 From: mengff <1198151809@qq.com> Date: Thu, 7 Nov 2024 16:08:58 +0800 Subject: [PATCH] =?UTF-8?q?--=E6=83=85=E6=8A=A5=E6=9D=BF=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=20=E7=AE=97=E5=85=B7=E4=BD=93=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=8F=91=E5=B8=83=E7=9A=84=E5=88=87=E5=B1=8F=E6=AC=A1?= =?UTF-8?q?=E6=95=B0--=20=E5=8A=A0=E6=80=BB=E6=95=B0=E9=87=8F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../publicService/components/record/index.vue | 227 ++++++++++-------- 1 file changed, 121 insertions(+), 106 deletions(-) diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue index 7fbc2e39..383947ca 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue @@ -3,78 +3,70 @@
- + 导出 - - - 刷新 - + + + 刷新 + + 发布实际数量:{{ sumtotal }}
+ :formConfigOptions="{ dFormData: { eventState: '0' } }" @handleSearch="handleSearch" />
-
- +
- + header-align="center" /> - + - + - + - + -
@@ -86,12 +78,11 @@ import Pagination from '@screen/components/Pagination.vue'; import Table from '@screen/components/Table.vue'; import request from "@/utils/request"; import BoardRecordPreview from '@screen/components/infoBoard/BoardRecordPreview.vue' -import {DirectionTypes} from '@screen/utils/enum.js'; +import { DirectionTypes } from '@screen/utils/enum.js'; import InputSearch from "@screen/components/InputSearch/index.vue"; import { searchFormList } from "./data"; import moment from "moment"; import { Loading } from 'element-ui'; -import { e } from 'mathjs'; export default { name: 'boardRecord', @@ -107,33 +98,35 @@ export default { DirectionTypes, moment, enum_channels: { - 4:'情报板', - 7:'语音广播', - 8:'企业微信', + 4: '情报板', + 7: '语音广播', + 8: '企业微信', }, tableData: [], searchFormList, isShowPhrases: false, isShowDisposal: false, total: 20, + sumtotal: 0, eventType: 1, searchData: { pageSize: 20, pageNum: 1 }, phrasesData: [], - process: [] + process: [], + sum: 0 // 将 sum 定义为 data 属性 } }, created() { - + }, methods: { - onRefreshForm(){ + onRefreshForm() { this.searchData.pageNum = 1; this.$refs.searchComp.handleResetForm(); }, - onDelete(id){ + onDelete(id) { const self = this; this.$confirm("是否删除?", "警告", { confirmButtonText: "确定", @@ -142,7 +135,7 @@ export default { }) .then(function () { request({ - url: `/business/manage/`+id, + url: `/business/manage/${id}`, method: "DELETE", data: {}, }).then((result) => { @@ -152,7 +145,7 @@ export default { }); }) }, - onExport(){ + onExport() { const self = this; this.$confirm("是否确认导出共计查询内容?", "警告", { confirmButtonText: "确定", @@ -171,8 +164,6 @@ export default { data: self.searchData, responseType: 'blob', }).then((res) => { - console.log(res) - const url = window.URL.createObjectURL(new Blob([res])); let link = document.createElement("a"); link.style.display = "none"; @@ -185,10 +176,10 @@ export default { link = null; loadingInstance.close(); }) - .catch((err) => { - self.$message.error(err); - loadingInstance.close(); - }); + .catch((err) => { + self.$message.error(err); + loadingInstance.close(); + }); }) }, handleSearch(data) { @@ -198,77 +189,92 @@ export default { pageSize: 20, pageNum: 1 } - if(daterange && daterange.length > 0){ + if (daterange && daterange.length > 0) { _searchData.startTime = daterange[0]; _searchData.endTime = daterange[1]; } - if(data.publishChannels){ + if (data.publishChannels) { _searchData.publishChannels = data.publishChannels } - if(data.publishStatus){ + if (data.publishStatus) { _searchData.publishStatus = data.publishStatus } this.searchData = _searchData; this.initData(); }, indexMethod(index) { - return this.searchData.pageSize*(this.searchData.pageNum-1) + index + 1; - }, + return this.searchData.pageSize * (this.searchData.pageNum - 1) + index + 1; + }, formatterDirection(row, column) { - return DirectionTypes[row.direction]; - }, + return DirectionTypes[row.direction]; + }, initData() { + this.sum = 0; // 每次请求前重置 sum request({ url: `/business/manage/statisticsList?pageNum=${this.searchData.pageNum}&pageSize=${this.searchData.pageSize}`, method: "post", params: { pageNum: this.searchData.pageNum, pageSize: this.searchData.pageSize }, data: this.searchData, }).then((result) => { - if (result.code != 200) return Message.error(result?.msg); - + if (result.code != 200) return this.$message.error(result?.msg); result.rows.forEach(e => { - if(e.publishChannels === 4 || e.publishChannels === 7){ - const contentDetailsInfo = JSON.parse(e.contentDetails) - if(e.publishChannels === 4){ //情报板 - let msg = '情报板数据异常' // + e.contentDetails - // 检查是否一键恢复 - if(contentDetailsInfo.length > 0){ - if(contentDetailsInfo[0].functions.length > 1){ - const parameters = contentDetailsInfo[0].functions[1]?.params?.parameters - if(parameters && parameters.length > 0){ - e.contentDetailsInfo = parameters - msg = '' - } + if (e.publishChannels === 4 || e.publishChannels === 7) { + const contentDetailsInfo = JSON.parse(e.contentDetails) + if (e.publishChannels === 4) { // 情报板 + let msg = '情报板数据异常' // + e.contentDetails + // 检查是否一键恢复 + if (contentDetailsInfo.length > 0) { + if (contentDetailsInfo[0].functions.length > 1) { + const parameters = contentDetailsInfo[0].functions[1]?.params?.parameters + if (parameters && parameters.length > 0) { + e.contentDetailsInfo = parameters + msg = '' } - else if(contentDetailsInfo[0].functions.length > 0){ - if(contentDetailsInfo[0].functions[0].functionId && contentDetailsInfo[0].functions[0].functionId === '1B'){ - msg = '一键恢复操作' - } + } else if (contentDetailsInfo[0].functions.length > 0) { + if (contentDetailsInfo[0].functions[0].functionId && contentDetailsInfo[0].functions[0].functionId === '1B') { + msg = '一键恢复操作' } } - e.contentDetails = msg - } else if(e.publishChannels === 7){ - let msg = '语音广播数据异常' //+e.contentDetails - console.log(contentDetailsInfo) - if(contentDetailsInfo.length > 0){ - if(contentDetailsInfo[0].functions.length > 0){ - msg = contentDetailsInfo[0].functions[0].params.text - } + } + e.contentDetails = msg + } else if (e.publishChannels === 7) { + let msg = '语音广播数据异常' //+e.contentDetails + console.log(contentDetailsInfo) + if (contentDetailsInfo.length > 0) { + if (contentDetailsInfo[0].functions.length > 0) { + msg = contentDetailsInfo[0].functions[0].params.text } - e.contentDetails = msg; } + e.contentDetails = msg; } + } }); - + this.tableData = result.rows; - setTimeout(() => { - this.tableData = result.rows; - }, 200); - // this.$nextTick(()=>{ - - // }) this.total = result.total; - + }); + return request({ + url: '/business/manage/statisticsListNoPage', + method: "post", + data: this.searchData, + }).then((result) => { + if (result.code != 200) return this.$message.error(result?.msg); + let sum = 0; + result.data.forEach(e => { + if (e.publishChannels === 4) { + const contentDetailsInfo = JSON.parse(e.contentDetails) + if (contentDetailsInfo.length > 0) { + if (contentDetailsInfo[0].functions.length > 1) { + const parameters = contentDetailsInfo[0].functions[1]?.params?.parameters + if (parameters && parameters.length > 0) { + e.contentDetailsInfo = parameters + sum += parameters.length - 1 + } + } + } + } + }); + this.sumtotal = result.data.length + sum; // 更新 sumtotal }); }, @@ -300,20 +306,26 @@ export default { display: flex; gap: 6px; } + + .sum-total { + margin-left: 10px; + font-weight: bold; + color: #f6f1f1; + } } .body { - flex: 1; - position: relative; - overflow-y: auto; - overflow-x: hidden; - .content { - position: absolute; - width: 100%; - height: 100%; - overflow: auto; - } + flex: 1; + position: relative; + overflow-y: auto; + overflow-x: hidden; + .content { + position: absolute; + width: 100%; + height: 100%; + overflow: auto; } + } .footer { margin-top: 15px; @@ -323,15 +335,18 @@ export default { justify-content: center; } - .board_shower{ + .board_shower { margin: 4px; } - ::v-deep .el-carousel__indicators--horizontal{ - line-height: 0; height: 16px; - .el-carousel__indicator--horizontal{ + + ::v-deep .el-carousel__indicators--horizontal { + line-height: 0; + height: 16px; + .el-carousel__indicator--horizontal { padding: 7px 4px; } } + ::v-deep .el-table__cell div.cell { padding: 0 10px !important; }