Browse Source

Merge branch 'v3' of http://94.191.59.107:3000/houwenfeng/cloudfile-ui into v3

“yueshang” 1 year ago
parent
commit
1ea29066de

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

@@ -59,6 +59,7 @@ import { listVersion } from "@/api/biz/version";
 import eyes from "@/assets/images/eyes.png";
 import useUserStore from "@/store/modules/user";
 import { defineEmits } from "vue";
+import {getInfo} from "@/api/biz/info.js"
 
 const props = defineProps({
   openFile: {
@@ -136,9 +137,11 @@ const handleNodeClick = (data) => {
 const clickIndex = ref("");
 const emit = defineEmits(["changeMsgClose"]);
 //点击预览
-const previewFileClick = (item) => {
-  console.log('preitem',item);
-  // addFileTab(item,0);
+const previewFileClick =async (item) => {
+  // console.log('preitem',item);
+  const res =await getInfo(item.docId)
+  // console.log('res',res);
+  addFileTab(res.data,0,0,1);
   // emit("changeMsgClose", true, item);
   isOpen.value = false;
 };

+ 6 - 5
src/layout/indexCommon.vue

@@ -643,8 +643,9 @@ const filePaneClick = (item) => {
   //   console.log("editableTabsValue", editableTabsValue.value);
 };
 // 创建文件的标签
-const addFileTab = (data, bool,copy) => {
+const addFileTab = (data, bool,copy,history) => {
   // console.log("addFileTab", data);
+  history = history?history:0
   const thisData = JSON.parse(JSON.stringify(toRaw(data)));
   const oldIFrameData = iFrameData.value;
   const canAdd = oldIFrameData.some((par) => par.src == ""); //是否达到上限
@@ -654,7 +655,7 @@ const addFileTab = (data, bool,copy) => {
     // 已存在打开当前的并且改变编辑状态
     const thisPane = toRaw(hasThis)
     // 如果编辑状态改变了 先删除旧的 再新建
-    if(thisPane.src != `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}` ){
+    if(thisPane.src != `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}&history=${history}&fileId=${thisData.fileId}` ){
       // console.log('buyiyang',`${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}`);
       const arr = oldIFrameData.map((par) => {
           if (par.id === thisPane.id) {
@@ -669,7 +670,7 @@ const addFileTab = (data, bool,copy) => {
         if (!par.src) {
           if (thisData.docId) {
             // par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}`;
-            par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}`;
+            par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}&history=${history}&fileId=${thisData.fileId}`;
             par.name = data.fileName;
             par.docId = data.docId
             par.show = true
@@ -691,7 +692,7 @@ const addFileTab = (data, bool,copy) => {
     // console.log('hasThis',thisPane);
     const arr = oldIFrameData.map((par) => {
       if (par.id == thisPane.id) {
-        `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}`
+        `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}&history=${history}&fileId=${thisData.fileId}`
         par.show = true
         editableTabsValue.value = par.id// 标签跳转
         setTimeout(() => {
@@ -711,7 +712,7 @@ const addFileTab = (data, bool,copy) => {
     if (!par.src) {
       if (thisData.docId) {
         // par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}`;
-        par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}`;
+        par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}&canEdit=${bool}&canCopy=${copy}&history=${history}&fileId=${thisData.fileId}`;
         par.name = data.fileName;
         par.docId = data.docId
         par.show = true

+ 21 - 10
src/views/department/MyFile.vue

@@ -16,8 +16,8 @@
                 <div
                     style="height: 75vh;overflow-y: auto;">
                     <div class="searchBox">
-                        <el-input v-model="searchFire" class="searchFire" size="large" placeholder="搜索文件" />
-                        <el-icon class="SearchIcon">
+                        <el-input v-model="searchFire" @keyup.enter="fileBlur"  class="searchFire" size="large" placeholder="搜索文件" />
+                        <el-icon class="SearchIcon" @click="fileBlur">
                             <Search />
                         </el-icon>
                     </div>
@@ -218,7 +218,7 @@
 
                                 </el-table>
                                 <PlaceGridFolder v-else @folderClick="folderClick" :restName="restName"
-                                    :collectFolder="collectFolder" :getAllTop="getAllTop" @folderBack="folderBack"  :thisFolder="thisFolder" :impDirId="impDirId">
+                                    :collectFolder="collectFolder" @folderRClick="folderRClick" :getAllTop="getAllTop" @folderBack="folderBack"  :thisFolder="thisFolder" :impDirId="impDirId">
                                 </PlaceGridFolder>
                             </el-collapse-item>
                         </el-collapse>
@@ -282,7 +282,7 @@
                                     </el-table-column>
                                 </el-table>
                                 <PalaceGridFile v-else @showFile="showFile" :getAllTop="getAllTop" @navBack="navBack"
-                                    @lastBB="lastBB" @onlineCase="onlineCase" @shareBack="shareBack"  :thisFolder="thisFolder" :fileList="fileList"></PalaceGridFile>
+                                    @lastBB="lastBB" @handleRowClick="handleRowClick" @onlineCase="onlineCase" @shareBack="shareBack"  :thisFolder="thisFolder" :fileList="fileList"></PalaceGridFile>
                             </el-collapse-item>
                         </el-collapse>
                         <div :class="{'setCli':!noMenuItem}" v-if="cliCC" :style="{ left: xz + 'px', top: yz -100 + 'px' }">
@@ -466,7 +466,7 @@ export default {
         let rename = ref(false)//文件夹重命名
         let spaces = ref(false)//空间扩容父传子
         let folderCase = ref(false)
-        let fileGrid = ref(sessionStorage.getItem('fileGrid') || 0)
+        let fileGrid = ref(sessionStorage.getItem('fileGrid') || 1)
         let folderGrid = ref(true)
         let editOnline = ref(true)
         let searchFire = ref('')
@@ -715,6 +715,17 @@ export default {
                 })
             })
         }
+        function fileBlur() {
+            if (searchFire.value == '') {
+                getAllTop()
+            } else {
+                const searchTerm = searchFire.value.trim().toLowerCase(); // 转换为小写字母并去除首尾空格
+                fileMenu.value = fileMenu.value.filter(item => {
+                    const dirName = item.dirName.trim();
+                    return dirName.includes(searchTerm);
+                });
+            }
+        }
         function getSpaceList() {
             myfile.fileType(3).then(res => {
                 useSpace.value = res.data.usedCap
@@ -895,7 +906,7 @@ export default {
                 // const filePreview = canPreviewFile(copyFileType.value)
                 // if (filePreview) {
                      loadingPreview.value = false
-                    if(thisFolderRole.value.roles && thisFolderRole.value.roles.l0800){
+                    if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
                         addFileTab(clickRow.value, 1,1);
                     }else{
                        addFileTab(clickRow.value, 1,0); 
@@ -926,7 +937,7 @@ export default {
                 if (filePreview) {
                     loadingPreview.value = false
                     // addTab(clickRow.value);
-                    if(thisFolderRole.value.roles && thisFolderRole.value.roles.l0800){
+                    if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
                         addFileTab(clickRow.value, 0,1);
                     }else{
                        addFileTab(clickRow.value, 0,0); 
@@ -1460,7 +1471,7 @@ export default {
         //点击收藏后刷新文件
         const refreshFile = ()=>{
             // console.log('ref',toRaw(thisFolder.value));
-            if(toRaw(thisFolder.value).dirIdd && !leftNewFile.value){//如果点开了文件夹
+            if(toRaw(thisFolder.value).dirId && !leftNewFile.value){//如果点开了文件夹
             // console.log(111);
                folderClick()
             }else{
@@ -1905,8 +1916,8 @@ export default {
             getLevelList,
             closeUpload,
             handleRemove,
-            loadingUpload
-
+            loadingUpload,
+            fileBlur
         }
     },
     watch: {

+ 24 - 21
src/views/department/components/PalaceGridFile.vue

@@ -249,27 +249,30 @@ export default {
                 return ImgFile.elseFile
             }
         }
-        function rightClick(row, event) {
-            event.preventDefault()
-            isFolder.value = "N"
-            clickRow.value = row
-            xz.value = event.pageX
-            yz.value = event.pageY
-            copyRow.value = row
-            clickRowId.value = row.docId
-            copyDirId.value = row.dirId
-            copySpaceId.value = row.spaceId
-            copyFileId.value = row.fileId
-            copyFileSize.value = row.fileSize
-            copyFileType.value = row.fileType
-            nameForm.value.name = row.fileName
-            copyFileName.value = row.fileName
-            if (cliCC.value === true) {
-                cliCC.value = false
-            } else {
-                cliCC.value = true
-            }
-        }
+        // function rightClick(row, event) {
+        //     event.preventDefault()
+        //     isFolder.value = "N"
+        //     clickRow.value = row
+        //     xz.value = event.pageX
+        //     yz.value = event.pageY
+        //     copyRow.value = row
+        //     clickRowId.value = row.docId
+        //     copyDirId.value = row.dirId
+        //     copySpaceId.value = row.spaceId
+        //     copyFileId.value = row.fileId
+        //     copyFileSize.value = row.fileSize
+        //     copyFileType.value = row.fileType
+        //     nameForm.value.name = row.fileName
+        //     copyFileName.value = row.fileName
+        //     if (cliCC.value === true) {
+        //         cliCC.value = false
+        //     } else {
+        //         cliCC.value = true
+        //     }
+        // }
+       const rightClick = (row,e)=>{
+        emit("handleRowClick", row,null,e)
+       }
         //对mouseCli数组进行筛选,实现菜单的区分显示
         const filterMouseCli = () => {
             const canPreviewArray = ['.doc', '.docm', '.docx', '.dot', '.dotm', '.dotx', '.epub', '.fodt', '.htm', '.html', '.mht', '.odt', '.ott', '.pdf', '.rtf', '.txt', '.djvu', '.xps', 'csv', 'fods', 'ods', 'ots', 'xls', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx', 'fodp', 'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx']

+ 19 - 16
src/views/department/components/PlaceGridFolder.vue

@@ -5,7 +5,7 @@
             <div class="bigBox" style="height: 250px; overflow: auto;" v-if="folderListGrid?.length">
                 <template v-for="(item, index) in folderListGrid" :key="index">
                     <!-- 循环盒子 -->
-                    <div class="flexBox" @contextmenu="rightClick(item, index, $event)" @click="folderClickGrid(item)">
+                    <div class="flexBox" @contextmenu="rightClick(item, $event)" @click="folderClickGrid(item)">
                         <!-- 图片 -->
                         <div class="imgBox">
                             <img :src="item.dirType=='1'?fileBox:ordinaryList"
@@ -135,21 +135,24 @@ export default {
                 // })
             })
         }
-        function rightClick(row, num, eve) {
-            eve.preventDefault();
-            eve.stopPropagation();
-            folderleft.value = eve.pageX
-            foldertop.value = eve.pageY
-            copyDir.value = row.dirId
-            copySpa.value = row.spaceId
-            copyNma.value = row.dirName
-            copyFir.value = row.dirName
-            if (folderVisible.value) {
-                folderVisible.value = false
-            } else {
-                folderVisible.value = true
-            }
-        }
+        // function rightClick(row, num, eve) {
+        //     eve.preventDefault();
+        //     eve.stopPropagation();
+        //     folderleft.value = eve.pageX
+        //     foldertop.value = eve.pageY
+        //     copyDir.value = row.dirId
+        //     copySpa.value = row.spaceId
+        //     copyNma.value = row.dirName
+        //     copyFir.value = row.dirName
+        //     if (folderVisible.value) {
+        //         folderVisible.value = false
+        //     } else {
+        //         folderVisible.value = true
+        //     }
+        // }
+        const rightClick = (row,e)=>{
+        emit("folderRClick", row,null,e)
+       }
         function mouseClick() {
             folderVisible.value = false
         }

+ 3 - 3
src/views/department/modalComponebts/CreateFloder.vue

@@ -12,7 +12,7 @@
                             <el-radio :label="2">组织目录</el-radio>
                         </el-radio-group>
                     </el-form-item>
-                   <template v-if="boserForm.dirType === 2 || thisType.dirType == '2'">
+                   <template v-if="(boserForm.dirType === 2 || thisType.dirType == '2')">
                     <template v-if="!upFolderData">
                         <el-form-item label="是否加密" v-if="!FolderRole.levelCode || free">
                             <el-switch v-model="boserForm.isEncrypt" active-value="Y" inactive-value="N" />
@@ -128,7 +128,7 @@ export default {
         const openTrans = ref(true)
         // console.log("FolderRole",FolderRole);
         // console.log("thisRole",thisRole);
-        // console.log("thisType",thisType);
+        console.log("thisType",thisType);
         console.log("upFolderData",upFolderData);
         let addBoser = ref(false)
         let boserForm = ref({
@@ -212,7 +212,7 @@ export default {
                             "spaceId": newspid - 0,
                             "dirType":boserForm.value.dirType,
                             "isEncrypt":boserForm.value.isEncrypt,
-                            "encryptLevel":boserForm.value.isEncrypt == "Y"?boserForm.value.encryptLevel:null
+                            "encryptLevel":(boserForm.value.isEncrypt == "Y" && boserForm.value.dirType == "2")?boserForm.value.encryptLevel:null
                         }
                     }
                     if(thisRole.length){

+ 7 - 7
src/views/myfile/MyFile.vue

@@ -244,7 +244,7 @@
                                         </el-table-column>
                                     </el-table>
                                     <PlaceGridFolder v-else @folderClick="folderClick" :restName="restName"
-                                        :collectFolder="collectFolder" :getAllTop="getAllTop" @folderBack="folderBack" :thisFolder="thisFolder">
+                                        :collectFolder="collectFolder" @folderRClick="folderRClick" :getAllTop="getAllTop" @folderBack="folderBack" :thisFolder="thisFolder">
                                     </PlaceGridFolder>
                                 </el-collapse-item>
                             </el-collapse>
@@ -258,7 +258,7 @@
                                 <div class="menu_item" @click="restName(null, null)">
                                     <img src="@/assets/images/textbox.png" alt="" />
                                     <span>重命名</span>
-                                </div>shareBack
+                                </div>
                                 <div class="menu_item" @click="collectFolder">
                                     <img src="@/assets/images/collect.png" alt="" />
                                     <span>收藏</span>
@@ -311,7 +311,7 @@
                                         </el-table-column>
                                     </el-table>
                                     <PalaceGridFile v-else :getAllTop="getAllTop" @navBack="navBack"
-                                        @lastBB="lastBB" @onlineCase="onlineCase" @shareBack="shareBack" :thisFolder="thisFolder" :fileList="fileList"></PalaceGridFile>
+                                        @lastBB="lastBB" @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' }">
@@ -495,7 +495,7 @@ export default {
         let rename = ref(false)//文件夹重命名
         let spaces = ref(false)//空间扩容父传子
         let folderCase = ref(false)
-        let fileGrid = ref(sessionStorage.getItem('fileGrid') || 0)
+        let fileGrid = ref(sessionStorage.getItem('fileGrid') || 1)
         let folderGrid = ref(true)
         let editOnline = ref(true)
         let searchFire = ref('')
@@ -966,7 +966,7 @@ export default {
                 // const filePreview = canPreviewFile(copyFileType.value)
                 // if (filePreview) {
                 loadingPreview.value = false
-                if(thisFolderRole.value.roles && thisFolderRole.value.roles.l0800){
+                if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
                         addFileTab(clickRow.value, 1,1);
                     }else{
                        addFileTab(clickRow.value, 1,0); 
@@ -1024,7 +1024,7 @@ export default {
                 const filePreview = canPreviewFile(copyFileType.value)
                 if (filePreview) {
                     loadingPreview.value = false
-                    if(thisFolderRole.value.roles && thisFolderRole.value.roles.l0800){
+                    if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
 
                         addFileTab(clickRow.value, 0,1);
                     }else{
@@ -1076,7 +1076,7 @@ export default {
             }
         }
         function threeBe(data,newFileData) {
-            if(thisFolderRole.value.roles && thisFolderRole.value.roles.l0800){
+            if(thisFolderRole.value && thisFolderRole.value.roles.l0800){
                         addFileTab(newFileData, 1,1);
                     }else{
                        addFileTab(newFileData, 1,0); 

+ 65 - 32
src/views/myfile/components/FileEdit.vue

@@ -47,6 +47,7 @@ export default {
   },
   setup(props) {
     let docId = props.docId || '';
+    let fileId = ''
     let copyRow = props.copyRow || '';
     const router = useRouter(); //注册路由
     const route = useRoute();
@@ -66,9 +67,9 @@ export default {
     });
     let show = ref(true);
     let newObj = ref({});
-    function oo(docId, isEdit,isCopy) {
-      console.log('uid',uid);
-      if (docId && !props.historyPrew) {     
+    function oo(docId, isEdit,isCopy,history,fileId) {
+      // console.log('isEdit',isEdit);
+      if (docId && history == '0') {     
         getInfo(docId).then((response) => {
           const obj = response.data;
           obj.isEdit = isEdit == 1?true:false;
@@ -76,47 +77,74 @@ export default {
           newObj.value = obj;
           option.value.isEdit = obj.isEdit;
           option.value.isCopy = obj.isCopy;
-          // option.value.url = `${window.location.origin}${
-          //   import.meta.env.VITE_APP_BASE_API
-          // }/api/access/${obj.docId}?uid=${uid}`;
-          option.value.url = `http://8.142.173.95:19527/api/access/${obj.docId}?uid=${uid}`;
-           console.log('option.value.url',option.value.url);
+          option.value.url = `${window.location.origin}${
+            import.meta.env.VITE_APP_BASE_API
+          }/api/access/${obj.docId}?uid=${uid}`;
+          // option.value.url = `http://8.142.173.95:19527/api/access/${obj.docId}?uid=${uid}`;
+          //  console.log('option.value.url',option.value.url);
           option.value.title = obj.fileName;
           option.value.key = obj.fileId;
           option.value.fileType = obj.fileType.replace(".", "");
           option.value.editUrl = `${window.location.origin}${
             import.meta.env.VITE_APP_BASE_API
           }/only-office/callback/${obj.docId}?name=${useUserStore().uname}`;
+          // option.value.editUrl = `http://8.142.173.95:19527/only-office/callback/${obj.docId}?name=${useUserStore().uname}`;
           option.value.user = {
             id: useUserStore().uid, //用户ID
             name: useUserStore().uname, //用户姓名
           };
         });
-      } else if (docId && props.historyPrew) {
-        option.value.isEdit = false;
-        // option.value.url = `${window.location.origin}${
-        //   import.meta.env.VITE_APP_BASE_API
-        // }/api/access/${props.historycopyRow.docId}?uid=${uid}`;
-         option.value.url = `http://8.142.173.95:19527/api/access/${props.historycopyRow.docId}?uid=${uid}`;
-         console.log('option.value.url2',option.value.url);
-        option.value.title = props.copyRow.fileName;
-        option.value.key = props.historycopyRow.fileId;
-        option.value.fileType = props.copyRow.fileType.replace(".", "");
-        option.value.editUrl = `${window.location.origin}${
+      } else if (fileId && history == '1') {
+        // console.log('history',history);
+            getInfo(docId).then((response) => {
+          const obj = response.data;
+          obj.isEdit = false;
+          obj.isCopy = false; 
+          newObj.value = obj;
+          option.value.isEdit = obj.isEdit;
+          option.value.isCopy = obj.isCopy;
+           option.value.url = `${window.location.origin}${
+          import.meta.env.VITE_APP_BASE_API
+        }/api/history/${obj.fileId}`;
+        //  option.value.url = `http://8.142.173.95:19527/api/history/${fileId}`;
+          //  console.log('option.value.url',option.value.url);
+          option.value.title = obj.fileName;
+          option.value.key = obj.fileId;
+          option.value.fileType = obj.fileType.replace(".", "");
+         option.value.editUrl = `${window.location.origin}${
           import.meta.env.VITE_APP_BASE_API
         }/only-office/callback/${props.docId}?name=${useUserStore().uname}`;
-        option.value.user = {
-          id: useUserStore().uid, //用户ID
-          name: useUserStore().uname, //用户姓名
-        };
-        // const emit = defineEmits(["cancleHistoryPrew"]);
-        // emit("cancleHistoryPrew",false);
-        // console.log(option.value,'option3===');
+        // option.value.editUrl = `http://8.142.173.95:19527/only-office/callback/${docId}?name=${useUserStore().uname}`;
+          option.value.user = {
+            id: useUserStore().uid, //用户ID
+            name: useUserStore().uname, //用户姓名
+          };
+        });
+        // option.value.isEdit = false;
+        // // option.value.url = `${window.location.origin}${
+        // //   import.meta.env.VITE_APP_BASE_API
+        // // }/api/history/${obj.fileId}`;
+        //  option.value.url = `http://8.142.173.95:19527/api/history/${fileId}`;
+        //  console.log('option.value.url2',option.value.url);
+        // option.value.title = props.copyRow.fileName;
+        // option.value.key = props.historycopyRow.fileId;
+        // option.value.fileType = props.copyRow.fileType.replace(".", "");
+        // // option.value.editUrl = `${window.location.origin}${
+        // //   import.meta.env.VITE_APP_BASE_API
+        // // }/only-office/callback/${props.docId}?name=${useUserStore().uname}`;
+        // option.value.editUrl = `http://8.142.173.95:19527/only-office/callback/${docId}?name=${useUserStore().uname}`;
+        // option.value.user = {
+        //   id: useUserStore().uid, //用户ID
+        //   name: useUserStore().uname, //用户姓名
+        // };
+        // // const emit = defineEmits(["cancleHistoryPrew"]);
+        // // emit("cancleHistoryPrew",false);
+        // // console.log(option.value,'option3===');
       }
     }
     /** 修改按钮操作 */
-    function edit(docId,canEdit,canCopy) {
-      oo(docId,canEdit,canCopy);
+    function edit(docId,canEdit,canCopy,history,fileId) {
+      oo(docId,canEdit,canCopy,history,fileId);
     }
     onMounted(() => {
       let route = useRoute(); 
@@ -126,12 +154,17 @@ export default {
           docId = route.query.clickRowId
           // copyRow = JSON.parse(route.query.copyRow)
       }
-        console.log('route.query.canEdit',route.query.canEdit);
+      if(route.query.fileId){
+          fileId = route.query.fileId
+          // copyRow = JSON.parse(route.query.copyRow)
+      }
+        // console.log('route.query.canEdit',route.query.canEdit);
         canEdit = route.query.canEdit
        let canCopy = route.query.canCopy
-      console.log(docId, "doc");
-      console.log(copyRow, "row");
-      edit(docId,canEdit,canCopy);
+       let history = route.query.history
+      // console.log(docId, "doc");
+      // console.log(copyRow, "row");
+      edit(docId,canEdit,canCopy,history,fileId);
       // let row = JSON.parse(newObj.value)
       // console.log(row, '852');
     });

+ 25 - 22
src/views/myfile/components/PalaceGridFile.vue

@@ -252,29 +252,32 @@ export default {
                 return ImgFile.elseFile
             }
         }
-        function rightClick(row, event) {
-            event.preventDefault()
-            isFolder.value = "N"
-            clickRow.value = row
-            xz.value = event.pageX
-            yz.value = event.pageY
-            copyRow.value = row
-            clickRowId.value = row.docId
-            copyDirId.value = row.dirId
-            copySpaceId.value = row.spaceId
-            copyFileId.value = row.fileId
-            copyFileSize.value = row.fileSize
-            copyFileType.value = row.fileType
-            nameForm.value.name = row.fileName
-            copyFileName.value = row.fileName
-            if (cliCC.value === true) {
-                cliCC.value = false
-            } else {
-                cliCC.value = true
-            }
-        }
+        // function rightClick(row, event) {
+        //     event.preventDefault()
+        //     isFolder.value = "N"
+        //     clickRow.value = row
+        //     xz.value = event.pageX
+        //     yz.value = event.pageY
+        //     copyRow.value = row
+        //     clickRowId.value = row.docId
+        //     copyDirId.value = row.dirId
+        //     copySpaceId.value = row.spaceId
+        //     copyFileId.value = row.fileId
+        //     copyFileSize.value = row.fileSize
+        //     copyFileType.value = row.fileType
+        //     nameForm.value.name = row.fileName
+        //     copyFileName.value = row.fileName
+        //     if (cliCC.value === true) {
+        //         cliCC.value = false
+        //     } else {
+        //         cliCC.value = true
+        //     }
+        // }
         //对mouseCli数组进行筛选,实现菜单的区分显示
-        const filterMouseCli = () => {
+       const rightClick = (row,e)=>{
+        emit("handleRowClick", row,null,e)
+       }
+       const filterMouseCli = () => {
             const canPreviewArray = ['.doc', '.docm', '.docx', '.dot', '.dotm', '.dotx', '.epub', '.fodt', '.htm', '.html', '.mht', '.odt', '.ott', '.pdf', '.rtf', '.txt', '.djvu', '.xps', 'csv', 'fods', 'ods', 'ots', 'xls', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx', 'fodp', 'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx']
             const typeArr = ['.png', '.jpg', '.jpeg', '.JPG', '.mp3', '.mp4']
             const imgTypeArr = ['.png', '.jpg', '.jpeg', '.JPG']

+ 20 - 17
src/views/myfile/components/PlaceGridFolder.vue

@@ -5,7 +5,7 @@
             <div class="bigBox" style="height: 250px; overflow: auto;" v-if="folderListGrid?.length">
                 <template v-for="(item, index) in folderListGrid" :key="index">
                     <!-- 循环盒子 -->
-                    <div class="flexBox" @contextmenu="rightClick(item, index, $event)" @click="folderClickGrid(item)">
+                    <div class="flexBox" @contextmenu="rightClick(item, $event)" @click="folderClickGrid(item)">
                         <!-- 图片 -->
                         <div class="imgBox">
                             <img src="../../../assets/images/folderBig.png" alt="" style="vertical-align: middle;cursor: pointer;">
@@ -127,22 +127,25 @@ export default {
                 // })
             })
         }
-        function rightClick(row, num, eve) {
-            console.log('row=====', row,num,eve)
-            eve.preventDefault();
-            eve.stopPropagation();
-            folderleft.value = eve.pageX
-            foldertop.value = eve.pageY
-            copyDir.value = row.dirId
-            copySpa.value = row.spaceId
-            copyNma.value = row.dirName
-            copyFir.value = row.dirName
-            if (folderVisible.value) {
-                folderVisible.value = false
-            } else {
-                folderVisible.value = true
-            }
-        }
+        // function rightClick(row, num, eve) {
+        //     console.log('row=====', row,num,eve)
+        //     eve.preventDefault();
+        //     eve.stopPropagation();
+        //     folderleft.value = eve.pageX
+        //     foldertop.value = eve.pageY
+        //     copyDir.value = row.dirId
+        //     copySpa.value = row.spaceId
+        //     copyNma.value = row.dirName
+        //     copyFir.value = row.dirName
+        //     if (folderVisible.value) {
+        //         folderVisible.value = false
+        //     } else {
+        //         folderVisible.value = true
+        //     }
+        // }
+       const rightClick = (row,e)=>{
+        emit("folderRClick", row,null,e)
+       }
         function mouseClick() {
             folderVisible.value = false
         }

+ 2 - 1
src/views/myjoin/components/AddFile.vue

@@ -139,7 +139,8 @@ export default {
         .createFiles({
           dirId: props.clickFileData.dirId,
           spaceId: props.clickFileData.spaceId,
-          type: createFile.fileType,
+          type: createFile.value.fileType,
+		  name: createFile.value.name
         })
         .then((res) => {
           console.log('addRes',res);

+ 24 - 9
src/views/publicment/MyFile.vue

@@ -16,8 +16,8 @@
                 <div
                     style="height: 75vh;overflow-y: auto;">
                     <div class="searchBox">
-                        <el-input v-model="searchFire" class="searchFire" size="large" placeholder="搜索文件"/>
-                        <el-icon class="SearchIcon">
+                        <el-input v-model="searchFire" @keyup.enter="fileBlur" class="searchFire" size="large" placeholder="搜索文件"/>
+                        <el-icon class="SearchIcon" @click="fileBlur">
                             <Search/>
                         </el-icon>
                     </div>
@@ -216,7 +216,7 @@
 
                                 </el-table>
                                 <PlaceGridFolder v-else  @folderClick="folderClick" :restName="restName"
-                                    :collectFolder="collectFolder" :getAllTop="getAllTop" @folderBack="folderBack" :thisFolder="thisFolder">
+                                    :collectFolder="collectFolder" @folderRClick="folderRClick" :getAllTop="getAllTop" @folderBack="folderBack" :thisFolder="thisFolder">
                                 </PlaceGridFolder>
                             </el-collapse-item>
                     </el-collapse>
@@ -280,7 +280,7 @@
                                     </el-table-column>
                                 </el-table>
                                 <PalaceGridFile v-else @showFile="showFile" :getAllTop="getAllTop" @navBack="navBack"
-                                    @lastBB="lastBB" @onlineCase="onlineCase" @shareBack="shareBack" :thisFolder="thisFolder" :fileList="fileList"></PalaceGridFile>
+                                    @lastBB="lastBB" @handleRowClick="handleRowClick" @onlineCase="onlineCase" @shareBack="shareBack" :thisFolder="thisFolder" :fileList="fileList"></PalaceGridFile>
                             </el-collapse-item>
                         </el-collapse>
                         <div :class="{'setCli':!noMenuItem}" v-if="cliCC" :style="{ left: xz + 'px', top: yz -100 + 'px' }">
@@ -462,7 +462,7 @@ export default {
         let rename = ref(false)//文件夹重命名
         let spaces = ref(false)//空间扩容父传子
         let folderCase = ref(false)
-        let fileGrid = ref(sessionStorage.getItem('fileGrid') || 0)
+        let fileGrid = ref(sessionStorage.getItem('fileGrid') || 1)
         let folderGrid = ref(true)
         let editOnline = ref(true)
         let searchFire = ref('')
@@ -700,7 +700,7 @@ export default {
                     pageNum: 1,
                     pageSize: 10
                 }
-                documents.getALLdocumentByType({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize }).then(res => {
+                documents.getALLdocumentByType({ parentId: userMe[0].dirId - 0, spaceId: userMe[0].spaceId, pageNum: obj.pageNum, pageSize: obj.pageSize },1).then(res => {
                     fileMenu.value = res.data
                     folderList.value = res.data
                 },1)
@@ -733,6 +733,17 @@ export default {
                 allSpace.value = res.data.spaceCap
             })
         }
+        function fileBlur() {
+            if (searchFire.value == '') {
+                getAllTop()
+            } else {
+                const searchTerm = searchFire.value.trim().toLowerCase(); // 转换为小写字母并去除首尾空格
+                fileMenu.value = fileMenu.value.filter(item => {
+                    const dirName = item.dirName.trim();
+                    return dirName.includes(searchTerm);
+                });
+            }
+        }
         function changeFile(row, num) {
              const addData = {
                 path:'/publicment'+row.dirId,
@@ -906,7 +917,7 @@ export default {
                 // const filePreview = canPreviewFile(copyFileType.value)
                 // if (filePreview) {
                      loadingPreview.value = false
-                     if(thisFolderRole.value.roles && thisFolderRole.value.roles.l0800){
+                     if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
                         addFileTab(clickRow.value, 1,1);
                     }else{
                        addFileTab(clickRow.value, 1,0); 
@@ -936,7 +947,7 @@ export default {
                 const filePreview = canPreviewFile(copyFileType.value)
                 if (filePreview) {
                    loadingPreview.value = false
-                if(thisFolderRole.value.roles && thisFolderRole.value.roles.l0800){
+                if(thisFolderRole.value &&thisFolderRole.value.roles&& thisFolderRole.value.roles.l0800){
                         addFileTab(clickRow.value, 0,1);
                     }else{
                        addFileTab(clickRow.value, 0,0); 
@@ -1474,7 +1485,7 @@ export default {
         //点击收藏后刷新文件
         const refreshFile = ()=>{
             // console.log('ref',toRaw(thisFolder.value));
-            if(toRaw(thisFolder.value).dirIdd && !leftNewFile.value){//如果点开了文件夹
+            if(toRaw(thisFolder.value).dirId && !leftNewFile.value){//如果点开了文件夹
             // console.log(111);
                folderClick()
             }else{
@@ -1918,9 +1929,13 @@ export default {
             setTablelevel,
             levelList,
             getLevelList,
+<<<<<<< HEAD
              closeUpload,
             handleRemove,
             loadingUpload
+=======
+            fileBlur,
+>>>>>>> liyangzheng1
         }
     },
     watch: {

+ 24 - 21
src/views/publicment/components/PalaceGridFile.vue

@@ -248,27 +248,30 @@ export default {
                 return ImgFile.elseFile
             }
         }
-        function rightClick(row, event) {
-            event.preventDefault()
-            isFolder.value = "N"
-            clickRow.value = row
-            xz.value = event.pageX
-            yz.value = event.pageY
-            copyRow.value = row
-            clickRowId.value = row.docId
-            copyDirId.value = row.dirId
-            copySpaceId.value = row.spaceId
-            copyFileId.value = row.fileId
-            copyFileSize.value = row.fileSize
-            copyFileType.value = row.fileType
-            nameForm.value.name = row.fileName
-            copyFileName.value = row.fileName
-            if (cliCC.value === true) {
-                cliCC.value = false
-            } else {
-                cliCC.value = true
-            }
-        }
+        // function rightClick(row, event) {
+        //     event.preventDefault()
+        //     isFolder.value = "N"
+        //     clickRow.value = row
+        //     xz.value = event.pageX
+        //     yz.value = event.pageY
+        //     copyRow.value = row
+        //     clickRowId.value = row.docId
+        //     copyDirId.value = row.dirId
+        //     copySpaceId.value = row.spaceId
+        //     copyFileId.value = row.fileId
+        //     copyFileSize.value = row.fileSize
+        //     copyFileType.value = row.fileType
+        //     nameForm.value.name = row.fileName
+        //     copyFileName.value = row.fileName
+        //     if (cliCC.value === true) {
+        //         cliCC.value = false
+        //     } else {
+        //         cliCC.value = true
+        //     }
+        // }
+        const rightClick = (row,e)=>{
+        emit("handleRowClick", row,null,e)
+       }
         //对mouseCli数组进行筛选,实现菜单的区分显示
         const filterMouseCli = () => {
             const canPreviewArray = ['.doc', '.docm', '.docx', '.dot', '.dotm', '.dotx', '.epub', '.fodt', '.htm', '.html', '.mht', '.odt', '.ott', '.pdf', '.rtf', '.txt', '.djvu', '.xps', 'csv', 'fods', 'ods', 'ots', 'xls', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx', 'fodp', 'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx']

+ 19 - 16
src/views/publicment/components/PlaceGridFolder.vue

@@ -5,7 +5,7 @@
             <div class="bigBox" style="height: 250px; overflow: auto;" v-if="folderListGrid?.length">
                 <template v-for="(item, index) in folderListGrid" :key="index">
                     <!-- 循环盒子 -->
-                    <div class="flexBox" @contextmenu="rightClick(item, index, $event)" @click="folderClickGrid(item)">
+                    <div class="flexBox" @contextmenu="rightClick(item,$event)" @click="folderClickGrid(item)">
                         <!-- 图片 -->
                         <div class="imgBox">
                             <img :src="item.dirType=='1'?fileBox:ordinaryList"
@@ -134,21 +134,24 @@ export default {
                 // })
             })
         }
-        function rightClick(row, num, eve) {
-            eve.preventDefault();
-            eve.stopPropagation();
-            folderleft.value = eve.pageX
-            foldertop.value = eve.pageY
-            copyDir.value = row.dirId
-            copySpa.value = row.spaceId
-            copyNma.value = row.dirName
-            copyFir.value = row.dirName
-            if (folderVisible.value) {
-                folderVisible.value = false
-            } else {
-                folderVisible.value = true
-            }
-        }
+        // function rightClick(row, num, eve) {
+        //     eve.preventDefault();
+        //     eve.stopPropagation();
+        //     folderleft.value = eve.pageX
+        //     foldertop.value = eve.pageY
+        //     copyDir.value = row.dirId
+        //     copySpa.value = row.spaceId
+        //     copyNma.value = row.dirName
+        //     copyFir.value = row.dirName
+        //     if (folderVisible.value) {
+        //         folderVisible.value = false
+        //     } else {
+        //         folderVisible.value = true
+        //     }
+        // }
+        const rightClick = (row,e)=>{
+        emit("folderRClick", row,null,e)
+       }
         function mouseClick() {
             folderVisible.value = false
         }

+ 1 - 1
src/views/publicment/modalComponebts/CreateFloder.vue

@@ -211,7 +211,7 @@ export default {
                             "spaceId": newspid - 0,
                             "dirType":boserForm.value.dirType,
                             "isEncrypt":boserForm.value.isEncrypt,
-                            "encryptLevel":boserForm.value.isEncrypt == "Y"?boserForm.value.encryptLevel:null
+                            "encryptLevel":(boserForm.value.isEncrypt == "Y" && boserForm.value.dirType == "2")?boserForm.value.encryptLevel:null
                         }
                     }
                     if(thisRole.length){