Procházet zdrojové kódy

feat:【system 系统管理】租户管理时,支持填写多个域名 websites

YunaiV před 5 měsíci
rodič
revize
1a92b97797

+ 1 - 0
src/api/system/tenant/index.ts

@@ -12,6 +12,7 @@ export interface TenantVO {
   password: string
   expireTime: Date
   accountCount: number
+  websites: string[]
   createTime: Date
 }
 

+ 9 - 6
src/views/system/tenant/TenantForm.vue

@@ -54,8 +54,12 @@
           value-format="x"
         />
       </el-form-item>
-      <el-form-item label="绑定域名" prop="website">
-        <el-input v-model="formData.website" placeholder="请输入绑定域名" />
+      <el-form-item label="绑定域名" prop="websites">
+        <el-input-tag
+          v-model="formData.websites"
+          placeholder="请输入绑定域名,按回车添加"
+          class="w-full"
+        />
       </el-form-item>
       <el-form-item label="租户状态" prop="status">
         <el-radio-group v-model="formData.status">
@@ -97,7 +101,7 @@ const formData = ref({
   contactMobile: undefined,
   accountCount: undefined,
   expireTime: undefined,
-  website: undefined,
+  websites: [],
   status: CommonStatusEnum.ENABLE,
   // 新增专属
   username: undefined,
@@ -105,12 +109,11 @@ const formData = ref({
 })
 const formRules = reactive({
   name: [{ required: true, message: '租户名不能为空', trigger: 'blur' }],
-  packageId: [{ required: true, message: '租户套不能为空', trigger: 'blur' }],
+  packageId: [{ required: true, message: '租户套���不能为空', trigger: 'blur' }],
   contactName: [{ required: true, message: '联系人不能为空', trigger: 'blur' }],
   status: [{ required: true, message: '租户状态不能为空', trigger: 'blur' }],
   accountCount: [{ required: true, message: '账号额度不能为空', trigger: 'blur' }],
   expireTime: [{ required: true, message: '过期时间不能为空', trigger: 'blur' }],
-  website: [{ required: true, message: '绑定域名不能为空', trigger: 'blur' }],
   username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
   password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }]
 })
@@ -173,7 +176,7 @@ const resetForm = () => {
     contactMobile: undefined,
     accountCount: undefined,
     expireTime: undefined,
-    website: undefined,
+    websites: [],
     status: CommonStatusEnum.ENABLE,
     username: undefined,
     password: undefined

+ 8 - 1
src/views/system/tenant/index.vue

@@ -136,7 +136,14 @@
         width="180"
         :formatter="dateFormatter"
       />
-      <el-table-column label="绑定域名" align="center" prop="website" width="180" />
+      <el-table-column label="绑定域名" align="center" prop="websites" width="180">
+        <template #default="scope">
+          <el-tag v-for="website in scope.row.websites || []" :key="website" class="mr-1 mb-1">
+            {{ website }}
+          </el-tag>
+          <span v-if="!scope.row.websites || scope.row.websites.length === 0">-</span>
+        </template>
+      </el-table-column>
       <el-table-column label="租户状态" align="center" prop="status">
         <template #default="scope">
           <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />