diff --git a/ruoyi-ui/src/api/broadcast/broadcast.js b/ruoyi-ui/src/api/broadcast/broadcast.js
new file mode 100644
index 00000000..5d664d1e
--- /dev/null
+++ b/ruoyi-ui/src/api/broadcast/broadcast.js
@@ -0,0 +1,56 @@
+import request from '@/utils/request'
+
+// 查询设备列表
+export function getdeviceList(query) {
+ return request({
+ url: '/business/device/query',
+ method: 'get',
+ params: {
+ ...query,
+ deviceType:5
+ }
+ })
+}
+
+// 查询设备列表
+export function getBoardDeviceInfo(deviceId) {
+ return request({
+ // url: `/business/board/realtimeProperty/${deviceId}`,
+ url: `/business/device/properties/realtime/${deviceId}/3A`,
+ // url: `/business/device/batchFunctions`,
+ method: 'GET',
+ params: {}
+ })
+}
+
+// 敏感字段检测
+export function checkBoardContent(content) {
+ return request({
+ url: `/business/dcInfoBoardVocabulary/checkBoardContent`,
+ method: 'get',
+ params:{
+ content
+ }
+ })
+}
+
+// 保存情报板发布日志
+export function saveBoardReleaseLog(data) {
+ return request({
+ url: `/business/boardReleaseLog`,
+ method: 'post',
+ data
+ })
+}
+
+export function publishToBoard(data) {
+ return request({
+ // url: '/business/board/batch/publish',
+ url: `/broadcast/broadcastFunctionCall`,
+ method: 'post',
+ // data: data
+ data
+ })
+}
+
+
diff --git a/ruoyi-ui/src/api/broadcast/record.js b/ruoyi-ui/src/api/broadcast/record.js
new file mode 100644
index 00000000..b23c32b2
--- /dev/null
+++ b/ruoyi-ui/src/api/broadcast/record.js
@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询发布记录列表
+export function listRecord(query) {
+ return request({
+ url: '/system/log/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询发布记录详细
+export function getRecord(id) {
+ return request({
+ url: '/system/record/' + id,
+ method: 'get'
+ })
+}
+
+// 新增发布记录
+export function addRecord(data) {
+ return request({
+ url: '/system/record',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改发布记录
+export function updateRecord(data) {
+ return request({
+ url: '/system/record',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除发布记录
+export function delRecord(id) {
+ return request({
+ url: '/system/record/' + id,
+ method: 'delete'
+ })
+}
+
+// 导出发布记录
+export function exportRecord(query) {
+ return request({
+ url: '/system/log/export',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/ruoyi-ui/src/api/broadcast/template.js b/ruoyi-ui/src/api/broadcast/template.js
new file mode 100644
index 00000000..e98e3abf
--- /dev/null
+++ b/ruoyi-ui/src/api/broadcast/template.js
@@ -0,0 +1,216 @@
+
+import request from '@/utils/request'
+
+// 查询模板列表
+export function getTemplateList(query) {
+ return request({
+ url: '/system/broadcast/listAll',
+ method: 'get',
+ params: query
+ })
+}
+
+// 新增情报板模板
+export function addTemplate(data) {
+ console.log(data , "dddddddddaaataaaa")
+ return request({
+ url: '/system/broadcast',
+ method: 'post',
+ data: data
+ })
+}
+
+//修改情报板模板
+export function editTemplate(data) {
+ return request({
+ url: '/system/broadcast',
+ method: 'put',
+ data: data
+ })
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//修改情报板模板内容
+export function editTemplateContent(data) {
+ return request({
+ url: '/system/content',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除情报板模板
+export function deleteTemplate(id) {
+ return request({
+ url: '/system/broadcast/' + id,
+ method: 'delete'
+ })
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//获取情报板模板详细信息
+export function getTemplateInfo(id) {
+ return request({
+ url: '/system/template/' + id,
+ method: 'get',
+ })
+}
+
+//获取情报板模板内容信息
+export function getTemplateContent(id) {
+ return request({
+ url: '/system/content/list?templateId=' + id,
+ method: 'get',
+ })
+}
+
+
+
+//新增情报板模板内容
+export function addTemplateContent(data) {
+ return request({
+ url: '/system/content',
+ method: 'post',
+ data: data
+ })
+}
+
+//图片库列表查询
+export function getGalleryList() {
+ return request({
+ url: '/system/upload/list',
+ method: 'get',
+ })
+}
+
+//图片获取详细信息
+export function getGallery(id) {
+ return request({
+ url: '/system/upload/'+ id,
+ method: 'get',
+ })
+}
+
+
+// 情报板发布
+export function postInformationBoardRelease(data) {
+ return request({
+ url: '/system/template/informationBoardRelease',
+ method: 'post',
+ data: data
+ })
+}
+
+// 情报板获取
+export function getInformationBoardRelease(data) {
+ return request({
+ url: '/system/template/informationBoardAcquisition',
+ method: 'post',
+ data: data
+ })
+}
+
+//情报板发布
+export function uploadBoardEditInfo(devicelds,protocolType,parameters) {
+ var data = {
+ deviceIds:devicelds,
+ protocolType:protocolType,
+ // parameters:parameters
+ parameters:encodeURI(parameters)
+
+ }
+ return request({
+ url: '/parser/board/uploadBoardEditInfo',
+ method: 'get',
+ params: data
+ })
+}
+
+//情报板发布 隧道内
+export function splicingBoard(data) {
+ return request({
+ url: '/parser/board/splicingBoard',
+ method: 'get',
+ params: data
+
+ })
+}
+
+//情报板发布 门架式
+export function gantryVmsInfo(data) {
+ return request({
+ url: '/parser/board/gantryVmsInfo',
+ method: 'get',
+ params: data
+
+ })
+}
+
+
+//情报板管理右侧查询接口
+export function getAllVmsTemplate(data) {
+ return request({
+ url: '/system/template/getAllVmsTemplate',
+ method: 'get',
+ params: data
+
+ })
+}
+
+// 情报板内容查询
+export function getBoardContent(deviceId) {
+ return request({
+ url: '/parser/board/getBoardContent?deviceId=' + deviceId,
+ method: 'get',
+
+ })
+}
+
+
+// 情报板根据分辨率筛字体大小
+export function getFontSizeByDevicePixel(screenSize) {
+ return request({
+ url: '/parser/board/getFontSizeByDevicePixel/' + screenSize,
+ method: 'get',
+
+ })
+}
+
+
+// 导出情报板模板
+export function exportTemplate(query) {
+ return request({
+ url: '/system/template/export',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js
index fabf1536..c5517702 100644
--- a/ruoyi-ui/src/common/menuData.js
+++ b/ruoyi-ui/src/common/menuData.js
@@ -209,6 +209,12 @@ export default [
path: "/service/sensitive",
component: "service/sensitive/index.vue",
},
+ {
+ title: "语音广播发布",
+ name: "broadcast",
+ path: "/service/broadcast",
+ component: "service/broadcast/index.vue",
+ },
{
title: "发布渠道管理",
name: "PublishingChannelManagement",
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/broadcast/BroadcastTplShower.vue b/ruoyi-ui/src/views/JiHeExpressway/components/broadcast/BroadcastTplShower.vue
new file mode 100644
index 00000000..e5caa57c
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/broadcast/BroadcastTplShower.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/broadcast/broadcastEditor.vue b/ruoyi-ui/src/views/JiHeExpressway/components/broadcast/broadcastEditor.vue
new file mode 100644
index 00000000..d14ece18
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/broadcast/broadcastEditor.vue
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取值范围 1 - 9
+
+
+
+
+
+
+
+ 取值范围 1 - 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/mixins/broadcast.js b/ruoyi-ui/src/views/JiHeExpressway/mixins/broadcast.js
new file mode 100644
index 00000000..fa3aaacc
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/mixins/broadcast.js
@@ -0,0 +1,144 @@
+import { publishToBoard, saveBoardReleaseLog } from "@/api/broadcast/broadcast";
+import moment from "moment/moment";
+import store from "@/store";
+export default {
+ data() {
+ return {};
+ },
+ methods: {
+ // 新增待下发
+ ____onAddDeviceItem() {
+
+ this.editDialog = {
+ visible: true,
+ mode: "add",
+ type: "device",
+ tpl: {
+ content:""
+ },
+ };
+ },
+ // 从模板新增待下发
+ ____onTplToDevice(item, showDialog) {
+ // if(this.checkedDeviceIds.length<=0){
+ // this.$message.warning('未选择设备!');
+ // return;
+ // }
+
+ if (this.selectedBdMsg.length >= 1){
+ this.$message({
+ type: "warning",
+ message: "只能发布一条语音广播!",
+ });
+ return;
+ }
+
+ this.editDialog = {
+ visible: showDialog == false ? false : true,
+ mode: "toDevice",
+ type: "template",
+ tpl: item,
+ };
+ },
+ // 发布信息
+ ____publishInfo() {
+ let deviceList = [];
+ if (this.selectedDevice){
+ deviceList = [item.otherConfig];
+ }
+ else{
+ this.selectedDevices.forEach(item=>{
+ deviceList.push(item.otherConfig);
+ })
+ }
+ this.$confirm("是否确定发布语音广播?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ let loading = this.$loading({
+ lock: true,
+ text: "Loading",
+ spinner: "el-icon-loading",
+ background: "rgba(0, 0, 0, 0.7)",
+ });
+
+ // let content = [];
+
+ let data = {
+ functionType : "startPaTts",
+ name : "task-3",
+ // outVol : "6",
+ outVol: this.selectedBdMsg[0].outVol,
+ // priority : "1",
+ priority: this.selectedBdMsg[0].priority,
+ repeatTimes: this.selectedBdMsg[0].repeatTimes,
+ // termList : [{ zoneld: "6001", termDN: "601" }, { zoneld: "6001", termDN: "608" }, { zoneld: "6001", termDN: "610" }],
+ termList: deviceList,
+ text: this.selectedBdMsg[0].content
+ }
+
+ if (IS_TESTING) {
+ // this.saveLog(content);
+ this.____getDeviceInfo();
+ loading.close();
+ } else {
+ publishToBoard(data)
+ .then((res) => {
+ // this.saveLog(content);
+ this.$message({
+ type: "success",
+ message: "发布成功!",
+ });
+ // !isMultiControl && this.____getDeviceInfo();
+ })
+ .catch((err) => {})
+ .finally(() => {
+ loading.close();
+ });
+ }
+ })
+ .catch(() => {
+ this.$message({
+ type: "info",
+ message: "取消发布",
+ });
+ });
+ },
+ //
+ saveLog(content) {
+ let time = moment().format("YYYY-MM-DD HH:mm:ss");
+ let device = this.selectedDevices;
+ let data = {
+ createBy: store.getters.name,
+ createTime: time,
+ deviceId: device.id,
+ deviceName: device.deviceName,
+ direction: device.direction,
+ params: {},
+ platform: "",
+ releaseContent: JSON.stringify(content),
+ releaseDeptId: "",
+ releaseDeptName: "",
+ releaseIp: "",
+ releaseStatus: "",
+ releaseTime: time,
+ releaseUserId: "",
+ releaseUserName: "",
+ remark: "",
+ searchValue: "",
+ stakeMark: device.stakeMark,
+ updateBy: "",
+ updateTime: time,
+ };
+ saveBoardReleaseLog(data).then((res) => {
+ if (res.code == 200) {
+ console.log("情报板日志已保存:::", data);
+ } else {
+ console.log("情报板日志保存失败!");
+ }
+ });
+ },
+ },
+};
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 fea8dc43..5d115634 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
@@ -33,8 +33,8 @@
-
-
暂无数据
+
+
暂无数据
@@ -331,7 +331,6 @@ export default {
DeviceTopics,
componentMap,
tabAction: "1",
- data:[],
keyMap: [
{
key: "groupName",
@@ -563,6 +562,7 @@ div.el-popper.global-input-search-popover {
.cardPanel{
display: flex;
flex-wrap: wrap;
+ align-content: flex-start;
}
.cardBox {
flex-basis: percentage(1/4);
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/addinfo copy.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/addinfo copy.vue
new file mode 100644
index 00000000..ea25a129
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/addinfo copy.vue
@@ -0,0 +1,973 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 左对齐
+ 左右居中
+ 右对齐
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/editInfo.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/editInfo.vue
new file mode 100644
index 00000000..9c2f25bc
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/editInfo.vue
@@ -0,0 +1,963 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 左对齐
+ 左右居中
+ 右对齐
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/index.vue
new file mode 100644
index 00000000..f9be0a3b
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/index.vue
@@ -0,0 +1,1174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 在线
+ 离线
+
+
+
+
+ K
+
+
+
+ +
+
+
+
+
+
+ K
+
+
+
+ +
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+ {{ itm.deviceName }}
+
+
+ {{ itm.deviceName }}
+
+ {{ itm.deviceName }}
+
+
+
+
+
+
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
+
+ 添加信息
+ 发布信息
+
+
+
+
+
+
+
+
+
+
+ 添加模板
+
+
+
+
+
+
+
+
{{ item.dictLabel }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/device.js b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/device.js
new file mode 100644
index 00000000..d88afa8f
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/device.js
@@ -0,0 +1,116 @@
+export default [
+ {
+ "id": 894,
+ "iotDeviceId": "8162-65535",
+ "groupId": null,
+ "productId": 0,
+ "stakeMark": "k57+595",
+ "direction": "1",
+ "deviceName": "门架式可变信息标志k57+595",
+ "deviceType": 2,
+ "installationDate": null,
+ "productionDate": null,
+ "durableYears": null,
+ "installationSite": null,
+ "useState": null,
+ "otherConfig": "{\"screenSize\":\"768*64\"}",
+ "remark": null,
+ "createTime": "2024-01-10T15:27:34.000+08:00",
+ "updateTime": null
+ },
+ {
+ "id": 895,
+ "iotDeviceId": "8166-65535",
+ "groupId": null,
+ "productId": 0,
+ "stakeMark": "k71+600",
+ "direction": "1",
+ "deviceName": "门架式可变信息标志k71+600",
+ "deviceType": 2,
+ "installationDate": null,
+ "productionDate": null,
+ "durableYears": null,
+ "installationSite": null,
+ "useState": null,
+ "otherConfig": "{\"screenSize\":\"768*64\"}",
+ "remark": null,
+ "createTime": "2024-01-10T15:27:34.000+08:00",
+ "updateTime": null
+ },
+ {
+ "id": 896,
+ "iotDeviceId": "2161-65535",
+ "groupId": null,
+ "productId": 0,
+ "stakeMark": "k82+285",
+ "direction": "1",
+ "deviceName": "门架式可变信息标志k82+285",
+ "deviceType": 2,
+ "installationDate": null,
+ "productionDate": null,
+ "durableYears": null,
+ "installationSite": null,
+ "useState": null,
+ "otherConfig": "{\"screenSize\":\"768*64\"}",
+ "remark": null,
+ "createTime": "2024-01-10T15:27:34.000+08:00",
+ "updateTime": null
+ },
+ {
+ "id": 902,
+ "iotDeviceId": "31115-65535",
+ "groupId": null,
+ "productId": 0,
+ "stakeMark": "k98+208",
+ "direction": "1",
+ "deviceName": "门架式可变信息标志k98+208",
+ "deviceType": 2,
+ "installationDate": null,
+ "productionDate": null,
+ "durableYears": null,
+ "installationSite": null,
+ "useState": null,
+ "otherConfig": "{\"screenSize\":\"768*64\"}",
+ "remark": null,
+ "createTime": "2024-01-10T15:48:59.000+08:00",
+ "updateTime": null
+ },
+ {
+ "id": 903,
+ "iotDeviceId": "31111-65535",
+ "groupId": null,
+ "productId": 0,
+ "stakeMark": "k103+900",
+ "direction": "1",
+ "deviceName": "门架式可变信息标志k103+900",
+ "deviceType": 2,
+ "installationDate": null,
+ "productionDate": null,
+ "durableYears": null,
+ "installationSite": null,
+ "useState": null,
+ "otherConfig": "{\"screenSize\":\"768*64\"}",
+ "remark": null,
+ "createTime": "2024-01-10T15:48:59.000+08:00",
+ "updateTime": null
+ },
+ {
+ "id": 904,
+ "iotDeviceId": "81221-65535",
+ "groupId": null,
+ "productId": 0,
+ "stakeMark": "k59+289",
+ "direction": "1",
+ "deviceName": "大学城入口站前板",
+ "deviceType": 2,
+ "installationDate": null,
+ "productionDate": null,
+ "durableYears": null,
+ "installationSite": null,
+ "useState": null,
+ "otherConfig": "{\"screenSize\":\"160*80\"}",
+ "remark": null,
+ "createTime": "2024-01-10T15:48:59.000+08:00",
+ "updateTime": null
+ }
+ ]
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/direction.js b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/direction.js
new file mode 100644
index 00000000..aeb8802d
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/direction.js
@@ -0,0 +1,59 @@
+export default [
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:16:24",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 286,
+ "dictSort": 0,
+ "dictLabel": "菏泽方向",
+ "dictValue": "1",
+ "dictType": "iot_board_direction",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ },
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:16:31",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 287,
+ "dictSort": 1,
+ "dictLabel": "济南方向",
+ "dictValue": "2",
+ "dictType": "iot_board_direction",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ },
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:16:39",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 288,
+ "dictSort": 2,
+ "dictLabel": "双向",
+ "dictValue": "3",
+ "dictType": "iot_board_direction",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ }
+ ]
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/template.js b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/template.js
new file mode 100644
index 00000000..8d16e15a
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/template.js
@@ -0,0 +1,166 @@
+export default {
+ "0": [
+ {
+ "id": 3,
+ "category": "0",
+ "content": "保持车距,控制车速",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "64",
+ "fontType": "2",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:40:19",
+ "updateTime": "2024-01-06 11:04:53"
+ },
+ {
+ "id": 4,
+ "category": "0",
+ "content": "山东高速欢迎您",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "64",
+ "fontType": "3",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:40:44",
+ "updateTime": "2024-01-06 11:04:58"
+ },
+ {
+ "id": 5,
+ "category": "0",
+ "content": "山东高速热线:96659",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "64",
+ "fontType": "1",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:40:56",
+ "updateTime": "2024-01-06 11:05:24"
+ },
+ {
+ "id": 9,
+ "category": "0",
+ "content": "安全带=生命带,关键时刻能救命",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "48",
+ "fontType": "3",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:42:21",
+ "updateTime": "2024-01-06 11:05:15"
+ }
+ ],
+ "1": [
+ {
+ "id": 6,
+ "category": "1",
+ "content": "前方施工,谨慎驾驶",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "64",
+ "fontType": "3",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:41:07",
+ "updateTime": "2024-01-06 11:05:36"
+ }
+ ],
+ "2": [
+ {
+ "id": 2,
+ "category": "2",
+ "content": "雨天路滑,注意安全",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "64",
+ "fontType": "3",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:38:44",
+ "updateTime": "2024-01-06 11:05:52"
+ },
+ {
+ "id": 10,
+ "category": "2",
+ "content": "大雾天气\n减速慢行",
+ "screenSize": "160*80",
+ "fontColor": "FFFF00",
+ "fontSize": "40",
+ "fontType": "2",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:42:59",
+ "updateTime": "2024-01-06 11:05:48"
+ }
+ ],
+ "3": [],
+ "4": [
+ {
+ "id": 8,
+ "category": "4",
+ "content": "前方发生火灾,请谨慎驾驶",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "64",
+ "fontType": "1",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:42:00",
+ "updateTime": null
+ }
+ ],
+ "5": [
+ {
+ "id": 7,
+ "category": "5",
+ "content": "前方事故,减速慢行",
+ "screenSize": "768*64",
+ "fontColor": "FFFF00",
+ "fontSize": "64",
+ "fontType": "1",
+ "fontSpacing": "0",
+ "rollingSpeed": null,
+ "stopTime": "50",
+ "inScreenMode": "1",
+ "formatStyle": "2",
+ "remark": null,
+ "createTime": "2024-01-06 10:41:33",
+ "updateTime": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/templateCategory.js b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/templateCategory.js
new file mode 100644
index 00000000..2ee999ab
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/broadcast/testData/templateCategory.js
@@ -0,0 +1,116 @@
+export default[
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:14:32",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 280,
+ "dictSort": 0,
+ "dictLabel": "日常通用",
+ "dictValue": "0",
+ "dictType": "iot_template_category",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ },
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:14:41",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 281,
+ "dictSort": 1,
+ "dictLabel": "施工管控",
+ "dictValue": "1",
+ "dictType": "iot_template_category",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ },
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:14:50",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 282,
+ "dictSort": 2,
+ "dictLabel": "恶劣天气",
+ "dictValue": "2",
+ "dictType": "iot_template_category",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ },
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:14:59",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 283,
+ "dictSort": 3,
+ "dictLabel": "交通拥堵",
+ "dictValue": "3",
+ "dictType": "iot_template_category",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ },
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:15:08",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 284,
+ "dictSort": 4,
+ "dictLabel": "突发事件",
+ "dictValue": "4",
+ "dictType": "iot_template_category",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ },
+ {
+ "searchValue": null,
+ "createBy": "admin",
+ "createTime": "2023-12-22 15:15:16",
+ "updateBy": null,
+ "updateTime": null,
+ "remark": null,
+ "params": {},
+ "dictCode": 285,
+ "dictSort": 5,
+ "dictLabel": "警情播报",
+ "dictValue": "5",
+ "dictType": "iot_template_category",
+ "cssClass": null,
+ "listClass": "default",
+ "isDefault": "N",
+ "status": "0",
+ "default": false
+ }
+ ]
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
index 5091a678..17386c34 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
@@ -1246,3 +1246,11 @@ export const visibilityType = {
text: "浓雾",
},
};
+
+//语音广播紧急度
+export const broadcastPriority = {
+ "1":"紧急",
+ "2":"重要",
+ "3":"一般",
+ "4":"提示"
+}
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/websocket.vue b/ruoyi-ui/src/views/websocket.vue
index ab8ee3ca..d7e12c1c 100644
--- a/ruoyi-ui/src/views/websocket.vue
+++ b/ruoyi-ui/src/views/websocket.vue
@@ -114,6 +114,7 @@ export default {
mounted(){
let _this = this;
if (process.env.NODE_ENV == "development"){
+ return
let et = 1;
document.onkeydown = function (e) {
let tp = _.sample(["0", "1", "0", "1", "0", "0", "0", "1", "0"]);
@@ -137,7 +138,7 @@ export default {
"inTunnel": 0,
"roadId": 1,
"occurrenceTime": "2024-04-10 16:56:02",
- "warning_time": "2024-04-10 16:56:02",
+ "warningTime": "2024-04-10 16:56:02",
"lang": "",
"dcEventTrafficControl": {
"controlType": 1,
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index 35bf9094..919563c6 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -54,10 +54,10 @@ module.exports = {
// 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`, //王兴琳
+ target: `http://10.168.77.128:8087`, //王兴琳
// target: `http://10.168.65.103:8097`,
changeOrigin: true,
pathRewrite: {