7
7
label-width =" 80px"
8
8
v-loading =" formLoading"
9
9
>
10
- <el-row >
11
- <el-col :span =" 10" >
12
- <el-form-item label =" 租户名" prop =" name" >
13
- <el-input v-model =" formData.name" placeholder =" 请输入租户名" />
14
- </el-form-item >
15
- </el-col >
16
- <el-col :span =" 10" :offset =" 2" >
17
- <el-form-item label =" 租户套餐" prop =" packageId" >
18
- <el-select v-model =" formData.packageId" placeholder =" 请选择租户套餐" clearable >
19
- <el-option
20
- v-for =" item in packageList"
21
- :key =" item.id"
22
- :label =" item.name"
23
- :value =" item.id"
24
- />
25
- </el-select >
26
- </el-form-item >
27
- </el-col >
28
- </el-row >
29
- <el-row >
30
- <el-col :span =" 10" >
31
- <el-form-item label =" 联系人" prop =" contactName" >
32
- <el-input v-model =" formData.contactName" placeholder =" 请输入联系人" />
33
- </el-form-item >
34
- </el-col >
35
- <el-col :span =" 10" :offset =" 2" >
36
- <el-form-item label =" 联系手机" prop =" contactMobile" >
37
- <el-input v-model =" formData.contactMobile" placeholder =" 请输入联系手机" />
38
- </el-form-item >
39
- </el-col >
40
- </el-row >
41
- <el-row >
42
- <el-col :span =" 10" >
43
- <el-form-item v-if =" formData.id === undefined" label =" 用户名称" prop =" username" >
44
- <el-input v-model =" formData.username" placeholder =" 请输入用户名称" />
45
- </el-form-item >
46
- </el-col >
47
- <el-col :span =" 10" :offset =" 2" >
48
- <el-form-item v-if =" formData.id === undefined" label =" 用户密码" prop =" password" >
49
- <el-input
50
- v-model =" formData.password"
51
- placeholder =" 请输入用户密码"
52
- type =" password"
53
- show-password
54
- />
55
- </el-form-item >
56
- </el-col >
57
- </el-row >
58
- <el-row >
59
- <el-col :span =" 10" >
60
- <el-form-item label =" 账号额度" prop =" accountCount" >
61
- <el-input-number
62
- v-model =" formData.accountCount"
63
- placeholder =" 请输入账号额度"
64
- controls-position =" right"
65
- :min =" 0"
66
- />
67
- </el-form-item >
68
- </el-col >
69
- <el-col :span =" 10" :offset =" 2" >
70
- <el-form-item label =" 过期时间" prop =" expireTime" >
71
- <el-date-picker
72
- clearable
73
- v-model =" formData.expireTime"
74
- type =" date"
75
- value-format =" x"
76
- placeholder =" 请选择过期时间"
77
- />
78
- </el-form-item >
79
- </el-col >
80
- </el-row >
81
- <el-row >
82
- <el-col :span =" 10" >
83
- <el-form-item label =" 绑定域名" prop =" domain" >
84
- <el-input v-model =" formData.domain" placeholder =" 请输入绑定域名" />
85
- </el-form-item >
86
- </el-col >
87
- <el-col :span =" 10" :offset =" 2" >
88
- <el-form-item label =" 租户状态" prop =" status" >
89
- <el-radio-group v-model =" formData.status" >
90
- <el-radio
91
- v-for =" dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
92
- :key =" dict.value"
93
- :label =" dict.value"
94
- >{{ dict.label }}
95
- </el-radio >
96
- </el-radio-group >
97
- </el-form-item >
98
- </el-col >
99
- </el-row >
10
+ <el-form-item label =" 租户名" prop =" name" >
11
+ <el-input v-model =" formData.name" placeholder =" 请输入租户名" />
12
+ </el-form-item >
13
+ <el-form-item label =" 租户套餐" prop =" packageId" >
14
+ <el-select v-model =" formData.packageId" placeholder =" 请选择租户套餐" clearable >
15
+ <el-option
16
+ v-for =" item in packageList"
17
+ :key =" item.id"
18
+ :label =" item.name"
19
+ :value =" item.id"
20
+ />
21
+ </el-select >
22
+ </el-form-item >
23
+ <el-form-item label =" 联系人" prop =" contactName" >
24
+ <el-input v-model =" formData.contactName" placeholder =" 请输入联系人" />
25
+ </el-form-item >
26
+ <el-form-item label =" 联系手机" prop =" contactMobile" >
27
+ <el-input v-model =" formData.contactMobile" placeholder =" 请输入联系手机" />
28
+ </el-form-item >
29
+ <el-form-item v-if =" formData.id === undefined" label =" 用户名称" prop =" username" >
30
+ <el-input v-model =" formData.username" placeholder =" 请输入用户名称" />
31
+ </el-form-item >
32
+ <el-form-item v-if =" formData.id === undefined" label =" 用户密码" prop =" password" >
33
+ <el-input
34
+ v-model =" formData.password"
35
+ placeholder =" 请输入用户密码"
36
+ type =" password"
37
+ show-password
38
+ />
39
+ </el-form-item >
40
+ <el-form-item label =" 账号额度" prop =" accountCount" >
41
+ <el-input-number
42
+ v-model =" formData.accountCount"
43
+ placeholder =" 请输入账号额度"
44
+ controls-position =" right"
45
+ :min =" 0"
46
+ />
47
+ </el-form-item >
48
+ <el-form-item label =" 过期时间" prop =" expireTime" >
49
+ <el-date-picker
50
+ clearable
51
+ v-model =" formData.expireTime"
52
+ type =" date"
53
+ value-format =" x"
54
+ placeholder =" 请选择过期时间"
55
+ />
56
+ </el-form-item >
57
+ <el-form-item label =" 绑定域名" prop =" domain" >
58
+ <el-input v-model =" formData.domain" placeholder =" 请输入绑定域名" />
59
+ </el-form-item >
60
+ <el-form-item label =" 租户状态" prop =" status" >
61
+ <el-radio-group v-model =" formData.status" >
62
+ <el-radio
63
+ v-for =" dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
64
+ :key =" dict.value"
65
+ :label =" dict.value"
66
+ >
67
+ {{ dict.label }}
68
+ </el-radio >
69
+ </el-radio-group >
70
+ </el-form-item >
100
71
</el-form >
101
72
<template #footer >
102
73
<div class =" dialog-footer" >
110
81
import { DICT_TYPE , getIntDictOptions } from ' @/utils/dict'
111
82
import * as TenantApi from ' @/api/system/tenant'
112
83
import { CommonStatusEnum } from ' @/utils/constants'
113
- import { getTenantPackageList as getTenantPackageListApi } from ' @/api/system/tenantPackage'
84
+ import * as TenantPackageApi from ' @/api/system/tenantPackage'
114
85
115
86
const { t } = useI18n () // 国际化
116
87
const message = useMessage () // 消息弹窗
@@ -142,7 +113,7 @@ const formRef = ref() // 表单 Ref
142
113
const packageList = ref ([]) // 租户套餐
143
114
144
115
/** 打开弹窗 */
145
- const openModal = async (type : string , id ? : number ) => {
116
+ const open = async (type : string , id ? : number ) => {
146
117
modelVisible .value = true
147
118
modelTitle .value = t (' action.' + type )
148
119
formType .value = type
@@ -151,14 +122,15 @@ const openModal = async (type: string, id?: number) => {
151
122
if (id ) {
152
123
formLoading .value = true
153
124
try {
154
- formData .value = await TenantApi .getTenantApi (id )
125
+ formData .value = await TenantApi .getTenant (id )
155
126
} finally {
156
127
formLoading .value = false
157
128
}
158
129
}
159
- packageList .value = await getTenantPackageListApi ()
130
+ // 加载套餐列表
131
+ packageList .value = await TenantPackageApi .getTenantPackageList ()
160
132
}
161
- defineExpose ({ openModal }) // 提供 openModal 方法,用于打开弹窗
133
+ defineExpose ({ open }) // 提供 open 方法,用于打开弹窗
162
134
163
135
/** 提交表单 */
164
136
const emit = defineEmits ([' success' ]) // 定义 success 事件,用于操作成功后的回调
@@ -172,10 +144,10 @@ const submitForm = async () => {
172
144
try {
173
145
const data = formData .value as unknown as TenantApi .TenantVO
174
146
if (formType .value === ' create' ) {
175
- await TenantApi .createTenantApi (data )
147
+ await TenantApi .createTenant (data )
176
148
message .success (t (' common.createSuccess' ))
177
149
} else {
178
- await TenantApi .updateTenantApi (data )
150
+ await TenantApi .updateTenant (data )
179
151
message .success (t (' common.updateSuccess' ))
180
152
}
181
153
modelVisible .value = false
0 commit comments