liuQiang před 1 rokem
rodič
revize
586ffd2878

+ 33 - 9
src/components/LeftList/LeftList.vue

@@ -43,9 +43,14 @@ const props = defineProps({
     type: Number,
     default: 0,
   },
+  ListtreeData: {
+    type: Array,
+    default: () => [],
+  },
 });
 const emit = defineEmits(["listfolderClick"]);
 const treeData = ref();
+console.log("treeData", treeData.value);
 const curArr = ref([]); //默认展开一级目录
 const defaultProps = ref({
   label: "label",
@@ -70,22 +75,25 @@ function getFileTree() {
       return nodes;
     }
     // 调用递归函数获取所有节点的 id
-    const arr = getAllNodeIds(treeData.value);
+    getAllNodeIds(treeData.value);
     // console.log("treedataarr", arr);
     // console.log("treeData", treeData.value);
   });
 }
 const checkoutNode = async (node, data) => {
   // console.log("treeData", treeData.value);
-  // console.log("node", node);
+  console.log("node", node);
   // console.log("data", data);
   let thisNode;
   function getLevel2(nodes) {
-    if (nodes.level === 2) {
+    if (nodes?.level === 2) {
       // console.log(2);
       // console.log("nodes", nodes);
       thisNode = toRaw(nodes);
     } else {
+      if (!nodes.parent) {
+        return;
+      }
       // console.log("level", nodes.level);
       getLevel2(nodes.parent);
     }
@@ -94,8 +102,11 @@ const checkoutNode = async (node, data) => {
   console.log("thisNode", thisNode);
   console.log("node", node);
   const res = await getDir(data.id);
-  const resThis = await getDir(thisNode.data.id);
-  emit("listfolderClick", res.data, resThis.data);
+  let resThis;
+  if (thisNode) {
+    resThis = await getDir(thisNode.data.id);
+  }
+  emit("listfolderClick", res.data, resThis?.data);
   // console.log("res", res);
   // console.log("resThis", resThis);
 };
@@ -105,8 +116,8 @@ const setImg = (remark) => {
 const getTopDir = async () => {
   const res = await documents.getTop(3);
   console.log("topres", res);
-  curArr.value.push(res.dirId)
-  return
+  curArr.value.push(res.dirId);
+  return;
   // let userMe;
   // userMe = [res];
   // documents
@@ -135,10 +146,23 @@ const getTopDir = async () => {
   //     console.log("curArr.value", curArr.value);
   //   });
 };
+watch(
+  () => props.ListtreeData,
+  (newValue, oldValue) => {
+    treeData.value = newValue;
+  },
+  {
+    immediate: true,
+    deep: true,
+  }
+);
+defineExpose({
+  getFileTree, // test是向外暴露的方法
+});
 onMounted(() => {
   getTopDir();
 
-  getFileTree();
+  // getFileTree();
 });
 </script>
 
@@ -164,7 +188,7 @@ onMounted(() => {
     font-size: 14px;
     line-height: 22px;
     margin-left: 5px;
-    max-width: 300px;
+    max-width: 150px;
     /*第一步: 溢出隐藏 */
     overflow: hidden;
     /* 第二步:让文本不会换行, 在同一行继续 */

+ 0 - 36
src/components/ListShow/ListShow.vue

@@ -59,42 +59,6 @@
         </el-table-column>
       </el-table>
     </div>
-    <div
-      class="setCli"
-      v-if="cliCC"
-      :style="{ left: xz + 'px', top: yz - 260 + 'px' }"
-    >
-      <template v-for="(item, index) in filterMouseCli()" :key="index">
-        <p @click="chooseSet(item, index, 1)" class="chooseSet">
-          <img :src="item.img" alt="" />
-          {{ item.name }}
-          <span
-            v-if="item.name == '协作' ? true : false"
-            style="color: #7084b4; float: right; position: relative"
-            class="arrow"
-            >></span
-          >
-        </p>
-      </template>
-    </div>
-    <div
-      class="setCli1"
-      v-if="anyP"
-      :style="{ left: xz + 155 + 'px', top: yz + 'px' }"
-    >
-      <p @click="chooseSet1(0)" class="chooseSet">
-        <img src="../../assets/images/user.png" alt="" />
-        选择人员
-      </p>
-      <p
-        class="chooseSet"
-        @click="goLock"
-        v-if="clickRow.isActor === 'Y' && clickRow.isFiled != 'Y'"
-      >
-        <img src="../../assets/images/archiveTray.png" alt="" />
-        归档
-      </p>
-    </div>
   </div>
 </template>
 

+ 41 - 6
src/components/Pdf2Word/Pdf2Word.vue

@@ -39,7 +39,6 @@
             class="avatar-uploader"
             :http-request="test"
             :show-file-list="false"
-            :on-success="handleAvatarSuccess"
             :before-upload="beforeUp"
           >
             <span>选择本地文件</span>
@@ -174,12 +173,46 @@ const test=function(file){
           }
 	    }).then(function(res){
         console.log('testres',res);
-	        if(res.headers['content-disposition'] !== undefined){
+	        // if(res.headers['content-disposition'] !== undefined){
+	            let blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' })
+	            let fileName = decodeURI(res.headers['content-disposition']) 
+	          if (fileName) { 
+	            // fileName = fileName.substring(fileName.indexOf('=') + 1)
+	            // fileName = fileName.substring(0,fileName.lastIndexOf('.'))
+				// alert(fileName)
+	          }
+	          const elink = document.createElement('a') 
+            console.log('fileName',fileName);
+	          elink.download = fileName.replace(new RegExp('"', 'g'), '')+'.docx'
+	          elink.style.display = 'none'
+	          elink.href = URL.createObjectURL(blob) 
+	          document.body.appendChild(elink) 
+	          elink.click() 
+	          URL.revokeObjectURL(elink.href) 
+	          document.body.removeChild(elink) 
+            loadingPreview.value = false
+	        // }
+	    })
+}
+const fileId2Word=function(fileId){
+  console.log('fileId',fileId);
+	const url=`${window.location.origin}${import.meta.env.VITE_APP_BASE_API}/biz/info/pdf2word/${fileId}`;
+	 return axios({
+	        method:'get',
+	        url:url,
+	        responseType:'blob',
+          headers:{
+            "Authorization":Cookies.get('Admin-Token'),
+            'Content-Type': 'multipart/form-data'
+          }
+	    }).then(function(res){
+        console.log('testres',res);
+	        // if(res.headers['content-disposition'] !== undefined){
 	            let blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' })
 	            let fileName = decodeURI(res.headers['content-disposition']) 
 	          if (fileName) { 
-	            fileName = fileName.substring(fileName.indexOf('=') + 1)
-	            fileName = fileName.substring(0,fileName.lastIndexOf('.'))
+	            // fileName = fileName.substring(fileName.indexOf('=') + 1)
+	            // fileName = fileName.substring(0,fileName.lastIndexOf('.'))
 				// alert(fileName)
 	          }
 	          const elink = document.createElement('a') 
@@ -192,7 +225,7 @@ const test=function(file){
 	          URL.revokeObjectURL(elink.href) 
 	          document.body.removeChild(elink) 
             loadingPreview.value = false
-	        }
+	        // }
 	    })
 }
 
@@ -250,7 +283,9 @@ const addlibraryImg = async () => {
 //确定选中图片
 const fileChangeMsg = async (val) => {
   console.log('val', toRaw(val))
-  const res = await getInfo(val.id)
+  loadingPreview.value = true
+  fileId2Word(val.remark)
+  // const res = await getInfo(val.id)
   // const data = toRaw(val)
   // const imgRes = await preview(data.id)
   // thisStep.value = 'loading'

+ 198 - 171
src/views/myfile/MyFile.vue

@@ -62,7 +62,7 @@
                             </div>
                         </template>
                     </div>
-                    <LeftList v-else :spaceType="3" @listfolderClick="listfolderClick"></LeftList>
+                    <LeftList v-else :spaceType="3" :ListtreeData="ListtreeData" @listfolderClick="listfolderClick"></LeftList>
                 </div>
                 <div class="expansion">
                     <div class="top_box">
@@ -96,7 +96,7 @@
                     <!-- 众多功能 -->
                     <div class="manyUse">
                         <div class="useMenu">
-                            <div v-if="thisFolder.dirType == '1' && pathLabelData.length"
+                            <div v-if="thisFolder.dirType == '1' && (pathLabelData.length || leftShowList == 0)  && thisFolder.parentId != 0"
                                 style="display: flex;width: 92px;height: 32px;justify-content: flex-start;align-items: center;line-height: 18px;">
                                 <div style="margin-left: 5px;">
                                     <img src="../../assets/images/upload.png" style="width: 24px;height: 24px;" alt="">
@@ -192,188 +192,188 @@
                             <span>使用右键进行文件操作</span>
                        </div>
                     </div>
-                    <div v-if="leftShowList == 1">
-                    <!-- 面包屑功能栏 -->
-                    <div class="breadBox">
-                        <!-- 左侧 -->
-                        <div style="display: flex;justify-content: space-around;align-items: center;margin-left: 10px;">
-                            <!-- 前进后退 -->
-                            <!-- <div style="display: flex;justify-content: space-around;align-items: center;">
-                                <img style="display:block;width: 11px;height: 11px;" :src="blueLeft" alt=""
-                                    @click="arrowLift">
-                                <img style="display:block;width: 16px;height: 16px;" :src="grayRight" alt="">
-                            </div> -->
-                            <!-- 面包屑 -->
-                            <div class="topPath">
-                                <!-- <el-icon><ArrowDown /></el-icon> -->
-                                <span @click="backTopPath">{{ topPath }}</span>
-                                <PathLabel v-if="!loadingPreview" @folderClick="folderClick" :pathLabelData='pathLabelData'></PathLabel>
-                                <!-- <BreadMenu></BreadMenu> -->
+                    <div v-show="leftShowList == 1">
+                        <!-- 面包屑功能栏 -->
+                        <div class="breadBox">
+                            <!-- 左侧 -->
+                            <div style="display: flex;justify-content: space-around;align-items: center;margin-left: 10px;">
+                                <!-- 前进后退 -->
+                                <!-- <div style="display: flex;justify-content: space-around;align-items: center;">
+                                    <img style="display:block;width: 11px;height: 11px;" :src="blueLeft" alt=""
+                                        @click="arrowLift">
+                                    <img style="display:block;width: 16px;height: 16px;" :src="grayRight" alt="">
+                                </div> -->
+                                <!-- 面包屑 -->
+                                <div class="topPath">
+                                    <!-- <el-icon><ArrowDown /></el-icon> -->
+                                    <span @click="backTopPath">{{ topPath }}</span>
+                                    <PathLabel v-if="!loadingPreview" @folderClick="folderClick" :pathLabelData='pathLabelData'></PathLabel>
+                                    <!-- <BreadMenu></BreadMenu> -->
+                                </div>
                             </div>
-                        </div>
-                        <!-- 右侧 -->
-                        <div>
-                             <img
-                                src="@/assets/images/sort.png"
-                                @click="changeSort"
-                                v-if="isAsc == 'asc'"
+                            <!-- 右侧 -->
+                            <div>
+                                <img
+                                    src="@/assets/images/sort.png"
+                                    @click="changeSort"
+                                    v-if="isAsc == 'asc'"
+                                    alt=""
+                                />
+                                <img
+                                    src="@/assets/images/Frame_188.png"
+                                    @click="changeSort"
+                                    v-else
+                                    alt=""
+                                />
+                                <!-- //控制宫格展示 -->
+                                <img
+                                v-if="fileGrid"
+                                src="@/assets/images/squre.png"
+                                class="shouzhi palace-grid"
                                 alt=""
-                            />
-                            <img
-                                src="@/assets/images/Frame_188.png"
-                                @click="changeSort"
+                                @click="changeShow(true)"
+                                />
+                                <img
                                 v-else
+                                src="@/assets/images/Frame_187.png"
+                                class="shouzhi palace-grid"
                                 alt=""
-                            />
-                            <!-- //控制宫格展示 -->
-                            <img
-                              v-if="fileGrid"
-                              src="@/assets/images/squre.png"
-                              class="shouzhi palace-grid"
-                              alt=""
-                              @click="changeShow(true)"
-                            />
-                            <img
-                              v-else
-                              src="@/assets/images/Frame_187.png"
-                              class="shouzhi palace-grid"
-                              alt=""
-                              @click="changeShow(false)"
-                            />
-                            <!-- <img :src="squre" alt="" @click="gridChange" class="shouzhi"> -->
-                        </div>
-                    </div>
-                <!-- </div> -->
-                <!-- 展示文件夹盒子 -->
-                <!-- 文件夹 -->
-                <div class="showBox">
-                    <div class="detailBox file-jia" @click="mouseClick">
-                        <el-collapse v-model="folder" >
-                            <el-collapse-item name="1" class="custom-collapse-item">
-                                <template #title>
-                                    <span class="file-title">文件夹</span>
-                                </template>
-                                <el-table v-if="fileGrid == 1" height="37vh" :data="folderList" style="width: 100%" :scrollbar-always-on="true"
-                                    @selection-change="handleSelectionChange1" :single-select="true" @row-click="folderClick"
-                                    @row-contextmenu="folderRClick" ref="taskTableRef">
-                                    <el-table-column type="selection" width="55" />
-                                    <el-table-column label="名称" :show-overflow-tooltip="true" width="600">
-                                        <template #default="scope">
-                                            <span style="display: flex;align-items: center;">
-                                                <el-icon v-if="scope.row.isFavorite == 'N'" @click.stop="collectByStar(scope.row,true)" style="margin-right: 7px;">
-                                                    <Star />
-                                                </el-icon>
-                                                <img v-else @click.stop="delCollect(scope.row,true)" src="../../assets/images/yellowstar.png" alt="">
-                                                <img src="../../assets/images/fileBox.png" style="width: 20px;height: 24px;margin-right: 5px;"
-                                                    alt="">
-                                                    <span class="shouzhi">{{ scope.row.dirName }}</span>
-                                                </span>
-                                            </template>
-                                        </el-table-column>
-                                        <el-table-column prop="createTime" label="时间" width="280" />
-                                        <el-table-column label="加密等级">
-                                            <template #default="scope">
-                                                <span>
-                                                    {{setTablelevel(scope.row.encryptLevel)}}
-                                                </span>
-                                            </template>
-                                        </el-table-column>
-                                    </el-table>
-                                    <PlaceGridFolder v-else @folderClick="folderClick" :folderList="folderList" :restName="restName"
-                                        :collectFolder="collectFolder" @collectByStar="collectByStar" @delCollect="delCollect" @setScroll="setScroll" @folderRClick="folderRClick" :getAllTop="getAllTop" @folderBack="folderBack" :thisFolder="thisFolder">
-                                    </PlaceGridFolder>
-                                </el-collapse-item>
-                            </el-collapse>
-                            <!-- 右键唤出的菜单 -->
-                            <div class="right_menu shouzhi" v-if="folderVisible"
-                                :style="{ left: folderleft + 'px', top: foldertop + 'px' }">
-                                <!-- <div class="menu_item" @click="folderClick(null, null)">
-                                    <img src="@/assets/images/trash.png" alt="" />
-                                    <span>打开</span>
-                                </div> -->
-                                <div class="menu_item" @click="restName(null, null)">
-                                    <img src="@/assets/images/textbox.png" alt="" />
-                                    <span>重命名</span>
-                                </div>
-                                <div class="menu_item" @click="collectFolder">
-                                    <img src="@/assets/images/collect.png" alt="" />
-                                    <span>收藏</span>
-                                </div>
+                                @click="changeShow(false)"
+                                />
+                                <!-- <img :src="squre" alt="" @click="gridChange" class="shouzhi"> -->
                             </div>
                         </div>
-                        <!-- 文件 -->
-                        <div class="fileTable">
-                            <el-collapse v-model="files">
-                                <el-collapse-item name="2" class="custom-collapse-item">
+                    <!-- </div> -->
+                    <!-- 展示文件夹盒子 -->
+                    <!-- 文件夹 -->
+                        <div class="showBox">
+                            <div class="detailBox file-jia" @click="mouseClick">
+                            <el-collapse v-model="folder" >
+                                <el-collapse-item name="1" class="custom-collapse-item">
                                     <template #title>
-                                       <span class="file-title">文件</span>
+                                        <span class="file-title">文件夹</span>
                                     </template>
-                                    <el-table v-el-table-infinite-scroll="setScroll" :infinite-scroll-distance="30"
-                                        :infinite-scroll-disabled="tableBeEnd" v-if="fileGrid == 1" :height="fileHeight"
-                                        :data="fileList" :scrollbar-always-on="true" style="width: 100%;"
-                                        @row-contextmenu="handleRowClick" @selection-change="handleSelectionChange"
-                                        @row-click="mouseClick" :default-sort="{ prop: 'createTime', order: 'descending' }">
+                                    <el-table v-if="fileGrid == 1" height="37vh" :data="folderList" style="width: 100%" :scrollbar-always-on="true"
+                                        @selection-change="handleSelectionChange1" :single-select="true" @row-click="folderClick"
+                                        @row-contextmenu="folderRClick" ref="taskTableRef">
                                         <el-table-column type="selection" width="55" />
-                                        <el-table-column label="名称" width="600">
+                                        <el-table-column label="名称" :show-overflow-tooltip="true" width="600">
                                             <template #default="scope">
-                                                <span
-                                                    style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: flex;align-items: center;">
-                                                    <el-icon v-if="scope.row.isFavorite == 'N'"
-                                                        @click.stop="collectByStar(scope.row, false)"
-                                                        style="margin-right: 7px;">
+                                                <span style="display: flex;align-items: center;">
+                                                    <el-icon v-if="scope.row.isFavorite == 'N'" @click.stop="collectByStar(scope.row,true)" style="margin-right: 7px;">
                                                         <Star />
                                                     </el-icon>
-                                                    <img v-else @click.stop="delCollect(scope.row, false)"
-                                                        src="../../assets/images/yellowstar.png" alt=""
-                                                        style="margin-right: 5px;">
-                                                    <img :src="setImg(scope.row.fileType)" style="width:22px;height:22px;" alt="">
-                                                    <el-tooltip class="box-item" effect="dark" placement="top"
-                                                        :show-after="1000" :content="scope.row.fileName">
-                                                        <!-- <template #content> {{ scope.row.encryptLevel == 'L1'?'敏感':(scope.row.encryptLevel == 'L2'?'涉密':(scope.row.encryptLevel == 'L3'?'机密':'绝密')) }} </template> -->
-                                                        <span class="shouzhi">{{ scope.row.fileName }}</span>
-                                                    </el-tooltip>
-                                                    <!-- <span class="shouzhi">{{ scope.row.fileName }}</span> -->
-                                                </span>
-                                            </template>
-                                        </el-table-column>
-                                        <el-table-column prop="createTime" label="时间" sortable width="280" />
-                                        <el-table-column prop="fileType" label="类型" />
-                                        <el-table-column label="大小">
-                                            <template #default="scope">
-                                                <span>
-                                                    {{ formatFileSize(scope.row.fileSize) }}
-                                                </span>
-                                            </template>
-                                        </el-table-column>
-                                    </el-table>
-                                    <PalaceGridFile v-else :fileHeight="fileHeight" :getAllTop="getAllTop" @navBack="navBack"
-                                        @lastBB="lastBB"  @collectByStar="collectByStar" @delCollect="delCollect" @setScroll="setScroll" @handleRowClick="handleRowClick" @onlineCase="onlineCase" @shareBack="shareBack" :thisFolder="thisFolder" :fileList="fileList"></PalaceGridFile>
-                                </el-collapse-item>
-                            </el-collapse>
-                            <!-- <div class="setCli" v-if="cliCC" :style="{ left: xz + 'px', top: yz - 260 + 'px' }">
-                                <template v-for="(item, index) in filterMouseCli()" :key="index">
-                                    <p @click="chooseSet(item, index, 1)" class="chooseSet">
-                                        <img :src="item.img" alt="">
-                                        {{ item.name }}
-                                        <span v-if=" item.name == '协作' ? true : false"
-                                            style="color: #7084B4;float: right;position: relative;" class="arrow">></span>
+                                                    <img v-else @click.stop="delCollect(scope.row,true)" src="../../assets/images/yellowstar.png" alt="">
+                                                    <img src="../../assets/images/fileBox.png" style="width: 20px;height: 24px;margin-right: 5px;"
+                                                        alt="">
+                                                        <span class="shouzhi">{{ scope.row.dirName }}</span>
+                                                    </span>
+                                                </template>
+                                            </el-table-column>
+                                            <el-table-column prop="createTime" label="时间" width="280" />
+                                            <el-table-column label="加密等级">
+                                                <template #default="scope">
+                                                    <span>
+                                                        {{setTablelevel(scope.row.encryptLevel)}}
+                                                    </span>
+                                                </template>
+                                            </el-table-column>
+                                        </el-table>
+                                        <PlaceGridFolder v-else @folderClick="folderClick" :folderList="folderList" :restName="restName"
+                                            :collectFolder="collectFolder" @collectByStar="collectByStar" @delCollect="delCollect" @setScroll="setScroll" @folderRClick="folderRClick" :getAllTop="getAllTop" @folderBack="folderBack" :thisFolder="thisFolder">
+                                        </PlaceGridFolder>
+                                    </el-collapse-item>
+                                </el-collapse>
+                                <!-- 右键唤出的菜单 -->
+                                <div class="right_menu shouzhi" v-if="folderVisible"
+                                    :style="{ left: folderleft + 'px', top: foldertop + 'px' }">
+                                    <!-- <div class="menu_item" @click="folderClick(null, null)">
+                                        <img src="@/assets/images/trash.png" alt="" />
+                                        <span>打开</span>
+                                    </div> -->
+                                    <div class="menu_item" @click="restName(null, null)">
+                                        <img src="@/assets/images/textbox.png" alt="" />
+                                        <span>重命名</span>
+                                    </div>
+                                    <div class="menu_item" @click="collectFolder">
+                                        <img src="@/assets/images/collect.png" alt="" />
+                                        <span>收藏</span>
+                                    </div>
+                                </div>
+                            </div>
+                            <!-- 文件 -->
+                            <div class="fileTable">
+                                <el-collapse v-model="files">
+                                    <el-collapse-item name="2" class="custom-collapse-item">
+                                        <template #title>
+                                        <span class="file-title">文件</span>
+                                        </template>
+                                        <el-table v-el-table-infinite-scroll="setScroll" :infinite-scroll-distance="30"
+                                            :infinite-scroll-disabled="tableBeEnd" v-if="fileGrid == 1" :height="fileHeight"
+                                            :data="fileList" :scrollbar-always-on="true" style="width: 100%;"
+                                            @row-contextmenu="handleRowClick" @selection-change="handleSelectionChange"
+                                            @row-click="mouseClick" :default-sort="{ prop: 'createTime', order: 'descending' }">
+                                            <el-table-column type="selection" width="55" />
+                                            <el-table-column label="名称" width="600">
+                                                <template #default="scope">
+                                                    <span
+                                                        style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: flex;align-items: center;">
+                                                        <el-icon v-if="scope.row.isFavorite == 'N'"
+                                                            @click.stop="collectByStar(scope.row, false)"
+                                                            style="margin-right: 7px;">
+                                                            <Star />
+                                                        </el-icon>
+                                                        <img v-else @click.stop="delCollect(scope.row, false)"
+                                                            src="../../assets/images/yellowstar.png" alt=""
+                                                            style="margin-right: 5px;">
+                                                        <img :src="setImg(scope.row.fileType)" style="width:22px;height:22px;" alt="">
+                                                        <el-tooltip class="box-item" effect="dark" placement="top"
+                                                            :show-after="1000" :content="scope.row.fileName">
+                                                            <!-- <template #content> {{ scope.row.encryptLevel == 'L1'?'敏感':(scope.row.encryptLevel == 'L2'?'涉密':(scope.row.encryptLevel == 'L3'?'机密':'绝密')) }} </template> -->
+                                                            <span class="shouzhi">{{ scope.row.fileName }}</span>
+                                                        </el-tooltip>
+                                                        <!-- <span class="shouzhi">{{ scope.row.fileName }}</span> -->
+                                                    </span>
+                                                </template>
+                                            </el-table-column>
+                                            <el-table-column prop="createTime" label="时间" sortable width="280" />
+                                            <el-table-column prop="fileType" label="类型" />
+                                            <el-table-column label="大小">
+                                                <template #default="scope">
+                                                    <span>
+                                                        {{ formatFileSize(scope.row.fileSize) }}
+                                                    </span>
+                                                </template>
+                                            </el-table-column>
+                                        </el-table>
+                                        <PalaceGridFile v-else :fileHeight="fileHeight" :getAllTop="getAllTop" @navBack="navBack"
+                                            @lastBB="lastBB"  @collectByStar="collectByStar" @delCollect="delCollect" @setScroll="setScroll" @handleRowClick="handleRowClick" @onlineCase="onlineCase" @shareBack="shareBack" :thisFolder="thisFolder" :fileList="fileList"></PalaceGridFile>
+                                    </el-collapse-item>
+                                </el-collapse>
+                                <!-- <div class="setCli" v-if="cliCC" :style="{ left: xz + 'px', top: yz - 260 + 'px' }">
+                                    <template v-for="(item, index) in filterMouseCli()" :key="index">
+                                        <p @click="chooseSet(item, index, 1)" class="chooseSet">
+                                            <img :src="item.img" alt="">
+                                            {{ item.name }}
+                                            <span v-if=" item.name == '协作' ? true : false"
+                                                style="color: #7084B4;float: right;position: relative;" class="arrow">></span>
+                                        </p>
+                                    </template>
+                                </div>
+                                <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz + 'px' }">
+                                    <p @click="chooseSet1(0)" class="chooseSet">
+                                        <img src="../../assets/images/user.png" alt="">
+                                        选择人员
+                                    </p>
+                                    <p class="chooseSet" @click="goLock" v-if="clickRow.isActor === 'Y' && clickRow.isFiled != 'Y'">
+                                        <img src="../../assets/images/archiveTray.png" alt="">
+                                        归档
                                     </p>
-                                </template>
+                                </div> -->
                             </div>
-                            <div class="setCli1" v-if="anyP" :style="{ left: xz + 155 + 'px', top: yz + 'px' }">
-                                <p @click="chooseSet1(0)" class="chooseSet">
-                                    <img src="../../assets/images/user.png" alt="">
-                                    选择人员
-                                </p>
-                                <p class="chooseSet" @click="goLock" v-if="clickRow.isActor === 'Y' && clickRow.isFiled != 'Y'">
-                                    <img src="../../assets/images/archiveTray.png" alt="">
-                                    归档
-                                </p>
-                            </div> -->
                         </div>
                     </div>
-                    </div>
-                    <ListShow v-else :fileList="fileList" @handleRowClick="handleRowClick"></ListShow>
+                    <ListShow v-show="leftShowList == 0" :fileList="fileList" @handleRowClick="handleRowClick"></ListShow>
 
                 </div>
             </div>
@@ -780,6 +780,7 @@ export default {
         const isAsc = ref("desc");
         const leftShowList = ref(localStorage.getItem('leftShowList') ||1)
         const thisFirst = ref()
+        const ListtreeData = ref()
         const changeSort = async () => {
             isAsc.value == "asc" ? (isAsc.value = "desc") : (isAsc.value = "asc");
             refreshFile()
@@ -885,11 +886,35 @@ export default {
                 })
         }
         function getSpaceList() {
+            getFileTree()
+            // ListShowRef.value?.getFileTree()
             myfile.fileType(3).then(res => {
                 useSpace.value = res.data.usedCap
                 allSpace.value = res.data.spaceCap
             })
         }
+        //获取文件树
+        function getFileTree() {
+        documents.fileTree(3).then((res) => {
+            res.disabled = true;
+            ListtreeData.value = [res];
+            function getAllNodeIds(nodes) {
+            nodes.forEach((node) => {
+                if (node.remark) {
+                node.remark = JSON.parse(node.remark);
+                }
+                if (node.children && node.children.length > 0) {
+                getAllNodeIds(node.children);
+                }
+            });
+            return nodes;
+            }
+            // 调用递归函数获取所有节点的 id
+            getAllNodeIds(ListtreeData.value);
+            // console.log("treedataarr", arr);
+            // console.log("treeData", treeData.value);
+        });
+        }
         function changeFile(row, num) {
             // 创建标签
              const labelItem = {
@@ -1480,7 +1505,7 @@ export default {
             // console.log('row',row);
             // console.log('rightRow',row);
             // 如果label没有值说明点的是一级目录
-            if(!pathLabelData.value[0]){
+            if(!pathLabelData.value[0] && leftShowList.value == 1){
                  // 创建标签
                 const addData = {
                     path: '/myfile' + row.dirId,
@@ -1874,7 +1899,7 @@ export default {
             if(edit){
                 getFirstFolder()
             }
-            if (toRaw(thisFolder.value).dirId && !leftNewFile.value) {//如果点开了文件夹
+            if (toRaw(thisFolder.value)?.dirId && !leftNewFile.value) {//如果点开了文件夹
                 folderClick()
                 console.log(111);
             } else {
@@ -2543,7 +2568,9 @@ export default {
             changeLeftShow,
             thisFirst,
             listfolderClick,
-            clickPath
+            clickPath,
+            ListtreeData,
+            getFileTree
         }
     },
     watch: {