Bladeren bron

Merge remote-tracking branch 'origin/v3' into v3

wukai 1 jaar geleden
bovenliggende
commit
3a92e2a6a3

BIN
src/assets/images/home/p2wL.png


BIN
src/assets/images/home/p2wR.png


+ 21 - 1
src/components/IdentifyFont/IdentifyFont.vue

@@ -151,13 +151,27 @@ watch(
   }
 );
 onMounted(async () => {
+  // console.log('textData.value',textData.value);
+  const cTextData = sessionStorage.getItem('textData')
+  const imgStr = sessionStorage.getItem('showImg')
+  const cImg = imgStr?JSON.parse(imgStr):''
+  // console.log('cTextData',cTextData);
+  // console.log('cImg',cImg);
+  if(cImg && cTextData){
+    // TODO
+    thisStep.value = "end"
+    textData.value = cTextData
+     showImg.value = cImg
+    loadingPreview.value = false;
+    return
+  }
   let route = useRoute();
   let docId = route.query.docId;
   let fileId = route.query.fileId;
   let fileType = route.query.fileType;
   const JparData = history.state.clickRowId;
   const parData = JSON.parse(JparData);
-  console.log("parData", parData);
+  // console.log("parData", parData);
   if (parData && JparData != "N") {
     docId = parData.docId;
     fileId = parData.fileId;
@@ -181,6 +195,8 @@ onMounted(async () => {
     // })
     thisStep.value = "end";
     textData.value = res.msg;
+    sessionStorage.setItem('textData',textData.value)
+    sessionStorage.setItem('showImg',JSON.stringify(showImg.value))
   } else {
     loadingPreview.value = false;
   }
@@ -193,6 +209,8 @@ const handleAvatarSuccess = (msg, file) => {
   if (msg.code === 200) {
     textData.value = msg.msg;
     thisStep.value = "end";
+    sessionStorage.setItem('textData',textData.value)
+    sessionStorage.setItem('showImg',JSON.stringify(showImg.value))
   } else {
     thisStep.value = "start";
     textData.value = null;
@@ -241,6 +259,8 @@ const fileChangeMsg = async (val) => {
   const res = await ocrRemark(data.remark);
   thisStep.value = "end";
   textData.value = res.msg;
+  sessionStorage.setItem('textData',textData.value)
+    sessionStorage.setItem('showImg',JSON.stringify(showImg.value))
   // console.log("res", res);
   // console.log("imgRes", imgRes);
 };

+ 7 - 2
src/components/LeftList/LeftList.vue

@@ -61,6 +61,10 @@ const props = defineProps({
     type: String,
     default: "",
   },
+  collectId: {
+    type: Number,
+    default: 0,
+  },
 });
 const emit = defineEmits(["listfolderClick", "treeRClick"]);
 const treeData = ref();
@@ -137,7 +141,8 @@ const getTopDir = async () => {
   const res = await documents.getTop(props.spaceType);
   // console.log("topres", res);
   curArr.value.push(res.dirId);
-  // console.log("curArr", curArr.value);
+  curArr.value.push(props.collectId);
+  console.log("curArr", curArr.value);
   topId.value = res.dirId;
   return;
 };
@@ -183,7 +188,7 @@ watch(
     } else {
       expandedNodes.push(topId.value);
     }
-    console.log("expandedNodes", expandedNodes);
+    // console.log("expandedNodes", expandedNodes);
     // 把这当从服务器拉取数据
     treeData.value = JSON.parse(JSON.stringify(newValue));
     // 更新数据后, 有过滤条件的执行过滤, 没有的还原之前的展开状态

+ 1 - 1
src/components/ListShow/ListShow.vue

@@ -398,7 +398,7 @@ watch(
   (newValue, oldValue) => {
     tableData.value = newValue;
     changeSearchType(searchType.value);
-    console.log("watchtableData", tableData.value);
+    // console.log("watchtableData", tableData.value);
   },
   {
     immediate: true,

+ 2 - 2
src/components/Pdf2Word/Pdf2Word.vue

@@ -27,7 +27,7 @@
             :show-file-list="false"
             :before-upload="beforeUp"
           >
-            <img src="@/assets/images/Frame427319159.png" class="avatar" />
+            <img src="@/assets/images/home/p2wL.png" class="avatar" />
             <span>将文件拖入框内/点击按钮上传文件</span>
           </el-upload>
           <div v-else class="img_show">
@@ -55,7 +55,7 @@
             :show-file-list="false"
             :on-success="handleAvatarSuccess"
           >
-            <img src="@/assets/images/FrameYun.png" class="avatar" />
+            <img src="@/assets/images/home/p2wR.png" class="avatar" />
             <span>点击按钮选择文件</span>
           </el-upload>
         </div>

+ 16 - 2
src/components/TreeMenu/TreeMenu.vue

@@ -15,6 +15,14 @@
       <!-- <img src="@/assets/images/textbox.png" alt="" /> -->
       <span class="shouzhi">编辑</span>
     </div>
+    <div class="menu_item" v-if="props.clickRow?.isFavorite ==='N'" @click="collectFn">
+      <!-- <img src="@/assets/images/trash.png" alt="" /> -->
+      <span class="shouzhi">收藏</span>
+    </div>
+    <div class="menu_item" v-else @click="delcollectFn">
+      <!-- <img src="@/assets/images/trash.png" alt="" /> -->
+      <span class="shouzhi">取消收藏</span>
+    </div>
     <div class="menu_item" @click="delFn">
       <!-- <img src="@/assets/images/trash.png" alt="" /> -->
       <span class="shouzhi">删除</span>
@@ -61,14 +69,20 @@ const props = defineProps({
     default: false,
   },
 });
-const emit = defineEmits(["restName", "delName", "upFirstFoler"]);
+const emit = defineEmits(["restName", "delName", "upFirstFoler",'collectFolder','delCollect']);
 const reNameFn = () => {
-  console.log(1);
+  // console.log(1);
   emit("restName");
 };
 const delFn = () => {
   emit("delName");
 };
+const collectFn = () => {
+  emit("collectFolder");
+};
+const delcollectFn = () => {
+  emit("delCollect",props.clickRow,true);
+};
 const editFolder = () => {
   emit("upFirstFoler",props.clickRow);
 };

+ 3 - 3
src/components/historyList/index.vue

@@ -135,14 +135,14 @@ const handleNodeClick = (data) => {
   clickData.value = data;
 };
 const clickIndex = ref("");
-const emit = defineEmits(["changeMsgClose"]);
+const emit = defineEmits(["changeMsgClose",'setHisData']);
 //点击预览
 const previewFileClick =async (item) => {
   console.log('preitem',item);
   const res =await getInfo(item.docId)
-  // console.log('res',res);
+  console.log('res',res);
   addFileTab(res.data,0,0,1,item.fileId);
-  // emit("changeMsgClose", true, item);
+  // emit("setHisData", item);
   isOpen.value = false;
 };
 const clickList = (index) => {

+ 44 - 18
src/views/department/MyFile.vue

@@ -17,7 +17,7 @@
                     style="height: 75vh;overflow-y: auto;">
                     <div class="searchBox">
                         <div v-if="leftShowList === 2" style="width:100%">
-                            <el-input v-model="searchFire" @keyup.enter="fileBlur" class="searchFire" size="large"
+                            <el-input v-model="searchFire" @keyup.enter="fileBlur" @input="fileBlur" class="searchFire" size="large"
                                 placeholder="搜索文件夹" />
                             <el-icon class="SearchIcon" @click="fileBlur">
                                 <Search />
@@ -25,7 +25,7 @@
                         </div>
                          <div v-else style="width:100%">
                             <el-input v-model="searchFolderTree" @keyup.enter="folderBlur" class="searchFire" size="large"
-                                placeholder="搜索文件" />
+                                placeholder="搜索文件" />
                             <el-icon class="SearchIcon" @click="folderBlur">
                                 <Search />
                             </el-icon>
@@ -75,7 +75,7 @@
                             </div>
                         </template>
                     </div>
-                    <LeftList v-else :spaceType="2" :isDept="isDept" @treeRClick="treeRClick" :searchFolderTree="searchFolderTree" :ListtreeData="ListtreeData" @listfolderClick="listfolderClick"></LeftList>
+                    <LeftList v-else :spaceType="2" :collectId="collectId" :isDept="isDept" @treeRClick="treeRClick" :searchFolderTree="searchFolderTree" :ListtreeData="ListtreeData" @listfolderClick="listfolderClick"></LeftList>
                 </div>
                 <div class="expansion">
                     <div class="top_box">
@@ -401,7 +401,7 @@
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
-                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)</div>
+                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)&nbsp;&nbsp;&nbsp;仅支持上传文件格式</div>
                         </template>
                     </el-upload>
                     <template #footer>
@@ -483,7 +483,7 @@
     </div>
     <!-- 扫描文件移动到 -->
     <MoveTo v-if="openScanMove" :spaceType='2' :scanFileArr="scanFileArr" :thisFolder="thisFolder" :openScanMove="openScanMove" @closeOpenScanMove='closeOpenScanMove'></MoveTo>
-    <TreeMenu v-show="showTreeMenu" :spaceType='2' :noEdit="noEdit" :clickRow="clickRow" :isDept="isDept" @upFirstFoler="upFirstFoler" @restName="restName" @delName="delName" :xz="xz" :yz="yz"></TreeMenu>
+    <TreeMenu v-show="showTreeMenu" :spaceType='2' @delCollect="delCollect" @collectFolder="collectFolder" :noEdit="noEdit" :clickRow="clickRow" :isDept="isDept" @upFirstFoler="upFirstFoler" @restName="restName" @delName="delName" :xz="xz" :yz="yz"></TreeMenu>
 </template>
 
 <script>
@@ -700,7 +700,7 @@ export default {
         })
         let ordinaryFolder = ref([ {
                 img: ImgFile.previewIcon,
-                name: "预览"
+                name: "打开"
             },
             {
                 img: ImgFile.collect,
@@ -776,6 +776,7 @@ export default {
         const searchFolderTree = ref()
         const showTreeMenu = ref(false)
         const noEdit = ref(false)//树形节点 右键是否可编辑
+        const collectId = ref()
         const changeSort = async () => {
            isAsc.value == "asc" ? (isAsc.value = "desc") : (isAsc.value = "asc")
         //    refreshFile()
@@ -892,6 +893,7 @@ export default {
             })
         }
         const getFirstFolder = ()=>{
+            getFileTree()
             let obj = {
                     pageNum: 1,
                     pageSize: 9999
@@ -1217,14 +1219,18 @@ export default {
                 loadingPreview.value = false
             }
             if (row.name === '文字识别') {
-                router.push({
-                    path: '/identifyFont',
-                      query: {
-                        docId: copyRow.value.docId,
-                        fileId: copyRow.value.fileId,
-                        fileType: copyFileType.value
+                const itemData = {
+                        name: '文字识别',
+                        path: 'identifyFont',
+                        clickRowId: {
+                            docId: copyRow.value.docId,
+                            fileId: copyRow.value.fileId,
+                            fileType: copyFileType.value
+                        }
                     }
-                })
+                    sessionStorage.setItem('textData','')
+                    sessionStorage.setItem('showImg','')
+                    addFolderAdd(itemData)
             }
             if (row.name === '打开') {
                 loadingPreview.value = true
@@ -1235,6 +1241,7 @@ export default {
                     getInfo(clickRow.value.docId).then((res)=>{
                     // console.log('res',res);
                     clickRow.value = res.data
+                    console.log('thisRole.value',thisRole.value);
                     if(clickRow.value.isFiled === "Y" || !canEditArr.includes(copyFileType.value) || !toRaw(thisRole.value).some(item=>item == "edit")){
                         //归档了或者不允许编辑的格式 就是预览
                         if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
@@ -1611,6 +1618,7 @@ export default {
         }
         // 左边树节点每行点击事件
         function listfolderClick(row,firstData) {
+            leftNewFile.value = false
             if(row){
                 thisFolder.value = row
             }
@@ -1621,8 +1629,9 @@ export default {
             } else {
                 thisFolderRole.value = null
             }
-            console.log('row',row);
-            console.log('rowthisFolderRole',thisFolderRole.value);
+            thisRole.value = row.dirRole?row.dirRole.split(','):[]
+            // console.log('row',row);
+            // console.log('rowthisFolderRole',thisFolderRole.value);
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
              const query = `${newDirId.value}?isAsc=${isAsc.value}&orderByColumn=createTime&pageSize=9999&pageNum=1`
@@ -1941,6 +1950,7 @@ export default {
                 listfolderClick()
             }else {
                 getAllTop()
+                getFirstFolder()
             }
             getSpaceList()
         }
@@ -1990,8 +2000,10 @@ export default {
                 } 
             }
             const res = await delFavorite(query)
-            //TODO 之后需要重新获取数据 并message提示
-            console.log('res',res);
+            ElMessage({
+                type: "success",
+                message: "已取消收藏"
+            })
             refreshFile()
         }
         //获取安全图标
@@ -2265,6 +2277,15 @@ export default {
                 }
                 clickPath(null,addData)
             }
+            if(leftShowList.value === 2){
+                console.log('toList');
+                 // 创建标签
+                const addData = {
+                    path: '/department',
+                    label: '部门文件'
+                }
+                clickPath(null,addData)
+            }
         }
         // 别处过来需要层层打开的文件夹
         const openFolderPath = ()=>{
@@ -2379,6 +2400,10 @@ export default {
         });
         onMounted(() => {
             const hasMsg = localStorage.getItem('leftShowList')
+            if (route.query.clickRowId) {
+                const newRow = JSON.parse(route.query.clickRowId)
+                collectId.value = newRow
+            }
             if(!hasMsg){
                 getConfigKey("dir.style.config").then(response => {
                 leftShowList.value = response.msg - 0;
@@ -2707,7 +2732,8 @@ export default {
             openFolderPath,
             delFolderMenu,
             noEdit,
-            delFileFn
+            delFileFn,
+            collectId
         }
     },
     watch: {

+ 4 - 2
src/views/highSearch/HighSearch.vue

@@ -131,6 +131,8 @@ onMounted(async () => {});
 
 const doSearch = async () => {
   if (!searchText.value) {
+    listData.value = []
+    noData.value = false
     return;
   }
   // console.log("searchText", searchText.value);
@@ -152,7 +154,7 @@ const doSearch = async () => {
       return;
     }
     listData.value = res.data;
-    total.value = res.data.length;
+    total.value = res.total;
     noData.value = false;
     if (res.data.length < size.value) {
       beEnd.value = true;
@@ -178,7 +180,7 @@ const setScroll = async () => {
   console.log(res);
   if (res.data.length > 0) {
     // 如果返回的有数据
-    total.value += res.data.length;
+    // total.value += res.total;
     noData.value = false;
     res.data.forEach((item) => listData.value.push(item));
     if (res.data.length < size.value) {

+ 105 - 12
src/views/myfile/MyFile.vue

@@ -17,7 +17,7 @@
                 <div style="height: 75vh;overflow-y: auto;">
                     <div class="searchBox">
                         <div v-if="leftShowList === 2" style="width:100%">
-                            <el-input v-model="searchFire" @keyup.enter="fileBlur" class="searchFire" size="large"
+                            <el-input v-model="searchFire" @keyup.enter="fileBlur" @input="fileBlur" class="searchFire" size="large"
                                 placeholder="搜索文件夹" />
                             <el-icon class="SearchIcon" @click="fileBlur">
                                 <Search />
@@ -25,7 +25,7 @@
                         </div>
                          <div v-else style="width:100%">
                             <el-input v-model="searchFolderTree" @keyup.enter="folderBlur" class="searchFire" size="large"
-                                placeholder="搜索文件" />
+                                placeholder="搜索文件" />
                             <el-icon class="SearchIcon" @click="folderBlur">
                                 <Search />
                             </el-icon>
@@ -71,7 +71,7 @@
                             </div>
                         </template>
                     </div>
-                    <LeftList v-else :spaceType="3" @treeRClick="treeRClick" :searchFolderTree="searchFolderTree" :ListtreeData="ListtreeData" @listfolderClick="listfolderClick"></LeftList>
+                    <LeftList v-else :spaceType="3" :collectId="collectId" @treeRClick="treeRClick" :searchFolderTree="searchFolderTree" :ListtreeData="ListtreeData" @listfolderClick="listfolderClick"></LeftList>
                 </div>
                 <div class="expansion">
                     <div class="top_box">
@@ -433,7 +433,7 @@
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
-                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)</div>
+                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)&nbsp;&nbsp;&nbsp;仅支持上传文件格式</div>
                         </template>
                     </el-upload>
                     <template #footer>
@@ -490,7 +490,7 @@
     <!-- 图片预览 -->
     <!-- 历史版本 -->
     <historyList v-if="openForwardFile" :openFile="openForwardFile" :docId="clickRowId" :name="nameForm.name"
-        :copyRow="copyRow" @close="openForwardFile = false" :fileUserTreeData="fileUserTreeData.data"
+        :copyRow="copyRow" @setHisData="setHisData" @close="openForwardFile = false" :fileUserTreeData="fileUserTreeData.data"
         @changeMsgClose="changeMsgClose" :historyTotal="historyTotal">
     </historyList>
     <!-- 历史版本 -->
@@ -519,7 +519,20 @@
     </div>
     <!-- 扫描文件移动到 -->
     <MoveTo v-if="openScanMove" :spaceType='3' :scanFileArr="scanFileArr" :thisFolder="thisFolder" :openScanMove="openScanMove" @closeOpenScanMove='closeOpenScanMove'></MoveTo>
-    <TreeMenu v-show="showTreeMenu" :spaceType='3'  @restName="restName" @delName="delName" :xz="xz" :yz="yz"></TreeMenu>
+    <TreeMenu v-show="showTreeMenu" :spaceType='3' @delCollect="delCollect" @collectFolder="collectFolder" :clickRow="clickRow" @restName="restName" @delName="delName" :xz="xz" :yz="yz"></TreeMenu>
+    <!-- 查看历史记录的iframe -->
+      <el-dialog
+        v-model="showHis"
+        title="历史记录"
+        width="1250px"
+        :close-delay='200'
+        :before-close="closeHis"
+    >
+     <iframe :key="nowTime" :src="hisIfarmeData.src" :name="nowTime" id="iframeHis" frameborder="0" width="1200px"
+     height="800px" class="iframeBox" ></iframe>
+    </el-dialog>
+    <!-- <iframe v-if="hisIfarmeData?.src" :src="hisIfarmeData.src" id="iframeHis" frameborder="1" width="1200px"
+     height="800px" class="iframeBox" ></iframe> -->
 </template>
 
 <script>
@@ -785,12 +798,60 @@ export default {
         const delMoreFolder = ref([])
         const inputTitle = ref()//验证框标题
         const isCode = ref(false)// 验证的类型
-        const isAsc = ref("asc");
+        const isAsc = ref("desc");
         const leftShowList = ref()
         const thisFirst = ref()
         const ListtreeData = ref()
         const searchFolderTree = ref()
         const showTreeMenu = ref(false)
+        const nowTime = ref(new Date().getTime())
+        const showHis = ref(false)
+        const collectId = ref()
+        const hisIfarmeData = ref({
+            // src: `${window.location.origin}/fileEdit?clickRowId=7567&canEdit=0&canCopy=0&history=0&fileId=0`,
+        })
+        const setHisData = (data)=>{
+            nowTime.value = new Date().getTime()
+            hisIfarmeData.value = {
+                src:`${window.location.origin}/fileEdit?clickRowId=${data.docId}&canEdit=0&canCopy=0&history=1&fileId=${data.fileId}`,
+            }
+            showHis.value = true
+            const dom = document.getElementById('iframeHis')
+            if(dom){
+                dom.contentWindow.location.reload();
+            }
+            // console.log(21);
+            setTimeout(() => {
+                iframeSize()
+            }, 1000);
+            // console.log('data',data);
+        }
+        // 控制iframe大小
+        const iframeSize = () => {
+        // console.log('执行ifSize',par);
+        const outIframe = document.getElementById("iframeHis");
+        const inIframe =
+            outIframe.contentDocument.getElementsByTagName("iframe")[0];
+        if(inIframe==null){
+            // console.log('没有inF');
+            setTimeout(() => {
+            // console.log('==============');
+            iframeSize()
+            }, 200);
+            return
+        }
+        // console.log('outIframe', outIframe);
+        // console.error(outIframe.parentElement);
+        inIframe.style.height = outIframe.style.height =
+            800 + "px";
+        inIframe.style.width = outIframe.style.width =
+            1200 + "px";
+        }
+        const closeHis = ()=>{
+            // hisIfarmeData.value = {}
+
+            showHis.value = false
+        }
         const changeSort = async () => {
             isAsc.value == "asc" ? (isAsc.value = "desc") : (isAsc.value = "asc");
             // refreshFile()
@@ -906,6 +967,7 @@ export default {
             })
         }
         const getFirstFolder = ()=>{
+            getFileTree()
             let obj = {
                     pageNum: 1,
                     pageSize: 9999,
@@ -1284,6 +1346,8 @@ export default {
                             fileType: copyFileType.value
                         }
                     }
+                    sessionStorage.setItem('textData','')
+                    sessionStorage.setItem('showImg','')
                     addFolderAdd(itemData)
             }
             if (row.name === '打开') {
@@ -1763,6 +1827,7 @@ export default {
         }
         // 左边树节点每行点击事件
         function listfolderClick(row,firstData) {
+            leftNewFile.value = false
             if(row){
                 thisFolder.value = row
             }
@@ -2088,6 +2153,7 @@ export default {
             }else {
                 console.log(222);
                 getAllTop()
+                getFirstFolder()
             }
             getSpaceList()
         }
@@ -2114,7 +2180,7 @@ export default {
         // 取消文件收藏
         const delCollect = async (row, isfolder) => {
             const thisRow = toRaw(row)
-            console.log('thisRow', thisRow);
+            // console.log('thisRow', thisRow);
             let query = {}
             if (isfolder) {
                 query = {
@@ -2128,8 +2194,10 @@ export default {
                 }
             }
             const res = await delFavorite(query)
-            //TODO 之后需要重新获取数据 并message提示
-            // console.log('res', res);
+            ElMessage({
+                type: "success",
+                message: "已取消收藏"
+            })
             refreshFile()
         }
         //获取安全图标
@@ -2389,6 +2457,7 @@ export default {
             console.log('changeLeftShow-',leftShowList.value);
             if(leftShowList.value == 2){
                 getFirstFolder()
+
                 fileList.value = []
             }else{
                 refreshFile()
@@ -2404,6 +2473,15 @@ export default {
                 }
                 clickPath(null,addData)
             }
+            if(leftShowList.value === 2){
+                console.log('toList');
+                 // 创建标签
+                const addData = {
+                    path: '/myfile',
+                    label: '我的文件'
+                }
+                clickPath(null,addData)
+            }
         }
         // 别处过来需要层层打开的文件夹
         const openFolderPath = ()=>{
@@ -2520,6 +2598,10 @@ export default {
         onMounted(() => {
             // if(!thisFolder.value){
             const hasMsg = localStorage.getItem('leftShowList')
+            if (route.query.clickRowId) {
+                const newRow = JSON.parse(route.query.clickRowId)
+                collectId.value = newRow
+            }
             if(!hasMsg){
                 getConfigKey("dir.style.config").then(response => {
                 leftShowList.value = response.msg - 0;
@@ -2852,7 +2934,13 @@ export default {
             delFolderDataFn,
             openFolderPath,
             delFolderMenu,
-            delFileFn
+            delFileFn,
+            hisIfarmeData,
+            setHisData,
+            closeHis,
+            nowTime,
+            showHis,
+            collectId
         }
     },
     watch: {
@@ -2907,7 +2995,12 @@ p {
     justify-content: flex-start;
     overflow: hidden;
 }
-
+// .iframeBox{
+//     position: fixed;
+//     top: 10%;
+//     left: 20%;
+//     z-index: 500000;
+// }
 .settingBox {
     width: 25vw;
     height: 92vh;

+ 6 - 11
src/views/myjoin/MyJoin.vue

@@ -102,6 +102,7 @@ import archiveTray from "@/assets/images/archiveTray.png";
 import {documentation}from "@/api/biz/actor.js"
 import {getInfo}from "@/api/biz/info.js"
 import elTableInfiniteScroll from 'el-table-infinite-scroll'
+import {  setIcon } from "@/utils/index.js";
 export default {
     directives: {
         'el-table-infinite-scroll': elTableInfiniteScroll
@@ -221,17 +222,7 @@ export default {
             // console.log(data, e, 'tab');
         }
         function getImage(file) {
-            if (file === '.txt') {
-                return ImgFile.txt
-            } else if (file === '.xlxs' || file === '.docx') {
-                return ImgFile.xlxs
-            } else if (file === '.pptx') {
-                return ImgFile.pptx
-            } else if (file === '.word') {
-                return ImgFile.word
-            } else if (file === '.pdf') {
-                return ImgFile.pdf
-            }
+            return setIcon(file);
         }
         function formatFileSize(fileSize) {
             if (fileSize >= 1024 * 1024 * 1024) {
@@ -363,6 +354,10 @@ export default {
     background-color: #F5F7F9;
     position: relative;
 }
+.juli{
+    width: 22px;
+    height: 22px;
+}
 .preview {
   width: 100%;
   height: 100%;

+ 43 - 18
src/views/publicment/MyFile.vue

@@ -17,7 +17,7 @@
                     style="height: 75vh;overflow-y: auto;">
                     <div class="searchBox">
                         <div v-if="leftShowList === 2" style="width:100%">
-                            <el-input v-model="searchFire" @keyup.enter="fileBlur" class="searchFire" size="large"
+                            <el-input v-model="searchFire" @keyup.enter="fileBlur" @input="fileBlur" class="searchFire" size="large"
                                 placeholder="搜索文件夹" />
                             <el-icon class="SearchIcon" @click="fileBlur">
                                 <Search />
@@ -25,7 +25,7 @@
                         </div>
                          <div v-else style="width:100%">
                             <el-input v-model="searchFolderTree" @keyup.enter="folderBlur" class="searchFire" size="large"
-                                placeholder="搜索文件" />
+                                placeholder="搜索文件" />
                             <el-icon class="SearchIcon" @click="folderBlur">
                                 <Search />
                             </el-icon>
@@ -73,7 +73,7 @@
                             </div>
                         </template>
                     </div>
-                     <LeftList v-else :spaceType="1" @treeRClick="treeRClick" :searchFolderTree="searchFolderTree" :ListtreeData="ListtreeData" @listfolderClick="listfolderClick"></LeftList>
+                     <LeftList v-else :spaceType="1" :collectId="collectId" @treeRClick="treeRClick" :searchFolderTree="searchFolderTree" :ListtreeData="ListtreeData" @listfolderClick="listfolderClick"></LeftList>
                 </div>
                 <!-- <div class="expansion">
                     <div class="top_box">
@@ -394,7 +394,7 @@
                         <el-icon class="el-icon--upload"><upload-filled /></el-icon>
                         <div class="el-upload__text">拖入或<em>点击上传</em></div>
                         <template #tip>
-                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)</div>
+                            <div class="el-upload__tip">请选择或拖入文件(一次最多上传10个文件)&nbsp;&nbsp;&nbsp;仅支持上传文件格式</div>
                         </template>
                     </el-upload>
                     <template #footer>
@@ -476,7 +476,7 @@
     </div>
     <!-- 扫描文件移动到 -->
     <MoveTo v-if="openScanMove" :spaceType='1' :scanFileArr="scanFileArr" :thisFolder="thisFolder" :openScanMove="openScanMove" @closeOpenScanMove='closeOpenScanMove'></MoveTo>
-     <TreeMenu v-show="showTreeMenu" :spaceType='1' :clickRow="clickRow" :noEdit="noEdit" :isDept="isDept" @upFirstFoler="upFirstFoler" @restName="restName" @delName="delName" :xz="xz" :yz="yz"></TreeMenu>
+     <TreeMenu v-show="showTreeMenu" :spaceType='1' @delCollect="delCollect" @collectFolder="collectFolder" :clickRow="clickRow" :noEdit="noEdit" :isDept="isDept" @upFirstFoler="upFirstFoler" @restName="restName" @delName="delName" :xz="xz" :yz="yz"></TreeMenu>
 </template>
 
 <script>
@@ -700,7 +700,7 @@ export default {
         })
         let ordinaryFolder = ref([ {
             img: ImgFile.previewIcon,
-            name: "预览"
+            name: "打开"
         },
         {
             img: ImgFile.collect,
@@ -772,6 +772,7 @@ export default {
         const searchFolderTree = ref()
         const showTreeMenu = ref(false)
         const noEdit = ref(false)//树形节点 右键是否可编辑
+        const collectId = ref()
         const changeSort = async () => {
            isAsc.value == "asc" ? (isAsc.value = "desc") : (isAsc.value = "asc")
         //    refreshFile()
@@ -886,6 +887,7 @@ export default {
             })
         }
         const getFirstFolder = ()=>{
+            getFileTree()
             let obj = {
                     pageNum: 1,
                     pageSize: 9999
@@ -1198,14 +1200,18 @@ export default {
                 loadingPreview.value = false
             }
             if (row.name === '文字识别') {
-                router.push({
-                    path: '/identifyFont',
-                    query: {
-                        docId: copyRow.value.docId,
-                        fileId: copyFileId.value,
-                        fileType: copyFileType.value
+                const itemData = {
+                        name: '文字识别',
+                        path: 'identifyFont',
+                        clickRowId: {
+                            docId: copyRow.value.docId,
+                            fileId: copyRow.value.fileId,
+                            fileType: copyFileType.value
+                        }
                     }
-                })
+                    sessionStorage.setItem('textData','')
+                    sessionStorage.setItem('showImg','')
+                    addFolderAdd(itemData)
             }
             if (row.name === '打开') {
                 loadingPreview.value = true
@@ -1585,6 +1591,7 @@ export default {
         }
         // 左边树节点每行点击事件
         function listfolderClick(row,firstData) {
+            leftNewFile.value = false
             if(row){
                 thisFolder.value = row
             }
@@ -1595,8 +1602,9 @@ export default {
             } else {
                 thisFolderRole.value = null
             }
-            console.log('row',row);
-            console.log('rowthisFolderRole',thisFolderRole.value);
+            thisRole.value = row.dirRole?row.dirRole.split(','):[]
+            // console.log('row',row);
+            // console.log('rowthisFolderRole',thisFolderRole.value);
             newDirId.value = row.dirId
             newSpaceId.value = row.spaceId
              const query = `${newDirId.value}?isAsc=${isAsc.value}&orderByColumn=createTime&pageSize=9999&pageNum=1`
@@ -1932,6 +1940,7 @@ export default {
                 listfolderClick()
             }else {
                 getAllTop()
+                getFirstFolder()
             }
             getSpaceList()
         }
@@ -1972,8 +1981,10 @@ export default {
                 } 
             }
             const res = await delFavorite(query)
-            //TODO 之后需要重新获取数据 并message提示
-            console.log('res',res);
+            ElMessage({
+                type: "success",
+                message: "已取消收藏"
+            })
             refreshFile()
         }
         //获取安全图标
@@ -2251,6 +2262,15 @@ export default {
                 }
                 clickPath(null,addData)
             }
+            if(leftShowList.value === 2){
+                console.log('toList');
+                 // 创建标签
+                const addData = {
+                    path: '/publicment',
+                    label: '公共文件'
+                }
+                clickPath(null,addData)
+            }
         }
         // 别处过来需要层层打开的文件夹
         const openFolderPath = ()=>{
@@ -2365,6 +2385,10 @@ export default {
         });
         onMounted(() => {
             const hasMsg = localStorage.getItem('leftShowList')
+            if (route.query.clickRowId) {
+                const newRow = JSON.parse(route.query.clickRowId)
+                collectId.value = newRow
+            }
             if(!hasMsg){
                 getConfigKey("dir.style.config").then(response => {
                 leftShowList.value = response.msg - 0;
@@ -2692,7 +2716,8 @@ export default {
             openFolderPath,
             delFolderMenu,
             noEdit,
-            delFileFn
+            delFileFn,
+            collectId
         }
     },
     watch: {

+ 12 - 5
src/views/search/index.vue

@@ -160,7 +160,7 @@ const copyFileType = ref()
 const reload = inject("reload");
 const addFileTab = inject("addFileTab");
 const clickPath = inject("clickPath");
-
+const canSceoll = ref(true)
 const tableData = ref([]);
 // 切换搜索范围
 const changeSearchFor = async(name) => {
@@ -400,13 +400,15 @@ function formatFileSize(fileSize) {
 let numnum = 1
 let numG = 1
 async function handleScroll(e) {
-  console.log(e, '出发了');
+  // console.log(e, '出发了');
   const tableContainer = e.target;
+  if(!canSceoll.value) return
   const scrollPosition = tableContainer.scrollTop + tableContainer.clientHeight;
   const contentHeight = tableContainer.scrollHeight;
-  // console.log(scrollPosition, contentHeight, '对比');
-  if (scrollPosition + 0.40005 >= contentHeight) {
-    console.log('到底了');
+  console.log(scrollPosition, contentHeight, '对比');
+  if (scrollPosition + 150.0005 >= contentHeight) {
+    // console.log('到底了');
+    canSceoll.value = false
     numnum++
     const query = {
       keyword: searchText.value,
@@ -418,6 +420,11 @@ async function handleScroll(e) {
     };
     const res = await flieSearch(query);
     tableData.value = [...tableData.value, ...res.rows]
+    if(tableData.value.length<total.value){
+      setTimeout(() => {
+        canSceoll.value = true
+      }, 1000);
+    }
   }
 }
 async function handleScrollG(e) {