# JVXETable 文档
[2020-09-14 | v2.3.0 版本]
[TOC=2,2]
>[info] [vxe-table 官方文档](https://xuliangzhan_admin.gitee.io/vxe-table/#/table/base/basic)
> `JVXETable`基于`vxe-table`组件开发,使用方式与`JEditableTable`类似,但也不完全一样
## 参数配置
### 基础参数配置
| 参数 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| columns | array | | **【必填】** 表格列的配置描述,详见【columns 参数配置】 |
| dataSource | array | | **【必填】** 表格数据 |
| size | string | 'medium' | 表格尺寸,可选值有:'medium'、 'small'、 'mini'、 'tiny' |
| loading | boolean | false | 是否正在加载 |
| height | number, string | 'auto' | 表格的固定高度,string只能填'auto',代表自适应高度 |
| maxHeight | number | null | 设定最大高度(px),默认null不限定最大高度 |
| disabled | boolean | false | 是否禁用全部组件 |
| bordered | boolean | false | 是否显示单元格竖向边框线 |
| toolbar | boolean | false | 是否显示工具栏 |
| toolbarConfig | object | {slot: \['prefix', 'suffix'\], btn: \['add', 'remove', 'clearSelection'\]} | 工具栏配置 |
| rowNumber | boolean | false | 是否显示行号 |
| rowSelection | boolean | false | 是否可选择行 |
| rowSelectionType | string | 'checkbox' | 选择行类型, 可选值:'checkbox'、 'radio' |
| rowExpand | boolean | false | 是否可展开行 |
| expandConfig | object | {} | 展开行配置 |
| pagination | object | {} | 分页器参数,设置了即可显示分页器,详见([APagination分页](https://antdv.com/components/pagination-cn/#API)) |
| clickRowShowSubForm | boolean | false | 点击行时是否显示子表单 |
| clickRowShowMainForm | boolean | false | 点击行时是否显示主表单 |
| clickSelectRow | boolean | false | 是否点击选中行,优先级最低 |
| reloadEffect | boolean | false | 是否开启 reload 数据效果 |
| editRules | object | {} | 校验规则 |
| asyncRemove | boolean | false | 是否异步删除行,如果你要实现异步删除,那么需要把这个选项开启;在remove事件里调用confirmRemove方法才会真正删除(除非删除的全是新增的行) |
| authPre| string | | 配置按钮/列权限,通常规则是[前缀:列/按钮编码] 如`jvxeauth:add` ,如果需要在该table上作权限控制,就需要配置此属性为权限编码的前缀 ,此例中为`jvxeauth` |
| alwaysEdit | boolean | false | 是否一直显示输入框,如果为false则只有点击的时候才出现输入框。注:该参数不能动态修改;如果行、列字段多的情况下,会根据机器性能造成不同程度的卡顿,谨慎使用 2.4.4+|
| linkageConfig | array| [] | `2.4.7+` 多级联动配置,详见[【多级联动配置】](多级联动配置.md) |
>[info] [更多配置详见VXETable文档](https://vxetable.cn/v2/#/table/api?filterName=columns)
### columns 参数配置
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| title | string | **【必填】** 表格列头显示的标题 |
| key | string | **【必填】** 列数据在数据项中对应的`key`,必须是**唯一**的 |
| type | string | **【必填】** 表单的类型,可以通过`JVXETypes`赋值(详见:[【组件配置文档】](组件配置文档.md)) |
| fixed | string | left(固定左侧), right(固定右侧) |
| width | string | 列的宽度,`px`、`%` |
| minWidth | | 最小列宽度, `px`、`%`;会自动将剩余空间按比例分配 |
| align | string | 列对齐方式 left(左对齐), center(居中对齐), right(右对齐) |
| placeholder | string | 表单预期值的提示信息,可以使用`${...}`变量替换文本(详见【常见问题_${...} 变量如何使用】) |
| defaultValue | string | 默认值,在新增一行时生效 |
| props | object | 设置添加给表单元素的自定义属性,例如:`props:{title: 'show title'}` |
| disabled | boolean | 是否禁用当前列,默认false |
| validateRules | array | 表单验证规则,配置方式见【validateRules 配置规则】 |
| formatter | Function({cellValue, row, column}) | 格式化显示内容,将处理后的值返回即可。注:仅影响展示的值,不会修改实际的值,也就是说,在获取和点击编辑时不会受影响 |
### validateRules 配置规则
`validateRules`需要的是一个数组,数组里每项都是一个规则,规则是object类型,规则的各个参数如下
* `required`是否必填,可选值为`true`or`false`
* `unique`唯一校验,不可重复,可选值为`true`or`false`
* `pattern`正则表达式验证,只有成功匹配该正则的值才能成功通过验证
* `handler`自定义函数校验,使用方法请见【使用示例\_五】)
* `message`当验证未通过时显示的提示文本,可以使用`${...}`变量替换文本(详见【常见问题_${...} 变量如何使用】)
* 配置示例请看【使用示例\_二】
## 事件
### added
* `触发时机`:点击`新增`按钮、调用`addRows`方法时会触发
* `携带参数`:
* `row`:添加完成后的行
>[info] 如果调用`addRows`方法添加多行,则每添加一行都会触发一次该事件
### save
* `触发时机`:只有点击`保存`按钮时才会触发
### remove
* `触发时机`:只有点击`删除`按钮时才会触发
* `携带参数`:
* `deleteRows`:即将被删除的行的ID
* `confirmRemove`:确认删除方法
>[info] 如果`asyncRemove`参数设为true,则会传递`confirmRemove`方法,否者不会,且只有调用了该方法后才会真正删除(除非删除的全是新增的行)
> 如果`asyncRemove`参数设为false,就会直接删除行,而不用调用`confirmRemove`。
### selectRowChange
* `触发时机`:当行被选中或取消选中时触发
* `携带参数`:
* `type`:选中类型
* `radio`:单选
* `checkbox`:多选
* `action`:选中操作
* `selected`:选中
* `unselected`:取消选中
* `selected-all`:全选
* `row`:当前操作的行(全选时没有该参数)
* `selectedRows`:所有被选中的行
* `selectedRowIds`:所有被选中的行的ID
* `$event`:原生事件
### pageChange
* `触发时机`:当分页参数被改变时触发
* `携带参数`:
* `current`:当前页码
* `pageSize`:当前页大小
### valueChange
* `触发时机`:当数据发生改变的时候触发的事件
* `携带参数`:
* `type`:组件类型(JVXETypes中定义的类型)
* `value`:新值
* `oldValue`:旧值
* `row`:当前行
* `col`:当前列
* `column`:当前列配置
* `rowIndex`:当前行下标
* `columnIndex`:当前列下标
* `cellTarget`:当前组件实例
* `isSetValues`:为`true`则代表是通过`setValues`方法触发的事件
>[info] **特别注意:** 如果是通过`setValues`方法触发的事件,将不会传递`row`、`rowIndex`、`columnIndex`、`cellTarget`这几个参数的。
## 方法
### addRows
* `说明`:添加一行或多行临时数据,会填充默认值,总是会激活添加的最后一行的编辑模式
* `参数`:
* `rows`:\[object | array\] 要添加的行
* `返回值`:Promise<row,rows>
### pushRows
* `说明`:添加一行或多行临时数据,不会填充默认值,传什么就添加进去什么
* `参数`:
* `rows`:\[object | array\] 要添加的行
* `options`:object 选项参数
* `index`:默认-1,插入位置,-1为最后一行
* `setActive`:默认false,是否激活添加的最后一行的编辑模式
* `返回值`:Promise<row,rows>
### loadData
* `说明`:加载数据,和`dataSource`不同的是,由于该方法不直接绑定到页面上,所以可以防止vue监听大数据,提高性能。当然如果数据量少的话就模棱两可了。
* `参数`:
* `dataSource`:array
* `返回值`:Promise
### loadNewData
* `说明`:加载新数据,和`loadData`不同的是,用该方法加载的数据都是相当于点新增按钮新增的数据,适用于不是数据库里查出来的没有id的临时数据。
* `参数`:
* `dataSource`:array
* `返回值`:Promise
### resetScrollTop
* `说明`:重置滚动条Top位置
* `参数`:
* `top`:number 新top位置,留空则滚动到上次记录的位置,用于解决切换tab选项卡时导致白屏以及自动将滚动条滚动到顶部的问题
* `返回值`:无
### validateTable
* `说明`:校验table,失败返回errMap,成功返回null
* `参数`:无
* `返回值`:Promise
### setValues
* `说明`: 设置某行某列的值
* `参数`:
* `values`:array
* `返回值`:void
### getAll
* `说明`:获取所有的数据,包括`tableData`、`deleteData`
* `参数`:无
* `返回值`:{ tableData, deleteData }
### getTableData
* `说明`: 获取表格数据
* `参数`:
* `options`:object 选项参数
* `rowIds`:string\[\] 行ID,传了就只返回传递的行
* `返回值`:row\[\]
### getNewData
* `说明`:仅获取新增的临时数据
* `参数`:无
* `返回值`:row\[\]
### getIfRowById
* `说明`:根据ID获取行,新增的临时行也能查出来
* `参数`:id
* `返回值`:{row, isNew}
* `row`:获取到的行
* `isNew`:当前行是否是新增的临时行
### getNewRowById
* `说明`:通过临时ID获取新增的临时行
* `参数`:id
* `返回值`:row
### getDeleteData
* `说明`:仅获取被删除的数据(新增又被删除的数据不会被获取到)
* `参数`:无
* `返回值`:row\[\]
### clearSelection
* `说明`:清空选择
* `参数`:无
* `返回值`:void
### removeRows
* `说明`:删除一行或多行数据
* `参数`:
* `rows`:\[object | array\]
* `返回值`:void
### removeRowsById
* `说明`:根据id删除一行或多行
* `参数`:
* `rowId`:\[string | array\]
* `返回值`:void
>[info] [更多方法见VXETable文档](https://vxetable.cn/v2/#/grid/api?filterName=methods)
## 内置插槽
| 插槽名 | 说明 |
| --- | --- |
| toolbarPrefix | 在操作按钮的**前面**插入插槽,和自带的按钮共处于一行,受`toolbar`和`toolbarConfig`属性的影响 |
| toolbarSuffix | 在操作按钮的**后面**插入插槽,和自带的按钮共处于一行,受`toolbar`和`toolbarConfig`属性的影响 |
| toolbarAfter | 在工具条的**下面**插入插槽,不受`toolbar`和`toolbarConfig`属性的影响 |
| subForm | 点击展开子表的内容 |
| mainForm | 弹出主表的内容 |
## vxeUtils.js 使用说明
引用路径:`@/components/jeecg/JVxeTable/utils/vxeUtils.js`
### export 的常量
* `VALIDATE_FAILED`
在判断表单验证是否通过时使用,如果 reject 的值 === VALIDATE\_NO\_PASSED 则代表表单验证未通过,你可以做相应的其他处理,反之则可能是发生了报错,可以使用`console.error`输出
### 封装的方法
#### validateTables
* `说明`:一次性验证多个JVxeTable实例
当你的页面中存在多个JVxeTable实例的时候,如果要获取每个实例的值、判断表单验证是否通过,就会让代码变得极其冗余、繁琐,于是我们就将该操作封装成了一个函数供你调用,它可以同时获取并验证多个JVxeTable实例的值,只有当所有实例的表单验证都通过后才会返回值,否则将会告诉你具体哪个实例没有通过验证。具体使用方法请看下面的示例
* `参数`:
- `cases`:array,传入一个数组,数组中的每项都是一个JVxeTable的实例
- `autoJumpTab` boolean,默认true,校验失败后,是否自动跳转tab选项
仅限于在ATab组件下使用的情况,如果没有就可以无视该参数
* `返回值`:Promise<tablesData[]> 返回表格数据数组,与传入的顺序一一对应
* `示例:`
``` js
import { validateTables, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
// 封装cases
let cases = []
cases.push(this.$refs.editableTable1)
cases.push(this.$refs.editableTable2)
cases.push(this.$refs.editableTable3)
cases.push(this.$refs.editableTable4)
cases.push(this.$refs.editableTable5)
// 同时验证并获取多个实例的值
validateTables(cases).then(tablesData => {
// tablesData 是一个数组,每项都对应传入cases的下标,包含values和deleteIds
console.log('所有实例的值:', tablesData)
}).catch((e = {}) => {
// 判断表单验证是否未通过
if (e.error === VALIDATE_FAILED) {
console.log('未通过验证的实例下标:', e.index)
} else {
console.error('发生异常:', e)
}
})
```
#### validateFormAndTables
* `说明`:同时验证AFrom实例和多个JVxeTable实例
和`validateTables`功能相同,只不过该方法进一步验证了AForm实例。
* `参数`:
- `form`:AForm实例
- `cases`:array,传入一个数组,数组中的每项都是一个JVxeTable的实例
- `autoJumpTab` boolean,默认true,校验失败后,是否自动跳转tab选项
* `返回值`:Promise<dataMap> dataMap.formValue=主表数据,dataMap.tablesValue=子表数据
### vxePackageToSuperQuery
* `说明`:vxe columns 封装成高级查询可识别的选项
* `参数`:
- `columns`:array,columns
- `handler`:function、单独处理方法
* `返回值`:array,高级查询所需要的`fieldList`
### getRefPromise
* `说明`:获取指定的 $refs 对象
有时候可能会遇到组件未挂载到页面中的情况,导致无法获取 $refs 中的某个对象
这个方法可以等待挂载完成之后再返回 $refs 的对象,避免报错
* `参数`:
- `vm`:vue实例
- `name`:string,ref的名称
* `返回值`:Promise,获取到的ref实例
- 项目介绍
- 新手入门教程
- 开发环境准备
- 基础环境要求
- 开发环境安装
- IDEA导入项目
- 通过IDEA启动项目
- VUE2前端文档
- Vue2前端快速启动
- Docker启动Vue2前端
- Vue2前端多环境
- 切换Vue2路由菜单表
- Docker启动单体后台
- 切换其他数据库
- Maven私服设置
- Docker安装软件
- docker搭建开发环境
- Docker中安装Elasticsearch
- 连接达梦数据库
- 达梦数据库多数据源
- 老版本文档
- 通过IDEA启动项目3.3
- 前端快速启动3.3
- IDEA导入项目3.3
- 快速开始
- HelloWorld
- 上线发布
- JAR部署方案
- JAR分离打包部署
- WAR部署方案
- 开启Nginx压缩
- swagger使用
- 老版本发布文档
- JAR部署方案3.3
- JAR分离打包部署3.3
- Docker单体启动项目3.3
- WAR部署方案2.4
- JAR部署方案3.4.1
- 代码生成器
- 代码生成器简介
- Online代码生成器
- GUI代码生成器
- 代码生成常见问题
- 发布后配置代码生成
- 代码生成器配置
- 代码生成器配置文件
- Online导入表过滤规则
- 自定义开发
- 生成器模板介绍
- 自定义一套模板
- 生成代码优化
- 快速生成模块
- 老版生成器文档
- 微服务开发
- 微服务解决方案
- 单体升级为微服务3.4.1+
- archetype生成微服务模块3.4+
- docker启动微服务项目3.4.1+
- 微服务项目结构说明3.4.1
- jeecg-server-cloud微服务中间件
- Sentinel集成和规则配置用法
- Admin监控用法
- Gateway网关高级配置3.4
- jeecg-boot-starter项目实战
- jeecg-boot-starter目录结构
- xxl-job定时任务集成2.4+
- rabitmq消息队列集成2.4+
- 消息总线用法2.4+
- Redisson分布式锁集成2.4+
- 防止重复提交2.4+
- 分库分表ShardingSphere3.4+
- 分库分表ShardingSphere2.4
- 分布式事务Seata集成
- 上线部署
- 微服务部署文档
- 老版本
- 单体升级为微服务2.4~3.1
- docker-compose部署3.0
- 微服务安装与快速启动
- docker-compose部署3.1
- 老版微服务文档
- 单体升级为微服务3.4
- archetype生成微服务模块3.4
- docker启动微服务项目3.4
- jeecg-cloud-module目录结构3.4
- 单体升级为微服务3.2+
- archetype生成微服务模块3.2+
- Docker启动微服务3.3+
- Gateway网关高级配置3.2
- 实战技巧
- 实战微服务模块分层
- 微服务之间调用免Token方案
- 微服务单独配置数据源3.4+
- 微服务单独配置nacos 3.4+
- 微服务单独配置数据源3.2
- 微服务单独配置nacos 3.2
- 系统日志表跨库问题
- nacos配置实现动态刷新
- 高级应用
- 微服务Feign调用示例
- skywarking链路跟踪
- 微服务和单体定义切换接口
- 安装@Redis集群搭建
- 安装@RabbitMq创建交换机
- 3.2之前限流用法
- 微服务熔断/降级/限流2.4+
- HystrixCommand配置参数详解
- 动态feign客户端
- 常见问题
- gateway接口文档不通
- 访问gateway超时
- 系统监控跨域问题修复
- gateway请求返回400
- 后端开发技巧
- 常用问题汇总
- 数据库支持说明
- 自定义注解用法
- Spring缓存注解@Cacheable
- 字典翻译注解@Dict
- 数据权限注解@PermissionData
- 日志记录注解@AutoLog
- 菜单路由配置
- 菜单配置说明
- 带参数路由菜单
- 路由菜单规则
- 菜单快速SQL
- 聚合路由菜单
- 数据快照功能如何用?
- 快速创建module模块
- 查询过滤器用法
- 系统日志怎么插入?
- 自定义sql分页实现
- redis 如何使用?
- 事务如何使用?
- 动态数据源使用
- 定时任务如何开发?
- 平台消息推送接口
- 接口敏感数据安全
- 批量插入效率建议
- 短信接口配置(阿里大鱼短信)
- 自定义注解限制重复提交
- 邮箱配置文档
- 积木报表设计器数据集使用
- 父子编码使用说明
- 我的文档安全配置
- 文档预览
- 在线多数据源
- 导入校验工具类
- druid数据库密码加密
- 自定义首页的用法
- 系统安全模式
- 数据脱敏注解
- Long类型主键导致精度丢失问题
- sql黑名单配置
- 系统文件上传
- 统一文件上传规则
- MinIO配置
- 阿里云OSS配置
- Minio版本6.0.13升级到8.0.3修改记录
- 文件上传大小限制
- VUE2前端开发
- 如何更改默认主题
- Form表单开发特殊性
- Icon图标扩展方法
- vuex使用详解
- vue路由带参总结
- 全局配置文件
- 列表自定义列实现
- 国际化改造方案
- 常用命令
- 报表开发
- 报表开发技术点
- 自定义报表组件
- 源码解读
- 自定义组件
- 前端技巧
- components包下文件描述
- JDictSelectTag字典标签
- duplicateCheck表单字段重复校验通用JS
- JVxeTable行编辑
- 组件配置文档
- 自定义组件
- 封装自定义组件
- 自定义组件增强
- 多级联动配置
- 使用示例
- 常见问题解答
- JEditableTable帮助文档
- JMultiSelectTag多选组件
- JPopup弹窗选择组件
- JSearchSelectTag字典表的搜索组件
- JSelectDepart部门选择组件
- JSelectMultiUser用户多选组件
- JSelectUserByDep根据部门选择用户
- JTreeDict分类字典树形下拉组件
- JTreeSelect树形下拉框 (异步加载)
- JInput 查询组件
- JCron 帮助文档
- JCategorySelect 帮助文档
- JUpload上传组件
- JImageUpload图片上传组件
- JSuperQuery高级查询组件
- JAreaLinkage省市县三级联动
- JEllipsis超长截取显示
- JDate 日期组件
- JCheckbox组件
- JCodeEditor组件
- JSelectMultiple多选下拉组件
- JTreeSelect树形下拉组件
- JImportModal组件
- JAsyncTreeList异步树表格
- JFormContainer使用文档
- JMarkdownEditor使用文档
- 前端开发坑(一定要注意)
- 按需加载方案
- 按需加载@减小打包
- JeecgBoot实战-按需加载方案
- 表格的换行与不换行
- 旧:表格的换行与不换行
- 主子表子表下拉框、时间框弹框被遮挡优化
- 前端依赖包package.json
- 如何实现多列表单
- 前端字典缓存用法
- 自定义首页
- 门户首页Portal权限控制
- Form升级为FormModel用法
- 动态覆盖env配置文件(新)
- 上传组件使用kkfileview实现文件预览
- 系统权限用法
- JAVA请求权限控制
- 页面按钮权限用法
- 数据表格列字段控制
- 表单权限
- 显示隐藏控制
- 禁用控制用法一
- 禁用控制用法二
- 子表行字段的禁用和隐藏控制
- 数据权限
- 数据权限规则篇
- 数据权限用法篇
- 编码对接数据权限(未用查询过滤器)
- 权限配置自定义SQL
- 子表数据权限
- 二级部门权限管理
- 填值规则(编码生成)
- 校验规则(高级校验)
- 列表列字段导出权限示例
- 备份
- 通过URL方式配置数据权限
- Online表单VUE2版
- Online开发初体验
- Online表单的菜单配置
- Online表单配置
- Online表单配置参数说明
- Online表单一对多表单配置
- Online树列表表单配置
- Online表单查询配置说明
- Online功能如何配置成菜单
- Online表单填值规则配置
- Online表单排版
- Online树列表表单配置(个性化)
- Online表单标准字段说明
- Online表单删除说明
- Online对接积木报表
- Online查询排序配置
- Online联合查询配置
- Online导入导出值转换器
- Online表单视图功能
- Online自定义查询配置
- Online表单控件
- 下拉框@多选框@单选框
- 下拉多选
- 下拉搜索
- Popup控件
- 富文本控件
- 时间控件
- 用户选择器
- 部门选择器
- 自定义树控件
- 分类字典树控件
- Online之popup使用
- 下拉联动组件
- markdown编辑器
- 省市区组件
- 开关控件
- 字段排列顺序调整
- 字段显示隐藏控制
- 控件配置Href
- 字段校验规则使用
- 控件默认值表达式
- 控件扩展参数用法
- Online权限配置
- 字段权限配置与授权
- 按钮权限配置与授权
- 数据权限配置与授权
- 联合查询数据权限规则说明
- 在线开发(增强)
- Online 自定义按钮
- Online自定义按钮基础篇
- Online自定义按钮表达式
- Online基础篇-SQL增强
- Online JS增强
- 基础篇-JS增强
- 基础篇-JS增强(表单渲染)
- 列表JS API
- 表单JS API
- JS增强自定义弹窗
- JS增强 实战示例
- 表单按钮 动态显隐字段
- 表单按钮 改变控件的值
- 修改控件值【单表/主表】
- 表单按钮修改子表数据
- 修改控件值【从表】
- 修改控件值【从改主】
- JS增强实现下拉联动
- 表单前置事件(提交/编辑/删除)
- 初始化表单默认值
- 获取vuex缓存
- Online Java增强
- online基础篇-java增强
- Online java增强 导入
- Online java增强 导出
- Online java增强 查询
- Online Java增强 http-api
- 表单类
- 列表类
- 对接表单设计器后需注意
- Online java增强配置说明
- 备份2.4
- Online java增强 导入2.4
- online java 增强 http-api
- 通过字段Href实现三级联动
- 导入数据库表支持排除表
- edu
- Online表单专题课程1
- Online表单专题课程2
- 备注
- Online权限配置(作废—老版本)
- 列表字段权限(显示与隐藏)
- 表单字段权限(隐藏和禁用)
- 列表按钮权限(隐藏)
- 列表数据权限
- 树形表单数据权限配置
- Online表单权限配置(作废—老版本)
- 功能描述
- 列表权限
- 列表字段的显示或隐藏
- 列表操作按钮的显示或隐藏
- 列表自定义按钮的显示或隐藏
- 表单权限
- 表单字段的显示或隐藏
- 表单字段的禁用或可编辑
- online表单使用常见问题
- online AI自动化测试数据制作
- Online导入开启校验用法
- Online AI模型测试用例功能详情
- Online Al模型智能测试数据制作文档
- online表单API接口
- Online报表VUE2版
- Online报表
- online报表-使用步骤
- online报表-动态参数
- 如何配置报表菜单
- Online报表权限配置
- Online报表系统变量应用
- 参数说明
- Online报表排序
- 字段href
- 字典配置
- online报表-合计
- online报表-配置分组标题
- online报表导出
- 高级实战技巧
- Websocket业务对接
- WebSocket的集成
- SAAS多租户用法
- 如何集成积木报表
- 使用jdk14启动项目【内测】
- 全局监听使用示例
- 微前端高级改造
- 逻辑删除方案
- 升级springboot2.6.3问题汇总
- postgresql数据库兼容问题
- 单体架构集成分库分表
- CAS单点登录
- CAS单点登录服务端准备
- 单点登录流程图
- 单点登录配置说明(2.3.1+)
- 单点登录配置说明(vue3)
- archive
- 2.JeecgBoot后端对接CAS步骤
- 3.JeecgBoot前端项目对接CAS步骤(2.3.0)
- 第三方登录
- 企业微信配置
- 钉钉配置
- 企业微信集成方案
- 微信第三方集成
- 钉钉和企业微信打通
- 配置开关
- 钉钉集成流程
- 企业微信集成流程
- 小技巧
- 同步部门规则
- 同步用户规则
- 同步到本地开关
- OAuth2登录(应用集成)
- 钉钉OAuth2登录
- 企业微信OAuth2登录
- JeecgUniapp开发
- 开发环境搭建
- 项目简介
- 编写Hello World页面
- 打包项目
- APP打包
- 微信小程序打包
- H5打包
- 小程序发布
- APP首页排版设计
- API接口配置
- uniapp推送
- 后台定时unipush推送配置
- websocket消息推送修改
- HBuilderX打包APP
- 1.Build-JeecgBoot项目
- 2.HBuilderX 打包APP
- HBuilder打包APP手机端安装配置教程
- bak_vant
- 小结
- 后台推送消息移动端
- 如何安装新依赖
- 代码生成列表和表单
- AutoPOI(Excel工具)
- 快速文档
- 单表数据导出多表头示例
- 单表数据多表头导入注意bak
- 导出自定义选择列导出
- @excel注解使用
- excel根据模板导出
- 一对多导出needMerge
- 单表数据导出多sheet实例
- autopoi升级到4.0版本修改记录
- 大数据量处理
- 大数据量导出示例
- 编码规范
- 代码规范
- 建表规范
- 代码格式化插件安装
- 代码质量扫描
- 更多商业功能介绍
- 表单设计器
- 仪表盘设计器
- 流程设计器
- 工作流引擎
- 大屏设计器
- 低代码应用
- 门户设计器
- APP移动办公
- APP布局设计
- OA办公
- Online图表