添加redis缓存刷新

This commit is contained in:
2025-11-12 14:50:21 +08:00
parent 6a1a7eb218
commit 5180dfaf60
4 changed files with 91 additions and 65 deletions

View File

@@ -90,6 +90,15 @@ export function msgHandle(data: object) {
data, data,
}); });
} }
//刷新redis缓存
export function refreshRedis() {
return service({
url: "/accept/refreshIdCache",
method: "get",
});
}
// 地图统计数量 // 地图统计数量
export function mapCount(data: object) { export function mapCount(data: object) {
return service({ return service({

View File

@@ -967,7 +967,7 @@ const initialResponsibilityList = () => {
// 根据实际字段进行拼接,示例: // 根据实际字段进行拼接,示例:
const content = `${item.lineName || ""}进行${ const content = `${item.lineName || ""}进行${
item.dataTimes || "" item.dataTimes || ""
}次谐波电压溯源,溯源对象:${item.userDataName || ""}`.trim(); }次谐波电压溯源,溯源对象:${item.userDataName || "系统测点"}`.trim();
return { return {
...item, ...item,
content: content, content: content,

View File

@@ -422,7 +422,13 @@
align="center" align="center"
label="责任对象" label="责任对象"
show-overflow-tooltip show-overflow-tooltip
/> >
<template #default="scope">
<span>{{
scope.row.userDataName==null? '系统测点':scope.row.userDataName
}}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
prop="updateTime" prop="updateTime"
align="center" align="center"

View File

@@ -1,8 +1,8 @@
<template> <template>
<div id="index" ref="appRef"> <div id="index" ref="appRef">
<div <div
class="bg" class="bg"
:class=" :class="
store.state.screenNotic == 1 store.state.screenNotic == 1
? pushFlag ? pushFlag
? bottomTextRef?.urgentList.length > 0 ? bottomTextRef?.urgentList.length > 0
@@ -23,53 +23,56 @@
> >
</div> </div>
<dv-decoration-10 class="dv-dec-10" :color="color[1]" /> <dv-decoration-10 class="dv-dec-10" :color="color[1]"/>
<div class="d-flex jc-center"> <div class="d-flex jc-center">
<dv-decoration-8 class="dv-dec-8" :color="color[2]" /> <dv-decoration-8 class="dv-dec-8" :color="color[2]"/>
<div class="title"> <div class="title">
<span class="title-text">{{ title }}</span> <span class="title-text">{{ title }}</span>
</div> </div>
<dv-decoration-8 <dv-decoration-8
class="dv-dec-8" class="dv-dec-8"
:reverse="true" :reverse="true"
:color="color[2]" :color="color[2]"
/> />
</div> </div>
<dv-decoration-10 class="dv-dec-10-s" :color="color[1]" /> <dv-decoration-10 class="dv-dec-10-s" :color="color[1]"/>
</div> </div>
<div class="d-flex secondLine"> <div class="d-flex secondLine">
<div class="react-right mr-1"> <div class="react-right mr-1">
<span class="text fw-b" style="display: flex"> <span class="text fw-b" style="display: flex">
<datePicker <datePicker
ref="datePickerRef" ref="datePickerRef"
@timeChangeInfo="timeChangeInfo" @timeChangeInfo="timeChangeInfo"
/> />
</span> </span>
</div> </div>
<el-dropdown placement="bottom"> <el-dropdown placement="bottom">
<el-icon :size="22" :color="color[1][0]" class="mt-0.5 mt5"> <el-icon :size="22" :color="color[1][0]" class="mt-0.5 mt5">
<Menu /> <Menu/>
</el-icon> </el-icon>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
<!-- <el-dropdown-item @click="handleClick('2')" <!-- <el-dropdown-item @click="handleClick('2')"
>模拟短信发送</el-dropdown-item >模拟短信发送</el-dropdown-item
> --> > -->
<el-dropdown-item @click="handleClick('3')" <el-dropdown-item @click="handleClick('3')">
>系统配置</el-dropdown-item 系统配置
> </el-dropdown-item>
<el-dropdown-item @click="handleClick('4')" <el-dropdown-item @click="handleClick('4')">
>报表导出</el-dropdown-item 报表导出
> </el-dropdown-item>
<el-dropdown-item @click="handleClick('5')" <el-dropdown-item @click="handleClick('5')">
>台账导出</el-dropdown-item 台账导出
> </el-dropdown-item>
<el-dropdown-item @click="handleClick('1')" <el-dropdown-item @click="handleClick('1')">
>已发送短信查询</el-dropdown-item 短信管理
> </el-dropdown-item>
<el-dropdown-item @click="handleClick('6')">
缓存刷新
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
@@ -80,33 +83,33 @@
<!-- 第三行数据 --> <!-- 第三行数据 -->
<div class="content-box"> <div class="content-box">
<dv-border-box-13 :color="color[0]"> <dv-border-box-13 :color="color[0]">
<eventStatistics ref="eventStatisticsRef" /> <eventStatistics ref="eventStatisticsRef"/>
</dv-border-box-13> </dv-border-box-13>
<dv-border-box-10 :color="color[0]"> <dv-border-box-10 :color="color[0]">
<Map ref="mapRef" /> <Map ref="mapRef"/>
<!-- <center-left /> --> <!-- <center-left /> -->
</dv-border-box-10> </dv-border-box-10>
<dv-border-box-13 :color="color[0]"> <dv-border-box-13 :color="color[0]">
<alarm ref="alarmRef" /> <alarm ref="alarmRef"/>
<!-- 紧急告警 --> <!-- 紧急告警 -->
<div <div
class="icon" class="icon"
v-if="!(bottomTextRef?.urgentList.length == 0)" v-if="!(bottomTextRef?.urgentList.length == 0)"
:color="color[0][1]" :color="color[0][1]"
:class=" :class="
bottomTextRef?.urgentList.length > 0 bottomTextRef?.urgentList.length > 0
? 'animate-flash-red' ? 'animate-flash-red'
: '' : ''
" "
@click="drawerClick" @click="drawerClick"
> >
<!-- <WarnTriangleFilled /> --> <!-- <WarnTriangleFilled /> -->
<span <span
class="iconfont icon-gaojing" class="iconfont icon-gaojing"
:style="{ :style="{
color: color:
bottomTextRef?.urgentList.length > 0 bottomTextRef?.urgentList.length > 0
? '#ff0000' ? '#ff0000'
@@ -114,12 +117,12 @@
}" }"
></span> ></span>
<span <span
class="count" class="count"
v-if="bottomTextRef?.urgentList.length > 0" v-if="bottomTextRef?.urgentList.length > 0"
>{{ >{{
bottomTextRef?.urgentList.length > 99 bottomTextRef?.urgentList.length > 99
? "99+" ? "99+"
: bottomTextRef?.urgentList.length : bottomTextRef?.urgentList.length
}}</span }}</span
> >
</div> </div>
@@ -129,18 +132,18 @@
<!-- 第四行数据 --> <!-- 第四行数据 -->
<div class="bototm-box"> <div class="bototm-box">
<dv-border-box-13 :color="color[0]"> <dv-border-box-13 :color="color[0]">
<endpointStatistics ref="endpointStatisticsRef" /> <endpointStatistics ref="endpointStatisticsRef"/>
<!-- <bottom-left /> --> <!-- <bottom-left /> -->
</dv-border-box-13> </dv-border-box-13>
<dv-border-box-13 :color="color[0]"> <dv-border-box-13 :color="color[0]">
<informationTable <informationTable
ref="informationTableRef" ref="informationTableRef"
@handleCurrentChange="handleCurrentChange" @handleCurrentChange="handleCurrentChange"
/> />
</dv-border-box-13> </dv-border-box-13>
<dv-border-box-13 :color="color[0]"> <dv-border-box-13 :color="color[0]">
<sendTrends ref="sendTrendsRef" /> <sendTrends ref="sendTrendsRef"/>
</dv-border-box-13> </dv-border-box-13>
</div> </div>
<!-- 底部 --> <!-- 底部 -->
@@ -148,22 +151,22 @@
</div> </div>
</div> </div>
<bottomText <bottomText
ref="bottomTextRef" ref="bottomTextRef"
@handleCurrentChange="handleCurrentChange" @handleCurrentChange="handleCurrentChange"
/> />
<!-- 已发短信查询 --> <!-- 已发短信查询 -->
<smsQueries <smsQueries
ref="smsQueriesRef" ref="smsQueriesRef"
v-if="smsQueriesFlag" v-if="smsQueriesFlag"
@close="smsQueriesFlag = false" @close="smsQueriesFlag = false"
/> />
<!-- 系统配置 --> <!-- 系统配置 -->
<Config ref="ConfigRef" @flushed="inquire" /> <Config ref="ConfigRef" @flushed="inquire"/>
<!-- 报表导出 --> <!-- 报表导出 -->
<ReportForms ref="reportForms" /> <ReportForms ref="reportForms"/>
</div> </div>
</template> </template>
@@ -179,11 +182,11 @@ import {
watch, watch,
} from "vue"; } from "vue";
import { formatTime, getDateRange, stopSpeak } from "@/utils/index"; //引入封装好的 import {formatTime, getDateRange, stopSpeak} from "@/utils/index"; //引入封装好的
import useDraw from "@/utils/useDraw"; // 引入封装好的屏幕适配方法 import useDraw from "@/utils/useDraw"; // 引入封装好的屏幕适配方法
import { WEEK, title, subtitle, moduleInfo, color } from "@/constant/index"; //引入封装的标题日期 import {WEEK, title, subtitle, moduleInfo, color} from "@/constant/index"; //引入封装的标题日期
import datePicker from "@/components/datePicker/index.vue"; import datePicker from "@/components/datePicker/index.vue";
import { Menu, BellFilled, WarnTriangleFilled } from "@element-plus/icons-vue"; import {Menu, BellFilled, WarnTriangleFilled} from "@element-plus/icons-vue";
//页面组件 //页面组件
import eventStatistics from "./components/eventStatistics.vue"; //统计事件 import eventStatistics from "./components/eventStatistics.vue"; //统计事件
import endpointStatistics from "./components/endpointStatistics.vue"; //终端在线统计 import endpointStatistics from "./components/endpointStatistics.vue"; //终端在线统计
@@ -194,10 +197,12 @@ import Map from "./components/bdMap.vue"; //地图
import smsQueries from "./components/smsQueries.vue"; // //短信查询 import smsQueries from "./components/smsQueries.vue"; // //短信查询
import bottomText from "./components/bottomText.vue"; //边框组件 import bottomText from "./components/bottomText.vue"; //边框组件
import socketClient from "@/utils/webSocketClient"; import socketClient from "@/utils/webSocketClient";
import { useStore } from "vuex"; import {useStore} from "vuex";
import Config from "./components/config.vue"; import Config from "./components/config.vue";
import ReportForms from "./components/reportForms.vue"; import ReportForms from "./components/reportForms.vue";
import { exportLineData } from "@/api/statistics/index"; import {exportLineData,refreshRedis} from "@/api/statistics/index";
import {ElMessage} from "element-plus";
const store = useStore(); const store = useStore();
const smsQueriesRef = ref(); // 短信查询组件引用 const smsQueriesRef = ref(); // 短信查询组件引用
const endpointStatisticsRef = ref(); // 终端在线统计组件引用 const endpointStatisticsRef = ref(); // 终端在线统计组件引用
@@ -226,7 +231,7 @@ const timeInfo: any = reactive({
const timeType = ref(3); const timeType = ref(3);
const reportForms = ref(); const reportForms = ref();
// 适配处理 // 适配处理
const { appRef, calcRate, windowDraw, unWindowDraw } = useDraw(); const {appRef, calcRate, windowDraw, unWindowDraw} = useDraw();
// 连接webSocket客户端 // 连接webSocket客户端
const init = () => { const init = () => {
if (!dataSocket.socketServe) { if (!dataSocket.socketServe) {
@@ -317,6 +322,12 @@ const handleClick = (type: string) => {
document.body.removeChild(link); document.body.removeChild(link);
}); });
} }
if (type === "6") {
refreshRedis().then((res: any) => {
ElMessage.success("刷新缓存成功");
});
}
}, 100); }, 100);
}; };
@@ -347,13 +358,13 @@ const inquire = async () => {
}; };
watch( watch(
store.state, store.state,
(val) => { (val) => {
timeChangeInfo(); timeChangeInfo();
}, },
{ {
deep: true, deep: true,
} }
); );
</script> </script>