Merge branch 'dev-ui-0129'

This commit is contained in:
pengyu.lu
2026-02-28 10:10:40 +08:00
6 changed files with 25 additions and 12 deletions
+4 -2
View File
@@ -2,7 +2,7 @@
* @Author: shufei.han
* @Date: 2025-06-10 16:46:00
* @LastEditors: LPY
* @LastEditTime: 2026-01-30 17:41:49
* @LastEditTime: 2026-02-28 09:21:41
* @FilePath: \glkvm-cloud\ui\src\stores\modules\device.ts
* @Description: 设备有关的状态管理
*/
@@ -77,7 +77,9 @@ export const useDeviceStore = defineStore('device', () => {
}
pageLink.value.setTotal(res.data.items.length)
state.deviceList = res.data.items.filter(d => {
return (d?.id?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
return (d?.ddns?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
|| d?.mac?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
|| d?.ip?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
|| d?.description?.toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1) &&
(computedDeviceQuery.value.deviceGroupId ? d.deviceGroupId === computedDeviceQuery.value.deviceGroupId : true) &&
(!computedDeviceQuery.value.onlyShowUnassigned || (computedDeviceQuery.value.onlyShowUnassigned && !d.deviceGroupId))
+2 -3
View File
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-01-30 10:19:24
* @LastEditors: LPY
* @LastEditTime: 2026-02-04 10:58:29
* @LastEditTime: 2026-02-28 09:28:39
* @FilePath: \glkvm-cloud\ui\src\stores\modules\deviceGroup.ts
* @Description: 设备组有关的状态管理
*/
@@ -63,8 +63,7 @@ export const useDeviceGroupStore = defineStore('deviceGroup', () => {
const res = await reqDeviceGroupList()
pageLink.value.setTotal(res.data.items.length)
state.deviceGroupList = res.data.items.filter(d => {
return (d?.id?.toString()?.indexOf(computedDeviceGroupQuery.value.searchText) > -1
|| d?.description?.indexOf(computedDeviceGroupQuery.value.searchText) > -1
return (d?.description?.indexOf(computedDeviceGroupQuery.value.searchText) > -1
|| d?.name?.indexOf(computedDeviceGroupQuery.value.searchText) > -1)
}) || []
state.completeDeviceGroupList = res.data.items || []
+2 -2
View File
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-02-03 12:07:45
* @LastEditors: LPY
* @LastEditTime: 2026-02-04 10:56:54
* @LastEditTime: 2026-02-28 09:27:05
* @FilePath: \glkvm-cloud\ui\src\stores\modules\userGroupManage.ts
* @Description: 用户组管理相关状态管理
*/
@@ -65,7 +65,7 @@ export const useUserGroupManageStore = defineStore('userGroupManage', () => {
const res = await reqUserGroupList()
pageLink.value.setTotal(res.data.items.length)
state.userGroupList = res.data.items.filter(d => {
return (d?.id?.toString()?.indexOf(computedUserGroupManageQuery.value.searchText) > -1
return (d?.description?.toString()?.toLowerCase()?.indexOf(computedUserGroupManageQuery.value.searchText) > -1
|| d?.userGroup?.indexOf(computedUserGroupManageQuery.value.searchText) > -1) &&
(computedUserGroupManageQuery.value.deviceGroupId ?
d.deviceGroupList.some(u => u.deviceGroupId === computedUserGroupManageQuery.value.deviceGroupId) : true)
+2 -2
View File
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-02-02 15:00:13
* @LastEditors: LPY
* @LastEditTime: 2026-02-03 12:08:51
* @LastEditTime: 2026-02-28 09:26:50
* @FilePath: \glkvm-cloud\ui\src\stores\modules\userManage.ts
* @Description: 用户管理相关状态管理
*/
@@ -69,7 +69,7 @@ export const useUserManageStore = defineStore('userManage', () => {
const res = await reqUserList()
pageLink.value.setTotal(res.data.items.length)
state.userList = res.data.items.filter(d => {
return (d?.id?.toString().toLowerCase()?.indexOf(computedUserManageQuery.value.searchText) > -1
return (d?.description?.toString().toLowerCase()?.indexOf(computedUserManageQuery.value.searchText) > -1
|| d?.username?.toLowerCase()?.indexOf(computedUserManageQuery.value.searchText) > -1) &&
(computedUserManageQuery.value.userGroupId ? d.userGroupList.some(u => u.userGroupId === computedUserManageQuery.value.userGroupId) : true)
}) || []
+6 -1
View File
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2025-05-30 10:48:43
* @LastEditors: LPY
* @LastEditTime: 2026-02-05 17:34:48
* @LastEditTime: 2026-02-28 09:32:36
* @FilePath: \glkvm-cloud\ui\src\views\login\loginPage.vue
* @Description: 登录页面
-->
@@ -137,6 +137,11 @@ onMounted(async () => {
// 提取配置数据 (Extract config data)
authConfig.value = response.data
useAppStore().setVersion(authConfig.value.kvmCloudVersion)
// 若支持LDAP且当前登录方式为legacy,则切换到ldap (If LDAP is supported and current auth method is legacy, switch to ldap)
if (authConfig.value.ldapEnabled && state.formModel.authMethod === 'legacy') {
state.formModel.authMethod = 'ldap'
}
} catch (error) {
console.error('Failed to load auth config:', error)
// 回退 - 无LDAP可用 (Fallback - no LDAP available)
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-02-03 11:24:20
* @LastEditors: LPY
* @LastEditTime: 2026-02-09 09:14:59
* @LastEditTime: 2026-02-28 09:51:05
* @FilePath: \glkvm-cloud\ui\src\views\userManage\components\editUserDialog.vue
* @Description: 编辑用户弹窗
-->
@@ -44,7 +44,12 @@
</ARadioGroup>
</AFormItem>
<AFormItem name="username" :label="$t('user.userName')" labelAlign="left">
<AInput v-model:value="state.formData.username" :maxlength="32" :placeholder="$t('device.requiredDeviceGroupName')" style="width: 100%;" />
<AInput
v-model:value="state.formData.username"
:maxlength="32"
:placeholder="$t('device.requiredDeviceGroupName')"
:disabled="props.currentUser?.isSystem"
style="width: 100%;" />
</AFormItem>
<AFormItem name="description" :label="$t('device.description')" labelAlign="left">
<ATextarea
@@ -58,6 +63,7 @@
v-model:value="state.formData.password"
:placeholder="$t('user.enterPassword')"
autocomplete="off"
:disabled="props.currentUser?.isSystem"
style="width: 100%;" />
</AFormItem>
<AFormItem name="repassword" :label="$t('user.reEnterPassword')" labelAlign="left">
@@ -65,6 +71,7 @@
v-model:value="state.formData.repassword"
:placeholder="$t('user.reEnterPasswordPlc')"
autocomplete="off"
:disabled="props.currentUser?.isSystem"
style="width: 100%;" />
</AFormItem>
<div class="flex-end">