From e882dfcc0c5233178c6f5accd4f18097d6f2eef6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=BD=BB=E9=A3=8E2016?= <616036448@qq.com>
Date: Fri, 30 Aug 2024 10:18:49 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=80=89=E6=8B=A9=E6=A8=A1?=
=?UTF-8?q?=E6=9D=BFbug,=E6=B7=BB=E5=8A=A0=E5=9F=BA=E4=BA=8Eel-table?=
=?UTF-8?q?=E7=9A=84index=E6=A8=A1=E6=9D=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Admin.NET.Application.csproj | 4 +
.../SeedData/SysCodeGenTemplate.cs | 4 +-
.../Service/CodeGen/SysCodeGenService.cs | 4 +-
.../template/web_views_el_table_index.vue.vm | 400 ++++++++++++++++++
.../wwwroot/template/web_views_index.vue.vm | 29 +-
.../codeGen/component/editCodeGenDialog.vue | 2 +-
6 files changed, 428 insertions(+), 15 deletions(-)
create mode 100644 Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_el_table_index.vue.vm
diff --git a/Admin.NET/Admin.NET.Application/Admin.NET.Application.csproj b/Admin.NET/Admin.NET.Application/Admin.NET.Application.csproj
index a2246779..e732ac1e 100644
--- a/Admin.NET/Admin.NET.Application/Admin.NET.Application.csproj
+++ b/Admin.NET/Admin.NET.Application/Admin.NET.Application.csproj
@@ -29,4 +29,8 @@
+
+
+
+
diff --git a/Admin.NET/Admin.NET.Core/SeedData/SysCodeGenTemplate.cs b/Admin.NET/Admin.NET.Core/SeedData/SysCodeGenTemplate.cs
index 0574815c..e91a1ba2 100644
--- a/Admin.NET/Admin.NET.Core/SeedData/SysCodeGenTemplate.cs
+++ b/Admin.NET/Admin.NET.Core/SeedData/SysCodeGenTemplate.cs
@@ -11,7 +11,7 @@ namespace Admin.NET.Core;
///
/// 代码生成模板配置表种子数据
///
-public class SysCodeGenTemplateSeedData : ISqlSugarEntitySeedData
+public class SysCodeGenTemplateSeedData : ISqlSugarEntitySeedData
{
///
/// 种子数据
@@ -28,6 +28,8 @@ public class SysCodeGenTemplateSeedData : ISqlSugarEntitySeedData t.CodeGenTemplateRelations)
+ await _db.UpdateNav(codeGen)
+ .Include(t => t.CodeGenTemplateRelations)
.ExecuteCommandAsync();
// 更新配置表
diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_el_table_index.vue.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_el_table_index.vue.vm
new file mode 100644
index 00000000..3e1c528f
--- /dev/null
+++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_el_table_index.vue.vm
@@ -0,0 +1,400 @@
+@{
+ var pkField = Model.TableField.Where(c => c.ColumnKey == "True").FirstOrDefault();
+ string pkFieldName = null;
+ if(pkField != null && !string.IsNullOrEmpty(pkField.PropertyName))
+ {
+ pkFieldName = LowerFirstLetter(pkField.PropertyName);
+ }
+ Dictionary definedObjects = new Dictionary();
+ bool haveLikeCdt = false;
+ foreach (var column in Model.TableField){
+ if (column.QueryWhether == "Y" && column.QueryType == "like"){
+ haveLikeCdt = true;
+ }
+ }
+}
+
+
+
+ @
+ @
+ @if(Model.QueryWhetherList.Count > 0){
+ @if(haveLikeCdt){
+ @:
+ @:
+ @:
+ @:
+
+
+ }
+ foreach (var column in Model.QueryWhetherList){
+ @:
+ if(@column.EffectType == "Input" || @column.EffectType == "InputTextArea"){
+ @:
+ @:
+ @:
+
+ }else if(@column.EffectType == "InputTextArea"){
+ @:
+ @:
+ @:
+
+ }else if(@column.EffectType == "InputNumber"){
+ @:
+ @:
+ @:
+
+ }else if(@column.EffectType == "fk"){
+ @:
+ @:
+ @:
+ @:
+
+ @:
+
+ }else if(@column.EffectType == "Select"){
+ @:
+ @:
+ @:
+ @:
+
+ @:
+
+ }else if(@column.EffectType == "EnumSelector"){
+ @:
+ @:
+ @:
+ @:
+
+ @:
+
+ }else if(@column.EffectType == "DatePicker"){
+ @:
+ if(@column.QueryType == "~"){
+ @:
+ }else
+ {
+ @:
+ }
+ @:
+
+ }
+ @:
+ }
+ }
+ @
+ @ 0?"":"label-width=\"0px\"")>
+ @
+ @ @(Model.QueryWhetherList.Count > 0?"查询":"刷新")
+ @if(Model.QueryWhetherList.Count > 0){
+ @: queryParams = {}"> 重置
+ @if(haveLikeCdt){
+ @: 高级查询
+ @: 隐藏
+ }
+ }
+ @ 新增
+ @
+
+
+ @
+ @
+
+ @* 操作区另起一行
+ @:
+ @:
+ @:
+ @: 新增
+
+ @:
+
+ *@
+
+
+
+
+
+ @foreach (var column in Model.TableField){
+ if(@column.WhetherTable == "Y"){
+ if(@column.EffectType == "Upload"||@column.EffectType == "fk"||@column.EffectType == "ApiTreeSelect"||@column.EffectType == "Switch"||@column.EffectType == "ConstSelector"){
+ @:
+ @:
+ if(@column.EffectType == "Upload"){
+ @:
+ }else if(@column.EffectType == "fk"){
+ @:{{scope.row.@LowerFirstLetter(@column.PropertyName)@(@column.FkColumnName)}}
+ }else if(@column.EffectType == "ApiTreeSelect"){
+ @:{{scope.row.@LowerFirstLetter(@column.PropertyName)@(column.DisplayColumn)}}
+ }else if(@column.EffectType == "Switch"){
+ @: 是
+ @: 否
+ }else if(@column.EffectType == "ConstSelector"){
+ @:{{codeToName(scope.row.@(@column.LowerPropertyName), '@(@column.DictTypeCode)')}}
+ }
+ @:
+
+ @:
+
+ }
+ else if(@column.EffectType == "Select"){
+ @:
+ @:
+ @: {{di("@(@column.DictTypeCode)", scope.row.@(@column.LowerPropertyName))?.value}}
+ @:
+ @:
+ }
+ else if(@column.EffectType == "EnumSelector"){
+ @:
+ @:
+ @: {{dv('@(@column.DictTypeCode)', scope.row.@column.LowerPropertyName)?.name}}
+ @:
+ @:
+ }
+ else {
+ @:
+ }
+ }
+ }
+ @if(@Model.PrintType != "off"){
+ @:
+ @:
+ @: 打印
+ }else{
+ @:
+ @:
+ }
+ 编辑
+ 删除
+
+
+
+
+ @if(@Model.PrintType != "off"){
+ @:
+ }
+
+
+
+
+
+
+
+
+@{
+string LowerFirstLetter(string text)
+{
+return text.ToString()[..1].ToLower() + text[1..]; // 首字母小写
+}
+}
\ No newline at end of file
diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm
index bbbd1678..b01f7ca2 100644
--- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm
+++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm
@@ -161,7 +161,7 @@
- @if(@Model.PrintType == "custom") {
+ @if(@Model.PrintType != "off") {
@@ -175,8 +175,9 @@
-
-
+ @if(@Model.PrintType != "off"){
+ @:
+ }
@@ -210,7 +211,9 @@ import { Local } from '/@@/utils/storage';
@:import { SysPrint } from '/@@/api-services/models';
}
// 子窗口
-import PrintDialog from '/@@/views/system/print/component/hiprint/preview.vue';
+@if(@Model.PrintType != "off") {
+@:import PrintDialog from '/@@/views/system/print/component/hiprint/preview.vue';
+}
import EditDialog from '/@@/views/@(@Model.PagePath)/@(@Model.LowerClassName)/component/editDialog.vue';
import ModifyRecord from '/@@/components/table/modifyRecord.vue';
@@ -235,7 +238,9 @@ foreach (var column in Model.QueryWhetherList){
// 子窗口对象
const xGrid = ref();
-const printDialogRef = ref>();
+@if(@Model.PrintType != "off") {
+@:const printDialogRef = ref>();
+}
const editDialogRef = ref>();
// 变量
@@ -359,7 +364,7 @@ const handleAdd = () => {
@foreach (var column in Model.TableField){
if(@column.WhetherAddUpdate == "Y"&&@column.DefaultValue!=null){
if(@column.NetType.StartsWith("int")||@column.NetType.StartsWith("decimal")){
- @:@column.LowerPropertyName:@(@column.DefaultValue),
+ @:@column.LowerPropertyName:@(string.IsNullOrEmpty(@column.DefaultValue)?0:@column.DefaultValue),
}
if(@column.NetType.StartsWith("string")){
@:@column.LowerPropertyName:'@(@column.DefaultValue)',
@@ -376,10 +381,11 @@ const handleEdit = (row: any) => {
editDialogRef.value?.openDialog(row);
};
-// 打开打印页面
-const handlePrint = async (row: any) => {
- state.title = '打印@(@Model.BusName)';
- @if(@Model.PrintType == "custom"){
+@if(@Model.PrintType != "off") {
+@:// 打开打印页面
+@:const handlePrint = async (row: any) => {
+ @:state.title = '打印@(@Model.BusName)';
+ @if(@Model.PrintType != "off"){
if (@Model.IsApiService) {
@:var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('@Model.PrintName');
} else {
@@ -396,7 +402,8 @@ const handlePrint = async (row: any) => {
@if(@Model.PrintType == "auto"){
@:printDialogRef.value.showDialog(row);
}
-};
+@:};
+}
// 删除
const handleDelete = (row: any) => {
diff --git a/Web/src/views/system/codeGen/component/editCodeGenDialog.vue b/Web/src/views/system/codeGen/component/editCodeGenDialog.vue
index 3cad74df..d493e681 100644
--- a/Web/src/views/system/codeGen/component/editCodeGenDialog.vue
+++ b/Web/src/views/system/codeGen/component/editCodeGenDialog.vue
@@ -272,7 +272,7 @@ const getSysCodeGenTemplateList = async () => {
// console.log('state.ruleForm.codeGenTemplateRelations', state.ruleForm.codeGenTemplateRelations);
//修改
data.forEach((element: any) => {
- if (element.isDefault && state.ruleForm.codeGenTemplateRelations.some((ele: any) => ele.templateId == element.id)) {
+ if (state.ruleForm.codeGenTemplateRelations.some((ele: any) => ele.templateId == element.id)) {
checkedRows.push(element);
templateTableRef.value.toggleRowSelection(element, true);
}