From 6f682447d0959ffca11a5bf331c1ace246357e1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=88=E3=83=BE=E9=AD=82?= <283591387@qq.com> Date: Tue, 19 Apr 2022 17:32:43 +0000 Subject: [PATCH 1/5] update README.md. --- README.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index a3adbd6d..487fefdc 100644 --- a/README.md +++ b/README.md @@ -33,73 +33,73 @@ ## App/H5开发 - http://v2.volcore.xyz/app/guide ## 框架移动端(uniapp)已发布,同样全自动生成代码 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/qrcode.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m001.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m002.png) +![Home](/imgs/qrcode.png) +![Home](/imgs/m001.png) +![Home](/imgs/m002.png) ## 框架已支持Vue3版本 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/v3.png) +![Home](/imgs/v3.png) ## 框架已增加低代码设计器 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/fd01.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/fd02.png) +![Home](/imgs/fd01.png) +![Home](/imgs/fd02.png) ## 框架2.0已更新(部分新增功能截图) 增加切换皮肤功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/h.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/home_them.png) +![Home](/imgs/h.png) +![Home](/imgs/home_them.png) 增加可复用的后台请求参数校验 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/validator.png) +![Home](/imgs/validator.png) 增加树形菜单与代码生成页面使用 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/x7tree.png) +![Home](/imgs/x7tree.png) 增加文本编辑器直接发布静态页面功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/editor.png) +![Home](/imgs/editor.png) 一对一多从表显示(只需要少量代码就可完成成,其他都由代码生成器生成) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m1.png) +![Home](/imgs/m1.png) 表合并显示 (只需要几行代码完成代码生成器生成的页面实现扩展) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/span.png) +![Home](/imgs/span.png) 从图上传图片 (只需要几行代码完成代码生成器生成的页面实现扩展) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/p1.png) +![Home](/imgs/p1.png) 一对多从表(不限从表数量)扩展 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/multi.png) +![Home](/imgs/multi.png) 图表 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/charts.png) +![Home](/imgs/charts.png) ## 1、只读基础表单 整个只读的基础表单的所有前后端代码,全部由代码生成器生成,代码生成器中几乎不需要配置,并支持并后端业务代码扩展,直接生成代码后,配置菜单权限即可 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table1.png) +![Home](/imgs/table1.png) ## 2、自动绑定下拉框数据表单 整个自动绑定下拉框数据表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,在代码生成器中只需要指定数据源编号,页面加载时会根据编号自动加载数据源并绑定 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table2.png) +![Home](/imgs/table2.png) ## 3、启用图片支持、审核表单 整个启用图片支持、审核表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,审核功能需要在菜单配置权限、代码生成器中勾选启用图片支持 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table3.png) +![Home](/imgs/table3.png) ## 4、高级查询 整个表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,查询字段、类型(下拉框、日期、TextArea等)、所在行与列都由代码生成器完成,不需要写任何代码 - ![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/tablesearch4.png) + ![Home](/imgs/tablesearch4.png) ## 5、主从表新建、编辑 主从表新建、编辑所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,新建、编辑从表配置、字段、类型(下拉框、日期、TextArea等)、所在行与列、字段是否只读、标签显示的长度等都由代码生成器完成,不需要写任何代码 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/editTbale2.png) +![Home](/imgs/editTbale2.png) ## 6、excel导入 excel导入整个页面都由代码生成器生成,导入的字段、字段是否必填,下载模板也由代码生成器上配置(自己根据实际需要决定是否采用此方法),导入时会验证是否为空与数据的合法性,逻辑校验自己实现扩展方法即可 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/importTable1.png) +![Home](/imgs/importTable1.png) ## 7、H5开发 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/h5.jpg) +![Home](/imgs/h5.jpg) ## 8、权限分配 目前只实现了对用户的角色的Action进行权限分配 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/auth.png) +![Home](/imgs/auth.png) ## 9、代码生成器 代码生成器提供了20多种可配置的属性,可灵活配置显示、查询、编辑、导入、导出、主从关系等功能点击看代码生成器文档 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/coder.png) +![Home](/imgs/coder.png) 其他功能。。。。。 -- Gitee From fad1a2c6a27073fb2b4ccab664f011e90cffa790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=91=E7=9A=84=E5=A4=A9=E7=A9=BA?= Date: Wed, 20 Apr 2022 15:08:40 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E9=9A=90=E8=97=8F=E7=9A=84=E5=85=83=E7=B4=A0?= =?UTF-8?q?=E4=B8=8D=E5=8F=82=E4=B8=8E=E5=8A=A8=E6=80=81=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/basic/VolForm.vue" | 2540 +++++++++-------- 1 file changed, 1273 insertions(+), 1267 deletions(-) diff --git "a/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" "b/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" index 778c9159..bc68f704 100644 --- "a/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" +++ "b/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" @@ -1,1267 +1,1273 @@ - - - + + + -- Gitee From 979ee461550516ca8dfea60d9cfede4ee63c5c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=91=E7=9A=84=E5=A4=A9=E7=A9=BA?= Date: Wed, 20 Apr 2022 15:34:58 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E4=B8=AD=E9=9A=90=E8=97=8F=E7=9A=84=E5=85=83=E7=B4=A0=E4=B8=8D?= =?UTF-8?q?=E5=8F=82=E4=B8=8E=E5=8A=A8=E6=80=81=E8=AE=A1=E7=AE=97=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/basic/VolForm.vue" | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git "a/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" "b/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" index bc68f704..19e46abd 100644 --- "a/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" +++ "b/Vol.Vue3\347\211\210\346\234\254/src/components/basic/VolForm.vue" @@ -689,7 +689,7 @@ export default defineComponent({ //2021.08.30增加动态计算表单宽度 let _span = 0; this.formRules.forEach((row, xIndex) => { - //2022.04.20追加隐藏的元素不参与动态计算表单宽度 + //2022.04.20追加表单中隐藏的元素不参与动态计算表单宽度 let rowLength = 0; // 初始化表单元素的数量 row.forEach((item) => { if (item.hidden != true) { @@ -1270,4 +1270,7 @@ export default defineComponent({ .el-form-item ::v-deep(.el-checkbox .el-checkbox__label) { padding-left: 5px; } +.el-form-item ::v-deep(textarea) { + font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif !important; +} -- Gitee From a904a4b04d1460de5915062170a60bb56afbf55b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=91=E7=9A=84=E5=A4=A9=E7=A9=BA?= Date: Wed, 20 Apr 2022 22:23:17 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E4=BF=AE=E6=94=B9=E6=97=B6=E9=97=B4=E5=92=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=BA=E7=9A=84=E9=BB=98=E8=AE=A4=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E5=88=A0=E9=99=A4=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E4=BF=A1=E6=81=AF=E3=80=91=E7=9A=84?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Vue.Net/VOL.Core/BaseProvider/ServiceBase.cs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Vue.Net/VOL.Core/BaseProvider/ServiceBase.cs b/Vue.Net/VOL.Core/BaseProvider/ServiceBase.cs index 22cc51b7..97d9db06 100644 --- a/Vue.Net/VOL.Core/BaseProvider/ServiceBase.cs +++ b/Vue.Net/VOL.Core/BaseProvider/ServiceBase.cs @@ -735,16 +735,13 @@ namespace VOL.Core.BaseProvider if (CheckResponseResult()) return Response; } - mainEnity.SetModifyDefaultVal(); + //主表修改 //不修改!CreateFields.Contains创建人信息 repository.Update(mainEnity, typeof(T).GetEditField() .Where(c => saveModel.MainData.Keys.Contains(c) && !CreateFields.Contains(c)) .ToArray()); - foreach (var item in saveModel.DetailData) - { - item.SetModifyDefaultVal(); - } + //明细修改 editList.ForEach(x => { @@ -756,8 +753,7 @@ namespace VOL.Core.BaseProvider .Keys.Where(k => k != detailKeyInfo.Name) .Where(r => !CreateFields.Contains(r)) .ToArray(); - //設置默認值 - x.SetModifyDefaultVal(); + //添加修改字段 repository.Update(x, updateField); }); @@ -866,7 +862,6 @@ namespace VOL.Core.BaseProvider UserInfo userInfo = UserContext.Current.UserInfo; saveModel.SetDefaultVal(AppSetting.ModifyMember, userInfo); - //判断提交的数据与实体格式是否一致 string result = type.ValidateDicInEntity(saveModel.MainData, true, false, UserIgnoreFields); if (result != string.Empty) @@ -981,6 +976,9 @@ namespace VOL.Core.BaseProvider string deatilDefaultVal = detailKeyInfo.PropertyType.Assembly.CreateInstance(detailKeyInfo.PropertyType.FullName).ToString(); foreach (Dictionary dic in saveModel.DetailData) { + // 设置修改时间,修改人Id的默认值 + saveModel.SetDefaultVal(AppSetting.ModifyMember, userInfo); + //不包含主键的默认添加主键默认值,用于后面判断是否为新增数据 if (!dic.ContainsKey(detailKeyInfo.Name)) { -- Gitee From ec450db846777974429e46d048bb4c2a11b7b969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=91=E7=9A=84=E5=A4=A9=E7=A9=BA?= Date: Mon, 25 Apr 2022 16:37:01 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=A1=A8=E5=88=97=E7=BC=96=E8=BE=91=E9=AA=8C=E8=AF=81=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/basic/VolTable.vue" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 059d7a54..3d48fe28 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" @@ -894,8 +894,8 @@ export default defineComponent({ validateRow(row, option1) { if (!this.validateColum(option1, row)) { this.errorFiled = option1.field; - _errMsg = option1.title + _errMsg; - this.$message.error(_errMsg); + let errMsg = option1.title + _errMsg; + this.$message.error(errMsg); return false; } this.errorFiled = ''; -- Gitee