From 5cde10d5bb0679e1b0be817963347bb206dc7e60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=9D=88=E3=83=BE=E9=AD=82?= <283591387@qq.com>
Date: Sat, 27 Apr 2024 07:57:20 +0000
Subject: [PATCH 1/2] update README.md.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 靈ヾ魂 <283591387@qq.com>
---
README.md | 60 +++++++++++++++++++++++++++----------------------------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/README.md b/README.md
index af5d2ea5..fbf0771a 100644
--- a/README.md
+++ b/README.md
@@ -42,83 +42,83 @@ App、H5、微信小程序: [http://v2.volcore.xyz/app/guide](http://v2.volcore.
sqlsugar: [https://www.donet5.com/](https://www.donet5.com/)
## 2023.05.13增加审批流程分支、条件功能
-
-
-
+
+
+
## 框架移动端(uniapp)已发布,同样全自动生成代码,扫描小程序二维码即可查看
-
+
-
-
-
-
+
+
+
+
## 框架已支持Vue3版本
-
+
## 框架已增加低代码设计器
-
-
+
+
## 框架2.0已更新(部分新增功能截图)
增加切换皮肤功能
-
-
+
+
增加可复用的后台请求参数校验
-
+
增加树形菜单与代码生成页面使用
-
+
增加文本编辑器直接发布静态页面功能
-
+
一对一多从表显示(只需要少量代码就可完成成,其他都由代码生成器生成)
-
+
表合并显示 (只需要几行代码完成代码生成器生成的页面实现扩展)
-
+
从图上传图片 (只需要几行代码完成代码生成器生成的页面实现扩展)
-
+
一对多从表(不限从表数量)扩展
-
+
图表
-
+
## 1、只读基础表单
整个只读的基础表单的所有前后端代码,全部由代码生成器生成,代码生成器中几乎不需要配置,并支持并后端业务代码扩展,直接生成代码后,配置菜单权限即可
-
+
## 2、自动绑定下拉框数据表单
整个自动绑定下拉框数据表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,在代码生成器中只需要指定数据源编号,页面加载时会根据编号自动加载数据源并绑定
-
+
## 3、启用图片支持、审核表单
整个启用图片支持、审核表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,审核功能需要在菜单配置权限、代码生成器中勾选启用图片支持
-
+
## 4、高级查询
整个表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,查询字段、类型(下拉框、日期、TextArea等)、所在行与列都由代码生成器完成,不需要写任何代码
- 
+ 
## 5、主从表新建、编辑
主从表新建、编辑所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,新建、编辑从表配置、字段、类型(下拉框、日期、TextArea等)、所在行与列、字段是否只读、标签显示的长度等都由代码生成器完成,不需要写任何代码
-
+
## 6、excel导入
excel导入整个页面都由代码生成器生成,导入的字段、字段是否必填,下载模板也由代码生成器上配置(自己根据实际需要决定是否采用此方法),导入时会验证是否为空与数据的合法性,逻辑校验自己实现扩展方法即可
-
+
## 7、H5开发
-
+
## 8、权限分配
目前只实现了对用户的角色的Action进行权限分配
-
+
## 9、代码生成器
代码生成器提供了20多种可配置的属性,可灵活配置显示、查询、编辑、导入、导出、主从关系等功能点击看代码生成器文档
-
+
其他功能。。。。。
--
Gitee
From 18ff0b4d184f30da3d5c72e078bda656b1a29830 Mon Sep 17 00:00:00 2001
From: Ady
Date: Mon, 29 Apr 2024 21:07:27 +0800
Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E5=BD=93=E8=A1=A8=E6=A0=BC=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=87=8F=E5=B0=91=EF=BC=8C=E9=80=9A=E8=BF=87EditIndex?=
=?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=B8=8D=E5=88=B0=E6=95=B0=E6=8D=AE=E6=97=B6?=
=?UTF-8?q?=EF=BC=8C=E9=AA=8C=E8=AF=81=E6=96=B9=E6=B3=95=E5=BA=94=E7=9B=B4?=
=?UTF-8?q?=E6=8E=A5=E8=BF=94=E5=9B=9E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Vol.Vue3.Vite/src/components/basic/VolTable.vue | 2 +-
.../src/components/basic/VolTable.vue" | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Vol.Vue3.Vite/src/components/basic/VolTable.vue b/Vol.Vue3.Vite/src/components/basic/VolTable.vue
index 1f3daffc..a4bf4919 100644
--- a/Vol.Vue3.Vite/src/components/basic/VolTable.vue
+++ b/Vol.Vue3.Vite/src/components/basic/VolTable.vue
@@ -1236,7 +1236,7 @@ export default defineComponent({
return true;
},
validateColum(option, data) {
- if (option.hidden || option.bind) return true;
+ if (option.hidden || option.bind || !data) return true;
let val = data[option.field];
if (option.require || option.required) {
if (val != '0' && (val === '' || val === undefined)) {
diff --git "a/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolTable.vue" "b/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolTable.vue"
index 8cd83c3d..787c1d30 100644
--- "a/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolTable.vue"
+++ "b/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolTable.vue"
@@ -1235,7 +1235,7 @@ export default defineComponent({
return true;
},
validateColum(option, data) {
- if (option.hidden || option.bind) return true;
+ if (option.hidden || option.bind || !data) return true;
let val = data[option.field];
if (option.require || option.required) {
if (val != '0' && (val === '' || val === undefined)) {
--
Gitee