diff --git a/ruoyi-ui/src/App.vue b/ruoyi-ui/src/App.vue
index 93f035b3..a215604d 100644
--- a/ruoyi-ui/src/App.vue
+++ b/ruoyi-ui/src/App.vue
@@ -9,7 +9,7 @@
-
+
diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js
index f715bde9..7b0a1767 100644
--- a/ruoyi-ui/src/common/menuData.js
+++ b/ruoyi-ui/src/common/menuData.js
@@ -37,6 +37,12 @@ export default [
name: "perceptionTrafficSituation",
component: "perception/trafficSituation/index.vue",
},
+ {
+ title: "网络拓扑",
+ name: "perceptionTopology",
+ path: "/perception/topology",
+ component: "perception/topology/index.vue"
+ }
],
},
{
diff --git a/ruoyi-ui/src/plugins/modal.js b/ruoyi-ui/src/plugins/modal.js
index 7ad9d297..df2d20b3 100644
--- a/ruoyi-ui/src/plugins/modal.js
+++ b/ruoyi-ui/src/plugins/modal.js
@@ -9,7 +9,7 @@ export default {
},
// 错误消息
msgError(content) {
- Message.error(content)
+ Message.error('commerror:'+content)
},
// 成功消息
msgSuccess(content) {
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Decorations/BackgroundClip.vue b/ruoyi-ui/src/views/JiHeExpressway/components/Decorations/BackgroundClip.vue
index 173a00f3..fcac3329 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/Decorations/BackgroundClip.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/Decorations/BackgroundClip.vue
@@ -1,14 +1,7 @@
@@ -27,6 +20,10 @@ export default {
type: String,
default: null,
},
+ right: {
+ type: String,
+ default: null,
+ },
clipPath: {
type: String,
default: null,
@@ -44,6 +41,25 @@ export default {
default: null,
},
},
+ computed:{
+ compStyle(){
+ let obj = {
+ '--clip-path': this.clipPath,
+ '--border-path': this.borderPath,
+ '--border-color': this.borderColor,
+ '--bg-color': this.bgColor,
+ width: this.width,
+ top: this.top,
+ }
+ if(this.right){
+ obj["margin-left"] = "auto";
+ obj["margin-right"] = this.right;
+ }else{
+ obj["margin"] = "auto";
+ }
+ return obj;
+ }
+ }
};
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Dialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/Dialog/index.vue
index 7a574411..525c2062 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/Dialog/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/Dialog/index.vue
@@ -6,7 +6,7 @@
clipPath="polygon(calc(100% - var(--clip-width)) 0, 100% var(--clip-width), 100% 100%, var(--clip-width) 100%, 0 calc(100% - var(--clip-width)), 0 0)"
borderColor="linear-gradient(180deg, rgba(78, 174, 204, .9), rgba(78, 174, 204, 0))"
bgColor="linear-gradient(180deg, rgba(14, 69, 92, 0.9) 0%, rgba(20, 89, 119, 0.9) 100%)"
- ref="DialogContentRef" :width="width" :top="top">
+ ref="DialogContentRef" :width="width" :top="top" :right="right">
{{ title }}
@@ -52,6 +52,10 @@ export default {
type: String,
default: null,
},
+ right: {
+ type: String,
+ default: null,
+ },
title: {
type: String,
},
@@ -145,7 +149,7 @@ export default {
position: relative;
box-sizing: border-box;
top: 20%;
- margin: auto;
+ // margin: auto;
padding-bottom: 20px;
// margin: calc(var(--border-width) / 2);
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/EarlyWarning.vue b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/EarlyWarning.vue
new file mode 100644
index 00000000..9e6908a7
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/EarlyWarning.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/UserArea.vue b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/UserArea.vue
index fe960bcc..2c11a6cf 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/UserArea.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/UserArea.vue
@@ -2,7 +2,7 @@
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/WarningList.vue b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/WarningList.vue
new file mode 100644
index 00000000..629c8935
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/WarningList.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/index.vue
index bd611c7e..7c41b676 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/HeaderMenu/index.vue
@@ -4,7 +4,7 @@
@@ -12,9 +12,11 @@
-
@@ -24,6 +26,7 @@
import menuData from "@/common/menuData";
import CustomMenu from "./CustomMenu.vue";
import Clock from "./Clock.vue";
+import EarlyWarning from './EarlyWarning.vue'
import UserArea from './UserArea.vue'
import RecentPages from "../RecentPages/index.vue";
export default {
@@ -36,6 +39,7 @@ export default {
};
},
components: {
+ EarlyWarning,
CustomMenu,
Clock,
UserArea,
@@ -116,53 +120,9 @@ export default {
width: 500px;
}
+ .early_warning{ width: 26px; overflow: hidden;}
.topButton{
- width: 190px;
- }
-
- .user {
- width: 200px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 14px;
- font-weight: normal;
- color: #fff;
- line-height: 16px;
-
- .name {
- display: inline-block;
- margin: 0 10px;
- }
-
- .icon {
- display: inline-block;
- margin: 0 13px;
- }
-
- .icon-001 {
- display: inline-block;
- width: 12px;
- height: 14px;
- }
-
- .icon-002 {
- display: inline-block;
- width: 9px;
- height: 5px;
- }
-
- .icon-003 {
- display: inline-block;
- width: 18px;
- height: 16px;
- }
-
- .icon-004 {
- display: inline-block;
- width: 15px;
- height: 15px;
- }
+ width: 164px;
}
}
.recent{
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Video/videoStream.js b/ruoyi-ui/src/views/JiHeExpressway/components/Video/videoStream.js
index 03447f1a..ffdc31d6 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/Video/videoStream.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/Video/videoStream.js
@@ -93,7 +93,7 @@ async function getUrl({ camId, url, pileNum, rangeIndex } = {}) {
if (camId) {
const { code, data } = await getCameraStream(camId).catch(() => ({}));
if (code != 200) {
- Message.warning("未获取到当前相机的播放地址");
+ // Message.warning("未获取到当前相机的播放地址");
return;
}
@@ -101,7 +101,7 @@ async function getUrl({ camId, url, pileNum, rangeIndex } = {}) {
}
if (!url) {
- Message.warning("未获取到当前相机的播放地址");
+ // Message.warning("未获取到当前相机的播放地址");
return Promise.reject("获取 url 失败!");
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js b/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js
index 4584c73e..0dd0e8da 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/VideoMulti/videoStream.js
@@ -34,6 +34,7 @@ const testFlvUrl =
* @returns
*/
export async function openVideoStream(container, { camId, url } = {}) {
+ console.log(camId,333)
if (camId) {
const { code, data } = await getCameraStream(camId).catch(() => ({}));
@@ -65,16 +66,18 @@ export async function openVideoStream(container, { camId, url } = {}) {
}
async function getUrl({ camId} = {}) {
-
+ if(!camId){
+ return
+ }
const { code, data } = await getCameraStream(camId).catch(() => ({}));
if (code != 200) {
- Message.warning("未获取到当前相机的播放地址");
+ // Message.warning("未获取到当前相机的播放地址");
return;
}
let url = data.liveUrl;
if (!url) {
- Message.warning("未获取到当前相机的播放地址");
+ // Message.warning("未获取到当前相机的播放地址");
return Promise.reject("获取 url 失败!");
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue b/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue
index f7874ae1..37ad3241 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue
@@ -483,6 +483,7 @@ export default {
this.mode
);
} else {
+ console.log(this.tpl , "tttttttttppplllll")
this.dataForm = infoBoardUtils.dialogSourceFormat(
this.tpl,
this.type,
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardRecordPreview.vue b/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardRecordPreview.vue
index b4f2cfeb..0740a5c7 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardRecordPreview.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardRecordPreview.vue
@@ -1,7 +1,8 @@
diff --git a/ruoyi-ui/src/views/JiHeExpressway/images/home-FrameControl/FrameControl.svg b/ruoyi-ui/src/views/JiHeExpressway/images/home-FrameControl/FrameControl.svg
index 41d1fec3..36e7160c 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/images/home-FrameControl/FrameControl.svg
+++ b/ruoyi-ui/src/views/JiHeExpressway/images/home-FrameControl/FrameControl.svg
@@ -1,6 +1,3 @@
-
-
+
@@ -179,4 +217,13 @@ export default {
}
}
}
+ .foote{
+ display: flex;
+ align-items: center;
+ gap: 9px;
+ width: 100%;
+ justify-content: flex-end;
+ margin:20px 0px -20px 0px;
+
+ }
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrameControl/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrameControl/index.vue
index 4ddcde1e..7cc30117 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrameControl/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrameControl/index.vue
@@ -6,31 +6,87 @@
@click.native="handleClick('FrameControl')">
-
+
+
+
+
+
批量控制
{ this.activeIcon = null; }">
-
-
{ this.activeIcon = val }"
- @update:submitting="(val) => { submitting = val }">
-
-
@@ -364,4 +555,105 @@ div.el-popper.global-input-search-popover {
background: linear-gradient(180deg, #005c79 0%, #009bcc 100%);
}
}
+.cardPanel{
+ display: flex;
+ flex-wrap: wrap;
+}
+.cardBox {
+ flex-basis: percentage(1/4);
+ padding-right: 10px;
+ padding-bottom: 10px;
+}
+.remark {
+ font-size: 14px; line-height: 20px; height: 40px; overflow: hidden;
+ color: #00b3cc;
+}
+.btnResult{
+ background-color:#00b3cc;
+ color: white;
+ border: none;
+ padding: 5px 20px;
+}
+
+
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue
index 78100f62..36ee6074 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue
@@ -28,7 +28,7 @@
+ @change="handleCameraChange" @update:visible="handleCameraChange" @traffic-relieve="handleTrafficRelieve" />
@@ -272,7 +272,7 @@ export default {
window.infoWindow.close();
},
- // 摄像机 可控 不可控 弹窗 回调
+ // 摄像机 可控 不可控 弹窗 回调traffic-relieve
handleCameraChange() {
this.dialogConfig = {
// 0 有 可控(球机)ControlCamera | 1 ⽆ 不可控(枪机)Camera
@@ -287,6 +287,17 @@ export default {
gridRowStart: Math.floor(index / columns) + 1,
gridColumnStart: (index % columns) + 1,
}
+ },
+ async handleTrafficRelieve(e){
+ await this.handleDeviceImmediate(e._itemData)
+ setTimeout(async () => {
+ await this.handleDeviceImmediate(e._itemData)
+ }, 500);
+ this.dialogConfig = {
+ // 0 有 可控(球机)ControlCamera | 1 ⽆ 不可控(枪机)Camera
+ component: null,
+ data: null
+ }
}
}
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js
index ce60eb92..68a48f72 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js
@@ -30,7 +30,6 @@ export async function getCameraStream(camId, media = 1) {
data.data.liveUrl =
"https://10.0.81.202/camera?target=" + data.data.liveUrl.substring(7);
}*/
-
return data;
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/AddNEditDialog.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/AddNEditDialog.vue
index 67c15ed3..bb072cea 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/AddNEditDialog.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/AddNEditDialog.vue
@@ -34,6 +34,9 @@
+
onModifyItem(newV, item)">
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/TaskItem.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/TaskItem.vue
index 4e23ff5b..cb673be8 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/TaskItem.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/device/strategy/components/TaskItem.vue
@@ -3,16 +3,17 @@
- 设备类型:{{ deviceTypeDic[editData.deviceType].label }}
+ 设备类型:
+ {{ deviceTypeDic[editData.deviceType].label }}
设备:
-
-
- {{ deviceDic[item.id].deviceName }}
- 等{{ editData.devices.length }}个设备
+
+
+ {{ deviceDic[item.id].deviceName }}
+ 等{{ editData.devices.length }}个
+
-
@@ -37,13 +38,14 @@
-
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/topology/left-bg.png b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/topology/left-bg.png
new file mode 100644
index 00000000..97046432
Binary files /dev/null and b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/topology/left-bg.png differ
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/index.vue
index 7158596f..bcf17179 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/index.vue
@@ -3,14 +3,7 @@
-
@@ -29,7 +22,9 @@ import Pagination from "@screen/components/Pagination.vue";
import InputSearch from "@screen/components/InputSearch/index.vue";
import { searchFormList } from "./data";
import ListItem from "./ListItem.vue";
-
+import { method } from "lodash";
+import request from '@/utils/request'
+import {DirectionTypes} from '@screen/utils/enum.js';
export default {
name: "Auditlists",
components: {
@@ -38,9 +33,24 @@ export default {
Pagination,
ListItem,
},
+
data() {
return {
searchFormList,
+ list:{total:0,rows:[]},
+ eventType:[
+ '交通事故',
+ '车辆故障',
+ '交通管制',
+ '交通拥堵',
+ '非法上路',
+ '路障清除',
+ '施工建设',
+ '',
+ '',
+ '',
+ '',
+ ],
list1: Array.from({ length: 3 }).map(() => ({
title: "异常天气",
content: "2023.12.23 13:00:00 济南方向K100+000 中雪",
@@ -64,6 +74,7 @@ export default {
};
},
created() {
+ this.bindList()
// axiosIns.get("/business/dcPublishInfo/list")
// .then((result) => {
// console.log("%c [ result ]-39-「index.vue」", "font-size:15px; background:#4bd543; color:#8fff87;", result);
@@ -72,6 +83,23 @@ export default {
// }).catch((err) => {
// });
},
+ methods:{
+ bindList(){
+ request({
+ url: '/business/manage/list',
+ method: 'get',
+ data: {}
+ }).then(res=>{
+ res.rows.forEach(e => {
+ console.log(e)
+ e.content = `${e.eventTime} ${e.stakeMark} ${DirectionTypes[e.direction]} ${e.contentDetails}`
+ e.type = e.eventType
+ e.isverify = e.eventState
+ });
+ this.list = res
+ })
+ }
+ }
};
diff --git a/ruoyi-ui/src/views/JiHeExpressway/utils/api/batch.js b/ruoyi-ui/src/views/JiHeExpressway/utils/api/batch.js
index 9cd16fad..8ed175f2 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/utils/api/batch.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/utils/api/batch.js
@@ -1,7 +1,7 @@
import request from '@/utils/request'
-export function addTaskRequest(devices, params, others) {
+export function addTaskRequest(jobGroup, time, devices, params, others) {
let temp = [{
...others,
devices: devices,
@@ -27,6 +27,8 @@ export function addTaskRequest(devices, params, others) {
]
}];
let data = {
+ jobGroup,
+ time,
callParameter: JSON.stringify(temp)
}
// console.log(JSON.stringify(data));
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index 8287a30f..e2a767f5 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -44,17 +44,17 @@ module.exports = {
// target: `http://10.0.81.201:8080`,
// target: `http://10.168.73.36:8080`, // 周乐
// target: `http://10.168.77.209:8087`, // 刘朋
- // target: `http://10.168.66.196:8080`, //刘文阁
+ target: `http://10.168.66.196:8087`, //刘文阁
// target: `http://10.168.56.206:8087`, //孟
// target: `http://10.168.78.135:8087`, //孟
// target: `http://10.168.78.135:8087`,
- // target: `http://10.0.81.202:8087`, //现场后台
+ // target: `http://10.0.81.202:8087`, //现场后台s
// target: `http://10.0.81.204:8087`, //现场后台 刘文阁
// target: `http://10.168.69.255:8087`, //正晨后台 连现场物联 刘文阁
// target: `http://10.168.78.135:8087`, //王钦
// target: `http://10.168.66.196:8087`, //正晨后台 连现场物联 刘文阁2
// target: `http://10.168.68.42:8087`, //王思祥
- target: `http://10.168.72.174:8087`, //赵祥龙
+ // target: `http://10.168.72.174:8087`, //赵祥龙
// target: `http://10.168.65.156:8097`, //孟
// target: `http://10.168.56.165:8087`, //王家宝
// target: `http://10.168.77.128:8087`, //王兴琳