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. 564
      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: () => []
},
data: {
type: Object,
type: [Object, Array],
default: () => ({})
}
},

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

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

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

@ -1,3 +1,9 @@
export function resolveName(name = "input") {
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";
// mpegts.js
import {
getCameraStream,
getNearCamera,
@ -84,7 +85,7 @@ export class HttpLivePlayer {
if (!url) return Promise.reject("获取 url 失败!");
return;
this.url = url;
}
destroy() {
@ -102,6 +103,8 @@ export class HttpLivePlayer {
this.lastDecodedFrames = null;
console.log(this.url);
if (!this.url) return;
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)
.then(data => {
this.dialogData.organizationName = data.organizationName;
this.dialogData.organizationName = data?.organizationName;
})
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)
.then((data) => {
this.data.organizationName = data.organizationName;
this.data.organizationName = data?.organizationName;
});
const roadInfo = await getRoadInfoByStakeMark(this.dialogData.stakeMark);

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

@ -1,7 +1,8 @@
<template>
<div class='HomeFilter'>
<ElPopover trigger="click" :visibleArrow="false" placement="left" popper-class="global-input-search-popover">
<Button :class="['btn', { 'btn-active': true }]" slot="reference">
<ElPopover trigger="manual" :value="activeIcon === 'filter'" :visibleArrow="false" placement="left"
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">
</Button>
@ -37,6 +38,7 @@ export default {
},
data() {
return {
activeIcon: null,
formList: [
{
...PresetFormItems.station,
@ -49,25 +51,14 @@ export default {
key: "s",
required: false,
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>

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

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

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

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

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

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

Loading…
Cancel
Save