Browse Source

更改

wangqin
zhangzhang 7 months ago
parent
commit
c7a57c9638
  1. 9
      ruoyi-ui/src/api/commandDispatch/index.js
  2. 52
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/StatsDialogVisible/index.vue
  3. 18
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/index.vue
  4. 406
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/DialogVisible/data.js
  5. 253
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/DialogVisible/index.vue
  6. 33
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/index.vue
  7. 1
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/auditAnalytics/index.vue
  8. 9
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/index.vue

9
ruoyi-ui/src/api/commandDispatch/index.js

@ -72,3 +72,12 @@ export function postNoSkipClear(data) {
data,
});
}
// 新增事件侧重要素
// export function postNoSkipClear(data) {
// return request({
// url: "/dc/system/event/skipClear",
// method: "post",
// data,
// });
// }

52
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/StatsDialogVisible/index.vue

@ -25,8 +25,8 @@
<el-checkbox-group v-model="form.employees">
<el-checkbox
v-for="item in scope.row.employeesMap"
:key="item.id"
:label="item.id"
:key="item"
:label="item"
>{{ item.name }}</el-checkbox
>
</el-checkbox-group>
@ -40,8 +40,8 @@
<el-checkbox-group v-model="form.vehicle">
<el-checkbox
v-for="item in scope.row.vehiclesMap"
:key="item.id"
:label="item.id"
:key="item"
:label="item"
>{{ item.vehiclePlate + item.vehicleText }}</el-checkbox
>
</el-checkbox-group>
@ -91,12 +91,24 @@ export default {
vehicle: Array,
id: Number,
},
watch: {
employees(val, oldVal) {
if (val !== oldVal) {
this.form.employees = val;
}
},
vehicle(val, oldVal) {
if (val !== oldVal) {
this.form.vehicle = val;
}
},
},
data() {
return {
form: {
dispatchId: this.id,
employees: this.employees,
vehicle: this.vehicle,
dispatchId: "",
employees: [],
vehicle: [],
},
submitting: false,
};
@ -115,12 +127,30 @@ export default {
methods: {
handleSubmit() {
this.form.dispatchId = this.id;
postUpdateSource(this.form).then((res) => {
this.$emit("handleRefresh");
});
console.log("data", this.data);
let employeesData = this.form.employees;
console.log("this.form,this.form", this.form);
// employeesData.forEach((item) => {
// for (let i = 0; i < this.data.length; i++) {
// if (this.data[i].employeesMap.length > 0) {
// for (let j = 0; j < this.data[i].employeesMap.length; j++) {
// if (this.data[i].employeesMap[j].id == item) {
// this.form.employees(...)
// item.id = item;
// item.name = this.data[i].employeesMap[j].name;
// }
// }
// }
// }
// });
this.form.vehicle;
// postUpdateSource(this.form).then((res) => {
// this.$emit("handleRefresh");
// });
},
},
mounted() {},
};
</script>

18
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DispatchLiaison/index.vue

@ -18,9 +18,9 @@
<div v-for="item in dispatchData.shifts" class="value-item">
<span class="shiftsName">{{ item.shiftsName }}</span>
<span class="shiftsNumber">{{ item.shiftsNumber }}</span>
<span class="scheduling">
<!-- <span class="scheduling">
{{ item.scheduling == 1 ? "白班" : "夜班" }}</span
>
> -->
</div>
</div>
</div>
@ -111,6 +111,8 @@ export default {
});
this.dispatchList = res.data.listData;
this.dispatchData = res.data.resource;
this.staff = [];
this.vehicle = [];
res.data.resource.resource.forEach((element) => {
if (element.dispatchType == 1) {
this.staff.push(element);
@ -125,11 +127,15 @@ export default {
}
});
});
res.data.employeesChoice.forEach((element) => {
this.employeesChoice.push(element.id);
this.employeesChoice = [];
this.vehiclesChoice = [];
this.staff.forEach((element) => {
this.employeesChoice.push(element);
// this.employeesChoice.push(element.resourceId);
});
res.data.vehiclesChoice.forEach((element) => {
this.vehiclesChoice.push(element.id);
this.vehicle.forEach((element) => {
this.vehiclesChoice.push(element);
// this.vehiclesChoice.push(element.resourceId);
});
});
},

406
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/DialogVisible/data.js

@ -0,0 +1,406 @@
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: "nickName",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "事件发生时间:",
key: "endTime",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "预计解除时间:",
key: "startTime",
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: "nickName",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "前方是否倒货:",
key: "startTime",
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: "nickName",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "是否处在弯道:",
key: "startTime",
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: "nickName",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "酒落物名称:",
key: "startTime",
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: "nickName",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "来源:",
key: "startTime",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "车道占用:",
key: "startTime",
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: "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 reportList = [
{
label: "车型及车牌号:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "分流点名称及桩号:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "目前处置进度:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "已采取的措施:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "是否启动应急预案:",
key: "eventCause",
type: "radio",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "交警是否到达:",
key: "eventCause",
type: "radio",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "医疗是否到达:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "是否做好情报板提示工作:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "是否有危化品泄露:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
{
label: "消防是否到达:",
key: "eventCause",
type: "input",
options: {
disabled: true,
placeholder: "",
},
},
];

253
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/DialogVisible/index.vue

@ -0,0 +1,253 @@
<template>
<Dialog v-model="modelVisible" title="事件上报" width="885px" top="90px">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="事件" name="first">
<div class="EventDetail">
<span class="title">事件基本信息</span>
<Form
class="form"
ref="FormConfigRef"
:formList="formConfigList"
v-model="fData"
labelWidth="120px"
/>
<!-- <Form
:formList="formList"
:dFormData="formData"
label-width="100px"
/> -->
<span class="title">上报侧重要素</span>
<Form
:formList="reportList"
:dFormData="formData"
label-width="100px"
/>
<div class="footer">
<Button @click.native="onSubmit" :loading="submitting">保存</Button>
<Button
style="background: #c9c9c9"
@click.native="modelVisible = false"
>关闭</Button
>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="初报" name="second"> </el-tab-pane>
<el-tab-pane label="续报" name="third"> </el-tab-pane>
<el-tab-pane label="终报" name="fourth"> </el-tab-pane>
</el-tabs>
</Dialog>
</template>
<script>
import Dialog from "@screen/components/Dialog/index";
import Form from "@screen/components/FormConfig";
import { formList, reportList } from "./data";
import { tabConfigList } from "../../EventInformation/components/EditEventInformationDialog/data.js";
import Button from "@screen/components/Buttons/Button.vue";
import request from "@/utils/request";
var moment = require("moment");
export default {
name: "EventDetail",
components: {
Dialog,
Form,
Button,
},
model: {
prop: "visible",
event: "update:value",
},
props: {
visible: Boolean,
formData: {
type: Object,
default: () => {},
},
},
data() {
return {
// formList,
fData: {},
formConfigList: [],
reportList,
activeName: "first",
};
},
computed: {
modelVisible: {
get() {
// if (this.visible) {
// this.getProcess();
// }
return this.visible;
},
set(val) {
this.$emit("update:value", val);
},
},
},
methods: {
async initData() {
let infoData = await request({
url: `/dc/system/event/eventSubclass/1/60f022d95a7c4b6cada2d780246543d8`, //
method: "get",
});
if (infoData.code != 200) return Message.error(infoData?.msg);
this.resultEventData = { ...infoData.data };
console.log("事件详情666", this.resultEventData);
let info = infoData.data;
if (typeof info.stakeMark == "string") {
let numbers = info.stakeMark.match(/\d+/g).map(Number);
// console.log('numbers', numbers);
info.stakeMark = numbers;
}
this.fData = info;
let configList = tabConfigList.find(
(item) => item.label == this.fData.eventName
);
this.formConfigList = configList.formConfig.list;
await Promise.all([
//
request({
url: `/business/road/query`,
method: "get",
})
.then((result) => {
if (result.code != 200) return Message.error(result?.msg);
this.roads = [];
result.data.forEach((it) => {
this.roads.push({ key: it.id, label: it.roadName });
});
})
.catch((err) => {
Message.error("查询失败4", err);
}),
//
request({
url: `/system/dict/data/type/iot_event_direction`,
method: "get",
})
.then((result) => {
if (result.code != 200) return Message.error(result?.msg);
this.direction = [];
result.data.forEach((it) => {
this.direction.push({ key: it.dictValue, label: it.dictLabel });
});
})
.catch((err) => {
Message.error("查询失败5", err);
}),
// 1 2 3 4 5 6
request({
url: `/business/facility/query`,
method: "get",
})
.then((result) => {
if (result.code != 200) return Message.error(result?.msg);
this.lwss = [];
result.data.forEach((it) =>
this.lwss.push({
key: it.id,
label: it.facilityName,
type: it.facilityType,
})
);
})
.catch((err) => {
console.log("err", err);
Message.error("查询失败6", err);
}),
]);
this.formConfigList.forEach((it) => {
if (it.key == "direction") {
it.options.options = this.direction;
}
if (it.key == "roadId") {
it.options.options = this.roads;
}
if (it.key == "dcEventServiceArea.facilityId") {
it.options.options = this.lwss.filter((ss) => ss.type == 6);
}
});
},
handleClick(tab, event) {
console.log(tab, event);
},
getProcess() {
let directionFlg = true;
request({
url: `/system/process/list`,
method: "get",
params: { eventId: this.formData.id },
}).then((result) => {
if (result.code != 200) return Message.error(result?.msg);
const rows = result.rows;
this.timeLine1List = [];
this.timeLine2List = [];
this.formData?.processConfigList.forEach((it) => {
const process = rows.find((row) => it.nodeNode == row.processId);
if (process) {
this.timeLine1List.push({
time: moment(process.operationTime || new Date()).format("HH:mm"),
label: it.processNode,
isActive: true,
});
this.timeLine2List.push({
time: moment(process.operationTime || new Date()).format(
"yyyy-MM-DD HH:mm:ss"
),
name: process.operator,
desc: process.context,
posts: "",
direction: directionFlg ? "left" : "right",
});
directionFlg = !directionFlg;
} else {
this.timeLine1List.push({
time: "",
label: it.processNode,
isActive: false,
});
}
});
});
},
},
mounted() {
this.initData();
},
};
</script>
<style lang="scss" scoped>
.EventDetail {
display: flex;
gap: 9px;
width: 836px;
height: 768px;
flex-direction: column;
.title {
margin: 10px 0;
}
.footer {
display: flex;
justify-content: end;
gap: 15px;
margin-top: 20px;
margin-right: 20px;
}
}
::v-deep .el-tabs__content {
overflow: auto;
position: relative;
}
</style>

33
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DisposalProcess/index.vue

@ -1,4 +1,5 @@
<template>
<div>
<Card class="DisposalProcess" title="处置过程">
<template #title-suffix>
<ButtonGradient class="title-button" @click="handleEventRelieve">
@ -8,7 +9,9 @@
<ButtonGradient class="title-button" @click="handleNoWrecker">
无需清障
</ButtonGradient>
<ButtonGradient class="title-button"> 重要事件上报 </ButtonGradient>
<ButtonGradient class="title-button" @click="handleClick">
重要事件上报
</ButtonGradient>
<!-- <ButtonGradient class="title-button"> 路赔 </ButtonGradient> -->
<ButtonGradient
class="title-button special-button"
@ -84,11 +87,9 @@
</ButtonGradient> -->
</div>
</Card>
<!-- <DialogVisible
:visible="dialogVisible"
:data="dispatchList"
@update:value="handleClose"
/> -->
<DialogVisible :visible="dialogVisible" @update:value="handleClose" />
<!-- :data="dispatchList" -->
</div>
</template>
<script>
@ -98,7 +99,7 @@ import RadioGroup from "@screen/components/FormConfig/components/RadioGroup/inde
import { getToken } from "@/utils/auth";
import TimeLine1 from "@screen/components/TimeLine/TimeLine1/index";
import TimeLine2 from "@screen/components/TimeLine/TimeLine2/index";
// import DialogVisible from "./DialogVisible/index.vue";
import DialogVisible from "./DialogVisible/index.vue";
import {
getProcessNode,
getProcessList,
@ -121,7 +122,7 @@ export default {
TimeLine1,
TimeLine2,
RadioGroup,
// DialogVisible,
DialogVisible,
},
emit: ["fullHeight"],
data() {
@ -248,21 +249,37 @@ export default {
//
handleEventRelieve() {
this.$confirm("确定解除事件吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let data = new FormData();
data.append("eventId", this.eventId);
postCompleteEvent(data).then((result) => {
if (result.code != 200) return [];
this.$message.success("事件解除成功");
});
})
.catch(() => {});
},
//
handleNoWrecker() {
this.$confirm("确定清除障碍吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let data = new FormData();
data.append("eventId", this.eventId);
postNoSkipClear(data).then((result) => {
if (result.code != 200) return [];
this.$message.success("操作成功");
});
})
.catch(() => {});
},
handleClick() {

1
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/auditAnalytics/index.vue

@ -260,6 +260,7 @@ export default {
}
.content-item-right {
overflow: hidden;
}
}

9
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/index.vue

@ -35,10 +35,11 @@
</el-option>
</el-select>
<el-select
style="width: 120px"
v-model="quarter"
size="medium"
v-if="type == '3'"
class="selectRoad-medium"
class="selectRoad"
placeholder="请选择"
>
<el-option
@ -464,16 +465,14 @@ export default {
white-space: nowrap;
margin-right: 4px;
}
.inputZh {
width: 47px;
::v-deep {
.el-input__inner {
background-color: #064258 !important;
border-width: 0px !important;
}
}
.inputZh {
width: 47px;
}
.inputJl {

Loading…
Cancel
Save