Browse Source

修改事件相关

wangqin
王钦 6 months ago
parent
commit
68a95d2777
  1. 1
      ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js
  2. 2
      ruoyi-ui/src/views/JiHeExpressway/components/Table.vue
  3. 1
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/Camera/index.vue
  4. 146
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/RoadNetworkFacilities/chart.js
  5. 12
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/RoadNetworkFacilities/data.js
  6. 92
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/RoadNetworkFacilities/index.vue
  7. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/TrafficIncidents/index.vue
  8. 10
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/mixin.js
  9. 1
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue
  10. 3
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/CrowdnessIndicatorRankings/index.vue
  11. 21
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DeviceControl/components/ScopeTable.vue
  12. 28
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DeviceControl/index.vue
  13. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/EventInformation/components/EditEventInformationDialog/data.js
  14. 2572
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/EventInformation/components/EditEventInformationDialog/data_back.js
  15. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/TrafficControl/components/AddControlEventInfoDialog/data.js
  16. 3
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/index.vue
  17. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
  18. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/data.js
  19. 19
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue
  20. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/ScopeTable.vue
  21. 301
      ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/analysis/index.vue
  22. 1
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventAnalysis/FormEvent/PresetFormItems.js
  23. 3
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventAnalysis/FormEvent/data.js
  24. 3
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/ElQuarterPicker.vue
  25. 3
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/ElQuarterPicker.vue
  26. 1
      ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/postTrendsDay/index.vue
  27. 25
      ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue

1
ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js

@ -806,7 +806,6 @@ export const locationMode = {
key: "dcEventAccident.locationType", key: "dcEventAccident.locationType",
required: true, required: true,
type: "select", type: "select",
default: "1",
options: { options: {
options: [ options: [
{ key: "1", label: "高速主线" }, { key: "1", label: "高速主线" },

2
ruoyi-ui/src/views/JiHeExpressway/components/Table.vue

@ -32,7 +32,7 @@ div.Table {
font-size: 16px; font-size: 16px;
background-color: unset; background-color: unset;
color: #fff; color: #fff;
width:100%;
::v-deep { ::v-deep {
tr { tr {
background-color: rgba(6, 66, 88, 0); background-color: rgba(6, 66, 88, 0);

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

@ -171,7 +171,6 @@ export default {
}, 150), }, 150),
visibleClose(bool) { visibleClose(bool) {
if (bool) return; if (bool) return;
this.controlDialogVisible = false; this.controlDialogVisible = false;
}, },
}, },

146
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/RoadNetworkFacilities/chart.js

@ -0,0 +1,146 @@
import * as echarts from "echarts";
export const chartOption ={
color: ["#2AD9FD"],
xAxis: {
name: "日",
type: "category",
// boundaryGap: ["15%", "15%"],
nameTextStyle: {
color: "#2AD9FD",
align: "right",
fontSize: 15,
padding: [0, -15, 0, 0],
},
boundaryGap: false,
data: ['00:00','02:00','04:00','06:00'],
axisTick: {
show: false,
},
axisLabel: {
color: "#fff",
fontSize: 12,
},
axisLine: {
lineStyle: {
color: "#668598",
},
},
},
yAxis: [{
name: "雨量日计",
type: "value",
nameTextStyle: {
color: "#2AD9FD",
// align: "right",
fontSize: 15,
// padding: [0, -15, 0, 0],
},
// nameGap: 24,
splitLine: {
lineStyle: {
type: [6, 9],
color: "rgba(255,255,255, .3)",
// dashOffset: [10, 10],
// cap: 21,
// width: 2
},
},
axisLabel: {
color: "#fff",
fontSize: 12,
formatter: "{value}",
},
},{
name: "雨量累计",
type: "value",
nameTextStyle: {
color: "#2AD9FD",
// align: "right",
fontSize: 15,
// padding: [0, -15, 0, 0],
},
// nameGap: 24,
splitLine: {
lineStyle: {
type: [6, 9],
color: "rgba(255,255,255, .3)",
// dashOffset: [10, 10],
// cap: 21,
// width: 2
},
},
axisLabel: {
color: "#fff",
fontSize: 12,
formatter: "{value}",
},
}],
grid: {
left: 33,
top: 33,
bottom: 24,
right: 36,
},
tooltip: {
trigger: "axis",
backgroundColor: "rgba(0,0,0,0.36)",
borderWidth: 0,
textStyle: {
color: "#fff",
},
formatter: "{b}:{c}",
},
legend: {
textStyle: {
color: '#2AD9FD'
}
},
series: [
{
data: [1,2,3,4],
type: "line",
showSymbol: false,
smooth: true,
name: '计数',
lineStyle: {
color: "#2AD9FD",
},
areaStyle: {
opacity: 0.8,
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgb(90, 227, 255, .9)",
},
{
offset: 1,
color: "rgba(42,217,253,0)",
},
]),
},
}, {
data: [1,2,3,4],
type: "line",
showSymbol: false,
smooth: true,
name: '计数',
lineStyle: {
color: "#2AD9FD",
},
areaStyle: {
opacity: 0.8,
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgb(90, 227, 255, .9)",
},
{
offset: 1,
color: "rgba(42,217,253,0)",
},
]),
},
},
],
};

12
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/RoadNetworkFacilities/data.js

@ -428,6 +428,16 @@ export const tabList = {
key: "direction", key: "direction",
gridColumn: "3", gridColumn: "3",
}, },
{
label: "所属机构",
key: "branchCenterFullName",
gridColumn: "3",
},
{
label: "单位",
key: "groupCompany",
gridColumn: "3",
},
{ {
label: "桩号", label: "桩号",
key: "end_mark", key: "end_mark",
@ -468,7 +478,7 @@ export const tabList = {
}, },
{ {
label: "测点编号", label: "测点编号",
key: "meaPointnum", key: "meaPointNum",
gridColumn: "3", gridColumn: "3",
}, },
{ {

92
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/RoadNetworkFacilities/index.vue

@ -10,6 +10,19 @@
<ElTabPane v-for="item in formList" :key="item.key" :label="item.name" :name="item.key"> <ElTabPane v-for="item in formList" :key="item.key" :label="item.name" :name="item.key">
<Descriptions :labelWidth="item.labelWidth" :list="item.list" :data="data" style="gap: 12px" column="6" /> <Descriptions :labelWidth="item.labelWidth" :list="item.list" :data="data" style="gap: 12px" column="6" />
</ElTabPane> </ElTabPane>
<ElTabPane label="测点历史数据">
<el-date-picker
v-model="daterangeChangeTime"
size="mini"
style="width: 320px;float:right;margin-bottom: 10px;"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
<div class='chart LineChart' ref="chartRef" />
</ElTabPane>
</ElTabs> </ElTabs>
</div> </div>
@ -27,7 +40,9 @@ import request from "@/utils/request";
import { dialogDelayVisible } from "./../mixin"; import { dialogDelayVisible } from "./../mixin";
import { tabList } from './data' import { tabList } from './data'
import { DirectionTypes } from "@screen/utils/enum.js" import { DirectionTypes } from "@screen/utils/enum.js"
import * as echarts from "echarts";
import { chartOption } from "./chart"
import moment from "moment";
// //
export default { export default {
@ -51,13 +66,24 @@ export default {
deviceState: "0", deviceState: "0",
deviceVendors: "XXX厂家", deviceVendors: "XXX厂家",
}, },
formList: [] formList: [],
dateRange:[],
daterangeChangeTime:[]
}; };
}, },
watch: {
daterangeChangeTime: {
handler(val) {
this.dateRange = [moment(val[0]).valueOf(),moment(val[1]).valueOf()];
this.bindListAsync();
},
},
},
async created() { async created() {
let dData = { ...this.dialogData }; let dData = { ...this.dialogData };
this.formList = tabList[dData.facilityType] this.formList = tabList[dData.facilityType]
if (dData.facilityType) if (dData.facilityType)
if (dData.otherConfig) { if (dData.otherConfig) {
let otherConfig = JSON.parse(dData.otherConfig); let otherConfig = JSON.parse(dData.otherConfig);
@ -66,25 +92,65 @@ export default {
dData.direction = DirectionTypes[dData.direction] dData.direction = DirectionTypes[dData.direction]
} }
let resPointList = await request({ let resPointList = await request({
url: `dc/sideSlope/GetMeasurePointList`, url: `sideSlope/GetMeasurePointList`,
method: "get", method: "get",
}); });
if (resPointList.code != 200) return Message.error(result?.msg); if (resPointList.code != 200) return Message.error(resPointList?.msg);
let pointList = {}; let pointList = {};
if(resPointList.data && resPointList.data.result && resPointList.data.result.length > 0){ if(resPointList.data && resPointList.data.result && resPointList.data.result.length > 0){
pointList = resPointList.data.result[0] pointList = resPointList.data.result[0]
} }
dData = { ...dData, ...otherConfig,...pointList } dData = { ...dData, ...otherConfig,...pointList }
//echart
} }
this.data = dData; this.data = dData;
// console.log('this.data', this.data) this.daterangeChangeTime = [moment().startOf('months').format('YYYY-MM-DD'),moment().endOf('months').format('YYYY-MM-DD')]
console.log('this.data', this.data)
}, },
methods: { methods: {
async bindListAsync(){
let res = await request({
url: `sideSlope/GetPointDataListAsync`,
method: "get",
params:{
projCode: this.data.pro_code,
unitCode: this.data.unit_code,
meaPointNum: this.data.meaPointNum,
starttime: this.dateRange[0],
endtime: this.dateRange[1],
}
});
if (res.code != 200) return Message.error(res?.msg);
const cdata = [];
const cseries1 = [];
const cseries2 = [];
res.data.forEach(e => {
cdata.push((moment(e.measureTime).format('YYYY-MM-DD')))
cseries1.push(e.data[0].value)
cseries2.push(e.data[0].cum)
});
chartOption.xAxis.data = cdata;
chartOption.series[0].data = cseries1;
chartOption.series[1].data = cseries2;
const chartIns = echarts.init(this.$refs.chartRef);
chartIns.setOption(chartOption);
}
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.LineChart {
width: 450px !important;
height: 160px;
overflow: hidden;
}
.RoadNetworkFacilities { .RoadNetworkFacilities {
width: 452px; width: 452px;
color: #fff; color: #fff;
@ -116,7 +182,7 @@ export default {
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: 260px;
::v-deep { ::v-deep {
.el-tabs__content { .el-tabs__content {
flex: 1; flex: 1;

5
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/TrafficIncidents/index.vue

@ -163,7 +163,6 @@ export default {
// let data = new FormData(); // let data = new FormData();
// data.append("eventId", this.dialogData.id); // data.append("eventId", this.dialogData.id);
// postCompleteEvent(data).then((result) => { // postCompleteEvent(data).then((result) => {
// console.log('--------', result)
// if (result.code != 200) return []; // if (result.code != 200) return [];
// this.$message.success(""); // this.$message.success("");
// this.$emit('traffic-relieve', this.data); // this.$emit('traffic-relieve', this.data);
@ -190,6 +189,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.TrafficIncidents { .TrafficIncidents {
width: 600px; width: 600px;
color: #fff; color: #fff;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -244,7 +244,8 @@ export default {
gap: 9px; gap: 9px;
width: 100%; width: 100%;
justify-content: flex-end; justify-content: flex-end;
margin: 20px 0px -20px 0px; // margin: 20px 0px -20px 0px;
height: 40px;
} }
</style> </style>

10
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/mixin.js

@ -25,13 +25,9 @@ export const dialogDelayVisible = {
computed: { computed: {
obverseVisible: { obverseVisible: {
set(bool) { set(bool) {
if(this.visibleClose){ try {
try { typeof this.visibleClose === "function" && this.visibleClose?.(bool);
typeof this.visibleClose === "function" && this.visibleClose?.(bool); } catch (error) {}
} catch (error) {}
}
setTimeout(() => { setTimeout(() => {
this.$emit("change", bool); this.$emit("change", bool);
}, 180); }, 180);

1
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue

@ -248,7 +248,6 @@ export default {
const key = getHandleDeviceType(item) || `${this.active}/${item.title}`; const key = getHandleDeviceType(item) || `${this.active}/${item.title}`;
const status = item.status; const status = item.status;
console.log(item.status,'------------')
if (!status) { // if (!status) { //
this.nowSelected = item.title; this.nowSelected = item.title;
this.nowSelectedCompleted = false; this.nowSelectedCompleted = false;

3
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/CrowdnessIndicatorRankings/index.vue

@ -288,7 +288,6 @@ export default {
const self = this; const self = this;
setTimeout(() => { setTimeout(() => {
// map // map
console.log(self.detailData,'----------')
const { AMap, mapIns } = self.$refs.AMapContainerRef.getMapInstance(); const { AMap, mapIns } = self.$refs.AMapContainerRef.getMapInstance();
const { longitude, dimension, eventName } = self.detailData; const { longitude, dimension, eventName } = self.detailData;
const icon = require(`@screen/images/layer/事件专题/${eventName}_active.svg`); const icon = require(`@screen/images/layer/事件专题/${eventName}_active.svg`);
@ -298,8 +297,6 @@ export default {
); );
self.addMarker(center, icon, 1); self.addMarker(center, icon, 1);
mapIns.setZoomAndCenter(12, center); mapIns.setZoomAndCenter(12, center);
//
// console.log(self.detailData,mapIns, AMap, "############");
}, 500); }, 500);
}, },
addMarker(position, icon, state, fn = null) { addMarker(position, icon, state, fn = null) {

21
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DeviceControl/components/ScopeTable.vue

@ -4,7 +4,7 @@
<el-col :span="7"> <el-col :span="7">
<!-- 设备类型 --> <!-- 设备类型 -->
<el-select v-model="tableInfo.deviceType" placeholder="" @change="changeDeviceType" transfer="true" <el-select v-model="tableInfo.deviceType" placeholder="" @change="changeDeviceType" transfer="true"
style="width: 123px;"> style="width: 120px;">
<el-option v-for="item in deviceOptions" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in deviceOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@ -13,7 +13,7 @@
</el-col> </el-col>
<el-col :span="7"> <el-col :span="7">
<!-- 规则条件 --> <!-- 规则条件 -->
<el-select v-model="tableInfo.searchRule" placeholder="" style="width: 123px;"> <el-select v-model="tableInfo.searchRule" placeholder="" style="width: 120px;">
<el-option v-for="item in zyOptions" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in zyOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@ -27,9 +27,9 @@
<!-- 公里 --> <!-- 公里 -->
<el-input-number v-if="tableInfo.searchRule == 4" v-model="tableInfo.number" :min="0" :max="9999" <el-input-number v-if="tableInfo.searchRule == 4" v-model="tableInfo.number" :min="0" :max="9999"
style="width: 75px;"></el-input-number> style="width: 75px;"></el-input-number>
<span v-if="tableInfo.searchRule == 4" style="width: 56px;">公里</span> <span v-if="tableInfo.searchRule == 4" style="width: 56px;"></span>
</el-col> </el-col>
<el-col :span="4" v-if="tableInfo.isDefault === true && (tableInfo.deviceType == '2' || tableInfo.deviceType == 5)"> <el-col :span="4" v-if=" (tableInfo.deviceType == '2' || tableInfo.deviceType == 5)">
<div class="firstBtns"> <div class="firstBtns">
<ButtonGradient class="title-button" @click.native="$emit('onConfirm', index)"> <ButtonGradient class="title-button" @click.native="$emit('onConfirm', index)">
<i class="el-icon-check"></i> <i class="el-icon-check"></i>
@ -79,7 +79,7 @@
</el-col> </el-col>
<!-- 可变信息标识 --> <!-- 可变信息标识 -->
<el-col v-if="tableInfo.deviceType == 2" :span="8"> <el-col v-if="tableInfo.deviceType == 2" :span="8">
<el-select v-model="tableInfo.zx_operationType" placeholder="请选择"> <el-select v-model="tableInfo.zx_operationType" disabled placeholder="请选择">
<el-option label="自定义发布" :value="1"></el-option> <el-option label="自定义发布" :value="1"></el-option>
<el-option label="智能发布" :value="2"></el-option> <el-option label="智能发布" :value="2"></el-option>
</el-select> </el-select>
@ -120,15 +120,16 @@
</el-col> </el-col>
<!-- 语音广播 --> <!-- 语音广播 -->
<el-col v-if="tableInfo.deviceType == 5" :span="8"> <el-col v-if="tableInfo.deviceType == 5" :span="8">
<el-select v-model="tableInfo.zx_operationType" placeholder="请选择"> <el-select v-model="tableInfo.zx_operationType" disabled placeholder="请选择">
<el-option label="自定义发布" :value="1"></el-option> <el-option label="自定义发布" :value="1"></el-option>
<el-option label="智能发布" :value="2"></el-option> <el-option label="智能发布" :value="2"></el-option>
</el-select> </el-select>
</el-col> </el-col>
<el-col v-if="tableInfo.deviceType == 5 && tableInfo.zx_operationType == 1" :span="10"> <!-- <el-col v-if="tableInfo.deviceType == 5 && tableInfo.zx_operationType == 1" :span="10">
<el-input v-model="tableInfo.zx_content" placeholder="请输入发布内容"></el-input> <el-input v-model="tableInfo.zx_content" placeholder="请输入发布内容"></el-input>
</el-col> </el-col> -->
</el-row> </el-row>
<el-row v-if="(tableInfo.deviceType == 2 || tableInfo.deviceType == 5) && tableInfo.executeConfig && tableInfo.executeConfig.contentList"> <el-row v-if="(tableInfo.deviceType == 2 || tableInfo.deviceType == 5) && tableInfo.executeConfig && tableInfo.executeConfig.contentList">
<el-col :span="24"> <el-col :span="24">
<div class="keep-ratio" origin="top" v-for="(itm,idx) of tableInfo.executeConfig.contentList"> <div class="keep-ratio" origin="top" v-for="(itm,idx) of tableInfo.executeConfig.contentList">
@ -157,7 +158,7 @@
</el-col> </el-col>
<!-- 可变信息标识 --> <!-- 可变信息标识 -->
<el-col v-if="tableInfo.deviceType == 2" :span="8"> <el-col v-if="tableInfo.deviceType == 2" :span="8">
<el-select v-model="tableInfo.hf_operationType" placeholder="请选择"> <el-select v-model="tableInfo.hf_operationType" disabled placeholder="请选择">
<el-option label="自定义发布" :value="1"></el-option> <el-option label="自定义发布" :value="1"></el-option>
<el-option label="还原上次" :value="2"></el-option> <el-option label="还原上次" :value="2"></el-option>
</el-select> </el-select>
@ -261,7 +262,7 @@ export default {
label: '事发上游最近' label: '事发上游最近'
}, },
{ {
value: 3, value: 4,
label: '最近公里数' label: '最近公里数'
}, },
], ],

28
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/DeviceControl/index.vue

@ -73,7 +73,6 @@ export default {
this.tableData = [{ ...defaultTableInfo }]; this.tableData = [{ ...defaultTableInfo }];
return Message.warning("该事件暂无处置预案"); return Message.warning("该事件暂无处置预案");
} }
let dcExecuteAction = data[0].dcExecuteAction || []; let dcExecuteAction = data[0].dcExecuteAction || [];
this.planId = data[0].id; this.planId = data[0].id;
@ -82,13 +81,14 @@ export default {
let action = { ...it }; let action = { ...it };
if (it.executeConfig) { if (it.executeConfig) {
let executeConfig = JSON.parse(it.executeConfig); let executeConfig = JSON.parse(it.executeConfig);
let execute = this.mapKeys(executeConfig, "zx_"); let execute = this.mapKeys(executeConfig, "zx_");
action = { ...action, ...execute }; action = { ...action, ...execute,...{executeConfig} };
} }
if (it.recoverConfig) { if (it.recoverConfig) {
let recoverConfig = JSON.parse(it.recoverConfig); let recoverConfig = JSON.parse(it.recoverConfig);
let recover = this.mapKeys(recoverConfig, "hf_"); let recover = this.mapKeys(recoverConfig, "hf_");
action = { ...action, ...recover }; action = { ...action, ...recover,...{recoverConfig} };
} }
if (it.deviceList) { if (it.deviceList) {
action.devList = it.deviceList.split(",").map((str) => str); action.devList = it.deviceList.split(",").map((str) => str);
@ -123,13 +123,7 @@ export default {
}, },
onConfirm(index){ onConfirm(index){
const param = { const param = {
"dcEvent": { "dcEvent": this.detailData,
"eventType": this.detailData.eventType,
"direction": this.detailData.direction,
"id": this.detailData.id,
"stakeMark": this.detailData.stakeMark,
"subclass": this.detailData.subclass
},
"dcExecuteAction": { "dcExecuteAction": {
"id": "", "id": "",
"emergencyPlansId": "", "emergencyPlansId": "",
@ -141,18 +135,25 @@ export default {
"recoverConfig": "{\"operationType\":2}" "recoverConfig": "{\"operationType\":2}"
} }
} }
if(this.tableData[index].isDefault !== true){
param['dcExecuteAction']['executeConfig'] = JSON.stringify(this.tableData[index]['executeConfig'])
param['dcExecuteAction']['recoverConfig'] = JSON.stringify(this.tableData[index]['recoverConfig'])
}
request({ request({
url: `business/plans/list/event/emergencyPlans`, url: `business/plans/list/event/emergencyPlans`,
method: "post", method: "post",
data: param, data: param,
}).then(result=>{ }).then(result=>{
if (result.code != 200) return Message.error(result?.msg); if (result.code != 200) return Message.error(result?.msg);
console.log(param,result,'===============') console.log(this.tableData[index])
let data = result.data; let data = result.data;
this.tableData[index].executeConfig = JSON.parse(data.executeConfig) this.tableData[index].executeConfig = JSON.parse(data.executeConfig)
this.tableData[index].recoverConfig = JSON.parse(data.recoverConfig) this.tableData[index].recoverConfig = JSON.parse(data.recoverConfig)
this.tableData[index].zx_operationType = this.tableData[index].executeConfig?.operationType; if(this.tableData[index].isDefault === true){
this.tableData[index].hf_operationType = this.tableData[index].recoverConfig?.operationType; this.tableData[index].zx_operationType = this.tableData[index].executeConfig?.operationType;
this.tableData[index].hf_operationType = this.tableData[index].recoverConfig?.operationType;
}
this.tableData = _.cloneDeep(this.tableData) this.tableData = _.cloneDeep(this.tableData)
}) })
}, },
@ -222,7 +223,6 @@ export default {
}; };
console.log("reqData", reqData); console.log("reqData", reqData);
return;
request({ request({
url: "/business/plans/event/confirm", url: "/business/plans/event/confirm",
method: "post", method: "post",

5
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/EventInformation/components/EditEventInformationDialog/data.js

@ -937,8 +937,7 @@ export const configList = {
isAlone: false, isAlone: false,
required: true, required: true,
options: { options: {
options: [], options: []
multiple: true,
}, },
visible: (data) => { visible: (data) => {
if (data?.eventSubclass == "3-3") { if (data?.eventSubclass == "3-3") {
@ -984,6 +983,8 @@ export const configList = {
required: true, required: true,
options: { options: {
options: [], options: [],
multiple: true,
}, },
visible: (data) => { visible: (data) => {
if (data?.eventSubclass == "3-3") { if (data?.eventSubclass == "3-3") {

2572
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/EventInformation/components/EditEventInformationDialog/data_back.js

File diff suppressed because it is too large

4
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/commandDispatch/Cards/TrafficControl/components/AddControlEventInfoDialog/data.js

@ -404,8 +404,7 @@ export const tabConfigList = [
isAlone: false, isAlone: false,
required: true, required: true,
options: { options: {
options: [], options: []
multiple: true,
}, },
visible: (data) => { visible: (data) => {
if (data?.eventSubclass == "3-3") { if (data?.eventSubclass == "3-3") {
@ -451,6 +450,7 @@ export const tabConfigList = [
required: true, required: true,
options: { options: {
options: [], options: [],
multiple: true,
}, },
visible: (data) => { visible: (data) => {
if (data?.eventSubclass == "3-3") { if (data?.eventSubclass == "3-3") {

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

@ -78,12 +78,11 @@ export default {
getDetail() { getDetail() {
// - // -
request({ request({
url: `/dc/system/event/${this.detailId}`, url: `/dc/system/event/eventSubclass/${this.detailId}`,
method: "GET", method: "GET",
}) })
.then((result) => { .then((result) => {
if (result.code != 200) return; if (result.code != 200) return;
console.log(result,'###########')
this.provideData.detail = result.data; this.provideData.detail = result.data;
console.log("这里是事件详情", this.provideData.detail); console.log("这里是事件详情", this.provideData.detail);
if ( if (

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

@ -540,11 +540,11 @@ export const isInTunnel = {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [ options: [
{ {
key: "1", key: 1,
label: "是", label: "是",
}, },
{ {
key: "0", key: 0,
label: "否", label: "否",
}, },
], ],
@ -728,7 +728,6 @@ export const locationMode = {
key: "dcEventAccident.locationType", key: "dcEventAccident.locationType",
required: true, required: true,
type: "select", type: "select",
default: "1",
options: { options: {
options: [ options: [
{ key: 1, label: "高速主线" }, { key: 1, label: "高速主线" },

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

@ -858,8 +858,7 @@ export const tabConfigList = [
isAlone: false, isAlone: false,
required: true, required: true,
options: { options: {
options: [], options: []
multiple: true,
}, },
visible: (data) => { visible: (data) => {
if (data?.eventSubclass == "3-3") { if (data?.eventSubclass == "3-3") {
@ -905,6 +904,7 @@ export const tabConfigList = [
required: true, required: true,
options: { options: {
options: [], options: [],
multiple: true,
}, },
visible: (data) => { visible: (data) => {
if (data?.eventSubclass == "3-3") { if (data?.eventSubclass == "3-3") {

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

@ -4,16 +4,18 @@
<ElTabs v-model="activeName" @tab-click="handleChange"> <ElTabs v-model="activeName" @tab-click="handleChange">
<ElTabPane v-for="(item, index) in tabConfigList" :key="index" :label="item.label" :name="item.key" /> <ElTabPane v-for="(item, index) in tabConfigList" :key="index" :label="item.label" :name="item.key" />
</ElTabs> </ElTabs>
<div class="fader">
<Transition name="fade"> <Transition name="fade">
<Form class="form" ref="FormConfigRef" :formList="formConfig.list" v-bind="getFormOptions" labelWidth="120px" /> <Form class="form" ref="FormConfigRef" :formList="formConfig.list" v-bind="getFormOptions"
</Transition> labelWidth="120px" />
</Transition>
</div>
</div> </div>
<template #footer> <template #footer>
<Button style="background: #c9c9c9; padding: 0 24px" <Button style="background: #c9c9c9; padding: 0 24px;margin-top: 24px;"
@click.native="(modelVisible = false), (submitting = false)">取消</Button> @click.native="(modelVisible = false), (submitting = false)">取消</Button>
<Button style="padding: 0 24px" @click.native="handleSubmit" :loading="submitting">保存</Button> <Button style="padding: 0 24px;margin-top: 24px;" @click.native="handleSubmit" :loading="submitting">保存</Button>
</template> </template>
</Dialog> </Dialog>
</template> </template>
@ -244,6 +246,11 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.fader {
height: 500px;
overflow-y: auto;
}
.form { .form {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;

2
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/ScopeTable.vue

@ -214,7 +214,7 @@ export default {
label: '事发上游最近' label: '事发上游最近'
}, },
{ {
value: 3, value: 4,
label: '最近公里数' label: '最近公里数'
}, },
], ],

301
ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/smart/analysis/index.vue

@ -1,34 +1,315 @@
<template> <template>
<div class='board_record'> <div class='content'>
TODO <div class="left">
<WgtTitle :title="'设备列表'"></WgtTitle>
<el-form :model="form" class="formSearch keep-ratio" size="mini">
<el-form-item>
<el-col :span="11">
<el-input v-model="form.deviceName" size="medium" placeholder="设备名称" class="direction"></el-input>
</el-col>
<el-col :span="10" :offset="1">
<el-checkbox-group v-model="form.deviceState" style="height:26px">
<el-checkbox :label="1">在线</el-checkbox>
<el-checkbox :label="0">异常</el-checkbox>
</el-checkbox-group>
</el-col>
</el-form-item>
<el-form-item style="display: flex; justify-content: center;">
<el-button class="btnInfoBoard" type="add" @click.native="onSearch()">搜索</el-button>
<el-button type="publish" @click.native="onResetSearch()">重置</el-button>
</el-form-item>
</el-form>
<div class="body">
<vuescroll :ops="scrollOptions">
<div class="device keep-ratio" v-for="(item, index) of list">
<div>{{ item.deviceName }}</div>
<el-tooltip :content="(item.deviceState == 0 || item.deviceState == null) ? '异常' : '在线'" placement="top">
<img src="@/assets/jihe/images/offline.svg" class="state"
v-if="item.deviceState == '0' || item.deviceState == null">
<img src="@/assets/jihe/images/online.svg" class="state" v-else>
</el-tooltip>
</div>
<div v-if="list.length === 0" style="color: #fff; text-align: center; line-height: 60px">
暂无数据
</div>
</vuescroll>
</div>
<div class="footer">
<ElPagination @current-change="bindList" @size-change="onSizeChange" width="'100%'"
:page-sizes="[10, 20, 30, 40, 50]" :page-size="page.pageSize" :current-page.sync="page.pageNum"
layout="total, prev, pager, next" :total="total" class="Pagination">
</ElPagination>
</div>
</div>
<div class="right">
<div class="top">
<div class="search">
<el-date-picker
size="small"
type="date"
class="selectDate"
v-model="date"
style="width: 140px"
placeholder="请选择"
/>
</div>
</div>
<div class="bottom"></div>
</div>
</div> </div>
</template> </template>
<script> <script>
import request from "@/utils/request"; import request from "@/utils/request";
import vuescroll from "vuescroll";
import scrollOptions from "@/common/scrollbar.js";
import { Message } from "element-ui";
import WgtTitle from "@screen/pages/perception/widgets/title";
export default { export default {
name: 'boardRecord', name: 'smartAnalysis',
components: { components: {
vuescroll,
WgtTitle
}, },
data() { data() {
return { return {
form: {
deviceName: '',
deviceState: [1, 0]
},
page: {
pageNum: 0,
pageSize: 20
},
total: 0,
list: [],
scrollOptions,
date:''
} }
}, },
created() { created() {
}, },
mounted(){ mounted() {
this.bindList();
this.date = moment().format('YYYY-MM-DD')
}, },
methods: { methods: {
onSizeChange(pageSize) {
this.page.pageSize = pageSize;
this.bindList();
},
bindList() {
const params = {
...this.form, ...this.page,
};
if (params.deviceState.length === 2) {
delete params.deviceState;
} else {
params.deviceState = params.deviceState.join('')
}
if (params.deviceName === '') {
delete params.deviceName
}
request({
url: 'business/device/selectDeviceNameList',
method: 'get',
params
}).then(result => {
if (result.code != 200) return Message.error(result?.msg);
this.list = result.rows;
this.total = result.total;
})
},
onResetSearch() {
this.form = {
deviceName: '',
deviceState: [1, 0]
};
this.pageNum = 0;
this.bindList();
},
onSearch() {
this.pageNum = 0;
this.bindList();
},
} }
} }
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>
.board_record { .content {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
background-color: #101d23;
padding: 20px;
.left {
width: 400px;
background-color: #112533;
height: 100%;
display: flex;
flex-direction: column;
.body {
flex: 1;
height: 0;
padding: 0 10px 10px;
}
.footer {
display: flex;
justify-content: center;
align-items: center;
margin: 10px;
}
}
.right {
flex: 1;
margin-left: 30px;
}
}
::v-deep .formSearch {
padding: 20px 20px 0;
.el-form-item__label {
color: #fff;
}
} }
.direction {
::v-deep .el-input {
.el-input__inner {
font-size: 14px !important;
padding: 8px 5px;
}
}
}
.device {
padding: 7.5px 15px;
cursor: pointer;
display: flex;
justify-content: space-between;
}
.device:hover {
background-color: #1d647f;
}
.state {
width: 18px;
height: 18px;
}
.top{
.search{
display: flex;
justify-content: flex-end;
}
}
</style>
<style lang="scss" scoped>
.Pagination {
// color: #fff;
::v-deep {
>button,
>ul li {
background: #064258;
border-radius: 2px 2px 2px 2px;
opacity: 1;
color: #fff;
}
>button {
padding: 0 3px;
border: 1px solid #00b3cc;
}
>ul li {
background: linear-gradient(180deg, #004960 0%, #004b62 100%);
margin: 0 1.5px;
&.active {
background: linear-gradient(180deg, #005c79 0%, #009bcc 100%);
}
}
.el-pagination__total {
color: #fff;
}
.el-pagination__sizes {
.el-select {
.el-input {
width: 81px;
.el-input__inner {
font-size: 12px;
height: 23px;
background-color: #064258 !important;
}
}
.el-input__suffix {
.el-input__icon {
line-height: 23px;
}
}
}
}
.el-pagination__jump {
margin-left: 10px;
color: #fff;
font-size: 12px;
.el-input {
width: 27px;
margin: 0 3px;
.el-input__inner {
font-size: 12px;
background-color: #064258 !important;
border-radius: 2px 2px 2px 2px;
}
}
}
.btn-next {
margin-left: 6px;
}
.btn-prev {
margin-right: 6px;
}
}
::v-deep .el-pagination__total {
margin-left: 10px;
}
}
.selectDate {
width: 89px;
border: 1px solid #00b3cc;
::v-deep {
.el-input__prefix{
top:-4px;
}
.el-input__inner {
background-color: #064258 !important;
border-width: 0px !important;
}
}
}
</style> </style>

1
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventAnalysis/FormEvent/PresetFormItems.js

@ -728,7 +728,6 @@ export const locationMode = {
key: "dcEventAccident.locationType", key: "dcEventAccident.locationType",
required: true, required: true,
type: "select", type: "select",
default: "1",
options: { options: {
options: [ options: [
{ key: 1, label: "高速主线" }, { key: 1, label: "高速主线" },

3
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventAnalysis/FormEvent/data.js

@ -858,8 +858,7 @@ export const tabConfigList = [
isAlone: false, isAlone: false,
required: true, required: true,
options: { options: {
options: [], options: []
multiple: true,
}, },
visible: (data) => { visible: (data) => {
if (data?.eventSubclass == "3-3") { if (data?.eventSubclass == "3-3") {

3
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/ElQuarterPicker.vue

@ -101,7 +101,6 @@
}, },
watch: { watch: {
value(val) { value(val) {
// console.log('change-------', val)
this.changeValue(val) this.changeValue(val)
}, },
readonly(val) { readonly(val) {
@ -131,7 +130,6 @@
} }
}, },
mounted() { mounted() {
// console.log('mounted--------', this.value)
this.changeValue(this.value) this.changeValue(this.value)
// //
@ -345,7 +343,6 @@
}, },
// //
clickItem(item) { clickItem(item) {
// console.log('select--------', item)
if (this.viewType === 1) { if (this.viewType === 1) {
// //
this.$emit('change', this.formatTo([item.year, item.quarter], this.valueFormat)) this.$emit('change', this.formatTo([item.year, item.quarter], this.valueFormat))

3
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/ElQuarterPicker.vue

@ -101,7 +101,6 @@
}, },
watch: { watch: {
value(val) { value(val) {
// console.log('change-------', val)
this.changeValue(val) this.changeValue(val)
}, },
readonly(val) { readonly(val) {
@ -131,7 +130,6 @@
} }
}, },
mounted() { mounted() {
// console.log('mounted--------', this.value)
this.changeValue(this.value) this.changeValue(this.value)
// //
@ -345,7 +343,6 @@
}, },
// //
clickItem(item) { clickItem(item) {
// console.log('select--------', item)
if (this.viewType === 1) { if (this.viewType === 1) {
// //
this.$emit('change', this.formatTo([item.year, item.quarter], this.valueFormat)) this.$emit('change', this.formatTo([item.year, item.quarter], this.valueFormat))

1
ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/postTrendsDay/index.vue

@ -35,7 +35,6 @@ export default {
}) })
.then((result) => { .then((result) => {
if (result.code != 200) return; if (result.code != 200) return;
// console.log(result,'-----------------')
let sdata = [[],[],[],[],[],[],[]] let sdata = [[],[],[],[],[],[],[]]
for(let i of result.data){ for(let i of result.data){
sdata[i.publishChannels-1].push(i.number) sdata[i.publishChannels-1].push(i.number)

25
ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue

@ -20,7 +20,8 @@
:formConfigOptions="{ dFormData: { eventState: '0' } }" @handleSearch="handleSearch" /> :formConfigOptions="{ dFormData: { eventState: '0' } }" @handleSearch="handleSearch" />
</div> </div>
<!-- 内容 --> <!-- 内容 -->
<Table :data="tableData" height="100%" style="width:500"> <div class="body">
<Table :data="tableData">
<el-table-column label="序号" type="index" :index="indexMethod" width="100" align="center" <el-table-column label="序号" type="index" :index="indexMethod" width="100" align="center"
header-align="center" /> header-align="center" />
@ -31,7 +32,7 @@
</ElTableColumn> </ElTableColumn>
<ElTableColumn label="发布时间" prop="publishTime" align="center" width="200" header-align="center" /> <ElTableColumn label="发布时间" prop="publishTime" align="center" width="200" header-align="center" />
<ElTableColumn label="位置/设备" prop="position" align="center" width="200" header-align="center" /> <ElTableColumn label="位置/设备" prop="position" align="center" width="200" header-align="center" />
<ElTableColumn label="发布内容" prop="contentDetails" align="center" header-align="center" /> <ElTableColumn label="发布内容" prop="contentDetails" align="center" header-align="center" />
<ElTableColumn label="发布人" prop="publisher" width="120" align="center" header-align="center" /> <ElTableColumn label="发布人" prop="publisher" width="120" align="center" header-align="center" />
<ElTableColumn label="发布结果" prop="status" width="140" align="center" header-align="center"> <ElTableColumn label="发布结果" prop="status" width="140" align="center" header-align="center">
<template slot-scope="scope"> <template slot-scope="scope">
@ -45,7 +46,7 @@
</template> </template>
</ElTableColumn> </ElTableColumn>
</Table> </Table>
</div>
<!-- 分页 --> <!-- 分页 -->
<div class="footer"> <div class="footer">
<Pagination @current-change="initData" @size-change="onSizeChange" width="'100%'" <Pagination @current-change="initData" @size-change="onSizeChange" width="'100%'"
@ -199,7 +200,7 @@ export default {
}, },
initData() { initData() {
request({ request({
url: `/business/manage/statisticsList`, url: `/business/manage/statisticsList?pageNum=${this.searchData.pageNum}&pageSize=${this.searchData.pageSize}`,
method: "post", method: "post",
data: this.searchData, data: this.searchData,
}).then((result) => { }).then((result) => {
@ -222,7 +223,7 @@ export default {
<style lang='scss' scoped> <style lang='scss' scoped>
.board_record { .board_record {
padding: 0 14px 14px; padding: 0 14px 14px;
width:100%; width: 100%;
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -240,9 +241,17 @@ export default {
} }
.body { .body {
flex:1; flex: 1;
height: 0; position: relative;
} overflow-y: auto;
overflow-x: hidden;
.content {
position: absolute;
width: 100%;
height: 100%;
overflow: auto;
}
}
.footer { .footer {
margin-top: 15px; margin-top: 15px;

Loading…
Cancel
Save