Browse Source

Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-hs into develop

wangqin
hui 1 year ago
parent
commit
68abfb40b0
  1. 2
      ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/MultipleLabelItem.vue
  2. 5
      ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue
  3. 6
      ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/utils/index.js
  4. 5
      ruoyi-ui/src/views/JiHeExpressway/components/Video/videoStream.js
  5. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/Broadcast/index.vue
  6. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/Camera/index.vue
  7. 27
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue
  8. 71
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
  9. 554
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/data.js
  10. 19
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue
  11. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js

2
ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/MultipleLabelItem.vue

@ -25,7 +25,7 @@ export default {
default: () => [] default: () => []
}, },
data: { data: {
type: Object, type: [Object, Array],
default: () => ({}) default: () => ({})
} }
}, },

5
ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/index.vue

@ -14,7 +14,7 @@
</template> </template>
<script> <script>
import { resolveName } from "./utils/index"; import { resolveName, defaultComponentOptions } from "./utils/index";
import { reduceDefaultValue } from "./utils/defaultValue"; import { reduceDefaultValue } from "./utils/defaultValue";
import { set as pathSet, get as pathGet } from "lodash"; import { set as pathSet, get as pathGet } from "lodash";
@ -142,8 +142,11 @@ export default {
} }
}, },
getBindData(item) { getBindData(item) {
let componentKey = resolveName(item.type || 'input');
return { return {
placeholder: "请输入", placeholder: "请输入",
...(defaultComponentOptions[componentKey]),
...item.options ...item.options
} }
}, },

6
ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/utils/index.js

@ -1,3 +1,9 @@
export function resolveName(name = "input") { export function resolveName(name = "input") {
return name.replace(/^[a-z]/, (word) => word.toUpperCase()); return name.replace(/^[a-z]/, (word) => word.toUpperCase());
} }
export const defaultComponentOptions = {
Select: {
placeholder: "请选择",
},
};

5
ruoyi-ui/src/views/JiHeExpressway/components/Video/videoStream.js

@ -1,4 +1,5 @@
import flvJs from "flv.js"; import flvJs from "flv.js";
// mpegts.js
import { import {
getCameraStream, getCameraStream,
getNearCamera, getNearCamera,
@ -84,7 +85,7 @@ export class HttpLivePlayer {
if (!url) return Promise.reject("获取 url 失败!"); if (!url) return Promise.reject("获取 url 失败!");
return; this.url = url;
} }
destroy() { destroy() {
@ -102,6 +103,8 @@ export class HttpLivePlayer {
this.lastDecodedFrames = null; this.lastDecodedFrames = null;
console.log(this.url);
if (!this.url) return; if (!this.url) return;
this.player = flvJs.createPlayer( this.player = flvJs.createPlayer(

2
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/Broadcast/index.vue

@ -100,7 +100,7 @@ export default {
getOrganizationName(this.dialogData.iotDeviceId) getOrganizationName(this.dialogData.iotDeviceId)
.then(data => { .then(data => {
this.dialogData.organizationName = data.organizationName; this.dialogData.organizationName = data?.organizationName;
}) })
const roadInfo = await getRoadInfoByStakeMark(this.dialogData.stakeMark); const roadInfo = await getRoadInfoByStakeMark(this.dialogData.stakeMark);

2
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/Camera/index.vue

@ -103,7 +103,7 @@ export default {
getOrganizationName(this.dialogData.iotDeviceId) getOrganizationName(this.dialogData.iotDeviceId)
.then((data) => { .then((data) => {
this.data.organizationName = data.organizationName; this.data.organizationName = data?.organizationName;
}); });
const roadInfo = await getRoadInfoByStakeMark(this.dialogData.stakeMark); const roadInfo = await getRoadInfoByStakeMark(this.dialogData.stakeMark);

27
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue

@ -1,7 +1,8 @@
<template> <template>
<div class='HomeFilter'> <div class='HomeFilter'>
<ElPopover trigger="click" :visibleArrow="false" placement="left" popper-class="global-input-search-popover"> <ElPopover trigger="manual" :value="activeIcon === 'filter'" :visibleArrow="false" placement="left"
<Button :class="['btn', { 'btn-active': true }]" slot="reference"> popper-class="global-input-search-popover">
<Button :class="['btn', { 'btn-active': activeIcon }]" slot="reference" @click.native="handleClick('filter')">
<img src="@screen/images/home-filter/filter.svg"> <img src="@screen/images/home-filter/filter.svg">
</Button> </Button>
@ -37,6 +38,7 @@ export default {
}, },
data() { data() {
return { return {
activeIcon: null,
formList: [ formList: [
{ {
...PresetFormItems.station, ...PresetFormItems.station,
@ -49,25 +51,14 @@ export default {
key: "s", key: "s",
required: false, required: false,
label: "结束桩号" label: "结束桩号"
},
{
label: "车道占用:",
key: "key027",
type: "CheckboxGroup",
isAlone: true,
default: [],
options: {
options: [
{ key: "weChat", label: "行1" },
{ key: "message", label: "行2" },
{ key: "website", label: "行3" },
{ key: "weibo", label: "行4" },
{ key: "weibo2", label: "应急车道" },
],
},
} }
] ]
} }
},
methods: {
handleClick(type) {
this.activeIcon = this.activeIcon === type ? null : type;
}
} }
} }
</script> </script>

71
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js

@ -82,6 +82,7 @@ export const station = {
color: "#3DE8FF", color: "#3DE8FF",
}, },
}, },
key: "stakeMark[0]",
}, },
{ {
prefix: { prefix: {
@ -90,6 +91,7 @@ export const station = {
color: "#3DE8FF", color: "#3DE8FF",
}, },
}, },
key: "stakeMark[1]",
}, },
], ],
}, },
@ -110,6 +112,7 @@ export const startEndStation = {
color: "#3DE8FF", color: "#3DE8FF",
}, },
}, },
key: "stakeMark[0]",
}, },
{ {
prefix: { prefix: {
@ -118,6 +121,7 @@ export const startEndStation = {
color: "#3DE8FF", color: "#3DE8FF",
}, },
}, },
key: "stakeMark[1]",
}, },
{ {
prefix: { prefix: {
@ -126,6 +130,7 @@ export const startEndStation = {
color: "#3DE8FF", color: "#3DE8FF",
}, },
}, },
key: "stakeMark[2]",
}, },
{ {
prefix: { prefix: {
@ -134,6 +139,7 @@ export const startEndStation = {
color: "#3DE8FF", color: "#3DE8FF",
}, },
}, },
key: "stakeMark[3]",
}, },
], ],
}, },
@ -144,6 +150,12 @@ export const direction = {
key: "direction", key: "direction",
required: true, required: true,
type: "select", type: "select",
options: {
options: [
{ key: "济南方向", label: "济南方向" },
{ key: "菏泽方向", label: "菏泽方向" },
],
},
}; };
export const problemDescription = { export const problemDescription = {
@ -166,6 +178,10 @@ export const startTime = {
required: true, required: true,
isAlone: true, isAlone: true,
type: "datePicker", type: "datePicker",
options:{
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-dd HH:mm:ss'
}
}; };
export const expectedEndTime = { export const expectedEndTime = {
@ -173,6 +189,10 @@ export const expectedEndTime = {
key: "estimatedEndTime", key: "estimatedEndTime",
isAlone: true, isAlone: true,
type: "datePicker", type: "datePicker",
options:{
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-dd HH:mm:ss'
}
}; };
export const eventLevel = { export const eventLevel = {
@ -362,14 +382,55 @@ export const freeway = {
required: true, required: true,
key: "roadId", key: "roadId",
type: "select", type: "select",
options: {
options: [
{
key: "1",
label: "济菏高速",
},
]
}
}; };
export const weatherConditions = { export const weatherCondition = {
label: "天气情况:", label: "天气情况:",
key: "dcEventAccident.weatherCondition", key: "dcEventAccident.weatherCondition",
type: "RadioGroup", type: "RadioGroup",
isAlone: true, isAlone: true,
required: true, required: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "1",
label: "晴",
},
{
key: "2",
label: "雨",
},
{
key: "3",
label: "雪",
},
{
key: "4",
label: "雾",
},
{
key: "5",
label: "其他",
},
],
},
};
export const weatherSituation = {
label: "天气情况:",
key: "dcEventAccident.weatherSituation",
type: "RadioGroup",
isAlone: true,
required: true,
options: { options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
@ -549,12 +610,20 @@ export const eventHappenTime = {
key: "startTime", key: "startTime",
required: true, required: true,
type: "datePicker", type: "datePicker",
options:{
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-dd HH:mm:ss'
}
}; };
export const aEstimatedReleaseTime = { export const aEstimatedReleaseTime = {
label: "预计解除时间:", label: "预计解除时间:",
key: "estimatedEndTime", key: "estimatedEndTime",
type: "datePicker", type: "datePicker",
options:{
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-dd HH:mm:ss'
}
}; };
export const pressure = { export const pressure = {

554
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/data.js

@ -6,30 +6,30 @@ export const tabConfigList = [
label: "交通事故", label: "交通事故",
formConfig: { formConfig: {
list: [ list: [
Object.assign(PresetFormItems.callPolicePersonName, { key: 'dcEventAccident.reporterName' }), { ...PresetFormItems.callPolicePersonName, key: 'dcEventAccident.reporterName' },
Object.assign(PresetFormItems.callPolicePersonPhone, { key: 'dcEventAccident.reporterPhoneNumber' }), { ...PresetFormItems.callPolicePersonPhone, key: 'dcEventAccident.reporterPhoneNumber' },
PresetFormItems.trafficAccidentType, PresetFormItems.trafficAccidentType,
PresetFormItems.eventLevel, PresetFormItems.eventLevel,
Object.assign(PresetFormItems.locationMode, { key: 'dcEventAccident.locationType' }), { ...PresetFormItems.locationMode, key: 'dcEventAccident.locationType' },
Object.assign(PresetFormItems.route, { key: 'dcEventAccident.route' }), { ...PresetFormItems.freeway, key: 'dcEventAccident.roadId' },
PresetFormItems.direction, PresetFormItems.direction,
PresetFormItems.station, PresetFormItems.station,
PresetFormItems.eventHappenTime, PresetFormItems.eventHappenTime,
PresetFormItems.aEstimatedReleaseTime, PresetFormItems.aEstimatedReleaseTime,
Object.assign(PresetFormItems.pressure, { key: 'dcEventAccident.trafficJam' }), { ...PresetFormItems.pressure, key: 'dcEventAccident.trafficJam' },
Object.assign(PresetFormItems.weatherConditions, { key: 'dcEventAccident.weatherCondition' }), { ...PresetFormItems.weatherCondition, key: 'dcEventAccident.weatherCondition' },
Object.assign(PresetFormItems.effect, { key: 'dcEventAccident.impactLevel' }), { ...PresetFormItems.effect, key: 'dcEventAccident.impactLevel' },
Object.assign(PresetFormItems.isArrives, { key: 'dcEventAccident.isReverseCargo' }), { ...PresetFormItems.isArrives, key: 'dcEventAccident.isReverseCargo' },
Object.assign(PresetFormItems.isMaintenanceAccident, { key: 'dcEventAccident.isMaintenance' }), { ...PresetFormItems.isMaintenanceAccident, key: 'dcEventAccident.isMaintenance' },
Object.assign(PresetFormItems.trafficPolicePhone, { key: 'dcEventAccident.policeContact' }), { ...PresetFormItems.trafficPolicePhone, key: 'dcEventAccident.policeContact' },
Object.assign(PresetFormItems.wreckerCalls, { key: 'dcEventAccident.towingServiceContact' }), { ...PresetFormItems.wreckerCalls, key: 'dcEventAccident.towingServiceContact' },
Object.assign(PresetFormItems.isCongestionAhead, { key: 'dcEventAccident.congestionAhead' }), { ...PresetFormItems.isCongestionAhead, key: 'dcEventAccident.congestionAhead' },
Object.assign(PresetFormItems.isForkRoad, { key: 'dcEventAccident.atIntersection' }), { ...PresetFormItems.isForkRoad, key: 'dcEventAccident.atIntersection' },
Object.assign(PresetFormItems.isCurveRoad, { key: 'dcEventAccident.onCurve' }), { ...PresetFormItems.isCurveRoad, key: 'dcEventAccident.onCurve' },
Object.assign(PresetFormItems.isInTunnel, { key: 'dcEventAccident.inTunnel' }), { ...PresetFormItems.isInTunnel, key: 'dcEventAccident.inTunnel' },
Object.assign(PresetFormItems.spillName, { key: 'dcEventAccident.spillageItem' }), { ...PresetFormItems.spillName, key: 'dcEventAccident.spillageItem' },
Object.assign(PresetFormItems.ownerPhone, { key: 'dcEventAccident.vehicleOwnerPhone' }), { ...PresetFormItems.ownerPhone, key: 'dcEventAccident.vehicleOwnerPhone' },
Object.assign(PresetFormItems.laneOccupancy, { key: 'dcEventAccident.laneOccupancy' }), { ...PresetFormItems.laneOccupancy, key: 'dcEventAccident.laneOccupancy' },
PresetFormItems.vehicleCondition('dcEventAccident'), PresetFormItems.vehicleCondition('dcEventAccident'),
PresetFormItems.casualties('dcEventAccident'), PresetFormItems.casualties('dcEventAccident'),
PresetFormItems.eventTitle, PresetFormItems.eventTitle,
@ -44,23 +44,23 @@ export const tabConfigList = [
formConfig: { formConfig: {
formOptions: {}, formOptions: {},
list: [ list: [
Object.assign(PresetFormItems.callPolicePersonName, { key: 'dcEventVehicleAccident.reporterName' }), { ...PresetFormItems.callPolicePersonName, key: 'dcEventVehicleAccident.reporterName' },
Object.assign(PresetFormItems.callPolicePersonPhone, { key: 'dcEventVehicleAccident.reporterPhoneNumber' }), { ...PresetFormItems.callPolicePersonPhone, key: 'dcEventVehicleAccident.reporterPhoneNumber' },
PresetFormItems.vehicleMalfunctionType, PresetFormItems.vehicleMalfunctionType,
PresetFormItems.eventLevel, PresetFormItems.eventLevel,
Object.assign(PresetFormItems.locationMode, { key: 'dcEventVehicleAccident.locationType' }), { ...PresetFormItems.locationMode, key: 'dcEventVehicleAccident.locationType' },
Object.assign(PresetFormItems.route, { key: 'dcEventVehicleAccident.route' }), { ...PresetFormItems.freeway, key: 'dcEventVehicleAccident.roadId' },
PresetFormItems.direction, PresetFormItems.direction,
PresetFormItems.station, PresetFormItems.station,
PresetFormItems.eventHappenTime, PresetFormItems.eventHappenTime,
PresetFormItems.aEstimatedReleaseTime, PresetFormItems.aEstimatedReleaseTime,
Object.assign(PresetFormItems.pressure, { key: 'dcEventVehicleAccident.trafficJam' }), { ...PresetFormItems.pressure, key: 'dcEventVehicleAccident.trafficJam' },
Object.assign(PresetFormItems.weatherConditions, { key: 'dcEventVehicleAccident.weatherCondition' }), { ...PresetFormItems.weatherCondition, key: 'dcEventVehicleAccident.weatherCondition' },
Object.assign(PresetFormItems.isCongestionAhead, { key: 'dcEventVehicleAccident.congestionAhead' }), { ...PresetFormItems.isCongestionAhead, key: 'dcEventVehicleAccident.congestionAhead' },
Object.assign(PresetFormItems.isForkRoad, { key: 'dcEventVehicleAccident.atIntersection' }), { ...PresetFormItems.isForkRoad, key: 'dcEventVehicleAccident.atIntersection' },
Object.assign(PresetFormItems.isCurveRoad, { key: 'dcEventVehicleAccident.onCurve' }), { ...PresetFormItems.isCurveRoad, key: 'dcEventVehicleAccident.onCurve' },
Object.assign(PresetFormItems.isInTunnel, { key: 'dcEventVehicleAccident.inTunnel' }), { ...PresetFormItems.isInTunnel, key: 'dcEventVehicleAccident.inTunnel' },
Object.assign(PresetFormItems.laneOccupancy, { key: 'dcEventVehicleAccident.laneOccupancy' }), { ...PresetFormItems.laneOccupancy, key: 'dcEventVehicleAccident.laneOccupancy' },
PresetFormItems.vehicleCondition('dcEventVehicleAccident'), PresetFormItems.vehicleCondition('dcEventVehicleAccident'),
PresetFormItems.casualties('dcEventVehicleAccident'), PresetFormItems.casualties('dcEventVehicleAccident'),
PresetFormItems.eventTitle, PresetFormItems.eventTitle,
@ -69,81 +69,6 @@ export const tabConfigList = [
], ],
}, },
}, },
{
key: "TrafficCongestion",
label: "交通拥堵",
formConfig: {
formOptions: {},
list: [
{
label: "拥堵类型:",
key: "eventSubclass",
type: "RadioGroup",
isAlone: true,
required: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "4-1",
label: "道路拥堵",
},
{
key: "4-2",
label: "立交拥堵",
},
{
key: "4-3",
label: "收费站拥堵",
},
{
key: "4-4",
label: "服务区拥堵",
},
],
},
},
Object.assign(PresetFormItems.congestionCause, { key: 'dcEventTrafficCongestion.congestionCause' }),
PresetFormItems.isInTunnel,
{
label: "拥堵里程:",
key: "dcEventTrafficCongestion.congestionMileage",
required: true,
type: "MultipleLabelItem",
options: {
options: [
{
suffix: {
text: "千米",
},
type: "InputNumber",
},
],
},
},
{
label: "最大拥堵里程:",
key: "dcEventTrafficCongestion.maxCongestionMileage",
required: true,
type: "MultipleLabelItem",
options: {
options: [
{
suffix: {
text: "千米",
},
type: "InputNumber",
},
],
},
},
PresetFormItems.startTime,
PresetFormItems.expectedEndTime,
PresetFormItems.remark,
PresetFormItems.source,
],
},
},
{ {
key: "TrafficControl", key: "TrafficControl",
label: "交通管制", label: "交通管制",
@ -308,15 +233,13 @@ export const tabConfigList = [
}, },
}, },
{ {
key: "ServiceAreaAbnormal", key: "TrafficCongestion",
label: "服务区异常", label: "交通拥堵",
formConfig: { formConfig: {
formOptions: { formOptions: {},
column: 2,
},
list: [ list: [
{ {
label: "异常分类:", label: "拥堵类型:",
key: "eventSubclass", key: "eventSubclass",
type: "RadioGroup", type: "RadioGroup",
isAlone: true, isAlone: true,
@ -325,53 +248,56 @@ export const tabConfigList = [
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "8-1", key: "4-1",
label: "封闭、暂停营业", label: "道路拥堵",
}, },
{ {
key: "8-2", key: "4-2",
label: "重要设施停用", label: "立交拥堵",
}, },
{ {
key: "8-3", key: "4-3",
label: "其他异常", label: "收费站拥堵",
},
{
key: "4-4",
label: "服务区拥堵",
}, },
], ],
}, },
}, },
PresetFormItems.freeway, { ...PresetFormItems.congestionCause, key: 'dcEventTrafficCongestion.congestionCause' },
PresetFormItems.direction, { ...PresetFormItems.isInTunnel, isAlone: true },
{ {
label: "服务区:", label: "拥堵里程:",
key: "dcEventServiceArea.facilityId", key: "dcEventTrafficCongestion.congestionMileage",
type: "select",
isAlone: true,
required: true, required: true,
type: "MultipleLabelItem",
options: { options: {
options: [ options: [
{ {
value: "选项1", suffix: {
label: "黄金糕", text: "千米",
},
type: "InputNumber",
key: "dcEventTrafficCongestion.congestionMileage",
}, },
], ],
}, },
}, },
{ {
label: "出入口:", label: "最大拥堵里程:",
key: "dcEventServiceArea.exitsInlets", key: "dcEventTrafficCongestion.maxCongestionMileage",
type: "RadioGroup",
isAlone: true,
required: true, required: true,
type: "MultipleLabelItem",
options: { options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "1", suffix: {
label: "出口", text: "千米",
}, },
{ type: "InputNumber",
key: "2", key: "dcEventTrafficCongestion.maxCongestionMileage",
label: "入口",
}, },
], ],
}, },
@ -384,25 +310,15 @@ export const tabConfigList = [
}, },
}, },
{ {
key: "OtherEvents", key: "IllegalOnRoad",
label: "其他事件", label: "非法上路",
formConfig: { formConfig: {
formOptions: { formOptions: {
column: 2, column: 2,
}, },
list: [ list: [
{ PresetFormItems.illegalTriggeringType,
label: "事件说明:", PresetFormItems.additionalNotes,
key: "eventSourceTips",
isAlone: true,
options: {
type: "textarea",
autosize: true,
maxlength: 150,
autosize: { minRows: 6, maxRows: 6 },
showWordLimit: true,
},
},
PresetFormItems.freeway, PresetFormItems.freeway,
PresetFormItems.direction, PresetFormItems.direction,
PresetFormItems.station, PresetFormItems.station,
@ -415,15 +331,15 @@ export const tabConfigList = [
}, },
}, },
{ {
key: "HiddenDangersEquipment", key: "BarricadesCleared",
label: "设施设备隐患", label: "路障清除",
formConfig: { formConfig: {
formOptions: { formOptions: {
column: 2, column: 2,
}, },
list: [ list: [
{ {
label: "类型:", label: "障碍物类型:",
key: "eventSubclass", key: "eventSubclass",
type: "RadioGroup", type: "RadioGroup",
isAlone: true, isAlone: true,
@ -432,45 +348,29 @@ export const tabConfigList = [
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "9-1", key: "6-1",
label: "摄像机", label: "烟雾",
},
{
key: "9-2",
label: "护栏",
}, },
{ {
key: "9-3", key: "6-2",
label: "隔离栅", label: "倒伏树木",
}, },
{ {
key: "9-4", key: "6-3",
label: "情报板", label: "撒落物",
}, },
{ {
key: "9-5", key: "6-4",
label: "防眩板", label: "动物",
}, },
{ {
key: "9-6", key: "6-5",
label: "其他", label: "其他",
}, },
], ],
}, },
}, },
{ PresetFormItems.additionalNotes,
label: "设备补充说明:",
key: "eventSourceTips",
isAlone: true,
options: {
type: "textarea",
autosize: true,
maxlength: 150,
autosize: { minRows: 6, maxRows: 6 },
showWordLimit: true,
},
required: true,
},
PresetFormItems.freeway, PresetFormItems.freeway,
PresetFormItems.direction, PresetFormItems.direction,
PresetFormItems.station, PresetFormItems.station,
@ -483,16 +383,16 @@ export const tabConfigList = [
}, },
}, },
{ {
key: "AbnormalWeather", key: "Construction",
label: "异常天气", label: "施工建设",
formConfig: { formConfig: {
formOptions: { formOptions: {
column: 2, column: 2,
}, },
list: [ list: [
{ {
label: "异常天气:", label: "施工类型:",
key: "eventSubclass", key: "key0123",
type: "RadioGroup", type: "RadioGroup",
isAlone: true, isAlone: true,
required: true, required: true,
@ -500,86 +400,106 @@ export const tabConfigList = [
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "10-1", key: "养护施工类施工",
label: "", label: "养护施工类施工",
}, },
{ {
key: "10-2", key: "工程建设类施工",
label: "", label: "工程建设类施工",
}, },
{ ],
key: "10-3",
label: "雾",
}, },
{
key: "10-4",
label: "大风",
}, },
{ {
key: "10-5", label: "施工分类:",
label: "低温寒潮", key: "eventSubclass",
type: "RadioGroup",
isAlone: true,
required: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "7-1",
label: "道路养护施工",
}, },
{ {
key: "10-6", key: "7-2",
label: "路面积雪", label: "收费站养护施工",
}, },
{ {
key: "10-7", key: "7-3",
label: "路面结冰", label: "服务区养护施工",
}, },
{ {
key: "10-8", key: "7-4",
label: "路面积水", label: "枢纽立交匝道养护施工",
}, },
{ {
key: "10-9", key: "7-5",
label: "其他", label: "地方道路养护施工",
}, },
], ],
}, },
}, },
Object.assign(PresetFormItems.weatherConditions, { key: 'dcEventAbnormalWeather.weatherSituation' }),
PresetFormItems.additionalNotes,
PresetFormItems.freeway,
PresetFormItems.direction,
PresetFormItems.startEndStation,
{ {
label: "紧急级别:", label: "管制方式:",
key: "dcEventAbnormalWeather.emergencyLevel", key: "dcEventConstruction.controlMode",
type: "RadioGroup",
isAlone: true,
required: true, required: true,
type: "select",
options: { options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
value: "1", key: "1",
label: "一般", label: "封闭",
}, },
{ {
value: "2", key: "2",
label: "紧急", label: "不封闭",
},
],
}, },
]
}
}, },
PresetFormItems.isInTunnel, PresetFormItems.isInTunnel,
{ ...PresetFormItems.locationType, key: 'dcEventConstruction.locationType' },
PresetFormItems.freeway,
PresetFormItems.direction,
PresetFormItems.station,
PresetFormItems.emptyLine,
{
label: "特殊地点描述:",
key: "dcEventConstruction.specialPlaceDescription",
isAlone: true,
options: {
type: "textarea",
autosize: true,
maxlength: 50,
autosize: { minRows: 6, maxRows: 6 },
showWordLimit: true,
},
},
{ ...PresetFormItems.specialConstruction, key: 'dcEventConstruction.specialConstruction' },
{ ...PresetFormItems.constructionMeasurement, key: 'dcEventConstruction.constructionMeasurement' },
PresetFormItems.startTime, PresetFormItems.startTime,
PresetFormItems.expectedEndTime, PresetFormItems.expectedEndTime,
PresetFormItems.problemDescription, PresetFormItems.remark,
PresetFormItems.source, PresetFormItems.source,
], ],
}, },
}, },
{ {
key: "Construction", key: "ServiceAreaAbnormal",
label: "施工建设", label: "服务区异常",
formConfig: { formConfig: {
formOptions: { formOptions: {
column: 2, column: 2,
}, },
list: [ list: [
{ {
label: "施工类型:", label: "异常分类:",
key: "key0123", key: "eventSubclass",
type: "RadioGroup", type: "RadioGroup",
isAlone: true, isAlone: true,
required: true, required: true,
@ -587,51 +507,75 @@ export const tabConfigList = [
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "养护施工类施工", key: "8-1",
label: "养护施工类施工", label: "封闭、暂停营业",
}, },
{ {
key: "工程建设类施工", key: "8-2",
label: "工程建设类施工", label: "重要设施停用",
},
{
key: "8-3",
label: "其他异常",
}, },
], ],
}, },
}, },
PresetFormItems.freeway,
PresetFormItems.direction,
{ {
label: "施工分类:", label: "服务区:",
key: "eventSubclass", key: "dcEventServiceArea.facilityId",
type: "RadioGroup", type: "select",
isAlone: true, isAlone: true,
required: true, required: true,
options: { options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "7-1", value: "选项1",
label: "道路养护施工", label: "黄金糕",
}, },
{ ],
key: "7-2",
label: "收费站养护施工",
}, },
{
key: "7-3",
label: "服务区养护施工",
}, },
{ {
key: "7-4", label: "出入口:",
label: "枢纽立交匝道养护施工", key: "dcEventServiceArea.exitsInlets",
type: "RadioGroup",
isAlone: true,
required: true,
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "1",
label: "出口",
}, },
{ {
key: "7-5", key: "2",
label: "地方道路养护施工", label: "入口",
},
],
}, },
},
PresetFormItems.startTime,
PresetFormItems.expectedEndTime,
PresetFormItems.remark,
PresetFormItems.source,
], ],
}, },
}, },
{ {
label: "管制方式:", key: "HiddenDangersEquipment",
key: "dcEventConstruction.controlMode", label: "设施设备隐患",
formConfig: {
formOptions: {
column: 2,
},
list: [
{
label: "类型:",
key: "eventSubclass",
type: "RadioGroup", type: "RadioGroup",
isAlone: true, isAlone: true,
required: true, required: true,
@ -639,53 +583,66 @@ export const tabConfigList = [
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "1", key: "9-1",
label: "封闭", label: "摄像机",
}, },
{ {
key: "2", key: "9-2",
label: "不封闭", label: "护栏",
},
{
key: "9-3",
label: "隔离栅",
},
{
key: "9-4",
label: "情报板",
},
{
key: "9-5",
label: "防眩板",
},
{
key: "9-6",
label: "其他",
}, },
], ],
}, },
}, },
PresetFormItems.isInTunnel,
Object.assign(PresetFormItems.locationType, { key: 'dcEventConstruction.locationType' }),
PresetFormItems.freeway,
PresetFormItems.direction,
PresetFormItems.station,
PresetFormItems.emptyLine,
{ {
label: "特殊地点描述:", label: "设备补充说明:",
key: "dcEventConstruction.specialPlaceDescription", key: "eventSourceTips",
isAlone: true, isAlone: true,
options: { options: {
type: "textarea", type: "textarea",
autosize: true, autosize: true,
maxlength: 50, maxlength: 150,
autosize: { minRows: 6, maxRows: 6 }, autosize: { minRows: 6, maxRows: 6 },
showWordLimit: true, showWordLimit: true,
}, },
required: true,
}, },
Object.assign(PresetFormItems.specialConstruction, { key: 'dcEventConstruction.specialConstruction' }), PresetFormItems.freeway,
Object.assign(PresetFormItems.constructionMeasurement, { key: 'dcEventConstruction.constructionMeasurement' }), PresetFormItems.direction,
PresetFormItems.station,
PresetFormItems.isInTunnel,
PresetFormItems.startTime, PresetFormItems.startTime,
PresetFormItems.expectedEndTime, PresetFormItems.expectedEndTime,
PresetFormItems.remark, PresetFormItems.problemDescription,
PresetFormItems.source, PresetFormItems.source,
], ],
}, },
}, },
{ {
key: "BarricadesCleared", key: "AbnormalWeather",
label: "路障清除", label: "异常天气",
formConfig: { formConfig: {
formOptions: { formOptions: {
column: 2, column: 2,
}, },
list: [ list: [
{ {
label: "障碍物类型:", label: "异常天气:",
key: "eventSubclass", key: "eventSubclass",
type: "RadioGroup", type: "RadioGroup",
isAlone: true, isAlone: true,
@ -694,32 +651,67 @@ export const tabConfigList = [
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "6-1", key: "10-1",
label: "烟雾", label: "",
}, },
{ {
key: "6-2", key: "10-2",
label: "倒伏树木", label: "",
}, },
{ {
key: "6-3", key: "10-3",
label: "撒落物", label: "",
}, },
{ {
key: "6-4", key: "10-4",
label: "动物", label: "大风",
}, },
{ {
key: "6-5", key: "10-5",
label: "低温寒潮",
},
{
key: "10-6",
label: "路面积雪",
},
{
key: "10-7",
label: "路面结冰",
},
{
key: "10-8",
label: "路面积水",
},
{
key: "10-9",
label: "其他", label: "其他",
}, },
], ],
}, },
}, },
{ ...PresetFormItems.weatherSituation, key: 'dcEventAbnormalWeather.weatherSituation' },
PresetFormItems.additionalNotes, PresetFormItems.additionalNotes,
PresetFormItems.freeway, PresetFormItems.freeway,
PresetFormItems.direction, PresetFormItems.direction,
PresetFormItems.station, PresetFormItems.startEndStation,
{
label: "紧急级别:",
key: "dcEventAbnormalWeather.emergencyLevel",
required: true,
type: "select",
options: {
options: [
{
value: "1",
label: "一般",
},
{
value: "2",
label: "紧急",
},
]
}
},
PresetFormItems.isInTunnel, PresetFormItems.isInTunnel,
PresetFormItems.startTime, PresetFormItems.startTime,
PresetFormItems.expectedEndTime, PresetFormItems.expectedEndTime,
@ -729,15 +721,25 @@ export const tabConfigList = [
}, },
}, },
{ {
key: "IllegalOnRoad", key: "OtherEvents",
label: "非法上路", label: "其他事件",
formConfig: { formConfig: {
formOptions: { formOptions: {
column: 2, column: 2,
}, },
list: [ list: [
PresetFormItems.illegalTriggeringType, {
PresetFormItems.additionalNotes, label: "事件说明:",
key: "eventSourceTips",
isAlone: true,
options: {
type: "textarea",
autosize: true,
maxlength: 150,
autosize: { minRows: 6, maxRows: 6 },
showWordLimit: true,
},
},
PresetFormItems.freeway, PresetFormItems.freeway,
PresetFormItems.direction, PresetFormItems.direction,
PresetFormItems.station, PresetFormItems.station,
@ -749,4 +751,6 @@ export const tabConfigList = [
], ],
}, },
}, },
]; ];

19
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue

@ -11,7 +11,7 @@
<div class="footer"> <div class="footer">
<Button style="padding:0 24px;" @click.native="handleSubmit" >保存</Button> <Button style="padding:0 24px;" @click.native="handleSubmit" >保存</Button>
<Button style="background: #C9C9C9;padding:0 24px;">取消</Button> <Button style="background: #C9C9C9;padding:0 24px;" @click.native="modelVisible = false">取消</Button>
</div> </div>
</div> </div>
</Dialog> </Dialog>
@ -21,6 +21,8 @@
import Dialog from "@screen/components/Dialog/index"; import Dialog from "@screen/components/Dialog/index";
import Form from '@screen/components/FormConfig'; import Form from '@screen/components/FormConfig';
import Button from '@screen/components/Buttons/Button.vue'; import Button from '@screen/components/Buttons/Button.vue';
import request from '@/utils/request'
import { Message } from "element-ui";
import { tabConfigList } from "./data.js" import { tabConfigList } from "./data.js"
@ -67,26 +69,31 @@ export default {
}, },
methods: { methods: {
handleChange({ index }) { handleChange({ index }) {
console.log('index',index)
this.index = index; this.index = index;
this.formConfig = tabConfigList[index].formConfig; this.formConfig = tabConfigList[index].formConfig;
}, },
handleSubmit(){ handleSubmit(){
const formData = this.$refs.FormConfigRef?.formData; const formData = this.$refs.FormConfigRef?.formData;
let stakeMark = formData.stakeMark;
console.log('122', { console.log('122', {
eventType: this.index, eventType: Number(this.index) + 1,
...formData ...formData,
stakeMark: stakeMark.length > 0 ? ('K' + stakeMark[0] + '+' + stakeMark[1]) : ''
}) })
return // return
request({ request({
url: `/dc/system/event`, url: `/dc/system/event`,
method: "post", method: "post",
data: { data: {
eventType: this.index, eventType: Number(this.index) + 1,
...formData ...formData,
stakeMark: stakeMark.length > 0 ? ('K' + stakeMark[0] + '+' + stakeMark[1]) : ''
} }
}) })
.then(() => { .then(() => {
Message.success("提交成功"); Message.success("提交成功");
this.modelVisible = false;
}) })
.catch(() => { .catch(() => {
Message.error("提交失败"); Message.error("提交失败");

2
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js

@ -14,7 +14,7 @@ export const tabMap = {
1: { 1: {
state: 4, state: 4,
textColor: "#007FF4", textColor: "#007FF4",
text: "处置", text: "处置",
}, },
2: { 2: {
state: 3, state: 3,

Loading…
Cancel
Save