From acc800c80ecefa05a8c621810e5b4aa81c408a15 Mon Sep 17 00:00:00 2001 From: little4 <360013221@qq.com> Date: Thu, 31 Oct 2024 09:21:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=B3=BB=E7=BB=9F=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/README.md | 99 -- ruoyi-ui/codehelp_files.md | 2128 +++++++++++++++++++++++++++++++++++ ruoyi-ui/codehelp_readme.md | 204 ++++ 3 files changed, 2332 insertions(+), 99 deletions(-) create mode 100644 ruoyi-ui/codehelp_files.md create mode 100644 ruoyi-ui/codehelp_readme.md diff --git a/ruoyi-ui/README.md b/ruoyi-ui/README.md index 82cc4cbe..559cb4f1 100644 --- a/ruoyi-ui/README.md +++ b/ruoyi-ui/README.md @@ -74,102 +74,3 @@ npm install video-flash --save npm install file-saver --save ``` - -## 开发教程 - -### Element Form 封装 - -PresetFormItems.js 里面封装了一些可以复用的表单项 -data.js 表单封装,里面会使用PresetFormItems的一些FormItem. - -Form表单属性介绍: -
-/* - column: 一行放多少元素(基于:style grid布局实现) - formList: 表单项(FormItem)配置集合 - v-model: 双向绑定的表单数据(可以获取到表单数据(同步表单数据this.$emit("update:value", this.formData)), 也可修改表单数据) -*/ - -FormItem属性介绍 & ons 事件监听: - -export const additionalNotes = { - label: "补充说明:", // 标题 - key: "eventSourceTips", //数据存储字段 - isAlone: true, // 单独一行 - required: true, //必填 - default: 5, //默认值 - type: "input", //组件类型(el-input 去掉el-即可) 不填默认为input - options: { //element原生formItem属性 - type: "textarea", - autosize: true, - maxlength: 150, - autosize: { minRows: 6, maxRows: 6 }, - showWordLimit: true, - }, - visible: data => { //现隐控制 - if (data.searchType == 1) { - return true - } - }, - ons: { //on监听 element事件 - change(value, ...args) { - const { data, formList } = args.slice(-1)\[0]; //data 为表单数据 formList为传入的配置项 - formList[4].options.options = []; //调整配置项 修改下拉框options选项 - this.$set(this.data, 'deviceState', undefined); //更新v-model双向绑定的表单数据 - } - }, -}; - -MultipleLabelItem是单独写的组件,事件需按如下配置: - merge({}, PresetFormItems.startStation, - { - options: { - options: [ - { - prefix: { - text: "K", - style: { - color: "#3DE8FF", - }, - }, - key: "startStakeMark[0]", - default: "55", - rules: [ - { - message: "请补全桩号", - callback(value, data) { - console.log(value, data.startStakeMark); - if ( - !((value + "")?.trim() && (data.startStakeMark[1] + "")?.trim()) - ) - return false; - else return true; - }, - }, - ], - ons: { //on监听 element事件 - change(value, ...args) { - const { data, formList } = args.slice[-1](0); //data 为数据 formList为传入的配置项 - data.deviceType && changeHandle(data, formList); - } - }, - }, - { - prefix: { - text: "+", - style: { - color: "#3DE8FF", - }, - }, - default: "378", - key: "startStakeMark[1]", - ons: { //on监听 element事件 - change(value, ...args) { - const { data, formList } = args.slice[-1](0); //data 为数据 formList为传入的配置项 - data.deviceType && changeHandle(data, formList); - } - }, - }, - ], - } - }) diff --git a/ruoyi-ui/codehelp_files.md b/ruoyi-ui/codehelp_files.md new file mode 100644 index 00000000..0c2a0b10 --- /dev/null +++ b/ruoyi-ui/codehelp_files.md @@ -0,0 +1,2128 @@ +#### 目录结构 + +> 由于重新架构前端逻辑,将代码归集到 .\ruoyi-ui\src\views\JiHeExpressway 目录。 +> +> 前端基于ElementUI编写,增加了Element Form表单封装,具体可参考README.md +> +> 目录结构及功能概要描述如下 + +```anglar2html + + +│ index.vue //主页面,重建顶部菜单和路由 +│ +├─common +│ PresetFormItems.js //封装了一些可以复用的表单项 +│ +├─components //组件库,包含通用功能和Element组件新样式替换组件 +│ │ Adaptation.vue //弃用 +│ │ BorderRadiusImage.vue //圆角边框通用样式 +│ │ compX.vue //路由替换 +│ │ Descriptions.vue //通用详情展示 +│ │ empty.vue //暂无数据替换 +│ │ Pagination.vue //分页新样式 +│ │ ProgressBar.vue //进度条 +│ │ SimpleIcon.vue //通用图片图标样式 +│ │ Table.vue //通用表格样式 +│ │ Teleport.vue //父级接受路由参数并进行传递 +│ │ WarningNotify.vue //菜单右上角弹窗报警界面 +│ │ +│ ├─broadcast //通用语音广播展示组件 +│ │ broadcastEditor.vue //编辑器 +│ │ BroadcastTplList.vue //列表 +│ │ BroadcastTplShower.vue //内容展示条 +│ │ circle.png +│ │ sound.png +│ │ +│ ├─Buttons //通用按钮样式 +│ │ Button.vue //样式1 +│ │ ButtonGradient.vue //样式2 +│ │ +│ ├─CameraShower //附近相机 +│ │ │ CameraController.vue //相机云台控制 +│ │ │ index.vue +│ │ │ +│ │ └─images +│ │ add.svg +│ │ bottom.svg +│ │ left.svg +│ │ right.svg +│ │ sub.svg +│ │ top.svg +│ │ +│ ├─Card1 //列表展示卡片 - 样式1 +│ │ │ index.vue +│ │ │ 效果图.png +│ │ │ +│ │ └─images +│ │ amble.svg +│ │ comfortable.svg +│ │ congestion.svg +│ │ normal.svg +│ │ +│ ├─Card2 //列表展示卡片 - 样式2 +│ │ Card.vue +│ │ +│ ├─Card3 //列表展示卡片 - 样式3 +│ │ Card.vue +│ │ +│ ├─ChartExport //通用报表下载组件 +│ │ chartDl.png +│ │ index.vue +│ │ +│ ├─CustomControlVideo //视频控制切换(作废) +│ │ index.vue +│ │ +│ ├─Decorations //通用装饰物(作废) +│ │ BackgroundClip.vue +│ │ bg-1.vue +│ │ bg-2.vue +│ │ bg-btn.vue +│ │ +│ ├─Dialog //通用弹窗样式 +│ │ index.vue +│ │ utils.js +│ │ +│ ├─DialogDeviceOffline //设备离线弹窗 +│ │ data.js +│ │ index.vue +│ │ +│ ├─FormConfig // 通用表单配置 +│ │ │ index.vue +│ │ │ Proxy.vue +│ │ │ +│ │ ├─components //通用表单组件重写 +│ │ │ │ ElCheckboxGroup.vue +│ │ │ │ ElSelect.vue +│ │ │ │ MultipleLabelItem.vue +│ │ │ │ Text.vue +│ │ │ │ +│ │ │ └─RadioGroup +│ │ │ index.vue +│ │ │ Radio.vue +│ │ │ RadioButton.vue +│ │ │ RadioCircle.vue +│ │ │ +│ │ └─utils +│ │ defaultValue.js +│ │ index.js +│ │ +│ ├─HeaderMenu //顶部菜单栏 +│ │ │ Clock.vue //时间 +│ │ │ CustomMenu.vue //菜单 +│ │ │ EarlyWarning.vue //事件预警 +│ │ │ index.vue +│ │ │ menuData.js //顶部一级菜单映射 +│ │ │ UserArea.vue //个人中心信息 +│ │ │ WarningList.vue //通知报警弹窗 +│ │ │ +│ │ └─dialogWarn //预警弹窗(收费站车流量/全路段车流量) +│ │ chartsFee.js +│ │ DialogWarning.vue +│ │ mock.js +│ │ +│ ├─infoBoard //通用情报板组件 +│ │ BoardInfoEditor.vue //情报板编辑 +│ │ BoardPreview.vue //情报板展示 +│ │ BoardRecordPreview.vue +│ │ BoardTplPreview.vue +│ │ +│ ├─InputSearch //通用输入搜索组件,支持输入搜索/弹出搜索表单 +│ │ index.vue +│ │ index2.vue +│ │ search.svg +│ │ +│ ├─ManualWarningCard //列表视频父页面(切换图像/视频) +│ │ │ data.js +│ │ │ index.vue +│ │ │ test.png +│ │ │ +│ │ └─images +│ │ confirmed.svg +│ │ falsePositives.svg +│ │ processed.svg +│ │ processing.svg +│ │ toBeConfirmed.svg +│ │ +│ ├─RecentPages //最近访问组件 +│ │ ContextMenu.vue +│ │ index.vue +│ │ +│ ├─RoadStateCard //事件列表功能卡片 +│ │ │ data.js +│ │ │ index.vue +│ │ │ test.png +│ │ │ +│ │ └─images +│ │ confirmed.svg +│ │ confirmed22.svg +│ │ falsePositives.svg +│ │ processed.svg +│ │ processed24.svg +│ │ processing.svg +│ │ processing21.svg +│ │ toBeConfirmed.svg +│ │ toBeConfirmed23.svg +│ │ +│ ├─Scrollbar //通用滚动条样式 +│ │ BlackBar.vue +│ │ +│ ├─Tabs //通用Tab切换样式 +│ │ CardTabs.vue +│ │ index.vue +│ │ Normal.vue +│ │ +│ ├─TimeLine //通用时间轴组件 +│ │ ├─LineClick // 作废 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─images +│ │ │ bg-active.svg +│ │ │ bg.svg +│ │ │ +│ │ ├─TimeLine1 //横向轴:统计查询等,详见效果图 +│ │ │ │ index.vue +│ │ │ │ 效果图.png +│ │ │ │ +│ │ │ └─images +│ │ │ bg-active.svg +│ │ │ bg.svg +│ │ │ +│ │ └─TimeLine2 //纵向轴:事件处置等,详见效果图 +│ │ │ DescCard.vue +│ │ │ index.vue +│ │ │ 效果图.png +│ │ │ +│ │ └─images +│ │ avatar.svg +│ │ +│ ├─Title //通用标题样式 +│ │ │ index.vue +│ │ │ +│ │ └─images +│ │ bg.svg +│ │ icon.svg +│ │ icon2.svg +│ │ +│ ├─Video //通用单视频组件 +│ │ flv-stream.js +│ │ index.vue +│ │ Video.vue +│ │ videoStream.js +│ │ view.png +│ │ +│ └─VideoMulti //通用多视频组件,可下拉切换视频 +│ flv-stream.js +│ index.vue +│ videoStream.js +│ +├─images //通用图片库 +│ │ active.png +│ │ active.svg +│ │ camera-control-icon.svg +│ │ clearLayer.svg +│ │ divide.svg +│ │ export.svg +│ │ header-bg.png +│ │ import.svg +│ │ insert.svg +│ │ logo.png +│ │ people.svg +│ │ refresh.svg +│ │ title-dec.svg +│ │ title.png +│ │ TrafficAccidents.svg +│ │ ybp.png +│ │ +│ ├─bg //背景图 +│ │ box-bg.png +│ │ box_bg_001.png +│ │ box_bg_002.png +│ │ box_bg_003.png +│ │ box_bg_004.png +│ │ box_bg_005.png +│ │ box_bg_005_active.png +│ │ box_bg_left.png +│ │ box_bg_right.png +│ │ box_total.png +│ │ button-bg.png +│ │ +│ ├─celu //(作废)路测设备图库 +│ │ 001.png +│ │ 002.png +│ │ 003.png +│ │ 004.png +│ │ 005.png +│ │ 006.png +│ │ 007.png +│ │ 008.png +│ │ 009.png +│ │ 010.png +│ │ 011.png +│ │ 012.png +│ │ guzhang.png +│ │ +│ ├─device //设备图库,切换视频/图像时使用 +│ │ 180全景摄像机.png +│ │ 360全景摄像机.png +│ │ RSU天线.png +│ │ UPS.png +│ │ view.png +│ │ 一类交通量.png +│ │ 太阳能板.png +│ │ 扫码报警B.png +│ │ 护栏碰撞预警系统.png +│ │ 护栏碰撞预警系统B.png +│ │ 智慧锥灯.png +│ │ 智能行车诱导.png +│ │ 桥下监控摄像机.png +│ │ 毫米波雷达.png +│ │ 毫米波雷达B.png +│ │ 气象监测器.png +│ │ 气象监测器B.png +│ │ 河流区预警-超级雾灯.png +│ │ 激光疲劳唤醒.png +│ │ 监控智能设备箱.png +│ │ 设备箱.png +│ │ 语音广播.png +│ │ 远端机.png +│ │ 锥桶B.png +│ │ 门架监控摄像机.png +│ │ 高清网络摄像机.png +│ │ 高清网络枪型固定摄像机.png +│ │ +│ ├─deviceType //地图打标用,二级设备类型库,主要是摄像头和情报板的二级类库 +│ │ 180全景摄像机.svg +│ │ 360全景摄像机.svg +│ │ ball.svg +│ │ ballb_active.svg +│ │ ballb_fault.svg +│ │ ballc_active.svg +│ │ ballc_fault.svg +│ │ balld_active.svg +│ │ balld_fault.svg +│ │ balle_active.svg +│ │ balle_fault.svg +│ │ ball_active.svg +│ │ ball_fault.svg +│ │ boardb_active.svg +│ │ boardb_fault.svg +│ │ boardc_active.svg +│ │ boardc_fault.svg +│ │ 桥下球机.svg +│ │ 站前悬臂式可变信息标志.svg +│ │ 雨棚可变信息标志.svg +│ │ +│ ├─dialog //弹窗 +│ │ icon-close.svg +│ │ right-bottom.svg +│ │ title-icon.svg +│ │ +│ ├─digital //临时替代BIM等未完成界面 +│ │ digitalTollStation.jpg +│ │ gisAndBim.jpg +│ │ +│ ├─event //事件图标 +│ │ 交通拥堵.svg +│ │ 气象检测器.svg +│ │ 行人.svg +│ │ 设备.svg +│ │ 非机动车.svg +│ │ +│ ├─eventTopic //事件标题 +│ │ icon_bicycle.png +│ │ icon_bicycle_fault.png +│ │ icon_congestion.png +│ │ icon_congestion_fault.png +│ │ icon_pedestrian.png +│ │ icon_pedestrian_fault.png +│ │ icon_pyrotechnics.png +│ │ icon_pyrotechnics_fault.png +│ │ icon_retrograde.png +│ │ icon_retrograde_fault.png +│ │ icon_sprinkle.png +│ │ icon_sprinkle_fault.png +│ │ +│ ├─form //表单用图 +│ │ calendar.svg +│ │ delete.svg +│ │ edit.svg +│ │ location.svg +│ │ people.svg +│ │ phone.svg +│ │ record.svg +│ │ search.svg +│ │ +│ ├─home-filter +│ │ filter.svg +│ │ +│ ├─home-Frame +│ │ Frame.svg +│ │ logoMean.png +│ │ weather.svg +│ │ +│ ├─home-FrameControl +│ │ FrameControl.svg +│ │ FrameControl1.svg +│ │ +│ ├─home-Vector +│ │ layer.svg +│ │ traffic.png +│ │ Vector.svg +│ │ Weather.svg +│ │ +│ ├─home-VectorControl +│ │ VectorControl.svg +│ │ +│ ├─home-Word +│ │ word.png +│ │ +│ ├─icon +│ │ icon-vector.png +│ │ icon_005.png +│ │ icon_right.png +│ │ sound_off.png +│ │ sound_on.png +│ │ +│ ├─jiaotong +│ │ jt_001.png +│ │ jt_002.png +│ │ jt_ailure_001.png +│ │ +│ ├─layer //首页左下角事件图标 & 地图打标 (高德地图用) +│ │ ├─事件专题 +│ │ │ 交通事故.svg +│ │ │ 交通事故_active.svg +│ │ │ 交通事故_fault.svg +│ │ │ 交通拥堵.svg +│ │ │ 交通拥堵_active.svg +│ │ │ 交通拥堵_fault.svg +│ │ │ 交通管制.svg +│ │ │ 交通管制_active.svg +│ │ │ 交通管制_fault.svg +│ │ │ 其他事件.svg +│ │ │ 其他事件_active.svg +│ │ │ 其他事件_fault.svg +│ │ │ 异常天气.svg +│ │ │ 异常天气_active.svg +│ │ │ 异常天气_fault.svg +│ │ │ 感知事件.svg +│ │ │ 感知事件_active.svg +│ │ │ 感知事件_fault.svg +│ │ │ 抛洒物.svg +│ │ │ 抛洒物_active.svg +│ │ │ 抛洒物_fault.svg +│ │ │ 拥堵.svg +│ │ │ 拥堵_active.svg +│ │ │ 拥堵_fault.svg +│ │ │ 施工建设.svg +│ │ │ 施工建设_active.svg +│ │ │ 施工建设_fault.svg +│ │ │ 服务区异常.svg +│ │ │ 服务区异常_active.svg +│ │ │ 服务区异常_fault.svg +│ │ │ 烟火.svg +│ │ │ 烟火_active.svg +│ │ │ 烟火_fault.svg +│ │ │ 行人.svg +│ │ │ 行人_active.svg +│ │ │ 行人_fault.svg +│ │ │ 设施设备隐患.svg +│ │ │ 设施设备隐患_active.svg +│ │ │ 设施设备隐患_fault.svg +│ │ │ 路障清除.svg +│ │ │ 路障清除_active.svg +│ │ │ 路障清除_fault.svg +│ │ │ 车辆故障.svg +│ │ │ 车辆故障_active.svg +│ │ │ 车辆故障_fault.svg +│ │ │ 逆行.svg +│ │ │ 逆行_active.svg +│ │ │ 逆行_fault.svg +│ │ │ 非机动车.svg +│ │ │ 非机动车_active.svg +│ │ │ 非机动车_fault.svg +│ │ │ 非法上路.svg +│ │ │ 非法上路_active.svg +│ │ │ 非法上路_fault.svg +│ │ │ +│ │ ├─路测设备 +│ │ │ 交调.svg +│ │ │ 交调_active.svg +│ │ │ 交调_fault.svg +│ │ │ 合流区.svg +│ │ │ 合流区_active.svg +│ │ │ 合流区_fault.svg +│ │ │ 太阳能板.svg +│ │ │ 太阳能板_active.svg +│ │ │ 太阳能板_fault.svg +│ │ │ 情报板.svg +│ │ │ 情报板_active.svg +│ │ │ 情报板_fault.svg +│ │ │ 护栏碰撞.svg +│ │ │ 护栏碰撞_active.svg +│ │ │ 护栏碰撞_fault.svg +│ │ │ 摄像机.svg +│ │ │ 摄像机_active.svg +│ │ │ 摄像机_fault.svg +│ │ │ 智慧锥桶.svg +│ │ │ 智慧锥桶_active.svg +│ │ │ 智慧锥桶_fault.svg +│ │ │ 毫米波雷达.svg +│ │ │ 毫米波雷达_active.svg +│ │ │ 毫米波雷达_fault.svg +│ │ │ 气象检测器.svg +│ │ │ 气象检测器_active.svg +│ │ │ 气象检测器_fault.svg +│ │ │ 疲劳唤醒.svg +│ │ │ 疲劳唤醒_active.svg +│ │ │ 疲劳唤醒_fault.svg +│ │ │ 行车诱导.svg +│ │ │ 行车诱导_active.svg +│ │ │ 行车诱导_fault.svg +│ │ │ 设备箱.svg +│ │ │ 设备箱_active.svg +│ │ │ 设备箱_fault.svg +│ │ │ 语音广播.svg +│ │ │ 语音广播_active.svg +│ │ │ 语音广播_fault.svg +│ │ │ 远端机.svg +│ │ │ 远端机_active.svg +│ │ │ 远端机_fault.svg +│ │ │ +│ │ └─路网设施 +│ │ 停车区.svg +│ │ 停车区_active.svg +│ │ 停车区_fault.svg +│ │ 收费站.svg +│ │ 收费站_active.svg +│ │ 收费站_fault.svg +│ │ 服务区.svg +│ │ 服务区_active.svg +│ │ 服务区_fault.svg +│ │ 枢纽立交.svg +│ │ 枢纽立交_active.svg +│ │ 枢纽立交_fault.svg +│ │ 桥梁.svg +│ │ 桥梁_active.svg +│ │ 桥梁_fault.svg +│ │ 清障驻点.svg +│ │ 清障驻点_active.svg +│ │ 清障驻点_fault.svg +│ │ 边坡.svg +│ │ 边坡_active.svg +│ │ 边坡_fault.svg +│ │ +│ ├─layerb //首页左下角事件图标 & 地图打标 (超图地图用) +│ │ ├─事件专题 +│ │ │ 交通事故_active.svg +│ │ │ 交通事故_fault.svg +│ │ │ 交通拥堵_active.svg +│ │ │ 交通拥堵_fault.svg +│ │ │ 交通管制_active.svg +│ │ │ 交通管制_fault.svg +│ │ │ 其他事件_active.svg +│ │ │ 其他事件_fault.svg +│ │ │ 异常天气_active.svg +│ │ │ 异常天气_fault.svg +│ │ │ 感知事件_active.svg +│ │ │ 感知事件_fault.svg +│ │ │ 施工建设_active.svg +│ │ │ 施工建设_fault.svg +│ │ │ 服务区异常_active.svg +│ │ │ 服务区异常_fault.svg +│ │ │ 设施设备隐患_active.svg +│ │ │ 设施设备隐患_fault.svg +│ │ │ 路障清除_active.svg +│ │ │ 路障清除_fault.svg +│ │ │ 车辆故障_active.svg +│ │ │ 车辆故障_fault.svg +│ │ │ 非法上路_active.svg +│ │ │ 非法上路_fault.svg +│ │ │ +│ │ ├─路测设备 +│ │ │ 交调_active.svg +│ │ │ 交调_fault.svg +│ │ │ 合流区_active.svg +│ │ │ 合流区_fault.svg +│ │ │ 太阳能板_active.svg +│ │ │ 太阳能板_fault.svg +│ │ │ 情报板_active.svg +│ │ │ 情报板_fault.svg +│ │ │ 护栏碰撞_active.svg +│ │ │ 护栏碰撞_fault.svg +│ │ │ 摄像机_active.svg +│ │ │ 摄像机_fault.svg +│ │ │ 智慧锥桶_active.svg +│ │ │ 智慧锥桶_fault.svg +│ │ │ 毫米波雷达_active.svg +│ │ │ 毫米波雷达_fault.svg +│ │ │ 气象检测器_active.svg +│ │ │ 气象检测器_fault.svg +│ │ │ 疲劳唤醒_active.svg +│ │ │ 疲劳唤醒_fault.svg +│ │ │ 行车诱导_active.svg +│ │ │ 行车诱导_fault.svg +│ │ │ 设备箱_active.svg +│ │ │ 设备箱_fault.svg +│ │ │ 语音广播_active.svg +│ │ │ 语音广播_fault.svg +│ │ │ 远端机_active.svg +│ │ │ 远端机_fault.svg +│ │ │ +│ │ └─路网设施 +│ │ 停车区_active.svg +│ │ 停车区_fault.svg +│ │ 收费站_active.svg +│ │ 收费站_fault.svg +│ │ 服务区_active.svg +│ │ 服务区_fault.svg +│ │ 枢纽立交_active.svg +│ │ 枢纽立交_fault.svg +│ │ 桥梁_active.svg +│ │ 桥梁_fault.svg +│ │ 清障驻点_active.svg +│ │ 清障驻点_fault.svg +│ │ 边坡_active.svg +│ │ 边坡_fault.svg +│ │ +│ ├─ListItem +│ │ 1.svg +│ │ 10.svg +│ │ 11.svg +│ │ 2.svg +│ │ 3.svg +│ │ 4.svg +│ │ 5.svg +│ │ 6.svg +│ │ 7.svg +│ │ 8.svg +│ │ 9.svg +│ │ AbnormalWeather.svg +│ │ Failed.svg +│ │ Reviewed.svg +│ │ ToBeReviewed.svg +│ │ TrafficControl.svg +│ │ +│ ├─luwang +│ │ 001.png +│ │ 002.png +│ │ 003.png +│ │ lw_ailure_001.png +│ │ +│ ├─mapBg +│ │ active.svg +│ │ active_title.svg +│ │ fault.svg +│ │ fault_title.svg +│ │ normal.svg +│ │ success.svg +│ │ +│ ├─shareWith +│ │ 4-active.svg +│ │ 4.svg +│ │ 7-active.svg +│ │ 7.svg +│ │ 8-active.svg +│ │ 8.svg +│ │ message-active.svg +│ │ message-active3.svg +│ │ message.svg +│ │ website-active.svg +│ │ website.svg +│ │ weChat-active.svg +│ │ weChat.svg +│ │ weibo-active.svg +│ │ weibo.svg +│ │ +│ ├─shoufeiz // 首页摄像机弹窗,对应收费站航拍背景图 +│ │ 大学城收费站.jpg +│ │ 孝里收费站.jpg +│ │ +│ ├─solar //太阳能板报表图 +│ │ CO2.png +│ │ coal.png +│ │ error.png +│ │ total.png +│ │ tree.png +│ │ used.png +│ │ +│ ├─title //标题背景图 +│ │ box-title.png +│ │ title-icon.png +│ │ title-solar.png +│ │ title_bg_001.png +│ │ title_bg_002.png +│ │ title_bg_003.png +│ │ +│ ├─warningNotify +│ │ warning.png +│ │ +│ └─weather +│ 0.svg +│ 1.svg +│ 10.svg +│ 11.svg +│ 12.svg +│ 13.svg +│ 14.svg +│ 15.svg +│ 16.svg +│ 2.svg +│ 3.svg +│ 4.svg +│ 5.svg +│ 6.svg +│ 7.svg +│ 8.svg +│ 9.svg +│ +├─mixins //通用继承事件(建议后期优化到功能内部) +│ broadcast.js // 语音广播 +│ InfoBoard.js // 情报板 +│ +├─pages // 页面 +│ │ developing.vue // 作废,原待开发替代页 +│ │ +│ ├─control // 路网管控 +│ │ ├─device //设备管控 +│ │ │ ├─record //管控记录 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─strategy //管控策略 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─components //编辑管控策略 弹窗 +│ │ │ │ │ AddNEditDialog.vue +│ │ │ │ │ taskEditDialog.vue +│ │ │ │ │ TaskItem.vue +│ │ │ │ │ timeEditDialog.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ editor.svg +│ │ │ │ +│ │ │ └─componentsAdd //新增管控策略 弹窗 +│ │ │ │ AddDialog.vue +│ │ │ │ taskEditDialog.vue +│ │ │ │ TaskItem.vue +│ │ │ │ timeEditDialog.vue +│ │ │ │ +│ │ │ └─assets +│ │ │ editor.svg +│ │ │ +│ │ ├─event //事件管控 +│ │ │ ├─businessDataManagement //业务数据管理 +│ │ │ │ │ index.vue +│ │ │ │ │ utils.js +│ │ │ │ │ +│ │ │ │ ├─components //组件包(通用组件/样式) +│ │ │ │ │ │ SelectList.vue +│ │ │ │ │ │ SpecialTable.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─PeopleCard +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─images +│ │ │ │ │ │ avatar.svg +│ │ │ │ │ │ +│ │ │ │ │ └─PoliceCard +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─views +│ │ │ │ ├─dutyOfficer //值班人员 +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─components //公共组件 +│ │ │ │ │ │ ModifyDutyInformationTable.vue +│ │ │ │ │ │ OperateRecord.vue +│ │ │ │ │ │ +│ │ │ │ │ └─images +│ │ │ │ │ Line.svg +│ │ │ │ │ +│ │ │ │ ├─emergencyAgencies //应急机构 +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─components +│ │ │ │ │ AddNEditDialog.vue +│ │ │ │ │ +│ │ │ │ ├─firstResponders //应急人员 +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─components +│ │ │ │ │ AddNEditDialog.vue +│ │ │ │ │ +│ │ │ │ ├─jurisdictionalManagement //辖段管理 +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─components +│ │ │ │ │ AddNEditDialog.vue +│ │ │ │ │ +│ │ │ │ ├─police //交警信息 +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─components +│ │ │ │ │ AddNEditDialog.vue +│ │ │ │ │ +│ │ │ │ └─vehicles //车辆管理 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ AddNEditDialog.vue +│ │ │ │ +│ │ │ ├─commandDispatch //指挥调度弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ index2.vue +│ │ │ │ │ mixin.js +│ │ │ │ │ +│ │ │ │ └─Cards +│ │ │ │ ├─CrowdnessIndicatorRankings //地图导览(中1) +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─components +│ │ │ │ │ │ DialogBoard.vue +│ │ │ │ │ │ DialogCamera.vue +│ │ │ │ │ │ +│ │ │ │ │ └─images +│ │ │ │ │ bar-active.svg +│ │ │ │ │ bar.svg +│ │ │ │ │ camera-active.svg +│ │ │ │ │ camera.svg +│ │ │ │ │ car-active.svg +│ │ │ │ │ car.svg +│ │ │ │ │ level-active.svg +│ │ │ │ │ level.svg +│ │ │ │ │ pie-active.svg +│ │ │ │ │ pie.svg +│ │ │ │ │ weather-active.svg +│ │ │ │ │ weather.svg +│ │ │ │ │ +│ │ │ │ ├─DeviceControl //设备管控(右3) +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ utils.js +│ │ │ │ │ │ +│ │ │ │ │ └─components +│ │ │ │ │ qbbDialog.vue +│ │ │ │ │ ScopeTable.vue +│ │ │ │ │ +│ │ │ │ ├─DispatchLiaison //调度联络(左2) +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─images +│ │ │ │ │ │ camera.svg +│ │ │ │ │ │ phone.svg +│ │ │ │ │ │ rescueVehicles.svg +│ │ │ │ │ │ +│ │ │ │ │ └─StatsDialog +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─DisposalPlan //处置预案(作废) +│ │ │ │ │ index.vue +│ │ │ │ │ utils.js +│ │ │ │ │ +│ │ │ │ ├─DisposalProcess //处置过程(中2) +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─DialogProcess +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─images +│ │ │ │ │ mock1.jpg +│ │ │ │ │ mock2.jpg +│ │ │ │ │ reduce.svg +│ │ │ │ │ zoom.svg +│ │ │ │ │ +│ │ │ │ ├─EventInformation //事件信息(左1) +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─components +│ │ │ │ │ │ └─EditEventInformationDialog +│ │ │ │ │ │ data.js +│ │ │ │ │ │ data_back.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─images +│ │ │ │ │ congestion.svg +│ │ │ │ │ lane.jpg +│ │ │ │ │ lane.png +│ │ │ │ │ lane.psd +│ │ │ │ │ lane.svg +│ │ │ │ │ lane_v1.jpg +│ │ │ │ │ normal.svg +│ │ │ │ │ +│ │ │ │ ├─RealTimeVideo //实时视频(右1) +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─ReleaseInformation //信息发布(左3) +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─images +│ │ │ │ │ 1.svg +│ │ │ │ │ 1_blue.svg +│ │ │ │ │ 2.svg +│ │ │ │ │ 3.svg +│ │ │ │ │ 5.svg +│ │ │ │ │ 8.svg +│ │ │ │ │ add.svg +│ │ │ │ │ +│ │ │ │ └─TrafficControl //交通管制(左4) +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ └─AddControlEventInfoDialog +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─coordinateSchedulingRecords //协调调度记录 (作废) +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ └─Card +│ │ │ │ │ index.vue +│ │ │ │ │ test.png +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ amble.svg +│ │ │ │ comfortable.svg +│ │ │ │ congestion.svg +│ │ │ │ normal.svg +│ │ │ │ +│ │ │ ├─dispatch //调度记录 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ index_back.vue +│ │ │ │ │ +│ │ │ │ ├─EventDetailDialog //(作废)事件详情弹窗 +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─Carousel +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─images +│ │ │ │ │ arrow.svg +│ │ │ │ │ +│ │ │ │ ├─EventDispatchDialog //事件进度时间轴 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─images +│ │ │ │ │ image.svg +│ │ │ │ │ printer.svg +│ │ │ │ │ test.png +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ ├─emergencyProcessManagement //应急过程管理 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─commonPhrases //配置常用语 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─disposalProcess //配置处置流程 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ ├─event //事件列表 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─EventDetailDialog // 事件弹窗 - 通用(这个很重要,所有的事件弹窗公共组件) +│ │ │ │ │ │ data.js +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─Carousel //多媒体轮询 +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ index_v1.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─images +│ │ │ │ │ │ arrow.svg +│ │ │ │ │ │ +│ │ │ │ │ ├─eventPlanDialog //事件计划弹窗? +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─formTable //通用表单样式 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─qbbDialog //情报板确认弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─FormEvent //事件录入弹窗 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ PresetFormItems.js +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ export.svg +│ │ │ │ insert.svg +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ ├─governanceAnalysis //管控事件分析 +│ │ │ │ │ index.vue +│ │ │ │ │ index2.vue +│ │ │ │ │ +│ │ │ │ ├─audit //收费站管制分析 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ icon.svg +│ │ │ │ │ │ +│ │ │ │ │ └─StatsDialogVisible +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─cmodel //事故车型分析 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─components //通用组件(老版作废) +│ │ │ │ │ ├─auditAnalytics +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ ├─assets +│ │ │ │ │ │ │ charts.js +│ │ │ │ │ │ │ icon.svg +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─StatsDialogVisible +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─channelAnalytics +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts copy.js +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─eventTypeAnalysis +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─nucleusThrough +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts3.js +│ │ │ │ │ │ +│ │ │ │ │ ├─postTrendsDay +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─postTrendsMonth +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ charts2.js +│ │ │ │ │ │ charts3.js +│ │ │ │ │ │ +│ │ │ │ │ └─topComponent +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─ctimer //事件多发路段 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─days //今日事件趋势 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─etime //事故时间分析 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─etype //事故类型分析(弹窗) +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─search //查询控件 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─tanaly //事件类型分析 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ └─plan //事件预案 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─addAndEditDialog //新增&编辑预案 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ ScopeTable.vue +│ │ │ │ +│ │ │ ├─formTable //表单表格样式 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─images +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ └─qbbDialog //情报板弹窗 +│ │ │ index.vue +│ │ │ +│ │ ├─manual //非机预警 +│ │ │ ├─events //非机预警事件列表 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ └─statistic //非机预警统计分析 +│ │ │ │ img.png +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─components //组件库 +│ │ │ ├─Eventfiltering //按事件分类 +│ │ │ │ index.vue +│ │ │ │ trafficIncidentsCharts.js +│ │ │ │ trafficIncidentsChartsPie.js +│ │ │ │ +│ │ │ ├─Sitefiltering //按站点分类 +│ │ │ │ index.vue +│ │ │ │ trafficIncidentsCharts.js +│ │ │ │ trafficIncidentsChartsPie.js +│ │ │ │ +│ │ │ └─Timefiltering //按日期分类 +│ │ │ index.vue +│ │ │ trafficIncidentsCharts.js +│ │ │ +│ │ └─qrCode //扫码报警(内嵌) +│ │ index.vue +│ │ +│ ├─datav //数据可视化 +│ │ ├─digitalTollStation //数字收费站 +│ │ │ index.vue +│ │ │ +│ │ ├─gisAndBim //GIS & BIM +│ │ │ index.vue +│ │ │ +│ │ ├─maintainQuery // 作废:数字路网 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─assets +│ │ │ online_bj.jpg +│ │ │ +│ │ └─roadNet // 数字路网 +│ │ │ index.vue +│ │ │ sensors.vue +│ │ │ +│ │ └─img +│ │ applyitem.svg +│ │ arrowRight.svg +│ │ manageTotal.svg +│ │ process.svg +│ │ sensorItem.svg +│ │ ShareAll.svg +│ │ shareCenter.svg +│ │ shareItem.svg +│ │ sourceItem.svg +│ │ +│ ├─Home //首页 +│ │ │ index.vue +│ │ │ +│ │ └─components +│ │ ├─AMapContainer //作废 高德地图组件 +│ │ │ │ index.vue +│ │ │ │ loadAMap.js +│ │ │ │ +│ │ │ └─data +│ │ │ ac.json +│ │ │ lcz.json +│ │ │ +│ │ ├─BMapContainer // 高速云地图 +│ │ │ index.vue +│ │ │ +│ │ ├─ConditionStatistics // 首页右侧数据展示 +│ │ │ │ index.vue +│ │ │ │ location.svg +│ │ │ │ triangle.svg +│ │ │ │ +│ │ │ └─js +│ │ │ carStatistics.js +│ │ │ focusStatistics.js +│ │ │ otherStatistics.js +│ │ │ +│ │ ├─Dialogs // 首页弹窗 +│ │ │ │ mixin.js +│ │ │ │ +│ │ │ ├─AlarmEvents // 报警事件 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─Broadcast // 语音广播处理 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─components // 语音广播参数 +│ │ │ │ │ BroadcastParam.vue +│ │ │ │ │ BroadcastParamMulti.vue +│ │ │ │ │ BroadcastReleases.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ offline.jpg +│ │ │ │ online.jpg +│ │ │ │ +│ │ │ ├─Camera // 摄像机弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─components // 相机控制 +│ │ │ │ │ CameraControlDialog.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ add.svg +│ │ │ │ bottom.svg +│ │ │ │ left.svg +│ │ │ │ right.svg +│ │ │ │ sub.svg +│ │ │ │ top.svg +│ │ │ │ +│ │ │ ├─ConfluenceArea // 合流区预警 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ DeviceControlDialog.vue // 设备控制弹窗 +│ │ │ │ DeviceParams.vue +│ │ │ │ +│ │ │ ├─CongestedRoadSections // 作废 拥堵路段 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─DrivingGuidance // 行车诱导弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ DeviceControlDialog.vue // 设备控制 +│ │ │ │ DeviceParam.vue +│ │ │ │ +│ │ │ ├─FatigueWakesUp //疲劳唤醒弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ DeviceControlDialog.vue +│ │ │ │ DeviceParam.vue +│ │ │ │ +│ │ │ ├─GuardrailCollision //护栏碰撞弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ ├─LineChart //图表 +│ │ │ │ │ chart.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─LineChartForTraffic // +│ │ │ │ chart.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─HighwayDetails // 作废 高速详情 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─Intermodulation // 一类交调站弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ ├─LineChart +│ │ │ │ │ chart.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─LineChartForTraffic +│ │ │ │ chart.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─MeteorologicalDetection //气象设备弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ chart.js +│ │ │ │ DeviceControlDialog.vue //设备控制 +│ │ │ │ +│ │ │ ├─MillimeterWaveRadar //毫米波雷达弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ DeviceControlDialog.vue //设备控制弹窗 +│ │ │ │ +│ │ │ ├─PerceiveEvent //作废 感知事件弹出 +│ │ │ │ │ index.vue +│ │ │ │ │ index_v1.vue +│ │ │ │ │ index_v2.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ └─LineChart +│ │ │ │ chart.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─RemoteMachine // 远端机弹窗 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ DeviceControlDialog.vue +│ │ │ │ DeviceParams.vue +│ │ │ │ DeviceParamsMulti.vue +│ │ │ │ +│ │ │ ├─RoadNetworkFacilities // 边坡数据 +│ │ │ │ chart.js +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─SmartDevice // 智能设备箱 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ DeviceControlDialog.vue +│ │ │ │ DeviceParams.vue +│ │ │ │ DeviceParamsMulti.vue +│ │ │ │ +│ │ │ ├─SolarEnergy // 太阳能板 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ DeviceControlDialog.vue +│ │ │ │ DeviceParams.vue +│ │ │ │ +│ │ │ ├─TrafficIncidents // 作废 事件弹窗 +│ │ │ │ index.vue +│ │ │ │ index_v1.vue +│ │ │ │ +│ │ │ ├─WakeUpLightCurtainInfo // 作废 光幕唤醒 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─WeatherForecast // 作废 天气预报弹窗 +│ │ │ index.vue +│ │ │ +│ │ ├─FocusedMonitoring // 首页左上统计 +│ │ │ index.vue +│ │ │ +│ │ ├─HomeFilter // 地图打点搜索弹窗 +│ │ │ index.vue +│ │ │ +│ │ ├─HomeFrame // 地图图标含义 +│ │ │ index.vue +│ │ │ +│ │ ├─HomeFrameControl //设备批量控制 +│ │ │ index.vue +│ │ │ +│ │ ├─HomeTraffic // 实时路况 +│ │ │ DialogCamera.vue +│ │ │ index.vue +│ │ │ +│ │ ├─HomeVector // 桩号显隐 +│ │ │ index.vue +│ │ │ +│ │ ├─HomeVectorControl //作废 +│ │ │ index.vue +│ │ │ +│ │ ├─HomeWeather // 短临预报 +│ │ │ │ index.vue +│ │ │ │ mock.js +│ │ │ │ +│ │ │ └─assets +│ │ │ button_bg.png +│ │ │ button_hover.png +│ │ │ spanPoint.png +│ │ │ +│ │ ├─HomeWeatherLayer // 气象云图 +│ │ │ index.vue +│ │ │ +│ │ ├─HomeWord // 高速运营快报 +│ │ │ index.vue +│ │ │ +│ │ ├─InfoBoard // 情报板弹窗 +│ │ │ boardData.json +│ │ │ index.vue +│ │ │ InfoBoard.vue +│ │ │ +│ │ ├─LineChart // 通用设备在线率chart +│ │ │ chart.js +│ │ │ index.vue +│ │ │ +│ │ ├─RoadAndEvents // 左下角地图图标图层 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─utils //js脚本 +│ │ │ buttonEvent.js //按钮事件 +│ │ │ data.json +│ │ │ dataoffset.js +│ │ │ httpList.js +│ │ │ layerImages.js +│ │ │ map.js //地图加载 +│ │ │ +│ │ └─Thumbnail // 高速缩略图 +│ │ │ data.js +│ │ │ index.vue +│ │ │ utils.js +│ │ │ +│ │ └─images +│ │ bg.png +│ │ tag0.png +│ │ tag1.png +│ │ tag2.png +│ │ tag3.png +│ │ tag4.png +│ │ +│ ├─maintenanceOperations // 养护运营 +│ │ ├─chargeableOperations // 收费运营(内嵌frame) +│ │ │ │ index.vue +│ │ │ │ _index.vue +│ │ │ │ +│ │ │ └─components +│ │ │ ├─accessAnalysis +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ img_1.png +│ │ │ │ img_2.png +│ │ │ │ +│ │ │ ├─auxiliaryFlowcharts +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─daylyAnalysis +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─laneTolls +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─monthlyAnalysis +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─roadNetworkTraffic +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─RoadSectionTolls +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─truckLaneTolls +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─vehicleTolls +│ │ │ index.vue +│ │ │ +│ │ ├─smart //智能养护 +│ │ │ ├─abnormal //设备异常管理 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─analysis //设备数据分析 +│ │ │ │ │ charts.js +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ index_1.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ ├─manage //设备管理 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ ├─statisticalAnalysis //设备在线分析 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─analysis //设备分析 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ mock.js +│ │ │ │ │ │ +│ │ │ │ │ ├─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ shexiangtou.png +│ │ │ │ │ │ +│ │ │ │ │ └─components //组件库 +│ │ │ │ │ ├─deviceSummary //顶部统计 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─deviceUptime //设备在线率雷达图 +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─monthlyEquipment //作废 设备在线率气泡图 +│ │ │ │ │ │ │ EllipseData.vue +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ └─onLineBarCharts //设备在线率柱状图 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ barCharts.js +│ │ │ │ │ +│ │ │ │ └─query //设备查询 +│ │ │ │ chartRecord.js +│ │ │ │ charts.js +│ │ │ │ data.js +│ │ │ │ dialogRecord.vue +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─topology // 网络拓扑 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─img +│ │ │ left-bg-action.png +│ │ │ left-bg.png +│ │ │ switch0.png +│ │ │ switch1.png +│ │ │ t01-1.svg +│ │ │ t01-2.svg +│ │ │ t01-4.svg +│ │ │ t01-5.svg +│ │ │ t010.svg +│ │ │ t011.svg +│ │ │ t012.svg +│ │ │ t013.svg +│ │ │ t014.svg +│ │ │ t015.svg +│ │ │ t02-1.svg +│ │ │ t03.svg +│ │ │ t05.svg +│ │ │ t06.svg +│ │ │ t07.svg +│ │ │ t08.svg +│ │ │ t11-1.svg +│ │ │ t11-2.svg +│ │ │ t11-4.svg +│ │ │ t11-5.svg +│ │ │ t110.svg +│ │ │ t111.svg +│ │ │ t112.svg +│ │ │ t113.svg +│ │ │ t114.svg +│ │ │ t115.svg +│ │ │ t12-1.svg +│ │ │ t13.svg +│ │ │ t15.svg +│ │ │ t16.svg +│ │ │ t17.svg +│ │ │ t18.svg +│ │ │ +│ │ └─solar // 太阳能板管理 +│ │ index.vue +│ │ index_v1.vue +│ │ +│ ├─perception //路段感知 +│ │ ├─eventDetection //感知事件监测 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─analysis //感知事件分析 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─day //日感知事件路段分析 +│ │ │ │ │ charts.js +│ │ │ │ │ chartsv1.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─muliple //感知事件多发时段 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─pile //桩号范围内事件分析 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─progress // 路段进度条 +│ │ │ │ │ index.vue +│ │ │ │ │ tag.png +│ │ │ │ │ +│ │ │ │ ├─railway // 日感知事件路段排名 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─search // 查询 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─type //感知事件类型分析 +│ │ │ │ charts.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─analysis2 作废,旧版感知事件分析 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ ├─dailyDisposal +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─dayTotal +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─eventQuery +│ │ │ │ │ │ ElQuarterPicker.vue +│ │ │ │ │ │ index copy.vue +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ progressBar copy.vue +│ │ │ │ │ │ progressBar.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ charts2.js +│ │ │ │ │ charts3.js +│ │ │ │ │ +│ │ │ │ ├─eventSource +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─monthStatistics +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─railway +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ bg.png +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─railwayDay +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ └─typeAnalysis +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ └─statistics //感知事件统计 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─EventDetailDialog // 作废,事件详情弹窗搜索关键字【事件弹窗 - 通用】 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─Carousel +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ arrow.svg +│ │ │ │ +│ │ │ ├─FormEvent +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ PresetFormItems.js +│ │ │ │ +│ │ │ └─images +│ │ │ export.svg +│ │ │ insert.svg +│ │ │ refresh.svg +│ │ │ +│ │ ├─meteorologyCheck //交通气象检测 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─components +│ │ │ ├─roadNetwork //气象预警 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─sortFaceForecast //短临预报 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ button_bg.png +│ │ │ │ button_hover.png +│ │ │ │ spanPoint.png +│ │ │ │ +│ │ │ ├─weatherForecast //顶部数据统计 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ cityPosition.png +│ │ │ │ polygon.png +│ │ │ │ weather.png +│ │ │ │ +│ │ │ ├─weatherInfoQuery //站点气象信息查询 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─assets +│ │ │ │ │ action.png +│ │ │ │ │ default.png +│ │ │ │ │ disabled.png +│ │ │ │ │ weater.png +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ ├─TemperatureTrend //气温变化趋势 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─visibilityTrends //能见度变化趋势 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ └─weaterData //气象检测数据列表 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─weatherInfoQuery2 //作废 旧样式 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─assets +│ │ │ │ │ weater.png +│ │ │ │ │ +│ │ │ │ └─components +│ │ │ │ ├─TemperatureTrend +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─visibilityTrends +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ └─weaterData +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─weatherWarning //气象预警 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─components +│ │ │ ├─infoWarning //气象预警信息 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─infowWarningList //能见度异常信息 +│ │ │ index.vue +│ │ │ +│ │ ├─noStakeWaning //预警记录 +│ │ │ data.js +│ │ │ index.vue +│ │ │ +│ │ ├─trafficFlow //交通流监测 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─analysis //交通流分析 +│ │ │ │ │ index.vue +│ │ │ │ │ index2.vue +│ │ │ │ │ +│ │ │ │ ├─components //作废 旧样式 +│ │ │ │ │ ├─classification +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ bg.png +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─congestion +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─flowstate +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─heightway +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─situation +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─traffic // 路网交通状况 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─unblocked +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ bg.png +│ │ │ │ │ charts.js +│ │ │ │ │ +│ │ │ │ ├─fee //收费站出入口实时车流量 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─flow //全路段车流量状况分析 +│ │ │ │ │ charts.js +│ │ │ │ │ chartsv1.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─real //全路段双向实时车流量 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─search //搜索框 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─section //断面车流量排名 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─timer //车流量时段分析 +│ │ │ │ charts.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─statistics //交通流统计 +│ │ │ data.js +│ │ │ index.vue +│ │ │ +│ │ ├─trafficSituation //交通态势分析 +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─analysis //综合指标分析 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─indicator //交通指标排名 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─radar //交通指标雷达图 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─search //查询 +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ ├─section //路段交通指标分析 +│ │ │ │ │ charts.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─timer //交通指标时间分布 +│ │ │ │ charts.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ ├─components //作废 旧样式 +│ │ │ │ ├─IndicatorAnalysis2 +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ └─components +│ │ │ │ │ ├─changesIndicators +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts3.js +│ │ │ │ │ │ +│ │ │ │ │ ├─composeFeatures +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─congestionIndicator +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ +│ │ │ │ │ ├─crowding +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ ├─roadIndicators +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ chart1.js +│ │ │ │ │ │ chart2.js +│ │ │ │ │ │ chart3.js +│ │ │ │ │ │ +│ │ │ │ │ ├─saturationMax +│ │ │ │ │ │ │ index.vue +│ │ │ │ │ │ │ +│ │ │ │ │ │ └─assets +│ │ │ │ │ │ charts.js +│ │ │ │ │ │ +│ │ │ │ │ └─trafficIndicators +│ │ │ │ │ │ ElQuarterPicker.vue +│ │ │ │ │ │ index.vue +│ │ │ │ │ │ progressBar.vue +│ │ │ │ │ │ +│ │ │ │ │ └─assets +│ │ │ │ │ charts.js +│ │ │ │ │ charts2.js +│ │ │ │ │ charts3.js +│ │ │ │ │ chartsRadar.js +│ │ │ │ │ +│ │ │ │ └─IndicatorQuery // 作废 综合指标查询 +│ │ │ │ data.js +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─query // 综合指标查询 +│ │ │ data.js +│ │ │ index.vue +│ │ │ +│ │ └─widgets // 通用部件 +│ │ └─title // 通用标题 +│ │ │ index.vue +│ │ │ +│ │ └─assets +│ │ left.png +│ │ right.png +│ │ title00.png +│ │ title10.png +│ │ title11.png +│ │ title12.png +│ │ title20.png +│ │ title21.png +│ │ title22.png +│ │ titleB01.png +│ │ titleB02.png +│ │ titleB03.png +│ │ titleB04.png +│ │ titleB06.png +│ │ titleB07.png +│ │ title_w.png +│ │ title_w01.png +│ │ title_w02.png +│ │ title_w1.png +│ │ title_w2.png +│ │ +│ ├─safe // 安全生产 +│ │ └─files // 文件管理 +│ │ data.js +│ │ index.vue +│ │ +│ └─service // 公众服务 +│ ├─analysis // 高速云数据分析 +│ │ │ charts.js +│ │ │ charts3.js +│ │ │ charts4.js +│ │ │ charts6.js +│ │ │ charts8.js +│ │ │ index.vue +│ │ │ +│ │ └─search // 查询 +│ │ DialogCalendar.vue +│ │ index.vue +│ │ +│ ├─board // 情报板发布 +│ │ │ addinfo copy.vue +│ │ │ editInfo.vue +│ │ │ index.vue +│ │ │ +│ │ └─testData +│ │ device.js +│ │ direction.js +│ │ template.js +│ │ templateCategory.js +│ │ +│ ├─boardRecord // 作废 情报板记录 +│ │ │ data.js +│ │ │ index.vue +│ │ │ +│ │ └─images +│ │ refresh.svg +│ │ +│ ├─broadcast // 语音广播发布 +│ │ │ addinfo copy.vue +│ │ │ editInfo.vue +│ │ │ index.vue +│ │ │ +│ │ └─testData +│ │ device.js +│ │ direction.js +│ │ template.js +│ │ templateCategory.js +│ │ +│ ├─InformationReleaseManagement // 信息发布管理 +│ │ │ index.vue +│ │ │ +│ │ └─Cards +│ │ ├─AuditDetails // 发布详情 +│ │ │ DetailCard.vue +│ │ │ index.vue +│ │ │ +│ │ └─AuditLists // 事件信息 +│ │ data.js +│ │ index.vue +│ │ ListItem.vue +│ │ +│ ├─publicService // 公众服务统计 +│ │ │ index.vue +│ │ │ index2.vue +│ │ │ +│ │ ├─channelAnalytics // 今日发布渠道分析 +│ │ │ charts.js +│ │ │ index.vue +│ │ │ +│ │ ├─components // 除record以外作废,旧组件样式 +│ │ │ ├─auditAnalytics +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─channelAnalytics +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─eventTypeAnalysis +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─nucleusThrough +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts3.js +│ │ │ │ +│ │ │ ├─nucleusThroughLine +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts3.js +│ │ │ │ +│ │ │ ├─postTrendsDay +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─postTrendsMonth +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─assets +│ │ │ │ charts.js +│ │ │ │ +│ │ │ ├─record // 公众服务统计查询 +│ │ │ │ │ data.js +│ │ │ │ │ index.vue +│ │ │ │ │ +│ │ │ │ └─images +│ │ │ │ delete.svg +│ │ │ │ export.svg +│ │ │ │ refresh.svg +│ │ │ │ +│ │ │ └─topComponent +│ │ │ │ index.vue +│ │ │ │ +│ │ │ └─assets +│ │ │ 交通事故.png +│ │ │ 交通拥堵.png +│ │ │ 交通管制.png +│ │ │ 其他事件.png +│ │ │ 异常天气.png +│ │ │ 施工建设.png +│ │ │ 服务区异常.png +│ │ │ 设备设施隐患.png +│ │ │ 路障清除.png +│ │ │ 车辆故障.png +│ │ │ 非法上路.png +│ │ │ +│ │ ├─eventTypeAnalysis // 今日发布事件类型分析 +│ │ │ charts.js +│ │ │ index.vue +│ │ │ +│ │ ├─nucleusThrough // 各事件发布渠道分析 +│ │ │ index.vue +│ │ │ +│ │ ├─postTrendsDay // 今日发布趋势分析 +│ │ │ charts.js +│ │ │ index.vue +│ │ │ +│ │ ├─postTrendsMonth // 月发布渠道趋势分析 +│ │ │ charts.js +│ │ │ index.vue +│ │ │ +│ │ └─search // 查询 +│ │ index.vue +│ │ +│ ├─PublishingChannelManagement // 作废 发布渠道管理 +│ │ │ data.js +│ │ │ index.vue +│ │ │ +│ │ └─components +│ │ AddNEditDialog.vue +│ │ Card.vue +│ │ Switcher.vue +│ │ +│ └─sensitive // 敏感词管理 +│ │ data.js +│ │ index.vue +│ │ +│ └─components +│ AddNEditDialog.vue +│ +├─scss // 公共样式替换 +│ el-reset.scss // elementUI深蓝样式 +│ reset.scss // 公共样式 +│ +├─skin // 公共配色 +│ └─blue +│ basic.scss +│ +├─testData // 作废 mock数据 +│ deviceList.js +│ infoBoard.js +│ +└─utils + │ common.js + │ deviceControl.js + │ enum.js + │ index.js + │ infoBoard.js + │ layerImages.js + │ moveable.js + │ resizeObserver.js + │ + ├─api //数据接口 + │ batch.js + │ device.js + │ + ├─axios //axios请求 + │ auth.js + │ index.js + │ + ├─enum //通用枚举 + │ common.js + │ + └─enum_event //事件详情枚举,根据不同事件的表单在此维护 + data.js + PresetFormItems.js +``` + + + diff --git a/ruoyi-ui/codehelp_readme.md b/ruoyi-ui/codehelp_readme.md new file mode 100644 index 00000000..90a0fe77 --- /dev/null +++ b/ruoyi-ui/codehelp_readme.md @@ -0,0 +1,204 @@ +#### 新增功能 + +1. 在`\ruoyi-ui\src\common\menuData.js`文件,找到对应的菜单下加入菜单。此处只作为菜单映射,不是实际展示的菜单内容。(实际展示内容根据用户权限返回的菜单项绑定)在`最近访问`文件中显示的名称也是在这里配置。 +2. 所有业务程序都在`ruoyi-ui\src\views\JiHeExpressway\pages`目录下维护 +3. 目前所有的elementUI组件都进行了新样式的重写,input组件直接引用即可,表格、分页等组件需要参考其他页面引用通用组件。 +4. 系统表单采用Element Form,可以参考下面封装教程 + +#### 升级功能 +1. 目前所有功能列表可参考同级目录`codehelp_files.md`文件,或`menuData.js`找到目录所在页面后进行页面调优。 + +2. 较为常用的通用页面有: + - 事件通用弹窗,用于各页面展示实现详情 `src\views\JiHeExpressway\pages\control\event\event\EventDetailDialog\index.vue` + - 通用视频组件,用户接入视频流`src\views\JiHeExpressway\components\VideoMulti\index.vue` + +3. 较为复杂的页面只有首页的地图和缩略图相关。地图采用高速提供的接口,缩略图采用antv/x6。 + - 地图文档:【腾讯文档】SuperMap-GIS组件使用文档 https://docs.qq.com/doc/DY3FYV1RaV2lLeXhO + + - 缩略图文档:[X6 图编辑引擎 | AntV](https://x6.antv.vision/zh) + + + + + +#### Element Form 封装 + +PresetFormItems.js 里面封装了一些可以复用的表单项 + +data.js 表单封装,里面会使用PresetFormItems的一些FormItem. + +Form表单属性介绍: + + + +/* + + column: 一行放多少元素(基于:style grid布局实现) + + formList: 表单项(FormItem)配置集合 + + v-model: 双向绑定的表单数据(可以获取到表单数据(同步表单数据this.$emit("update:value", this.formData)), 也可修改表单数据) + +*/ + +FormItem属性介绍 & ons 事件监听: + +export const additionalNotes = { + + label: "补充说明:", // 标题 + + key: "eventSourceTips", //数据存储字段 + + isAlone: true, // 单独一行 + + required: true, //必填 + + default: 5, //默认值 + + type: "input", //组件类型(el-input 去掉el-即可) 不填默认为input + + options: { //element原生formItem属性 + + type: "textarea", + + autosize: true, + + maxlength: 150, + + autosize: { minRows: 6, maxRows: 6 }, + + showWordLimit: true, + + }, + + visible: data => { //现隐控制 + + if (data.searchType == 1) { + + return true + + } + + }, + + ons: { //on监听 element事件 + + change(value, ...args) { + + const { data, formList } = args.slice(-1)\[0]; //data 为表单数据 formList为传入的配置项 + + formList[4].options.options = []; //调整配置项 修改下拉框options选项 + + this.$set(this.data, 'deviceState', undefined); //更新v-model双向绑定的表单数据 + + } + + }, + +}; + +MultipleLabelItem是单独写的组件,事件需按如下配置: + + merge({}, PresetFormItems.startStation, + + { + + options: { + + options: [ + + { + + prefix: { + + text: "K", + + style: { + + color: "#3DE8FF", + + }, + + }, + + key: "startStakeMark[0]", + + default: "55", + + rules: [ + + { + + message: "请补全桩号", + + callback(value, data) { + + console.log(value, data.startStakeMark); + + if ( + + !((value + "")?.trim() && (data.startStakeMark[1] + "")?.trim()) + + ) + + return false; + + else return true; + + }, + + }, + + ], + + ons: { //on监听 element事件 + + change(value, ...args) { + + const { data, formList } = args.slice[-1](0); //data 为数据 formList为传入的配置项 + + data.deviceType && changeHandle(data, formList); + + } + + }, + + }, + + { + + prefix: { + + text: "+", + + style: { + + color: "#3DE8FF", + + }, + + }, + + default: "378", + + key: "startStakeMark[1]", + + ons: { //on监听 element事件 + + change(value, ...args) { + + const { data, formList } = args.slice[-1](0); //data 为数据 formList为传入的配置项 + + data.deviceType && changeHandle(data, formList); + + } + + }, + + }, + + ], + + } + + }) \ No newline at end of file