Gis-plugin为了减轻开发者的编码负担,采用了类似约定大于配置的思想,将大量的配置抽取出来,并为开发者保留了两个级别的自由度。
  首先,我们要知道,gis-plugin相关的配置存储在组件库内部,这个配置是最为完整但同时优先级最低的配置,具体详细配置如下:
```
{
form: {
inline: false, // 是否开启行内表单模式
labelPosition: 'right', // left、right、top
border: true, // 是否显示边框
poptip: true, // 是否使用气泡提示错误
labelWidth: 100, // 表单域标签的宽度,所有的 FormItem 都会继承 Form 组件的 label-width 的值
span: 12, // 单个元素宽度,默认的span大小(最大为24)
gutter: 10, // 栅格间距,单位 px,左右平分
clearable: true, // 是否显示清空按钮
add: 'save', // 新增action
edit: 'edit', // 编辑action
show: 'get' // 查询action
},
table: {
stripe: false, // 是否显示斑马纹
border: false, // 是否显示纵向边框
showHeader: true, // 是否显示表头
disabledHover: false, // 禁用鼠标悬停时的高亮
highlightRow: true, // 是否支持单选高亮
size: 'small', // 表格大小
noDataText: '暂无数据', // 数据为空时显示的提示内容
draggable: false, // 是否支持拖拽
showPage: false, // 是否显示分页
showSearch: false, // 是否显示查询条件
showButton: true, // 是否显示操作按钮
page: { // 分页配置
pageSize: 20, // 默认分页大小
pageSizeOpts: \[10, 20, 50\], // 每页条数切换的配置
size: 'small', // 可选值为small(迷你版)或不填(默认)
simple: false, // 简洁版
showTotal: true, // 显示总数
showElevator: true, // 显示电梯,可以快速切换到某一页
showSizer: true, // 显示分页,用来改变page-size
transfer: false // 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性,它将不受父级样式影响,从而达到更好的效果
},
search: { // 查询条件框配置
poptip: true, // 气泡提示
span: 24,
border: false,
labelWidth: 70
},
button: { // 操作按钮配置
// 按钮大小
size: 'default',
// 是否为幽灵按钮
ghost: false,
// 多个按钮是否为按钮组的样式
isGroup: true
}
},
modal: {
showHeader: true, // 是否展示页头
showFooter: true, // 是否展示页脚
scrollable: false, // 是否允许弹窗显示时背后页面滚动
draggable: false, // 是否支持拖拽
maskClosable: false, // 点击遮罩层关闭弹窗
closing: false, // 关闭有动画,期间使用此属性避免重复点击
title: '弹窗', // 默认的弹窗标题
processImgUrl: "", // 流程信息图片获取路径
processOperationUrl: "" // 操作信息获取路径
},
list: {
showPage: false, // 是否显示分页
showSearch: false, // 是否显示查询条件
imgWidth: 120, // 海报宽度
border: true, // 是否显示边框
span: 6, // 列表内容宽度
noDataText: '暂无数据', // 数据为空时显示的提示内容
page: { // 分页配置
pageSize: 10, // 默认分页大小
pageSizeOpts: \[10, 20, 50\], // 每页条数切换的配置
size: 'small', // 可选值为small(迷你版)或不填(默认)
simple: true, // 简洁版
showTotal: true, // 显示总数
showElevator: true, // 显示电梯,可以快速切换到某一页
showSizer: true, // 显示分页,用来改变page-size
transfer: false // 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性,它将不受父级样式影响,从而达到更好的效果
},
search: { // 查询条件框配置
border: false,
labelWidth: 80,
span: 8
}
},
upload: {
type: 'select', // 上传控件的类型,可选值为 select(点击选择),drag(支持拖拽)
multiple: false, // 是否支持多文件上传
paste: true, // 是否支持粘贴
label: '附件管理', // 按钮中文本
emptyText: '暂无数据', // 当无数据时显示的文字
fileNameExp: 'fileName', // 文件名对应的字段名
formatExp: 'format', // 格式对应的字段名
prompt: '', // 自定义提示
uploadUrl: '', // 上传路径
fetchUrl: '', // 初始化文件路径
showUrl: '', // 查看附件的url
downloadByIdUrl: '',//通过ID下载文件
downloadByPathUrl: '',//通过路径下载文件
deleteFile: '',//删除文件
// 分组上传组件配置
group: {
multiple: false, // 是否支持多文件上传
fileNameExp: 'fileName', // 文件名对应的字段名
formatExp: 'fileType', // 格式对应的字段名
getGroupsUrl: "/files/getGroupFileByBizType", // 获取分组情况路径
uploadUrl: '/gisBoot/files/groupFileUpload', // 上传路径
fetchUrl: '/gisBoot/files/groupFileUpload', // 初始化文件路径
showUrl: '/files/fileDownload', // 查看附件的url
downloadByIdUrl: '/files/fileDownload',//通过ID下载文件
downloadByPathUrl: '/files/fileDownloadByPath',//通过路径下载文件
deleteFile: '/files/delGroupFileByIds',//删除文件
}
}
}
```
<br />
  第二,当我们在main.js中引入GisPlugin时,我们可以对配置进行第一次修改,这便是开发者的第一级自由度。
**用例:**
```
Vue.use(GisPlugin, {
form: {
border: true,
span: 12
},
table: {
border: true,
stripe: true,
showPage: true,
showSearch: true,
showButton: true,
button: {
isGroup: false
}
},
modal: {
// title: 'modal'
},
upload: {
formatExp: 'fileType',
uploadUrl: '/gisBoot/files/fileUpload',
fetchUrl: '/files/getFilesByBizId',
showUrl: '/files/fileDownload',
downloadByIdUrl:'/files/fileDownload',
downloadByPathUrl: '/files/fileDownloadByPath',
deleteFile:'/files/delByIds'
}
})
```
  **注意:** 这里Vue.use的第二个参数即为我们自定义的配置,所有基础配置中囊括而此处没有的配置,皆以基础配置为主,而此处进行配置的则将覆盖基础配置,也就是说这一级配置的优先级要高于基础配置,我们将其称之为全局配置。
<br />
  第三,当我们在使用具体组件时,例如gis-form组件,我们可以为其传入一个config参数,用来修改全局配置,即开发者的第二层自由度,我们称之为单组件配置。这一级配置仅在接受了config的组件内生效,并不会影响到其他组件的使用。
**用例:**
```
config: {
labelWidth: 200
}
```
- 一、 开发环境
- 二、系统开发规范
- 1. 工程目录规范
- 1.1根目录规范
- 1.2.通用组件目录规范
- 1.3.自定义模块、项目目录规范
- 1.4.资源目录规范
- 1.5.文件命名规范
- 1.6.变量命名规范(小写驼峰)
- 1.7.函数命名规范(小写驼峰)
- 1.8.代码规范
- 1.9.参考文档
- 2. 前端编码规范
- 2.1.代码检查工具及常见规范
- 2.2.结构规范及编码逻辑
- 3. 后端编码规范
- 3.1.代码检测工具及常见规范
- 3.2.结构规范及编码逻辑
- 4. 数据库设计规范
- 4.1.参考文档
- 4.2.主流数据库字段命名长度限制
- 4.3.命名规范
- 4.4.使用规范
- 5. 系统运维规范
- 6. 安装部署规范
- 7. 组件版本规范
- 1.目标
- 2.组件概念
- 3.文件格式
- 4.组件规范
- 5.Vue 中函数的使用
- 6.提供组件 API 文档
- 7.使用 mixins
- 8、表单设计规范
- 三、自定义表单组件
- 1.设计思路
- 1.1 解决了哪些痛点
- 1.2 核心思路
- 2.1全局配置
- 2.2双向绑定
- 1.3 如何快速上手
- 2.gis-plugin基础使用说明
- 2.1 观前须知
- 2.2 基础配置
- 3. Form组件
- 3.1 基本使用
- 3.2 API说明
- 2.1 props
- 2.2 events
- 3.3 示例代码
- 3.4 常见问题
- 4.1 gis-tag-form的使用
- 4.2 gis-form配套组件的使用
- 4.2.1 gis-form-table 表单内置表格
- 4.2.2 gis-form-editor 表单内置富文本编辑器
- 4.2.3 gis-form-upload 表单内置上传组件
- 4.3 表单初始化常见问题
- 4.Table组件
- 4.1 基本使用
- 4.2 API说明
- 2.1 props
- 2.2 events
- 4.3 示例代码
- 4.4 常见问题
- 4.1 我有隐藏的查询条件,不在查询框上显示,该怎么办?
- 4.2 通过接口获取到的数据我要进一步做处理,该怎么办?
- 4.3 我使用了render,为什么字典值(dict)就无效了?
- 5.Model组件
- 5.1 基本使用
- 5.2 API说明
- 2.2 prop
- 2.2 events
- 5.3 示例代码
- 5.4 常见问题
- 6.附件上传
- 6.1 附件上传组件
- 6.2 图片上传组件
- 7. 文档处理
- Excel组件(基于POI实现)
- Word组件(基于POI实现)
- Pdf组件(基于POI实现)
- 8. 级联选择表单
- 四、自定义ArcGIS通用工具Exe
- 01. EXE接口说明
- 02. CAD转JSON接口
- 03. SHAPE转JSON接口
- 04. 从工作空间中导出文件
- 05. 从ESRIJSON导出文件
- 06. 坐标转换-ESRIJSON
- 07. 坐标转换-文件
- 08. 数据编辑-ESRIJSON
- 09. 数据编辑-新增-从CAD文件导入
- 10. 数据编辑-删除
- 11. 数据编辑-编辑-从CAD文件编辑
- 12. 面积&长度计算
- 13. 空间分析-ESRIJSON
- 14. 空间分析-工作空间
- 15. 数据编辑-从工作空间中导入
- 16. 空间分析-地图服务(一维)
- 17. 空间分析-地图服务(二维)
- 18. 空间分析-地图服务(多个)
- 19.数据编辑-从CAD文件导入(92坐标系CAD,双图层)
- 20.空间分析-验证是否闭合、是否自相交
- 21.WMF转PDF
- 22.数据统计-地图服务
- 五、项目建设规范
- 六、注意事项
- 七、常见问题
- 八、 WebGIS核心组件库
- 01.后台管理端
- 02.图形端
- 03.移动端
- 04.接口
- 九、工作流开发
- 1.前期工作
- 1.1 禁用Activiti自带登录验证
- 1.2 设置应用部署域名
- 2.流程审批步骤
- 2.1.创建模型
- 2.2.在线流程设计
- 2.3.部署发布
- 2.4.流程配置
- 2.5.流程申请
- 2.6.流程审核
- 3.流程设计demo
- 3.1.一般流程
- 3.2.带条件流程
- 3.3.会签流程
- 4.其他一些开发详解
- 4.1.关于内嵌Activiti在线流程设计器
- 4.2.关于对原框架中流程设计代码的调优
- 4.3.关于DelegateExecution对象的常用方法
- 5.工作流接入文档
- 十、框架更新日志
- 其它
- 代码生成器
- 短信平台管理与接口
- 单据编码管理与接口
- 定时任务管理与接口
- 文件管理与接口
- 地图打印管理与接口
- Excel文件导出接口
- 经典SQL语句
- 多实例运行Redis
- 多数据库操作
- 消息通知管理与接口
- 工作流数据清理
- 其他技术总结
- 发布/订阅功能使用说明
- 学习资料
- 十一、多数据源-dynamic-datasource
- 基础必读
- 连接池集成
- 连接池必读
- 集成Druid
- 集成HikariCP
- 集成BeeCP
- 集成DBCP2
- 集成Jndi
- 第三方集成
- 集成MybatisPlus
- 集成P6spy
- 集成Quartz
- 集成ShardingJdbc
- 进阶使用
- 动态添加移除数据源
- 动态解析数据源
- 数据库加密
- 启动初始化执行脚本
- 自动读写分离
- 懒启动数据源
- 无数据源启动
- 手动切换数据源
- 自定义
- 自定义注解
- 自定义数据源来源
- 自定义负载均衡策略
- 自定义切面
- 事务专栏
- 基础知识
- 本地事务
- seata事务
- 调试源码
- 常见问题
- 不可用版本
- 注意事项
- dynamic-datasource参考资料
