|
|
@@ -1,6 +1,8 @@
|
|
|
@{
|
|
|
string LowerFirstLetter(string text) => text.ToString()[..1].ToLower() + text[1..];
|
|
|
|
|
|
+ string getDropdownName(dynamic column) => $"{column.FkEntityName}{Regex.Replace(column.PropertyName, "[iI]d$", "")}Dropdown";
|
|
|
+
|
|
|
var pkField = Model.TableField.Where(c => c.ColumnKey == "True").FirstOrDefault();
|
|
|
|
|
|
string pkFieldName = pkField != null && !string.IsNullOrEmpty(pkField.PropertyName) ? LowerFirstLetter(pkField.PropertyName) : null;
|
|
|
@@ -46,13 +48,13 @@
|
|
|
}else if(column.EffectType == "ForeignKey"){
|
|
|
@:<el-form-item label="@column.ColumnComment">
|
|
|
@:<el-select clearable filterable v-model="queryParams.@(column.LowerPropertyName)" placeholder="请选择@(column.ColumnComment)">
|
|
|
- @:<el-option v-for="(item,index) in @LowerFirstLetter(@column.FkEntityName)@(column.PropertyName)DropdownList" :key="index" :value="item.value" :label="item.label" />
|
|
|
+ @:<el-option v-for="(item,index) in get@(getDropdownName(column))List" :key="index" :value="item.value" :label="item.label" />
|
|
|
@:</el-select>
|
|
|
@:</el-form-item>
|
|
|
}else if(column.EffectType == "DictSelector" || column.EffectType == "EnumSelector"){
|
|
|
@:<el-form-item label="@column.ColumnComment">
|
|
|
@:<el-select clearable filterable v-model="queryParams.@(column.LowerPropertyName)" placeholder="请选择@(column.ColumnComment)">
|
|
|
- @:<el-option v-for="(item,index) in getDictDataByCode('code_gen_create_type')('@(column.DictTypeCode)')" :key="index" :value="item.code" :label="`[${item.code}]${item.value}`" />
|
|
|
+ @:<el-option v-for="(item,index) in getDictDataByCode('@(column.DictTypeCode)')" :key="index" :value="item.code" :label="`[${item.code}]${item.value}`" />
|
|
|
@:</el-select>
|
|
|
@:</el-form-item>
|
|
|
}else if(column.EffectType == "ApiTreeSelector"){
|
|
|
@@ -116,7 +118,7 @@
|
|
|
</el-form>
|
|
|
</el-card>
|
|
|
<el-card class="full-table" shadow="hover" style="margin-top: 5px">
|
|
|
- <el-table :data="tableData" @@selection-change="(val: any[]) => { selectData = val; }" style="width: 100%" v-loading="loading" tooltip-effect="light" @(pkFieldName != null ? $"row-key=\"{@pkFieldName}\"" : "") @@sort-change="sortChange" border="">
|
|
|
+ <el-table :data="tableData" @@selection-change="(val: any[]) => { selectData = val; }" style="width: 100%" v-loading="loading" tooltip-effect="light" @(pkFieldName != null ? $"row-key=\"{@pkFieldName}\"" : "") @@sort-change="sortChange" border>
|
|
|
<el-table-column type="selection" width="40" align="center" v-auth="'@(Model.LowerClassName):batchDelete'" />
|
|
|
<el-table-column type="index" label="序号" width="55" align="center"/>
|
|
|
@foreach (var column in Model.TableField.Where(u => u.WhetherTable == "Y")){
|
|
|
@@ -133,7 +135,7 @@
|
|
|
@::preview-src-list="[scope.row.@column.LowerPropertyName]"
|
|
|
@::initial-index="0"
|
|
|
@:fit="scale-down"
|
|
|
- @:preview-teleported=""/>
|
|
|
+ @:preview-teleported />
|
|
|
}else if(column.EffectType == "ForeignKey"){
|
|
|
@:<span>{{scope.row.@LowerFirstLetter(@column.PropertyName)FkColumn}}</span>
|
|
|
}else if(column.EffectType == "ApiTreeSelector"){
|
|
|
@@ -148,7 +150,7 @@
|
|
|
@:</el-table-column>
|
|
|
} else if (column.EffectType == "DictSelector" || column.EffectType == "EnumSelector") {
|
|
|
isStatus = column.NetType == "StatusEnum" && column.PropertyName == "Status";
|
|
|
- @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" @(isStatus ? $"v-auth=\"'{@Model.LowerClassName}:setStatus'\"": "")>
|
|
|
+ @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip @(isStatus ? $"v-auth=\"'{@Model.LowerClassName}:setStatus'\"": "")>
|
|
|
@:<template #default="scope">
|
|
|
if (isStatus) {
|
|
|
@:<el-switch v-model="scope.row.@column.LowerPropertyName" :active-value="1" :inactive-value="2" size="small" @@change="change@(Model.ClassName)Status(scope.row)" />
|
|
|
@@ -158,7 +160,7 @@
|
|
|
@:</template>
|
|
|
@:</el-table-column>
|
|
|
} else {
|
|
|
- @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" />
|
|
|
+ @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip />
|
|
|
}
|
|
|
}
|
|
|
<el-table-column label="修改记录" width="100" align="center" show-overflow-tooltip>
|
|
|
@@ -166,27 +168,27 @@
|
|
|
<ModifyRecord :data="scope.row" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" width="@(Model.PrintType == "custom" ? "200" : "140")" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('@(Model.LowerClassName):update') || auth('@(Model.LowerClassName):delete')">
|
|
|
+ <el-table-column label="操作" width="@(Model.PrintType == "custom" ? "200" : "140")" align="center" fixed="right" show-overflow-tooltip v-if="auth('@(Model.LowerClassName):update') || auth('@(Model.LowerClassName):delete')">
|
|
|
<template #default="scope">
|
|
|
@if (Model.PrintType == "custom"){
|
|
|
- @:<el-button icon="ele-Printer" size="small" text="" type="primary" @@click="openPrint@(Model.ClassName)(scope.row)" v-auth="'@(Model.LowerClassName):print'"> 打印 </el-button>
|
|
|
+ @:<el-button icon="ele-Printer" size="small" text type="primary" @@click="openPrint@(Model.ClassName)(scope.row)" v-auth="'@(Model.LowerClassName):print'"> 打印 </el-button>
|
|
|
}
|
|
|
- <el-button icon="ele-Edit" size="small" text="" type="primary" @@click="openEdit@(Model.ClassName)(scope.row)" v-auth="'@(Model.LowerClassName):update'"> 编辑 </el-button>
|
|
|
- <el-button icon="ele-Delete" size="small" text="" type="primary" @@click="del@(Model.ClassName)(scope.row)" v-auth="'@(Model.LowerClassName):delete'"> 删除 </el-button>
|
|
|
+ <el-button icon="ele-Edit" size="small" text type="primary" @@click="openEdit@(Model.ClassName)(scope.row)" v-auth="'@(Model.LowerClassName):update'"> 编辑 </el-button>
|
|
|
+ <el-button icon="ele-Delete" size="small" text type="primary" @@click="del@(Model.ClassName)(scope.row)" v-auth="'@(Model.LowerClassName):delete'"> 删除 </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
v-model:currentPage="tableParams.page"
|
|
|
v-model:page-size="tableParams.pageSize"
|
|
|
- :total="tableParams.total"
|
|
|
:page-sizes="[10, 20, 50, 100, 200, 500]"
|
|
|
+ :total="tableParams.total"
|
|
|
+ @@size-change="handleSizeChange"
|
|
|
+ @@current-change="handleCurrentChange"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
size="small"
|
|
|
- background=""
|
|
|
- @@size-change="handleSizeChange"
|
|
|
- @@current-change="handleCurrentChange"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- />
|
|
|
+ background
|
|
|
+ />
|
|
|
<printDialog
|
|
|
ref="printDialogRef"
|
|
|
:title="print@(Model.ClassName)Title"
|
|
|
@@ -369,7 +371,7 @@
|
|
|
|
|
|
@foreach (var column in Model.TableField) {
|
|
|
if (column.EffectType == "ForeignKey") {
|
|
|
- var dropdownName = $"{column.FkEntityName}{Regex.Replace(column.PropertyName, "[iI]d$", "")}Dropdown";
|
|
|
+ var dropdownName = getDropdownName(column);
|
|
|
@:const @LowerFirstLetter(dropdownName)List = ref<any>([]);
|
|
|
@:const get@(dropdownName)List = async () => {
|
|
|
@:let list = await @(Model.LowerClassName)Api.get@(dropdownName)();
|