mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
i18n: 用户与租户新增多语言配置
This commit is contained in:
@ -59,13 +59,13 @@ const {
|
||||
},
|
||||
{
|
||||
key: 'packageName',
|
||||
title: '套餐名称',
|
||||
title: $t('page.system.tenantPackage.packageName'),
|
||||
align: 'center',
|
||||
minWidth: 120
|
||||
},
|
||||
{
|
||||
key: 'status',
|
||||
title: '状态',
|
||||
title: $t('page.system.tenantPackage.status'),
|
||||
align: 'center',
|
||||
minWidth: 120,
|
||||
render: row => {
|
||||
@ -80,7 +80,7 @@ const {
|
||||
},
|
||||
{
|
||||
key: 'remark',
|
||||
title: '备注',
|
||||
title: $t('page.system.tenantPackage.remark'),
|
||||
align: 'center',
|
||||
minWidth: 120
|
||||
},
|
||||
@ -162,7 +162,11 @@ function edit(packageId: CommonType.IdType) {
|
||||
}
|
||||
|
||||
function handleExport() {
|
||||
download('/system/tenant/package/export', searchParams, `租户套餐_${new Date().getTime()}.xlsx`);
|
||||
download(
|
||||
'/system/tenant/package/export',
|
||||
searchParams,
|
||||
`${$t('page.system.tenantPackage.title')}_${new Date().getTime()}.xlsx`
|
||||
);
|
||||
}
|
||||
|
||||
/** 处理状态切换 */
|
||||
@ -179,7 +183,7 @@ async function handleStatusChange(
|
||||
callback(!error);
|
||||
|
||||
if (!error) {
|
||||
window.$message?.success('状态修改成功');
|
||||
window.$message?.success($t('page.system.tenantPackage.statusChangeSuccess'));
|
||||
getData();
|
||||
}
|
||||
}
|
||||
@ -188,7 +192,12 @@ async function handleStatusChange(
|
||||
<template>
|
||||
<div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
|
||||
<TenantPackageSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" />
|
||||
<NCard title="租户套餐列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
|
||||
<NCard
|
||||
:title="$t('page.system.tenantPackage.title')"
|
||||
:bordered="false"
|
||||
size="small"
|
||||
class="sm:flex-1-hidden card-wrapper"
|
||||
>
|
||||
<template #header-extra>
|
||||
<TableHeaderOperation
|
||||
v-model:columns="columnChecks"
|
||||
|
@ -41,8 +41,8 @@ const { createRequiredRule } = useFormRules();
|
||||
|
||||
const title = computed(() => {
|
||||
const titles: Record<NaiveUI.TableOperateType, string> = {
|
||||
add: '新增租户套餐',
|
||||
edit: '编辑租户套餐'
|
||||
add: $t('page.system.tenantPackage.addTenantPackage'),
|
||||
edit: $t('page.system.tenantPackage.editTenantPackage')
|
||||
};
|
||||
return titles[props.operateType];
|
||||
});
|
||||
@ -63,8 +63,8 @@ function createDefaultModel(): Model {
|
||||
type RuleKey = Extract<keyof Model, 'packageId' | 'packageName'>;
|
||||
|
||||
const rules: Record<RuleKey, App.Global.FormRule> = {
|
||||
packageId: createRequiredRule('租户套餐id不能为空'),
|
||||
packageName: createRequiredRule('租户套餐名称不能为空')
|
||||
packageId: createRequiredRule($t('page.system.tenantPackage.form.packageName.invalid')),
|
||||
packageName: createRequiredRule($t('page.system.tenantPackage.form.packageName.required'))
|
||||
};
|
||||
|
||||
async function handleUpdateModelWhenEdit() {
|
||||
@ -113,7 +113,7 @@ async function handleSubmit() {
|
||||
if (error) return;
|
||||
}
|
||||
|
||||
window.$message?.success($t('common.updateSuccess'));
|
||||
window.$message?.success($t('common.saveSuccess'));
|
||||
closeDrawer();
|
||||
emit('submitted');
|
||||
}
|
||||
@ -130,10 +130,13 @@ watch(visible, () => {
|
||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="800" class="max-w-90%">
|
||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||
<NForm ref="formRef" :model="model" :rules="rules">
|
||||
<NFormItem label="套餐名称" path="packageName">
|
||||
<NInput v-model:value="model.packageName" placeholder="请输入套餐名称" />
|
||||
<NFormItem :label="$t('page.system.tenantPackage.packageName')" path="packageName">
|
||||
<NInput
|
||||
v-model:value="model.packageName"
|
||||
:placeholder="$t('page.system.tenantPackage.form.packageName.required')"
|
||||
/>
|
||||
</NFormItem>
|
||||
<NFormItem label="关联菜单" path="menuIds">
|
||||
<NFormItem :label="$t('page.system.tenantPackage.menuIds')" path="menuIds">
|
||||
<MenuTree
|
||||
ref="menuTreeRef"
|
||||
v-model:value="model.menuIds"
|
||||
@ -143,8 +146,12 @@ watch(visible, () => {
|
||||
:immediate="operateType === 'add'"
|
||||
/>
|
||||
</NFormItem>
|
||||
<NFormItem label="备注" path="remark">
|
||||
<NInput v-model:value="model.remark" placeholder="请输入备注" type="textarea" />
|
||||
<NFormItem :label="$t('page.system.tenantPackage.remark')" path="remark">
|
||||
<NInput
|
||||
v-model:value="model.remark"
|
||||
:placeholder="$t('page.system.tenantPackage.form.remark.required')"
|
||||
type="textarea"
|
||||
/>
|
||||
</NFormItem>
|
||||
</NForm>
|
||||
<template #footer>
|
||||
|
@ -38,13 +38,21 @@ async function search() {
|
||||
<NCollapseItem :title="$t('common.search')" name="user-search">
|
||||
<NForm ref="formRef" :model="model" label-placement="left" :label-width="80">
|
||||
<NGrid responsive="screen" item-responsive>
|
||||
<NFormItemGi span="8" label="套餐名称" path="packageName" class="pr-24px">
|
||||
<NInput v-model:value="model.packageName" placeholder="请输入套餐名称" />
|
||||
<NFormItemGi
|
||||
span="8"
|
||||
:label="$t('page.system.tenantPackage.packageName')"
|
||||
path="packageName"
|
||||
class="pr-24px"
|
||||
>
|
||||
<NInput
|
||||
v-model:value="model.packageName"
|
||||
:placeholder="$t('page.system.tenantPackage.form.packageName.required')"
|
||||
/>
|
||||
</NFormItemGi>
|
||||
<NFormItemGi span="8" label="状态" path="status" class="pr-24px">
|
||||
<NFormItemGi span="8" :label="$t('page.system.tenantPackage.status')" path="status" class="pr-24px">
|
||||
<NSelect
|
||||
v-model:value="model.status"
|
||||
placeholder="请选择状态"
|
||||
:placeholder="$t('page.system.tenantPackage.form.status.required')"
|
||||
:options="sysNormalDisableOptions"
|
||||
clearable
|
||||
/>
|
||||
|
Reference in New Issue
Block a user