济菏高速业务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
zhangzhang 682f492e1b Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-hs into develop 8 months ago
..
bin 更新 11 months ago
build 字段修改提交 11 months ago
public 改bug 8 months ago
src Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-hs into develop 8 months ago
.editorconfig 代码迁移 11 months ago
.env.development 代码迁移 11 months ago
.env.production 代码迁移 11 months ago
.env.staging 代码迁移 11 months ago
.eslintignore 代码迁移 11 months ago
.eslintrc.js 更新 11 months ago
.gitignore 更新 10 months ago
README.md 更新 设备批量控制 9 months ago
babel.config.js 更新 11 months ago
package.json 增加拖拽插件 8 months ago
vue.config.js 情报板记录 8 months ago

README.md

开发

  ruoyi版本号 3.7.0
# 克隆项目
git clone https://gitee.com/y_project/RuoYi-Vue

# 进入项目目录
cd ruoyi-ui

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

#新增视频流播放和gis地图
npm install --save @vue/composition-api
npm install gis-map-tunnel@0.1.3
#新增swiper轮播图
npm install swiper@^5.4.5
#新增精确计算
npm install mathjs

# 新安装阿里云iconfont图标库,文件地址src\assets\icon\iconfont.css
#新增树形穿梭框
npm install --save el-tree-transfer

# 启动服务
npm run dev

浏览器访问 http://localhost:80

发布

# 构建测试环境
npm run build:stage

# 构建生产环境
npm run build:prod

# 新版gis地图
npm install gis-map-admin@0.9.2

# 新增 vue-resource 数据请求
npm install vue-resource --save

# 新增 视频 rtmp转码 
npm install vue-video-player -S
# 因为是播放rtmp格式流,需要安装 videojs-flash 插件,必须用npm安装!!!!!!
npm install video-flash --save
# 使用file-saver导出文件,下载Excel文件、下载图片、下载文本
npm install file-saver --save

开发教程

Element Form 封装

PresetFormItems.js 里面封装了一些可以复用的表单项 data.js 表单封装,里面会使用PresetFormItems的一些FormItem.

Form表单属性介绍:

{ key: "ServiceAreaAbnormal", //唯一标识 一般tabs才需要 label: "服务区异常",//表单标题 formConfig: { formOptions: {//element中表单配置参数 column: 2, //一行放多少元素(基于:style grid布局实现) }, list: [//FormItem定义 { label: "异常分类:", key: "eventSubclass", type: "RadioGroup", isAlone: true, required: true, options: { activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", options: [ { key: "8-1", label: "封闭、暂停营业", }, { key: "8-2", label: "重要设施停用", }, { key: "8-3", label: "其他异常", }, ], }, }, PresetFormItems.freeway, PresetFormItems.direction, { label: "服务区:", key: "dcEventServiceArea.facilityId", type: "select", isAlone: true, required: true, options: { options: [ { value: "选项1", label: "黄金糕", }, ], }, }, { label: "出入口:", key: "dcEventServiceArea.exitsInlets", type: "RadioGroup", isAlone: true, required: true, options: { activeColor: "linear-gradient(180deg, #37E7FF 0%, #009BCC 100%)", options: [ { key: "1", label: "出口", }, { key: "2", label: "入口", }, ], }, }, PresetFormItems.startTime, PresetFormItems.expectedEndTime, PresetFormItems.remark, PresetFormItems.source, ], }, }

FormItem属性介绍:

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为传入的配置项 mileCal(data); } }, };

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; //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; //data 为数据 formList为传入的配置项 data.deviceType && changeHandle(data, formList); } }, }, ], } })