Skip to content

Commit 75eab67

Browse files
feat: The document supports setting tags
1 parent aa42c6f commit 75eab67

File tree

12 files changed

+291
-200
lines changed

12 files changed

+291
-200
lines changed

ui/src/components/app-icon/icons/document.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,25 @@ export default {
7575
])
7676
},
7777
},
78-
78+
'app-tag': {
79+
iconReader: () => {
80+
return h('i', [
81+
h(
82+
'svg',
83+
{
84+
style: { height: '100%', width: '100%' },
85+
viewBox: '0 0 1024 1024',
86+
version: '1.1',
87+
xmlns: 'http://www.w3.org/2000/svg',
88+
},
89+
[
90+
h('path', {
91+
d: 'M512 85.333333a42.666667 42.666667 0 0 1 30.165333 12.501334l345.045334 345.045333a119.466667 119.466667 0 0 1 0 168.448l-275.413334 275.370667a119.466667 119.466667 0 0 1-169.002666 0.042666l-344.96-344.533333A42.666667 42.666667 0 0 1 85.333333 512V128a42.666667 42.666667 0 0 1 42.666667-42.666667h384z m-17.706667 85.333334H170.666667v323.669333l332.458666 332.074667a34.133333 34.133333 0 0 0 18.773334 9.557333l5.376 0.426667a34.133333 34.133333 0 0 0 24.149333-10.026667l275.242667-275.2a34.133333 34.133333 0 0 0 0.085333-48.042667L494.293333 170.666667zM352 298.666667a53.333333 53.333333 0 1 1 0 106.666666 53.333333 53.333333 0 0 1 0-106.666666z',
92+
fill: 'currentColor',
93+
}),
94+
],
95+
),
96+
])
97+
},
98+
},
7999
}

ui/src/locales/lang/en-US/views/document.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,12 @@ export default {
106106
addTag: 'Add Tag',
107107
setting: 'Tag Settings',
108108
create: 'Create Tag',
109+
createValue: 'Create Tag Value',
109110
edit: 'Edit Tag',
110111
editValue: 'Edit Tag Value',
111112
deleteConfirm: 'Confirm delete tag: ',
112-
deleteTip: 'After deletion, resources using this tag will have the tag removed. Please proceed with caution!',
113+
deleteTip:
114+
'After deletion, resources using this tag will have the tag removed. Please proceed with caution!',
113115
requiredMessage1: 'Please enter a tag',
114116
requiredMessage2: 'Please enter a value',
115117
},
@@ -174,8 +176,8 @@ export default {
174176
requiredMessage: 'Please enter similarity value',
175177
},
176178
allow_download: {
177-
label: 'Allow download in knowledge base source',
178-
}
179+
label: 'Allow download in knowledge base source',
180+
},
179181
},
180182
hitHandlingMethod: {
181183
optimization: 'Model optimization',

ui/src/locales/lang/zh-CN/views/document.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ export default {
102102
addValue: '添加标签值',
103103
setting: '标签设置',
104104
create: '创建标签',
105+
createValue: '创建标签值',
105106
edit: '编辑标签',
106107
editValue: '编辑标签值',
107108
deleteConfirm: '是否删除标签: ',
@@ -169,7 +170,7 @@ export default {
169170
},
170171
allow_download: {
171172
label: '允许在知识库来源中下载',
172-
}
173+
},
173174
},
174175
hitHandlingMethod: {
175176
optimization: '模型优化',

ui/src/locales/lang/zh-Hant/views/document.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ export default {
104104
addTag: '添加標籤',
105105
setting: '標籤設置',
106106
create: '創建標籤',
107+
createValue: '創建標籤值',
107108
edit: '編輯標籤',
108109
editValue: '編輯標籤值',
109110
deleteConfirm: '是否刪除標籤: ',
@@ -170,8 +171,8 @@ export default {
170171
requiredMessage: '请输入相似度',
171172
},
172173
allow_download: {
173-
label: '允許在知識庫來源下載',
174-
}
174+
label: '允許在知識庫來源下載',
175+
},
175176
},
176177
hitHandlingMethod: {
177178
optimization: '模型優化',

ui/src/views/document/index.vue

Lines changed: 23 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,7 @@
5757
>
5858
{{ $t('common.setting') }}
5959
</el-button>
60-
<el-button
61-
@click="openAddTagDialog()"
62-
:disabled="multipleSelection.length === 0"
63-
v-if="permissionPrecise.doc_edit(id)"
64-
>
65-
{{ $t('views.document.tag.addTag') }}
66-
</el-button>
60+
6761
<el-dropdown v-if="MoreFilledPermission0(id)">
6862
<el-button class="ml-12 mr-12">
6963
<AppIcon iconName="app-more"></AppIcon>
@@ -77,6 +71,12 @@
7771
>
7872
{{ $t('views.document.setting.migration') }}
7973
</el-dropdown-item>
74+
<el-dropdown-item
75+
@click="openAddTagDialog()"
76+
:disabled="multipleSelection.length === 0"
77+
v-if="permissionPrecise.doc_edit(id)"
78+
>{{ $t('views.document.tag.addTag') }}
79+
</el-dropdown-item>
8080
<el-dropdown-item
8181
divided
8282
@click="syncMulDocument"
@@ -91,6 +91,7 @@
9191
v-if="knowledgeDetail?.type === 2 && permissionPrecise.doc_sync(id)"
9292
>{{ $t('views.document.syncDocument') }}
9393
</el-dropdown-item>
94+
9495
<el-dropdown-item
9596
divided
9697
@click="deleteMulDocument"
@@ -459,9 +460,9 @@
459460
></AppIcon>
460461
{{ $t('views.document.generateQuestion.title') }}
461462
</el-dropdown-item>
462-
<el-dropdown-item
463-
@click="openTagSettingDrawer(row)"
464-
>
463+
<el-dropdown-item @click="openTagSettingDrawer(row)">
464+
<AppIcon iconName="app-tag" class="color-secondary"></AppIcon>
465+
465466
{{ $t('views.document.tag.setting') }}
466467
</el-dropdown-item>
467468
<el-dropdown-item
@@ -676,15 +677,15 @@
676677
:workspaceId="knowledgeDetail?.workspace_id"
677678
/>
678679
<GenerateRelatedDialog ref="GenerateRelatedDialogRef" @refresh="getList" :apiType="apiType" />
679-
<TagDrawer ref="tagDrawerRef"/>
680-
<TagSettingDrawer ref="tagSettingDrawerRef" :knowledge-tags="knowledgeTags"/>
681-
<AddTagDialog ref="addTagDialogRef" @addTags="addTags" :knowledge-tags="knowledgeTags"/>
680+
<TagDrawer ref="tagDrawerRef" />
681+
<TagSettingDrawer ref="tagSettingDrawerRef" />
682+
<AddTagDialog ref="addTagDialogRef" @addTags="addTags" :apiType="apiType" />
682683
</div>
683684
</template>
684685
<script setup lang="ts">
685686
import { ref, onMounted, onBeforeUnmount, computed } from 'vue'
686687
import { useRouter, useRoute, onBeforeRouteLeave, onBeforeRouteUpdate } from 'vue-router'
687-
import { ElTable } from 'element-plus'
688+
import type { ElTable } from 'element-plus'
688689
import ImportDocumentDialog from './component/ImportDocumentDialog.vue'
689690
import SyncWebDialog from '@/views/knowledge/component/SyncWebDialog.vue'
690691
import SelectKnowledgeDialog from './component/SelectKnowledgeDialog.vue'
@@ -700,9 +701,9 @@ import { TaskType, State } from '@/utils/status'
700701
import { t } from '@/locales'
701702
import permissionMap from '@/permission'
702703
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
703-
import TagDrawer from "./tag/TagDrawer.vue";
704-
import TagSettingDrawer from "./tag/TagSettingDrawer.vue";
705-
import AddTagDialog from "@/views/document/tag/MulAddTagDialog.vue";
704+
import TagDrawer from './tag/TagDrawer.vue'
705+
import TagSettingDrawer from './tag/TagSettingDrawer.vue'
706+
import AddTagDialog from '@/views/document/tag/MulAddTagDialog.vue'
706707
707708
const route = useRoute()
708709
const router = useRouter()
@@ -1020,15 +1021,14 @@ function syncMulDocument() {
10201021
confirmButtonClass: 'danger',
10211022
})
10221023
.then(() => {
1023-
loadSharedApi({type: 'document', systemType: apiType.value})
1024+
loadSharedApi({ type: 'document', systemType: apiType.value })
10241025
.putMulSyncDocument(id, arr, loading)
10251026
.then(() => {
10261027
MsgSuccess(t('views.document.sync.successMessage'))
10271028
getList()
10281029
})
10291030
})
1030-
.catch(() => {
1031-
})
1031+
.catch(() => {})
10321032
}
10331033
10341034
function syncLarkMulDocument() {
@@ -1239,7 +1239,7 @@ function openTagDrawer() {
12391239
12401240
const tagSettingDrawerRef = ref()
12411241
function openTagSettingDrawer(doc: any) {
1242-
tagSettingDrawerRef.value.open(doc)
1242+
tagSettingDrawerRef.value.open(doc)
12431243
}
12441244
12451245
const addTagDialogRef = ref()
@@ -1251,24 +1251,15 @@ function openAddTagDialog() {
12511251
function addTags(tags: any) {
12521252
const arr: string[] = multipleSelection.value.map((v) => v.id)
12531253
1254-
loadSharedApi({type: 'document', systemType: apiType.value})
1255-
.postMulDocumentTags(id, {tag_ids: tags, document_ids: arr}, loading)
1254+
loadSharedApi({ type: 'document', systemType: apiType.value })
1255+
.postMulDocumentTags(id, { tag_ids: tags, document_ids: arr }, loading)
12561256
.then(() => {
12571257
addTagDialogRef.value?.close()
12581258
getList()
12591259
clearSelection()
12601260
})
12611261
}
12621262
1263-
const knowledgeTags = ref<any[]>([])
1264-
function getTags() {
1265-
loadSharedApi({type: 'knowledge', systemType: apiType.value, isShared: isShared.value})
1266-
.getTags(id, {}, loading)
1267-
.then((res: any) => {
1268-
knowledgeTags.value = res.data
1269-
})
1270-
}
1271-
12721263
onMounted(() => {
12731264
getDetail()
12741265
if (beforePagination.value) {
@@ -1279,7 +1270,6 @@ onMounted(() => {
12791270
filterMethod.value = beforeSearch.value['filterMethod']
12801271
}
12811272
getList()
1282-
getTags()
12831273
// 初始化定时任务
12841274
initInterval()
12851275
})

ui/src/views/document/tag/CreateTagDialog.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
v-model="dialogVisible"
44
:title="currentTagKey ? $t('views.document.tag.addValue') : $t('views.document.tag.create')"
55
:before-close="close"
6+
append-to-body
67
>
78
<el-form
89
ref="FormRef"
@@ -12,7 +13,7 @@
1213
@submit.prevent
1314
>
1415
<el-scrollbar>
15-
<el-row :gutter="8" align="bottom" style="margin-right: 10px" class="tag-list-max-list">
16+
<el-row :gutter="8" style="margin-right: 10px" class="tag-list-max-list">
1617
<template v-for="(tag, index) in tags" :key="tag">
1718
<el-col :span="12">
1819
<el-form-item
@@ -26,7 +27,7 @@
2627
>
2728
<el-input
2829
v-model="tag.key"
29-
:disabled="currentTagKey"
30+
:disabled="currentTagKey? true : false"
3031
class="w-full"
3132
:placeholder="$t('views.document.tag.requiredMessage1')"
3233
></el-input>
@@ -55,7 +56,7 @@
5556
link
5657
type="info"
5758
@click="deleteTag(index)"
58-
class="mb-24"
59+
:style="{ marginTop: index === 0 ? '35px' : '5px' }"
5960
>
6061
<AppIcon iconName="app-delete"></AppIcon>
6162
</el-button>
@@ -124,7 +125,7 @@ const submit = () => {
124125
.postTags(id, tags.value, loading)
125126
.then((res: any) => {
126127
close()
127-
emit('refresh')
128+
emit('refresh', currentTagKey.value)
128129
})
129130
})
130131
}

0 commit comments

Comments
 (0)