diff --git a/ruoyi-ui/src/api/observationStation/observationStation.js b/ruoyi-ui/src/api/observationStation/observationStation.js new file mode 100644 index 00000000..87171552 --- /dev/null +++ b/ruoyi-ui/src/api/observationStation/observationStation.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询观测站信息列表 +export function listDcTrafficSurveyData(query) { + return request({ + url: '/dcObservationStation/list', + method: 'get', + params: query + }) +} + +// 查询观测站信息详细 +export function getDcTrafficSurveyData(id) { + return request({ + url: '/dcObservationStation/' + id, + method: 'get' + }) +} + +// 新增观测站信息 +export function addDcTrafficSurveyData(data) { + return request({ + url: '/dcObservationStation', + method: 'post', + data: data + }) +} + +// 修改观测站信息 +export function updateDcTrafficSurveyData(data) { + return request({ + url: '/dcObservationStation', + method: 'put', + data: data + }) +} + +// 删除观测站信息 +export function delDcTrafficSurveyData(id) { + return request({ + url: '/dcObservationStation/' + id, + method: 'delete' + }) +} + +// 导出观测站信息 +export function exportDcTrafficSurveyData(query) { + return request({ + url: '/dcObservationStation/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js index fce56f97..cab8c0c1 100644 --- a/ruoyi-ui/src/common/menuData.js +++ b/ruoyi-ui/src/common/menuData.js @@ -42,6 +42,25 @@ export default [ path: "/perception/noStakeWaning", name: "perceptionNoStakeWaning", component: "perception/noStakeWaning/index.vue", + }, + { + title: "一类交调站", + name: "trafficSurvey", + path: "/perception/trafficSurvey", + redirect: "trafficSurvey", + children: [ + { + title: "站点管理", + path: "/perception/trafficSurvey/siteAdministration", + name: "siteAdministration", + component: "perception/trafficSurvey/siteAdministration/index.vue", + }, { + title: "综合查询", + path: "/perception/trafficSurvey/comprehensiveQuery", + name: "comprehensiveQuery", + component: "perception/trafficSurvey/comprehensiveQuery/index.vue", + } + ] } ], }, diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/charts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/charts.js new file mode 100644 index 00000000..55fe371e --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/charts.js @@ -0,0 +1,142 @@ +import * as echarts from "echarts"; + +// let xData = [ +// "大学城-长清", +// "长清-孝里", +// "孝里-平阴北", +// "平阴北-平阴", +// "平阴-平阴南", +// "平阴南-东平", +// "东平-梁山东", +// "梁山东-梁山", +// "梁山-嘉祥西", +// "梁山东-梁山", +// ]; +let data1 = [200, 530, 920, 400, 600, 700, 300, 800]; +let data2 = [120, 340, 750, 600, 400, 700, 900, 200]; +let data3 = [200, 530, 920, 400, 600, 700, 300, 800]; +let options = { + tooltip: { + show: true, + trigger: "axis", + }, + grid: { + left: "10px", + right: "10px", + top: "20px", + bottom: "10px", + containLabel: true, + }, + xAxis: { + data: [], + show: true, + axisTick: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLine: { + lineStyle: { + color: "#2A6278", + }, + }, + axisLabel: { + show:false, + interval: 1, + align: "center", + rotate: "1", + margin: 30, + textStyle: { + fontSize: 10, + color: "#E5E7E8", + }, + }, + }, + yAxis: [ + { + nameTextStyle: { + color: "#E5E7E8", + fomtSize: 10, + }, + axisLine: { + lineStyle: { + color: "#1C82C5", + }, + }, + splitLine: { + show: false, + lineStyle: { + color: "#2A6278", + type: "solid", + }, + }, + axisLabel: { + color: "#E5E7E8", + textStyle: { + fontSize: 10, + }, + }, + axisTick: { + show: false, + }, + }, + ], + legend: { + // orient: 'vertical', + // icon: "circle", + itemHeight: 8, + itemWidth: 8, + top: "0", + right: "2%", + textStyle: { + color: "#fff", + }, + + data: [ + { + name: "菏泽", + icon: "circle", + itemStyle: { + color: "#02A0F8", + }, + }, + { + name: "济南", + icon: "circle", + itemStyle: { + color: "#E4BB53", + }, + }, + ], + }, + series: [ + { + name: "菏泽", + type: "line", + selectedMode: false, + itemStyle: { + barBorderRadius: [10, 10, 10, 10], // 圆角(左上、右上、右下、左下) + // lenged文本 + opacity: 1, + color: '#02A0F8', + }, + data: data1, + }, + // 下半截柱状图linear-gradient(180deg, #61D8FF 0%, #003B4E 100%); linear-gradient(180deg, #06D7B1 0%, #003B4E 100%) + { + name: "济南", + type: "line", + selectedMode: false, + itemStyle: { + // lenged文本 + barBorderRadius: [10, 10, 10, 10], // 圆角(左上、右上、右下、左下) + opacity: 1, + color: '#E4BB53' + }, + data: data2, + }, + ], +}; + +export default options; diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/data.js new file mode 100644 index 00000000..6f7ea01a --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/data.js @@ -0,0 +1,144 @@ +import moment from "moment"; + +export const deviceList = [ + { + iotDeviceId: "10.0.111.82-3131", + deviceName: "一类交调站(K057+145)", + color: "#009A29", + }, + { + iotDeviceId: "10.0.81.105-3131", + deviceName: "一类交调站(K082+285)", + color: "#0DA5AA", + }, + { + iotDeviceId: "10.0.111.84-3131", + deviceName: "一类交调站(K084+640)", + color: "#206CCF", + }, + { + iotDeviceId: "10.0.111.85-3131", + deviceName: "一类交调站(K115+573)", + color: "#CB272D", + }, + { + iotDeviceId: "10.0.111.86-3131", + deviceName: "一类交调站(K120+618)", + color: "#CC5120", + }, + { + iotDeviceId: "10.0.111.87-3131", + deviceName: "一类交调站(K153+100)", + color: "#D25F00", + }, + { + iotDeviceId: "10.0.111.88-3131", + deviceName: "一类交调站(K158+250)", + color: "#CC9213", + }, + { + iotDeviceId: "10.0.111.89-3131", + deviceName: "一类交调站(K205+400)", + color: "#CFAF0F", + }, +] + +export const searchFormList = [ + + { + label: "时间:", + key: "date", + type: "datePicker", + required: true, + default: moment(new Date()).format("YYYY-MM-DD HH:mm:ss"), + options: { + type: "datetime", + format: "yyyy-MM-dd HH:mm:ss", + valueFormat: "yyyy-MM-dd HH:mm:ss", + }, + }, + { + label: "时间类型:", + key: "type", + type: "RadioGroup", + isAlone: true, + required: true, + default:'1', + options: { + activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", + options: [ + { + key: "1", + label: "日", + }, + { + key: "2", + label: "月", + }, + { + key: "3", + label: "年", + } + ], + }, + }, + { + label: "方向:", + key: "direction", + type: "RadioGroup", + isAlone: true, + default:'', + options: { + activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", + options: [ + { + key: "1", + label: "菏泽", + }, + { + key: "3", + label: "济南", + }, + { + key: "", + label: "双向", + } + ], + }, + }, + { + label: "数据类型:", + key: "dataType", + type: "RadioGroup", + required: true, + isAlone: true, + default:'1', + options: { + activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", + options: [ + { + key: "1", + label: "流量", + }, + { + key: "2", + label: "车速", + } + ], + }, + }, + + // { + // label: "方向:", + // key: "direction", + // type: "select", + // options: { + // options: [ + // { key: "3", label: "济南方向" }, + // { key: "1", label: "菏泽方向" }, + // { key: "2", label: "双向" }, + // ], + // }, + // } +]; + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/index.vue new file mode 100644 index 00000000..fb463558 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/comprehensiveQuery/index.vue @@ -0,0 +1,440 @@ + + + + + + + {{ item.deviceName }} + + + 暂无数据 + + + + + + + + + + 导出 + + + + + 实时数据 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{formatTime(scope.row.timestamp)}} + + + + + + + + + + + + + + + + + {{formatTime(scope.row.timestamp)}} + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/siteAdministration/data.js b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/siteAdministration/data.js new file mode 100644 index 00000000..30329a28 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/siteAdministration/data.js @@ -0,0 +1,104 @@ +import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js"; +import moment from "moment"; + + + +export const searchFormList = [ + + { + label: "时间:", + key: "date", + type: "datePicker", + required: true, + default: moment(new Date()).format("YYYY-MM-DD HH:mm:ss"), + options: { + type: "datetime", + format: "yyyy-MM-dd HH:mm:ss", + valueFormat: "yyyy-MM-dd HH:mm:ss", + }, + }, + { + label: "时间类型:", + key: "type", + type: "RadioGroup", + isAlone: true, + required: true, + default:'1', + options: { + activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", + options: [ + { + key: "1", + label: "日", + }, + { + key: "2", + label: "月", + }, + { + key: "3", + label: "年", + } + ], + }, + }, + { + label: "方向:", + key: "direction", + type: "RadioGroup", + isAlone: true, + default:'', + options: { + activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", + options: [ + { + key: "1", + label: "菏泽", + }, + { + key: "3", + label: "济南", + }, + { + key: "", + label: "双向", + } + ], + }, + }, + { + label: "数据类型:", + key: "dataType", + type: "RadioGroup", + required: true, + isAlone: true, + default:'1', + options: { + activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", + options: [ + { + key: "1", + label: "流量", + }, + { + key: "2", + label: "车速", + } + ], + }, + }, + + // { + // label: "方向:", + // key: "direction", + // type: "select", + // options: { + // options: [ + // { key: "3", label: "济南方向" }, + // { key: "1", label: "菏泽方向" }, + // { key: "2", label: "双向" }, + // ], + // }, + // } +]; + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/siteAdministration/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/siteAdministration/index.vue new file mode 100644 index 00000000..a77be5c8 --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/trafficSurvey/siteAdministration/index.vue @@ -0,0 +1,547 @@ + + + + + + + 添加 + + + + 导出 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 是 + 否 + + + + + + + + + + + + + {{ parseTime(scope.row.dateOfWebsiteEstablishment, '{y}-{m}-{d}') }} + + + + + + + + + + + + + + + + + + + + + + 修改 + 删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 否 + 是 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +