Skip to content

Commit caa08e1

Browse files
committed
feat: add nick_name field to user search and update authentication forms
1 parent 7205c7f commit caa08e1

File tree

9 files changed

+68
-44
lines changed

9 files changed

+68
-44
lines changed

ui/src/locales/lang/en-US/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,5 @@ export default {
103103
collapse: 'Collapse',
104104
copyTitle: 'Copy',
105105
professional: 'Purchase the Professional Edition',
106+
sync: 'Sync',
106107
}

ui/src/locales/lang/zh-CN/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,5 @@ export default {
107107
collapse: '收起',
108108
copyTitle: '副本',
109109
professional: '购买专业版',
110+
sync: '同步',
110111
}

ui/src/locales/lang/zh-Hant/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,5 @@ export default {
103103
collapse: '收起',
104104
copyTitle: '副本',
105105
professional: '購買專業版',
106+
sync: '同步',
106107
}

ui/src/views/system-chat-user/chat-user/component/SyncUsersDialog.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<span class="dialog-footer">
2323
<el-button @click.prevent="dialogVisible = false"> {{ $t('common.cancel') }} </el-button>
2424
<el-button type="primary" @click="submit(formRef)" :loading="loading">
25-
{{ $t('common.save') }}
25+
{{ $t('common.sync') }}
2626
</el-button>
2727
</span>
2828
</template>

ui/src/views/system-setting/authentication/component/CAS.vue

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@
3838
</el-form-item>
3939
<el-form-item>
4040
<el-checkbox v-model="form.is_active"
41-
>{{ $t('views.system.authentication.cas.enableAuthentication') }}
41+
>{{ $t('views.system.authentication.cas.enableAuthentication') }}
4242
</el-checkbox>
4343
</el-form-item>
4444
</el-form>
4545

4646
<div class="text-right">
4747
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
48-
v-hasPermission="
48+
v-hasPermission="
4949
new ComplexPermission(
5050
[RoleConst.ADMIN],
5151
[PermissionConst.LOGIN_AUTH_EDIT],
@@ -59,13 +59,13 @@
5959
</div>
6060
</template>
6161
<script setup lang="ts">
62-
import { reactive, ref, watch, onMounted } from 'vue'
62+
import {reactive, ref, watch, onMounted} from 'vue'
6363
import authApi from '@/api/system-settings/auth-setting'
64-
import type { FormInstance, FormRules } from 'element-plus'
65-
import { t } from '@/locales'
66-
import { MsgSuccess } from '@/utils/message'
67-
import { PermissionConst, RoleConst } from '@/utils/permission/data'
68-
import { ComplexPermission } from '@/utils/permission/type'
64+
import type {FormInstance, FormRules} from 'element-plus'
65+
import {t} from '@/locales'
66+
import {MsgSuccess} from '@/utils/message'
67+
import {PermissionConst, RoleConst} from '@/utils/permission/data'
68+
import {ComplexPermission} from '@/utils/permission/type'
6969
7070
const form = ref<any>({
7171
id: '',
@@ -124,7 +124,7 @@ function getDetail() {
124124
res.data.config.validateUrl = res.data.config.ldpUri
125125
}
126126
form.value = res.data
127-
if (!form.value.config.redirectUrl){
127+
if (!form.value.config.redirectUrl) {
128128
form.value.config.redirectUrl = window.location.origin + window.MaxKB.prefix + 'api/cas'
129129
}
130130
}

ui/src/views/system-setting/authentication/component/OAuth2.vue

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@
8484
</el-form-item>
8585
<el-form-item>
8686
<el-checkbox v-model="form.is_active"
87-
>{{ $t('views.system.authentication.oauth2.enableAuthentication') }}
87+
>{{ $t('views.system.authentication.oauth2.enableAuthentication') }}
8888
</el-checkbox>
8989
</el-form-item>
9090
</el-form>
9191

9292
<div class="text-right">
9393
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
94-
v-hasPermission="
94+
v-hasPermission="
9595
new ComplexPermission(
9696
[RoleConst.ADMIN],
9797
[PermissionConst.LOGIN_AUTH_EDIT],
@@ -105,13 +105,13 @@
105105
</div>
106106
</template>
107107
<script setup lang="ts">
108-
import { reactive, ref, onMounted } from 'vue'
108+
import {reactive, ref, onMounted} from 'vue'
109109
import authApi from '@/api/system-settings/auth-setting'
110-
import type { FormInstance, FormRules } from 'element-plus'
111-
import { t } from '@/locales'
112-
import { MsgSuccess } from '@/utils/message'
113-
import { PermissionConst, RoleConst } from '@/utils/permission/data'
114-
import { ComplexPermission } from '@/utils/permission/type'
110+
import type {FormInstance, FormRules} from 'element-plus'
111+
import {t} from '@/locales'
112+
import {MsgSuccess} from '@/utils/message'
113+
import {PermissionConst, RoleConst} from '@/utils/permission/data'
114+
import {ComplexPermission} from '@/utils/permission/type'
115115
116116
const form = ref<any>({
117117
id: '',
@@ -208,9 +208,9 @@ function getDetail() {
208208
if (res.data && JSON.stringify(res.data) !== '{}') {
209209
form.value = res.data
210210
}
211-
if (!form.value.config.redirectUrl){
212-
form.value.config.redirectUrl = window.location.origin + window.MaxKB.prefix + 'api/oauth2'
213-
}
211+
if (!form.value.config.redirectUrl) {
212+
form.value.config.redirectUrl = window.location.origin + window.MaxKB.prefix + 'api/oauth2'
213+
}
214214
})
215215
}
216216

ui/src/views/system-setting/authentication/component/OIDC.vue

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
/>
3838
</el-form-item>
3939
<el-form-item label="Scope" prop="config.scope">
40-
<el-input v-model="form.config.scope" placeholder="openid+profile+email " />
40+
<el-input v-model="form.config.scope" placeholder="openid+profile+email "/>
4141
</el-form-item>
4242
<el-form-item label="State" prop="config.state">
43-
<el-input v-model="form.config.state" placeholder="" />
43+
<el-input v-model="form.config.state" placeholder=""/>
4444
</el-form-item>
4545
<el-form-item
4646
:label="$t('views.system.authentication.oidc.clientId')"
@@ -81,14 +81,14 @@
8181
</el-form-item>
8282
<el-form-item>
8383
<el-checkbox v-model="form.is_active"
84-
>{{ $t('views.system.authentication.oidc.enableAuthentication') }}
84+
>{{ $t('views.system.authentication.oidc.enableAuthentication') }}
8585
</el-checkbox>
8686
</el-form-item>
8787
</el-form>
8888

8989
<div class="text-right">
9090
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
91-
v-hasPermission="
91+
v-hasPermission="
9292
new ComplexPermission(
9393
[RoleConst.ADMIN],
9494
[PermissionConst.LOGIN_AUTH_EDIT],
@@ -102,13 +102,13 @@
102102
</div>
103103
</template>
104104
<script setup lang="ts">
105-
import { reactive, ref, watch, onMounted } from 'vue'
105+
import {reactive, ref, watch, onMounted} from 'vue'
106106
import authApi from '@/api/system-settings/auth-setting'
107-
import type { FormInstance, FormRules } from 'element-plus'
108-
import { t } from '@/locales'
109-
import { MsgSuccess } from '@/utils/message'
110-
import { PermissionConst, RoleConst } from '@/utils/permission/data'
111-
import { ComplexPermission } from '@/utils/permission/type'
107+
import type {FormInstance, FormRules} from 'element-plus'
108+
import {t} from '@/locales'
109+
import {MsgSuccess} from '@/utils/message'
110+
import {PermissionConst, RoleConst} from '@/utils/permission/data'
111+
import {ComplexPermission} from '@/utils/permission/type'
112112
113113
const form = ref<any>({
114114
id: '',
@@ -218,7 +218,7 @@ function getDetail() {
218218
) {
219219
form.value.config.fieldMapping = '{"username": "preferred_username", "email": "email"}'
220220
}
221-
if (!form.value.config.redirectUrl){
221+
if (!form.value.config.redirectUrl) {
222222
form.value.config.redirectUrl = window.location.origin + window.MaxKB.prefix + 'api/oidc'
223223
}
224224
}

ui/src/views/system/role/component/Member.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<div class="flex complex-search">
1919
<el-select class="complex-search__left" v-model="searchType" style="width: 120px">
2020
<el-option :label="$t('views.login.loginForm.username.label')" value="username" />
21+
<el-option :label="$t('views.userManage.userForm.nick_name.label')" value="nick_name" />
2122
</el-select>
2223
<el-input
2324
v-if="searchType === 'username'"
@@ -27,6 +28,14 @@
2728
style="width: 220px"
2829
clearable
2930
/>
31+
<el-input
32+
v-else-if="searchType === 'nick_name'"
33+
v-model="searchForm.nick_name"
34+
@change="getList"
35+
:placeholder="$t('common.inputPlaceholder')"
36+
style="width: 220px"
37+
clearable
38+
/>
3039
</div>
3140
</div>
3241
<app-table
@@ -98,6 +107,7 @@ const loading = ref(false)
98107
const searchType = ref('username')
99108
const searchForm = ref<Record<string, any>>({
100109
username: '',
110+
nick_name: '',
101111
})
102112
const paginationConfig = reactive({
103113
current_page: 1,

ui/src/views/system/workspace/component/Member.vue

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
</el-button>
1515
<div class="flex complex-search">
1616
<el-select class="complex-search__left" v-model="searchType" style="width: 120px">
17-
<el-option :label="$t('views.login.loginForm.username.label')" value="username" />
17+
<el-option :label="$t('views.login.loginForm.username.label')" value="username"/>
18+
<el-option :label="$t('views.userManage.userForm.nick_name.label')" value="nick_name"/>
1819
</el-select>
1920
<el-input
2021
v-if="searchType === 'username'"
@@ -24,6 +25,13 @@
2425
style="width: 220px"
2526
clearable
2627
/>
28+
<el-input
29+
v-else-if="searchType === 'nick_name'"
30+
v-model="searchForm.nick_name"
31+
@change="getList"
32+
:placeholder="$t('common.inputPlaceholder')"
33+
style="width: 220px"
34+
clearable/>
2735
</div>
2836
</div>
2937
<app-table
@@ -36,9 +44,9 @@
3644
:span-method="objectSpanMethod"
3745
:maxTableHeight="320"
3846
>
39-
<el-table-column prop="nick_name" :label="$t('views.userManage.userForm.nick_name.label')" />
40-
<el-table-column prop="username" :label="$t('views.login.loginForm.username.label')" />
41-
<el-table-column prop="role_name" :label="$t('views.role.member.role')" />
47+
<el-table-column prop="nick_name" :label="$t('views.userManage.userForm.nick_name.label')"/>
48+
<el-table-column prop="username" :label="$t('views.login.loginForm.username.label')"/>
49+
<el-table-column prop="role_name" :label="$t('views.role.member.role')"/>
4250
<el-table-column :label="$t('common.operation')" width="100" fixed="right">
4351
<template #default="{ row }">
4452
<el-tooltip
@@ -71,13 +79,13 @@
7179
</template>
7280

7381
<script setup lang="ts">
74-
import { onMounted, ref, reactive, watch } from 'vue'
75-
import { MsgSuccess, MsgConfirm } from '@/utils/message'
76-
import { t } from '@/locales'
82+
import {onMounted, ref, reactive, watch} from 'vue'
83+
import {MsgSuccess, MsgConfirm} from '@/utils/message'
84+
import {t} from '@/locales'
7785
import AddMemberDrawer from './AddMemberDrawer.vue'
78-
import type { WorkspaceMemberItem, WorkspaceItem } from '@/api/type/workspace'
79-
import { PermissionConst, RoleConst } from '@/utils/permission/data'
80-
import { ComplexPermission } from '@/utils/permission/type'
86+
import type {WorkspaceMemberItem, WorkspaceItem} from '@/api/type/workspace'
87+
import {PermissionConst, RoleConst} from '@/utils/permission/data'
88+
import {ComplexPermission} from '@/utils/permission/type'
8189
import {loadPermissionApi} from "@/utils/dynamics-api/permission-api.ts";
8290
8391
@@ -90,6 +98,7 @@ const loading = ref(false)
9098
const searchType = ref('username')
9199
const searchForm = ref<Record<string, any>>({
92100
username: '',
101+
nick_name: '',
93102
})
94103
const paginationConfig = reactive({
95104
current_page: 1,
@@ -134,7 +143,7 @@ watch(
134143
},
135144
)
136145
137-
const objectSpanMethod = ({ row, column, rowIndex, columnIndex }: any) => {
146+
const objectSpanMethod = ({row, column, rowIndex, columnIndex}: any) => {
138147
if (column.property === 'nick_name' || column.property === 'username') {
139148
const sameUserRows = tableData.value.filter(item => item.user_id === row.user_id);
140149
if (rowIndex === tableData.value.findIndex(item => item.user_id === row.user_id)) {
@@ -152,6 +161,7 @@ const objectSpanMethod = ({ row, column, rowIndex, columnIndex }: any) => {
152161
};
153162
154163
const addMemberDrawerRef = ref<InstanceType<typeof AddMemberDrawer>>()
164+
155165
function handleAdd() {
156166
addMemberDrawerRef.value?.open()
157167
}
@@ -172,7 +182,8 @@ function handleDelete(row: WorkspaceMemberItem) {
172182
getList()
173183
})
174184
})
175-
.catch(() => {})
185+
.catch(() => {
186+
})
176187
}
177188
</script>
178189

0 commit comments

Comments
 (0)