Browse Source

修改事件页面

wangqin
zhoule 1 year ago
parent
commit
915bd55155
  1. 2
      ruoyi-ui/src/views/JiHeExpressway/components/InputSearch/index.vue
  2. 147
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
  3. 57
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/data.js
  4. 126
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue
  5. 21
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js
  6. 51
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/index.vue

2
ruoyi-ui/src/views/JiHeExpressway/components/InputSearch/index.vue

@ -1,6 +1,6 @@
<template>
<ElPopover placement="bottom" popper-class="global-input-search-popover" :popperOptions="popperOptions"
:visibleArrow="false" :width="this.width" trigger="hover" @show="handleShow">
:visibleArrow="false" :width="this.width" trigger="click" @show="handleShow">
<div class='InputSearch' slot="reference" ref="ReferenceInputRef">
<span>{{ placeholder }}</span>
<img src="./search.svg">

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

@ -152,8 +152,8 @@ export const direction = {
type: "select",
options: {
options: [
{ key: "济南方向", label: "济南方向" },
{ key: "菏泽方向", label: "菏泽方向" },
// { key: "济南方向", label: "济南方向" },
// { key: "菏泽方向", label: "菏泽方向" },
],
},
};
@ -200,6 +200,31 @@ export const eventLevel = {
key: "eventLevel",
required: true,
type: "select",
options:{
options:[
{
key: 1,
label: '一级'
},
{
key: 2,
label: '二级'
},
{
key: 3,
label: '三级'
},
{
key: 4,
label: '四级'
},
{
key: 5,
label: '五级'
},
],
disabled: true
}
};
export const laneOccupancy = {
@ -221,14 +246,94 @@ export const laneOccupancy = {
export const eventSources = {
label: "事件源:",
key: "key999999999",
type: "input",
key: "eventSources",
type: "select",
options: {
options: [
{
key: "1",
label: "96659",
},
{
key: "2",
label: "交通转接",
},
{
key: "3",
label: "道路巡查",
},
{
key: "4",
label: "视频巡查",
},
{
key: "5",
label: "视频AI",
},
{
key: "6",
label: "一键救援",
},
{
key: "7",
label: "其他",
},
],
},
};
export const eventType = {
label: "事件类型:",
key: "事件类型",
type: "input",
key: "eventType",
type: "select",
options: {
options: [
{
key: "1",
label: "交通事故",
},
{
key: "2",
label: "车辆故障",
},
{
key: "3",
label: "交通管制",
},
{
key: "4",
label: "交通拥堵",
},
{
key: "5",
label: "非法上路",
},
{
key: "6",
label: "路障清除",
},
{
key: "7",
label: "施工建设",
},
{
key: "8",
label: "服务区异常",
},
{
key: "9",
label: "设施设备隐患",
},
{
key: "10",
label: "异常天气",
},
{
key: "11",
label: "其他事件",
},
]
}
};
export const vehicleCondition = (keyPrefix = 'dcEventAccident') => ({
@ -384,10 +489,10 @@ export const freeway = {
type: "select",
options: {
options: [
{
key: "1",
label: "济菏高速",
},
// {
// key: "1",
// label: "济菏高速",
// },
]
}
};
@ -629,6 +734,28 @@ export const aEstimatedReleaseTime = {
export const pressure = {
label: "压车(公里):",
key: "dcEventAccident.trafficJam",
type:"inputNumber",
options:{
min: 0
},
ons:{
change(value, ...args){
const { data } = args.slice(-1)[0];
let dj = 5;
if(value < 3){
dj = 5
} else if(value >= 3 && value < 6){
dj = 4
}else if(value >= 6 && value < 9){
dj = 3
}else if(value >= 9 && value < 11){
dj = 2
}else if(value >10){
dj = 1
}
data.eventLevel = dj
}
}
};
export const isCongestionAhead = {

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

@ -11,7 +11,7 @@ export const tabConfigList = [
PresetFormItems.trafficAccidentType,
PresetFormItems.eventLevel,
{ ...PresetFormItems.locationMode, key: 'dcEventAccident.locationType' },
{ ...PresetFormItems.freeway, key: 'dcEventAccident.roadId' },
PresetFormItems.freeway,
PresetFormItems.direction,
PresetFormItems.station,
PresetFormItems.eventHappenTime,
@ -49,7 +49,7 @@ export const tabConfigList = [
PresetFormItems.vehicleMalfunctionType,
PresetFormItems.eventLevel,
{ ...PresetFormItems.locationMode, key: 'dcEventVehicleAccident.locationType' },
{ ...PresetFormItems.freeway, key: 'dcEventVehicleAccident.roadId' },
PresetFormItems.freeway,
PresetFormItems.direction,
PresetFormItems.station,
PresetFormItems.eventHappenTime,
@ -460,15 +460,64 @@ export const tabConfigList = [
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
{
key: "养护施工类施工",
key: "1",
label: "养护施工类施工",
},
{
key: "工程建设类施工",
key: "2",
label: "工程建设类施工",
},
],
},
ons:{
input(value, ...args){
const { formList } = args.slice(-1)[0];
const config = formList.find(it => it.key == 'eventSubclass');
const ad = {1: [
{
key: "7-1",
label: "道路养护施工",
},
{
key: "7-2",
label: "收费站养护施工",
},
{
key: "7-3",
label: "服务区养护施工",
},
{
key: "7-4",
label: "枢纽立交匝道养护施工",
},
{
key: "7-5",
label: "地方道路养护施工",
}], 2: [
{
key: "7-6",
label: "道路建设施工",
},
{
key: "7-7",
label: "收费站建设施工",
},
{
key: "7-8",
label: "服务区建设施工",
},
{
key: "7-9",
label: "枢纽立交匝道建设施工",
},
{
key: "7-10",
label: "地方道路建设施工",
}
]};
config.options.options = ad[value] || []
}
}
},
{
label: "施工分类:",

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

@ -10,7 +10,7 @@
</Transition>
<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;" @click.native="modelVisible = false">取消</Button>
</div>
</div>
@ -45,11 +45,16 @@ export default {
activeName: "TrafficAccident",
formConfig: {},
tabConfigList,
index: 1
index: 1,
roads: [],
direction: []
}
},
created() {
this.formConfig = tabConfigList[0].formConfig;
// this.formConfig = tabConfigList[0].formConfig;
this.initData().then(() => {
this.handleChange({ index: 0 })
})
},
computed: {
modelVisible: {
@ -68,39 +73,100 @@ export default {
}
},
methods: {
initData() {
return Promise.all([
request({
url: `/business/road/query`,
method: "get",
}).then((result) => {
if (result.code != 200) return Message.error(result?.msg);
result.data.forEach(it => {
this.roads.push({ key: it.id, label: it.roadName })
})
})
.catch((err) => {
Message.error("查询失败", err);
}),
request({
url: `/system/dict/data/type/iot_event_direction`,
method: "get",
}).then((result) => {
if (result.code != 200) return Message.error(result?.msg);
result.data.forEach(it => {
this.direction.push({ key: it.dictValue, label: it.dictLabel })
})
})
.catch((err) => {
Message.error("查询失败", err);
})
])
},
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;
let endStakeMark = formData.endStakeMark;
console.log('122', {
...formData,
eventType: Number(this.index) + 1,
stakeMark: (stakeMark && stakeMark.length > 0 ) ? ('K' + stakeMark[0] + '+' + stakeMark[1]) : '',
endStakeMark: (endStakeMark && endStakeMark.length > 0 ) ? ('K' + endStakeMark[0] + '+' + endStakeMark[1]) : '',
let formConfig = tabConfigList[index].formConfig;
if (index == 7) {
let fwq = [];
request({
url: `/business/facility/query?facilityType=6`,
method: "get"
}).then((result) => {
if (result.code != 200) return Message.error(result?.msg);
result.data.forEach(it => {
fwq.push({ key: it.id, label: it.facilityName })
})
})
.catch((err) => {
Message.error("查询失败", err);
});
formConfig.list.forEach(it => {
if (it.key === 'dcEventServiceArea.facilityId') {
it.options.options = fwq;
}
})
// return
request({
url: `/dc/system/event`,
method: "post",
data: {
...formData,
eventType: Number(this.index) + 1,
stakeMark: (stakeMark && stakeMark.length > 0 ) ? ('K' + stakeMark[0] + '+' + stakeMark[1]) : '',
endStakeMark: (endStakeMark && endStakeMark.length > 0 ) ? ('K' + endStakeMark[0] + '+' + endStakeMark[1]) : '',
}
formConfig.list.forEach(it => {
if (it.key == 'direction') {
it.options.options = this.direction;
}
if (it.key == 'roadId') {
it.options.options = this.roads;
}
})
.then(() => {
Message.success("提交成功");
this.modelVisible = false;
})
.catch(() => {
Message.error("提交失败");
this.formConfig = formConfig;
},
handleSubmit() {
// return
this.$refs.FormConfigRef.validate().then((formData) => {
let stakeMark = formData.stakeMark;
let endStakeMark = formData.endStakeMark;
request({
url: `/dc/system/event`,
method: "post",
data: {
...formData,
eventType: Number(this.index) + 1,
stakeMark: (stakeMark && stakeMark.length > 0) ? ('K' + stakeMark[0] + '+' + stakeMark[1]) : '',
endStakeMark: (endStakeMark && endStakeMark.length > 0) ? ('K' + endStakeMark[0] + '+' + endStakeMark[1]) : '',
}
})
.then((result) => {
if (result.code != 200) return Message.error(result?.msg);
Message.success("提交成功");
this.modelVisible = false;
})
.catch(() => {
Message.error("提交失败");
})
})
}
}
}

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

@ -1,4 +1,5 @@
import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js";
import { merge, cloneDeep } from "lodash";
export const tabMap = {
"-1": {
@ -28,20 +29,28 @@ export const searchFormList = [
PresetFormItems.eventType,
{
label: "时间范围:",
key: "key009",
key: "daterange",
required: true,
type: "datePicker",
options: {
type: "daterange",
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-dd HH:mm:ss'
},
},
{
...PresetFormItems.station,
key: "666999",
label: "开始桩号:",
},
{
...PresetFormItems.station,
label: "结束桩号:",
},
merge(cloneDeep(PresetFormItems.station), {options:{
options: [
{
key: "endStakeMark[0]",
},
{
key: "endStakeMark[1]",
},
],
}}
)
];

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

@ -36,16 +36,10 @@
<!-- 分页 -->
<div class="footer">
<Pagination
@current-change="getData"
@size-change = "onSizeChange"
width="'100%'"
:page-sizes="[12, 16, 20, 30, 50,]"
:page-size="searchData.pageSize"
:current-page.sync="searchData.pageNum"
layout="total, sizes, prev, pager, next"
:total="total">
</Pagination>
<Pagination @current-change="getData" @size-change="onSizeChange" width="'100%'" :page-sizes="[12, 16, 20, 30, 50,]"
:page-size="searchData.pageSize" :current-page.sync="searchData.pageNum" layout="total, sizes, prev, pager, next"
:total="total">
</Pagination>
</div>
<!-- "详情"弹出框 -->
@ -124,7 +118,7 @@ export default {
}
}
},
created(){
created() {
this.getData();
},
methods: {
@ -150,18 +144,18 @@ export default {
method: "get",
params: this.searchData
}).then(result => {
if (result.code != 200) return Message.error(result?.msg);
this.data = result.rows;
this.total = result.total;
if (result.code != 200) return Message.error(result?.msg);
this.data = result.rows;
this.total = result.total;
})
},
onRefresh(){
onRefresh() {
this.data = [];
setTimeout(()=>{
setTimeout(() => {
this.getData();
},100)
}, 100)
},
onSizeChange(pageSize){
onSizeChange(pageSize) {
this.searchData.pageSize = pageSize
this.getData();
},
@ -178,7 +172,26 @@ export default {
this.eventDetailDialogVisible = false;
},
handleSearch(data) {
console.log(data)
console.log('data',data);
let daterange = data.daterange;
let dStakeMark = data.stakeMark;
let dendStakeMark = data.endStakeMark;
let stakeMark = `K${dStakeMark[0]}+${dStakeMark[1]}`
let endStakeMark = `K${dendStakeMark[0]}+${dendStakeMark[1]}`
this.searchData = {
...this.searchData,
eventType: data.eventType,
eventSources: data.eventSources,
startTime: (daterange && daterange.length > 0) ? daterange[0] : '',
endTime: (daterange && daterange.length > 0) ? daterange[1] : '',
stakeMark: stakeMark,
endStakeMark: endStakeMark
}
this.getData();
}
}
}

Loading…
Cancel
Save