Browse Source

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

wangqin
hui 1 year ago
parent
commit
f40ba9b938
  1. 1199
      ruoyi-ui/src/views/JiHeExpressway/common/PresetFormItems.js
  2. 66
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/changesIndicators/assets/charts3.js
  3. 159
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/changesIndicators/index.vue
  4. 68
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/composeFeatures/assets/charts.js
  5. 68
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/crowding/assets/charts.js
  6. 77
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/saturationMax/assets/charts.js
  7. 13
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts.js
  8. 2
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts2.js
  9. 26
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/assets/charts3.js
  10. 321
      ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/trafficIndicators/index.vue
  11. 63
      ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/data.js
  12. 4
      ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/index.vue

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

File diff suppressed because it is too large

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

@ -19,25 +19,14 @@ 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 data3 = [200, 530, 920, 400, 600, 700, 300, 800, 900, 120, 570, 800];
let options = { let options = {
tooltip: { tooltip: {
show: false, show: true,
trigger: "axis", trigger: "item",
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}人",
}, },
grid: { grid: {
left: 0, left: 0,
right: 0, right: 0,
top: "13%", top: "15%",
bottom: "5%", bottom: "6%",
containLabel: true, containLabel: true,
}, },
xAxis: { xAxis: {
@ -51,7 +40,7 @@ let options = {
}, },
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: "#1C82C5", color: "#27B5D7",
}, },
}, },
axisLabel: { axisLabel: {
@ -60,8 +49,8 @@ let options = {
rotate: "1", rotate: "1",
margin: "20", margin: "20",
textStyle: { textStyle: {
fontSize: 12, fontSize: 10,
color: "#50A2C1", color: "#fff",
}, },
}, },
}, },
@ -70,20 +59,20 @@ let options = {
min: 0, min: 0,
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: "#1C82C5", color: "#27B5D7",
}, },
}, },
splitLine: { splitLine: {
show: true, show: true,
lineStyle: { lineStyle: {
color: "rgba(28, 130, 197, .3)", color: "#1D87A4",
type: "solid", type: "solid",
}, },
}, },
axisLabel: { axisLabel: {
color: "#DEEBFF", color: "#fff",
textStyle: { textStyle: {
fontSize: 12, fontSize: 10,
}, },
}, },
axisTick: { axisTick: {
@ -97,7 +86,7 @@ let options = {
itemHeight: 8, itemHeight: 8,
itemWidth: 8, itemWidth: 8,
top: "0%", top: "0%",
x: "80%", right: "0",
textStyle: { textStyle: {
color: "#fff", color: "#fff",
}, },
@ -112,13 +101,13 @@ let options = {
{ {
name: "饱和度", name: "饱和度",
itemStyle: { itemStyle: {
color: "#08BAF4", color: "#07A3FB",
}, },
}, },
{ {
name: "拥挤度", name: "拥挤度",
itemStyle: { itemStyle: {
color: "#EAB63B", color: "#E2BA74",
}, },
}, },
], ],
@ -157,7 +146,7 @@ let options = {
}, },
itemStyle: { itemStyle: {
// lenged文本 // lenged文本
opacity: 0.6, opacity: 1,
color: function (params) { color: function (params) {
var a = params.name; var a = params.name;
// console.log("==========a=============",a); // console.log("==========a=============",a);
@ -169,7 +158,7 @@ let options = {
[ [
{ {
offset: 0, offset: 0,
color: "#1AC5FD", // 0% 处的颜色 color: "#07A3FB", // 0% 处的颜色
}, },
{ {
offset: 1, offset: 1,
@ -183,7 +172,7 @@ let options = {
data: data2, data: data2,
}, },
{ {
name: "", name: null,
type: "scatter", type: "scatter",
emphasis: { emphasis: {
scale: false, scale: false,
@ -193,8 +182,8 @@ let options = {
symbolSize: [20, 20], symbolSize: [20, 20],
symbolOffset: ["-115%", 0], symbolOffset: ["-115%", 0],
itemStyle: { itemStyle: {
color: "#FFF", color: "#E2BA74",
shadowColor: "rgba(0, 255, 254, 0.53)", shadowColor: "#E2BA74",
shadowBlur: 5, shadowBlur: 5,
borderWidth: 1, borderWidth: 1,
opacity: 1, opacity: 1,
@ -204,6 +193,9 @@ let options = {
left: "-100%", left: "-100%",
data: data2, data: data2,
animationDelay: 100, animationDelay: 100,
tooltip: {
show: false,
},
}, },
// 下半截柱状图linear-gradient(180deg, #61D8FF 0%, #003B4E 100%); linear-gradient(180deg, #06D7B1 0%, #003B4E 100%) // 下半截柱状图linear-gradient(180deg, #61D8FF 0%, #003B4E 100%); linear-gradient(180deg, #06D7B1 0%, #003B4E 100%)
{ {
@ -226,7 +218,7 @@ let options = {
[ [
{ {
offset: 0, offset: 0,
color: "#00E4BB53", // 0% 处的颜色 color: "#32BB8A", // 0% 处的颜色
}, },
{ {
offset: 1, offset: 1,
@ -240,7 +232,7 @@ let options = {
}, },
itemStyle: { itemStyle: {
// lenged文本 // lenged文本
opacity: 0.6, opacity: 1,
color: function (params) { color: function (params) {
var a = params.name; var a = params.name;
// console.log("==========a=============",a); // console.log("==========a=============",a);
@ -288,6 +280,9 @@ let options = {
left: 10, left: 10,
data: data1, data: data1,
animationDelay: 500, animationDelay: 500,
tooltip: {
show: false,
},
}, },
{ {
name: "拥挤度", name: "拥挤度",
@ -308,7 +303,7 @@ let options = {
[ [
{ {
offset: 0, offset: 0,
color: "#1AC5FD", // 0% 处的颜色 color: "#E2BA74", // 0% 处的颜色
}, },
{ {
offset: 1, offset: 1,
@ -322,7 +317,7 @@ let options = {
}, },
itemStyle: { itemStyle: {
// lenged文本 // lenged文本
opacity: 0.6, opacity: 1,
color: function (params) { color: function (params) {
var a = params.name; var a = params.name;
// console.log("==========a=============",a); // console.log("==========a=============",a);
@ -369,6 +364,9 @@ let options = {
left: "-100%", left: "-100%",
data: data2, data: data2,
animationDelay: 100, animationDelay: 100,
tooltip: {
show: false,
},
}, },
], ],
}; };

159
ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSituation/components/IndicatorAnalysis/components/changesIndicators/index.vue

@ -1,106 +1,114 @@
<template> <template>
<div class='congestion'> <div class="congestion">
<WgtTitle :title="'指标变化情况'"></WgtTitle> <WgtTitle :title="'指标变化情况'"></WgtTitle>
<div class="board"> <div class="board">
<div id="ChangesIndictors" class="keep-ratio"> <div id="ChangesIndictors" class="keep-ratio"></div>
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import WgtTitle from '../../../../../widgets/title' import WgtTitle from "../../../../../widgets/title";
import * as echarts from "echarts"; import * as echarts from "echarts";
import chartsStatistics from './assets/charts3'; import chartsStatistics from "./assets/charts3";
export default { export default {
name: 'ChangesIndictors', name: "ChangesIndictors",
components: { components: {
WgtTitle WgtTitle,
}, },
data() { data() {
return { return {
tableData: [{ tableData: [
date: '2023-12-31 13:00:00', {
name: '2640.78m', date: "2023-12-31 13:00:00",
address: 'K100+000-K110+000' name: "2640.78m",
}, { address: "K100+000-K110+000",
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
}, {
date: '2023-12-31 13:00:00',
name: '2640.78m',
address: 'K100+000-K110+000'
},
]
}
}, },
{
created() { date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
}, },
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
{
date: "2023-12-31 13:00:00",
name: "2640.78m",
address: "K100+000-K110+000",
},
],
};
},
created() {},
methods: { methods: {
selectItem(index) { selectItem(index) {
this.selectIndex = index; this.selectIndex = index;
}, },
}, },
mounted() { mounted() {
setTimeout(() => { setTimeout(() => {
this.$nextTick(() => { this.$nextTick(() => {
var myChart = echarts.init(document.getElementById('ChangesIndictors')); var myChart = echarts.init(document.getElementById("ChangesIndictors"));
myChart.setOption(chartsStatistics); myChart.setOption(chartsStatistics);
}); });
}); });
}, },
} };
</script> </script>
<style lang='scss' scoped> <style lang="scss" scoped>
.showClass { .showClass {
color: #00EBC1; color: #00ebc1;
} }
::v-deep .el-table .cell { ::v-deep .el-table .cell {
@ -109,7 +117,7 @@ export default {
::v-deep .el-table .el-table__header-wrapper th { ::v-deep .el-table .el-table__header-wrapper th {
background-color: #064258 !important; background-color: #064258 !important;
color: #00D1FF; color: #00d1ff;
border-color: #064258 !important; border-color: #064258 !important;
border: 0px !important; border: 0px !important;
font-size: 12px !important; font-size: 12px !important;
@ -128,11 +136,11 @@ export default {
::v-deep .el-table tr:hover td { ::v-deep .el-table tr:hover td {
background: #1b2528 !important; background: #1b2528 !important;
color: #00D1FF; color: #00d1ff;
} }
::v-deep .el-table tr:nth-child(odd) td { ::v-deep .el-table tr:nth-child(odd) td {
background-color: #13272F; background-color: #13272f;
border: 0px !important; border: 0px !important;
} }
@ -168,7 +176,7 @@ export default {
#ChangesIndictors { #ChangesIndictors {
display: inline-flex; display: inline-flex;
height: 240px; height: 280px;
width: 100%; width: 100%;
} }
} }
@ -179,4 +187,3 @@ export default {
width: 100%; width: 100%;
} }
</style> </style>

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

@ -1,44 +1,27 @@
import * as echarts from "echarts"; import * as echarts from "echarts";
var options = { var options = {
color: ["#07A3FB"], color: ["#07A3FB"],
grid: { grid: {
left: "2%", left: "0%",
right: "5%", right: "8%",
bottom: "10%", bottom: "0%",
top: "10%", top: "10%",
containLabel: true, containLabel: true,
}, },
legend: { tooltip: {
show:false, show: true,
icon: 'rect',
top: '0%',
right: '5%',
data: ['实时数据'],
itemWidth:18,
itemHeight: 5,
itemGap: 30,
itemStyle:{
color:"#FFD15C",
},
textStyle: {
fontSize: 12,
color: '#fff',
padding: [0, 0, 0, 10],
},
}, },
xAxis: { xAxis: {
type: "category", type: "category",
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: "#07A3FB", color: "#07A3FB",
fontSize: 12,
}, },
}, },
axisLabel: { axisLabel: {
// interval:0, // interval:0,
color: "#BDD8FB", color: "#fff",
fontSize: 12, fontSize: 10,
}, },
axisTick: { axisTick: {
show: false, show: false,
@ -60,12 +43,9 @@ var options = {
}, },
yAxis: { yAxis: {
type: "value", type: "value",
min: 0,
max:800,
minInterval: 100,
nameTextStyle: { nameTextStyle: {
fontSize: 12, fontSize: 10,
color: "#BDD8FB", color: "#fff",
align: "center", align: "center",
}, },
splitLine: { splitLine: {
@ -74,17 +54,10 @@ var options = {
// type: 'dashed', // dotted 虚线 // type: 'dashed', // dotted 虚线
}, },
}, },
splitArea: { show: false },
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: { axisLabel: {
fontSize: 12, fontSize: 10,
fontFamily: "Bebas", fontFamily: "Bebas",
color: "#BDD8FB", color: "#fff",
}, },
}, },
series: [ series: [
@ -94,9 +67,9 @@ var options = {
showSymbol: false, showSymbol: false,
smooth: true, // 是否曲线 smooth: true, // 是否曲线
name: "实时数据", // 图例对应类别 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 :{ lineStyle: {
color:"#07A3FB" color: "#07A3FB",
}, },
areaStyle: { areaStyle: {
// 区域颜色 // 区域颜色
@ -111,7 +84,7 @@ var options = {
// }, // },
// ]), // ]),
color: { color: {
type: 'linear', type: "linear",
x: 0, //右 x: 0, //右
y: 0, //下 y: 0, //下
x2: 0, //左 x2: 0, //左
@ -119,18 +92,17 @@ var options = {
colorStops: [ colorStops: [
{ {
offset: 0.1, offset: 0.1,
color: '#07A3FB99' // 0% 处的颜色 color: "#07A3FB99", // 0% 处的颜色
}, },
{ {
offset: 1, offset: 1,
opacity:0.01, opacity: 0.01,
color: '#07A3FB00' // 100% 处的颜色 color: "#07A3FB00", // 100% 处的颜色
} },
] ],
}, },
}, },
}, },
], ],
}; };

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

@ -1,44 +1,27 @@
import * as echarts from "echarts"; import * as echarts from "echarts";
var options = { var options = {
color: ["#E29E37"], color: ["#E29E37"],
grid: { grid: {
left: "2%", left: "0%",
right: "5%", right: "0%",
bottom: "10%", bottom: "0%",
top: "10%", top: "10%",
containLabel: true, containLabel: true,
}, },
legend: { tooltip: {
show:false, show: true,
icon: 'rect',
top: '0%',
right: '5%',
data: ['实时数据'],
itemWidth:18,
itemHeight: 5,
itemGap: 30,
itemStyle:{
color:"#FFD15C",
},
textStyle: {
fontSize: 12,
color: '#fff',
padding: [0, 0, 0, 10],
},
}, },
xAxis: { xAxis: {
type: "category", type: "category",
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: "#E29E37", color: "#E29E37",
fontSize: 12,
}, },
}, },
axisLabel: { axisLabel: {
// interval:0, // interval:0,
color: "#BDD8FB", color: "#fff",
fontSize: 12, fontSize: 10,
}, },
axisTick: { axisTick: {
show: false, show: false,
@ -60,12 +43,9 @@ var options = {
}, },
yAxis: { yAxis: {
type: "value", type: "value",
min: 0,
max:800,
minInterval: 100,
nameTextStyle: { nameTextStyle: {
fontSize: 12, fontSize: 10,
color: "#BDD8FB", color: "#fff",
align: "center", align: "center",
}, },
splitLine: { splitLine: {
@ -74,17 +54,10 @@ var options = {
// type: 'dashed', // dotted 虚线 // type: 'dashed', // dotted 虚线
}, },
}, },
splitArea: { show: false },
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: { axisLabel: {
fontSize: 12, fontSize: 10,
fontFamily: "Bebas", fontFamily: "Bebas",
color: "#BDD8FB", color: "#fff",
}, },
}, },
series: [ series: [
@ -94,9 +67,9 @@ var options = {
showSymbol: false, showSymbol: false,
smooth: true, // 是否曲线 smooth: true, // 是否曲线
name: "实时数据", // 图例对应类别 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 :{ lineStyle: {
color:"#E29E37" color: "#E29E37",
}, },
areaStyle: { areaStyle: {
// 区域颜色 // 区域颜色
@ -111,7 +84,7 @@ var options = {
// }, // },
// ]), // ]),
color: { color: {
type: 'linear', type: "linear",
x: 0, //右 x: 0, //右
y: 0, //下 y: 0, //下
x2: 0, //左 x2: 0, //左
@ -119,18 +92,17 @@ var options = {
colorStops: [ colorStops: [
{ {
offset: 0.1, offset: 0.1,
color: '#E29E3799' // 0% 处的颜色 color: "#E29E3799", // 0% 处的颜色
}, },
{ {
offset: 1, offset: 1,
opacity:0.01, opacity: 0.01,
color: '#E29E3700' // 100% 处的颜色 color: "#E29E3700", // 100% 处的颜色
} },
] ],
}, },
}, },
}, },
], ],
}; };

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

@ -1,44 +1,28 @@
import * as echarts from "echarts"; import * as echarts from "echarts";
var options = { var options = {
color: ["#32BB8A", "#01B3E4"], color: ["#32BB8A", "#01B3E4"],
tooltip: {
show: true,
},
grid: { grid: {
left: "2%", left: "0%",
right: "5%", right: "0%",
bottom: "10%", bottom: "0%",
top: "10%", top: "10%",
containLabel: true, containLabel: true,
}, },
legend: {
show:false,
icon: 'rect',
top: '0%',
right: '5%',
data: ['实时数据'],
itemWidth:18,
itemHeight: 5,
itemGap: 30,
itemStyle:{
color:"#FFD15C",
},
textStyle: {
fontSize: 12,
color: '#fff',
padding: [0, 0, 0, 10],
},
},
xAxis: { xAxis: {
type: "category", type: "category",
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: "#32BB8A", color: "#32BB8A",
fontSize: 12,
}, },
}, },
axisLabel: { axisLabel: {
// interval:0, // interval:0,
color: "#BDD8FB", color: "#fff",
fontSize: 12, fontSize: 10,
}, },
axisTick: { axisTick: {
show: false, show: false,
@ -60,31 +44,16 @@ var options = {
}, },
yAxis: { yAxis: {
type: "value", type: "value",
min: 0,
max:800,
minInterval: 100,
nameTextStyle: {
fontSize: 12,
color: "#BDD8FB",
align: "center",
},
splitLine: { splitLine: {
lineStyle: { lineStyle: {
color: "#32BB8A", color: "#32BB8A",
// type: 'dashed', // dotted 虚线 // type: 'dashed', // dotted 虚线
}, },
}, },
splitArea: { show: false },
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: { axisLabel: {
fontSize: 12, fontSize: 10,
fontFamily: "Bebas", fontFamily: "Bebas",
color: "#BDD8FB", color: "#fff",
}, },
}, },
series: [ series: [
@ -93,10 +62,10 @@ var options = {
// symbol: "none", // symbol: "none",
showSymbol: false, showSymbol: false,
smooth: true, // 是否曲线 smooth: true, // 是否曲线
name: "实时数据", // 图例对应类别 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 :{ lineStyle: {
color:"#32BB8A" color: "#32BB8A",
}, },
areaStyle: { areaStyle: {
// 区域颜色 // 区域颜色
@ -111,7 +80,7 @@ var options = {
// }, // },
// ]), // ]),
color: { color: {
type: 'linear', type: "linear",
x: 0, //右 x: 0, //右
y: 0, //下 y: 0, //下
x2: 0, //左 x2: 0, //左
@ -119,18 +88,20 @@ var options = {
colorStops: [ colorStops: [
{ {
offset: 0.1, offset: 0.1,
color: '#32BB8A99' // 0% 处的颜色 color: "#32BB8A99", // 0% 处的颜色
}, },
{ {
offset: 1, offset: 1,
opacity:0.01, opacity: 0.01,
color: '#32BB8A01' // 100% 处的颜色 color: "#32BB8A01", // 100% 处的颜色
}
]
}, },
],
},
},
tooltip: {
show: true,
}, },
}, },
], ],
}; };

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

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

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

@ -28,7 +28,7 @@ let data2 = [[60, 60, 65, 60, 70, 40, 80, 63]];
let options = { let options = {
tooltip: { tooltip: {
show: true, show: true,
trigger: "item", // trigger: "item",
formatter: (data) => { formatter: (data) => {
// console.log(data.seriesIndex); // console.log(data.seriesIndex);
var tip = '<span class="echarts-tip-h5">' + data.seriesName + "</span>"; var tip = '<span class="echarts-tip-h5">' + data.seriesName + "</span>";

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

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

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

63
ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/data.js

@ -0,0 +1,63 @@
import * as PresetFormItems from "@screen/common/PresetFormItems.js";
import { merge, cloneDeep } from "lodash";
export const searchFormList = [
PresetFormItems.eventType,
{
label: "事件状态:",
key: "eventState",
type: "RadioGroup",
options: {
options: [
{
key: "0",
label: "未解决",
},
{
key: "1",
label: "已解决",
},
{
key: "2",
label: "已关闭",
},
],
},
},
{
label: "审核状态:",
key: "checkState",
type: "RadioGroup",
options: {
options: [
{
key: "0",
label: "待审核",
},
{
key: "1",
label: "已审核",
},
{
key: "2",
label: "未通过",
},
],
},
},
{
label: "时间范围:",
key: "daterange",
required: false,
type: "datePicker",
options: {
type: "daterange",
format: "yyyy-MM-dd HH:mm:ss",
valueFormat: "yyyy-MM-dd HH:mm:ss",
},
},
PresetFormItems.startStation,
PresetFormItems.endStation
];

4
ruoyi-ui/src/views/JiHeExpressway/pages/service/InformationReleaseManagement/Cards/AuditLists/index.vue

@ -1,6 +1,6 @@
<template> <template>
<Card2 class='Auditlists' title="审核列表"> <Card2 class='Auditlists' title="审核列表">
<InputSearch style="width: 100%;" /> <InputSearch style="width: 100%;" :formList="searchFormList" />
<div class="body"> <div class="body">
<ListItem v-for="item in list1" :key="item.id" :data="item" origin="left" class="middle-ratio" /> <ListItem v-for="item in list1" :key="item.id" :data="item" origin="left" class="middle-ratio" />
<ListItem v-for="item in list2" :key="item.id" :data="item" origin="left" class="middle-ratio" /> <ListItem v-for="item in list2" :key="item.id" :data="item" origin="left" class="middle-ratio" />
@ -15,6 +15,7 @@
import Card2 from "@screen/components/Card2/Card.vue"; import Card2 from "@screen/components/Card2/Card.vue";
import Pagination from '@screen/components/Pagination.vue'; import Pagination from '@screen/components/Pagination.vue';
import InputSearch from '@screen/components/InputSearch/index.vue'; import InputSearch from '@screen/components/InputSearch/index.vue';
import { searchFormList } from './data';
import ListItem from "./ListItem.vue"; import ListItem from "./ListItem.vue";
export default { export default {
@ -27,6 +28,7 @@ export default {
}, },
data() { data() {
return { return {
searchFormList,
list1: Array.from({ length: 3 }).map(() => ({ list1: Array.from({ length: 3 }).map(() => ({
title: "异常天气", title: "异常天气",
content: "2023.12.23 13:00:00 济南方向K100+000 中雪", content: "2023.12.23 13:00:00 济南方向K100+000 中雪",

Loading…
Cancel
Save