✨ 新增主子表新增、编辑操作
This commit is contained in:
parent
e6af6180fa
commit
a45c171639
@ -278,12 +278,20 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
|
|
||||||
//生成代码到指定文件夹
|
//生成代码到指定文件夹
|
||||||
CodeGeneratorTool.Generate(dto);
|
CodeGeneratorTool.Generate(dto);
|
||||||
//下载文件
|
|
||||||
FileUtil.ZipGenCode(dto.ZipPath, dto.GenCodePath, zipReturnFileName);
|
|
||||||
if (genTableInfo.Options.GenerateMenu)
|
if (genTableInfo.Options.GenerateMenu)
|
||||||
{
|
{
|
||||||
SysMenuService.AddSysMenu(genTableInfo, dto.ReplaceDto.PermissionPrefix, dto.ReplaceDto.ShowBtnEdit, dto.ReplaceDto.ShowBtnExport);
|
SysMenuService.AddSysMenu(genTableInfo, dto.ReplaceDto.PermissionPrefix, dto.ReplaceDto.ShowBtnEdit, dto.ReplaceDto.ShowBtnExport);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var item in dto.GenCodes)
|
||||||
|
{
|
||||||
|
item.Path = Path.Combine(dto.GenCodePath, item.Path);
|
||||||
|
FileUtil.WriteAndSave(item.Path, item.Content);
|
||||||
|
}
|
||||||
|
|
||||||
|
//下载文件
|
||||||
|
FileUtil.ZipGenCode(dto.ZipPath, dto.GenCodePath, zipReturnFileName);
|
||||||
|
|
||||||
return SUCCESS(new { path = "/Generatecode/" + zipReturnFileName, fileName = dto.ZipFileName });
|
return SUCCESS(new { path = "/Generatecode/" + zipReturnFileName, fileName = dto.ZipFileName });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -68,7 +68,7 @@ $end
|
|||||||
[ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:query")]
|
[ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:query")]
|
||||||
public IActionResult Get${replaceDto.ModelTypeName}(${replaceDto.PKType} ${replaceDto.PKName})
|
public IActionResult Get${replaceDto.ModelTypeName}(${replaceDto.PKType} ${replaceDto.PKName})
|
||||||
{
|
{
|
||||||
var response = _${replaceDto.ModelTypeName}Service.GetFirst(x => x.${replaceDto.PKName} == ${replaceDto.PKName});
|
var response = _${replaceDto.ModelTypeName}Service.GetInfo(${replaceDto.PKName});
|
||||||
|
|
||||||
var info = response.Adapt<${replaceDto.ModelTypeName}>();
|
var info = response.Adapt<${replaceDto.ModelTypeName}>();
|
||||||
return SUCCESS(info);
|
return SUCCESS(info);
|
||||||
|
|||||||
@ -1,7 +1,4 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
//using ${options.ModelsNamespace}.${options.SubNamespace};
|
|
||||||
$if(replaceDto.ShowBtnExport)
|
$if(replaceDto.ShowBtnExport)
|
||||||
using MiniExcelLibs.Attributes;
|
using MiniExcelLibs.Attributes;
|
||||||
$end
|
$end
|
||||||
@ -57,14 +54,14 @@ $if(genTable.TplCategory == "subNav" && genTable.SubTable != null)
|
|||||||
$if(replaceDto.ShowBtnExport)
|
$if(replaceDto.ShowBtnExport)
|
||||||
[ExcelIgnore]
|
[ExcelIgnore]
|
||||||
$end
|
$end
|
||||||
public ${genTable.SubTable.ClassName} ${genTable.SubTable.ClassName}Nav { get; set; }
|
public ${genTable.SubTable.ClassName}Dto ${genTable.SubTable.ClassName}Nav { get; set; }
|
||||||
$end
|
$end
|
||||||
|
|
||||||
$if(genTable.TplCategory == "subNavMore" && genTable.SubTable != null)
|
$if(genTable.TplCategory == "subNavMore" && genTable.SubTable != null)
|
||||||
$if(replaceDto.ShowBtnExport)
|
$if(replaceDto.ShowBtnExport)
|
||||||
[ExcelIgnore]
|
[ExcelIgnore]
|
||||||
$end
|
$end
|
||||||
public List<${genTable.SubTable.ClassName}> ${genTable.SubTable.ClassName}Nav { get; set; }
|
public List<${genTable.SubTable.ClassName}Dto> ${genTable.SubTable.ClassName}Nav { get; set; }
|
||||||
$end
|
$end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13,6 +13,8 @@ namespace ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNam
|
|||||||
{
|
{
|
||||||
PagedInfo<${replaceDto.ModelTypeName}Dto> GetList(${replaceDto.ModelTypeName}QueryDto parm);
|
PagedInfo<${replaceDto.ModelTypeName}Dto> GetList(${replaceDto.ModelTypeName}QueryDto parm);
|
||||||
|
|
||||||
|
${replaceDto.ModelTypeName} GetInfo(${replaceDto.PKType} ${replaceDto.PKName});
|
||||||
|
|
||||||
$if(genTable.TplCategory == "tree")
|
$if(genTable.TplCategory == "tree")
|
||||||
List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm);
|
List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm);
|
||||||
$end
|
$end
|
||||||
|
|||||||
@ -1,7 +1,4 @@
|
|||||||
using System;
|
$if(genTable.TplCategory.Contains("subNav") && genTable.SubTable != null)
|
||||||
using SqlSugar;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
$if(genTable.TplCategory.Contains("subNav") && genTable.SubTable != null)
|
|
||||||
using ${subTableOptions.ModelsNamespace}.${subTableOptions.SubNamespace};
|
using ${subTableOptions.ModelsNamespace}.${subTableOptions.SubNamespace};
|
||||||
$end
|
$end
|
||||||
|
|
||||||
@ -37,7 +34,7 @@ $if(genTable.TplCategory == "tree")
|
|||||||
[SugarColumn(IsIgnore = true)]
|
[SugarColumn(IsIgnore = true)]
|
||||||
public List<${replaceDto.ModelTypeName}> Children { get; set; }
|
public List<${replaceDto.ModelTypeName}> Children { get; set; }
|
||||||
$end
|
$end
|
||||||
$if(genTable.TplCategory == "subNav" && genTable.SubTable != null)
|
$if((genTable.TplCategory == "subNav" || genTable.TplCategory == "sub") && genTable.SubTable != null)
|
||||||
[Navigate(NavigateType.OneToOne, nameof(${replaceDto.PKName}))] //自定义关系映射
|
[Navigate(NavigateType.OneToOne, nameof(${replaceDto.PKName}))] //自定义关系映射
|
||||||
public ${genTable.SubTable.ClassName} ${genTable.SubTable.ClassName}Nav { get; set; }
|
public ${genTable.SubTable.ClassName} ${genTable.SubTable.ClassName}Nav { get; set; }
|
||||||
$end
|
$end
|
||||||
|
|||||||
@ -51,7 +51,7 @@ $end
|
|||||||
$end
|
$end
|
||||||
var response = Queryable()
|
var response = Queryable()
|
||||||
$if(null != genTable.SubTableName && "" != genTable.SubTableName)
|
$if(null != genTable.SubTableName && "" != genTable.SubTableName)
|
||||||
.Includes(x => x.${genTable.SubTable.ClassName}Nav) //填充子对象
|
//.Includes(x => x.${genTable.SubTable.ClassName}Nav) //填充子对象
|
||||||
$end
|
$end
|
||||||
$if(genTable.Options.SortField != "" && genTable.Options.SortField != null)
|
$if(genTable.Options.SortField != "" && genTable.Options.SortField != null)
|
||||||
//.OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}")
|
//.OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}")
|
||||||
@ -90,6 +90,23 @@ $end
|
|||||||
}
|
}
|
||||||
$end
|
$end
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取详情
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="${replaceDto.PKName}"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public ${replaceDto.ModelTypeName} GetInfo(${replaceDto.PKType} ${replaceDto.PKName})
|
||||||
|
{
|
||||||
|
var response = Queryable()
|
||||||
|
$if(null != genTable.SubTableName && "" != genTable.SubTableName)
|
||||||
|
.Includes(x => x.${genTable.SubTable.ClassName}Nav) //填充子对象
|
||||||
|
$end
|
||||||
|
.Where(x => x.${replaceDto.PKName} == ${replaceDto.PKName})
|
||||||
|
.First();
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加${genTable.FunctionName}
|
/// 添加${genTable.FunctionName}
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -97,7 +114,11 @@ $end
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} model)
|
public int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} model)
|
||||||
{
|
{
|
||||||
|
$if(null != genTable.SubTableName && "" != genTable.SubTableName)
|
||||||
|
return Context.InsertNav(model).Include(s1 => s1.${genTable.SubTable.ClassName}Nav).ExecuteCommand() ? 1 : 0;
|
||||||
|
$else
|
||||||
return Add(model, true);
|
return Add(model, true);
|
||||||
|
$end
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -116,7 +137,11 @@ $end
|
|||||||
${end}
|
${end}
|
||||||
//});
|
//});
|
||||||
//return response;
|
//return response;
|
||||||
|
$if(null != genTable.SubTableName && "" != genTable.SubTableName)
|
||||||
|
return Context.UpdateNav(model).Include(z1 => z1.${genTable.SubTable.ClassName}Nav).ExecuteCommand() ? 1 : 0;
|
||||||
|
$else
|
||||||
return Update(model, true);
|
return Update(model, true);
|
||||||
|
$end
|
||||||
}
|
}
|
||||||
$if(replaceDto.ShowBtnTruncate)
|
$if(replaceDto.ShowBtnTruncate)
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -118,14 +118,17 @@ $end
|
|||||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- 数据区域 -->
|
|
||||||
<el-table
|
<el-table
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
ref="table"
|
ref="table"
|
||||||
border
|
border
|
||||||
|
header-cell-class-name="el-table-header-cell"
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
@sort-change="sortChange"
|
@sort-change="sortChange"
|
||||||
|
$if(sub)
|
||||||
|
@row-click="rowClick"
|
||||||
|
$end
|
||||||
$if(replaceDto.ShowBtnMultiDel)
|
$if(replaceDto.ShowBtnMultiDel)
|
||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
$end
|
$end
|
||||||
@ -133,30 +136,7 @@ $end
|
|||||||
$if(replaceDto.ShowBtnMultiDel)
|
$if(replaceDto.ShowBtnMultiDel)
|
||||||
<el-table-column type="selection" width="50" align="center"/>
|
<el-table-column type="selection" width="50" align="center"/>
|
||||||
$end
|
$end
|
||||||
$if(null != genTable.SubTableName && "" != genTable.SubTableName && genTable.TplCategory == "subNav")
|
|
||||||
<el-table-column type="expand">
|
|
||||||
<template #default="props">
|
|
||||||
<el-descriptions border>
|
|
||||||
$foreach(subColumn in genSubTable.Columns)
|
|
||||||
<el-descriptions-item label="${subColumn.ColumnComment}">{{ props.row.$tool.FirstLowerCase(genTable.SubTable.ClassName)Nav.${subColumn.CsharpFieldFl} }}</el-descriptions-item>
|
|
||||||
$end
|
|
||||||
</el-descriptions>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
$end
|
|
||||||
$if(null != genTable.SubTableName && "" != genTable.SubTableName && genTable.TplCategory == "subNavMore")
|
|
||||||
<el-table-column type="expand">
|
|
||||||
<template #default="props">
|
|
||||||
<el-table :data="props.row.$tool.FirstLowerCase(genTable.SubTable.ClassName)Nav" header-row-class-name="text-navy">
|
|
||||||
$foreach(subColumn in genSubTable.Columns)
|
|
||||||
$if(subColumn.IsList == true)
|
|
||||||
<el-table-column prop="${subColumn.CsharpFieldFl}" label="${subColumn.ColumnComment}" align="center"/>
|
|
||||||
$end
|
|
||||||
$end
|
|
||||||
</el-table>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
$end
|
|
||||||
$foreach(column in genTable.Columns)
|
$foreach(column in genTable.Columns)
|
||||||
$set(labelName = column.ColumnComment)
|
$set(labelName = column.ColumnComment)
|
||||||
$set(showToolTipHtml = "")
|
$set(showToolTipHtml = "")
|
||||||
@ -199,7 +179,7 @@ $else
|
|||||||
$end
|
$end
|
||||||
$end
|
$end
|
||||||
$end
|
$end
|
||||||
<el-table-column label="操作" align="center" width="160">
|
<el-table-column label="操作" width="160">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
$if(replaceDto.OperBtnStyle == 2)
|
$if(replaceDto.OperBtnStyle == 2)
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
@ -227,10 +207,35 @@ $end
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<pagination class="mt10" background :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
||||||
|
|
||||||
|
$* 一对一/一对多列表显示详情 *$
|
||||||
|
$if(sub)
|
||||||
|
<el-table :data="$tool.FirstLowerCase(genTable.SubTable.ClassName)List" header-row-class-name="text-navy">
|
||||||
|
<el-table-column label="序号" type="index" width="80" />
|
||||||
|
$foreach(column in genSubTable.Columns)
|
||||||
|
$set(columnName = column.CsharpFieldFl)
|
||||||
|
$if(column.IsList == true)
|
||||||
|
$if(column.HtmlType == "checkbox" || column.HtmlType.Contains("select") || column.HtmlType == "radio")
|
||||||
|
<el-table-column prop="${columnName}" label="${column.ColumnComment}">
|
||||||
|
<template #default="scope">
|
||||||
|
$if(column.HtmlType == "checkbox")
|
||||||
|
<dict-tag :options="$if(column.DictType != "") options.${column.DictType} $else options.${column.CsharpFieldFl}Options$end" :value="scope.row.${columnName} ? scope.row.${columnName}.split(',') : []" />
|
||||||
|
$else
|
||||||
|
<dict-tag :options="$if(column.DictType != "") options.${column.DictType} $else options.${column.CsharpFieldFl}Options$end" :value="scope.row.${columnName}" />
|
||||||
|
$end
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
$else
|
||||||
|
<el-table-column prop="${column.CsharpFieldFl}" label="${column.ColumnComment}"/>
|
||||||
|
$end
|
||||||
|
$end
|
||||||
|
$end
|
||||||
|
</el-table>
|
||||||
|
$end
|
||||||
|
|
||||||
<!-- 添加或修改${genTable.functionName}对话框 -->
|
<!-- 添加或修改${genTable.functionName}对话框 -->
|
||||||
<el-dialog :title="title" :lock-scroll="false" v-model="open" >
|
<el-dialog :title="title" :lock-scroll="false" v-model="open" ${if(sub)}:fullscreen="fullScreen"$end>
|
||||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
|
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
$foreach(column in genTable.Columns)
|
$foreach(column in genTable.Columns)
|
||||||
@ -286,7 +291,7 @@ $elseif(column.HtmlType == "radio" || column.HtmlType == "selectRadio")
|
|||||||
<el-col :lg="${options.ColNum}">
|
<el-col :lg="${options.ColNum}">
|
||||||
<el-form-item label="${labelName}" prop="${columnName}">
|
<el-form-item label="${labelName}" prop="${columnName}">
|
||||||
<el-radio-group v-model="form.${columnName}"${column.DisabledStr}>
|
<el-radio-group v-model="form.${columnName}"${column.DisabledStr}>
|
||||||
<el-radio v-for="item in ${if(column.DictType != "")}options.${column.DictType}${else}options.${column.CsharpFieldFl}Options$end" :key="item.dictValue" :label="${value}">{{item.dictLabel}}</el-radio>
|
<el-radio v-for="item in ${if(column.DictType != "")}options.${column.DictType}${else}options.${column.CsharpFieldFl}Options$end" :key="item.dictValue" :label="item.dictValue">{{item.dictLabel}}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -310,7 +315,7 @@ $elseif(column.HtmlType == "select" || column.HtmlType == "selectMulti")
|
|||||||
v-for="item in $if(column.DictType != "")options.${column.DictType}${else}options.${column.CsharpFieldFl}Options$end"
|
v-for="item in $if(column.DictType != "")options.${column.DictType}${else}options.${column.CsharpFieldFl}Options$end"
|
||||||
:key="item.dictValue"
|
:key="item.dictValue"
|
||||||
:label="item.dictLabel"
|
:label="item.dictLabel"
|
||||||
:value="${value}"></el-option>
|
:value="item.dictValue"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -340,6 +345,67 @@ $end
|
|||||||
$end
|
$end
|
||||||
$end
|
$end
|
||||||
</el-row>
|
</el-row>
|
||||||
|
$* 子表信息 *$
|
||||||
|
$if(sub)
|
||||||
|
<el-divider content-position="center">${genTable.SubTable.FunctionName}信息</el-divider>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="primary" icon="Plus" @click="handleAdd${genTable.SubTable.ClassName}">添加</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="danger" icon="Delete" @click="handleDelete${genTable.SubTable.ClassName}">删除</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="info" icon="FullScreen" @click="fullScreen = !fullScreen">全屏</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-table :data="${tool.FirstLowerCase(genTable.SubTable.ClassName)}List" :row-class-name="row${genTable.SubTable.ClassName}Index" @selection-change="handle${genTable.SubTable.ClassName}SelectionChange" ref="${genTable.SubTable.ClassName}Ref">
|
||||||
|
<el-table-column type="selection" width="50" align="center" />
|
||||||
|
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||||
|
$foreach(column in genTable.SubTable.Columns)
|
||||||
|
$set(labelName = column.ColumnComment)
|
||||||
|
$set(columnName = column.CsharpFieldFl)
|
||||||
|
$if(column.CsharpType == "int" || column.CsharpType == "long")
|
||||||
|
$set(value = "parseInt(item.dictValue)")
|
||||||
|
$set(number = ".number")
|
||||||
|
$end
|
||||||
|
$if(column.IsList == true)
|
||||||
|
$if(column.IsPk || column.CsharpField == genTable.SubTableFkName)
|
||||||
|
$elseif(column.HtmlType == "inputNumber" || column.HtmlType == "customInput")
|
||||||
|
<el-table-column label="${labelName}" align="center" prop="${columnName}" width="140">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-input-number v-model="scope.row.${columnName}" controls-position="right" placeholder="请输入${labelName}" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
$elseif(column.HtmlType == "datetime" || column.HtmlType == "month")
|
||||||
|
<el-table-column label="${labelName}" align="center" prop="${columnName}">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-date-picker clearable v-model="scope.row.${columnName}" type="date" placeholder="选择日期时间"></el-date-picker>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
$elseif(column.HtmlType == "radio" || column.HtmlType == "selectRadio" || column.HtmlType == "select" || column.HtmlType == "selectMulti")
|
||||||
|
<el-table-column label="${labelName}" prop="${columnName}">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-select v-model="scope.row.${columnName}" placeholder="请选择${labelName}"${column.DisabledStr}>
|
||||||
|
<el-option
|
||||||
|
v-for="item in $if(column.DictType != "")options.${column.DictType}${else}options.${column.CsharpFieldFl}Options$end"
|
||||||
|
:key="item.dictValue"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="${value}"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
$else
|
||||||
|
<el-table-column label="${labelName}" align="center" prop="${columnName}">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-input v-model="scope.row.${columnName}" placeholder="请输入${labelName}" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
$end
|
||||||
|
$end
|
||||||
|
$end
|
||||||
|
</el-table>
|
||||||
|
$end
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer v-if="opertype != 3">
|
<template #footer v-if="opertype != 3">
|
||||||
<el-button text @click="cancel">{{ ${t}t('btn.cancel') }}</el-button>
|
<el-button text @click="cancel">{{ ${t}t('btn.cancel') }}</el-button>
|
||||||
@ -433,8 +499,8 @@ $end
|
|||||||
|
|
||||||
$set(index = 0)
|
$set(index = 0)
|
||||||
var dictParams = [
|
var dictParams = [
|
||||||
$foreach(item in genTable.Columns)
|
$foreach(item in dicts)
|
||||||
$if((item.HtmlType == "radio" || item.HtmlType.Contains("select") || item.HtmlType == "checkbox") && item.DictType != "")
|
$if(item.DictType != "")
|
||||||
{ dictType: "${item.DictType}" },
|
{ dictType: "${item.DictType}" },
|
||||||
$set(index = index + 1)
|
$set(index = index + 1)
|
||||||
$end
|
$end
|
||||||
@ -532,7 +598,7 @@ $end
|
|||||||
$end
|
$end
|
||||||
},
|
},
|
||||||
options: {
|
options: {
|
||||||
$foreach(column in genTable.Columns)
|
$foreach(column in dicts)
|
||||||
$if(column.HtmlType == "radio" || column.HtmlType.Contains("select") || column.HtmlType == "checkbox")
|
$if(column.HtmlType == "radio" || column.HtmlType.Contains("select") || column.HtmlType == "checkbox")
|
||||||
//$if(column.ColumnComment != "") ${column.ColumnComment} $else ${column.CsharpFieldFl}$end选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
//$if(column.ColumnComment != "") ${column.ColumnComment} $else ${column.CsharpFieldFl}$end选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||||
$if(column.DictType != "")${column.DictType}$else${column.CsharpFieldFl}Options$end: [],
|
$if(column.DictType != "")${column.DictType}$else${column.CsharpFieldFl}Options$end: [],
|
||||||
@ -556,10 +622,13 @@ $foreach(item in genTable.Columns)
|
|||||||
$if((item.HtmlType == "checkbox"))
|
$if((item.HtmlType == "checkbox"))
|
||||||
${item.CsharpFieldFl}Checked: [],
|
${item.CsharpFieldFl}Checked: [],
|
||||||
$else
|
$else
|
||||||
$item.CsharpFieldFl: undefined,
|
$item.CsharpFieldFl: null,
|
||||||
$end
|
$end
|
||||||
$end
|
$end
|
||||||
};
|
};
|
||||||
|
$if(sub)
|
||||||
|
${tool.FirstLowerCase(genTable.SubTable.ClassName)}List.value = []
|
||||||
|
$end
|
||||||
proxy.resetForm("formRef")
|
proxy.resetForm("formRef")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -567,7 +636,7 @@ $end
|
|||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
reset();
|
reset();
|
||||||
open.value = true
|
open.value = true
|
||||||
title.value = '添加'
|
title.value = '添加${genTable.functionName}'
|
||||||
opertype.value = 1
|
opertype.value = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -579,7 +648,7 @@ function handleUpdate(row) {
|
|||||||
const { code, data } = res
|
const { code, data } = res
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
open.value = true
|
open.value = true
|
||||||
title.value = "修改数据"
|
title.value = '修改${genTable.functionName}'
|
||||||
opertype.value = 2
|
opertype.value = 2
|
||||||
|
|
||||||
form.value = {
|
form.value = {
|
||||||
@ -590,6 +659,9 @@ $if(item.HtmlType == "checkbox")
|
|||||||
$end
|
$end
|
||||||
$end
|
$end
|
||||||
}
|
}
|
||||||
|
$if(sub)
|
||||||
|
${tool.FirstLowerCase(genTable.SubTable.ClassName)}List.value = res.data.${tool.FirstLowerCase(genTable.SubTable.ClassName)}Nav
|
||||||
|
$end
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -602,6 +674,10 @@ $foreach(item in genTable.Columns)
|
|||||||
$if(item.HtmlType == "checkbox")
|
$if(item.HtmlType == "checkbox")
|
||||||
form.value.${item.CsharpFieldFl} = form.value.${item.CsharpFieldFl}Checked.toString();
|
form.value.${item.CsharpFieldFl} = form.value.${item.CsharpFieldFl}Checked.toString();
|
||||||
$end
|
$end
|
||||||
|
$end
|
||||||
|
|
||||||
|
$if(sub)
|
||||||
|
form.value.${tool.FirstLowerCase(genTable.SubTable.ClassName)}Nav = ${tool.FirstLowerCase(genTable.SubTable.ClassName)}List.value
|
||||||
$end
|
$end
|
||||||
if (form.value.${replaceDto.FistLowerPk} != undefined && opertype.value === 2) {
|
if (form.value.${replaceDto.FistLowerPk} != undefined && opertype.value === 2) {
|
||||||
update${genTable.BusinessName}(form.value).then((res) => {
|
update${genTable.BusinessName}(form.value).then((res) => {
|
||||||
@ -686,5 +762,59 @@ function handleExport() {
|
|||||||
}
|
}
|
||||||
$end
|
$end
|
||||||
|
|
||||||
|
$if(sub)
|
||||||
|
/*********************${genTable.SubTable.FunctionName}子表信息*************************/
|
||||||
|
const ${tool.FirstLowerCase(genTable.SubTable.ClassName)}List = ref([])
|
||||||
|
const checked${genTable.SubTable.ClassName} = ref([])
|
||||||
|
const fullScreen = ref(false)
|
||||||
|
|
||||||
|
/** ${genTable.SubTable.FunctionName}序号 */
|
||||||
|
function row${genTable.SubTable.ClassName}Index({ row, rowIndex }) {
|
||||||
|
row.index = rowIndex + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** ${genTable.SubTable.FunctionName}添加按钮操作 */
|
||||||
|
function handleAdd${genTable.SubTable.ClassName}() {
|
||||||
|
let obj = {};
|
||||||
|
$foreach(column in genTable.SubTable.Columns)
|
||||||
|
$if(column.IsPK || column.CsharpField == genTable.SubTableFkName)
|
||||||
|
$elseif(column.IsList == true && "" != column.CsharpField)
|
||||||
|
//obj.${column.CsharpFieldFl} = null;
|
||||||
|
$end
|
||||||
|
$end
|
||||||
|
${tool.FirstLowerCase(genTable.SubTable.ClassName)}List.value.push(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 复选框选中数据 */
|
||||||
|
function handle${genTable.SubTable.ClassName}SelectionChange(selection) {
|
||||||
|
checked${genTable.SubTable.ClassName}.value = selection.map(item => item.index)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** ${genTable.SubTable.FunctionName}删除按钮操作 */
|
||||||
|
function handleDelete${genTable.SubTable.ClassName}() {
|
||||||
|
if(checked${genTable.SubTable.ClassName}.value.length == 0){
|
||||||
|
proxy.${modal}modal.msgError('请先选择要删除的${genTable.SubTable.FunctionName}数据')
|
||||||
|
} else {
|
||||||
|
const ${genTable.SubTable.ClassName}s = ${tool.FirstLowerCase(genTable.SubTable.ClassName)}List.value;
|
||||||
|
const checked${genTable.SubTable.ClassName}s = checked${genTable.SubTable.ClassName}.value;
|
||||||
|
${tool.FirstLowerCase(genTable.SubTable.ClassName)}List.value = ${genTable.SubTable.ClassName}s.filter(function(item) {
|
||||||
|
return checked${genTable.SubTable.ClassName}s.indexOf(item.index) == -1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** ${genTable.SubTable.FunctionName}详情 */
|
||||||
|
function rowClick(row) {
|
||||||
|
const id = row.${replaceDto.FistLowerPk} || ids.value
|
||||||
|
get${genTable.BusinessName}(id).then((res) => {
|
||||||
|
const { code, data } = res
|
||||||
|
if (code == 200) {
|
||||||
|
${tool.FirstLowerCase(genTable.SubTable.ClassName)}List.value = data.${tool.FirstLowerCase(genTable.SubTable.ClassName)}Nav
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
$end
|
||||||
|
|
||||||
handleQuery()
|
handleQuery()
|
||||||
</script>
|
</script>
|
||||||
@ -85,13 +85,6 @@ namespace ZR.CodeGenerator
|
|||||||
GenerateAppVueFormViews(replaceDto, dto);
|
GenerateAppVueFormViews(replaceDto, dto);
|
||||||
GenerateAppJs(dto);
|
GenerateAppJs(dto);
|
||||||
dto.ReplaceDto = replaceDto;
|
dto.ReplaceDto = replaceDto;
|
||||||
if (dto.IsPreview) return;
|
|
||||||
|
|
||||||
foreach (var item in dto.GenCodes)
|
|
||||||
{
|
|
||||||
item.Path = Path.Combine(dto.GenCodePath, item.Path);
|
|
||||||
FileUtil.WriteAndSave(item.Path, item.Content);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static CodeGenerateOption GenerateOption(GenTable genTable)
|
private static CodeGenerateOption GenerateOption(GenTable genTable)
|
||||||
@ -566,9 +559,22 @@ namespace ZR.CodeGenerator
|
|||||||
/// <param name="replaceDto"></param>
|
/// <param name="replaceDto"></param>
|
||||||
private static void InitJntTemplate(GenerateDto dto, ReplaceDto replaceDto)
|
private static void InitJntTemplate(GenerateDto dto, ReplaceDto replaceDto)
|
||||||
{
|
{
|
||||||
|
#if DEBUG
|
||||||
Engine.Current.Clean();
|
Engine.Current.Clean();
|
||||||
|
#endif
|
||||||
dto.GenTable.Columns = dto.GenTable.Columns.OrderBy(x => x.Sort).ToList();
|
dto.GenTable.Columns = dto.GenTable.Columns.OrderBy(x => x.Sort).ToList();
|
||||||
bool showCustomInput = dto.GenTable.Columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_CUSTOM_INPUT, StringComparison.OrdinalIgnoreCase));
|
bool showCustomInput = dto.GenTable.Columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_CUSTOM_INPUT, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
|
#region 查询所有字典
|
||||||
|
var dictHtml = new string[] { GenConstants.HTML_CHECKBOX, GenConstants.HTML_RADIO, GenConstants.HTML_SELECT, GenConstants.HTML_SELECT_MULTI };
|
||||||
|
var dicts = new List<GenTableColumn>();
|
||||||
|
dicts.AddRange(dto.GenTable.Columns.FindAll(f => dictHtml.Contains(f.HtmlType)));
|
||||||
|
if (dto.GenTable.SubTable != null && dto.GenTable.SubTableName.IsNotEmpty())
|
||||||
|
{
|
||||||
|
dicts.AddRange(dto.GenTable?.SubTable?.Columns?.FindAll(f => dictHtml.Contains(f.HtmlType)));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
//jnt模板引擎全局变量
|
//jnt模板引擎全局变量
|
||||||
Engine.Configure((options) =>
|
Engine.Configure((options) =>
|
||||||
{
|
{
|
||||||
@ -592,6 +598,8 @@ namespace ZR.CodeGenerator
|
|||||||
options.Data.Set("showCustomInput", showCustomInput);
|
options.Data.Set("showCustomInput", showCustomInput);
|
||||||
options.Data.Set("tool", new CodeGeneratorTool());
|
options.Data.Set("tool", new CodeGeneratorTool());
|
||||||
options.Data.Set("codeTool", new CodeGenerateTemplate());
|
options.Data.Set("codeTool", new CodeGenerateTemplate());
|
||||||
|
options.Data.Set("dicts", dicts);
|
||||||
|
options.Data.Set("sub", dto.GenTable.SubTable != null && dto.GenTable.SubTableName.IsNotEmpty());
|
||||||
options.EnableCache = true;
|
options.EnableCache = true;
|
||||||
//...其它数据
|
//...其它数据
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user