Browse Source

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

wangqin
hui 10 months ago
parent
commit
c776283aff
  1. 16
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/index.vue
  2. 10
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/SmartDevice/components/DeviceParams.vue
  3. 18
      ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/FocusedMonitoring/index.vue
  4. 34
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/index.vue
  5. 10
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/channelAnalytics/assets/charts.js
  6. 1
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/channelAnalytics/index.vue
  7. 8
      ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/eventTypeAnalysis/assets/charts.js
  8. 205
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/dayTotal/assets/charts.js
  9. 1
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue
  10. 224
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/railwayDay/assets/charts.js

16
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/ConditionStatistics/index.vue

@ -1,23 +1,23 @@
<template>
<Bg2 class='ConditionStatistics'>
<div class="statistics-header">
<div class="title"></div>
<img class="icon-right" src="@screen/images/icon/icon_right.png" />
<div class="title keep-ratio" origin="left"></div>
<img class="icon-right keep-ratio" origin="right" src="@screen/images/icon/icon_right.png" />
</div>
<div class="content-r-t-box">
<div class="box-title"><span>预警事件</span></div>
<div class="box-title keep-ratio" origin="left"><span>预警事件</span></div>
<div class="box-content">
<div class="box-content-l">
<div class="event-item">今日<span>{{ earlyWarningEvents.day }}</span></div>
<div class="event-item">本月<span>{{ earlyWarningEvents.month }}</span></div>
<div class="event-item keep-ratio" origin="left">今日<span>{{ earlyWarningEvents.day }}</span></div>
<div class="event-item keep-ratio" origin="left">本月<span>{{ earlyWarningEvents.month }}</span></div>
</div>
<div class="box-content-c">
<div class="box-content-c keep-ratio">
<span class="num">{{ earlyWarningEvents.processing }}</span>
<span class="text">处理中</span>
</div>
<div class="box-content-r">
<div class="event-item">本周<span>{{ earlyWarningEvents.week }}</span></div>
<div class="event-item">本年<span>{{ earlyWarningEvents.year }}</span></div>
<div class="event-item keep-ratio" origin="right">本周<span>{{ earlyWarningEvents.week }}</span></div>
<div class="event-item keep-ratio" origin="right">本年<span>{{ earlyWarningEvents.year }}</span></div>
</div>
</div>
</div>

10
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/SmartDevice/components/DeviceParams.vue

@ -4,8 +4,9 @@
<Descriptions :list="devicesList" style="gap: 18px;" column="5">
<template v-for="item in devicesList.slice(0, -1)" #[`content-${getSlotKey(item.key)}`]="{ data }">
<span>{{ data.text }}</span>
<Switcher class="switcher" :disabled="disabled" :activeOption="activeOption" :value="data.state"
<Switcher v-if="!disabled" class="switcher" :activeOption="activeOption" :value="data.state"
@change="(value) => handleSwitcherChange(value, data)" />
<ElTag style="margin-left: 20px;" v-else :effect="data.state?'dark':''" :type="data.state?'':'info'">{{ data.state?'开':'关' }}</ElTag>
</template>
</Descriptions>
</div>
@ -53,8 +54,7 @@ export default {
url: `/business/device/properties/latest/${this.dialogData.iotDeviceId || '10.0.36.143-1883'}`,
method: "get",
params: {}
})
.then(result => {
}).then(result => {
if (result.code != 200) return;
const [deviceInfo] = result.data;
@ -109,8 +109,8 @@ export default {
{
label: '湿度',
key: `humidity`,
text: deviceInfo.formatValue['humidity'] || '-',
gridColumn: 1
text: deviceInfo.formatValue['humidity'] ? `${deviceInfo.formatValue['humidity']} %` : '-',
gridColumn: 2
},
{
label: '市电掉电',

18
ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/FocusedMonitoring/index.vue

@ -1,43 +1,43 @@
<template>
<Bg2 class="content-l-t">
<div class="content-l-t-title">
<div class="content-l-t-title keep-ratio" origin="left">
</div>
<img class="icon_005" src="@screen/images/icon/icon_005.png" />
<div class="content-l-t-content">
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<span>59676</span>
<div>日累计车流量</div>
</div>
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<span>4618</span>
<div>当前在途车辆</div>
</div>
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<p>
<span class="abnormal">{{ trafficIncidents[0] }}</span>
<span>/{{ trafficIncidents[1] }}</span>
</p>
<div>交通事件</div>
</div>
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<span>{{ constructionSection }}</span>
<span class="unit"></span>
<div>施工路段</div>
</div>
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<span class="fault">4</span>
<span class="unit"></span>
<div>气象预警</div>
</div>
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<span class="abnormal">5</span>
<div>异常设备</div>
</div>
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<span>{{ perceiveEvent }}</span>
<div>感知事件</div>
</div>
<div class="monitor-item">
<div class="monitor-item keep-ratio">
<span class="num">96.3</span>
<div>平均车速</div>
</div>

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

@ -128,7 +128,7 @@ export default {
this.searchData.eventState = activeName == "-1" ? null : activeName;
this.getData();
this.getData(activeName);
},
getStateCardBind(item) {
const { state, textColor, text } = tabMap[this.activeName];
@ -140,15 +140,29 @@ export default {
};
},
getData() {
request({
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;
});
if (this.activeName == '-1') {
request({
url: `/perceivedEvents/warning/perceivedEventsList`,
method: "post",
data: this.searchData,
}).then((result) => {
if (result.code != 200) return Message.error(result?.msg);
this.data = result.rows;
this.total = result.total;
});
} else {
request({
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;
});
}
// request({
// url: `/dc/system/event/count`,

10
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/channelAnalytics/assets/charts.js

@ -128,6 +128,7 @@ var options = {
},
{
name: "总数",
tooltip: false,
type: "gauge",
radius: "30%",
center: ["50%", "35%"],
@ -185,7 +186,14 @@ var options = {
value: 100,
},
],
// tooltip: false,
tooltip: {
backgroundColor: "rgba(50,50,50,0)",
formatter: " ",
borderWidth: 0,
textStyle: {
textShadowColor: "rgba(50,50,50,0)",
},
},
},
{
type: "pie",

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

@ -63,6 +63,7 @@ export default {
};
chartsStatistics.legend.data = nameData;
chartsStatistics.title[0].text = total;
// chartsStatistics.tooltip.show = false;
// chartsStatistics.series[1].data[0].value = total;
chartsStatistics.series[2].data = data;
})

8
ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/eventTypeAnalysis/assets/charts.js

@ -154,6 +154,14 @@ var options = {
width: 1,
},
},
tooltip: {
backgroundColor: "rgba(50,50,50,0)",
formatter: " ",
borderWidth: 0,
textStyle: {
textShadowColor: "rgba(50,50,50,0)",
},
},
axisTick: {
show: false,
},

205
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/dayTotal/assets/charts.js

@ -1,108 +1,107 @@
const sxnja = [
293.67, 493.44, 694.34, 894.5, 697.82, 895.09, 495.79, 497.49, 393.72, 293.52
];
const minNumber = 0;
const minArray = [];
sxnja.map((value) => {
minArray.push(parseFloat((value - minNumber).toFixed(2)))
})
console.log(minArray)
let xaxisData = [
];
293.67, 493.44, 694.34, 894.5, 697.82, 895.09, 495.79, 497.49, 393.72, 293.52,
];
const minNumber = 0;
const minArray = [];
sxnja.map((value) => {
minArray.push(parseFloat((value - minNumber).toFixed(2)));
});
console.log(minArray);
let xaxisData = [];
var options = {
title: {
var options = {
title: {
// text: '单位/%',
top: '0%',
left: '0%',
textStyle: {
fontSize: '10px',
fontWeight: 300,
color: '#B5C5D4',
opacity: 0.8
}
},
tooltip: {
valueFormatter: function (value) {
return (value + minNumber).toFixed(2);
}
},
grid: {
left: '1%',
right: '0%',
top: '16%',
bottom: '5%',
containLabel: true
},
xAxis: {
type: 'category',
data: xaxisData,
axisLine: {
show: true,
lineStyle: {
width: 1,
color: '#545454'
}
},
axisTick: {
show: false
},
axisLabel: {
color: '#B5C5D4',
fontSize: '10px',
interval: 0
}
},
yAxis: [
{
// type: 'value',
// min: function (value) {
// return value.min*0.9;
// },
type: 'value',
// max: yAxisMax,
axisLine: {
show: false,
lineStyle: {
width: 1,
color: '#545454'
}
},
splitLine: {
show: true,
lineStyle: {
color: '#B2C2D3',
opacity: 0.3,
type: 'dotted'
}
},
axisTick: {
show: false
},
axisLabel: {
color: '#B5C5D4',
fontSize: '12px',
formatter: (value) => {
return value + minNumber
}
}
}
],
series: [
{
top: "0%",
left: "0%",
textStyle: {
fontSize: "10px",
fontWeight: 300,
color: "#B5C5D4",
opacity: 0.8,
},
},
tooltip: {
valueFormatter: function (value) {
return value + minNumber;
},
},
grid: {
left: "1%",
right: "0%",
top: "16%",
bottom: "5%",
containLabel: true,
},
xAxis: {
type: "category",
data: xaxisData,
axisLine: {
show: true,
lineStyle: {
width: 1,
color: "#545454",
},
},
axisTick: {
show: false,
},
axisLabel: {
color: "#B5C5D4",
fontSize: "10px",
interval: 0,
},
},
yAxis: [
{
// type: 'value',
// min: function (value) {
// return value.min*0.9;
// },
type: "value",
// max: yAxisMax,
axisLine: {
show: false,
lineStyle: {
width: 1,
color: "#545454",
},
},
splitLine: {
show: true,
lineStyle: {
color: "#B2C2D3",
opacity: 0.3,
type: "dotted",
},
},
axisTick: {
show: false,
},
axisLabel: {
color: "#B5C5D4",
fontSize: "12px",
formatter: (value) => {
return value + minNumber;
},
},
},
],
series: [
{
// name: '审限内结案率',
data: minArray,
type: 'pictorialBar',
symbol: 'roundRect',
symbolRepeat: true,
symbolSize: [13, 4],
// symbolOffset: symbolOffset,
// barWidth:'40%',
itemStyle: {
color: '#20E7FF'
}
}
]
};
data: minArray,
type: "pictorialBar",
symbol: "roundRect",
symbolRepeat: true,
symbolSize: [13, 4],
// symbolOffset: symbolOffset,
// barWidth:'40%',
itemStyle: {
color: "#20E7FF",
},
},
],
};
export default options;
export default options;

1
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue

@ -171,6 +171,7 @@ export default {
methods: {
selectProgress(item, index) {
this.selectId = index;
this.searchQuery()
},
onReset() {
this.area = '1';

224
ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/railwayDay/assets/charts.js

@ -1,133 +1,155 @@
/* 数据 */
let nameList = ["大学城", "长清", "孝里", "安城", "平阴北", "平阴南", "东平", "梁山东", "嘉祥西"]; // 类别
let nameList = [
"大学城",
"长清",
"孝里",
"安城",
"平阴北",
"平阴南",
"东平",
"梁山东",
"嘉祥西",
]; // 类别
let valueList = [800, 520, 650, 950, 420, 600, 450, 720, 303]; // 人数
// var yList = [ "1000","800","轻度拥堵","基本畅通","畅通"]
/* 数据整合 */
const minNumber = 0;
let dataList = [];
nameList.map((item, index) => {
if (index === 3) {
dataList.push({
name: item,
value: valueList[index],
itemStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: '#0469FF' // 0% 处的颜色
}, {
offset: 1, color: '#699CFF' // 100% 处的颜色
}],
global: false // 缺省为 false
if (index === 3) {
dataList.push({
name: item,
value: valueList[index],
itemStyle: {
color: {
type: "linear",
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "#0469FF", // 0% 处的颜色
},
{
offset: 1,
color: "#699CFF", // 100% 处的颜色
},
borderRadius: 6
},
label: { show: false }
})
} else {
dataList.push({
name: item,
value: valueList[index],
itemStyle: {
borderRadius: 6
}
})
}
})
],
global: false, // 缺省为 false
},
borderRadius: 6,
},
label: { show: false },
});
} else {
dataList.push({
name: item,
value: valueList[index],
itemStyle: {
borderRadius: 6,
},
});
}
});
var options = {
grid: {
top: '5%',//上边距
right: '0',//右边距
left: '0',//左边距
bottom: "0%",//下边距
containLabel: true,
},
tooltip: {
valueFormatter: function (value) {
return (value + minNumber).toFixed(2);
}
grid: {
top: "5%", //上边距
right: "0", //右边距
left: "0", //左边距
bottom: "0%", //下边距
containLabel: true,
},
tooltip: {
valueFormatter: function (value) {
return value + minNumber;
},
xAxis: {
type: 'category',
data: nameList,
axisTick: {
show: false //隐藏X轴刻度
},
axisLine: {
lineStyle: {
color: "rgba(49, 217, 255, 0.8)"
}
},
axisLabel: {
show: true,
color: '#B6E6FF',
fontSize: 8,
fontFamily: 'Source Han Sans CN-Regular',
},
xAxis: {
type: "category",
data: nameList,
axisTick: {
show: false, //隐藏X轴刻度
},
axisLine: {
lineStyle: {
color: "rgba(49, 217, 255, 0.8)",
},
},
yAxis: [{
type: 'value',
},
axisLabel: {
show: true,
color: "#B6E6FF",
fontSize: 8,
fontFamily: "Source Han Sans CN-Regular",
},
},
yAxis: [
{
type: "value",
name: "",
nameTextStyle: {
color: '#B6E6FF',
fontSize: 13,
fontFamily: 'Source Han Sans CN-Regular',
align: "left",
verticalAlign: "center",
color: "#B6E6FF",
fontSize: 13,
fontFamily: "Source Han Sans CN-Regular",
align: "left",
verticalAlign: "center",
},
axisLabel: {
fontSize: 13,
color: '#B6E6FF',
fontFamily: 'HarmonyOS Sans-Regular',
// formatter:function(value,index){
// return yList[index]
// }
fontSize: 13,
color: "#B6E6FF",
fontFamily: "HarmonyOS Sans-Regular",
// formatter:function(value,index){
// return yList[index]
// }
},
axisLine: {
show: false,
show: false,
},
axisTick: {
show: false
show: false,
},
splitLine: {
lineStyle: {
color: 'rgba(49, 217, 255, 0.5)',
}
lineStyle: {
color: "rgba(49, 217, 255, 0.5)",
},
},
}],
series: [{
type: 'bar',
},
],
series: [
{
type: "bar",
data: dataList,
z: 4,
itemStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: '#0BA7DA' // 0% 处的颜色
}, {
offset: 1, color: '#61D8FF' // 100% 处的颜色
}],
global: false // 缺省为 false
},
borderRadius: [4, 4, 0, 0]
color: {
type: "linear",
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "#0BA7DA", // 0% 处的颜色
},
{
offset: 1,
color: "#61D8FF", // 100% 处的颜色
},
],
global: false, // 缺省为 false
},
borderRadius: [4, 4, 0, 0],
},
barWidth: 10,
label: {
show: false,
}
},
]
}
show: false,
},
},
],
};
export default options;

Loading…
Cancel
Save