Merge branch 'v2' of https://code.adminnet.top/Admin.NET/Admin.NET.Pro into v2
This commit is contained in:
commit
0c4683cd69
@ -36,7 +36,7 @@ public partial class @(@Model.ClassName)Mid
|
||||
/// <param name="_@(@Model.LowerClassName)Rep"></param>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
public static ISugarQueryable<@(@Model.ClassName)Output> GetQuery(SqlSugarRepository<@(@Model.ClassName)> _@(@Model.LowerClassName)Rep,Page@(@Model.ClassName)Input input)
|
||||
public static ISugarQueryable<@(@Model.ClassName)> GetQuery(SqlSugarRepository<@(@Model.ClassName)> _@(@Model.LowerClassName)Rep,Page@(@Model.ClassName)Input input)
|
||||
{
|
||||
var sysCacheService = App.GetRequiredService<SysCacheService>();
|
||||
var db = App.GetRequiredService<ISqlSugarClient>();
|
||||
@ -80,7 +80,6 @@ public partial class @(@Model.ClassName)Mid
|
||||
@:.OrderBy(u => u.OrderNo)
|
||||
}
|
||||
|
||||
.Select<@(@Model.ClassName)Output>()
|
||||
@if(!string.IsNullOrEmpty(Model.TreeName)){
|
||||
@:.Mapper(c => c.Name= c.@(@Model.TreeName).ToString())
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ namespace @Model.NameSpace;
|
||||
/// HJ:这里做优化 如果是富文本不传入
|
||||
/// @(@Model.BusName)输出参数
|
||||
/// </summary>
|
||||
public partial class @(@Model.ClassName)Output
|
||||
public partial class Page@(@Model.ClassName)Output
|
||||
{
|
||||
@foreach (var column in Model.TableField){
|
||||
|
||||
@ -74,5 +74,27 @@ if (@column.EffectType == "ApiTreeSelector"){
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// HJ:这里用的标准的Dto,如果有特殊需要可以在Dto中添加
|
||||
/// @(@Model.BusName)导入导出输出参数
|
||||
/// </summary>
|
||||
public partial class @(@Model.ClassName)Dto
|
||||
{
|
||||
|
||||
@foreach (var column in Model.TableField){
|
||||
|
||||
@:/// <summary>
|
||||
@:/// @column.ColumnComment
|
||||
@:/// </summary>
|
||||
@:[ImporterHeader(Name = "@(column.ColumnComment)")]
|
||||
@:[ExporterHeader(DisplayName = "@(column.ColumnComment)", IsBold = true)]
|
||||
@:public @column.NetType @column.PropertyName { get; set; }
|
||||
@:
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -84,9 +84,9 @@ public partial class @(@Model.ClassName)Service : IDynamicApiController, ITransi
|
||||
/// <returns></returns>
|
||||
[ApiDescriptionSettings(Name = "Page", Description = "分页查询", Order = 1000), HttpPost]
|
||||
[DisplayName("分页查询@(@Model.BusName)")]
|
||||
public async Task<SqlSugarPagedList<@(@Model.ClassName)Output>> Page(Page@(@Model.ClassName)Input input)
|
||||
public async Task<SqlSugarPagedList<Page@(@Model.ClassName)Output>> Page(Page@(@Model.ClassName)Input input)
|
||||
{
|
||||
var list = await @(@Model.ClassName)Mid.GetQuery(_@(@Model.LowerClassName)Rep, input).OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
|
||||
var list = await @(@Model.ClassName)Mid.GetQuery(_@(@Model.LowerClassName)Rep, input).Select<Page@(@Model.ClassName)Output>().OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
|
||||
return list;
|
||||
}
|
||||
|
||||
@ -175,6 +175,57 @@ if (@column.ColumnKey == "True"){
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 导入@(@Model.BusName)
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("导入@(@Model.BusName)")]
|
||||
public async Task Import([Required] IFormFile file)
|
||||
{
|
||||
using MemoryStream stream = new();
|
||||
await file.CopyToAsync(stream);
|
||||
|
||||
var res = await new ExcelImporter().Import<@(@Model.ClassName)Dto>(stream);
|
||||
|
||||
if (res == null || res.Exception != null)
|
||||
throw Oops.Oh(res.Exception);
|
||||
|
||||
var importData = res.Data.ToList();
|
||||
// 按照编码条件进行批量更新或者新增
|
||||
await _@(@Model.LowerClassName)Rep.Context.Storageable(importData.Adapt<List<@(@Model.ClassName)>>()).WhereColumns(u => u.Id).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 导出@(@Model.BusName)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[DisplayName("导出@(@Model.BusName)")]
|
||||
public async Task<IActionResult> Export(PageMonkeyArticleInput input)
|
||||
{
|
||||
|
||||
var list = await @(@Model.ClassName)Mid.GetQuery(_monkeyArticleRep, input).Select<@(@Model.ClassName)Dto>().OrderBuilder(input).ToListAsync();
|
||||
|
||||
if (list == null || list.Count < 1)
|
||||
throw Oops.Oh("数据为空,导出已取消");
|
||||
|
||||
var res = await new ExcelExporter().ExportAsByteArray(list);
|
||||
return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "@(@Model.BusName)列表.xlsx" };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下载导入@(@Model.BusName)模板
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[DisplayName("下载导入@(@Model.BusName)模板")]
|
||||
public async Task<IActionResult> DownloadTemplate()
|
||||
{
|
||||
var res = await new ExcelImporter().GenerateTemplateBytes<@(@Model.ClassName)Dto>();
|
||||
return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = "@(@Model.BusName)导入模板.xlsx" };
|
||||
}
|
||||
|
||||
|
||||
/*HJ:不要,有分页了,列表多余的
|
||||
/// <summary>
|
||||
/// 获取@(@Model.BusName)列表
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
<el-row :gutter="10">
|
||||
@if(Model.QueryWhetherList.Count > 0){
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5">
|
||||
<el-form-item :label="$t('message.codegen.searchKey')" prop="searchKey">
|
||||
<el-input v-model="state.queryParams.searchKey" :placeholder="$t('message.codegen.searchKeyInput')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<el-form-item :label="$t('message.list.searchKey')" prop="searchKey">
|
||||
<el-input v-model="state.queryParams.searchKey" :placeholder="$t('message.list.searchKeyInput')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
foreach (var column in Model.QueryWhetherList) {
|
||||
@ -37,13 +37,13 @@
|
||||
} else if(@column.EffectType == "InputNumber") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
<el-input-number v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<el-input-number v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "ForeignKey") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
<el-select filterable="" v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable>
|
||||
<el-select filterable="" v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable>
|
||||
<el-option v-for="(item,index) in @LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList" :key="index" :value="item.value" :label="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -51,7 +51,7 @@
|
||||
} else if(@column.EffectType == "DictSelector") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.value" :label="`${item.label} [${item.code}] ${item.value}`" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -59,7 +59,7 @@
|
||||
} else if(@column.EffectType == "EnumSelector") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.value" :label="`${item.label} [${item.code}] ${item.value}`" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -70,7 +70,7 @@
|
||||
<el-cascader
|
||||
@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
||||
@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
||||
:placeholder="$t('message.codegen.pleaseChoose')+ $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
:placeholder="$t('message.list.pleaseChoose')+ $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
clearable=""
|
||||
class="w100"
|
||||
v-model="state.queryParams.@(@column.LowerPropertyName)"
|
||||
@ -86,9 +86,9 @@
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@if(@column.QueryType == "~"){
|
||||
@:<el-date-picker type="daterange" v-model="state.queryParams.@(@column.LowerPropertyName)Range" value-format="YYYY-MM-DD HH:mm:ss" :start-placeholder="$t('message.codegen.beginTime')" :end-placeholder="$t('message.codegen.endTime')" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" />
|
||||
@:<el-date-picker type="daterange" v-model="state.queryParams.@(@column.LowerPropertyName)Range" value-format="YYYY-MM-DD HH:mm:ss" :start-placeholder="$t('message.list.beginTime')" :end-placeholder="$t('message.list.endTime')" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" />
|
||||
} else {
|
||||
@:<el-date-picker :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" value-format="YYYY/MM/DD" v-model="state.queryParams.@(@column.LowerPropertyName)" />
|
||||
@:<el-date-picker :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" value-format="YYYY/MM/DD" v-model="state.queryParams.@(@column.LowerPropertyName)" />
|
||||
}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -103,10 +103,10 @@
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-button-group>
|
||||
<el-button type="primary" icon="ele-Search" @@click="handleQuery(true)" v-auth="'@(@Model.LowerClassName)/page'" :loading="options.loading"> {{ $t('message.codegen.search') }} </el-button>
|
||||
<el-button icon="ele-Refresh" @@click="resetQuery" :loading="options.loading"> {{ $t('message.codegen.refresh') }} </el-button>
|
||||
<el-button icon="ele-ZoomIn" @@click="changeAdvanceQueryUI" v-if="!state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.codegen.zoomIn') }} </el-button>
|
||||
<el-button icon="ele-ZoomOut" @@click="changeAdvanceQueryUI" v-if="state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.codegen.zoomOut') }} </el-button>
|
||||
<el-button type="primary" icon="ele-Search" @@click="handleQuery(true)" v-auth="'@(@Model.LowerClassName)/page'" :loading="options.loading"> {{ $t('message.list.search') }} </el-button>
|
||||
<el-button icon="ele-Refresh" @@click="resetQuery" :loading="options.loading"> {{ $t('message.list.reset') }} </el-button>
|
||||
<el-button icon="ele-ZoomIn" @@click="changeAdvanceQueryUI" v-if="!state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.list.zoomIn') }} </el-button>
|
||||
<el-button icon="ele-ZoomOut" @@click="changeAdvanceQueryUI" v-if="state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.list.zoomOut') }} </el-button>
|
||||
</el-button-group>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -115,7 +115,13 @@
|
||||
<el-card class="full-table" shadow="hover" style="margin-top: 5px">
|
||||
<vxe-grid ref="xGrid" class="xGrid-style" v-bind="options" v-on="gridEvents">
|
||||
<template #toolbar_buttons>
|
||||
<el-button type="primary" icon="ele-Plus" @@click="handleAdd" v-auth="'@(@Model.LowerClassName)/add'"> {{ $t('message.codegen.add') }} </el-button>
|
||||
<el-button type="primary" icon="ele-Plus" @@click="handleAdd" v-auth="'@(@Model.LowerClassName)/add'"> {{ $t('message.list.add') }} </el-button>
|
||||
<el-button-group type="primary" style="padding-left: 12px">
|
||||
<el-button plain icon="ele-Upload" @@click="importData" v-auth="'@(@Model.LowerClassName)/import'"> {{ $t('message.list.import') }} </el-button>
|
||||
<el-button plain icon="ele-Download" @@click="exportData" v-auth="'@(@Model.LowerClassName)/export'"> {{ $t('message.list.export') }} </el-button>
|
||||
<el-button plain icon="ele-FolderOpened" @@click="downloadTemplate"> {{ $t('message.list.downloadTemplate') }} </el-button>
|
||||
</el-button-group>
|
||||
|
||||
</template>
|
||||
<template #toolbar_tools> </template>
|
||||
<template #empty>
|
||||
@ -132,7 +138,7 @@
|
||||
@::height="60"
|
||||
@:trigger="hover">
|
||||
@:<template #reference>
|
||||
@:<el-tag>{{ $t('message.codegen.seeFile') }}</el-tag>
|
||||
@:<el-tag>{{ $t('message.list.seeFile') }}</el-tag>
|
||||
@:</template>
|
||||
@:<template #default>
|
||||
@:<el-image
|
||||
@ -144,7 +150,7 @@
|
||||
@:preview-teleported=""/>
|
||||
@:</template>
|
||||
@:</el-popover>
|
||||
@:<el-tag v-else type="info">{{ $t('message.codegen.noFile') }}</el-tag>
|
||||
@:<el-tag v-else type="info">{{ $t('message.list.noFile') }}</el-tag>
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "ForeignKey") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@ -156,8 +162,8 @@
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "Switch") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@:<el-tag v-if="row.@(@column.LowerPropertyName)"> {{ $t('message.codegen.yes') }} </el-tag>
|
||||
@:<el-tag type="danger" v-else> {{ $t('message.codegen.no') }} </el-tag>
|
||||
@:<el-tag v-if="row.@(@column.LowerPropertyName)"> {{ $t('message.list.yes') }} </el-tag>
|
||||
@:<el-tag type="danger" v-else> {{ $t('message.list.no') }} </el-tag>
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "ConstSelector") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@ -183,10 +189,10 @@
|
||||
<el-button icon="ele-Printer" size="small" text type="primary" @@click="handlePrint(row)" v-auth="'@(@Model.LowerClassName)/print'" />
|
||||
</el-tooltip>
|
||||
}
|
||||
<el-tooltip :content="$t('message.codegen.edit')" placement="top">
|
||||
<el-tooltip :content="$t('message.list.edit')" placement="top">
|
||||
<el-button icon="ele-Edit" size="small" text type="primary" @@click="handleEdit(row)" v-auth="'@(@Model.LowerClassName)/update'" />
|
||||
</el-tooltip>
|
||||
<el-tooltip :content="$t('message.codegen.delete')" placement="top">
|
||||
<el-tooltip :content="$t('message.list.delete')" placement="top">
|
||||
<el-button icon="ele-Delete" size="small" text type="danger" @@click="handleDelete(row)" v-auth="'@(@Model.LowerClassName)/delete'" />
|
||||
</el-tooltip>
|
||||
</template>
|
||||
@ -195,6 +201,34 @@
|
||||
@if(@Model.PrintType != "off"){
|
||||
@:<PrintDialog ref="printDialogRef" :title="state.title" @@reloadTable="handleQuery" />
|
||||
}
|
||||
|
||||
<el-dialog v-model="state.uploadVisible" :lock-scroll="false" draggable width="400px">
|
||||
<template #header>
|
||||
<div style="color: #fff">
|
||||
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-UploadFilled /> </el-icon>
|
||||
<span> {{ $t('message.list.import') }} </span>
|
||||
</div>
|
||||
</template>
|
||||
<div>
|
||||
<el-upload ref="uploadRef" drag :auto-upload="false" :limit="1" :file-list="state.fileList" action="" :on-change="handleChange" accept=".xlsx">
|
||||
<el-icon class="el-icon--upload">
|
||||
<ele-UploadFilled />
|
||||
</el-icon>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<template #tip>
|
||||
<div class="el-upload__tip">请上传大小不超过 10MB 的文件</div>
|
||||
</template>
|
||||
</el-upload>
|
||||
</div>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button icon="ele-CircleCloseFilled" @@click="state.uploadVisible = false">{{ $t('message.list.cancelButtonText') }}</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @@click="uploadFile">{{ $t('message.list.confirmButtonText') }}</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<EditDialog ref="editDialogRef" :title="state.title" @@reloadTable="handleQuery" />
|
||||
</template>
|
||||
|
||||
@ -209,6 +243,7 @@ import { auth } from '/@@/utils/authFunction';
|
||||
import EditDialog from '/@@/views/@(@Model.PagePath)/@(@Model.LowerClassName)/component/edit.vue';
|
||||
import ModifyRecord from '/@@/components/table/modifyRecord.vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { downloadByData, getFileName } from '/@@/utils/download';
|
||||
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "DatePicker")){
|
||||
@:// 日历控件
|
||||
@ -283,6 +318,9 @@ const state = reactive({
|
||||
totalSum:[] as any,
|
||||
visible: false,
|
||||
title: '',
|
||||
uploadVisible: false,
|
||||
fileList: [] as any,
|
||||
|
||||
});
|
||||
|
||||
// 本地存储参数
|
||||
@ -308,7 +346,7 @@ const checkTableColumnVisible = (tableColumnName: any) => {
|
||||
id: '@(@Model.ClassName)',
|
||||
name: t('message.@Model.LowerClassName.@Model.LowerClassName'),
|
||||
columns: [
|
||||
{ type: 'seq', title: t('message.codegen.number'), width: 60, fixed: 'left' },
|
||||
{ type: 'seq', title: t('message.list.number'), width: 60, fixed: 'left' },
|
||||
@foreach (var column in Model.TableField) {
|
||||
var whethersortable =column.WhetherSortable == "Y" ? "sortable: true" : "sortable: false";
|
||||
if(@column.WhetherTable == "Y") {
|
||||
@ -336,9 +374,9 @@ const checkTableColumnVisible = (tableColumnName: any) => {
|
||||
}
|
||||
}
|
||||
@if(@Model.TableField.Any(t => t.ColumnName == "CreateTime") && @Model.TableField.Any(t => t.ColumnName == "UpdateTime") && @Model.TableField.Any(t => t.ColumnName == "CreateUserId")){
|
||||
@:{ field: 'record', title: t('message.codegen.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
@:{ field: 'record', title: t('message.list.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
}
|
||||
{ field: 'buttons', title: t('message.codegen.action'), fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: t('message.list.action'), fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
@if(@Model.TableField.Any(x=>x.Statistical == "Y")){
|
||||
@:footerMethod: ({ columns, data }) => {
|
||||
@ -438,7 +476,7 @@ const resetQuery = async () => {
|
||||
|
||||
// 打开新增页面
|
||||
const handleAdd = () => {
|
||||
state.title = t('message.codegen.add')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
state.title = t('message.list.add')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
let data = {
|
||||
@foreach (var column in Model.TableField){
|
||||
if(@column.WhetherAddUpdate == "Y"&&@column.DefaultValue!=null){
|
||||
@ -456,14 +494,14 @@ const handleAdd = () => {
|
||||
|
||||
// 打开编辑页面
|
||||
const handleEdit = (row: any) => {
|
||||
state.title = t('message.codegen.edit')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
state.title = t('message.list.edit')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
editDialogRef.value?.openDialog(row);
|
||||
};
|
||||
|
||||
@if(@Model.PrintType != "off") {
|
||||
@:// 打开打印页面
|
||||
@:const handlePrint = async (row: any) => {
|
||||
@:state.title = t('message.codegen.print')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
@:state.title = t('message.list.print')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
@if(@Model.PrintType != "off"){
|
||||
if (@Model.IsApiService) {
|
||||
@:var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('@Model.PrintName');
|
||||
@ -486,9 +524,9 @@ const handleEdit = (row: any) => {
|
||||
|
||||
// 删除
|
||||
const handleDelete = (row: any) => {
|
||||
ElMessageBox.confirm(t('message.codegen.confirmDelete')+t('message.@Model.LowerClassName.@Model.LowerClassName')+`:【${row.id}】?`, t('message.codegen.tips'), {
|
||||
confirmButtonText: t('message.codegen.submit'),
|
||||
cancelButtonText: t('message.codegen.cancel'),
|
||||
ElMessageBox.confirm(t('message.list.confirmDelete')+t('message.@Model.LowerClassName.@Model.LowerClassName')+`:【${row.id}】?`, t('message.list.tips'), {
|
||||
confirmButtonText: t('message.list.submit'),
|
||||
cancelButtonText: t('message.list.cancel'),
|
||||
type: 'warning',
|
||||
}).then(async () => {
|
||||
@if (@Model.IsApiService) {
|
||||
@ -497,7 +535,7 @@ const handleDelete = (row: any) => {
|
||||
@:await delete@(@Model.ClassName)(row);
|
||||
}
|
||||
await handleQuery();
|
||||
ElMessage.success(t('message.codegen.deleteSuccess'));
|
||||
ElMessage.success(t('message.list.deleteSuccess'));
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
@ -558,6 +596,47 @@ const handleDelete = (row: any) => {
|
||||
}
|
||||
}
|
||||
|
||||
// 通过onChanne方法获得文件列表
|
||||
const handleChange = (file: any, fileList: []) => {
|
||||
state.fileList = fileList;
|
||||
};
|
||||
|
||||
// 上传
|
||||
const uploadFile = async () => {
|
||||
if (state.fileList.length < 1) return;
|
||||
|
||||
state.uploadVisible = false;
|
||||
options.loading = true;
|
||||
await getAPI(@(@Model.ClassName)Api).api@(@Model.ClassName)ImportPostForm(state.fileList[0].raw);
|
||||
handleQuery();
|
||||
ElMessage.success('上传成功');
|
||||
state.fileList = [];
|
||||
options.loading = false;
|
||||
};
|
||||
|
||||
// 导入
|
||||
const importData = () => {
|
||||
state.uploadVisible = true;
|
||||
};
|
||||
|
||||
// 导出
|
||||
const exportData = async () => {
|
||||
options.loading = true;
|
||||
var res = await getAPI(@(@Model.ClassName)Api).api@(@Model.ClassName)ExportPost(state.queryParams, { responseType: 'blob' });
|
||||
options.loading = false;
|
||||
|
||||
var fileName = getFileName(res.headers);
|
||||
downloadByData(res.data as any, fileName);
|
||||
};
|
||||
|
||||
// 下载模板
|
||||
const downloadTemplate = async () => {
|
||||
var res = await getAPI(@(@Model.ClassName)Api).api@(@Model.ClassName)DownloadTemplatePost({ responseType: 'blob' });
|
||||
|
||||
var fileName = getFileName(res.headers);
|
||||
downloadByData(res.data as any, fileName);
|
||||
};
|
||||
|
||||
// 与父组件的交互逻辑
|
||||
const emits = defineEmits(['list-click']);
|
||||
const listClick = (row: any,column:any) => {
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
<el-row :gutter="10">
|
||||
@if(Model.QueryWhetherList.Count > 0){
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5">
|
||||
<el-form-item :label="$t('message.codegen.searchKey')" prop="searchKey">
|
||||
<el-input v-model="state.queryParams.searchKey" :placeholder="$t('message.codegen.searchKeyInput')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<el-form-item :label="$t('message.list.searchKey')" prop="searchKey">
|
||||
<el-input v-model="state.queryParams.searchKey" :placeholder="$t('message.list.searchKeyInput')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
foreach (var column in Model.QueryWhetherList) {
|
||||
@ -37,13 +37,13 @@
|
||||
} else if(@column.EffectType == "InputNumber") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
<el-input-number v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<el-input-number v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "ForeignKey") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
<el-select filterable="" v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable>
|
||||
<el-select filterable="" v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable>
|
||||
<el-option v-for="(item,index) in @LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList" :key="index" :value="item.value" :label="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -51,7 +51,7 @@
|
||||
} else if(@column.EffectType == "DictSelector") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.value" :label="`${item.label} [${item.code}] ${item.value}`" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -59,7 +59,7 @@
|
||||
} else if(@column.EffectType == "EnumSelector") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.value" :label="`${item.label} [${item.code}] ${item.value}`" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -70,7 +70,7 @@
|
||||
<el-cascader
|
||||
@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
||||
@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
||||
:placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
:placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
clearable=""
|
||||
class="w100"
|
||||
v-model="state.queryParams.@(@column.LowerPropertyName)"
|
||||
@ -86,9 +86,9 @@
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@if(@column.QueryType == "~"){
|
||||
@:<el-date-picker type="daterange" v-model="state.queryParams.@(@column.LowerPropertyName)Range" value-format="YYYY-MM-DD HH:mm:ss" :start-placeholder="$t('message.codegen.beginTime')" :end-placeholder="$t('message.codegen.endTime')" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" />
|
||||
@:<el-date-picker type="daterange" v-model="state.queryParams.@(@column.LowerPropertyName)Range" value-format="YYYY-MM-DD HH:mm:ss" :start-placeholder="$t('message.list.beginTime')" :end-placeholder="$t('message.list.endTime')" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" />
|
||||
} else {
|
||||
@:<el-date-picker :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" value-format="YYYY/MM/DD" v-model="state.queryParams.@(@column.LowerPropertyName)" />
|
||||
@:<el-date-picker :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" value-format="YYYY/MM/DD" v-model="state.queryParams.@(@column.LowerPropertyName)" />
|
||||
}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -103,10 +103,10 @@
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-button-group>
|
||||
<el-button type="primary" icon="ele-Search" @@click="handleQuery(true)" v-auth="'@(@Model.LowerClassName)/page'" :loading="options.loading"> {{ $t('message.codegen.search') }} </el-button>
|
||||
<el-button icon="ele-Refresh" @@click="resetQuery" :loading="options.loading"> {{ $t('message.codegen.refresh') }} </el-button>
|
||||
<el-button icon="ele-ZoomIn" @@click="changeAdvanceQueryUI" v-if="!state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.codegen.zoomIn') }} </el-button>
|
||||
<el-button icon="ele-ZoomOut" @@click="changeAdvanceQueryUI" v-if="state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.codegen.zoomOut') }} </el-button>
|
||||
<el-button type="primary" icon="ele-Search" @@click="handleQuery(true)" v-auth="'@(@Model.LowerClassName)/page'" :loading="options.loading"> {{ $t('message.list.search') }} </el-button>
|
||||
<el-button icon="ele-Refresh" @@click="resetQuery" :loading="options.loading"> {{ $t('message.list.refresh') }} </el-button>
|
||||
<el-button icon="ele-ZoomIn" @@click="changeAdvanceQueryUI" v-if="!state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.list.zoomIn') }} </el-button>
|
||||
<el-button icon="ele-ZoomOut" @@click="changeAdvanceQueryUI" v-if="state.showAdvanceQueryUI" style="margin-left: 5px"> {{ $t('message.list.zoomOut') }} </el-button>
|
||||
</el-button-group>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -115,10 +115,10 @@
|
||||
<el-card class="full-table" shadow="hover" style="margin-top: 5px">
|
||||
<vxe-grid ref="xGrid" class="xGrid-style" v-bind="options" v-on="gridEvents">
|
||||
<template #toolbar_buttons>
|
||||
<el-button type="primary" icon="ele-Plus" @@click="handleAdd" v-auth="'@(@Model.LowerClassName)/add'"> {{ $t('message.codegen.add') }} </el-button>
|
||||
<el-button type="primary" icon="ele-Plus" @@click="handleAdd" v-auth="'@(@Model.LowerClassName)/add'"> {{ $t('message.list.add') }} </el-button>
|
||||
<el-button-group style="padding-left: 12px">
|
||||
<el-button type="primary" icon="ele-Expand" @@click="handleExpand"> {{ $t('message.codegen.expand') }} </el-button>
|
||||
<el-button type="primary" icon="ele-Fold" @@click="handleFold"> {{ $t('message.codegen.fold') }} </el-button>
|
||||
<el-button type="primary" icon="ele-Expand" @@click="handleExpand"> {{ $t('message.list.expand') }} </el-button>
|
||||
<el-button type="primary" icon="ele-Fold" @@click="handleFold"> {{ $t('message.list.fold') }} </el-button>
|
||||
</el-button-group>
|
||||
</template>
|
||||
<template #toolbar_tools> </template>
|
||||
@ -137,7 +137,7 @@
|
||||
@::height="60"
|
||||
@:trigger="hover">
|
||||
@:<template #reference>
|
||||
@:<el-tag>{{ $t('message.codegen.seeFile') }}</el-tag>
|
||||
@:<el-tag>{{ $t('message.list.seeFile') }}</el-tag>
|
||||
@:</template>
|
||||
@:<template #default>
|
||||
@:<el-image
|
||||
@ -149,7 +149,7 @@
|
||||
@:preview-teleported=""/>
|
||||
@:</template>
|
||||
@:</el-popover>
|
||||
@:<el-tag v-else type="info">{{ $t('message.codegen.noFile') }}</el-tag>
|
||||
@:<el-tag v-else type="info">{{ $t('message.list.noFile') }}</el-tag>
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "ForeignKey") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@ -161,8 +161,8 @@
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "Switch") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@:<el-tag v-if="row.@(@column.LowerPropertyName)"> {{ $t('message.codegen.yes') }} </el-tag>
|
||||
@:<el-tag type="danger" v-else> {{ $t('message.codegen.no') }} </el-tag>
|
||||
@:<el-tag v-if="row.@(@column.LowerPropertyName)"> {{ $t('message.list.yes') }} </el-tag>
|
||||
@:<el-tag type="danger" v-else> {{ $t('message.list.no') }} </el-tag>
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "ConstSelector") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@ -188,10 +188,10 @@
|
||||
<el-button icon="ele-Printer" size="small" text type="primary" @@click="handlePrint(row)" v-auth="'@(@Model.LowerClassName)/print'" />
|
||||
</el-tooltip>
|
||||
}
|
||||
<el-tooltip :content="$t('message.codegen.edit')" placement="top">
|
||||
<el-tooltip :content="$t('message.list.edit')" placement="top">
|
||||
<el-button icon="ele-Edit" size="small" text type="primary" @@click="handleEdit(row)" v-auth="'@(@Model.LowerClassName)/update'" />
|
||||
</el-tooltip>
|
||||
<el-tooltip :content="$t('message.codegen.delete')" placement="top">
|
||||
<el-tooltip :content="$t('message.list.delete')" placement="top">
|
||||
<el-button icon="ele-Delete" size="small" text type="danger" @@click="handleDelete(row)" v-auth="'@(@Model.LowerClassName)/delete'" />
|
||||
</el-tooltip>
|
||||
</template>
|
||||
@ -305,7 +305,7 @@ const checkTableColumnVisible = (tableColumnName: any) => {
|
||||
id: '@(@Model.ClassName)',
|
||||
name: t('message.@Model.LowerClassName.@Model.LowerClassName'),
|
||||
columns: [
|
||||
{ type: 'seq', title: t('message.codegen.number'), width: 60, fixed: 'left' },
|
||||
{ type: 'seq', title: t('message.list.number'), width: 60, fixed: 'left' },
|
||||
@foreach (var column in Model.TableField) {
|
||||
var whethersortable =column.WhetherSortable == "Y" ? "sortable: true" : "sortable: false";
|
||||
var treetable =((Model.TabType == "Tree"||Model.TabType == "OnlyTree")&&column.ColumnName==Model.TreeName) ? ", treeNode: true, align: 'left'" : "";
|
||||
@ -334,9 +334,9 @@ const checkTableColumnVisible = (tableColumnName: any) => {
|
||||
}
|
||||
}
|
||||
@if(@Model.TableField.Any(t => t.ColumnName == "CreateTime") && @Model.TableField.Any(t => t.ColumnName == "UpdateTime") && @Model.TableField.Any(t => t.ColumnName == "CreateUserId")){
|
||||
@:{ field: 'record',title: t('message.codegen.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
@:{ field: 'record',title: t('message.list.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
}
|
||||
{ field: 'buttons',title: t('message.codegen.action'), fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons',title: t('message.list.action'), fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
@ -413,7 +413,7 @@ const resetQuery = async () => {
|
||||
|
||||
// 打开新增页面
|
||||
const handleAdd = () => {
|
||||
state.title = t('message.codegen.add')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
state.title = t('message.list.add')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
let data = {
|
||||
[state.key]: state.val,
|
||||
@foreach (var column in Model.TableField){
|
||||
@ -432,14 +432,14 @@ const handleAdd = () => {
|
||||
|
||||
// 打开编辑页面
|
||||
const handleEdit = (row: any) => {
|
||||
state.title = t('message.codegen.edit')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
state.title = t('message.list.edit')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
editDialogRef.value?.openDialog(row);
|
||||
};
|
||||
|
||||
@if(@Model.PrintType != "off") {
|
||||
@:// 打开打印页面
|
||||
@:const handlePrint = async (row: any) => {
|
||||
@:state.title = t('message.codegen.print')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
@:state.title = t('message.list.print')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
@if(@Model.PrintType != "off"){
|
||||
if (@Model.IsApiService) {
|
||||
@:var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('@Model.PrintName');
|
||||
@ -462,9 +462,9 @@ const handleEdit = (row: any) => {
|
||||
|
||||
// 删除
|
||||
const handleDelete = (row: any) => {
|
||||
ElMessageBox.confirm(t('message.codegen.confirmDelete')+t('message.@Model.LowerClassName.@Model.LowerClassName')+`:【${row.id}】?`, t('message.codegen.tips'), {
|
||||
confirmButtonText: t('message.codegen.submit'),
|
||||
cancelButtonText: t('message.codegen.cancel'),
|
||||
ElMessageBox.confirm(t('message.list.confirmDelete')+t('message.@Model.LowerClassName.@Model.LowerClassName')+`:【${row.id}】?`, t('message.list.tips'), {
|
||||
confirmButtonText: t('message.list.submit'),
|
||||
cancelButtonText: t('message.list.cancel'),
|
||||
type: 'warning',
|
||||
}).then(async () => {
|
||||
@if (@Model.IsApiService) {
|
||||
@ -473,7 +473,7 @@ const handleDelete = (row: any) => {
|
||||
@:await delete@(@Model.ClassName)(row);
|
||||
}
|
||||
await handleQuery();
|
||||
ElMessage.success(t('message.codegen.deleteSuccess'));
|
||||
ElMessage.success(t('message.list.deleteSuccess'));
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
if(@column.EffectType == "ForeignKey"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable filterable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@:<el-select clearable filterable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@if(column.NetType.StartsWith("int")||column.NetType.StartsWith("long")){
|
||||
@:<el-option v-for="(item,index) in @LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList" :key="index" :value="parseInt(item.value)" :label="item.label" />
|
||||
}
|
||||
@ -53,7 +53,7 @@
|
||||
<el-cascader
|
||||
@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
||||
@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
||||
:placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
:placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
clearable=""
|
||||
class="w100"
|
||||
v-model="state.ruleForm.@(@column.LowerPropertyName)"
|
||||
@ -68,19 +68,19 @@
|
||||
}else if(@column.EffectType == "Input"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-input v-model="state.ruleForm.@(@column.LowerPropertyName)" autocomplete="new-password" :placeholder="$t('message.codegen.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" maxlength="@(@column.ColumnLength)" show-word-limit clearable />
|
||||
@:<el-input v-model="state.ruleForm.@(@column.LowerPropertyName)" autocomplete="new-password" :placeholder="$t('message.list.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" maxlength="@(@column.ColumnLength)" show-word-limit clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "InputNumber"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-input-number v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable />
|
||||
@:<el-input-number v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "InputTextArea"){
|
||||
@:<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-input v-model="state.ruleForm.@(@column.LowerPropertyName)" autocomplete="new-password" :placeholder="$t('message.codegen.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" type="textarea"
|
||||
@:<el-input v-model="state.ruleForm.@(@column.LowerPropertyName)" autocomplete="new-password" :placeholder="$t('message.list.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')" type="textarea"
|
||||
@if(@column.ColumnLength>0){
|
||||
@:maxlength="@(@column.ColumnLength)"
|
||||
}
|
||||
@ -90,7 +90,7 @@
|
||||
}else if(@column.EffectType == "DictSelector"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@:<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="@(@column.NetType.StartsWith("string") ? "item.code" : "Number(item.value)")" :label="`${item.label||''} [${item.code}] ${item.value}`"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -98,7 +98,7 @@
|
||||
}else if(@column.EffectType == "ConstSelector"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@:<el-option v-for="(item,index) in getConstType('@column.DictTypeCode')" :key="index" :label="item.name" :value="@(@column.NetType.StartsWith("string") ? "item.code" : "Number(item.value)")">{{ item.name }}</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -113,7 +113,7 @@
|
||||
@if(@column.NetType.StartsWith("string")){
|
||||
@:active-value="1" inactive-value="0"
|
||||
}
|
||||
@::active-text="$t('message.codegen.yes')" :inactive-text="$t('message.codegen.no')" />
|
||||
@::active-text="$t('message.list.yes')" :inactive-text="$t('message.list.no')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "DatePicker"){
|
||||
@ -141,7 +141,7 @@
|
||||
}else if(@column.EffectType == "EnumSelector"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" :placeholder="$t('message.list.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')">
|
||||
@:<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="@(@column.NetType.StartsWith("string") ? "item.value" : "Number(item.value)")" :label="`${item.label||''} (${item.code}) [${item.value}]`"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -162,8 +162,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button icon="ele-CircleCloseFilled" @@click="cancel">{{ $t('message.codegen.cancel') }}</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @@click="submit">{{ $t('message.codegen.submit') }}</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @@click="cancel">{{ $t('message.list.cancel') }}</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @@click="submit">{{ $t('message.list.submit') }}</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -280,18 +280,18 @@ const rules = ref<FormRules>({
|
||||
trigger="change";
|
||||
}
|
||||
if(rule.Type=="required"){
|
||||
@:{required: true, message:t('message.codegen.pleaseInputTitle') +t('message.@Model.LowerClassName.@column.LowerPropertyName'), trigger: '@(@trigger)',},
|
||||
@:{required: true, message:t('message.list.pleaseInputTitle') +t('message.@Model.LowerClassName.@column.LowerPropertyName'), trigger: '@(@trigger)',},
|
||||
}else if(rule.Type=="array"){
|
||||
@:{ type: 'array', required: true, message:"$t('message.codegen.pleaseInputTitle') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')'" , trigger: 'change', },
|
||||
@:{ type: 'array', required: true, message:"$t('message.list.pleaseInputTitle') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')'" , trigger: 'change', },
|
||||
}else if(rule.Type=="length"&&(column.EffectType=="Input"||column.EffectType == "InputTextArea")){
|
||||
@:{ min: @(@rule.Min), max: @(@rule.Max), message: t('message.codegen.length') + '@(@rule.Min) - @(@rule.Max)', trigger: '@(@trigger)' },
|
||||
@:{ min: @(@rule.Min), max: @(@rule.Max), message: t('message.list.length') + '@(@rule.Min) - @(@rule.Max)', trigger: '@(@trigger)' },
|
||||
}else if(rule.Type=="pattern"){
|
||||
@:{ pattern: @(@rule.Pattern), message: t('message.@Model.LowerClassName.@column.LowerPropertyName'), trigger: '@(@trigger)' },
|
||||
}else if(rule.Type=="remote"){
|
||||
@:{
|
||||
@:asyncValidator: (rule, value, callback) => {
|
||||
@:if (!value) {
|
||||
@:callback(new Error("$t('message.codegen.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"));
|
||||
@:callback(new Error("$t('message.list.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"));
|
||||
@:}
|
||||
@:let param = {
|
||||
@:fieldValue: value,
|
||||
@ -301,10 +301,10 @@ const rules = ref<FormRules>({
|
||||
@:if (res.data.result) {
|
||||
@:callback();
|
||||
@:} else {
|
||||
@:callback(new Error("'@(@column.ColumnComment)'+ $t('message.codegen.disable') "));
|
||||
@:callback(new Error("'@(@column.ColumnComment)'+ $t('message.list.disable') "));
|
||||
@:}
|
||||
@:}).finally(() => {
|
||||
@:callback(new Error("$t('message.codegen.error')"));
|
||||
@:callback(new Error("$t('message.list.error')"));
|
||||
@:});
|
||||
@:}, trigger: '@(@trigger)'
|
||||
@:},
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Schlüsselwort',
|
||||
searchKeyInput: 'Bitte geben Sie das Schlüsselwort für die ungefähre Suche ein',
|
||||
search: 'Suchen',
|
||||
refresh: 'Zurücksetzen',
|
||||
zoomIn: 'Erweiterte Suche',
|
||||
zoomOut: 'Ausblenden',
|
||||
add: 'Hinzufügen',
|
||||
print: 'Drucken',
|
||||
seeFile: 'Datei anzeigen',
|
||||
noFile: 'Keine Dateien vorhanden',
|
||||
edit: 'Bearbeiten',
|
||||
delete: 'Löschen',
|
||||
number: 'Nummer',
|
||||
record: 'Änderungsprotokoll',
|
||||
action: 'Aktion',
|
||||
cancel: 'Abbrechen',
|
||||
submit: 'Bestätigen',
|
||||
expand: 'Alle ausklappen',
|
||||
fold: 'Alle einklappen',
|
||||
pleaseChoose: 'Bitte wählen Sie',
|
||||
pleaseInput: 'Bitte geben Sie ein',
|
||||
pleaseInputTitle: 'Bitte wählen Sie mindestens eine',
|
||||
error: 'Ein Fehler ist aufgetreten!',
|
||||
disable: 'Nicht verfügbar!',
|
||||
length: 'Die Länge sollte sein',
|
||||
yes: 'Ja',
|
||||
no: 'Nein',
|
||||
beginTime: 'Startzeit',
|
||||
endTime: 'Endzeit',
|
||||
tips: 'Tipp',
|
||||
confirmDelete: 'Löschen bestätigen',
|
||||
deleteSuccess: 'Erfolgreich gelöscht!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Keyword',
|
||||
searchKeyInput: 'Please enter fuzzy search keyword',
|
||||
search: 'Search',
|
||||
refresh: 'Reset',
|
||||
zoomIn: 'Advanced Search',
|
||||
zoomOut: 'Hide',
|
||||
add: 'Add',
|
||||
print: 'Print',
|
||||
seeFile: 'View File',
|
||||
noFile: 'No File',
|
||||
edit: 'Edit',
|
||||
delete: 'Delete',
|
||||
number: 'Number',
|
||||
record: 'Modification Record',
|
||||
action: 'Action',
|
||||
cancel: 'Cancel',
|
||||
submit: 'Confirm',
|
||||
expand: 'Expand All',
|
||||
fold: 'Collapse All',
|
||||
pleaseChoose: 'Please choose',
|
||||
pleaseInput: 'Please input',
|
||||
pleaseInputTitle: 'Please select at least one',
|
||||
error: 'An error occurred!',
|
||||
disable: 'Unavailable!',
|
||||
length: 'Length should be',
|
||||
yes: 'Yes',
|
||||
no: 'No',
|
||||
beginTime: 'Start Time',
|
||||
endTime: 'End Time',
|
||||
tips: 'Tips',
|
||||
confirmDelete: 'Confirm Delete',
|
||||
deleteSuccess: 'Deleted successfully!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Palabra clave',
|
||||
searchKeyInput: 'Por favor ingrese la palabra clave de búsqueda aproximada',
|
||||
search: 'Buscar',
|
||||
refresh: 'Restablecer',
|
||||
zoomIn: 'Búsqueda avanzada',
|
||||
zoomOut: 'Ocultar',
|
||||
add: 'Agregar',
|
||||
print: 'Imprimir',
|
||||
seeFile: 'Ver archivo',
|
||||
noFile: 'No hay archivos',
|
||||
edit: 'Editar',
|
||||
delete: 'Eliminar',
|
||||
number: 'Número',
|
||||
record: 'Registro de modificaciones',
|
||||
action: 'Acción',
|
||||
cancel: 'Cancelar',
|
||||
submit: 'Confirmar',
|
||||
expand: 'Expandir todo',
|
||||
fold: 'Contraer todo',
|
||||
pleaseChoose: 'Por favor seleccione',
|
||||
pleaseInput: 'Por favor ingrese',
|
||||
pleaseInputTitle: 'Por favor seleccione al menos uno',
|
||||
error: '¡Ocurrió un error!',
|
||||
disable: '¡No disponible!',
|
||||
length: 'La longitud debería ser',
|
||||
yes: 'Sí',
|
||||
no: 'No',
|
||||
beginTime: 'Hora de inicio',
|
||||
endTime: 'Hora de finalización',
|
||||
tips: 'Consejos',
|
||||
confirmDelete: 'Confirmar eliminación',
|
||||
deleteSuccess: '¡Eliminado exitosamente!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Hakusana',
|
||||
searchKeyInput: 'Syötä suoraan hakusanaa',
|
||||
search: 'Etsi',
|
||||
refresh: 'Nollaa',
|
||||
zoomIn: 'Tarkennettu haku',
|
||||
zoomOut: 'Piilota',
|
||||
add: 'Lisää',
|
||||
print: 'Tulosta',
|
||||
seeFile: 'Näytä tiedosto',
|
||||
noFile: 'Ei tiedostoja',
|
||||
edit: 'Muokkaa',
|
||||
delete: 'Poista',
|
||||
number: 'Numero',
|
||||
record: 'Muutosrekisteri',
|
||||
action: 'Toiminto',
|
||||
cancel: 'Peruuta',
|
||||
submit: 'Vahvista',
|
||||
expand: 'Laajenna kaikki',
|
||||
fold: 'Kutsu kaikki',
|
||||
pleaseChoose: 'Valitse',
|
||||
pleaseInput: 'Syötä',
|
||||
pleaseInputTitle: 'Valitse vähintään yksi',
|
||||
error: 'Virhe tapahtui!',
|
||||
disable: 'Ei käytössä!',
|
||||
length: 'Pituus devrait olla',
|
||||
yes: 'Kyllä',
|
||||
no: 'Ei',
|
||||
beginTime: 'Aloitusaika',
|
||||
endTime: 'Lopetusaika',
|
||||
tips: 'Vinkkejä',
|
||||
confirmDelete: 'Vahvista poisto',
|
||||
deleteSuccess: 'Poistettu onnistuneesti!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Mot-clé',
|
||||
searchKeyInput: 'Veuillez entrer le mot-clé de recherche approximative',
|
||||
search: 'Rechercher',
|
||||
refresh: 'Réinitialiser',
|
||||
zoomIn: 'Recherche avancée',
|
||||
zoomOut: 'Cacher',
|
||||
add: 'Ajouter',
|
||||
print: 'Imprimer',
|
||||
seeFile: 'Voir le fichier',
|
||||
noFile: 'Aucun fichier',
|
||||
edit: 'Modifier',
|
||||
delete: 'Supprimer',
|
||||
number: 'Numéro',
|
||||
record: 'Enregistrement des modifications',
|
||||
action: 'Action',
|
||||
cancel: 'Annuler',
|
||||
submit: 'Confirmer',
|
||||
expand: 'Déplier tout',
|
||||
fold: 'Replier tout',
|
||||
pleaseChoose: 'Veuillez choisir',
|
||||
pleaseInput: 'Veuillez entrer',
|
||||
pleaseInputTitle: 'Veuillez sélectionner au moins un',
|
||||
error: 'Une erreur est survenue!',
|
||||
disable: 'Indisponible!',
|
||||
length: 'La longueur devrait être',
|
||||
yes: 'Oui',
|
||||
no: 'Non',
|
||||
beginTime: 'Heure de début',
|
||||
endTime: 'Heure de fin',
|
||||
tips: 'Conseils',
|
||||
confirmDelete: 'Confirmer la suppression',
|
||||
deleteSuccess: 'Supprimé avec succès!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Kata kunci',
|
||||
searchKeyInput: 'Silakan masukkan kata kunci pencarian kabur',
|
||||
search: 'Cari',
|
||||
refresh: 'Reset',
|
||||
zoomIn: 'Pencarian lanjutan',
|
||||
zoomOut: 'Sembunyikan',
|
||||
add: 'Tambah',
|
||||
print: 'Cetak',
|
||||
seeFile: 'Lihat file',
|
||||
noFile: 'Tidak ada file',
|
||||
edit: 'Edit',
|
||||
delete: 'Hapus',
|
||||
number: 'Nomor',
|
||||
record: 'Rekam perubahan',
|
||||
action: 'Aksi',
|
||||
cancel: 'Batal',
|
||||
submit: 'Konfirmasi',
|
||||
expand: 'Perluas semua',
|
||||
fold: 'Lipat semua',
|
||||
pleaseChoose: 'Silakan pilih',
|
||||
pleaseInput: 'Silakan masukkan',
|
||||
pleaseInputTitle: 'Silakan pilih setidaknya satu',
|
||||
error: 'Terjadi kesalahan!',
|
||||
disable: 'Tidak tersedia!',
|
||||
length: 'Panjangnya harus',
|
||||
yes: 'Ya',
|
||||
no: 'Tidak',
|
||||
beginTime: 'Waktu mulai',
|
||||
endTime: 'Waktu berakhir',
|
||||
tips: 'Tips',
|
||||
confirmDelete: 'Konfirmasi penghapusan',
|
||||
deleteSuccess: 'Berhasil dihapus!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Parola chiave',
|
||||
searchKeyInput: 'Inserisci la parola chiave di ricerca approssimativa',
|
||||
search: 'Cerca',
|
||||
refresh: 'Ripristina',
|
||||
zoomIn: 'Ricerca avanzata',
|
||||
zoomOut: 'Nascondi',
|
||||
add: 'Aggiungi',
|
||||
print: 'Stampa',
|
||||
seeFile: 'Visualizza file',
|
||||
noFile: 'Nessun file',
|
||||
edit: 'Modifica',
|
||||
delete: 'Elimina',
|
||||
number: 'Numero',
|
||||
record: 'Registro modifiche',
|
||||
action: 'Azione',
|
||||
cancel: 'Annulla',
|
||||
submit: 'Conferma',
|
||||
expand: 'Espandi tutto',
|
||||
fold: 'Comprimi tutto',
|
||||
pleaseChoose: 'Si prega di scegliere',
|
||||
pleaseInput: 'Si prega di inserire',
|
||||
pleaseInputTitle: 'Si prega di selezionare almeno uno',
|
||||
error: 'Si è verificato un errore!',
|
||||
disable: 'Non disponibile!',
|
||||
length: 'La lunghezza dovrebbe essere',
|
||||
yes: 'Sì',
|
||||
no: 'No',
|
||||
beginTime: 'Ora di inizio',
|
||||
endTime: 'Ora di fine',
|
||||
tips: 'Suggerimenti',
|
||||
confirmDelete: 'Conferma eliminazione',
|
||||
deleteSuccess: 'Eliminato con successo!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'キーワード',
|
||||
searchKeyInput: 'あいまい検索キーワードを入力してください',
|
||||
search: '検索',
|
||||
refresh: 'リセット',
|
||||
zoomIn: '詳細検索',
|
||||
zoomOut: '非表示',
|
||||
add: '追加',
|
||||
print: '印刷',
|
||||
seeFile: 'ファイルを表示',
|
||||
noFile: 'ファイルがありません',
|
||||
edit: '編集',
|
||||
delete: '削除',
|
||||
number: '番号',
|
||||
record: '変更記録',
|
||||
action: '操作',
|
||||
cancel: 'キャンセル',
|
||||
submit: '確定',
|
||||
expand: 'すべて展開',
|
||||
fold: 'すべて折りたたむ',
|
||||
pleaseChoose: '選択してください',
|
||||
pleaseInput: '入力してください',
|
||||
pleaseInputTitle: '少なくとも1つ選択してください',
|
||||
error: 'エラーが発生しました!',
|
||||
disable: '利用不可!',
|
||||
length: '長さは次の通りです',
|
||||
yes: 'はい',
|
||||
no: 'いいえ',
|
||||
beginTime: '開始時間',
|
||||
endTime: '終了時間',
|
||||
tips: 'ヒント',
|
||||
confirmDelete: '削除を確認',
|
||||
deleteSuccess: '正常に削除されました!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: '키워드',
|
||||
searchKeyInput: '대략적인 검색 키워드를 입력하세요',
|
||||
search: '검색',
|
||||
refresh: '초기화',
|
||||
zoomIn: '고급 검색',
|
||||
zoomOut: '숨기기',
|
||||
add: '추가',
|
||||
print: '인쇄',
|
||||
seeFile: '파일 보기',
|
||||
noFile: '파일 없음',
|
||||
edit: '편집',
|
||||
delete: '삭제',
|
||||
number: '번호',
|
||||
record: '수정 기록',
|
||||
action: '작업',
|
||||
cancel: '취소',
|
||||
submit: '확인',
|
||||
expand: '모두 확장',
|
||||
fold: '모두 접기',
|
||||
pleaseChoose: '선택해주세요',
|
||||
pleaseInput: '입력해주세요',
|
||||
pleaseInputTitle: '적어도 하나 선택해주세요',
|
||||
error: '오류가 발생했습니다!',
|
||||
disable: '사용 불가!',
|
||||
length: '길이는 다음과 같아야 합니다',
|
||||
yes: '예',
|
||||
no: '아니오',
|
||||
beginTime: '시작 시간',
|
||||
endTime: '종료 시간',
|
||||
tips: '팁',
|
||||
confirmDelete: '삭제 확인',
|
||||
deleteSuccess: '성공적으로 삭제되었습니다!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Kata kunci',
|
||||
searchKeyInput: 'Sila masukkan kata kunci carian kabur',
|
||||
search: 'Cari',
|
||||
refresh: 'Tetap semula',
|
||||
zoomIn: 'Carian lanjutan',
|
||||
zoomOut: 'Sembunyikan',
|
||||
add: 'Tambah',
|
||||
print: 'Cetak',
|
||||
seeFile: 'Lihat fail',
|
||||
noFile: 'Tiada fail',
|
||||
edit: 'Edit',
|
||||
delete: 'Padam',
|
||||
number: 'Nombor',
|
||||
record: 'Rekod pengubahan',
|
||||
action: 'Tindakan',
|
||||
cancel: 'Batal',
|
||||
submit: 'Sahkan',
|
||||
expand: 'Kembangkan semua',
|
||||
fold: 'Lipat semua',
|
||||
pleaseChoose: 'Sila pilih',
|
||||
pleaseInput: 'Sila masukkan',
|
||||
pleaseInputTitle: 'Sila pilih sekurang-kurangnya satu',
|
||||
error: 'Ralat berlaku!',
|
||||
disable: 'Tidak boleh digunakan!',
|
||||
length: 'Panjangnya sepatutnya',
|
||||
yes: 'Ya',
|
||||
no: 'Tidak',
|
||||
beginTime: 'Masa mula',
|
||||
endTime: 'Masa tamat',
|
||||
tips: 'Petua',
|
||||
confirmDelete: 'Sahkan padam',
|
||||
deleteSuccess: 'Berjaya dipadam!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Nøkkelord',
|
||||
searchKeyInput: 'Vennligst angi søkenøkkelord',
|
||||
search: 'Søk',
|
||||
refresh: 'Tilbakestill',
|
||||
zoomIn: 'Avansert søk',
|
||||
zoomOut: 'Skjul',
|
||||
add: 'Legg til',
|
||||
print: 'Skriv ut',
|
||||
seeFile: 'Se fil',
|
||||
noFile: 'Ingen fil',
|
||||
edit: 'Rediger',
|
||||
delete: 'Slett',
|
||||
number: 'Nummer',
|
||||
record: 'Endringslogg',
|
||||
action: 'Handling',
|
||||
cancel: 'Avbryt',
|
||||
submit: 'Bekreft',
|
||||
expand: 'Utvid alle',
|
||||
fold: 'Skjul alle',
|
||||
pleaseChoose: 'Velg',
|
||||
pleaseInput: 'Skriv inn',
|
||||
pleaseInputTitle: 'Velg minst én',
|
||||
error: 'En feil oppstod!',
|
||||
disable: 'Ikke tilgjengelig!',
|
||||
length: 'Lengden bør være',
|
||||
yes: 'Ja',
|
||||
no: 'Nei',
|
||||
beginTime: 'Starttid',
|
||||
endTime: 'Sluttid',
|
||||
tips: 'Tips',
|
||||
confirmDelete: 'Bekreft sletting',
|
||||
deleteSuccess: 'Slettet vellykket!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Słowo kluczowe',
|
||||
searchKeyInput: 'Proszę wprowadzić słowo kluczowe wyszukiwania nieprecyzyjnego',
|
||||
search: 'Szukaj',
|
||||
refresh: 'Resetuj',
|
||||
zoomIn: 'Zaawansowane wyszukiwanie',
|
||||
zoomOut: 'Ukryj',
|
||||
add: 'Dodaj',
|
||||
print: 'Drukuj',
|
||||
seeFile: 'Pokaż plik',
|
||||
noFile: 'Brak pliku',
|
||||
edit: 'Edytuj',
|
||||
delete: 'Usuń',
|
||||
number: 'Numer',
|
||||
record: 'Rejestr zmian',
|
||||
action: 'Akcja',
|
||||
cancel: 'Anuluj',
|
||||
submit: 'Potwierdź',
|
||||
expand: 'Rozwiń wszystkie',
|
||||
fold: 'Zwiń wszystkie',
|
||||
pleaseChoose: 'Proszę wybrać',
|
||||
pleaseInput: 'Proszę wprowadzić',
|
||||
pleaseInputTitle: 'Proszę wybrać co najmniej jeden',
|
||||
error: 'Wystąpił błąd!',
|
||||
disable: 'Nie dostępne!',
|
||||
length: 'Długość powinna wynosić',
|
||||
yes: 'Tak',
|
||||
no: 'Nie',
|
||||
beginTime: 'Czas rozpoczęcia',
|
||||
endTime: 'Czas zakończenia',
|
||||
tips: 'Wskazówki',
|
||||
confirmDelete: 'Potwierdź usunięcie',
|
||||
deleteSuccess: 'Usunięto pomyślnie!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Palavra-chave',
|
||||
searchKeyInput: 'Por favor, insira a palavra-chave de busca aproximada',
|
||||
search: 'Pesquisar',
|
||||
refresh: 'Redefinir',
|
||||
zoomIn: 'Pesquisa avançada',
|
||||
zoomOut: 'Ocultar',
|
||||
add: 'Adicionar',
|
||||
print: 'Imprimir',
|
||||
seeFile: 'Ver arquivo',
|
||||
noFile: 'Nenhum arquivo',
|
||||
edit: 'Editar',
|
||||
delete: 'Excluir',
|
||||
number: 'Número',
|
||||
record: 'Registro de alterações',
|
||||
action: 'Ação',
|
||||
cancel: 'Cancelar',
|
||||
submit: 'Confirmar',
|
||||
expand: 'Expandir tudo',
|
||||
fold: 'Recolher tudo',
|
||||
pleaseChoose: 'Por favor, escolha',
|
||||
pleaseInput: 'Por favor, insira',
|
||||
pleaseInputTitle: 'Por favor, selecione pelo menos um',
|
||||
error: 'Ocorreu um erro!',
|
||||
disable: 'Indisponível!',
|
||||
length: 'O comprimento deve ser',
|
||||
yes: 'Sim',
|
||||
no: 'Não',
|
||||
beginTime: 'Hora de início',
|
||||
endTime: 'Hora de término',
|
||||
tips: 'Dicas',
|
||||
confirmDelete: 'Confirmar exclusão',
|
||||
deleteSuccess: 'Excluído com sucesso!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'Ключевое слово',
|
||||
searchKeyInput: 'Пожалуйста, введите ключевое слово для нечеткого поиска',
|
||||
search: 'Поиск',
|
||||
refresh: 'Сбросить',
|
||||
zoomIn: 'Расширенный поиск',
|
||||
zoomOut: 'Скрыть',
|
||||
add: 'Добавить',
|
||||
print: 'Печать',
|
||||
seeFile: 'Просмотреть файл',
|
||||
noFile: 'Файл не найден',
|
||||
edit: 'Редактировать',
|
||||
delete: 'Удалить',
|
||||
number: 'Номер',
|
||||
record: 'Запись изменений',
|
||||
action: 'Действие',
|
||||
cancel: 'Отменить',
|
||||
submit: 'Подтвердить',
|
||||
expand: 'Развернуть все',
|
||||
fold: 'Свернуть все',
|
||||
pleaseChoose: 'Пожалуйста, выберите',
|
||||
pleaseInput: 'Пожалуйста, введите',
|
||||
pleaseInputTitle: 'Пожалуйста, выберите хотя бы один',
|
||||
error: 'Произошла ошибка!',
|
||||
disable: 'Недоступно!',
|
||||
length: 'Длина должна быть',
|
||||
yes: 'Да',
|
||||
no: 'Нет',
|
||||
beginTime: 'Время начала',
|
||||
endTime: 'Время окончания',
|
||||
tips: 'Советы',
|
||||
confirmDelete: 'Подтвердить удаление',
|
||||
deleteSuccess: 'Успешно удалено!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: 'คีย์เวิร์ด',
|
||||
searchKeyInput: 'โปรดป้อนคีย์เวิร์ดการค้นหาที่คลุมเครือ',
|
||||
search: 'ค้นหา',
|
||||
refresh: 'รีเซ็ต',
|
||||
zoomIn: 'ค้นหาเพิ่มเติม',
|
||||
zoomOut: 'ซ่อน',
|
||||
add: 'เพิ่ม',
|
||||
print: 'พิมพ์',
|
||||
seeFile: 'ดูไฟล์',
|
||||
noFile: 'ไม่มีไฟล์',
|
||||
edit: 'แก้ไข',
|
||||
delete: 'ลบ',
|
||||
number: 'หมายเลข',
|
||||
record: 'บันทึกการแก้ไข',
|
||||
action: 'การกระทำ',
|
||||
cancel: 'ยกเลิก',
|
||||
submit: 'ยืนยัน',
|
||||
expand: 'ขยายทั้งหมด',
|
||||
fold: 'พับทั้งหมด',
|
||||
pleaseChoose: 'โปรดเลือก',
|
||||
pleaseInput: 'โปรดป้อน',
|
||||
pleaseInputTitle: 'โปรดเลือกอย่างน้อยหนึ่งรายการ',
|
||||
error: 'เกิดข้อผิดพลาด!',
|
||||
disable: 'ไม่พร้อมใช้งาน!',
|
||||
length: 'ความยาวควรเป็น',
|
||||
yes: 'ใช่',
|
||||
no: 'ไม่',
|
||||
beginTime: 'เวลาเริ่มต้น',
|
||||
endTime: 'เวลาสิ้นสุด',
|
||||
tips: 'เคล็ดลับ',
|
||||
confirmDelete: 'ยืนยันการลบ',
|
||||
deleteSuccess: 'ลบสำเร็จ!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: '关键字',
|
||||
searchKeyInput: '请输入模糊查询关键字迎',
|
||||
search: '查询',
|
||||
refresh: '重置',
|
||||
zoomIn: '高级查询',
|
||||
zoomOut: '隐藏',
|
||||
add: '新增',
|
||||
print: '打印',
|
||||
seeFile: '查看文件',
|
||||
noFile: '暂无文件',
|
||||
edit: '编辑',
|
||||
delete: '删除',
|
||||
number: '序号',
|
||||
record: '修改记录',
|
||||
action: '操作',
|
||||
cancel: '取 消',
|
||||
submit: '确 定',
|
||||
expand: '全部展开',
|
||||
fold: '全部折叠',
|
||||
pleaseChoose: '请选择 ',
|
||||
pleaseInput: '请输入 ',
|
||||
pleaseInputTitle: '请选择至少一种 ',
|
||||
error: '发生错误了!',
|
||||
disable: '不可用!',
|
||||
length: '长度应该是 ',
|
||||
yes: '是',
|
||||
no: '否',
|
||||
beginTime: '开始时间 ',
|
||||
endTime: '结束时间 ',
|
||||
tips: '提示',
|
||||
confirmDelete : '确定删除 ',
|
||||
deleteSuccess: '删除成功!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: '關鍵字',
|
||||
searchKeyInput: '請輸入模糊查詢關鍵字',
|
||||
search: '查詢',
|
||||
refresh: '重置',
|
||||
zoomIn: '高級查詢',
|
||||
zoomOut: '隱藏',
|
||||
add: '新增',
|
||||
print: '打印',
|
||||
seeFile: '查看文件',
|
||||
noFile: '暫無文件',
|
||||
edit: '編輯',
|
||||
delete: '刪除',
|
||||
number: '序號',
|
||||
record: '修改記錄',
|
||||
action: '操作',
|
||||
cancel: '取消',
|
||||
submit: '確定',
|
||||
expand: '全部展開',
|
||||
fold: '全部摺疊',
|
||||
pleaseChoose: '請選擇',
|
||||
pleaseInput: '請輸入',
|
||||
pleaseInputTitle: '請選擇至少一種',
|
||||
error: '發生錯誤了!',
|
||||
disable: '不可用!',
|
||||
length: '長度應該是',
|
||||
yes: '是',
|
||||
no: '否',
|
||||
beginTime: '開始時間',
|
||||
endTime: '結束時間',
|
||||
tips: '提示',
|
||||
confirmDelete: '確定刪除',
|
||||
deleteSuccess: '刪除成功!',
|
||||
},
|
||||
};
|
||||
@ -1,36 +0,0 @@
|
||||
export default {
|
||||
codegen: {
|
||||
searchKey: '關鍵字',
|
||||
searchKeyInput: '請輸入模糊查詢關鍵字',
|
||||
search: '查詢',
|
||||
refresh: '重置',
|
||||
zoomIn: '高級查詢',
|
||||
zoomOut: '隱藏',
|
||||
add: '新增',
|
||||
print: '列印',
|
||||
seeFile: '查看檔案',
|
||||
noFile: '暫無檔案',
|
||||
edit: '編輯',
|
||||
delete: '刪除',
|
||||
number: '序號',
|
||||
record: '修改記錄',
|
||||
action: '操作',
|
||||
cancel: '取消',
|
||||
submit: '確定',
|
||||
expand: '全部展開',
|
||||
fold: '全部摺疊',
|
||||
pleaseChoose: '請選擇',
|
||||
pleaseInput: '請輸入',
|
||||
pleaseInputTitle: '請選擇至少一種',
|
||||
error: '發生錯誤了!',
|
||||
disable: '不可用!',
|
||||
length: '長度應該是',
|
||||
yes: '是',
|
||||
no: '否',
|
||||
beginTime: '開始時間',
|
||||
endTime: '結束時間',
|
||||
tips: '提示',
|
||||
confirmDelete: '確定刪除',
|
||||
deleteSuccess: '刪除成功!',
|
||||
},
|
||||
};
|
||||
@ -355,5 +355,37 @@ export default {
|
||||
welcomein: 'Welcome to use Admin.NET - A general permission development framework',
|
||||
emailRequired: 'Email cannot be empty',
|
||||
emailNotMatch: 'Email must be the same as the account',
|
||||
confirmCopyRole: 'Confirm copying role: [{roleName}]?',
|
||||
authAccount: 'Authorized Account',
|
||||
successCopy: 'Copy Successful',
|
||||
sysMessage: 'System Message',
|
||||
idleTimeoutMessage: 'Long time no operation, system logged out.',
|
||||
successSave: 'Save Successful',
|
||||
searchKey: 'Keyword',
|
||||
searchKeyInput: 'Please enter fuzzy search keyword',
|
||||
search: 'Search',
|
||||
zoomIn: 'Advanced Search',
|
||||
zoomOut: 'Hide',
|
||||
seeFile: 'View File',
|
||||
noFile: 'No Files Available',
|
||||
number: 'Serial Number',
|
||||
action: 'Action',
|
||||
cancel: 'Cancel',
|
||||
submit: 'Confirm',
|
||||
expand: 'Expand All',
|
||||
fold: 'Collapse All',
|
||||
pleaseChoose: 'Please select ',
|
||||
pleaseInput: 'Please enter ',
|
||||
pleaseInputTitle: 'Please select at least one ',
|
||||
error: 'An error occurred!',
|
||||
length: 'Length should be ',
|
||||
yes: 'Yes',
|
||||
no: 'No',
|
||||
beginTime: 'Start Time ',
|
||||
endTime: 'End Time ',
|
||||
tips: 'Tips',
|
||||
deleteSuccess: 'Deletion successful!',
|
||||
uploadFile: 'Drag files here, or [Click to Upload]',
|
||||
pleaseUploadFile: 'Please upload files no larger than 10MB',
|
||||
},
|
||||
};
|
||||
|
||||
@ -361,5 +361,31 @@ export default {
|
||||
sysMessage: '系统消息',
|
||||
idleTimeoutMessage: '长时间未操作,已退出系统。',
|
||||
successSave: '保存成功',
|
||||
searchKey: '关键字',
|
||||
searchKeyInput: '请输入模糊查询关键字迎',
|
||||
search: '查询',
|
||||
zoomIn: '高级查询',
|
||||
zoomOut: '隐藏',
|
||||
seeFile: '查看文件',
|
||||
noFile: '暂无文件',
|
||||
number: '序号',
|
||||
action: '操作',
|
||||
cancel: '取 消',
|
||||
submit: '确 定',
|
||||
expand: '全部展开',
|
||||
fold: '全部折叠',
|
||||
pleaseChoose: '请选择 ',
|
||||
pleaseInput: '请输入 ',
|
||||
pleaseInputTitle: '请选择至少一种 ',
|
||||
error: '发生错误了!',
|
||||
length: '长度应该是 ',
|
||||
yes: '是',
|
||||
no: '否',
|
||||
beginTime: '开始时间 ',
|
||||
endTime: '结束时间 ',
|
||||
tips: '提示',
|
||||
deleteSuccess: '删除成功!',
|
||||
uploadFile: '将文件拖到此处,或【点击上传】',
|
||||
pleaseUploadFile: '请上传大小不超过 10MB 的文件',
|
||||
},
|
||||
};
|
||||
|
||||
@ -86,9 +86,9 @@
|
||||
<el-icon class="el-icon--upload">
|
||||
<ele-UploadFilled />
|
||||
</el-icon>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<div class="el-upload__text">{{ $t('message.list.uploadFile') }}</div>
|
||||
<template #tip>
|
||||
<div class="el-upload__tip">请上传大小不超过 10MB 的文件</div>
|
||||
<div class="el-upload__tip">{{ $t('message.list.pleaseUploadFile') }}</div>
|
||||
</template>
|
||||
</el-upload>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user