diff --git a/ruoyi-ui/README.md b/ruoyi-ui/README.md
index 8f09f38e..6f9886d8 100644
--- a/ruoyi-ui/README.md
+++ b/ruoyi-ui/README.md
@@ -83,13 +83,13 @@ PresetFormItems.js 里面封装了一些可以复用的表单项
data.js 表单封装,里面会使用PresetFormItems的一些FormItem.
Form表单属性介绍:
-
+
{
key: "ServiceAreaAbnormal", //唯一标识 一般tabs才需要
label: "服务区异常",//表单标题
formConfig: {
formOptions: {//element中表单配置参数
- column: 2,
+ column: 2, //一行放多少元素(基于:style grid布局实现)
},
list: [//FormItem定义
{
@@ -166,7 +166,7 @@ FormItem属性介绍:
export const additionalNotes = {
label: "补充说明:", // 标题
key: "eventSourceTips", //数据存储字段
- isAlone: true, // 独立
+ isAlone: true, // 单独一行
required: true, //必填
default: 5, //默认值
type: "input", //组件类型(el-input 去掉el-即可) 不填默认为input
@@ -182,4 +182,64 @@ export const additionalNotes = {
return true
}
},
+ ons: { //on监听 element事件
+ change(value, ...args) {
+ const { data, formList } = args.slice(-1)\[0]; //data 为数据 formList为传入的配置项
+ mileCal(data);
+ }
+ },
};
+
+MultipleLabelItem是单独写的组件,事件需按如下配置:
+ merge({}, PresetFormItems.startStation,
+ {
+ options: {
+ options: [
+ {
+ prefix: {
+ text: "K",
+ style: {
+ color: "#3DE8FF",
+ },
+ },
+ key: "startStakeMark[0]",
+ default: "55",
+ rules: [
+ {
+ message: "请补全桩号",
+ callback(value, data) {
+ console.log(value, data.startStakeMark);
+ if (
+ !((value + "")?.trim() && (data.startStakeMark[1] + "")?.trim())
+ )
+ return false;
+ else return true;
+ },
+ },
+ ],
+ ons: { //on监听 element事件
+ change(value, ...args) {
+ const { data, formList } = args.slice[-1](0); //data 为数据 formList为传入的配置项
+ data.deviceType && changeHandle(data, formList);
+ }
+ },
+ },
+ {
+ prefix: {
+ text: "+",
+ style: {
+ color: "#3DE8FF",
+ },
+ },
+ default: "378",
+ key: "startStakeMark[1]",
+ ons: { //on监听 element事件
+ change(value, ...args) {
+ const { data, formList } = args.slice[-1](0); //data 为数据 formList为传入的配置项
+ data.deviceType && changeHandle(data, formList);
+ }
+ },
+ },
+ ],
+ }
+ })
diff --git a/ruoyi-ui/src/assets/iconfont/demo_index.html b/ruoyi-ui/src/assets/iconfont/demo_index.html
index d9124f98..28fc1e31 100644
--- a/ruoyi-ui/src/assets/iconfont/demo_index.html
+++ b/ruoyi-ui/src/assets/iconfont/demo_index.html
@@ -54,6 +54,12 @@
+ -
+
+
关闭
+ 
+
+
-
卡片未激活
@@ -102,9 +108,9 @@
@font-face {
font-family: 'iconfont';
- src: url('iconfont.woff2?t=1710497244093') format('woff2'),
- url('iconfont.woff?t=1710497244093') format('woff'),
- url('iconfont.ttf?t=1710497244093') format('truetype');
+ src: url('iconfont.woff2?t=1710745723035') format('woff2'),
+ url('iconfont.woff?t=1710745723035') format('woff'),
+ url('iconfont.ttf?t=1710745723035') format('truetype');
}
第二步:定义使用 iconfont 的样式
@@ -130,6 +136,15 @@
+ -
+
+
+ 关闭
+
+ .icon-guanbi
+
+
+
-
@@ -202,6 +217,14 @@
+ -
+
+
关闭
+ #icon-guanbi
+
+
-
@@ -118,7 +116,9 @@ export default{
this.moveByLeft();
},
onRight(){
- this.moveByRight();
+ if (this.widthTotal > this.widthBox) {
+ this.moveByRight();
+ }
},
moveByLeft(targetIndex){
// console.log("左侧动", this.startIndex, targetIndex);
@@ -205,12 +205,12 @@ export default{
.list_box{ flex: 1; position: relative; width: 0; overflow: hidden; margin:0;
.list{ position: absolute; left: 0; top:0; display: flex; flex-direction: row; transition: all ease-in-out 0.5s;
.unit {
- cursor: default;
position: relative;
height: 30px;
padding: 0 3px;
.btn_main {
+ cursor: pointer;
background-image: linear-gradient(180deg, #005c79 0%, #009bcc 100%);
border:1px solid #009bcc;
border-radius: 4px;
@@ -229,8 +229,8 @@ export default{
.btn_close {
position: absolute;
right: 6px;
- top: 7px;
- img{ width: 14px; height: 14px;}
+ top:8px;
+ font-size: 12px; color: #3de8ff;
}
}
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/images/home-FrameControl/FrameControl.svg b/ruoyi-ui/src/views/JiHeExpressway/images/home-FrameControl/FrameControl.svg
new file mode 100644
index 00000000..41d1fec3
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/images/home-FrameControl/FrameControl.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/images/home-VectorControl/VectorControl.svg b/ruoyi-ui/src/views/JiHeExpressway/images/home-VectorControl/VectorControl.svg
new file mode 100644
index 00000000..36e7160c
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/images/home-VectorControl/VectorControl.svg
@@ -0,0 +1,3 @@
+
+
+
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
new file mode 100644
index 00000000..5bbd9a78
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFrameControl/index.vue
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
批量控制
+
{ this.activeIcon = null; }">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeVectorControl/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeVectorControl/index.vue
new file mode 100644
index 00000000..ae5317a9
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeVectorControl/index.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/index.vue
index 8c24604a..7eb66e3c 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/index.vue
@@ -20,6 +20,8 @@
+
+
@@ -46,6 +48,9 @@ import AMapContainer from "./components/AMapContainer/index.vue";
import HomeFilter from "./components/HomeFilter/index.vue";
import HomeFrame from "./components/HomeFrame/index.vue";
import HomeVector from "./components/HomeVector/index.vue";
+import HomeFrameControl from "./components/HomeFrameControl/index.vue";
+import HomeVectorControl from "./components/HomeVectorControl/index.vue";
+
import Button from '@screen/components/Buttons/Button.vue';
import Vue from "vue";
// import InfoBoard from "./components/InfoBoard"
@@ -62,6 +67,8 @@ export default {
HomeFilter,
HomeFrame,
HomeVector,
+ HomeFrameControl,
+ HomeVectorControl,
// InfoBoard
},
data() {
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/eventPlanDialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/eventPlanDialog/index.vue
new file mode 100644
index 00000000..fb7721a6
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/eventPlanDialog/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue
index 65825af8..f27fcd9d 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/index.vue
@@ -4,8 +4,10 @@
-
-
+
+
@@ -14,11 +16,16 @@
+
+
+
+
-
+
+ @click.native="onSubmit">确认
@@ -32,6 +39,7 @@ import { formList } from "./data"
// import { timeLine2List } from "@screen/pages/control/event/commandDispatch/Cards/DisposalProcess/data.js"
import Video from "@screen/components/Video";
import Carousel from "./Carousel/index.vue"
+import EventPlanDialog from "./eventPlanDialog/index.vue"
import Button from '@screen/components/Buttons/Button.vue';
import request from "@/utils/request";
import { Message } from "element-ui";
@@ -46,7 +54,8 @@ export default {
TimeLine2,
Video,
Carousel,
- Button
+ Button,
+ EventPlanDialog
},
model: {
prop: 'visible',
@@ -63,6 +72,7 @@ export default {
data() {
return {
formList,
+ isShowDialog: false,
timeLine1List: [{
time: "",
label: "",
@@ -147,6 +157,9 @@ export default {
})
},
+ onCloseAddNew() {
+ this.isShowDialog = false;
+ },
onDelete() {
if (this.formData.id) {
this.$confirm('确定误报吗?', '提示', {
@@ -171,6 +184,25 @@ export default {
}
+ },
+ onSubmit() {
+ this.isShowDialog = true;
+ let url = '/business/plans/list/warning/type'
+ let data = {}
+ if (this.activeName == '-1') {
+ url = '/business/plans/list/warning/type'
+ } else {
+ url = '/business/plans/list/event/type'
+ }
+ request({
+ url: url,
+ method: "post",
+ data: this.formData
+ }).then(result => {
+ if (result.code != 200) return Message.error(result?.msg);
+ console.log('result', result)
+ })
+
}
}
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue
index 454c0a75..3e3a8593 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue
@@ -20,18 +20,14 @@
-
+
-
+
-
@@ -49,7 +45,7 @@
-
+ -->
@@ -98,162 +94,253 @@ const optionsMap = {
1: {
1: [
{
- value: 1,
- label: '雨'
+ value: "1-1",
+ label: "追尾",
},
{
- value: 2,
- label: '雪'
+ value: "1-2",
+ label: "侧翻",
},
{
- value: 3,
- label: '雾'
+ value: "1-3",
+ label: "撞护栏",
},
{
- value: 4,
- label: '大风'
+ value: "1-4",
+ label: "自然",
},
{
- value: 5,
- label: '低温寒潮'
+ value: "1-5",
+ label: "其他事故",
},
+ ],
+ 2: [
{
- value: 6,
- label: '路面积雪'
+ value: 1,
+ label: '高速主线'
},
{
- value: 7,
- label: '路面结冰'
+ value: 2,
+ label: '服务区'
},
{
- value: 8,
- label: '路面积水'
+ value: 3,
+ label: '立交桥'
},
{
- value: 9,
- label: '其他'
+ value: 4,
+ label: '收费站'
}
],
- 2: [
+ 3: [
{
value: 1,
- label: '侧翻'
+ label: '主线关闭'
},
{
value: 2,
- label: '撞障碍物'
+ label: '主线限行'
},
{
- value: 3,
- label: '货物洒落'
+ value: 6,
+ label: '收费站关闭'
},
{
- value: 4,
- label: '撞护栏'
+ value: 7,
+ label: '收费站限行'
},
{
- value: 5,
- label: '自燃'
+ value: 10,
+ label: '匝道立交关闭'
},
{
- value: 6,
- label: '追尾'
+ value: 12,
+ label: '匝道立交限行'
+ },
+ {
+ value: 14,
+ label: '服务区关闭'
}
],
- 3: [
+ 4: [
{
- value: 1,
+ value: '4-1',
+ label: '道路拥堵'
+ },
+ {
+ value: '4-2',
+ label: '立交拥堵'
+ },
+ {
+ value: '4-3',
+ label: '收费站拥堵'
+ },
+ {
+ value: '4-4',
+ label: '收费站服务区拥堵'
+ }
+ ],
+ 5: [
+ {
+ value: '5-1',
label: '行人'
},
{
- value: 2,
+ value: '5-2',
label: '非机动车'
},
{
- value: 3,
+ value: '5-3',
label: '摩托车'
},
{
- value: 4,
+ value: '5-4',
label: '其他'
}
],
- 4: [
+ 6: [
{
- value: 1,
- label: '高速主线'
+ value: '6-1',
+ label: '烟雾'
},
{
- value: 2,
- label: '服务区'
+ value: '6-2',
+ label: '倒伏树木'
},
{
- value: 3,
- label: '立交桥'
+ value: '6-3',
+ label: '撒落物'
},
{
- value: 4,
- label: '收费站'
+ value: '6-4',
+ label: '动物'
+ },
+ {
+ value: '6-5',
+ label: '其他'
}
],
- 5: [
+ 7: [
{
value: 1,
- label: '道路拥堵'
+ label: '道路养护施工'
},
{
value: 2,
- label: '立交拥堵'
+ label: '收费站养护施工'
},
{
value: 3,
- label: '收费站拥堵'
+ label: '服务区养护施工'
},
{
value: 4,
- label: '收费站服务区拥堵'
+ label: '枢纽立交匝道养护施工'
+ },
+ {
+ value: 5,
+ label: '地方道路养护施工'
+ },
+ {
+ value: 6,
+ label: '道路工程建设施工'
+ },
+ {
+ value: 7,
+ label: '收费站工程建设施工'
+ },
+ {
+ value: 8,
+ label: '服务区工程建设施工'
+ },
+ {
+ value: 9,
+ label: '枢纽立交匝道工程建设施工'
+ },
+ {
+ value: 10,
+ label: '地方道路工程建设施工'
}
],
- 6: [
-
- ],
- 7: [
+ 8: [
{
- value: 1,
+ value: '8-1',
label: '封闭、暂停营业'
},
{
- value: 2,
+ value: '8-2',
label: '重要设施停用'
},
{
- value: 3,
- label: '其他异常'
- }
+ value: '8-3',
+ label: '服务区其他异常'
+ },
],
- 8: [],
9: [
{
value: 1,
- label: '烟雾'
+ label: '摄像机'
},
{
value: 2,
- label: '倒伏树木'
+ label: '护栏'
},
{
value: 3,
- label: '洒落物'
+ label: '隔离栅'
},
{
value: 4,
- label: '动物'
+ label: '情报板'
},
{
value: 5,
+ label: '防炫板'
+ },
+ {
+ value: 6,
label: '其他'
}
- ]
+ ],
+ 10: [{
+ value: '10-1',
+ label: '雨'
+ },
+ {
+ value: '10-2',
+ label: '雪'
+ },
+ {
+ value: '10-3',
+ label: '雾'
+ },
+ {
+ value: '10-4',
+ label: '大风'
+ },
+ {
+ value: '10-5',
+ label: '低温寒潮'
+ }, {
+ value: '10-6',
+ label: '路面积雪'
+ },
+ {
+ value: '10-7',
+ label: '路面结冰'
+ },
+ {
+ value: '10-8',
+ label: '路面积水'
+ },
+ {
+ value: '10-9',
+ label: '其他'
+ }],
+ 11: [{
+ value: 1,
+ label: '其他事件'
+ }]
},
2: {
1: [{
@@ -302,7 +389,7 @@ export default {
formData: {
eventCategory: 1,
eventType: 1,
- triggerMechanism: 1
+ triggerMechanism: '1-1'
},
secondFormData: [{
deviceType: 1,
@@ -318,87 +405,69 @@ export default {
eventOptions: [
{
value: 1,
- label: '异常天气'
+ label: '交通事故'
},
{
value: 2,
- label: '交通事故'
+ label: '车辆故障'
},
{
value: 3,
- label: '非法上路'
+ label: '交通管制'
},
{
value: 4,
- label: '车辆故障'
+ label: '交通拥堵'
},
{
value: 5,
- label: '交通拥堵'
+ label: '非法上路'
},
{
value: 6,
- label: '交通管制'
+ label: '路障清除'
},
{
value: 7,
- label: '服务区异常'
+ label: '施工建设'
},
{
value: 8,
- label: '施工建设'
+ label: '服务区异常'
},
{
value: 9,
- label: '路障清除'
+ label: '设施设备隐患'
+ },
+ {
+ value: 10,
+ label: '异常天气'
+ },
+ {
+ value: 11,
+ label: '其他事件'
}
],
mechanismOptions: [{
- value: 1,
- label: '雨'
- },
- {
- value: 2,
- label: '雪'
- },
- {
- value: 3,
- label: '雾'
- },
- {
- value: 4,
- label: '大风'
- },
- {
- value: 5,
- label: '低温寒潮'
+ value: "1-1",
+ label: "追尾",
},
{
- value: 6,
- label: '路面积雪'
+ value: "1-2",
+ label: "侧翻",
},
{
- value: 7,
- label: '路面结冰'
+ value: "1-3",
+ label: "撞护栏",
},
{
- value: 8,
- label: '路面积水'
+ value: "1-4",
+ label: "自然",
},
{
- value: 9,
- label: '其他'
+ value: "1-5",
+ label: "其他事故",
}],
- conditionOptions: [
- // {
- // value: 1,
- // label: '大于(>)'
- // },
- {
- value: 1,
- label: '小于(<)'
- },
- ],
rules: {
planName: [
{ required: true, message: '请输入预案名称', trigger: 'blur' },
@@ -428,7 +497,7 @@ export default {
this.formData = {
eventCategory: 1,
eventType: 1,
- triggerMechanism: 1
+ triggerMechanism: '1-1'
}
this.secondFormData = [{
deviceType: 1,
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue
index d317f5d8..789661f9 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue
@@ -136,19 +136,59 @@ export default {
deviceOptions: [
{
value: 1,
- label: '可变信息标志'
+ label: '摄像机'
},
{
value: 2,
- label: '疲劳唤醒'
+ label: '可变信息标志'
},
{
value: 3,
- label: '行车诱导'
+ label: '气象监测器'
},
{
value: 4,
- label: '路段广播'
+ label: '出口诱导灯'
+ },
+ {
+ value: 5,
+ label: '路段语音广播'
+ },
+ {
+ value: 6,
+ label: '护栏碰撞'
+ },
+ {
+ value: 7,
+ label: '毫米波雷达'
+ },
+ {
+ value: 8,
+ label: '合流区预警'
+ },
+ {
+ value: 9,
+ label: '智慧锥桶'
+ },
+ {
+ value: 10,
+ label: '激光疲劳唤醒'
+ },
+ {
+ value: 11,
+ label: '类交通量调查站'
+ },
+ {
+ value: 12,
+ label: '行车诱导'
+ },
+ {
+ value: 13,
+ label: '智能设备箱'
+ },
+ {
+ value: 14,
+ label: '光线在线监测'
}
],
zyOptions: [
@@ -162,6 +202,10 @@ export default {
},
{
value: 3,
+ label: '事发下游最近'
+ },
+ {
+ value: 4,
label: '最近公里数'
},
],
@@ -231,7 +275,7 @@ export default {
}
},
async created() {
- let loadData = await this.loadData();
+ let loadData = await this.loadData();
// console.log('aa',loadData)
this.sbOptions = loadData;
},
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue
index bcd95fe0..e2d68721 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue
@@ -139,7 +139,7 @@
class="btnInfoBoard"
type="publish"
@click="____onPublish"
- :disabled="selectedBdMsg.length <= 0"
+ :disabled="selectedBdMsg.length <= 0 || selectedDevices.length <=0"
>发布信息
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/sensitive/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/sensitive/index.vue
index 30d4e810..6022d668 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/service/sensitive/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/sensitive/index.vue
@@ -19,7 +19,7 @@
导出
-
+
@@ -34,6 +34,7 @@
:disable="true"
placeholder="请输入敏感词,回车搜索"
@handleSearch="handleSearch"
+ ref="form"
/>
@@ -201,6 +202,12 @@ export default {
this.searchData = data;
this.getData();
},
+ onReset(){
+ this.searchData.word = undefined;
+ // console.log(this.$refs["form"] , "__-=========");
+ this.$refs["form"].handleResetForm();
+ this.getData();
+ },
async getData() {
// const closeLoading = setLoading();
this.isLoading = true;