From c4dcd43ef5c1d6cc2d65f0056bcf91c9d1135921 Mon Sep 17 00:00:00 2001 From: han2015 <1019850453@qq.com> Date: Thu, 21 Aug 2025 15:40:40 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Donlyoffice=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E4=BF=AE=E6=94=B9=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/doc/manage.vue | 4 +++- src/views/doc/onlyoffice.vue | 2 +- src/views/doc/space.vue | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/views/doc/manage.vue b/src/views/doc/manage.vue index 1441dbd..efcd1ef 100644 --- a/src/views/doc/manage.vue +++ b/src/views/doc/manage.vue @@ -691,7 +691,7 @@ const handleSelectionChange = (val:matterInfo[]) => { :default-expanded-keys="['root']" @node-click="onNodeClick" /> - 共享空间 + 共享空间 { From 795d14f6de25acfd011fab7ad6b05e8ac0e64fc7 Mon Sep 17 00:00:00 2001 From: han2015 <1019850453@qq.com> Date: Wed, 10 Sep 2025 08:49:15 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=8F=8C=E5=87=BB=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=92=8C=E5=8F=B3=E9=94=AE=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/doc/type.ts | 3 ++- src/views/doc/manage.vue | 47 ++++++++++++++++++++++------------ src/views/doc/space.vue | 55 +++++++++++++++++++++------------------- 3 files changed, 62 insertions(+), 43 deletions(-) diff --git a/src/api/doc/type.ts b/src/api/doc/type.ts index 41a2c2b..b7ae54c 100644 --- a/src/api/doc/type.ts +++ b/src/api/doc/type.ts @@ -63,9 +63,10 @@ export type matterTreeList = PageResult export type matterResutList = PageResult export interface createDir{ - userUuid:string; + userUuid?:string; puuid:string; name:string; + space?:string; } export interface createShare{ diff --git a/src/views/doc/manage.vue b/src/views/doc/manage.vue index db20948..28d775d 100644 --- a/src/views/doc/manage.vue +++ b/src/views/doc/manage.vue @@ -337,6 +337,14 @@ function onCreateDir(){ }) } +function onDBclickMatter(row:matterInfo){ + if(row.dir){ + onNodeClick(row as matterTree,null,null,null) + }else{ + onPrivateView(row) + } +} + //树节点展开 function onNodeExpand(node: TreeNode, resolve: (data: matterTree[]) => void, reject: () => void) { if ((node.data as matterTree).uuid) { @@ -627,7 +635,7 @@ function onSpaceNodeClick(data:matterTree,node:TreeNode,self:any,env:any){ uuid: data.uuid ?? "", userUuid: data.userUuid ?? "", manager: data.manager ?? false, - permits:data.permits ??{} + permits:data.permits ?? { id: 0, MatterUuid: '', data: '' } }; PRIVATESPACE.value=false; }else{ @@ -768,7 +776,7 @@ const handleSelectionChange = (val:matterInfo[]) => { - 根目录/ + 根目录/ {{ currentNode.name }} @@ -821,7 +829,7 @@ const handleSelectionChange = (val:matterInfo[]) => { - + @@ -858,20 +866,20 @@ const handleSelectionChange = (val:matterInfo[]) => { - + {{ row.name }} - - - - - - - + + 预览 + 分享 + 下载 + 编辑 + 删除 + @@ -969,10 +977,10 @@ const handleSelectionChange = (val:matterInfo[]) => { flex-wrap: wrap; /* 关键属性,允许子元素自动换行 */ .grid-item{ position: relative; - height: 134px; - width: 134px; + width: 134px; margin: 5px; .grid-box{ + height: 150px; display: flex; flex-direction: column; overflow: hidden; @@ -982,9 +990,16 @@ const handleSelectionChange = (val:matterInfo[]) => { .grid-menus{ position: absolute; top: 10px; - button{ - color: #000000; - margin: 4px; + left: 72px; + background-color: #ffffff; + width: 60px; + line-height: 27px; + text-align: center; + color: #878989; + box-shadow:0px 0px 12px rgba(0,0,0,0.12); + li{ + cursor: pointer; + border-bottom: 1px solid #ccc; } } .grid{ diff --git a/src/views/doc/space.vue b/src/views/doc/space.vue index b5baa67..619693d 100644 --- a/src/views/doc/space.vue +++ b/src/views/doc/space.vue @@ -67,7 +67,6 @@ const props = withDefaults(defineProps<{ siteHost:string, owner:string, apiURL:string, - roles:string, listOrGrid:boolean, ismanager:boolean, spacePermit:matterPermit, @@ -101,7 +100,7 @@ function onAccessManage(){ let permited = btoa(_list.join("|")) doAccessManage(props.uid,{ "space":props.spaceid, - "roles":permited, + "roles":permited, "owner":props.owner, "len":_list.length }).then(()=>{ @@ -138,7 +137,6 @@ function onDelMatter(row:matterInfo){ doDelSpaceMatter(props.uid,{ "uuid":row.uuid, "space":props.spaceid, - "roles":props.roles, }).then(()=>{ currentNode.value.uuid = row.puuid ?? "" currentNode.value.name = row.path ? row.path.replace(`/${row.name}`,'').match(/[^/]+$/g)?.pop() :"上级目录" @@ -172,7 +170,6 @@ function onLoadMatterList(){ puuid:currentNode.value.uuid, deleted:false, space:props.spaceid, - roles:props.roles, }; getSpaceMatterList(props.uid,_page).then((resp)=>{ @@ -245,7 +242,6 @@ function onCreateDir(){ puuid:currentNode.value.uuid, name:newdirName.value, space:props.spaceid, - roles:props.roles, }).then((resp)=> { newdirName.value="" onLoadMatterList() @@ -254,6 +250,7 @@ function onCreateDir(){ ElMessage.error(e.msg) }) } + //------------------------------------------ // @cell-dblclick="handleDoubleClick" 取消了目录双击打开功能 //打开一个目录 @@ -308,13 +305,11 @@ function handleDoubleClick(row:matterInfo,ind?:number){ onLoadMatterList() } */ + }else{ + onPrivateView(row) } } -function checkMatterPermit(){ - -} - function handleMouseEnter(row:any){ currentHoverRow.value=row.name } @@ -416,7 +411,6 @@ async function doCreateMultyDir(path:string,uuid:string){ puuid:uuid, name:dirs[i], space:props.spaceid, - roles:props.roles, }).then((resp)=> { uuid=resp.data.uuid //第一级别的uuid, 是第二级的puuid list.push(resp.data) @@ -549,12 +543,13 @@ function isOwner(){ [ {{ props.spacename }} ] : - + + {{ currentNode.name }} @@ -597,7 +592,7 @@ function isOwner(){ - + @@ -636,7 +631,7 @@ function isOwner(){ - + @@ -644,15 +639,15 @@ function isOwner(){ 智能体 - - - - + + 预览 + 下载 + 编辑 - - + 删除 + 权限 - + @@ -684,10 +679,10 @@ function isOwner(){ flex-wrap: wrap; /* 关键属性,允许子元素自动换行 */ .grid-item{ position: relative; - height: 134px; width: 134px; margin: 5px; .grid-box{ + height: 150px; display: flex; flex-direction: column; overflow: hidden; @@ -697,9 +692,17 @@ function isOwner(){ .grid-menus{ position: absolute; top: 10px; - button{ - color: black; - margin: 4px; + left: 72px; + background-color: #ffffff; + width: 60px; + line-height: 27px; + text-align: center; + color: #878989; + z-index: 999; + box-shadow:0px 0px 12px rgba(0,0,0,0.12); + li{ + cursor: pointer; + border-bottom: 1px solid #ccc; } } .grid{ From 908d7ba689f2d194d6e90e555d84ad3a6da879a8 Mon Sep 17 00:00:00 2001 From: han2015 <1019850453@qq.com> Date: Wed, 10 Sep 2025 10:42:13 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=99=BA=E8=83=BD=E4=BD=93=E5=AD=90?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E6=96=87=E4=BB=B6AI=E8=AE=AD=E7=BB=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/doc/manage.vue | 3 ++- src/views/doc/space.vue | 26 ++++++++++---------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/views/doc/manage.vue b/src/views/doc/manage.vue index 28d775d..1392f46 100644 --- a/src/views/doc/manage.vue +++ b/src/views/doc/manage.vue @@ -645,7 +645,8 @@ function onSpaceNodeClick(data:matterTree,node:TreeNode,self:any,env:any){ name:data.name, agent:data.agent, dir:true, - permits:data.permits + permits:data.permits, + path:data.path } //打开具体的节点 spaceEleRef.value.handleDoubleClick(matter) diff --git a/src/views/doc/space.vue b/src/views/doc/space.vue index 619693d..37f1b58 100644 --- a/src/views/doc/space.vue +++ b/src/views/doc/space.vue @@ -17,7 +17,6 @@ import { Download, Plus, Edit, - Folder, Setting, } from '@element-plus/icons-vue' import {ElMessage,UploadFile,UploadFiles,ElPagination} from "element-plus"; @@ -52,8 +51,7 @@ enum PERMITS { } //-----------AI--------------------- -//const agent=ref<{model:boolean,name:string}>({}) -const currentAgent=ref<{model:boolean,name:string,uuid:string}>({}) +const currentAgent=ref<{model:boolean,name:string,uuid:string,path:string}>({}) //--------------------------------- @@ -78,6 +76,7 @@ const props = withDefaults(defineProps<{ watch(props,()=>{ currentNode.value.uuid="root" currentNode.value.name="根目录" + currentAgent.value.path="root" onLoadMatterList() }) @@ -275,7 +274,7 @@ function handleDoubleClick(row:matterInfo,ind?:number){ } if(row.agent){ - currentAgent.value={name:row.name,model:false,uuid:row.uuid} + currentAgent.value={name:row.name,model:false,uuid:row.uuid,path:row.path} } isNewNode=true //1:如果是当前目录的父组件没必要更新目录树 @@ -296,10 +295,6 @@ function handleDoubleClick(row:matterInfo,ind?:number){ }else{ //进入下一级 //如果目录是一个智能体,把当前智能体设置为该目录 - if(row.agent){ - currentAgent.value={name:row.name,model:false,uuid:row.uuid} - } - currentNode.value=row breadcrumbList.value.push(row) onLoadMatterList() @@ -447,7 +442,7 @@ function onAiAgent(){ } function handleAiUpload(info:matterInfo){ //只有当前路径是智能体,上传文件才会进行训练 - if (currentNode.value.agent){ + if (info.path?.startsWith(currentAgent.value.path)){ doAiTraining(`/agents/${currentAgent.value.uuid}/updates`,{"matter":info.uuid}).then(resp=>{ console.log(resp) }) @@ -508,7 +503,7 @@ function getSpaceImageDURL(_uuid:string,_name:string){ onMounted(() => { currentNode.value.uuid="root" //设置默认的AI智能体 - currentAgent.value={name:"通用AI",model:false,uuid:defaultAiAgent} + currentAgent.value={name:"通用AI",model:false,uuid:defaultAiAgent,path:"root"} if (props.ismanager) { CutLevelPermit.value=PERMITS.MANAGER @@ -539,17 +534,16 @@ function isOwner(){ - - [ {{ props.spacename }} ] : - - {{ currentNode.name }} + + / {{ currentNode.name }} @@ -630,7 +624,7 @@ function isOwner(){ - +