From 68aaaa6d697da50586691d50b81a657126ccd28c Mon Sep 17 00:00:00 2001
From: zhangzhang <1747194829@qq.com>
Date: Fri, 22 Mar 2024 21:44:50 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ruoyi-ui/src/api/manualWarning/index.js | 8 +-
.../components/ManualWarningCard/index.vue | 2 +-
.../event/event/FormEvent/PresetFormItems.js | 103 +++++--
.../components/eventTypeAnalysis/index.vue | 6 +-
.../pages/control/manual/events/data.js | 109 +++----
.../pages/control/manual/events/index.vue | 59 ++--
.../components/Eventfiltering/index.vue | 94 +++---
.../Eventfiltering/trafficIncidentsCharts.js | 2 +-
.../trafficIncidentsChartsPie.js | 40 +--
.../components/Sitefiltering/index.vue | 288 ++++++++++++++++--
.../Sitefiltering/trafficIncidentsCharts.js | 95 ++++++
.../trafficIncidentsChartsPie.js | 232 ++++++++++++++
.../components/Timefiltering/index.vue | 221 ++++++++++++--
.../Timefiltering/trafficIncidentsCharts.js | 95 ++++++
.../pages/control/manual/statistic/index.vue | 15 +-
.../src/views/JiHeExpressway/utils/enum.js | 59 ++++
16 files changed, 1176 insertions(+), 252 deletions(-)
create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsCharts.js
create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Sitefiltering/trafficIncidentsChartsPie.js
create mode 100644 ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Timefiltering/trafficIncidentsCharts.js
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/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/pages/control/event/event/FormEvent/PresetFormItems.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
index 28279874..d37da901 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/FormEvent/PresetFormItems.js
@@ -1,4 +1,4 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
import { Message } from "element-ui";
import moment from "moment";
@@ -8,7 +8,7 @@ export const source = {
type: "RadioGroup",
isAlone: true,
required: true,
- default: '1',
+ default: "1",
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
@@ -50,7 +50,7 @@ export const illegalTriggeringType = {
type: "RadioGroup",
isAlone: true,
required: true,
- default: '5-1',
+ default: "5-1",
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
@@ -299,6 +299,45 @@ export const eventSources = {
},
};
+export const warningType = {
+ label: "事件源:",
+ key: "warningType",
+ type: "select",
+ options: {
+ clearable: true,
+ options: [
+ {
+ key: "1",
+ label: "交通拥堵",
+ },
+ {
+ key: "2",
+ label: "行人",
+ },
+ {
+ key: "4",
+ label: "停车",
+ },
+ {
+ key: "5",
+ label: "违规驾驶",
+ },
+ {
+ key: "6",
+ label: "路障",
+ },
+ {
+ key: "7",
+ label: "道路施工",
+ },
+ {
+ key: "99",
+ label: "其他",
+ },
+ ],
+ },
+};
+
export const eventType = {
label: "事件类型:",
key: "eventType",
@@ -495,7 +534,7 @@ export const isInTunnel = {
key: "inTunnel",
// isAlone: true,
required: true,
- default: '0',
+ default: "0",
type: "RadioGroup",
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
@@ -596,12 +635,15 @@ export const weatherSituation = {
],
},
visible: (data) => {
- if (data?.eventSubclass == '10-1' || data?.eventSubclass == '10-2' || data?.eventSubclass == '10-3') {
+ if (
+ data?.eventSubclass == "10-1" ||
+ data?.eventSubclass == "10-2" ||
+ data?.eventSubclass == "10-3"
+ ) {
return true;
}
return false;
},
-
};
export const additionalNotes = {
@@ -698,10 +740,10 @@ export const locationMode = {
ons: {
change(value, ...args) {
const { data, formList } = args.slice(-1)[0];
- if(data.dcEventAccident) {
+ if (data.dcEventAccident) {
data.dcEventAccident.facilityId = null;
}
- if(data.dcEventVehicleAccident) {
+ if (data.dcEventVehicleAccident) {
data.dcEventVehicleAccident.facilityId = null;
}
@@ -713,28 +755,33 @@ export const locationMode = {
} else if (value == 4) {
facilityType = 1;
}
- if(value && value != 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}))
+ 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;
- }
+ formList.forEach((it) => {
+ if (
+ it.key == "dcEventAccident.facilityId" ||
+ it.key == "dcEventVehicleAccident.facilityId"
+ ) {
+ it.options.options = lwss;
+ }
+ });
+ })
+ .catch((err) => {
+ console.log("err", err);
+ Message.error("查询失败1", err);
});
-
- }).catch((err) => {
- console.log('err',err)
- Message.error("查询失败1", err);
- })
}
-
},
},
};
@@ -953,7 +1000,7 @@ export const constructionMeasurement = {
type: "RadioGroup",
isAlone: true,
required: true,
- default:'0',
+ default: "0",
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
@@ -983,7 +1030,7 @@ export const locationType = {
type: "RadioGroup",
isAlone: true,
required: true,
- default: '1',
+ default: "1",
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
@@ -1005,7 +1052,7 @@ export const specialConstruction = {
type: "RadioGroup",
isAlone: true,
required: true,
- default: '1',
+ default: "1",
options: {
activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)",
options: [
@@ -1173,7 +1220,7 @@ export const congestionCause = {
},
},
visible: (data) => {
- if (data?.eventSubclass != '4-1') {
+ if (data?.eventSubclass != "4-1") {
return false;
}
return true;
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/eventTypeAnalysis/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/eventTypeAnalysis/index.vue
index 7018f8f7..dbb9a877 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/eventTypeAnalysis/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/governanceAnalysis/components/eventTypeAnalysis/index.vue
@@ -25,7 +25,6 @@ export default {
methods: {
getAllEventNum() {
return allEventNum().then((response) => {
- console.log("response", response);
let data = [];
let total = null;
let nameData = [];
@@ -37,7 +36,6 @@ export default {
});
total += response.data[i].num;
}
- console.log("total88", total);
for (let i = 0; i < data.length; i++) {
// if (i % 2 === 0) {
// data.splice(i + 1, 0, newObj)
@@ -47,6 +45,10 @@ export default {
}
}
chartsStatistics.legend.data = nameData;
+ console.log(
+ "chartsStatistics.legend.data",
+ chartsStatistics.legend.data
+ );
chartsStatistics.legend.formatter = function (name) {
let tarValue = 0;
for (let i = 0; i < response.data.length; i++) {
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/data.js
index b558a4ca..20a58b78 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/data.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/data.js
@@ -1,53 +1,30 @@
import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js";
-import { merge, cloneDeep } from "lodash";
+import { warningType } from "@screen/utils/enum.js";
export const searchFormList = [
- {
- label: "事件状态:",
- key: "eventState",
- type: "RadioGroup",
- default: "0",
- options: {
- options: [
- {
- key: "0",
- label: "未解决",
- },
- {
- key: "1",
- label: "已解决",
- },
- {
- key: "2",
- label: "已关闭",
- },
- ],
- },
- },
- PresetFormItems.eventSources,
- PresetFormItems.eventType,
- {
- label: "方向:",
- key: "direction",
- type: "RadioGroup",
- default: "1",
- options: {
- options: [
- {
- key: "1",
- label: "菏泽方向",
- },
- {
- key: "2",
- label: "双向",
- },
- {
- key: "3",
- label: "济南方向",
- },
- ],
- },
- },
+ PresetFormItems.warningType,
+ // {
+ // label: "方向:",
+ // key: "direction",
+ // type: "RadioGroup",
+ // default: "1",
+ // options: {
+ // options: [
+ // {
+ // key: "1",
+ // label: "菏泽方向",
+ // },
+ // {
+ // key: "2",
+ // label: "双向",
+ // },
+ // {
+ // key: "3",
+ // label: "济南方向",
+ // },
+ // ],
+ // },
+ // },
{
label: "时间范围:",
key: "warningTime",
@@ -59,23 +36,23 @@ export const searchFormList = [
valueFormat: "yyyy-MM-dd HH:mm:ss",
},
},
- {
- ...PresetFormItems.station,
- label: "开始桩号:",
- required: false,
- },
- merge(cloneDeep(PresetFormItems.station), {
- options: {
- options: [
- {
- key: "endStakeMark[0]",
- },
- {
- key: "endStakeMark[1]",
- },
- ],
- },
- label: "结束桩号:",
- required: false,
- }),
+ // {
+ // ...PresetFormItems.station,
+ // label: "开始桩号:",
+ // required: false,
+ // },
+ // merge(cloneDeep(PresetFormItems.station), {
+ // options: {
+ // options: [
+ // {
+ // key: "endStakeMark[0]",
+ // },
+ // {
+ // key: "endStakeMark[1]",
+ // },
+ // ],
+ // },
+ // label: "结束桩号:",
+ // required: false,
+ // }),
];
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/index.vue
index 16b9f38e..ac816b3e 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/events/index.vue
@@ -41,8 +41,8 @@
@size-change="onSizeChange"
width="'100%'"
:page-sizes="[12, 16, 20, 30, 50]"
- :page-size="searchData.pageSize"
- :current-page.sync="searchData.pageNum"
+ :page-size="pageSize"
+ :current-page.sync="pageNum"
layout="total, sizes, prev, pager, next"
:total="total"
>
@@ -60,6 +60,7 @@ import { perceivedEventsList } from "@/api/manualWarning/index.js";
// import EventDispatchDialog from "./EventDispatchDialog/index";
import { searchFormList } from "./data";
import request from "@/utils/request";
+import { WarningType, WarningSubclass } from "@screen/utils/enum.js";
const directionMapping = {
1: "菏泽方向",
@@ -78,14 +79,15 @@ export default {
},
data() {
return {
+ WarningSubclass,
searchFormList,
detailDialogFormData: {},
total: 0,
data: [],
eventId: "0",
+ pageSize: 16,
+ pageNum: 1,
searchData: {
- pageSize: 16,
- pageNum: 1,
warningSource: "6",
},
};
@@ -101,17 +103,28 @@ export default {
// 刷新
onRefresh() {},
initData() {
- perceivedEventsList(this.searchData).then((res) => {
- if (res.code != 200) return Message.error(res?.msg);
- this.total = res.total;
- res.rows.forEach((it) => {
- it.source = "非机预警";
- it.stringDirection = directionMapping[it.direction] || it.direction;
- it.otherConfig = JSON.parse(it.otherConfig);
- });
- this.data = res.rows;
- console.log("darta", this.data);
- });
+ perceivedEventsList(this.searchData, this.pageNum, this.pageSize).then(
+ (res) => {
+ if (res.code != 200) return Message.error(res?.msg);
+ this.total = res.total;
+ res.rows.forEach((it) => {
+ it.source = "非机预警";
+ it.stringDirection = directionMapping[it.direction] || it.direction;
+ it.otherConfig = JSON.parse(it.otherConfig);
+ if (it.warningSubclass) {
+ let i = it.warningType;
+ let r = it.warningSubclass;
+ it.warningTypeName =
+ WarningType[i] +
+ (WarningSubclass[i][r]
+ ? "(" + WarningSubclass[i][r] + ")"
+ : "");
+ }
+ });
+ this.data = res.rows;
+ console.log("darta", this.data);
+ }
+ );
// request({
// // url: `/dc/system/event/dispatchEventList`,
// url: "/dc/system/event/list",
@@ -126,11 +139,23 @@ export default {
// this.data = result.rows;
// });
},
- onSizeChange(pageSize) {},
+ onSizeChange(pageSize) {
+ this.pageSize = pageSize;
+ this.initData();
+ },
getStateCardBind(item) {},
firstBtnClick(id) {},
- handleSearch(data) {},
+ handleSearch(data) {
+ console.log("data", data);
+ this.searchData = {
+ ...this.searchData,
+ warningType: data.warningType,
+ startTime: data.warningTime[0],
+ completeTime: data.warningTime[1],
+ };
+ this.initData();
+ },
},
};
diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/index.vue
index 69eeab38..be56081a 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/manual/statistic/components/Eventfiltering/index.vue
@@ -6,8 +6,8 @@
@handleSearch="handleSearch"
/>
@@ -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/utils/enum.js b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
index 6de34e21..c36266a0 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: "逆行",
+ },
+];