fix: Chat_log_permission
parent
6b17b450d4
commit
53e67caaff
|
|
@ -59,15 +59,16 @@ import type { FormInstance, FormRules } from 'element-plus'
|
||||||
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
const props = defineProps<{
|
const props = withDefaults(defineProps<{
|
||||||
data?: {
|
data?: any,
|
||||||
type: object
|
postKnowledgeHandler?: (knowledge_list:Array<any>) => Array<any>
|
||||||
default: () => null
|
|
||||||
}
|
|
||||||
apiType: 'systemShare' | 'workspace' | 'systemManage'
|
apiType: 'systemShare' | 'workspace' | 'systemManage'
|
||||||
isApplication?: boolean,
|
isApplication?: boolean,
|
||||||
workspaceId?: string,
|
workspaceId?: string,
|
||||||
}>()
|
}>(), {
|
||||||
|
postKnowledgeHandler: (k_l: Array<any>) => k_l,
|
||||||
|
data: () => null
|
||||||
|
})
|
||||||
|
|
||||||
const { user } = useStore()
|
const { user } = useStore()
|
||||||
|
|
||||||
|
|
@ -111,8 +112,10 @@ const loadTree = async (node: any, resolve: any) => {
|
||||||
}
|
}
|
||||||
await loadSharedApi({ type: 'knowledge', systemType: props.apiType })
|
await loadSharedApi({ type: 'knowledge', systemType: props.apiType })
|
||||||
.getKnowledgeList(obj, optionLoading)
|
.getKnowledgeList(obj, optionLoading)
|
||||||
|
.then((ok: any)=>ok.data)
|
||||||
|
.then(props.postKnowledgeHandler)
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
resolve(res.data)
|
resolve(res)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,9 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<SelectKnowledgeDocument
|
<SelectKnowledgeDocument
|
||||||
|
v-if="detail.workspace_id"
|
||||||
ref="SelectKnowledgeDocumentRef"
|
ref="SelectKnowledgeDocumentRef"
|
||||||
|
:post-knowledge-handler="postKnowledgeHandler"
|
||||||
:apiType="apiType"
|
:apiType="apiType"
|
||||||
@changeKnowledge="changeKnowledge"
|
@changeKnowledge="changeKnowledge"
|
||||||
@changeDocument="changeDocument"
|
@changeDocument="changeDocument"
|
||||||
|
|
@ -75,6 +77,10 @@ import type { FormInstance, FormRules } from 'element-plus'
|
||||||
import imageApi from '@/api/image'
|
import imageApi from '@/api/image'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
||||||
|
import { Permission } from '@/utils/permission/type'
|
||||||
|
import { hasPermission } from '@/utils/permission'
|
||||||
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const {
|
const {
|
||||||
params: { id },
|
params: { id },
|
||||||
|
|
@ -87,6 +93,18 @@ const apiType = computed(() => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const postKnowledgeHandler = (knowledgeList: Array<any>) => {
|
||||||
|
return knowledgeList.filter(item => {
|
||||||
|
if (apiType.value === 'workspace') {
|
||||||
|
return hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole(),
|
||||||
|
new Permission("KNOWLEDGE_DOCUMENT:READ+EDIT").getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
new Permission("KNOWLEDGE_DOCUMENT:READ+EDIT").getWorkspaceResourcePermission('KNOWLEDGE', item.id)], 'OR')
|
||||||
|
} else if (apiType.value === 'systemManage') {
|
||||||
|
return hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_DOCUMENT_EDIT],'OR')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const emit = defineEmits(['refresh'])
|
const emit = defineEmits(['refresh'])
|
||||||
|
|
||||||
const formRef = ref()
|
const formRef = ref()
|
||||||
|
|
@ -127,7 +145,6 @@ const SelectKnowledgeDocumentRef = ref()
|
||||||
const dialogVisible = ref<boolean>(false)
|
const dialogVisible = ref<boolean>(false)
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const detail = ref<any>({})
|
const detail = ref<any>({})
|
||||||
|
|
||||||
const form = ref<any>({
|
const form = ref<any>({
|
||||||
chat_id: '',
|
chat_id: '',
|
||||||
record_id: '',
|
record_id: '',
|
||||||
|
|
|
||||||
|
|
@ -222,6 +222,7 @@
|
||||||
:close-on-press-escape="false"
|
:close-on-press-escape="false"
|
||||||
>
|
>
|
||||||
<SelectKnowledgeDocument
|
<SelectKnowledgeDocument
|
||||||
|
:post-knowledge-handler="postKnowledgeHandler"
|
||||||
ref="SelectKnowledgeDocumentRef"
|
ref="SelectKnowledgeDocumentRef"
|
||||||
:apiType="apiType"
|
:apiType="apiType"
|
||||||
:workspace-id="detail.workspace_id"
|
:workspace-id="detail.workspace_id"
|
||||||
|
|
@ -252,6 +253,10 @@ import { t } from '@/locales'
|
||||||
import { ElTable } from 'element-plus'
|
import { ElTable } from 'element-plus'
|
||||||
import permissionMap from '@/permission'
|
import permissionMap from '@/permission'
|
||||||
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
||||||
|
import { Permission } from '@/utils/permission/type'
|
||||||
|
import { hasPermission } from '@/utils/permission'
|
||||||
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
||||||
const apiType = computed(() => {
|
const apiType = computed(() => {
|
||||||
|
|
@ -349,7 +354,18 @@ const filter = ref<any>({
|
||||||
min_trample: 0,
|
min_trample: 0,
|
||||||
comparer: 'and',
|
comparer: 'and',
|
||||||
})
|
})
|
||||||
|
const postKnowledgeHandler = (knowledgeList: Array<any>) => {
|
||||||
|
return knowledgeList.filter(item => {
|
||||||
|
if (apiType.value === 'workspace') {
|
||||||
|
return hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole(),
|
||||||
|
new Permission("KNOWLEDGE_DOCUMENT:READ+EDIT").getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
new Permission("KNOWLEDGE_DOCUMENT:READ+EDIT").getWorkspaceResourcePermission('KNOWLEDGE', item.id)], 'OR')
|
||||||
|
} else if (apiType.value === 'systemManage') {
|
||||||
|
return hasPermission([RoleConst.ADMIN, PermissionConst.RESOURCE_KNOWLEDGE_DOCUMENT_EDIT],'OR')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
function filterChange(val: string) {
|
function filterChange(val: string) {
|
||||||
if (val === 'clear') {
|
if (val === 'clear') {
|
||||||
filter.value = cloneDeep(defaultFilter)
|
filter.value = cloneDeep(defaultFilter)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue