Skip to content

Commit c1786bc

Browse files
committed
Custom system administrator, when only having the permissions to view resource management + view associated resources, the view associated resources permission does not display.
1 parent a576bb7 commit c1786bc

File tree

3 files changed

+49
-57
lines changed

3 files changed

+49
-57
lines changed

ui/src/views/document/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
effect="dark"
144144
:content="$t('workflow.ExecutionRecord')"
145145
placement="top"
146-
v-if="knowledgeDetail?.type === 4"
146+
v-if="knowledgeDetail?.type === 4 && permissionPrecise.doc_create(id)"
147147
>
148148
<el-button @click="openListAction" class="ml-12">
149149
<AppIcon iconName="app-execution-record" class="color-secondary"></AppIcon>

ui/src/views/knowledge-workflow/index.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@
8686
{{ $t('workflow.operation.exportWorkflow') }}
8787
</el-dropdown-item>
8888

89-
<el-dropdown-item @click="openListAction" divided>
89+
<el-dropdown-item
90+
@click="openListAction"
91+
divided
92+
v-if="permissionPrecise.doc_create(id)"
93+
>
9094
<AppIcon iconName="app-execution-record" class="color-secondary"></AppIcon>
9195
{{ $t('workflow.ExecutionRecord') }}
9296
</el-dropdown-item>

ui/src/views/system-resource-management/KnowledgeResourceIndex.vue

Lines changed: 43 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
style="width: 120px"
1616
@change="search_type_change"
1717
>
18-
<el-option :label="$t('common.creator')" value="create_user"/>
19-
<el-option :label="$t('common.name')" value="name"/>
20-
<el-option :label="$t('common.type')" value="type"/>
18+
<el-option :label="$t('common.creator')" value="create_user" />
19+
<el-option :label="$t('common.name')" value="name" />
20+
<el-option :label="$t('common.type')" value="type" />
2121
</el-select>
2222
<el-input
2323
v-if="search_type === 'name'"
@@ -35,7 +35,7 @@
3535
clearable
3636
style="width: 220px"
3737
>
38-
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name"/>
38+
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name" />
3939
</el-select>
4040
<el-select
4141
v-else-if="search_type === 'type'"
@@ -45,7 +45,7 @@
4545
filterable
4646
style="width: 220px"
4747
>
48-
<el-option v-for="u in type_options" :key="u.id" :value="u.value" :label="u.label"/>
48+
<el-option v-for="u in type_options" :key="u.id" :value="u.value" :label="u.label" />
4949
</el-select>
5050
</div>
5151
</div>
@@ -61,29 +61,25 @@
6161
<el-table-column width="220" :label="$t('common.name')" show-overflow-tooltip>
6262
<template #default="{ row }">
6363
<div class="flex align-center">
64-
<KnowledgeIcon :type="row.type" :size="24"/>
64+
<KnowledgeIcon :type="row.type" :size="24" />
6565
<span class="ml-8">
6666
{{ row.name }}
6767
</span>
6868
</div>
6969
</template>
7070
</el-table-column>
7171

72-
<el-table-column
73-
prop="tool_type"
74-
:label="$t('common.type')"
75-
width="110"
76-
>
72+
<el-table-column prop="tool_type" :label="$t('common.type')" width="110">
7773
<template #default="{ row }">
7874
<span v-if="row.type === 1">{{
79-
$t('views.knowledge.knowledgeType.webKnowledge')
80-
}}</span>
75+
$t('views.knowledge.knowledgeType.webKnowledge')
76+
}}</span>
8177
<span v-else-if="row.type === 2">{{
82-
$t('views.knowledge.knowledgeType.larkKnowledge')
83-
}}</span>
78+
$t('views.knowledge.knowledgeType.larkKnowledge')
79+
}}</span>
8480
<span v-else-if="row.type === 4">{{
85-
$t('views.knowledge.knowledgeType.workflowKnowledge')
86-
}}</span>
81+
$t('views.knowledge.knowledgeType.workflowKnowledge')
82+
}}</span>
8783
<span v-else>{{ $t('views.knowledge.knowledgeType.generalKnowledge') }}</span>
8884
</template>
8985
</el-table-column>
@@ -106,7 +102,7 @@
106102
@click="workspaceVisible = !workspaceVisible"
107103
>
108104
<el-icon>
109-
<Filter/>
105+
<Filter />
110106
</el-icon>
111107
</el-button>
112108
</template>
@@ -132,23 +128,23 @@
132128
/>
133129
</el-checkbox-group>
134130
</el-scrollbar>
135-
<el-empty v-else :description="$t('common.noData')"/>
131+
<el-empty v-else :description="$t('common.noData')" />
136132
</div>
137133
</div>
138134
</div>
139135
<div class="text-right">
140136
<el-button size="small" @click="filterWorkspaceChange('clear')"
141-
>{{ $t('common.clear') }}
137+
>{{ $t('common.clear') }}
142138
</el-button>
143139
<el-button type="primary" @click="filterWorkspaceChange" size="small"
144-
>{{ $t('common.confirm') }}
140+
>{{ $t('common.confirm') }}
145141
</el-button>
146142
</div>
147143
</el-popover>
148144
</div>
149145
</template>
150146
</el-table-column>
151-
<el-table-column prop="nick_name" :label="$t('common.creator')" show-overflow-tooltip/>
147+
<el-table-column prop="nick_name" :label="$t('common.creator')" show-overflow-tooltip />
152148
<el-table-column :label="$t('views.document.table.updateTime')" width="180">
153149
<template #default="{ row }">
154150
{{ datetimeFormat(row.update_time) }}
@@ -244,19 +240,16 @@
244240
@click.stop="exportKnowledge(row)"
245241
v-if="permissionPrecise.export()"
246242
>
247-
<AppIcon iconName="app-export" class="color-secondary"></AppIcon
248-
>
243+
<AppIcon iconName="app-export" class="color-secondary"></AppIcon>
249244
{{ $t('views.document.setting.export') }} Excel
250245
</el-dropdown-item>
251246
<el-dropdown-item
252247
@click.stop="exportZipKnowledge(row)"
253248
v-if="permissionPrecise.export()"
254249
>
255-
<AppIcon iconName="app-export" class="color-secondary"></AppIcon
256-
>
250+
<AppIcon iconName="app-export" class="color-secondary"></AppIcon>
257251
{{ $t('views.document.setting.export') }} ZIP
258-
</el-dropdown-item
259-
>
252+
</el-dropdown-item>
260253
<el-dropdown-item
261254
text
262255
@click.stop="openResourceMappingDrawer(row)"
@@ -272,17 +265,16 @@
272265
>
273266
<AppIcon iconName="app-delete" class="color-secondary"></AppIcon>
274267
{{ $t('common.delete') }}
275-
</el-dropdown-item
276-
>
268+
</el-dropdown-item>
277269
</el-dropdown-menu>
278270
</template>
279271
</el-dropdown>
280272
</template>
281273
</el-table-column>
282274
</app-table>
283275
</el-card>
284-
<SyncWebDialog ref="SyncWebDialogRef"/>
285-
<GenerateRelatedDialog ref="GenerateRelatedDialogRef" apiType="systemManage"/>
276+
<SyncWebDialog ref="SyncWebDialogRef" />
277+
<GenerateRelatedDialog ref="GenerateRelatedDialogRef" apiType="systemManage" />
286278
<ResourceAuthorizationDrawer
287279
:type="SourceTypeEnum.KNOWLEDGE"
288280
ref="ResourceAuthorizationDrawerRef"
@@ -292,26 +284,26 @@
292284
</template>
293285

294286
<script lang="ts" setup>
295-
import {onMounted, ref, reactive, computed, watch} from 'vue'
296-
import {useRouter, useRoute} from 'vue-router'
287+
import { onMounted, ref, reactive, computed, watch } from 'vue'
288+
import { useRouter, useRoute } from 'vue-router'
297289
import KnowledgeResourceApi from '@/api/system-resource-management/knowledge'
298290
import UserApi from '@/api/user/user'
299291
import SyncWebDialog from '@/views/knowledge/component/SyncWebDialog.vue'
300292
import GenerateRelatedDialog from '@/components/generate-related-dialog/index.vue'
301293
import ResourceAuthorizationDrawer from '@/components/resource-authorization-drawer/index.vue'
302-
import {datetimeFormat} from '@/utils/time'
303-
import {loadPermissionApi} from '@/utils/dynamics-api/permission-api.ts'
294+
import { datetimeFormat } from '@/utils/time'
295+
import { loadPermissionApi } from '@/utils/dynamics-api/permission-api.ts'
304296
import permissionMap from '@/permission'
305-
import {MsgSuccess, MsgConfirm} from '@/utils/message'
306-
import {SourceTypeEnum} from '@/enums/common'
307-
import {t} from '@/locales'
297+
import { MsgSuccess, MsgConfirm } from '@/utils/message'
298+
import { SourceTypeEnum } from '@/enums/common'
299+
import { t } from '@/locales'
308300
import useStore from '@/stores'
309-
import {hasPermission} from '@/utils/permission'
310-
import {PermissionConst, RoleConst} from '@/utils/permission/data'
311-
import ResourceMappingDrawer from "@/components/resource_mapping/index.vue";
301+
import { hasPermission } from '@/utils/permission'
302+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
303+
import ResourceMappingDrawer from '@/components/resource_mapping/index.vue'
312304
313305
const router = useRouter()
314-
const {user} = useStore()
306+
const { user } = useStore()
315307
316308
const permissionPrecise = computed(() => {
317309
return permissionMap['knowledge']['systemManage']
@@ -329,13 +321,8 @@ const ManagePermission = () => {
329321
}
330322
331323
const MoreFilledPermission = () => {
332-
return (
333-
permissionPrecise.value.sync() ||
334-
permissionPrecise.value.generate() ||
335-
permissionPrecise.value.edit() ||
336-
permissionPrecise.value.export() ||
337-
permissionPrecise.value.delete() ||
338-
permissionPrecise.value.auth()
324+
return (['sync', 'generate', 'edit', 'export', 'delete', 'auth', 'relate_map'] as const).some(
325+
(key) => permissionPrecise.value[key](),
339326
)
340327
}
341328
@@ -392,7 +379,9 @@ const exportZipKnowledge = (item: any) => {
392379
function deleteKnowledge(row: any) {
393380
MsgConfirm(
394381
`${t('views.knowledge.delete.confirmTitle')}${row.name} ?`,
395-
row.resource_count > 0 ? t('views.knowledge.delete.resourceCountMessage', row.resource_count) : '',
382+
row.resource_count > 0
383+
? t('views.knowledge.delete.resourceCountMessage', row.resource_count)
384+
: '',
396385
{
397386
confirmButtonText: t('common.confirm'),
398387
confirmButtonClass: 'danger',
@@ -404,8 +393,7 @@ function deleteKnowledge(row: any) {
404393
MsgSuccess(t('common.deleteSuccess'))
405394
})
406395
})
407-
.catch(() => {
408-
})
396+
.catch(() => {})
409397
}
410398
411399
const GenerateRelatedDialogRef = ref<InstanceType<typeof GenerateRelatedDialog>>()
@@ -445,7 +433,7 @@ watch(
445433
v.label.toLowerCase().includes(filterText.value.toLowerCase()),
446434
)
447435
},
448-
{immediate: true},
436+
{ immediate: true },
449437
)
450438
451439
function filterWorkspaceChange(val: string) {
@@ -468,7 +456,7 @@ async function getWorkspaceList() {
468456
}
469457
470458
const search_type_change = () => {
471-
search_form.value = {name: '', create_user: ''}
459+
search_form.value = { name: '', create_user: '' }
472460
}
473461
474462
function getList() {

0 commit comments

Comments
 (0)