代码生成器支持多语言版本,默认只生成中文,其他可以通过AI生成
This commit is contained in:
parent
a68da25ed0
commit
5f042b6177
@ -24,7 +24,7 @@ public class SysCodeGenTemplateSeedData : ISqlSugarEntitySeedData<SysCodeGenTemp
|
||||
""Name"": ""web_api.ts.vm"",
|
||||
""Type"": 1,
|
||||
""SysFlag"": 1,
|
||||
""IsDefault"": true,
|
||||
""IsDefault"": false,
|
||||
""OutputFile"": ""api/{PagePath}/{TableNameLower}.ts"",
|
||||
""Describe"": ""(WEB)接口请求"",
|
||||
""OrderNo"": 100,
|
||||
@ -240,7 +240,24 @@ public class SysCodeGenTemplateSeedData : ISqlSugarEntitySeedData<SysCodeGenTemp
|
||||
""UpdateUserName"": null,
|
||||
""IsDelete"": false,
|
||||
""Id"": 1300000000215
|
||||
}
|
||||
},
|
||||
{
|
||||
""Name"": ""web_views_language.ts.vm"",
|
||||
""Type"": 1,
|
||||
""SysFlag"": 1,
|
||||
""IsDefault"": true,
|
||||
""OutputFile"": ""i18n/pages/{TableNameLower}/zh-CN.ts"",
|
||||
""Describe"": ""(WEB)多语言模板,默认数据库中文备注,其他语言自己用AI替换"",
|
||||
""OrderNo"": 100,
|
||||
""CreateTime"": ""1900-01-01 00:00:00"",
|
||||
""UpdateTime"": ""2025-01-13 23:02:29"",
|
||||
""CreateUserId"": null,
|
||||
""CreateUserName"": null,
|
||||
""UpdateUserId"": null,
|
||||
""UpdateUserName"": null,
|
||||
""IsDelete"": false,
|
||||
""Id"": 1300000000216
|
||||
},
|
||||
]
|
||||
";
|
||||
var records = JSON.Deserialize<List<SysCodeGenTemplate>>(recordList);
|
||||
|
||||
@ -23,54 +23,54 @@
|
||||
<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="关键字" prop="searchKey">
|
||||
<el-input v-model="state.queryParams.searchKey" placeholder="请输入模糊查询关键字" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<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>
|
||||
</el-col>
|
||||
foreach (var column in Model.QueryWhetherList) {
|
||||
if(@column.EffectType == "Input" || @column.EffectType == "InputTextArea") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-input v-model="state.queryParams.@(@column.LowerPropertyName)" placeholder="@column.ColumnComment" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-input v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
} 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="@column.ColumnComment">
|
||||
<el-input-number v-model="state.queryParams.@(@column.LowerPropertyName)" placeholder="请输入@(@column.ColumnComment)" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<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-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="@column.ColumnComment">
|
||||
<el-select filterable="" v-model="state.queryParams.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)" clearable>
|
||||
<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-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>
|
||||
</el-col>
|
||||
} 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="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable placeholder="请选择@(@column.ColumnComment)" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<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-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>
|
||||
</el-col>
|
||||
} 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="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable placeholder="请选择@(@column.ColumnComment)" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<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-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>
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "ApiTreeSelector") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-cascader
|
||||
@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
||||
@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
||||
placeholder="请选择@(column.ColumnComment)"
|
||||
:placeholder="$t('message.codegen.pleaseChoose')+ $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
clearable=""
|
||||
class="w100"
|
||||
v-model="state.queryParams.@(@column.LowerPropertyName)"
|
||||
@ -84,11 +84,11 @@
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "DatePicker") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<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="开始日期" end-placeholder="结束日期" :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.codegen.beginTime')" :end-placeholder="$t('message.codegen.endTime')" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" />
|
||||
} else {
|
||||
@:<el-date-picker placeholder="请选择@(@column.ColumnComment)" value-format="YYYY/MM/DD" v-model="state.queryParams.@(@column.LowerPropertyName)" />
|
||||
@:<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-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"> 查询 </el-button>
|
||||
<el-button icon="ele-Refresh" @@click="resetQuery" :loading="options.loading"> 重置 </el-button>
|
||||
<el-button icon="ele-ZoomIn" @@click="changeAdvanceQueryUI" v-if="!state.showAdvanceQueryUI" style="margin-left: 5px"> 高级查询 </el-button>
|
||||
<el-button icon="ele-ZoomOut" @@click="changeAdvanceQueryUI" v-if="state.showAdvanceQueryUI" style="margin-left: 5px"> 隐藏 </el-button>
|
||||
<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-group>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -115,7 +115,7 @@
|
||||
<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'"> 新增 </el-button>
|
||||
<el-button type="primary" icon="ele-Plus" @@click="handleAdd" v-auth="'@(@Model.LowerClassName)/add'"> {{ $t('message.codegen.add') }} </el-button>
|
||||
</template>
|
||||
<template #toolbar_tools> </template>
|
||||
<template #empty>
|
||||
@ -132,7 +132,7 @@
|
||||
@::height="60"
|
||||
@:trigger="hover">
|
||||
@:<template #reference>
|
||||
@:<el-tag>查看文件</el-tag>
|
||||
@:<el-tag>{{ $t('message.codegen.seeFile') }}</el-tag>
|
||||
@:</template>
|
||||
@:<template #default>
|
||||
@:<el-image
|
||||
@ -144,7 +144,7 @@
|
||||
@:preview-teleported=""/>
|
||||
@:</template>
|
||||
@:</el-popover>
|
||||
@:<el-tag v-else type="info">暂无文件</el-tag>
|
||||
@:<el-tag v-else type="info">{{ $t('message.codegen.noFile') }}</el-tag>
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "ForeignKey") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@ -156,8 +156,8 @@
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "Switch") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@:<el-tag v-if="row.@(@column.LowerPropertyName)"> 是 </el-tag>
|
||||
@:<el-tag type="danger" v-else> 否 </el-tag>
|
||||
@:<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>
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "ConstSelector") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@ -169,7 +169,7 @@
|
||||
@:</template>
|
||||
} else if(@column.EffectType == "EnumSelector") {
|
||||
@:<template #row_@(@column.LowerPropertyName)="{ row }">
|
||||
@:<el-tag :type="dc('@(@column.DictTypeCode)', row.@(@column.LowerPropertyName))?.tagType"> {{dc('@(@column.DictTypeCode)', row.@column.LowerPropertyName)?.label}}</el-tag>
|
||||
@:<el-tag :type="dv('@(@column.DictTypeCode)', row.@(@column.LowerPropertyName))?.tagType"> {{dv('@(@column.DictTypeCode)', row.@column.LowerPropertyName)?.name}}</el-tag>
|
||||
@:</template>
|
||||
}
|
||||
}
|
||||
@ -183,10 +183,10 @@
|
||||
<el-button icon="ele-Printer" size="small" text type="primary" @@click="handlePrint(row)" v-auth="'@(@Model.LowerClassName)/print'" />
|
||||
</el-tooltip>
|
||||
}
|
||||
<el-tooltip content="编辑" placement="top">
|
||||
<el-tooltip :content="$t('message.codegen.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="删除" placement="top">
|
||||
<el-tooltip :content="$t('message.codegen.delete')" placement="top">
|
||||
<el-button icon="ele-Delete" size="small" text type="danger" @@click="handleDelete(row)" v-auth="'@(@Model.LowerClassName)/delete'" />
|
||||
</el-tooltip>
|
||||
</template>
|
||||
@ -208,6 +208,7 @@ import { Local } from '/@@/utils/storage';
|
||||
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';
|
||||
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "DatePicker")){
|
||||
@:// 日历控件
|
||||
@ -217,8 +218,8 @@ import ModifyRecord from '/@@/components/table/modifyRecord.vue';
|
||||
@if(@Model.PrintType != "off"){
|
||||
@://打印控件
|
||||
@:import { hiprint } from 'vue-plugin-hiprint';
|
||||
@:import { SysPrintApi } from '/@@/api-monkey/api';
|
||||
@:import { SysPrint } from '/@@/api-monkey/models';
|
||||
@:import { SysPrintApi } from '/@@/api-services/api';
|
||||
@:import { SysPrint } from '/@@/api-services/models';
|
||||
@:import PrintDialog from '/@@/views/system/print/component/hiprint/preview.vue';
|
||||
}
|
||||
|
||||
@ -241,6 +242,7 @@ foreach (var column in Model.QueryWhetherList){
|
||||
}
|
||||
|
||||
//基础变量
|
||||
const { t } = useI18n();
|
||||
const xGrid = ref<VxeGridInstance>();
|
||||
const editDialogRef = ref<InstanceType<typeof EditDialog>>();
|
||||
const userStore = useUserInfo();
|
||||
@ -304,39 +306,39 @@ const checkTableColumnVisible = (tableColumnName: any) => {
|
||||
}
|
||||
{
|
||||
id: '@(@Model.ClassName)',
|
||||
name: '@(@Model.BusName)',
|
||||
name: t('message.@Model.LowerClassName.@Model.LowerClassName'),
|
||||
columns: [
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ type: 'seq', title: t('message.codegen.number'), width: 60, fixed: 'left' },
|
||||
@foreach (var column in Model.TableField) {
|
||||
var whethersortable =column.WhetherSortable == "Y" ? "sortable: true" : "sortable: false";
|
||||
if(@column.WhetherTable == "Y") {
|
||||
if(@column.EffectType == "Upload" || @column.EffectType == "ForeignKey" || @column.EffectType == "ApiTreeSelector" || @column.EffectType == "Switch" || @column.EffectType == "ConstSelector") {
|
||||
if(@column.EffectType == "Upload") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
} else if(@column.EffectType == "ForeignKey") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
} else if(@column.EffectType == "ApiTreeSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
} else if(@column.EffectType == "Switch") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
} else if(@column.EffectType == "ConstSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
}
|
||||
} else if(@column.EffectType == "DictSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
} else if(@column.EffectType == "EnumSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' }, @whethersortable },
|
||||
} else if(@column.EffectType == "DatePicker") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', formatter: ({ cellValue }) => cellValue==null?'':formatDate(new Date(cellValue), 'YYYY-mm-dd HH:MM:SS'), @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', formatter: ({ cellValue }) => cellValue==null?'':formatDate(new Date(cellValue), 'YYYY-mm-dd HH:MM:SS'), @whethersortable },
|
||||
} else {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', @whethersortable},
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', @whethersortable},
|
||||
}
|
||||
}
|
||||
}
|
||||
@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: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
@:{ field: 'record', title: t('message.codegen.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
}
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: t('message.codegen.action'), fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
@if(@Model.TableField.Any(x=>x.Statistical == "Y")){
|
||||
@:footerMethod: ({ columns, data }) => {
|
||||
@ -436,7 +438,7 @@ const resetQuery = async () => {
|
||||
|
||||
// 打开新增页面
|
||||
const handleAdd = () => {
|
||||
state.title = '添加@(@Model.BusName)';
|
||||
state.title = t('message.codegen.add')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
let data = {
|
||||
@foreach (var column in Model.TableField){
|
||||
if(@column.WhetherAddUpdate == "Y"&&@column.DefaultValue!=null){
|
||||
@ -454,14 +456,14 @@ const handleAdd = () => {
|
||||
|
||||
// 打开编辑页面
|
||||
const handleEdit = (row: any) => {
|
||||
state.title = '编辑@(@Model.BusName)';
|
||||
state.title = t('message.codegen.edit')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
editDialogRef.value?.openDialog(row);
|
||||
};
|
||||
|
||||
@if(@Model.PrintType != "off") {
|
||||
@:// 打开打印页面
|
||||
@:const handlePrint = async (row: any) => {
|
||||
@:state.title = '打印@(@Model.BusName)';
|
||||
@:state.title = t('message.codegen.print')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
@if(@Model.PrintType != "off"){
|
||||
if (@Model.IsApiService) {
|
||||
@:var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('@Model.PrintName');
|
||||
@ -484,9 +486,9 @@ const handleEdit = (row: any) => {
|
||||
|
||||
// 删除
|
||||
const handleDelete = (row: any) => {
|
||||
ElMessageBox.confirm(`确定删除@(@Model.BusName):【${row.id}】?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
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'),
|
||||
type: 'warning',
|
||||
}).then(async () => {
|
||||
@if (@Model.IsApiService) {
|
||||
@ -495,7 +497,7 @@ const handleDelete = (row: any) => {
|
||||
@:await delete@(@Model.ClassName)(row);
|
||||
}
|
||||
await handleQuery();
|
||||
ElMessage.success('删除成功');
|
||||
ElMessage.success(t('message.codegen.deleteSuccess'));
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
@ -23,54 +23,54 @@
|
||||
<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="关键字" prop="searchKey">
|
||||
<el-input v-model="state.queryParams.searchKey" placeholder="请输入模糊查询关键字" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<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>
|
||||
</el-col>
|
||||
foreach (var column in Model.QueryWhetherList) {
|
||||
if(@column.EffectType == "Input" || @column.EffectType == "InputTextArea") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-input v-model="state.queryParams.@(@column.LowerPropertyName)" placeholder="@column.ColumnComment" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-input v-model="state.queryParams.@(@column.LowerPropertyName)" :placeholder="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
} 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="@column.ColumnComment">
|
||||
<el-input-number v-model="state.queryParams.@(@column.LowerPropertyName)" placeholder="请输入@(@column.ColumnComment)" clearable @@keyup.enter.native="handleQuery(true)" />
|
||||
<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-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="@column.ColumnComment">
|
||||
<el-select filterable="" v-model="state.queryParams.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)" clearable>
|
||||
<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-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>
|
||||
</el-col>
|
||||
} 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="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable placeholder="请选择@(@column.ColumnComment)" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<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-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>
|
||||
</el-col>
|
||||
} 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="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable placeholder="请选择@(@column.ColumnComment)" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<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-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>
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "ApiTreeSelector") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-cascader
|
||||
@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
||||
@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
||||
placeholder="请选择@(column.ColumnComment)"
|
||||
:placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
clearable=""
|
||||
class="w100"
|
||||
v-model="state.queryParams.@(@column.LowerPropertyName)"
|
||||
@ -84,11 +84,11 @@
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "DatePicker") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<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="开始日期" end-placeholder="结束日期" :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.codegen.beginTime')" :end-placeholder="$t('message.codegen.endTime')" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" />
|
||||
} else {
|
||||
@:<el-date-picker placeholder="请选择@(@column.ColumnComment)" value-format="YYYY/MM/DD" v-model="state.queryParams.@(@column.LowerPropertyName)" />
|
||||
@:<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-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"> 查询 </el-button>
|
||||
<el-button icon="ele-Refresh" @@click="resetQuery" :loading="options.loading"> 重置 </el-button>
|
||||
<el-button icon="ele-ZoomIn" @@click="changeAdvanceQueryUI" v-if="!state.showAdvanceQueryUI" style="margin-left: 5px"> 高级查询 </el-button>
|
||||
<el-button icon="ele-ZoomOut" @@click="changeAdvanceQueryUI" v-if="state.showAdvanceQueryUI" style="margin-left: 5px"> 隐藏 </el-button>
|
||||
<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-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'"> 新增 </el-button>
|
||||
<el-button type="primary" icon="ele-Plus" @@click="handleAdd" v-auth="'@(@Model.LowerClassName)/add'"> {{ $t('message.codegen.add') }} </el-button>
|
||||
<el-button-group style="padding-left: 12px">
|
||||
<el-button type="primary" icon="ele-Expand" @@click="handleExpand"> 全部展开 </el-button>
|
||||
<el-button type="primary" icon="ele-Fold" @@click="handleFold"> 全部折叠 </el-button>
|
||||
<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-group>
|
||||
</template>
|
||||
<template #toolbar_tools> </template>
|
||||
@ -137,7 +137,7 @@
|
||||
@::height="60"
|
||||
@:trigger="hover">
|
||||
@:<template #reference>
|
||||
@:<el-tag>查看文件</el-tag>
|
||||
@:<el-tag>{{ $t('message.codegen.seeFile') }}</el-tag>
|
||||
@:</template>
|
||||
@:<template #default>
|
||||
@:<el-image
|
||||
@ -149,7 +149,7 @@
|
||||
@:preview-teleported=""/>
|
||||
@:</template>
|
||||
@:</el-popover>
|
||||
@:<el-tag v-else type="info">暂无文件</el-tag>
|
||||
@:<el-tag v-else type="info">{{ $t('message.codegen.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)"> 是 </el-tag>
|
||||
@:<el-tag type="danger" v-else> 否 </el-tag>
|
||||
@:<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>
|
||||
@:</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="编辑" placement="top">
|
||||
<el-tooltip :content="$t('message.codegen.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="删除" placement="top">
|
||||
<el-tooltip :content="$t('message.codegen.delete')" placement="top">
|
||||
<el-button icon="ele-Delete" size="small" text type="danger" @@click="handleDelete(row)" v-auth="'@(@Model.LowerClassName)/delete'" />
|
||||
</el-tooltip>
|
||||
</template>
|
||||
@ -212,6 +212,7 @@ import { useVxeTable } from '/@@/hooks/useVxeTableOptionsHook';
|
||||
import { Local } from '/@@/utils/storage';
|
||||
import EditDialog from '/@@/views/@(@Model.PagePath)/@(@Model.LowerClassName)/component/edit.vue';
|
||||
import ModifyRecord from '/@@/components/table/modifyRecord.vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "DatePicker")){
|
||||
@://日期控件
|
||||
@ -243,6 +244,7 @@ foreach (var column in Model.QueryWhetherList){
|
||||
}
|
||||
}
|
||||
// 子窗口对象
|
||||
const { t } = useI18n();
|
||||
const xGrid = ref<VxeGridInstance>();
|
||||
const editDialogRef = ref<InstanceType<typeof EditDialog>>();
|
||||
const userStore = useUserInfo();
|
||||
@ -301,40 +303,40 @@ const checkTableColumnVisible = (tableColumnName: any) => {
|
||||
}
|
||||
{
|
||||
id: '@(@Model.ClassName)',
|
||||
name: '@(@Model.BusName)',
|
||||
name: t('message.@Model.LowerClassName.@Model.LowerClassName'),
|
||||
columns: [
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ type: 'seq', title: t('message.codegen.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'" : "";
|
||||
if(@column.WhetherTable == "Y") {
|
||||
if(@column.EffectType == "Upload" || @column.EffectType == "ForeignKey" || @column.EffectType == "ApiTreeSelector" || @column.EffectType == "Switch" || @column.EffectType == "ConstSelector") {
|
||||
if(@column.EffectType == "Upload") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
} else if(@column.EffectType == "ForeignKey") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
} else if(@column.EffectType == "ApiTreeSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
} else if(@column.EffectType == "Switch") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
} else if(@column.EffectType == "ConstSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
}
|
||||
} else if(@column.EffectType == "DictSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
} else if(@column.EffectType == "EnumSelector") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_@column.LowerPropertyName' } @treetable, @whethersortable },
|
||||
} else if(@column.EffectType == "DatePicker") {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip', formatter: ({ cellValue }) => formatDate(new Date(cellValue), 'YYYY-mm-dd HH:MM:SS'), @whethersortable },
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip', formatter: ({ cellValue }) => formatDate(new Date(cellValue), 'YYYY-mm-dd HH:MM:SS'), @whethersortable },
|
||||
} else {
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: '@column.ColumnComment', minWidth: 100, showOverflow: 'tooltip' @treetable, @whethersortable},
|
||||
@:{ visible: checkTableColumnVisible('@(@Model.LowerClassName):@(@column.LowerPropertyName)'), field: '@column.LowerPropertyName', title: t('message.@Model.LowerClassName.@column.LowerPropertyName'), minWidth: 100, showOverflow: 'tooltip' @treetable, @whethersortable},
|
||||
}
|
||||
}
|
||||
}
|
||||
@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: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
@:{ field: 'record',title: t('message.codegen.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
}
|
||||
{ field: 'buttons',title: '操作', fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons',title: t('message.codegen.action'), fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
@ -411,7 +413,7 @@ const resetQuery = async () => {
|
||||
|
||||
// 打开新增页面
|
||||
const handleAdd = () => {
|
||||
state.title = '添加@(@Model.BusName)';
|
||||
state.title = t('message.codegen.add')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
let data = {
|
||||
[state.key]: state.val,
|
||||
@foreach (var column in Model.TableField){
|
||||
@ -430,14 +432,14 @@ const handleAdd = () => {
|
||||
|
||||
// 打开编辑页面
|
||||
const handleEdit = (row: any) => {
|
||||
state.title = '编辑@(@Model.BusName)';
|
||||
state.title = t('message.codegen.edit')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
editDialogRef.value?.openDialog(row);
|
||||
};
|
||||
|
||||
@if(@Model.PrintType != "off") {
|
||||
@:// 打开打印页面
|
||||
@:const handlePrint = async (row: any) => {
|
||||
@:state.title = '打印@(@Model.BusName)';
|
||||
@:state.title = t('message.codegen.print')+t('message.@Model.LowerClassName.@Model.LowerClassName') ;
|
||||
@if(@Model.PrintType != "off"){
|
||||
if (@Model.IsApiService) {
|
||||
@:var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('@Model.PrintName');
|
||||
@ -460,9 +462,9 @@ const handleEdit = (row: any) => {
|
||||
|
||||
// 删除
|
||||
const handleDelete = (row: any) => {
|
||||
ElMessageBox.confirm(`确定删除@(@Model.BusName):【${row.id}】?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
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'),
|
||||
type: 'warning',
|
||||
}).then(async () => {
|
||||
@if (@Model.IsApiService) {
|
||||
@ -471,7 +473,7 @@ const handleDelete = (row: any) => {
|
||||
@:await delete@(@Model.ClassName)(row);
|
||||
}
|
||||
await handleQuery();
|
||||
ElMessage.success('删除成功');
|
||||
ElMessage.success(t('message.codegen.deleteSuccess'));
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
@ -33,8 +33,8 @@
|
||||
if (@column.WhetherAddUpdate == "Y"){
|
||||
if(@column.EffectType == "ForeignKey"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable filterable v-model="state.ruleForm.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)">
|
||||
@:<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')">
|
||||
@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" />
|
||||
}
|
||||
@ -49,11 +49,11 @@
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "ApiTreeSelector"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
<el-cascader
|
||||
@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
||||
@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
||||
placeholder="请选择@(column.ColumnComment)"
|
||||
:placeholder="$t('message.codegen.pleaseChoose') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"
|
||||
clearable=""
|
||||
class="w100"
|
||||
v-model="state.ruleForm.@(@column.LowerPropertyName)"
|
||||
@ -67,20 +67,20 @@
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "Input"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-input v-model="state.ruleForm.@(@column.LowerPropertyName)" autocomplete="new-password" placeholder="请输入@(@column.ColumnComment)" maxlength="@(@column.ColumnLength)" show-word-limit clearable />
|
||||
@:<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-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="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-input-number v-model="state.ruleForm.@(@column.LowerPropertyName)" placeholder="请输入@(@column.ColumnComment)" clearable />
|
||||
@:<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-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="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-input v-model="state.ruleForm.@(@column.LowerPropertyName)" autocomplete="new-password" placeholder="请输入@(@column.ColumnComment)" type="textarea"
|
||||
@:<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"
|
||||
@if(@column.ColumnLength>0){
|
||||
@:maxlength="@(@column.ColumnLength)"
|
||||
}
|
||||
@ -89,23 +89,23 @@
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "DictSelector"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)">
|
||||
@:<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-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>
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "ConstSelector"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)">
|
||||
@:<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-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>
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "Switch"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-switch v-model="state.ruleForm.@(@column.LowerPropertyName)"
|
||||
@if(@column.NetType.StartsWith("int")){
|
||||
@::active-value="1" :inactive-value="0"
|
||||
@ -113,18 +113,18 @@
|
||||
@if(@column.NetType.StartsWith("string")){
|
||||
@:active-value="1" inactive-value="0"
|
||||
}
|
||||
@:active-text="是" inactive-text="否" />
|
||||
@::active-text="$t('message.codegen.yes')" :inactive-text="$t('message.codegen.no')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "DatePicker"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-date-picker v-model="state.ruleForm.@(@column.LowerPropertyName)" type="date" placeholder="@(@column.ColumnComment)" />
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-date-picker v-model="state.ruleForm.@(@column.LowerPropertyName)" type="date" :placeholder="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "Upload"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-upload
|
||||
@:list-type="picture-card"
|
||||
@::show-file-list="false"
|
||||
@ -140,8 +140,8 @@
|
||||
</el-col>
|
||||
}else if(@column.EffectType == "EnumSelector"){
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable v-model="state.ruleForm.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)">
|
||||
@:<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-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>
|
||||
@ -149,7 +149,7 @@
|
||||
}else if(@column.EffectType == "RichTextEditor"){
|
||||
//HJ:添加富文本插件
|
||||
@:<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-form-item :label="$t('message.@Model.LowerClassName.@column.LowerPropertyName')" prop="@(@column.LowerPropertyName)">
|
||||
@:<Editor v-model:get-html="state.ruleForm.@(@column.LowerPropertyName)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -162,8 +162,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button icon="ele-CircleCloseFilled" @@click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @@click="submit">确 定</el-button>
|
||||
<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>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -175,6 +175,7 @@ import { ref,onMounted, reactive } from "vue";
|
||||
import { ElMessage } from "element-plus";
|
||||
import type { FormRules } from "element-plus";
|
||||
import { useUserInfo } from '/@@/stores/userInfo';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "RichTextEditor")){
|
||||
@://HJ:添加富文本插件
|
||||
@ -241,6 +242,7 @@ var props = defineProps({
|
||||
});
|
||||
// 父级传递来的函数,用于回调
|
||||
const emit = defineEmits(["reloadTable"]);
|
||||
const { t } = useI18n();
|
||||
const ruleFormRef = ref();
|
||||
const state = reactive({
|
||||
isShowDialog: false,
|
||||
@ -270,7 +272,6 @@ const state = reactive({
|
||||
const rules = ref<FormRules>({
|
||||
@foreach (var column in Model.TableField){
|
||||
if(@column.WhetherAddUpdate == "Y"){
|
||||
string triggerTip="请输入";
|
||||
@if(@column.AnyRule){
|
||||
@:@column.LowerPropertyName: [
|
||||
@foreach(var rule in @column.RuleItems){
|
||||
@ -279,18 +280,18 @@ const rules = ref<FormRules>({
|
||||
trigger="change";
|
||||
}
|
||||
if(rule.Type=="required"){
|
||||
@:{required: true, message: '@(@triggerTip)@(@column.ColumnComment)!', trigger: '@(@trigger)',},
|
||||
@:{required: true, message:t('message.codegen.pleaseInputTitle') +t('message.@Model.LowerClassName.@column.LowerPropertyName'), trigger: '@(@trigger)',},
|
||||
}else if(rule.Type=="array"){
|
||||
@:{ type: 'array', required: true, message: '请选择至少一种@(@column.ColumnComment)', trigger: 'change', },
|
||||
@:{ type: 'array', required: true, message:"$t('message.codegen.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: '长度应该是@(@rule.Min)到@(@rule.Max)', trigger: '@(@trigger)' },
|
||||
@:{ min: @(@rule.Min), max: @(@rule.Max), message: t('message.codegen.length') + '@(@rule.Min) - @(@rule.Max)', trigger: '@(@trigger)' },
|
||||
}else if(rule.Type=="pattern"){
|
||||
@:{ pattern: @(@rule.Pattern), message: '@(@column.ColumnComment)', trigger: '@(@trigger)' },
|
||||
@:{ 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("请输入@(@column.ColumnComment)"));
|
||||
@:callback(new Error("$t('message.codegen.pleaseInput') + $t('message.@Model.LowerClassName.@column.LowerPropertyName')"));
|
||||
@:}
|
||||
@:let param = {
|
||||
@:fieldValue: value,
|
||||
@ -300,10 +301,10 @@ const rules = ref<FormRules>({
|
||||
@:if (res.data.result) {
|
||||
@:callback();
|
||||
@:} else {
|
||||
@:callback(new Error("@(@column.ColumnComment)不可用"));
|
||||
@:callback(new Error("'@(@column.ColumnComment)'+ $t('message.codegen.disable') "));
|
||||
@:}
|
||||
@:}).finally(() => {
|
||||
@:callback(new Error("发生错误了!"));
|
||||
@:callback(new Error("$t('message.codegen.error')"));
|
||||
@:});
|
||||
@:}, trigger: '@(@trigger)'
|
||||
@:},
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
export default {
|
||||
@Model.LowerClassName: {
|
||||
@Model.LowerClassName: '@Model.BusName',
|
||||
@foreach (var column in Model.TableField) {
|
||||
@:@column.LowerPropertyName: '@column.ColumnComment',
|
||||
}
|
||||
},
|
||||
menu: {
|
||||
@Model.LowerClassName: '@Model.BusName',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/de.ts
Normal file
36
Web/src/i18n/pages/codegen/de.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/en.ts
Normal file
36
Web/src/i18n/pages/codegen/en.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/es.ts
Normal file
36
Web/src/i18n/pages/codegen/es.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/fi.ts
Normal file
36
Web/src/i18n/pages/codegen/fi.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/fr.ts
Normal file
36
Web/src/i18n/pages/codegen/fr.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/id.ts
Normal file
36
Web/src/i18n/pages/codegen/id.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/it.ts
Normal file
36
Web/src/i18n/pages/codegen/it.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/ja.ts
Normal file
36
Web/src/i18n/pages/codegen/ja.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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: '正常に削除されました!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/ko.ts
Normal file
36
Web/src/i18n/pages/codegen/ko.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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: '성공적으로 삭제되었습니다!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/ms.ts
Normal file
36
Web/src/i18n/pages/codegen/ms.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/no.ts
Normal file
36
Web/src/i18n/pages/codegen/no.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/pl.ts
Normal file
36
Web/src/i18n/pages/codegen/pl.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/pt.ts
Normal file
36
Web/src/i18n/pages/codegen/pt.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/ru.ts
Normal file
36
Web/src/i18n/pages/codegen/ru.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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: 'Успешно удалено!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/th.ts
Normal file
36
Web/src/i18n/pages/codegen/th.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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: 'ลบสำเร็จ!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/zh-CN.ts
Normal file
36
Web/src/i18n/pages/codegen/zh-CN.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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: '删除成功!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/zh-HK.ts
Normal file
36
Web/src/i18n/pages/codegen/zh-HK.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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: '刪除成功!',
|
||||
},
|
||||
};
|
||||
36
Web/src/i18n/pages/codegen/zh-TW.ts
Normal file
36
Web/src/i18n/pages/codegen/zh-TW.ts
Normal file
@ -0,0 +1,36 @@
|
||||
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: '刪除成功!',
|
||||
},
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user