|
@@ -1,10 +1,12 @@
|
|
|
import { reactive } from 'vue'
|
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
|
import { required } from '@/utils/formRules'
|
|
|
-import { DICT_TYPE } from '@/utils/dict'
|
|
|
+import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
|
|
|
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
|
|
const { t } = useI18n() // 国际化
|
|
|
|
|
|
+const authorizedGrantOptions = getStrDictOptions(DICT_TYPE.SYSTEM_OAUTH2_GRANT_TYPE)
|
|
|
+
|
|
|
// 表单校验
|
|
|
export const rules = reactive({
|
|
|
clientId: [required],
|
|
@@ -76,36 +78,105 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
|
|
title: '授权类型',
|
|
|
field: 'authorizedGrantTypes',
|
|
|
table: {
|
|
|
- width: 300,
|
|
|
+ width: 400,
|
|
|
slots: {
|
|
|
default: 'authorizedGrantTypes_default'
|
|
|
}
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ component: 'Select',
|
|
|
+ componentProps: {
|
|
|
+ options: authorizedGrantOptions,
|
|
|
+ props: {
|
|
|
+ multiple: true,
|
|
|
+ filterable: true
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
title: '授权范围',
|
|
|
- field: 'scopes', // TODO @星语:带输入的 SELECT
|
|
|
- isTable: false
|
|
|
+ field: 'scopes',
|
|
|
+ isTable: false,
|
|
|
+ form: {
|
|
|
+ component: 'Select',
|
|
|
+ componentProps: {
|
|
|
+ options: [],
|
|
|
+ props: {
|
|
|
+ multiple: true,
|
|
|
+ filterable: true,
|
|
|
+ allowCreate: true,
|
|
|
+ defaultFirstOption: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
title: '自动授权范围',
|
|
|
- field: 'autoApproveScopes', // TODO @星语:带输入的 SELECT
|
|
|
- isTable: false
|
|
|
+ field: 'autoApproveScopes',
|
|
|
+ isTable: false,
|
|
|
+ form: {
|
|
|
+ component: 'Select',
|
|
|
+ componentProps: {
|
|
|
+ options: [],
|
|
|
+ props: {
|
|
|
+ multiple: true,
|
|
|
+ filterable: true,
|
|
|
+ allowCreate: true,
|
|
|
+ defaultFirstOption: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
title: '可重定向的 URI 地址',
|
|
|
- field: 'redirectUris', // TODO @星语:带输入的 SELECT
|
|
|
- isTable: false
|
|
|
+ field: 'redirectUris',
|
|
|
+ isTable: false,
|
|
|
+ form: {
|
|
|
+ component: 'Select',
|
|
|
+ componentProps: {
|
|
|
+ options: [],
|
|
|
+ props: {
|
|
|
+ multiple: true,
|
|
|
+ filterable: true,
|
|
|
+ allowCreate: true,
|
|
|
+ defaultFirstOption: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
title: '权限',
|
|
|
field: 'authorities',
|
|
|
- isTable: false
|
|
|
+ isTable: false,
|
|
|
+ form: {
|
|
|
+ component: 'Select',
|
|
|
+ componentProps: {
|
|
|
+ options: [],
|
|
|
+ props: {
|
|
|
+ multiple: true,
|
|
|
+ filterable: true,
|
|
|
+ allowCreate: true,
|
|
|
+ defaultFirstOption: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
title: '资源',
|
|
|
field: 'resourceIds',
|
|
|
- isTable: false
|
|
|
+ isTable: false,
|
|
|
+ form: {
|
|
|
+ component: 'Select',
|
|
|
+ componentProps: {
|
|
|
+ options: [],
|
|
|
+ props: {
|
|
|
+ multiple: true,
|
|
|
+ filterable: true,
|
|
|
+ defaultFirstOption: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
title: '附加信息',
|