Browse Source

Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-hs into develop

wangqin
刘朋 1 year ago
parent
commit
2a8b37967d
  1. 3
      ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/Proxy.vue
  2. 3
      ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue
  3. 2
      ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardPreview.vue
  4. 47
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
  5. 38
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/data.js
  6. 61
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/index.vue
  7. 35
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/data.js
  8. 5
      ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/assets/charts.js
  9. 26
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/changesIndicators/assets/charts3.js
  10. 35
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/composeFeatures/assets/charts.js
  11. 35
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/crowding/assets/charts.js
  12. 48
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/saturationMax/assets/charts.js
  13. 14
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts.js
  14. 42
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts2.js
  15. 26
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts3.js
  16. 327
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/index.vue
  17. 6
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorQuery/index.vue
  18. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue
  19. 4
      ruoyi-ui/src/views/websocket.vue
  20. 4
      ruoyi-ui/vue.config.js

3
ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/Proxy.vue

@ -31,7 +31,8 @@ export default {
for (const key in callbacks) {
result[key] = (...args) => callbacks[key](...args, {
data: this.getFormData(),
formList: this.parent.formList
formList: this.parent.formList,
self: this
})
}

3
ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardInfoEditor.vue

@ -329,7 +329,6 @@ export default {
},
methods: {
initData() {
console.log("调用initData+++++++");
if(this.isLocked){
return
}
@ -356,7 +355,7 @@ export default {
}
}
else {
tempTpl = _.merge(this.deviceCttDefault, this.tpl.origin); //
tempTpl = _.merge({}, this.deviceCttDefault, this.tpl.origin); //
}
this.dataForm = infoBoardUtils.dialogSourceFormat(tempTpl, this.type, this.mode);
} else {

2
ruoyi-ui/src/views/JiHeExpressway/components/infoBoard/BoardPreview.vue

@ -27,7 +27,7 @@ export default {
},
tpl: {
type: Object,
default: {}
default: ()=>{}
},
},
watch:{

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

@ -1,4 +1,5 @@
import { options } from "runjs";
import request from '@/utils/request'
import { Message } from "element-ui";
export const source = {
label: "来源:",
@ -713,6 +714,42 @@ export const locationMode = {
{ key: "4", label: "收费站" },
],
},
ons: {
change(value, ...args) {
const { formList } = args.slice(-1)[0];
let facilityType = 1;
if (value == 2) {
facilityType = 6;
} else if (value == 3) {
facilityType = 3;
} else if (value == 4) {
facilityType = 1;
}
if(value && value != 1){
//路网设施 1 收费站 2 桥梁 3 互通立交 4 枢纽立交 5 隧道 6 服务区
request({
url: `/business/facility/query?facilityType=${facilityType}`,
method: "get"
}).then((result) => {
if (result.code != 200) return Message.error(result?.msg);
let lwss = [];
result.data.forEach(it => lwss.push({ key: it.id, label: it.facilityName}))
formList.forEach((it) => {
if(it.key == "dcEventAccident.facilityId" || it.key == "dcEventVehicleAccident.facilityId"){
it.options.options = lwss;
}
});
}).catch((err) => {
console.log('err',err)
Message.error("查询失败", err);
})
}
},
},
};
export const route = {
@ -1130,7 +1167,7 @@ export const congestionCause = {
label: "备注项添加",
},
],
2 : [
2: [
{
key: "1",
label: "主线车流量大",
@ -1139,9 +1176,9 @@ export const congestionCause = {
key: "2",
label: "收费站出口车流量大导致主线压车",
},
]
}
config.options.options = (value != 1 ? ad[1] : ad[2]);
],
};
config.options.options = value != 1 ? ad[1] : ad[2];
},
},
};

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

@ -67,7 +67,43 @@ export const tabConfigList = [
return true;
}
return false;
}
},
ons: {
change(value, ...args) {
const { formList } = args.slice(-1)[0];
let facilityType = 1;
if (value == 2) {
facilityType = 6;
} else if (value == 3) {
facilityType = 3;
} else if (value == 4) {
facilityType = 1;
}
if(value && value != 1){
//路网设施 1 收费站 2 桥梁 3 互通立交 4 枢纽立交 5 隧道 6 服务区
// request({
// url: `/business/facility/query?facilityType=${facilityType}`,
// method: "get"
// }).then((result) => {
// if (result.code != 200) return Message.error(result?.msg);
// let lwss = [];
// result.data.forEach(it => lwss.push({ key: it.id, label: it.facilityName}))
// formList.forEach((it) => {
// if(it.key == "dcEventAccident.facilityId" || it.key == "dcEventVehicleAccident.facilityId"){
// it.options.options = lwss;
// }
// });
// }).catch((err) => {
// console.log('err',err)
// Message.error("查询失败", err);
// })
}
},
},
},
{
label: "匝道:",

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

@ -49,7 +49,8 @@ export default {
tabConfigList,
index: 1,
roads: [],
direction: []
direction: [],
lwss: []
}
},
created() {
@ -77,6 +78,7 @@ export default {
methods: {
initData() {
return Promise.all([
//
request({
url: `/business/road/query`,
method: "get",
@ -85,10 +87,10 @@ export default {
result.data.forEach(it => {
this.roads.push({ key: it.id, label: it.roadName })
})
})
.catch((err) => {
Message.error("查询失败", err);
}),
}).catch((err) => {
Message.error("查询失败", err);
}),
//
request({
url: `/system/dict/data/type/iot_event_direction`,
method: "get",
@ -97,10 +99,20 @@ export default {
result.data.forEach(it => {
this.direction.push({ key: it.dictValue, label: it.dictLabel })
})
}).catch((err) => {
Message.error("查询失败", 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);
result.data.forEach(it => this.lwss.push({ key: it.id, label: it.facilityName, type: facilityType }))
}).catch((err) => {
Message.error("查询失败", err);
})
.catch((err) => {
Message.error("查询失败", err);
})
])
},
handleChange({ index }) {
@ -108,30 +120,6 @@ export default {
this.index = index;
let formConfig = tabConfigList[index].formConfig;
if (index == 0 || index == 1 || 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.key === 'dcEventAccident.facilityId') {
it.options.options = fwq;
}
})
}
formConfig.list.forEach(it => {
if (it.key == 'direction') {
it.options.options = this.direction;
@ -139,6 +127,15 @@ export default {
if (it.key == 'roadId') {
it.options.options = this.roads;
}
if (index == 7 || it.key === 'dcEventServiceArea.facilityId') {
it.options.options = this.lwss.filter(ss => ss.type == 6);
}
// if (index == 0 || index == 1 || index == 7) {
// if (it.key === 'dcEventAccident.facilityId' || it.key === 'dcEventVehicleAccident.facilityId' || it.key === 'dcEventServiceArea.facilityId') {
// it.options.options = this.lwss.filter(ss => ss.type == 6);
// }
// }
})
this.formConfig = formConfig;

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

@ -1,6 +1,35 @@
import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js";
import { merge, cloneDeep } from "lodash";
const station = {
label: "桩号:",
key: "stakeMark",
required: true,
type: "MultipleLabelItem",
options: {
options: [
{
prefix: {
text: "K",
style: {
color: "#3DE8FF",
},
},
key: "stakeMark[0]",
},
{
prefix: {
text: "+",
style: {
color: "#3DE8FF",
},
},
key: "stakeMark[1]",
},
],
},
};
export const tabMap = {
"-1": {
state: 5,
@ -86,7 +115,7 @@ export const gjSearchFormList = [
},
},
{
...PresetFormItems.station,
...station,
label: "桩号:",
required: false,
},
@ -142,11 +171,11 @@ export const gzSearchFormList = [
},
},
{
...PresetFormItems.station,
...station,
label: "开始桩号:",
required: false,
},
merge(cloneDeep(PresetFormItems.station), {
merge(cloneDeep(station), {
options: {
options: [
{

5
ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/assets/charts.js

@ -4,6 +4,7 @@ var data1 = [5, 12, 4, 6, 7, 9, 10, 15, 3, 5, 6, 15];
var data2 = [5, 12, 4, 6, 7, 9, 10, 15, 3, 5, 6, 15];
var options = {
tooltip: {
show:true
// trigger: "axis",
// backgroundColor: 'rgba(17,95,182,0.5)',
// textStyle: {
@ -238,6 +239,8 @@ var options = {
},
symbolPosition: "end",
data: data1,
tooltip: {
show:false}
},
{
name: "增涨率",
@ -269,6 +272,8 @@ var options = {
opacity: 0.7,
},
data: [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18],
tooltip: {
show:false}
},
],
};

26
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/changesIndicators/assets/charts3.js

@ -19,19 +19,8 @@ let data2 = [120, 340, 750, 600, 400, 700, 900, 200, 540, 320, 370, 500];
let data3 = [200, 530, 920, 400, 600, 700, 300, 800, 900, 120, 570, 800];
let options = {
tooltip: {
show: false,
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
textStyle: {
color: "#fff",
fontSize: 14,
},
// backgroundColor: "rgba(3, 31, 71, .0)", //设置背景颜色
// borderColor: "rgba(3, 31, 71, .0)",
formatter: "健康监测<br>{b1}:{c1}人",
show: true,
trigger: "item",
},
grid: {
left: 0,
@ -183,7 +172,7 @@ let options = {
data: data2,
},
{
name: "",
name: null,
type: "scatter",
emphasis: {
scale: false,
@ -204,6 +193,9 @@ let options = {
left: "-100%",
data: data2,
animationDelay: 100,
tooltip: {
show: false,
},
},
// 下半截柱状图linear-gradient(180deg, #61D8FF 0%, #003B4E 100%); linear-gradient(180deg, #06D7B1 0%, #003B4E 100%)
{
@ -288,6 +280,9 @@ let options = {
left: 10,
data: data1,
animationDelay: 500,
tooltip: {
show: false,
},
},
{
name: "拥挤度",
@ -369,6 +364,9 @@ let options = {
left: "-100%",
data: data2,
animationDelay: 100,
tooltip: {
show: false,
},
},
],
};

35
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/composeFeatures/assets/charts.js

@ -3,35 +3,20 @@ var options = {
color: ["#07A3FB"],
grid: {
left: "0%",
right: "0%",
right: "8%",
bottom: "0%",
top: "10%",
containLabel: true,
},
legend: {
show: false,
icon: "rect",
top: "0%",
right: "5%",
data: ["实时数据"],
itemWidth: 18,
itemHeight: 5,
itemGap: 30,
itemStyle: {
color: "#FFD15C",
},
textStyle: {
fontSize: 10,
color: "#fff",
padding: [0, 0, 0, 10],
},
tooltip: {
show: true,
trigger: "axis",
},
xAxis: {
type: "category",
axisLine: {
lineStyle: {
color: "#07A3FB",
fontSize: 10,
},
},
axisLabel: {
@ -59,9 +44,6 @@ var options = {
},
yAxis: {
type: "value",
min: 0,
max: 800,
minInterval: 100,
nameTextStyle: {
fontSize: 10,
color: "#fff",
@ -73,13 +55,6 @@ var options = {
// type: 'dashed', // dotted 虚线
},
},
splitArea: { show: false },
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
fontSize: 10,
fontFamily: "Bebas",
@ -93,7 +68,7 @@ var options = {
showSymbol: false,
smooth: true, // 是否曲线
name: "实时数据", // 图例对应类别
data: [112, 122, 723, 623, 530, 612, 626, 728, 531, 423, 625, 423, 423], // 纵坐标数据
data: [112, 122, 323, 223, 230, 112, 326, 228, 331, 423, 225, 123], // 纵坐标数据
lineStyle: {
color: "#07A3FB",
},

35
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/crowding/assets/charts.js

@ -8,30 +8,15 @@ var options = {
top: "10%",
containLabel: true,
},
legend: {
show: false,
icon: "rect",
top: "0%",
right: "5%",
data: ["实时数据"],
itemWidth: 18,
itemHeight: 5,
itemGap: 30,
itemStyle: {
color: "#FFD15C",
},
textStyle: {
fontSize: 10,
color: "#fff",
padding: [0, 0, 0, 10],
},
tooltip: {
show: true,
trigger: "axis",
},
xAxis: {
type: "category",
axisLine: {
lineStyle: {
color: "#fff",
fontSize: 10,
color: "#E29E37",
},
},
axisLabel: {
@ -59,9 +44,6 @@ var options = {
},
yAxis: {
type: "value",
min: 0,
max: 800,
minInterval: 100,
nameTextStyle: {
fontSize: 10,
color: "#fff",
@ -73,13 +55,6 @@ var options = {
// type: 'dashed', // dotted 虚线
},
},
splitArea: { show: false },
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
fontSize: 10,
fontFamily: "Bebas",
@ -93,7 +68,7 @@ var options = {
showSymbol: false,
smooth: true, // 是否曲线
name: "实时数据", // 图例对应类别
data: [112, 122, 723, 623, 530, 612, 626, 728, 531, 423, 625, 423, 423], // 纵坐标数据
data: [112, 122, 323, 223, 230, 112, 326, 228, 331, 423, 225, 123], // 纵坐标数据
lineStyle: {
color: "#E29E37",
},

48
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/saturationMax/assets/charts.js

@ -1,6 +1,10 @@
import * as echarts from "echarts";
var options = {
color: ["#32BB8A", "#01B3E4"],
tooltip: {
show: true,
trigger: "axis",
},
grid: {
left: "0%",
right: "0%",
@ -8,30 +12,12 @@ var options = {
top: "10%",
containLabel: true,
},
legend: {
show: false,
icon: "rect",
top: "0%",
right: "5%",
data: ["实时数据"],
itemWidth: 18,
itemHeight: 5,
itemGap: 30,
itemStyle: {
color: "#FFD15C",
},
textStyle: {
fontSize: 10,
color: "#fff",
padding: [0, 0, 0, 10],
},
},
xAxis: {
type: "category",
axisLine: {
lineStyle: {
color: "#fff",
fontSize: 10,
color: "#32BB8A",
},
},
axisLabel: {
@ -59,27 +45,12 @@ var options = {
},
yAxis: {
type: "value",
min: 0,
max: 800,
minInterval: 100,
nameTextStyle: {
fontSize: 10,
color: "#fff",
align: "center",
},
splitLine: {
lineStyle: {
color: "#32BB8A",
// type: 'dashed', // dotted 虚线
},
},
splitArea: { show: false },
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
fontSize: 10,
fontFamily: "Bebas",
@ -92,8 +63,8 @@ var options = {
// symbol: "none",
showSymbol: false,
smooth: true, // 是否曲线
name: "实时数据", // 图例对应类别
data: [112, 122, 723, 623, 530, 612, 626, 728, 531, 423, 625, 423, 423], // 纵坐标数据
name: "", // 图例对应类别
data: [112, 122, 323, 223, 230, 112, 326, 228, 331, 423, 225, 123], // 纵坐标数据
lineStyle: {
color: "#32BB8A",
},
@ -128,6 +99,9 @@ var options = {
],
},
},
tooltip: {
show: true,
},
},
],
};

14
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts.js

@ -59,6 +59,10 @@ nameList.map((item, index) => {
});
var options = {
tooltip: {
show: true,
trigger: "axis",
},
legend: {
// orient: 'vertical',
icon: "circle",
@ -78,7 +82,6 @@ var options = {
containLabel: true,
},
xAxis: {
type: "category",
data: nameList,
axisTick: {
show: false, //隐藏X轴刻度
@ -99,9 +102,6 @@ var options = {
{
type: "value",
name: "",
max: 1200,
min: 0,
splitNumber: 5,
nameTextStyle: {
color: "#fff",
fontSize: 10,
@ -117,12 +117,6 @@ var options = {
// return yList[index]
// }
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
splitLine: {
lineStyle: {
color: "rgba(49, 217, 255, 0.5)",

42
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts2.js

@ -16,7 +16,7 @@ let list = [
},
{
name: "拥挤度",
max: 88,
max: 108,
},
{
name: "饱和度",
@ -28,26 +28,26 @@ let data2 = [[60, 60, 65, 60, 70, 40, 80, 63]];
let options = {
tooltip: {
show: true,
trigger: "item",
formatter: (data) => {
// console.log(data.seriesIndex);
var tip = '<span class="echarts-tip-h5">' + data.seriesName + "</span>";
let tmpData = [];
if (data.seriesIndex === 0) {
tmpData = data1;
} else if (data.seriesIndex === 1) {
tmpData = data2;
}
console.log(tmpData);
data.value.forEach((item, index) => {
// console.log(list[index].name)
tip += "<div>";
tip +=
"<div>" + list[index].name + ": " + tmpData[0][index] + "万</div>";
tip += "</div>";
});
return tip;
},
trigger: "radar",
// formatter: (data) => {
// // console.log(data.seriesIndex);
// var tip = '<span class="echarts-tip-h5">' + data.seriesName + "</span>";
// let tmpData = [];
// if (data.seriesIndex === 0) {
// tmpData = data1;
// } else if (data.seriesIndex === 1) {
// tmpData = data2;
// }
// console.log(tmpData);
// data.value.forEach((item, index) => {
// // console.log(list[index].name)
// tip += "<div>";
// tip +=
// "<div>" + list[index].name + ": " + tmpData[0][index] + "万</div>";
// tip += "</div>";
// });
// return tip;
// },
},
grid: {
top: "5%", //上边距

26
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts3.js

@ -17,19 +17,19 @@ let xData = [
let data1 = [200, 530, 920, 400, 600, 700, 300, 800, 900, 120, 570, 800];
let options = {
tooltip: {
show: false,
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
textStyle: {
color: "#fff",
fontSize: 14,
},
backgroundColor: "rgba(3, 31, 71, .0)", //设置背景颜色
borderColor: "rgba(3, 31, 71, .1)",
formatter: "健康监测<br>{b1}:{c1}人",
show: true,
// trigger: "axis",
// axisPointer: {
// // 坐标轴指示器,坐标轴触发有效
// type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
// },
// textStyle: {
// color: "#fff",
// fontSize: 14,
// },
// backgroundColor: "rgba(3, 31, 71, .0)", //设置背景颜色
// borderColor: "rgba(3, 31, 71, .1)",
// formatter: "健康监测<br>{b1}:{c1}人",
},
grid: {
left: "2%",

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

@ -1,5 +1,5 @@
<template>
<div class='congestion'>
<div class="congestion">
<WgtTitle :title="'交通指标分析'"></WgtTitle>
<div class="board">
<!-- <div class="searchPanel">
@ -33,32 +33,88 @@
<el-button type="primary" size="mini" class="btnSearch" icon="el-icon-search">查询</el-button>
<el-button class="btnReset" size="mini" icon="el-icon-refresh-left" >重置</el-button>
</div> -->
<ProgressBar :dataList="dataList" class="keep-ratio progressbar" :selectIndex="7" />
<ProgressBar
:dataList="dataList"
class="keep-ratio progressbar"
:selectIndex="7"
/>
<div class="body">
<div class="body-l">
<div class="searchPanel_1">
<!-- <el-from ref="form"> -->
<RadioGroup :options="[{ key: '1', label: '菏泽' }, { key: '3', label: '济南' }]" v-model="direction"
type="button" />
<el-select v-model="type" size="mini" class="selectRoad" placeholder="请选择">
<el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value">
<RadioGroup
:options="[
{ key: '1', label: '菏泽' },
{ key: '3', label: '济南' },
]"
v-model="direction"
type="button"
/>
<el-select
v-model="type"
size="mini"
class="selectRoad"
placeholder="请选择"
>
<el-option
v-for="item in typeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select v-model="quarter" size="medium" v-if="type == '3'" class="selectRoad-medium" placeholder="请选择">
<el-option v-for="item in quarterOptions" :key="item.value" :label="item.label" :value="item.value">
<el-select
v-model="quarter"
size="medium"
v-if="type == '3'"
class="selectRoad-medium"
placeholder="请选择"
>
<el-option
v-for="item in quarterOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<!-- <el-quarter-picker size="mini" class="selectRoad" style="width:180px;" v-if="type == '3'" v-model="dateTime"
aria-placeholder="请选季度" /> -->
<el-date-picker size="mini" v-if="type != '3'" class="selectRoad" v-model="dateTime" style="width:140px;"
:type="type == 1 ? 'date' : type == 2 ? 'month' : type == 4 ? 'year' : ''" placeholder="请选择" />
<el-button type="primary" size="mini" class="btnSearch" @click="searchQuery"
icon="el-icon-search">查询</el-button>
<el-button class="btnReset" size="mini" icon="el-icon-refresh-left" @click="handleClear">重置</el-button>
<el-date-picker
size="mini"
v-if="type != '3'"
class="selectRoad"
v-model="dateTime"
style="width: 140px"
:type="
type == 1
? 'date'
: type == 2
? 'month'
: type == 4
? 'year'
: ''
"
placeholder="请选择"
/>
<el-button
type="primary"
size="mini"
class="btnSearch"
@click="searchQuery"
icon="el-icon-search"
>查询</el-button
>
<el-button
class="btnReset"
size="mini"
icon="el-icon-refresh-left"
@click="handleClear"
>重置</el-button
>
<!-- </el-from> -->
</div>
<!-- <div class="searchPanel_1">
<el-select v-model="area" size="mini" class="selectRoad" placeholder="请选择">
@ -85,50 +141,60 @@
<div id="chart2" class="keep-ratio"></div>
</div>
<div class="itemChart">
<div class="title">月指标</div>
<div class="title">月指标</div>
<div id="chart3" class="keep-ratio"></div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import RadioGroup from '@screen/components/FormConfig/components/RadioGroup/index.vue';
import WgtTitle from '../../../../../widgets/title'
import ProgressBar from './progressBar.vue';
import RadioGroup from "@screen/components/FormConfig/components/RadioGroup/index.vue";
import WgtTitle from "../../../../../widgets/title";
import ProgressBar from "./progressBar.vue";
import * as echarts from "echarts";
import chart1 from "./assets/charts";
import chart2 from "./assets/charts2";
import chart3 from "./assets/charts3";
import ElQuarterPicker from './ElQuarterPicker'
import ElQuarterPicker from "./ElQuarterPicker";
const drawRoundRect = (ctx, x, y, width, height, radius, gr) => {
// ctx, x, y, , ,
ctx.beginPath();
ctx.fillStyle = gr;
ctx.arc(x + radius, y + radius, radius, Math.PI, Math.PI * 3 / 2);
ctx.arc(x + radius, y + radius, radius, Math.PI, (Math.PI * 3) / 2);
ctx.lineTo(width - radius + x, y);
ctx.arc(width - radius + x, radius + y, radius, Math.PI * 3 / 2, Math.PI * 2);
ctx.arc(
width - radius + x,
radius + y,
radius,
(Math.PI * 3) / 2,
Math.PI * 2
);
ctx.lineTo(width + x, height + y - radius);
ctx.arc(width - radius + x, height - radius + y, radius, 0, Math.PI * 1 / 2);
ctx.arc(
width - radius + x,
height - radius + y,
radius,
0,
(Math.PI * 1) / 2
);
ctx.lineTo(radius + x, height + y);
ctx.arc(radius + x, height - radius + y, radius, Math.PI * 1 / 2, Math.PI);
ctx.arc(radius + x, height - radius + y, radius, (Math.PI * 1) / 2, Math.PI);
ctx.closePath();
//ctx.stroke();
ctx.fill()
}
ctx.fill();
};
export default {
name: 'EventQuery',
name: "EventQuery",
components: {
RadioGroup,
WgtTitle,
ProgressBar,
ElQuarterPicker
ElQuarterPicker,
},
data() {
return {
@ -136,182 +202,210 @@ export default {
type: "1",
typeOptions: [
{
label: '年',
value: '4'
label: "年",
value: "4",
},
{
label: '月',
value: '2'
label: "月",
value: "2",
},
{
label: '日',
value: '1'
label: "日",
value: "1",
},
{
label: '季',
value: '3'
}
label: "季",
value: "3",
},
],
quarter: '1',
quarter: "1",
quarterOptions: [
{
label: "第一季度",
value: "1"
value: "1",
},
{
label: "第二季度",
value: "2"
value: "2",
},
{
label: "第三季度",
value: "3"
value: "3",
},
{
label: "第四季度",
value: "4"
}
value: "4",
},
],
dateTime: "2024-01-01 00:00:00",
dataList: [
{
title: "殷家林枢纽"
title: "殷家林枢纽",
},
{
title: "大学城立交"
title: "大学城立交",
},
{
title: "长清立交"
title: "长清立交",
},
{
title: "松竹枢纽"
title: "松竹枢纽",
},
{
title: "孝里立交"
title: "孝里立交",
},
{
title: "平阴立交"
title: "平阴立交",
},
{
title: "孔村枢纽"
title: "孔村枢纽",
},
{
title: "平阴南立交"
title: "平阴南立交",
},
{
title: "魏雪枢纽"
title: "魏雪枢纽",
},
{
title: "东平立交"
title: "东平立交",
},
{
title: "东平湖枢纽"
title: "东平湖枢纽",
},
{
title: "韩岗立交"
title: "韩岗立交",
},
{
title: "梁山立交"
title: "梁山立交",
},
{
title: "鄄郓枢纽"
title: "鄄郓枢纽",
},
{
title: "嘉祥西立交"
title: "嘉祥西立交",
},
{
title: "王官屯枢纽"
}
title: "王官屯枢纽",
},
],
quarter: "",
year: "",
list: [
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' },
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' },
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' },
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' },
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' },
{ name: '大学城-长清', direction: '济南方向', state: "正常", speed: '108.14km/h', follow: '161' }
]
}
},
created() {
{
name: "大学城-长清",
direction: "济南方向",
state: "正常",
speed: "108.14km/h",
follow: "161",
},
{
name: "大学城-长清",
direction: "济南方向",
state: "正常",
speed: "108.14km/h",
follow: "161",
},
{
name: "大学城-长清",
direction: "济南方向",
state: "正常",
speed: "108.14km/h",
follow: "161",
},
{
name: "大学城-长清",
direction: "济南方向",
state: "正常",
speed: "108.14km/h",
follow: "161",
},
{
name: "大学城-长清",
direction: "济南方向",
state: "正常",
speed: "108.14km/h",
follow: "161",
},
{
name: "大学城-长清",
direction: "济南方向",
state: "正常",
speed: "108.14km/h",
follow: "161",
},
],
};
},
methods: {
},
created() {},
methods: {},
mounted() {
setTimeout(() => {
this.$nextTick(() => {
var myChart1 = echarts.init(document.getElementById('chart1'));
var myChart1 = echarts.init(document.getElementById("chart1"));
myChart1.setOption(chart1);
var myChart2 = echarts.init(document.getElementById('chart2'));
var myChart2 = echarts.init(document.getElementById("chart2"));
myChart2.setOption(chart2);
var myChart3 = echarts.init(document.getElementById('chart3'));
var myChart3 = echarts.init(document.getElementById("chart3"));
myChart3.setOption(chart2);
const domMap = document.getElementById("chart2");
let parentDiv = domMap.firstChild;
// canvas
let canvas = document.createElement('canvas');
let canvas = document.createElement("canvas");
canvas.width = parentDiv.offsetWidth;
canvas.height = parentDiv.offsetHeight;
parentDiv.appendChild(canvas);
const context = canvas.getContext('2d');
const context = canvas.getContext("2d");
//
var gr = context.createLinearGradient(247, 63, 450, 0);
//
gr.addColorStop(1, 'rgba(92,197,255,0)');
gr.addColorStop(0, 'rgba(92,197,255,0.5)');
gr.addColorStop(1, "rgba(92,197,255,0)");
gr.addColorStop(0, "rgba(92,197,255,0.5)");
context.lineWidth = 1; // 线
//
drawRoundRect(context, 300, 78, 160, 24, 12, gr)
drawRoundRect(context, 300, 78, 160, 24, 12, gr);
var gr = context.createLinearGradient(240, 63, 450, 0);
//
gr.addColorStop(1, 'rgba(92,197,255,0)');
gr.addColorStop(0, 'rgba(92,197,255,0.5)');
drawRoundRect(context, 300, 148, 160, 24, 12, gr)
gr.addColorStop(1, "rgba(92,197,255,0)");
gr.addColorStop(0, "rgba(92,197,255,0.5)");
drawRoundRect(context, 300, 148, 160, 24, 12, gr);
var gr = context.createLinearGradient(240, 63, 450, 0);
//
gr.addColorStop(1, 'rgba(92,197,255,0)');
gr.addColorStop(0, 'rgba(92,197,255,0.5)');
drawRoundRect(context, 300, 218, 160, 24, 12, gr)
gr.addColorStop(1, "rgba(92,197,255,0)");
gr.addColorStop(0, "rgba(92,197,255,0.5)");
drawRoundRect(context, 300, 218, 160, 24, 12, gr);
var gr = context.createLinearGradient(400, 63, 450, 0);
//
gr.addColorStop(1, 'rgba(92,197,255,0)');
gr.addColorStop(0, 'rgba(92,197,255,0.5)');
gr.addColorStop(1, "rgba(92,197,255,0)");
gr.addColorStop(0, "rgba(92,197,255,0.5)");
drawRoundRect(context, 460, 78, 160, 24, 12, gr)
drawRoundRect(context, 460, 78, 160, 24, 12, gr);
var gr = context.createLinearGradient(350, 63, 450, 0);
//
gr.addColorStop(1, 'rgba(92,197,255,0)');
gr.addColorStop(0, 'rgba(92,197,255,0.5)');
drawRoundRect(context, 460, 148, 160, 24, 12, gr)
gr.addColorStop(1, "rgba(92,197,255,0)");
gr.addColorStop(0, "rgba(92,197,255,0.5)");
drawRoundRect(context, 460, 148, 160, 24, 12, gr);
var gr = context.createLinearGradient(300, 63, 450, 0);
//
gr.addColorStop(1, 'rgba(92,197,255,0)');
gr.addColorStop(0, 'rgba(92,197,255,0.5)');
drawRoundRect(context, 460, 218, 160, 24, 12, gr)
gr.addColorStop(1, "rgba(92,197,255,0)");
gr.addColorStop(0, "rgba(92,197,255,0.5)");
drawRoundRect(context, 460, 218, 160, 24, 12, gr);
});
});
},
}
};
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.progressbar {
margin: 15px;
}
.congestion {
@ -325,9 +419,7 @@ export default {
width: 100%;
font-size: 14px;
>div {
> div {
display: inline-flex;
flex-direction: column;
height: 100%;
@ -343,7 +435,7 @@ export default {
.chartOrg {
flex-direction: row !important;
>div {
> div {
display: inline-flex;
flex-direction: column;
width: 50%;
@ -351,15 +443,14 @@ export default {
}
.itemChart {
>.title {
> .title {
display: inline-flex;
width: 100%;
height: 30px;
font-size: 14px;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #30BFEC;
color: #30bfec;
}
#chart2 {
@ -413,7 +504,6 @@ export default {
margin-bottom: 10px;
z-index: 1000;
div {
white-space: nowrap;
margin-right: 4px;
@ -437,7 +527,7 @@ export default {
.selectRoad {
width: 89px;
border: 1px solid #00B3CC;
border: 1px solid #00b3cc;
::v-deep {
.el-input__inner {
@ -448,19 +538,17 @@ export default {
}
.btnSearch {
background: linear-gradient(180deg, #005C79 0%, #009BCC 100%);
background: linear-gradient(180deg, #005c79 0%, #009bcc 100%);
margin-left: 10px;
border-color: transparent;
}
.btnReset {
background: linear-gradient(180deg, #005C79 0%, #009BCC 100%);
;
background: linear-gradient(180deg, #005c79 0%, #009bcc 100%);
border-color: transparent;
color: white;
}
}
}
}
@ -469,4 +557,3 @@ export default {
width: 100%;
}
</style>

6
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorQuery/index.vue

@ -14,14 +14,14 @@
<el-table :border="false" :data="tableData" style="width: 100%">
<el-table-column prop="nem" label="" width="30">
</el-table-column>
<el-table-column prop="address" label="桩号范围">
<el-table-column prop="address" label="路段名称">
</el-table-column>
<el-table-column prop="name" label="能见度" class-name="showClass">
<el-table-column prop="name" label="指标名称" class-name="showClass">
<template slot-scope="scope">
<span class="showClass">{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column prop="date" label="发生时间">
<el-table-column prop="date" label="统计时间">
</el-table-column>
</el-table>
</div>

4
ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue

@ -498,10 +498,10 @@ export default {
if (para.mode == "edit") {
this.selectedBdMsg[this.boardItemEdtingIndex] = para.data;
} else {
this.selectedBdMsg.push(para.data);
this.selectedBdMsg.push(_.cloneDeep(para.data));
}
}else if(para.mode == "toDevice"){
this.selectedBdMsg.push(para.data);
this.selectedBdMsg.push(_.cloneDeep(para.data));
}else{
this.____refreshPageData(para);
}

4
ruoyi-ui/src/views/websocket.vue

@ -30,8 +30,8 @@ export default {
// console.log(location.hostname )
// websocket
this.socket.initialize({
// url: 'ws://' + location.hostname + ':' + port + path,
url: "ws://10.7.179.15" + ":" + port + path,
url: 'ws://' + location.hostname + ':' + port + path,
// url: "ws://10.7.179.15" + ":" + port + path,
// url: "ws://10.168.64.171" + ":" + port + path,
// url: 'ws://10.168.78.127'+ ':' + port + path,

4
ruoyi-ui/vue.config.js

@ -50,8 +50,8 @@ module.exports = {
// target: `http://10.0.81.204:8087`, //现场后台 刘文阁
// target: `http://10.168.69.255:8087`, //正晨后台 连现场物联 刘文阁
// target: `http://10.168.78.135:8087`, //王钦
// target: `http://10.168.66.196:8087`, //正晨后台 连现场物联 刘文阁2
target: `http://10.168.68.42:8087`, //王思祥
target: `http://10.168.66.196:8087`, //正晨后台 连现场物联 刘文阁2
// target: `http://10.168.68.42:8087`, //王思祥
changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: "",

Loading…
Cancel
Save