Skip to content

Commit 4aef0f9

Browse files
committed
fix: workspaceDropdownSearch
1 parent b6c7fe8 commit 4aef0f9

File tree

7 files changed

+45
-28
lines changed

7 files changed

+45
-28
lines changed

ui/src/components/tag-group/index.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="tag-group" v-if="props.tags.length">
3-
<el-tag :size="props.size" class="default-tag" style="max-width: 100%">
4-
<span class="ellipsis" style="max-width: 100%">{{ props.tags[0] }}</span>
3+
<el-tag :size="props.size" class="default-tag">
4+
<span class="ellipsis">{{ props.tags[0] }}</span>
55
</el-tag>
66
<el-tooltip effect="light" :disabled="tooltipDisabled">
77
<el-tag :size="props.size" class="info-tag ml-4 cursor" v-if="props.tags?.length > 1">

ui/src/components/workspace-dropdown/index.vue

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<el-dropdown placement="bottom-start" class="workspace-dropdown">
2+
<el-dropdown placement="bottom-start" class="workspace-dropdown" popper-class="workspace-dropdown-popper">
33
<el-button text style="font-size: 14px" class="workspace-dropdown__button">
44
<AppIcon iconName="app-workspace" style="font-size: 18px"></AppIcon>
55
<span class="ellipsis" style="max-width: 155px">
@@ -10,22 +10,19 @@
1010
</el-icon>
1111
</el-button>
1212
<template #dropdown>
13+
<div class="w-full p-8" style="box-sizing: border-box">
14+
<el-input v-model="filterText" :placeholder="$t('common.search')" prefix-icon="Search" clearable />
15+
</div>
1316
<el-dropdown-menu v-loading="loading">
14-
<el-dropdown-item
15-
v-for="item in data"
16-
:key="item.id"
17-
:class="item.id === currentWorkspace?.id ? 'active' : ''"
18-
@click="changeWorkspace(item)"
19-
>
20-
<AppIcon class="mr-8" iconName="app-workspace" style="font-size: 16px"></AppIcon>
21-
<span class="ellipsis" style="max-width: 230px">
22-
{{ item.name }}
23-
</span>
24-
<el-icon
25-
v-show="item.id === currentWorkspace?.id"
26-
class="ml-8"
27-
style="font-size: 16px; margin-right: 0"
28-
>
17+
<el-dropdown-item v-for="item in filterData" :key="item.id"
18+
:class="`${item.id === currentWorkspace?.id ? 'active' : ''} flex-between`" @click="changeWorkspace(item)">
19+
<div class="flex align-center">
20+
<AppIcon class="mr-8" iconName="app-workspace" style="font-size: 16px"></AppIcon>
21+
<span class="ellipsis">
22+
{{ item.name }}
23+
</span>
24+
</div>
25+
<el-icon v-show="item.id === currentWorkspace?.id" class="ml-8" style="font-size: 16px; margin-right: 0">
2926
<Check />
3027
</el-icon>
3128
</el-dropdown-item>
@@ -35,7 +32,7 @@
3532
</template>
3633

3734
<script setup lang="ts">
38-
import { computed, ref } from 'vue'
35+
import { watch, ref } from 'vue'
3936
import type { WorkspaceItem } from '@/api/type/workspace'
4037
import useStore from '@/stores'
4138
const props = defineProps({
@@ -56,6 +53,18 @@ function changeWorkspace(item: WorkspaceItem) {
5653
folder.setCurrentFolder({})
5754
emit('changeWorkspace', item)
5855
}
56+
57+
const filterText = ref('')
58+
const filterData = ref<any[]>([])
59+
60+
watch([() => props.data, () => filterText.value], () => {
61+
if (!filterText.value.length) {
62+
filterData.value = props.data
63+
}
64+
filterData.value = props.data.filter((v: any) =>
65+
v.name.toLowerCase().includes(filterText.value.toLowerCase()),
66+
)
67+
}, { immediate: true })
5968
</script>
6069
<style lang="scss" scoped>
6170
.workspace-dropdown {
@@ -66,3 +75,8 @@ function changeWorkspace(item: WorkspaceItem) {
6675
}
6776
}
6877
</style>
78+
<style lang="scss">
79+
.workspace-dropdown-popper {
80+
width: 280px;
81+
}
82+
</style>

ui/src/views/chat/mobile/component/ChatHistoryDrawer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
@mouseenter="mouseenter" @mouseleave="mouseId = ''">
2727
<template #default="{ row }">
2828
<div class="flex-between">
29-
<ReadWrite @change="val => updateChatName(val, row)" :data="row.abstract" trigger="manual"
29+
<ReadWrite @change="(val: string) => updateChatName(val, row)" :data="row.abstract" trigger="manual"
3030
:write="row.writeStatus" @close="() => (row.writeStatus = false)" :maxlength="1024" />
3131
<div @click.stop v-if="mouseId === row.id && row.id !== 'new' && !row.writeStatus" class="flex">
3232
<el-button style="padding: 0" link @click.stop="() => (row.writeStatus = true)">

ui/src/views/system/user-manage/index.vue

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,11 @@
5757
<el-table-column
5858
prop="nick_name"
5959
:label="$t('views.userManage.userForm.nick_name.label')"
60+
min-width="180"
61+
show-overflow-tooltip
6062
/>
61-
<el-table-column prop="username" :label="$t('views.login.loginForm.username.label')" />
62-
<el-table-column prop="is_active" :label="$t('common.status.label')">
63+
<el-table-column prop="username" min-width="180" show-overflow-tooltip :label="$t('views.login.loginForm.username.label')" />
64+
<el-table-column width="100" prop="is_active" :label="$t('common.status.label')">
6365
<template #default="{ row }">
6466
<div v-if="row.is_active" class="flex align-center">
6567
<el-icon class="color-success mr-8" style="font-size: 16px">
@@ -82,20 +84,21 @@
8284
prop="email"
8385
:label="$t('views.login.loginForm.email.label')"
8486
show-overflow-tooltip
87+
min-width="180"
8588
>
8689
<template #default="{ row }">
8790
{{ row.email || '-' }}
8891
</template>
8992
</el-table-column>
90-
<el-table-column prop="phone" :label="$t('views.userManage.userForm.phone.label')">
93+
<el-table-column prop="phone" width="120" :label="$t('views.userManage.userForm.phone.label')">
9194
<template #default="{ row }">
9295
{{ row.phone || '-' }}
9396
</template>
9497
</el-table-column>
9598
<el-table-column
9699
prop="role_name"
97100
:label="$t('views.role.member.role')"
98-
min-width="100"
101+
width="210"
99102
v-if="user.isEE() || user.isPE()"
100103
>
101104
<template #default="{ row }">
@@ -119,7 +122,7 @@
119122
</el-popover>
120123
</template>
121124
</el-table-column>
122-
<el-table-column prop="source" :label="$t('views.userManage.source.label')">
125+
<el-table-column prop="source" width="100" :label="$t('views.userManage.source.label')">
123126
<template #default="{ row }">
124127
{{
125128
row.source === 'LOCAL'

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</template>
66
<template #default>
77
<MemberFormContent ref="memberFormContentRef" :models="formItemModel" v-model:form="list"
8-
v-loading="memberFormContentLoading" />
8+
v-loading="memberFormContentLoading" keepOneLine />
99
</template>
1010
<template #footer>
1111
<div style="flex: auto">

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
v-model="dialogVisible" :close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true">
44
<el-form label-position="top" ref="formRef" :rules="rules" :model="form" require-asterisk-position="right" @submit.prevent>
55
<el-form-item :label="$t('views.workspace.name')" prop="name">
6-
<el-input v-model="form.name" maxlength="64"
6+
<el-input v-model="form.name" maxlength="64" show-word-limit
77
:placeholder="`${$t('common.inputPlaceholder')}${$t('views.workspace.name')}`" />
88
</el-form-item>
99
</el-form>

ui/src/views/tool/ToolFormDrawer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
</el-icon>
5050
</el-Avatar>
5151
</div>
52-
<el-avatar v-else class="avatar-green" shape="square" :size="32">
52+
<el-avatar v-else class="avatar-green mr-12" shape="square" :size="32">
5353
<img src="@/assets/node/icon_tool.svg" style="width: 58%" alt="" />
5454
</el-avatar>
5555
<el-input

0 commit comments

Comments
 (0)