diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js index 86bb8fb7..cf33c1e5 100644 --- a/ruoyi-ui/src/common/menuData.js +++ b/ruoyi-ui/src/common/menuData.js @@ -98,6 +98,13 @@ export default [ position: "left", path: "/maintain", component: "developing.vue", + children: [ + { + title: "收费运营", + name: "chargeableOperations", + path: "/maintain/board", + component: "maintenanceOperations/chargeableOperations/index.vue", + }] }, { title: "公众服务", diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/RoadSectionTolls/assets/charts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/RoadSectionTolls/assets/charts.js new file mode 100644 index 00000000..cf0fac1d --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/RoadSectionTolls/assets/charts.js @@ -0,0 +1,261 @@ +import * as echarts from "echarts"; + +var xData = ['梁山东', '安城', '梁山', '孝里', '平阴北', '长青','东平','平阴南','嘉祥西'] +let eventWarning = [55, 50, 46, 46, 55, 45,33,62,30] +let eventHandling = [2000, 1700, 1600, 1450, 2100, 1500, 1200,1200,1900] +let legend = ['通行量', '收费金额'] +let options = { + color: ['#2CF1FF', '#3456FF'], + timeline: { + show: false, + }, + tooltip: { + trigger: "axis", + axisPointer: { + type: "shadow", + }, + backgroundColor: "rgba(255,255,255,0.75)", + extraCssText: "box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.3);", + textStyle: { + fontSize: 14, + color: "#000", + }, + formatter: "{a}
{b} :\n\n{c} 个", + }, + legend: { + top: 10, + right: "center", + itemWidth: 16, + itemHeight: 6, + itemGap: 20, + icon: "horizontal", + itemStyle:{ + borderRadius:9, + }, + textStyle: { + color: "#ffffff", + fontSize: 16, + }, + data: legend, + }, + grid: [ + // 左边 + { + show: false, + left: "5%", + top: "15%", + bottom: "10%", + containLabel: true, + width: "40%", + }, + // 中间 + { + show: false, + left: "51%", + top: "15%", + bottom: "15%", + width: "0%", + }, + // 右边 + { + show: false, + right: "5%", + top: "15%", + bottom: "10%", + containLabel: true, + width: "40%", + }, + ], + xAxis: [ + { + type: "value", + inverse: true, + axisTick: { + show: false, + }, + axisLabel: { + show: false, + }, + axisLabel: { + show: true, + verticalAlign: 'middle', + textStyle: { + color: 'rgba(255, 255, 255, 0.7)', + fontSize: 12, + }, + }, + splitLine: { + show: false, + }, + }, + { + gridIndex: 1, + show: false, + }, + { + gridIndex: 2, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + show: true, + verticalAlign: 'middle', + textStyle: { + color: 'rgba(255, 255, 255, 0.7)', + fontSize: 12, + }, + }, + splitLine: { + show: false, + }, + }, + ], + yAxis: [ + { + type: "category", + inverse: true, + position: "right", + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + axisLabel: { + show: false, + }, + data: xData, + }, + { + gridIndex: 1, + type: "category", + inverse: true, + position: "left", + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + show: true, + color: "rgba(255, 255, 255, 1)", + fontSize: 12, + align: "center", + }, + data: xData.map(function (value) { + return { + value: value, + textStyle: { + align: "center", + }, + }; + }), + }, + { + gridIndex: 2, + type: "category", + inverse: true, + position: "left", + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + axisLabel: { + show: false, + }, + data: xData, + }, + ], + series: [ + { + name: legend[0], + type: "bar", + barWidth: 10, + stack: "1", + label: { + normal: { + show: true, + position: "left", + z:"100", + valueAnimation: true, + textStyle: { + color: "#F5F5F5", + fontSize: 10, + }, + formatter: '{c}' + }, + }, + itemStyle: { + borderRadius:9, + //Y轴数字显示部分 + + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ + { + offset: 0, + color: "#167145", + }, + { + offset: 1, + color: "#01EAC1", + }, + ]), + }, + data: eventWarning, + animationEasing: "elasticOut", + showBackground: true, + backgroundStyle: { + color: 'rgba(180, 180, 180, 0.2)' + } + }, + { + name: legend[1], + type: "bar", + stack: "2", + barWidth: 10, + xAxisIndex: 2, + yAxisIndex: 2, + label: { + normal: { + show: true, + position: "right", + z:"100", + valueAnimation: true, + textStyle: { + color: "#F5F5F5", + fontSize: 10, + }, + formatter: '{c}' + }, + }, + itemStyle: { + borderRadius:9, + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ + { + offset: 0, + color: "#F89336", + }, + { + offset: 1, + color: "#D2BCA7", + }, + ]), + }, + data: eventHandling, + animationEasing: "elasticOut", + showBackground: true, + backgroundStyle: { + color: 'rgba(180, 180, 180, 0.2)' + } + }, + ], +}; + + + + export default options \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/RoadSectionTolls/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/RoadSectionTolls/index.vue new file mode 100644 index 00000000..1ccd1501 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/RoadSectionTolls/index.vue @@ -0,0 +1,70 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/assets/img_1.png b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/assets/img_1.png new file mode 100644 index 00000000..1a76eeef Binary files /dev/null and b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/assets/img_1.png differ diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/assets/img_2.png b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/assets/img_2.png new file mode 100644 index 00000000..9261848e Binary files /dev/null and b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/assets/img_2.png differ diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/index.vue new file mode 100644 index 00000000..7cde56a1 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/accessAnalysis/index.vue @@ -0,0 +1,324 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/auxiliaryFlowcharts/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/auxiliaryFlowcharts/index.vue new file mode 100644 index 00000000..e28cb6a4 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/auxiliaryFlowcharts/index.vue @@ -0,0 +1,886 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/daylyAnalysis/assets/charts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/daylyAnalysis/assets/charts.js new file mode 100644 index 00000000..9c4ff8fe --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/daylyAnalysis/assets/charts.js @@ -0,0 +1,293 @@ +import * as echarts from "echarts"; + +var data1 = [5, 12, 4, 6, 7, 9, 10, 15, 3, 5, 6, 15] +var data2 = [5, 12, 4, 6, 7, 9, 10, 15, 3, 5, 6, 15] +var options = { + tooltip: { + trigger: 'axis', + backgroundColor: 'rgba(17,95,182,0.5)', + textStyle: { + color: "#fff" + }, + formatter: function (params) { + return params[1].marker + '' + params[1].name + '\n' + + "
" + + "" + + " " + params[1].seriesName + ': ' + params[1].value + "\n" + ' ' + + "
" + + "" + + '' + " " + params[3].seriesName + ': ' + params[3].value; + } + }, + grid: { + left: '5%', + right: '5%', + top: '25%', + bottom: '12%' + }, + xAxis: { + data: ['01日', '02日', '03日', '04日', '05日', '06日','07日', '08日', '09日', '10日', '11日', '12日'], + show: true, + axisTick: { + show: false + }, + axisLine: { + show: true, + lineStyle: { + type: 'solid', + color: '#2D4377', + opacity: 1 + } + }, + // lineStyle: { + // show: true, + // type: 'solid' + // }, + axisLabel: { + interval: 0, + textStyle: { + color: 'rgba(255,255,255,0.8)', + fontSize: 14 + }, + margin: 12 // 刻度标签与轴线之间的距离。 + } + + }, + yAxis: [{ + min: 0, + max: 18, + type: 'value', + minInterval:3, + maxInterval:3, + name: '(单位:万)', + nameTextStyle: { + align: 'left', + color: 'rgba(255,255,255,0.8)', + padding: [0, 0, 0, -20], + fontSize: 14 + }, + splitLine: { + show: true, + lineStyle: { + type: 'dashed', + color: '#2D4377', + opacity: 0.5 + } + }, + axisTick: { + show: false + }, + axisLine: { + show: true, + lineStyle: { + color: '#2D4377', + } + }, + axisLabel: { + textStyle: { + color: 'rgba(255,255,255,0.8)', + fontSize: 14 + } + }, + data:[ + '0','3','6','9','12','15','18' + ], + }, { + show: true, + name: '', + min: 0, + max: 18, + type: 'value', + minInterval:3, + maxInterval:3, + splitNumber:3, + formatter:function(e){ + console.log("---------------",e); + }, + nameTextStyle: { + align: 'left', + color: 'rgba(255,255,255,0.8)', + padding: [0, 0, 0, 10], + fontSize: 14 + }, + splitLine: { show: false }, + axisLine: { show: true }, + axisTick: { show: false }, + axisLabel: { + textStyle: { fontSize: 14, color: 'rgba(255,255,255,0.8)' } + }, + data:[ + '0%','3%','6%','9%','12%','15%','18%' + ], + }], + legend: { + icon: 'rect', + itemWidth: 25, + itemHeight: 10, + top: '5%', + right: '5%', + textStyle: { + color: '#fff', + fontSize: 14 + }, + lineStyle:{ + show:false, + }, + itemGap: 12, // 设置间距 + data:[{ + name:'增收金额', + itemStyle:{ + color:new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#1CE8E8' // 0% 处的颜色 + }, { + offset: 1, + color: '#2CAEE3' // 100% 处的颜色 + }], false) + }, + }, + { + name:'增涨率', + itemStyle:{ + color:"#006AA6" + } + }], + }, + series: [ + + // 下半截柱状图 + { + name: '增收金额', + type: 'bar', + barWidth: 12, + barGap: '-100%', + borderCap:"round", + itemStyle: { // lenged文本 + opacity: 1, + borderCap:"round", + color: function (params) { + var a = params.name.slice(0, 2) + return new echarts.graphic.LinearGradient(1, 0, 0, 1, [{ + offset: 0, + color: '#1CE8E8' // 0% 处的颜色 + }, { + offset: 1, + color: '#2CAEE3' // 100% 处的颜色 + }], false) + } + }, + + data: data1 + }, + + + { + 'name': '', + 'type': 'pictorialBar', + 'symbolSize': [12, 12], + 'symbolOffset': [0, -4], + 'z': 5, + itemStyle: { + opacity: 1, + borderCap:"round", + color: function (params) { + var a = params.name.slice(0, 2) + + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#0BA7DA' // 0% 处的颜色 + }, { + offset: 1, + color: '#0BA7DA30' // 100% 处的颜色 + }], false) + } + }, + 'symbolPosition': 'end', + 'data': data1 + }, + { + name: '增涨率', + 'z': 9, + yAxisIndex: 1, + type: 'line', + data: data2, + symbol: + "image://data:image/png;base64,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", + symbolSize: [20, 20], + symbolOffset:['0',0], + lineStyle: { + normal: { + width: 3, + color: '#006AA6' // 线条颜色 + }, + borderWidth:5, + borderColor: '#006AA6' + }, + itemStyle:{ + color:"#006AA6", + }, + + }, + + { + name: '', + type: 'bar', + barWidth: 12, + barGap: '-100%', + z: 0, + itemStyle: { + borderCap:"round", + color: '#163F7A', + opacity: .7, + }, + data: [18, 18, 18, 18, 18, 18,18, 18, 18, 18, 18, 18] + }, + { + 'name': '', + 'type': 'pictorialBar', + 'symbolSize': [12, 12], + 'symbolOffset': [0, -5], + 'z': 5, + itemStyle: { + barBorderRadius: [13, 13, 13, 13], + opacity: 1, + borderCap:"round", + color: function (params) { + var a = params.name.slice(0, 2) + + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#2CAEE3' // 0% 处的颜色 + }, { + offset: 1, + color: '#2CAEE3' // 100% 处的颜色 + }], false) + } + }, + 'symbolPosition': 'end', + data: [0, 0, 0, 0, 0, 0,0, 0, 0,0, 0, 0] + } + ] +} + +// option && myChart3.setOption(option); +// if (option && typeof option === "object") { +// myChart3.setOption(option, true); +// refreshChart(myChart3,option); +// var index3 = 0; //播放所在下标 +// var mTime = setInterval(function () { +// myChart3.dispatchAction({ +// type: 'showTip', +// seriesIndex: 0, +// dataIndex: index3 +// }); +// index3++; +// if (index3 >= 6) { +// //console.log('data4', fxdata.length) +// index3 = 0; +// //console.log(fxdata) +// } +// }, 2600); +// } + +export default options; \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/daylyAnalysis/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/daylyAnalysis/index.vue new file mode 100644 index 00000000..a5924379 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/daylyAnalysis/index.vue @@ -0,0 +1,70 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/laneTolls/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/laneTolls/index.vue new file mode 100644 index 00000000..593fd9dd --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/laneTolls/index.vue @@ -0,0 +1,165 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/assets/charts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/assets/charts.js new file mode 100644 index 00000000..1492a683 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/assets/charts.js @@ -0,0 +1,254 @@ +import * as echarts from "echarts"; + +var data1 = [5, 12, 4, 6, 7, 9, 10, 15, 3, 5, 6, 15] +var data2 = [5, 12, 4, 6, 7, 9, 10, 15, 3, 5, 6, 15] +var options = { + tooltip: { + trigger: 'axis', + backgroundColor: 'rgba(17,95,182,0.5)', + textStyle: { + color: "#fff" + }, + formatter: function (params) { + return params[1].marker + '' + params[1].name + '\n' + + "
" + + "" + + " " + params[1].seriesName + ': ' + params[1].value + "\n" + ' ' + + "
" + + "" + + '' + " " + params[3].seriesName + ': ' + params[3].value; + } + }, + grid: { + left: '5%', + right: '5%', + top: '25%', + bottom: '12%' + }, + xAxis: { + data: ['1月', '2月', '3月', '4月', '5月', '6月','7月', '8月', '9月', '10月', '11月', '12月'], + show: true, + axisTick: { + show: false + }, + axisLine: { + show: true, + lineStyle: { + type: 'solid', + color: '#2D4377', + opacity: 1 + } + }, + // lineStyle: { + // show: true, + // type: 'solid' + // }, + axisLabel: { + interval: 0, + textStyle: { + color: 'rgba(255,255,255,0.8)', + fontSize: 14 + }, + margin: 12 // 刻度标签与轴线之间的距离。 + } + + }, + yAxis: [{ + min: 0, + max: 18, + minInterval:1, + maxInterval:1, + name: '(单位:万)', + nameTextStyle: { + align: 'left', + color: 'rgba(255,255,255,0.8)', + padding: [0, 0, 0, -20], + fontSize: 14 + }, + splitLine: { + show: true, + lineStyle: { + type: 'dashed', + color: '#2D4377', + opacity: 0.5 + } + }, + axisTick: { + show: false + }, + axisLine: { + show: true, + lineStyle: { + color: '#2D4377', + } + }, + axisLabel: { + textStyle: { + color: 'rgba(255,255,255,0.8)', + fontSize: 14 + } + }, + data:[ + '0','3','6','9','12','15','18' + ], + }, { + show: true, + name: '', + min: 0, + max: 18, + splitNumber:3, + nameTextStyle: { + align: 'left', + color: 'rgba(255,255,255,0.8)', + padding: [0, 0, 0, 10], + fontSize: 14 + }, + splitLine: { show: false }, + axisLine: { show: true }, + axisTick: { show: false }, + axisLabel: { + textStyle: { fontSize: 14, color: 'rgba(255,255,255,0.8)' } + }, + data:[ + '0%','3%','6%','9%','12%','15%','18%' + ], + }], + legend: { + top: '5%', + right: '5%', + icon: 'rect', + itemWidth: 25, + itemHeight: 10, + textStyle: { + color: '#fff', + fontSize: 14 + }, + lineStyle:{ + show:false, + color:"#00E4BB", + }, + data:[{ + name:'增收金额', + itemStyle:{ + color:new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#00E4BB' // 0% 处的颜色 + }, { + offset: 1, + color: '#003B4E' // 100% 处的颜色 + }], false) + }, + }, + { + name:'增涨率', + itemStyle:{ + color:"#755400" + } + }], + itemGap: 12 // 设置间距 + }, + series: [ + + // 下半截柱状图 + { + name: '增收金额', + type: 'bar', + barWidth: 12, + barGap: '-100%', + itemStyle: { // lenged文本 + opacity: 1, + barBorderRadius: [13, 13, 13, 13], + color: function (params) { + var a = params.name.slice(0, 2) + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#00E4BB' // 0% 处的颜色 + }, { + offset: 1, + color: '#003B4E' // 100% 处的颜色 + }], false) + } + }, + + data: data1 + }, + + + { + 'name': '', + 'type': 'pictorialBar', + 'symbolSize': [12, 12], + 'symbolOffset': [0, -4], + 'z': 5, + itemStyle: { + opacity: 1, + color: function (params) { + var a = params.name.slice(0, 2) + + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#00E4BB' // 0% 处的颜色 + }, { + offset: 1, + color: '#00E4BB30' // 100% 处的颜色 + }], false) + } + }, + 'symbolPosition': 'end', + 'data': data1 + }, + { + name: '增涨率', + 'z': 9, + yAxisIndex: 1, + type: 'line', + data: data2, + symbol:"image://data:image/png;base64,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", + symbolSize: [20, 20], + symbolOffset:['0',0], + lineStyle: { + normal: { + width: 3, + color: '#FF9B61' // 线条颜色 + }, + borderColor: '#FF9B61' + }, + + }, + + { + name: '', + type: 'bar', + barWidth: 12, + barGap: '-100%', + z: 0, + itemStyle: { + color: '#163F7A', + opacity: .7, + }, + data: [18, 18, 18, 18, 18, 18,18, 18, 18, 18, 18, 18] + } + ] +} + +// option && myChart3.setOption(option); +// if (option && typeof option === "object") { +// myChart3.setOption(option, true); +// refreshChart(myChart3,option); +// var index3 = 0; //播放所在下标 +// var mTime = setInterval(function () { +// myChart3.dispatchAction({ +// type: 'showTip', +// seriesIndex: 0, +// dataIndex: index3 +// }); +// index3++; +// if (index3 >= 6) { +// //console.log('data4', fxdata.length) +// index3 = 0; +// //console.log(fxdata) +// } +// }, 2600); +// } + +export default options; \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/index.vue new file mode 100644 index 00000000..b19593e3 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/monthlyAnalysis/index.vue @@ -0,0 +1,70 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/roadNetworkTraffic/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/roadNetworkTraffic/index.vue new file mode 100644 index 00000000..6ea2e7d0 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/roadNetworkTraffic/index.vue @@ -0,0 +1,165 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/truckLaneTolls/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/truckLaneTolls/index.vue new file mode 100644 index 00000000..d7639b43 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/truckLaneTolls/index.vue @@ -0,0 +1,165 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/vehicleTolls/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/vehicleTolls/index.vue new file mode 100644 index 00000000..5c7f4c4a --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/components/vehicleTolls/index.vue @@ -0,0 +1,165 @@ + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/index.vue new file mode 100644 index 00000000..44a6ea8f --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/maintenanceOperations/chargeableOperations/index.vue @@ -0,0 +1,196 @@ + + + + + + \ No newline at end of file