Selaa lähdekoodia

feat(认证): access 认证支持设置租户

shizhongming 2 vuotta sitten
vanhempi
commit
fc280cf0cf

+ 1 - 1
src/modules/smart-system/views/accessSecret/SysAuthAccessSecretListView.api.ts

@@ -1,7 +1,7 @@
 import { ApiServiceEnum, defHttp } from '@/utils/http/axios';
 
 enum Api {
-  list = '/sys/auth/accessSecret/list',
+  list = '/sys/auth/accessSecret/listWithAll',
   getById = '/sys/auth/accessSecret/getById',
   saveUpdate = '/sys/auth/accessSecret/saveUpdate',
   delete = '/sys/auth/accessSecret/batchDeleteById',

+ 31 - 11
src/modules/smart-system/views/accessSecret/SysAuthAccessSecretListView.config.ts

@@ -14,6 +14,14 @@ export const getTableColumns = (): SmartColumn[] => {
       align: 'center',
       fixed: 'left',
     },
+    {
+      field: 'tenantId',
+      title: '{system.views.auth.accessSecret.title.tenantId}',
+      width: 120,
+      formatter(params) {
+        return params.row.tenant?.tenantName;
+      },
+    },
     {
       field: 'seq',
       sortable: true,
@@ -22,22 +30,22 @@ export const getTableColumns = (): SmartColumn[] => {
     },
     {
       field: 'accessKey',
-      title: '{system.views.auth.acccessSecret.title.accessKey}',
+      title: '{system.views.auth.accessSecret.title.accessKey}',
       width: 120,
     },
     {
       field: 'secretKey',
-      title: '{system.views.auth.acccessSecret.title.secretKey}',
+      title: '{system.views.auth.accessSecret.title.secretKey}',
       width: 120,
     },
     {
       field: 'expireDate',
-      title: '{system.views.auth.acccessSecret.title.expireDate}',
+      title: '{system.views.auth.accessSecret.title.expireDate}',
       width: 165,
     },
     {
       field: 'accessIp',
-      title: '{system.views.auth.acccessSecret.title.accessIp}',
+      title: '{system.views.auth.accessSecret.title.accessIp}',
       width: 120,
     },
     {
@@ -92,23 +100,29 @@ export const getFormSchemas = (t: Function): FormSchema[] => {
       component: 'Input',
       componentProps: {},
     },
+    {
+      field: 'tenantId',
+      label: t('system.views.auth.accessSecret.title.tenantId'),
+      slot: 'addEdit-tenantId',
+      required: true,
+    },
     {
       field: 'accessKey',
-      label: t('system.views.auth.acccessSecret.title.accessKey'),
+      label: t('system.views.auth.accessSecret.title.accessKey'),
       component: 'Input',
       componentProps: {},
       dynamicDisabled: true,
     },
     {
       field: 'secretKey',
-      label: t('system.views.auth.acccessSecret.title.secretKey'),
+      label: t('system.views.auth.accessSecret.title.secretKey'),
       component: 'Input',
       componentProps: {},
       dynamicDisabled: true,
     },
     {
       field: 'expireDate',
-      label: t('system.views.auth.acccessSecret.title.expireDate'),
+      label: t('system.views.auth.accessSecret.title.expireDate'),
       component: 'DatePicker',
       componentProps: {
         showTime: true,
@@ -117,10 +131,10 @@ export const getFormSchemas = (t: Function): FormSchema[] => {
     },
     {
       field: 'accessIp',
-      label: t('system.views.auth.acccessSecret.title.accessIp'),
+      label: t('system.views.auth.accessSecret.title.accessIp'),
       component: 'InputTextArea',
       componentProps: {
-        placeholder: t('system.views.auth.acccessSecret.validate.accessIp'),
+        placeholder: t('system.views.auth.accessSecret.validate.accessIp'),
       },
     },
     {
@@ -148,15 +162,21 @@ export const getFormSchemas = (t: Function): FormSchema[] => {
 
 export const getSearchFormSchemas = (t: Function): SmartSearchFormSchema[] => {
   return [
+    {
+      field: 'tenantId',
+      label: t('system.views.auth.accessSecret.title.tenantId'),
+      slot: 'search-tenantId',
+      searchSymbol: '=',
+    },
     {
       field: 'accessKey',
-      label: t('system.views.auth.acccessSecret.title.accessKey'),
+      label: t('system.views.auth.accessSecret.title.accessKey'),
       component: 'Input',
       searchSymbol: 'like',
     },
     {
       field: 'secretKey',
-      label: t('system.views.auth.acccessSecret.title.secretKey'),
+      label: t('system.views.auth.accessSecret.title.secretKey'),
       component: 'Input',
       searchSymbol: 'like',
     },

+ 11 - 0
src/modules/smart-system/views/accessSecret/SysAuthAccessSecretListView.vue

@@ -4,6 +4,12 @@
       <template #table-operation="{ row }">
         <SmartVxeTableAction :actions="getActions(row)" />
       </template>
+      <template #search-tenantId="{ model, field }">
+        <SysTenantSelect allowClear style="width: 120px" v-model:value="model[field]" />
+      </template>
+      <template #addEdit-tenantId="{ model, field }">
+        <SysTenantSelect allowClear v-model:value="model[field]" />
+      </template>
     </SmartTable>
   </div>
 </template>
@@ -25,6 +31,7 @@
     getSearchFormSchemas,
   } from './SysAuthAccessSecretListView.config';
   import { listApi, deleteApi, getByIdApi, saveUpdateApi } from './SysAuthAccessSecretListView.api';
+  import { SysTenantSelect } from '@/modules/smart-system/components';
 
   const { t } = useI18n();
   const { getTableSize } = useSizeSetting();
@@ -50,6 +57,10 @@
     rowConfig: {
       isHover: true,
     },
+    stripe: true,
+    columnConfig: {
+      resizable: true,
+    },
     showOverflow: 'tooltip',
     pagerConfig: true,
     useSearchForm: true,

+ 2 - 1
src/modules/smart-system/views/accessSecret/lang/zh_CN.ts

@@ -3,7 +3,7 @@
  */
 export default {
   trans: true,
-  key: 'system.views.auth.acccessSecret',
+  key: 'system.views.auth.accessSecret',
   data: {
     title: {
       accessKey: 'Access key',
@@ -12,6 +12,7 @@ export default {
       accessIp: '授权IP或域名',
       createBy: 'createBy',
       updateBy: 'updateBy',
+      tenantId: '所属租户',
     },
     validate: {
       accessKey: '请输入Access key',