diff --git a/ruoyi-ui/src/api/manualWarning/index.js b/ruoyi-ui/src/api/manualWarning/index.js
index 59e8dc4c..89864030 100644
--- a/ruoyi-ui/src/api/manualWarning/index.js
+++ b/ruoyi-ui/src/api/manualWarning/index.js
@@ -1,9 +1,13 @@
import request from "@/utils/request";
// 查询非机预警列表
-export function perceivedEventsList(data) {
+export function perceivedEventsList(data, pageNum, pageSize) {
return request({
- url: "/perceivedEvents/warning/perceivedEventsList",
+ url:
+ "/perceivedEvents/warning/nonAutomaticWarningList?pageNum=" +
+ pageNum +
+ "&pageSize=" +
+ pageSize,
method: "post",
data,
});
diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js
index 9827e639..f58ac82d 100644
--- a/ruoyi-ui/src/common/menuData.js
+++ b/ruoyi-ui/src/common/menuData.js
@@ -156,6 +156,11 @@ export default [
component: "maintenanceOperations/statisticalAnalysis/index.vue",
}
]
+ }, {
+ title: "边坡光伏",
+ name: "photovoltaic",
+ path: "/maintain/photovoltaic",
+ component: "developing.vue"
}
]
},
@@ -239,7 +244,7 @@ export default [
],
},
{
- title: "配置中心",
+ title: "安全生产",
name: "config",
position: "right",
path: "/config",
diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/ManualWarningCard/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/ManualWarningCard/index.vue
index 6932bc15..1fa4b120 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/components/ManualWarningCard/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/components/ManualWarningCard/index.vue
@@ -89,7 +89,7 @@ export default {
type: Array,
default: () => [
{
- key: "warningType",
+ key: "warningTypeName",
label: "类型",
},
// {
diff --git a/ruoyi-ui/src/views/JiHeExpressway/images/digital/digitalTollStation.jpg b/ruoyi-ui/src/views/JiHeExpressway/images/digital/digitalTollStation.jpg
index 3c5b99e5..da1a71bb 100644
Binary files a/ruoyi-ui/src/views/JiHeExpressway/images/digital/digitalTollStation.jpg and b/ruoyi-ui/src/views/JiHeExpressway/images/digital/digitalTollStation.jpg differ
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/FatigueWakesUp/components/DeviceControlDialog.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/FatigueWakesUp/components/DeviceControlDialog.vue
index a562d58c..d72620c8 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/FatigueWakesUp/components/DeviceControlDialog.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/Dialogs/FatigueWakesUp/components/DeviceControlDialog.vue
@@ -238,7 +238,7 @@ export default {
modelVisible: {
get() {
if (this.visible) {
- this.deviceId = 'K82+285';
+ // this.deviceId = 'K82+285';
this.initData();
}
return this.visible
@@ -360,7 +360,7 @@ export default {
}
- }
+ },
},
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue
index e01a85cb..b170bd8c 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue
@@ -13,7 +13,7 @@
设备筛选
-
+
@@ -58,6 +58,8 @@ export default {
type: "day",
warningTime: "",
},
+ trafficIncidents: null,
+ trafficIncidentsPie: null,
searchFormList: [
{
label: "事件类型:",
@@ -130,27 +132,54 @@ export default {
};
},
async mounted() {
- (this.formData.warningTime =
- moment(new Date()).format("YYYY-MM-DD") + " 00:00:01"),
- await this.getNonAutomaticWarningType(this.formData);
- var trafficIncidents = echarts.init(
- document.getElementById("trafficIncidents")
- );
- trafficIncidents.setOption(trafficIncidentsCharts);
- var trafficIncidentsPie = echarts.init(
- document.getElementById("trafficIncidentsPie")
- );
- trafficIncidentsPie.setOption(trafficIncidentsChartsPie);
+ setTimeout(() => {
+ this.$nextTick(async () => {
+ (this.formData.warningTime =
+ moment(new Date()).format("YYYY-MM-DD") + " 00:00:01"),
+ (this.trafficIncidents = echarts.init(this.$refs.trafficIncidents));
+ this.trafficIncidents.setOption(trafficIncidentsCharts);
+ this.trafficIncidentsPie = echarts.init(this.$refs.trafficIncidentsPie);
+ this.trafficIncidentsPie.setOption(trafficIncidentsChartsPie);
+
+ const domMap = this.$refs.trafficIncidentsPie;
+ let parentDiv = domMap.firstElementChild;
+ // // 创建canvas;
+ let canvas = document.createElement("canvas");
+ canvas.width = parentDiv.offsetWidth;
+ canvas.height = parentDiv.offsetHeight;
+ parentDiv.appendChild(canvas);
+ const context = canvas.getContext("2d");
+
+ // // 填充渐变颜色
+ let gr = context.createLinearGradient(280, 0, 580, 0);
+ gr.addColorStop(1, "rgba(92,197,255,0)");
+ gr.addColorStop(0, "rgba(92,197,255,0.5)");
+ context.lineWidth = 1; // 设置线段宽度
+ drawRoundRect(context, 430, 134, 280, 24, 12, gr);
+ drawRoundRect(context, 430, 168, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 202, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 236, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 270, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 304, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 338, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 372, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 406, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 440, 280, 24, 10, gr);
+ drawRoundRect(context, 430, 474, 280, 24, 10, gr);
+ await this.getNonAutomaticWarningType(this.formData);
+ // drawRoundRect(context, 430, 508, 280, 24, 10, gr);
+ });
+ });
},
methods: {
getNonAutomaticWarningType(data) {
+ let that = this;
return nonAutomaticWarningType(data).then((res) => {
let newData = res.data;
let seriesData = [];
let xData = [];
let pieData = [];
let total = null;
- console.log("++++++++++++", newData);
newData.forEach((item) => {
seriesData.push(item.number);
xData.push(item.subclass);
@@ -162,7 +191,7 @@ export default {
});
trafficIncidentsCharts.series[0].data = seriesData;
trafficIncidentsCharts.xAxis.data = xData;
-
+ trafficIncidentsChartsPie.legend.data = xData;
trafficIncidentsChartsPie.legend.formatter = function (name) {
let tarValue = 0;
for (let i = 0; i < newData.length; i++) {
@@ -173,34 +202,10 @@ export default {
var percert = total == 0 ? 0 : ((tarValue / total) * 100).toFixed(2);
return `{text|${name}} {number|${tarValue} 起 } {number|${percert}%}`;
};
- trafficIncidentsChartsPie.legend.data = xData;
trafficIncidentsChartsPie.title[0].text = total;
- trafficIncidentsChartsPie.series[2].data = seriesData;
-
- // const domMap = document.getElementById("trafficIncidentsPie");
- // let parentDiv = domMap.firstChild;
- // console.log("parentDiv", parentDiv);
- // // 创建canvas;
- // let canvas = document.createElement("canvas");
- // canvas.width = parentDiv.offsetWidth;
- // canvas.height = parentDiv.offsetHeight;
- // parentDiv.appendChild(canvas);
- // const context = canvas.getContext("2d");
-
- // // 填充渐变颜色
- // let gr = context.createLinearGradient(240, 0, 450, 0);
- // gr.addColorStop(1, "rgba(92,197,255,0)");
- // gr.addColorStop(0, "rgba(92,197,255,0.5)");
- // context.lineWidth = 1; // 设置线段宽度
- // drawRoundRect(context, 100, 8, 280, 50, 12, gr);
- // drawRoundRect(context, 202, 32, 280, 20, 10, gr);
- // drawRoundRect(context, 202, 56, 280, 20, 10, gr);
- // drawRoundRect(context, 202, 80, 280, 20, 10, gr);
- // drawRoundRect(context, 202, 104, 280, 20, 10, gr);
- // drawRoundRect(context, 202, 128, 280, 20, 10, gr);
- // drawRoundRect(context, 202, 152, 280, 20, 10, gr);
-
- // this.myChart = myChart;
+ trafficIncidentsChartsPie.series[2].data = pieData;
+ that.trafficIncidents.setOption(trafficIncidentsCharts);
+ that.trafficIncidentsPie.setOption(trafficIncidentsChartsPie);
});
},
handleSearch(value) {
@@ -221,6 +226,7 @@ export default {
.search-box {
width: 402px !important;
float: right;
+ overflow: hidden;
}
.Eventfiltering-content {
@@ -230,12 +236,12 @@ export default {
justify-content: space-between;
.Eventfiltering-left {
- width: 65%;
+ width: 63%;
height: 100%;
}
.Eventfiltering-right {
- width: 32%;
+ width: 34%;
height: 100%;
}
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsCharts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsCharts.js
index 215c85d8..f8c4fe7f 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsCharts.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsCharts.js
@@ -16,7 +16,7 @@ var options = {
},
},
grid: {
- left: "30px",
+ left: "50px",
right: "0%",
top: "50px",
bottom: "5%",
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsChartsPie.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsChartsPie.js
index 6e352490..1cf10bef 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsChartsPie.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/trafficIncidentsChartsPie.js
@@ -18,9 +18,9 @@ var options = {
title: [
{
text: "999",
- top: "25%",
+ top: "36%",
textAlign: "center",
- left: "48%",
+ left: "29%",
textStyle: {
color: "#ffffff",
fontSize: 30,
@@ -29,9 +29,9 @@ var options = {
},
{
text: "总数",
- top: "38%",
+ top: "32%",
textAlign: "center",
- left: "48%",
+ left: "29%",
textStyle: {
color: "rgba(242, 252, 253, 0.84)",
fontSize: 16,
@@ -53,20 +53,22 @@ var options = {
},
},
legend: {
+ show: true,
width: "300px",
- height: "120px",
+ height: "520px",
orient: "vertical",
icon: "circle",
- top: "60%",
+ top: "15%",
+ left: "70%",
itemWidth: 10,
itemHeight: 10,
textStyle: {
color: "#ffffff",
fontSize: 14,
- lineHeight: 22,
+ lineHeight: 24,
rich: {
text: {
- width: 100,
+ width: 50,
marginLeft: 32,
fontSize: 14,
},
@@ -82,20 +84,20 @@ var options = {
},
},
data: legendData,
- pageIconColor: "#fff",
- pageIconSize: 10,
- pageTextStyle: {
- color: "#fff",
- },
- type: "scroll",
- pageButtonPosition: "end",
+ // pageIconColor: "#fff",
+ // pageIconSize: 10,
+ // pageTextStyle: {
+ // color: "#fff",
+ // },
+ // type: "scroll",
+ // pageButtonPosition: "end",
},
series: [
/** 饼图上刻度 */
{
type: "gauge",
- center: ["50%", "35%"],
- radius: "46%", // 错位调整此处
+ center: ["30%", "35%"],
+ radius: "43%", // 错位调整此处
startAngle: 0,
endAngle: 360,
splitNumber: 52,
@@ -116,7 +118,7 @@ var options = {
tooltip: false,
type: "gauge",
radius: "30%",
- center: ["50%", "35%"],
+ center: ["30%", "35%"],
startAngle: 0,
endAngle: 360,
axisLine: {
@@ -183,7 +185,7 @@ var options = {
{
type: "pie",
radius: ["40%", "50%"],
- center: ["50%", "35%"],
+ center: ["30%", "35%"],
z: 10,
label: {
show: false,
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/index.vue
index 0a48f804..cd1b7a93 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/index.vue
@@ -1,46 +1,270 @@
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsCharts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsCharts.js
new file mode 100644
index 00000000..f8c4fe7f
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsCharts.js
@@ -0,0 +1,95 @@
+var options = {
+ title: {
+ // text: '单位/%',
+ top: "0%",
+ left: "0%",
+ textStyle: {
+ fontSize: "10px",
+ fontWeight: 300,
+ color: "#B5C5D4",
+ opacity: 0.8,
+ },
+ },
+ tooltip: {
+ valueFormatter: function (value) {
+ return value + " 起";
+ },
+ },
+ grid: {
+ left: "50px",
+ right: "0%",
+ top: "50px",
+ bottom: "5%",
+ containLabel: true,
+ },
+ xAxis: {
+ type: "category",
+ data: [],
+ axisLine: {
+ lineStyle: {
+ color: "rgba(49, 217, 255, 0.8)",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "#fff",
+ fontSize: "18px",
+ },
+ },
+ yAxis: [
+ {
+ // type: 'value',
+ // min: function (value) {
+ // return value.min*0.9;
+ // },
+ name: "交通事件(起)",
+ nameTextStyle: {
+ color: "#fff",
+ fontSize: 18,
+ align: "center",
+ },
+ type: "value",
+ axisLine: {
+ show: false,
+ lineStyle: {
+ width: 1,
+ color: "#545454",
+ },
+ },
+ splitLine: {
+ lineStyle: {
+ color: "rgba(49, 217, 255, 0.5)",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "#fff",
+ fontSize: "18px",
+ formatter: (value) => {
+ return value;
+ },
+ },
+ },
+ ],
+ series: [
+ {
+ // name: '审限内结案率',
+ data: [5, 10, 20, 30],
+ type: "pictorialBar",
+ symbol: "roundRect",
+ symbolRepeat: true,
+ symbolSize: [13, 4],
+ // symbolOffset: symbolOffset,
+ // barWidth:'40%',
+ itemStyle: {
+ color: "#20E7FF",
+ },
+ },
+ ],
+};
+
+export default options;
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsChartsPie.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsChartsPie.js
new file mode 100644
index 00000000..43a2118d
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsChartsPie.js
@@ -0,0 +1,232 @@
+let colors = [
+ "#4278F8",
+ "#5372C4",
+ "#0046FF",
+ "#FB9434",
+ "#854101",
+ "#05E599",
+ "#219F73",
+ "#7CEDD5",
+ "#854101",
+ "#05E599",
+ "#219F73",
+ "#7CEDD5",
+];
+var legendData = [];
+
+var options = {
+ title: [
+ {
+ text: "999",
+ top: "36%",
+ textAlign: "center",
+ left: "29%",
+ textStyle: {
+ color: "#ffffff",
+ fontSize: 30,
+ fontFamily: "SourceHanSansCN",
+ },
+ },
+ {
+ text: "总数",
+ top: "32%",
+ textAlign: "center",
+ left: "29%",
+ textStyle: {
+ color: "rgba(242, 252, 253, 0.84)",
+ fontSize: 16,
+ fontFamily: "SourceHanSansCN",
+ },
+ },
+ ],
+ grid: {
+ top: "38%",
+ left: "6%",
+ right: "6%",
+ bottom: "3%",
+ containLabel: true,
+ },
+ tooltip: {
+ show: true,
+ valueFormatter: function (value) {
+ return value + " 起";
+ },
+ },
+ legend: {
+ show: true,
+ width: "300px",
+ height: "520px",
+ orient: "vertical",
+ icon: "circle",
+ top: "15%",
+ left: "70%",
+ itemWidth: 10,
+ itemHeight: 10,
+ textStyle: {
+ color: "#ffffff",
+ fontSize: 14,
+ lineHeight: 24,
+ rich: {
+ text: {
+ width: 100,
+ marginLeft: 32,
+ fontSize: 14,
+ },
+ number: {
+ fontSize: 14,
+ color: "#37E7FF",
+ marginLeft: 32,
+ fontWeight: "bold",
+ },
+ unit: {
+ fontSize: 14,
+ },
+ },
+ },
+ data: legendData,
+ // pageIconColor: "#fff",
+ // pageIconSize: 10,
+ // pageTextStyle: {
+ // color: "#fff",
+ // },
+ // type: "scroll",
+ // pageButtonPosition: "end",
+ },
+ series: [
+ /** 饼图上刻度 */
+ {
+ type: "gauge",
+ center: ["30%", "35%"],
+ radius: "43%", // 错位调整此处
+ startAngle: 0,
+ endAngle: 360,
+ splitNumber: 52,
+ axisLine: { show: false },
+ splitLine: {
+ // length: 39,
+ length: "2",
+ lineStyle: {
+ width: 5,
+ color: "#5CC5FF",
+ },
+ },
+ axisTick: { show: false },
+ axisLabel: { show: false },
+ },
+ {
+ name: "总数",
+ tooltip: false,
+ type: "gauge",
+ radius: "30%",
+ center: ["30%", "35%"],
+ startAngle: 0,
+ endAngle: 360,
+ axisLine: {
+ lineStyle: {
+ color: [[1, "#0AFFE950"]],
+ width: 1,
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ splitLine: {
+ show: false,
+ },
+ axisLabel: {
+ show: false,
+ },
+ detail: {
+ show: false,
+ },
+ pointer: {
+ show: false,
+ },
+ progress: {
+ show: true,
+ width: 80,
+ itemStyle: {
+ color: {
+ type: "radial",
+ x: 0.5,
+ y: 0.5,
+ r: 0.5,
+ colorStops: [
+ {
+ offset: 0,
+ color: "rgb(0, 224, 205, 0)",
+ },
+ {
+ offset: 0.7,
+ color: "rgba(0, 224, 205, 0)",
+ },
+ {
+ offset: 1,
+ color: "rgba(10, 255, 233, 0.5)",
+ },
+ ],
+ },
+ },
+ },
+ data: [
+ {
+ value: 100,
+ },
+ ],
+ tooltip: {
+ backgroundColor: "rgba(50,50,50,0)",
+ formatter: " ",
+ borderWidth: 0,
+ textStyle: {
+ textShadowColor: "rgba(50,50,50,0)",
+ },
+ },
+ },
+ {
+ type: "pie",
+ radius: ["40%", "50%"],
+ center: ["30%", "35%"],
+ z: 10,
+ label: {
+ show: false,
+ },
+ data: [],
+ labelLine: {
+ show: false,
+ },
+ itemStyle: {
+ normal: {
+ borderRadius: "5",
+ borderWidth: 2,
+ borderType: "solid",
+ borderCap: "round",
+ borderJoin: "round",
+ borderColor: "#064258",
+ borderMiterLimit: "20",
+ color: function (params) {
+ return {
+ type: "linear",
+ x: 0,
+ y: 0,
+ x2: 1,
+ y2: 1,
+ colorStops: [
+ {
+ offset: 0,
+ color: colors[params.dataIndex], // 0% 处的颜色
+ },
+ {
+ offset: 1,
+ color: colors[params.dataIndex], // 100% 处的颜色
+ },
+ ],
+ globalCoord: false, // 缺省为 false
+ };
+ },
+ },
+ },
+ },
+ ],
+};
+
+export default options;
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/index.vue
index 0a48f804..9c44505e 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/index.vue
@@ -1,46 +1,203 @@
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/trafficIncidentsCharts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/trafficIncidentsCharts.js
new file mode 100644
index 00000000..f8c4fe7f
--- /dev/null
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/trafficIncidentsCharts.js
@@ -0,0 +1,95 @@
+var options = {
+ title: {
+ // text: '单位/%',
+ top: "0%",
+ left: "0%",
+ textStyle: {
+ fontSize: "10px",
+ fontWeight: 300,
+ color: "#B5C5D4",
+ opacity: 0.8,
+ },
+ },
+ tooltip: {
+ valueFormatter: function (value) {
+ return value + " 起";
+ },
+ },
+ grid: {
+ left: "50px",
+ right: "0%",
+ top: "50px",
+ bottom: "5%",
+ containLabel: true,
+ },
+ xAxis: {
+ type: "category",
+ data: [],
+ axisLine: {
+ lineStyle: {
+ color: "rgba(49, 217, 255, 0.8)",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "#fff",
+ fontSize: "18px",
+ },
+ },
+ yAxis: [
+ {
+ // type: 'value',
+ // min: function (value) {
+ // return value.min*0.9;
+ // },
+ name: "交通事件(起)",
+ nameTextStyle: {
+ color: "#fff",
+ fontSize: 18,
+ align: "center",
+ },
+ type: "value",
+ axisLine: {
+ show: false,
+ lineStyle: {
+ width: 1,
+ color: "#545454",
+ },
+ },
+ splitLine: {
+ lineStyle: {
+ color: "rgba(49, 217, 255, 0.5)",
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: "#fff",
+ fontSize: "18px",
+ formatter: (value) => {
+ return value;
+ },
+ },
+ },
+ ],
+ series: [
+ {
+ // name: '审限内结案率',
+ data: [5, 10, 20, 30],
+ type: "pictorialBar",
+ symbol: "roundRect",
+ symbolRepeat: true,
+ symbolSize: [13, 4],
+ // symbolOffset: symbolOffset,
+ // barWidth:'40%',
+ itemStyle: {
+ color: "#20E7FF",
+ },
+ },
+ ],
+};
+
+export default options;
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/index.vue
index 6ac52b5e..371b7c72 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/index.vue
@@ -1,14 +1,14 @@
-
@@ -38,10 +38,9 @@ export default {
},
},
methods: {
- // changeTabs(tab, event) {
- // console.log(tab, event);
- // // this.activeName = value;
- // },
+ handleClick(value) {
+ this.activeName = value.name;
+ },
},
mounted() {},
};
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/datav/roadNet/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/datav/roadNet/index.vue
index 0630a48a..477fc9f0 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/datav/roadNet/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/datav/roadNet/index.vue
@@ -3,7 +3,11 @@
-
{{ item.dataAll.title }}:{{ item.dataAll.value }}{{ item.dataAll.unit }}
+
+ {{ item.dataAll.title }}:
+ {{ item.dataAll.value }}/{{ item.dataAll.total }}
+ {{ item.dataAll.unit }}
+
{{ item.dataGreen.title }}:{{ item.dataGreen.value }}{{ item.dataGreen.unit }}
@@ -144,8 +148,37 @@ export default {
},
mounted(){
this.initData();
+ this.mockData();
},
methods: {
+ mockData(){
+ const mock = ()=>{
+ let num1 = this.summary[1].dataAll.value + Math.floor(Math.random()*200);
+ this.summary[1].dataAll.value = num1;
+ this.summary[1].dataRed.value = (num1/this.summary[1].dataGreen.value*100).toFixed(2);
+
+ let num2 = +this.summary[2].dataAll.value + Math.random()*0.01;
+ this.summary[2].dataAll.value = num2.toFixed(2);
+ this.summary[2].dataRed.value = (num2/this.summary[2].dataGreen.value*100).toFixed(2);
+
+ let num3 = this.summary[3].dataAll.value + Math.floor(Math.random()*20);
+ this.summary[3].dataAll.value = num3;
+ this.summary[3].dataRed.value = (num3/this.summary[3].dataGreen.value*100).toFixed(2);
+
+ let num4 = 1154 + Math.random()*120;
+ this.summary[4].dataAll.value = num4.toFixed(2);
+ this.summary[4].dataGreen.value = (num4/this.summary[4].dataAll.total*100).toFixed(2);
+
+ let num5 = 81 + Math.random()*20;
+ this.summary[5].dataAll.value = num5.toFixed(2);
+ this.summary[5].dataGreen.value = (num5/this.summary[5].dataAll.total*100).toFixed(2);
+ }
+ mock();
+ let interval = setInterval(()=>{
+ mock();
+ }, 1500);
+ this.$once("hook:beforeDestroy", () => this.clearInterval(interval));
+ },
initData() {
this.summary = [
{
@@ -156,31 +189,31 @@ export default {
},
{
width:376,
- dataAll: { title: "接入数据总数", value: 1213213447, unit: "条" },
+ dataAll: { title: "接入数据总数", value: 1251446, unit: "条" },
dataGreen: { title: "昨日接入数", value: 20624577, unit: "条" },
dataRed: { title: "环比", value: 0.04, unit: "%" }
},
{
width: 287,
- dataAll: { title: "存储占用量", value: 86059, unit: "GB" },
+ dataAll: { title: "存储占用量", value: 32, unit: "GB" },
dataGreen: { title: "昨日新增", value: 55, unit: "GB" },
dataRed: { title: "环比", value: 20.5, unit: "%" }
},
{
width: 376,
- dataAll: { title: "服务调用总数", value: 43392688, unit: "次" },
- dataGreen: { title: "昨日服务数", value: 1210345, unit: "次" },
+ dataAll: { title: "服务调用总数", value: 752524, unit: "次" },
+ dataGreen: { title: "昨日服务数", value: 21034145, unit: "次" },
dataRed: { title: "环比", value: 0.04, unit: "%" }
},
{
width:226,
- dataAll: { title: "内存", value: "1274G/1800G", unit: "" },
+ dataAll: { title: "内存", value: 0, total:1800, unit: "G" },
dataGreen: { title: "使用率", value: 70.73, unit: "%" }
},
{
width: 226,
- dataAll: { title: "CPU", value: "71/126", unit: "" },
- dataGreen: { title: "使用率", value: 56.35, unit: "类" }
+ dataAll: { title: "CPU", value: 0, total:126, unit: "" },
+ dataGreen: { title: "使用率", value: 56.35, unit: "%" }
}
];
this.manage = [
@@ -224,7 +257,7 @@ export default {
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/assets/charts2.js b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/assets/charts2.js
index 54813907..5f8879ce 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/assets/charts2.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/assets/charts2.js
@@ -132,7 +132,7 @@ var options = {
},
color: colorList,
legend: {
- top: 100,
+ top: "middle",
right: 20,
orient: "vertical", //改变排列方式
icon: "circle", //改变legend小图标形状
@@ -146,12 +146,13 @@ var options = {
rich: {
a: {
align: "left",
- width: 45,
+ width: 60,
fontSize: 12,
},
b: {
align: "left",
fontSize: 12,
+ width: 50,
color: "#37E7FF",
marginLeft: 0,
},
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue
index 67bf559c..638c3791 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventQuery/index.vue
@@ -44,9 +44,9 @@
-
@@ -71,6 +71,7 @@ import chart2 from "./assets/charts2";
import chart3 from "./assets/charts3";
import ElQuarterPicker from "./ElQuarterPicker";
import moment from "moment";
+import { WarningType } from "@screen/utils/enum.js";
import {
getWarningTrend,
getWarningSectionType,
@@ -116,6 +117,7 @@ export default {
},
data() {
return {
+ canvas:null,
typeOptions: [
{
value: "year",
@@ -362,7 +364,7 @@ export default {
})
});
- //类型占比
+ //感知事件类型分析
getWarningSectionType({
type: qType,
sectionId: this.selectId,
@@ -375,35 +377,11 @@ export default {
if (res.code == 200) {
let numbers = [];
this.chart2List = res.data;
- let data = res.data.warningTypeList;
+ let data = res.data.warningTypeList ;
let total = res.data.total;
data.forEach((it) => {
- if (it.warningType == 1) {
- types.push("交通拥堵");
- } else if (it.warningType == 2) {
- types.push("行人");
- } else if (it.warningType == 3) {
- types.push("非机动车");
- } else if (it.warningType == 4) {
- types.push("停车");
- } else if (it.warningType == 5) {
- types.push("违规驾驶");
- } else if (it.warningType == 6) {
- types.push("路障");
- } else if (it.warningType == 7) {
- types.push("道路施工");
- } else if (it.warningType == 8) {
- types.push("异常天气");
- } else if (it.warningType == 9) {
- types.push("护栏碰撞");
- } else if (it.warningType == 10) {
- types.push("交通事故");
- } else if (it.warningType == 11) {
- types.push("车辆故障");
- } else if (it.warningType == 99) {
- types.push("其他");
- }
+ types.push(WarningType[it.warningType]);
numbers.push({
name: types[types.length - 1],
@@ -534,89 +512,46 @@ export default {
this.dateTime = moment(new Date()).format("YYYY-MM-DD");
}
},
- initChart1() {
- this.myChart1 = echarts.init(document.getElementById("chart1"));
- this.myChart1.setOption(chart1);
- },
- initChart3() {
- this.myChart3 = echarts.init(document.getElementById("chart3"));
- this.myChart3.setOption(chart3);
- },
- initChart2(types) {
-
- this.myChart2 = echarts.init(document.getElementById("chart2"));
- this.myChart2.setOption(chart2);
-
- const domMap = document.getElementById("chart2");
- let parentDiv = domMap.firstChild;
- // 创建canvas
- let canvas = document.createElement("canvas");
- canvas.width = parentDiv.offsetWidth;
- canvas.height = parentDiv.offsetHeight;
- parentDiv.appendChild(canvas);
- const context = canvas.getContext("2d");
- context.lineWidth = 1; // 设置线段宽度
-
- // 填充渐变颜色
- // 颜色断点
- 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)");
-
- console.log('types', types)
- types.forEach((it, index) => {
- drawRoundRect(context, 357, (98 + index * 32), 140, 24, 12, gr);
- })
-
-
- // // 颜色断点
- // 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)");
- // drawRoundRect(context, 357, 130, 140, 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, 357, 162, 140, 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, 357, 194, 140, 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, 267, 258, 140, 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)');
- // drawRoundRect(context, 416, 57, 140, 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, 416, 108, 140, 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, 416, 157, 140, 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, 416, 208, 140, 24, 12, gr);
- },
+ initChart1(){
+ this.myChart1 = echarts.init(document.getElementById("chart1"));
+ this.myChart1.setOption(chart1);
+ },
+ initChart3(){
+ this.myChart3 = echarts.init(document.getElementById("chart3"));
+ this.myChart3.setOption(chart3);
+ },
+ generateChart2(){
+ let ele = this.$refs["chart2"];
+ this.myChart2 = echarts.init(ele);
+ let parentDiv = ele.firstChild;
+ this.canvasChart2 = document.createElement("canvas");
+ this.canvasChart2.width = parentDiv.offsetWidth;
+ this.canvasChart2.height = parentDiv.offsetHeight;
+ parentDiv.appendChild(this.canvasChart2);
+ },
+ initChart2(){
+ if(!this.myChart2){
+ this.generateChart2();
+ }
+ let ele = this.$refs["chart2"];
+ this.myChart2.setOption(chart2);
+
+ const context = this.canvasChart2.getContext('2d')
+ context.clearRect(0, 0, this.canvasChart2.width, this.canvasChart2.height); // 清空画布
+
+ context.lineWidth = 1; // 设置线段宽度
+ let total = chart2.legend.data.length;
+ for(let i=0; i
{
@@ -678,8 +613,8 @@ export default {
.unit_con {
flex: 1;
- margin: 95px 20px 30px;
- position: relative;
+ margin: 95px 20px 30px; position: relative;
+ // &.unit_con_02{ margin: 105px 0px 20px; }
}
.empty {
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventSource/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventSource/index.vue
index e6c18f8c..2420b783 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventSource/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/eventSource/index.vue
@@ -246,13 +246,13 @@ export default {
)
1 1;
display: flex;
- justify-content: space-between;
+ justify-content: center;
align-items: center;
}
}
.charts {
- height: 180px;
- width: 100%;
+ height: 170px;
+ width: 380px;
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/typeAnalysis/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/typeAnalysis/index.vue
index 9debfcdc..fe56e6c1 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/typeAnalysis/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/components/typeAnalysis/index.vue
@@ -201,7 +201,7 @@ export default {
rgba(55, 231, 255, 0.1),
rgba(55, 231, 255, 0)) 1 1;
display: flex;
- justify-content: space-between;
+ justify-content: center;
align-items: center;
}
}
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/index.vue
index 00b5ffd3..2695af1a 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/eventDetection/index.vue
@@ -27,7 +27,7 @@ import EventSource from "./components/eventSource/index.vue";
import DailyDisposal from "./components/dailyDisposal/index.vue";
import TypeAnalysis from "./components/typeAnalysis/index.vue";
import MonthStatistice from "./components/monthStatistics/index.vue";
-import EventQuery from "./components/eventQuery";
+import EventQuery from "./components/eventQuery/index.vue";
export default {
name: "EventDetection",
diff --git a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
index 3175d5c8..c96bd6bb 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
@@ -920,6 +920,17 @@ export const planDeviceOptions = [
},
];
+// 非机预警事件主类
+export const warningType = {
+ 1: "交通拥堵",
+ 2: "行人",
+ 4: "停车",
+ 5: "违规驾驶",
+ 6: "路障",
+ 7: "道路施工",
+ 99: "其他",
+};
+
export const WarningSubclassList = Object.keys(WarningSubclass).reduce(
(prev, key) => {
prev[key] = Object.keys(WarningSubclass[key]).map((subKey) => {
@@ -1012,3 +1023,51 @@ export const gzztMap = {
"03": "闪烁",
"04": "关闭",
};
+
+// 非机预警事件
+export const manualEarlyWarning = [
+ {
+ value: "1",
+ label: "拥堵",
+ },
+ {
+ value: "2",
+ label: "行人",
+ },
+ {
+ value: "6",
+ label: "抛洒物",
+ },
+ {
+ value: "5",
+ label: "变道",
+ },
+ {
+ value: "99",
+ label: "机占非",
+ },
+ {
+ value: "6",
+ label: "路障",
+ },
+ {
+ value: "1",
+ label: "施工",
+ },
+ {
+ value: "2",
+ label: "停车",
+ },
+ {
+ value: "6",
+ label: "压线",
+ },
+ {
+ value: "1",
+ label: "掉头",
+ },
+ {
+ value: "2",
+ label: "逆行",
+ },
+];
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index 3ec84b6f..c5e3daeb 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -53,8 +53,8 @@ module.exports = {
// 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.65.194:8087`, //赵祥龙
+ // target: `http://10.168.65.156:8087`, //王思祥
+ target: `http://10.168.65.194:8087`, //赵祥龙
// target: `http://10.168.65.156:8097`, //孟
// target: `http://10.168.56.165:8087`, //王家宝