From 90c7fe0eb80573433be04fea4fafce41af3e079f Mon Sep 17 00:00:00 2001 From: zhoule Date: Sun, 4 Feb 2024 16:24:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/RoadStateCard/index.vue | 2 +- .../Carousel/images/arrow.svg | 36 ++++ .../EventDetailDialog/Carousel/index.vue | 106 +++++++++++ .../event/dispatch/EventDetailDialog/data.js | 131 +++++++++++++ .../dispatch/EventDetailDialog/index.vue | 178 ++++++++++++------ .../images/image.svg | 0 .../images/printer.svg | 0 .../images/test.png | Bin .../dispatch/EventDispatchDialog/index.vue | 133 +++++++++++++ .../pages/control/event/dispatch/data.js | 79 ++++++++ .../pages/control/event/dispatch/index.vue | 106 ++++++++++- .../event/event/FormEvent/PresetFormItems.js | 2 +- .../control/event/event/FormEvent/index.vue | 9 + 13 files changed, 711 insertions(+), 71 deletions(-) create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/images/arrow.svg create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/index.vue create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/data.js rename ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/{EventDetailDialog => EventDispatchDialog}/images/image.svg (100%) rename ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/{EventDetailDialog => EventDispatchDialog}/images/printer.svg (100%) rename ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/{EventDetailDialog => EventDispatchDialog}/images/test.png (100%) create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/index.vue create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/data.js diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/RoadStateCard/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/RoadStateCard/index.vue index b71ee1ae..9529707f 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/components/RoadStateCard/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/components/RoadStateCard/index.vue @@ -15,7 +15,7 @@ - diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/images/arrow.svg b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/images/arrow.svg new file mode 100644 index 00000000..0e183e4b --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/images/arrow.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/index.vue new file mode 100644 index 00000000..42b14da7 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/Carousel/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/data.js new file mode 100644 index 00000000..3d2c9ffd --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/data.js @@ -0,0 +1,131 @@ +export const formList = [ + { + label: "事件源:", + key: "stringEventSource", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "桩号:", + key: "stakeMark", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "行驶方向:", + key: "direction", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "事件类型:", + key: "stringEventType", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "事件原因:", + key: "eventCause", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "事件状态:", + key: "stringEventState", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "操作员:", + key: "nickName", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "发生时间:", + key: "startTime", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "完结时间:", + key: "endTime", + type: "input", + options: { + disabled: true, + placeholder: '' + } + }, + { + label: "事件描述:", + key: "direction", + type: "input", + gridColumn: 3, + options: { + disabled: true, + placeholder: '' + } + }, +]; + +export const timeLine1List = [ + { + time: "16.36", + label: "接警记录", + isActive: false, + }, + { + time: "16.36", + label: "指令下达", + isActive: false, + }, + { + time: "16.36", + label: "清障到达", + isActive: false, + }, + { + time: "", + label: "安全防护", + isActive: false, + }, + { + time: "", + label: "开始清障", + isActive: false, + }, + { + time: "", + label: "清障结束", + isActive: false, + }, + { + time: "", + label: "恢复畅通", + isActive: false, + }, +]; diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/index.vue index d7e8b863..e5e27dc2 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/index.vue @@ -1,56 +1,86 @@ + methods: { + getProcess() { - diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/images/image.svg b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/images/image.svg similarity index 100% rename from ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/images/image.svg rename to ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/images/image.svg diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/images/printer.svg b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/images/printer.svg similarity index 100% rename from ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/images/printer.svg rename to ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/images/printer.svg diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/images/test.png b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/images/test.png similarity index 100% rename from ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDetailDialog/images/test.png rename to ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/images/test.png diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/index.vue new file mode 100644 index 00000000..ff8f38e8 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/EventDispatchDialog/index.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/data.js new file mode 100644 index 00000000..f20165c4 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/data.js @@ -0,0 +1,79 @@ +import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js"; +import { merge, cloneDeep } from "lodash"; + +export const searchFormList = [{ + label: "事件状态:", + key: "eventState", + type: "RadioGroup", + options: { + options: [ + { + key: "0", + label: "未解决", + }, + { + key: "1", + label: "已解决", + }, + { + key: "2", + label: "已关闭", + }, + ], + }, + }, + PresetFormItems.eventSources, + PresetFormItems.eventType, + { + label: "方向:", + key: "direction", + type: "RadioGroup", + options: { + options: [ + { + key: "济南方向", + label: "济南方向", + }, + { + key: "菏泽方向", + label: "菏泽方向", + }, + { + key: "双向", + label: "双向", + }, + ], + }, + }, + { + label: "时间范围:", + key: "daterange", + required: false, + type: "datePicker", + options: { + type: "daterange", + format: 'yyyy-MM-dd HH:mm:ss', + valueFormat: 'yyyy-MM-dd HH:mm:ss' + }, + }, + { + ...PresetFormItems.station, + label: "开始桩号:", + required: false, + }, + merge(cloneDeep(PresetFormItems.station), { + options: { + options: [ + { + key: "endStakeMark[0]", + }, + { + key: "endStakeMark[1]", + }, + ], + }, + label: "结束桩号:", + required: false, + } + ) + ]; \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/index.vue index 70c99ab4..60500aa2 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/dispatch/index.vue @@ -2,20 +2,26 @@
- +
- +
- + +
@@ -24,6 +30,9 @@ import Pagination from '@screen/components/Pagination.vue'; import InputSearch from '@screen/components/InputSearch/index.vue'; import RoadStateCard from '@screen/components/RoadStateCard/index.vue'; import EventDetailDialog from "./EventDetailDialog/index"; +import EventDispatchDialog from "./EventDispatchDialog/index"; +import { searchFormList } from './data'; +import request from "@/utils/request"; export default { name: 'RoadNetworkMonitoring', @@ -31,20 +40,97 @@ export default { Pagination, RoadStateCard, InputSearch, + EventDispatchDialog, EventDetailDialog, Pagination }, data() { return { - eventDetailDialogVisible: false + eventDetailDialogVisible: false, + eventDispatchDialogVisible: false, + searchFormList, + detailDialogFormData: {}, + total: 0, + data: [], + eventId: 0, + searchData: { + pageSize: 16, + pageNum: 1, + eventState: 0, + }, } }, + created() { + this.initData(); + }, methods: { - firstBtnClick() { - this.eventDetailDialogVisible = true + initData() { + request({ + // url: `/dc/system/event/dispatchEventList`, + url: '/dc/system/event/list', + method: "get", + params: this.searchData, + }).then((result) => { + if (result.code != 200) return Message.error(result?.msg); + this.data = result.rows; + this.total = result.total; + }); + }, + onSizeChange(pageSize) { + this.searchData.pageSize = pageSize; + this.getData(); + }, + getStateCardBind(item) { + const { state, textColor, text } = tabMap[this.activeName]; + + return { + cardData: { ...item, state }, + lastBtnColor: textColor, + lastBtnText: text, + }; + }, + firstBtnClick(id) { + console.log("id", id); + request({ + url: `/dc/system/event/${id}`, + method: "get", + }).then((result) => { + if (result.code != 200) return Message.error(result?.msg); + this.detailDialogFormData = result.data; + + this.eventDetailDialogVisible = true; + }); + }, + lastBtnClick(id) { + console.log(id) + this.eventDispatchDialogVisible = true; + this.eventId = id; + }, + handleSearch(data) { + console.log("data", data); + let daterange = data.daterange; + + let dStakeMark = data.stakeMark; + let dendStakeMark = data.endStakeMark; + + let stakeMark = dStakeMark[0] ? `K${dStakeMark[0]}+${dStakeMark[1]}` : ''; + let endStakeMark = dendStakeMark[0] ? `K${dendStakeMark[0]}+${dendStakeMark[1]}` : ''; + + this.searchData = { + ...this.searchData, + eventState: data.eventState || 0, + 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.initData(); }, handleClose() { this.eventDetailDialogVisible = false; + this.eventDispatchDialogVisible = false; } } } @@ -60,17 +146,17 @@ export default { z-index: 6; .filter { - height: 60px; + height: 38px; display: flex; justify-content: flex-end; } .body { flex: 1; - overflow: hidden; + overflow: auto; display: grid; grid-template-columns: repeat(4, 1fr); - grid-gap: 24px; + grid-gap: 20px; // grid-row-gap: 9px; // grid-column-gap: 9px; grid-auto-rows: min-content; diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js index bec2cf71..d6bf0b22 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js @@ -232,7 +232,7 @@ export const eventLevel = { export const laneOccupancy = { label: "车道占用:", key: "dcEventAccident.laneOccupancy", - type: "RadioGroup", + type: "CheckboxGroup", isAlone: true, default: [], options: { diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue index 3ca6bd13..4503a5fb 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue @@ -144,6 +144,15 @@ export default { handleSubmit() { // return this.$refs.FormConfigRef.validate().then((formData) => { + + if(this.index == 0) { + formData.dcEventAccident.laneOccupancy = formData.dcEventAccident.laneOccupancy.join(',') + } + if(this.index == 1){ + formData.dcEventVehicleAccident.laneOccupancy = formData.dcEventVehicleAccident.laneOccupancy.join(',') + } + // console.log('formData',formData) + // return; let stakeMark = formData.stakeMark; let endStakeMark = formData.endStakeMark; request({