浏览代码

更改租户ip异地登录逻辑更改为跟租户绑定可配置

liyanbo 1 月之前
父节点
当前提交
c4616aafed
共有 3 个文件被更改,包括 22 次插入1 次删除
  1. 1 0
      src/api/system/tenant/index.ts
  2. 14 1
      src/views/system/tenant/TenantForm.vue
  3. 7 0
      src/views/system/tenant/index.vue

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

@@ -13,6 +13,7 @@ export interface TenantVO {
   expireTime: Date
   accountCount: number
   createTime: Date
+  ipLimit?: boolean // IP限制开关
 }
 
 export interface TenantPageReqVO extends PageParam {

+ 14 - 1
src/views/system/tenant/TenantForm.vue

@@ -68,6 +68,16 @@
           </el-radio>
         </el-radio-group>
       </el-form-item>
+      <el-form-item label="IP限制" prop="ipLimit">
+        <el-switch
+          v-model="formData.ipLimit"
+          active-value="true"
+          inactive-value="false"
+          inline-prompt
+          active-text="开"
+          inactive-text="关"
+        />
+      </el-form-item>
     </el-form>
     <template #footer>
       <el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
@@ -99,6 +109,7 @@ const formData = ref({
   expireTime: undefined,
   website: undefined,
   status: CommonStatusEnum.ENABLE,
+  ipLimit: false, // IP限制开关,默认关闭
   // 新增专属
   username: undefined,
   password: undefined
@@ -112,7 +123,8 @@ const formRules = reactive({
   expireTime: [{ required: true, message: '过期时间不能为空', trigger: 'blur' }],
   website: [{ required: true, message: '绑定域名不能为空', trigger: 'blur' }],
   username: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }],
-  password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }]
+  password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }],
+  ipLimit: [] // IP限制开关,非必填
 })
 const formRef = ref() // 表单 Ref
 const packageList = ref([] as TenantPackageApi.TenantPackageVO[]) // 租户套餐
@@ -175,6 +187,7 @@ const resetForm = () => {
     expireTime: undefined,
     website: undefined,
     status: CommonStatusEnum.ENABLE,
+    ipLimit: false, // IP限制开关,默认关闭
     username: undefined,
     password: undefined
   }

+ 7 - 0
src/views/system/tenant/index.vue

@@ -130,6 +130,13 @@
           <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
         </template>
       </el-table-column>
+      <el-table-column label="IP限制" align="center" prop="ipLimit" width="100">
+        <template #default="scope">
+          <el-tag :type="scope.row.ipLimit === 'true' ? 'success' : 'danger'">
+            {{ scope.row.ipLimit === 'true' ? '开' : '关' }}
+          </el-tag>
+        </template>
+      </el-table-column>
       <el-table-column
         label="创建时间"
         align="center"