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/views/JiHeExpressway/common/PresetFormItems.js b/ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js
index 804a9146..f906e716 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js
@@ -137,7 +137,6 @@ export const startStation = {
{
message: "请补全桩号",
callback(value, data) {
- console.log(value, data.startStakeMark);
if (
!((value + "")?.trim() && (data.startStakeMark[1] + "")?.trim())
)
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue
index 7be002af..9a1f9acd 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue
@@ -1,29 +1,12 @@
-
+
-
+
- updateValue(item, data)"
- />
+ updateValue(item, data)" />
@@ -86,7 +69,7 @@ export default {
*/
dFormData: {
type: Object,
- default: () => {},
+ default: () => { },
},
/**
* {
@@ -150,9 +133,8 @@ export default {
gridStyle() {
return (item, index) => ({
gridRow: `span ${item.gridRow || 1}`,
- gridColumn: `span ${
- item.gridColumn || (item.isAlone && this.column) || 1
- }`,
+ gridColumn: `span ${item.gridColumn || (item.isAlone && this.column) || 1
+ }`,
});
},
formItemVisible() {
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;
},