diff --git a/apps/web-antd/src/api/system/tenant/index.ts b/apps/web-antd/src/api/system/tenant/index.ts
index c18a4dfa..6ee52e1d 100644
--- a/apps/web-antd/src/api/system/tenant/index.ts
+++ b/apps/web-antd/src/api/system/tenant/index.ts
@@ -12,7 +12,7 @@ export namespace SystemTenantApi {
contactMobile: string;
accountCount: number;
expireTime: Date;
- website: string;
+ websites: string[];
status: number;
}
}
diff --git a/apps/web-antd/src/views/system/tenant/data.ts b/apps/web-antd/src/views/system/tenant/data.ts
index cdc5e2c6..e9f36376 100644
--- a/apps/web-antd/src/views/system/tenant/data.ts
+++ b/apps/web-antd/src/views/system/tenant/data.ts
@@ -90,9 +90,13 @@ export function useFormSchema(): VbenFormSchema[] {
},
{
label: '绑定域名',
- fieldName: 'website',
- component: 'Input',
- rules: 'required',
+ fieldName: 'websites',
+ component: 'Textarea',
+ componentProps: {
+ placeholder: '请输入绑定域名,多个域名请换行分隔',
+ rows: 3,
+ allowClear: true,
+ },
},
{
fieldName: 'status',
@@ -195,7 +199,7 @@ export function useGridColumns(
formatter: 'formatDateTime',
},
{
- field: 'website',
+ field: 'websites',
title: '绑定域名',
},
{
diff --git a/apps/web-antd/src/views/system/tenant/modules/form.vue b/apps/web-antd/src/views/system/tenant/modules/form.vue
index 1f9b3bef..b7924b04 100644
--- a/apps/web-antd/src/views/system/tenant/modules/form.vue
+++ b/apps/web-antd/src/views/system/tenant/modules/form.vue
@@ -42,7 +42,16 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
// 提交表单
- const data = (await formApi.getValues()) as SystemTenantApi.Tenant;
+ const formValues = (await formApi.getValues()) as SystemTenantApi.Tenant & {
+ websites: string;
+ };
+ // 将换行符分隔的字符串转换为数组
+ const data: SystemTenantApi.Tenant = {
+ ...formValues,
+ websites: formValues.websites
+ ? formValues.websites.split('\n').filter((item) => item.trim())
+ : [],
+ };
try {
await (formData.value ? updateTenant(data) : createTenant(data));
// 关闭并提示
@@ -66,8 +75,15 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock();
try {
formData.value = await getTenant(data.id as number);
+ // 将数组转换为换行符分隔的字符串
+ const formValues = {
+ ...formData.value,
+ websites: Array.isArray(formData.value.websites)
+ ? formData.value.websites.join('\n')
+ : formData.value.websites || '',
+ };
// 设置到 values
- await formApi.setValues(formData.value);
+ await formApi.setValues(formValues);
} finally {
modalApi.unlock();
}
@@ -75,7 +91,7 @@ const [Modal, modalApi] = useVbenModal({
});
-
+
diff --git a/apps/web-ele/src/api/system/tenant/index.ts b/apps/web-ele/src/api/system/tenant/index.ts
index c18a4dfa..6ee52e1d 100644
--- a/apps/web-ele/src/api/system/tenant/index.ts
+++ b/apps/web-ele/src/api/system/tenant/index.ts
@@ -12,7 +12,7 @@ export namespace SystemTenantApi {
contactMobile: string;
accountCount: number;
expireTime: Date;
- website: string;
+ websites: string[];
status: number;
}
}
diff --git a/apps/web-ele/src/views/system/tenant/data.ts b/apps/web-ele/src/views/system/tenant/data.ts
index 8facb2a2..2e5f6832 100644
--- a/apps/web-ele/src/views/system/tenant/data.ts
+++ b/apps/web-ele/src/views/system/tenant/data.ts
@@ -95,9 +95,13 @@ export function useFormSchema(): VbenFormSchema[] {
},
{
label: '绑定域名',
- fieldName: 'website',
- component: 'Input',
- rules: 'required',
+ fieldName: 'websites',
+ component: 'Textarea',
+ componentProps: {
+ placeholder: '请输入绑定域名,多个域名请换行分隔',
+ rows: 3,
+ allowClear: true,
+ },
},
{
fieldName: 'status',
@@ -211,7 +215,7 @@ export function useGridColumns(
formatter: 'formatDateTime',
},
{
- field: 'website',
+ field: 'websites',
title: '绑定域名',
minWidth: 180,
},
diff --git a/apps/web-ele/src/views/system/tenant/modules/form.vue b/apps/web-ele/src/views/system/tenant/modules/form.vue
index 3e787306..61092dba 100644
--- a/apps/web-ele/src/views/system/tenant/modules/form.vue
+++ b/apps/web-ele/src/views/system/tenant/modules/form.vue
@@ -42,7 +42,16 @@ const [Modal, modalApi] = useVbenModal({
}
modalApi.lock();
// 提交表单
- const data = (await formApi.getValues()) as SystemTenantApi.Tenant;
+ const formValues = (await formApi.getValues()) as SystemTenantApi.Tenant & {
+ websites: string;
+ };
+ // 将换行符分隔的字符串转换为数组
+ const data: SystemTenantApi.Tenant = {
+ ...formValues,
+ websites: formValues.websites
+ ? formValues.websites.split('\n').filter((item) => item.trim())
+ : [],
+ };
try {
await (formData.value ? updateTenant(data) : createTenant(data));
// 关闭并提示
@@ -66,8 +75,15 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock();
try {
formData.value = await getTenant(data.id as number);
+ // 将数组转换为换行符分隔的字符串
+ const formValues = {
+ ...formData.value,
+ websites: Array.isArray(formData.value.websites)
+ ? formData.value.websites.join('\n')
+ : formData.value.websites || '',
+ };
// 设置到 values
- await formApi.setValues(formData.value);
+ await formApi.setValues(formValues);
} finally {
modalApi.unlock();
}
@@ -75,7 +91,7 @@ const [Modal, modalApi] = useVbenModal({
});
-
+