diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js index 3350a8c7..3638d98f 100644 --- a/ruoyi-ui/src/common/menuData.js +++ b/ruoyi-ui/src/common/menuData.js @@ -55,10 +55,15 @@ export default [ name: "siteAdministration", component: "perception/trafficSurvey/siteAdministration/index.vue", }, { - title: "综合查询", + title: "站点查询", path: "/perception/trafficSurvey/comprehensiveQuery", name: "comprehensiveQuery", component: "perception/trafficSurvey/comprehensiveQuery/index.vue", + }, { + title: "综合查询", + path: "/perception/trafficSurvey/survey", + name: "survey", + component: "perception/trafficSurvey/survey/index.vue", } ] } diff --git a/ruoyi-ui/src/utils/auth.js b/ruoyi-ui/src/utils/auth.js index 6258738c..234a0a7a 100644 --- a/ruoyi-ui/src/utils/auth.js +++ b/ruoyi-ui/src/utils/auth.js @@ -1,6 +1,6 @@ import Cookies from 'js-cookie' -const TokenKey = 'DC-Pro-Token' +const TokenKey = 'DC-Token' export function getToken() { return Cookies.get(TokenKey) diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js b/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js index b371b7ec..0b609610 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js +++ b/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js @@ -112,7 +112,10 @@ export class HttpLivePlayer { this.initLiveVideo(); }).catch(error => { console.error('获取URL失败:', error); - Message.error('无法获取视频流URL'); + + this.destroy(); + this.clearMediaElementErrors(); // 清除媒体元素的错误状态 + // Message.error('无法获取视频流URL'); }); } diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/index.vue index 3f7b1219..a9c6ec3f 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/index.vue @@ -43,7 +43,7 @@
本年:{{ earlyWarningEvents.year }}
-
在途车辆统计
+
日累计车流量
@@ -157,39 +157,19 @@ export default { }, bindCharts(){ const today = moment().format('YYYY-MM-DD') - request({ - url: '/business/traffic-statistics/history/realTimeTrafficFlow', - method: 'get', - params: { - startDate: today, - periodType: 4, - direction: 1 - } - }).then(res1=>{ + request({ - url: '/business/traffic-statistics/history/realTimeTrafficFlow', + url: '/business/traffic-statistics/history/trafficFlowAtTollTypes', method: 'get', params: { startDate: today, - periodType: 4, - direction: 3 } }).then(res3=>{ // totalPassengerFlow 客车 typeSpecialVehicleFlow//特种车 typeTruckFlow 其他 let total = 0, p0 = 0, p1=0,p2=0,_p0 = 0, _p1=0,_p2=0; - res1.data.forEach(x=>{ - total+=(x.totalPassengerFlow+x.typeTruckFlow+x.typeSpecialVehicleFlow) - p0 += x.totalPassengerFlow - p1 += x.typeSpecialVehicleFlow - p2 += x.typeTruckFlow - }) - res3.data.forEach(x=>{ - - total+=(x.totalPassengerFlow+x.typeTruckFlow+x.typeSpecialVehicleFlow) - p0 += x.totalPassengerFlow - p1 += x.typeSpecialVehicleFlow - p2 += x.typeTruckFlow - }) + total+=(res3.data.bus +res3.data.truck) + p0 += res3.data.bus + p1 += res3.data.truck if(total > 0){ _p0 = parseFloat((p0/total*100).toFixed(1)) @@ -216,7 +196,7 @@ export default { myChart3.setOption(otherStatistics); }) - }) + }, bindTrafficIncident(){ // 预警事件 diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/carStatistics.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/carStatistics.js index 8dd2cefd..8c98c0ca 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/carStatistics.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/carStatistics.js @@ -98,7 +98,7 @@ var carStatistics = { }, detail: { formatter: function (params) { - return `{cn|}\n{number|${params + "%"}\n}{wcl|小客车}`; + return `{cn|}\n{number|${params + "%"}\n}{wcl|客车}`; }, rich: { fontFamily: "PangMenZhengDao-Regular", diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/focusStatistics.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/focusStatistics.js index dc9abc30..f2ab3780 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/focusStatistics.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/js/focusStatistics.js @@ -98,7 +98,7 @@ var focusStatistics = { }, detail: { formatter: function (params) { - return `{cn|}\n{number|${params + "%"}\n}{wcl|重点车辆}`; + return `{cn|}\n{number|${params + "%"}\n}{wcl|货车}`; }, rich: { fontFamily: "PangMenZhengDao-Regular", diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/data.js index ff79c474..a1c13703 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/data.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/data.js @@ -158,60 +158,78 @@ export const actualLocationList = [ export const canvasList = [ { name: "殷家林枢纽", - code: "K54", + code: "K54\n+394", line: "G3京台高速", // isFoot: true, distance: 0.06989, }, - { name: "大学城收费站", code: "K59", distance: 50.563 }, - { name: "长清收费站", code: "K72", distance: 140.05 }, - { name: "长清服务区", code: "K79", distance: 63.66 }, + { name: "大学城收费站", code: "K59\n+289", distance: 50.563 }, + { name: "长清收费站", code: "K72\n+847", distance: 140.05 }, + { name: "长清服务区", code: "K79\n+010", distance: 63.66 }, { name: "松竹枢纽", - code: "K83", + code: "K83\n+885", line: "S0101济南绕城高速二环西环段", distance: 50.358, }, - { name: "孝里收费站", code: "K86", distance: 27 }, - { name: "平阴北收费站", code: "K99", distance: 136.88 }, - { name: "平阴收费站", code: "K105", distance: 63.57 }, - { name: "平阴停车区", code: "K114", distance: 87.815 }, + { name: "孝里收费站", code: "K86\n+499", distance: 27 }, + { name: "平阴北收费站", code: "K99\n+750", distance: 136.88 }, + { name: "平阴收费站", code: "K105\n+904", distance: 63.57 }, + { name: "平阴停车区", code: "K114\n+405", distance: 87.815 }, { name: "孔村枢纽", - code: "K117", + code: "K117\n+878", line: "G22青兰高速", distance: 35.876, }, - { name: "平阴南收费站", code: "K126", distance: 86.2 }, + { name: "平阴南收费站", code: "K126\n+223", distance: 86.2 }, { name: "魏雪枢纽", - code: "K133", + code: "K133\n+588", line: "泰东高速", distance: 35.876, }, - { name: "东平服务区", code: "K139", distance: 140.42 }, - { name: "东平收费站", code: "K145", distance: 63 }, + { name: "东平服务区", code: "K139\n+817", distance: 140.42 }, + { name: "东平收费站", code: "K145\n+933", distance: 63 }, { name: "东平湖枢纽", - code: "K155", + code: "K155\n+652", line: "S30董梁高速", distance: 70, }, - { name: "沙河停车区", code: "K159", distance: 70 }, - { name: "梁山东收费站", code: "K173", distance: 70 }, - { name: "梁山收费站", code: "K179", distance: 70 }, + { name: "沙河停车区", code: "K159\n+156", distance: 70 }, + { name: "梁山东收费站", code: "K173\n+950", distance: 70 }, + { name: "梁山收费站", code: "K179\n+396", distance: 70 }, { name: "信楼枢纽", - code: "K182", + code: "K182\n+987", line: "郓鄄高速", distance: 35.876, }, - { name: "梁山服务区", code: "K186", distance: 70 }, - { name: "嘉祥西收费站", code: "K190", distance: 70 }, + { name: "梁山服务区", code: "K186\n+061", distance: 70 }, + { name: "嘉祥西收费站", code: "K190\n+495", distance: 70 }, { name: "王官屯枢纽", - code: "K208", + code: "K208\n+979", line: "G1511日兰高速", distance: 120, }, ]; +export const boundaryLineList = [ + { + name: "济南 泰安", + code: "K132\n+469", + distance: 0.49282, + }, + { + name: "泰安 济宁", + code: "K160\n+708", + distance: 0.64576, + }, + { + name: "济宁 菏泽", + code: "K200\n+752", + distance: 0.86296, + }, + +]; diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/index.vue index dd38de05..4c4e52a5 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Thumbnail/index.vue @@ -7,7 +7,7 @@ import { onceObserver } from "@screen/utils/resizeObserver"; import Vue from "vue"; import { Graph, Shape } from '@antv/x6' import { debounce } from "lodash"; -import { actualLocationList, canvasList } from "./data.js"; +import { actualLocationList, canvasList,boundaryLineList } from "./data.js"; const faultBg = require(`@screen/images/mapBg/fault.svg`); const normalBg = require(`@screen/images/mapBg/active.svg`); @@ -54,12 +54,25 @@ const rect = { } } } +const boundaryLineStyle = { + shape: "rect", + width: 0.1, + attrs: { + "body": { + stroke: "rgba(255,255,255,0.5)", + strokeWidth: 2, + strokeDasharray: '4, 7', + + } + } +} export default { name: "Thumbnail", data() { return { list: [], //计算真实距离与画布距离的比例 *节点真实距离作为canvasItem.distance的值 + boundaryLineList: [], //计算真实距离与画布距离的比例 *节点真实距离作为canvasItem.distance的值 translateX: 0, translateY: 50, allInstance: 0, @@ -168,6 +181,7 @@ export default { }, async mapInit() { this.list = _.cloneDeep(canvasList) + this.boundaryLineList = _.cloneDeep(boundaryLineList) this.translateX = 0; this.translateY = 40; this.allInstance = 0; @@ -397,6 +411,11 @@ export default { info.distance = svgWidth * actualLocationList[index].intervalDistance; await this.drawTag(info, graph); } + for (let index in this.boundaryLineList) { + const info = this.boundaryLineList[index]; + info.distance = svgWidth * info.distance; + await this.drawBoundaryLine(info, graph); + } //文字覆盖问题修复 graph.getCellById("K79+010_底部文字").translate(-10, 0) graph.getCellById("K83+885_底部文字").translate(-10, 0); @@ -410,6 +429,23 @@ export default { graph.getCellById("K155+652_底部文字").translate(-10, 0); graph.getCellById("K190+495_底部文字").translate(10, 0); + }, + async drawBoundaryLine(info, graph, isFoot = false) { + let text = info.name + let x = info.distance + 10; + graph.addNode({ ...boundaryLineStyle, x: x, y: 30, height: 135, zIndex: 1 }); + const textNode = { + label: text, + attrs: { + label: { + fontSize: 30, + fill: "rgba(255,255,255,0.5)", + fontWeight: 600 + } + } + } + graph.addNode({ ...textNode, x: x, y: 98 ,zIndex:1}) + }, async drayLine(info, graph, isFoot = false) { let text = info.line diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/data.js index 56d19415..85dc4a06 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/data.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/data.js @@ -143,7 +143,7 @@ export const searchFormList = [ required: true, type: "datePicker", default: [ - moment().startOf("month").format("YYYY-MM-DD HH:mm:ss"), + moment().subtract(1, 'days').endOf('day').format("YYYY-MM-DD HH:mm:ss"), moment().format("YYYY-MM-DD HH:mm:ss"), ], options: { diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/index.vue index 03ced8dd..c4303c20 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/statisticalAnalysis/query/index.vue @@ -7,9 +7,24 @@ 导出丢包
- + 上一日 + 下一日 + + +
+
@@ -39,7 +54,7 @@ {{ scope.row.direction == "1" ? "菏泽方向" : scope.row.direction == "2" ? "双向": "济南方向"}} - + @@ -17,14 +14,12 @@