Jelajahi Sumber

标签新增销毁bug

liuQiang 2 tahun lalu
induk
melakukan
06ac6d6890

+ 2 - 1
.env.development

@@ -5,4 +5,5 @@ VITE_APP_TITLE = 聚合智慧文档
 VITE_APP_ENV = 'development'
 
 # 聚合智慧文档/开发环境
-VITE_APP_BASE_API = '/dev-api'
+# VITE_APP_BASE_API = '/dev-api'
+VITE_APP_BASE_API = 'http://8.142.173.95:19527'

+ 13 - 7
src/layout/indexCommon.vue

@@ -98,7 +98,7 @@
               type="card"
               class="common-tabs"
             >
-              <el-tab-pane label="首页"> </el-tab-pane>
+              <!-- <el-tab-pane label="首页" @click="clickTab('/index')"> </el-tab-pane> -->
               <el-tab-pane
                 v-for="(item, index) in toRaw(editableTabs)"
                 :key="item.path"
@@ -110,6 +110,7 @@
                   <div class="tab_pane" @click="paneClick(item)">
                     <div class="tab_text">{{ item.label }}</div>
                     <img
+					v-if="item.label != '首页'"
                       src="@/assets/images/close.png"
                       @click="closeTab(item, index, $event)"
                       alt=""
@@ -131,7 +132,7 @@
               </el-tab-pane>
               <!-- 文件的iframe -->
               <div v-for="item in iFrameData" :key="item.id">
-                <el-tab-pane :label="item.name" v-if="item.src">
+                <el-tab-pane :label="item.name" :name="item.id" v-if="item.src">
                   <template #label>
                     <div class="tab_pane" @click="filePaneClick(item)">
                       <div class="tab_text">{{ item.name }}</div>
@@ -295,7 +296,7 @@ const iFrameData = ref([
 //--------tabs-----------------
 let tabIndex = 2;
 const editableTabsValue = ref("/index");
-const editableTabs = ref([]);
+const editableTabs = ref([{label:'首页',path:'/reindex'}]);
 
 // const removeTab = (targetName) => {
 //   const tabs = editableTabs.value;
@@ -492,6 +493,7 @@ const clickPath = (index, items) => {
     clickTab(items.path);
   }
   editableTabsValue.value = items.path;
+  isAlive.value = true;
   // console.log("editableTabs", editableTabs.value);
 };
 const clickTab = (item) => {
@@ -518,7 +520,6 @@ const clickTab = (item) => {
       return;
     }
     let regExp = new RegExp(/^\//);
-    let regFile = new RegExp(/^tofile/);
     if (!regExp.test(toRaw(item))) {
       const data = JSON.parse(toRaw(item));
       console.log("data", data);
@@ -557,6 +558,7 @@ const filePaneClick = (item) => {
   const row = toRaw(item);
   const arr = iFrameData.value.map((par) => {
     if (par.id === row.id) {
+		// editableTabsValue.value = row.id
       par.show = true;
       // document.getElementById('iframe'+par.id).window.document.iframe[0]
       const outIframe = document.getElementById("iframe" + par.id);
@@ -580,12 +582,13 @@ const filePaneClick = (item) => {
   iFrameData.value = arr;
   // console.log("Clicknewfilearr", iFrameData.value);
   isAlive.value = false;
-  // console.log("isAlive", isAlive.value);
+//   console.log("editableTabsValue", editableTabsValue.value);
 };
 // 创建文件的标签
 const addFileTab = (data) => {
   console.log("fileTabdata", data);
-  const thisData = toRaw(data);
+  console.log();
+  const thisData = JSON.parse(JSON.stringify(toRaw(data)));
   const oldIFrameData = iFrameData.value;
   const canAdd = oldIFrameData.some((par) => par.src == ""); //是否达到上限
   if (!canAdd) return ElMessage.error("已到最大数量,请先关闭其他文件!"); 
@@ -594,6 +597,7 @@ const addFileTab = (data) => {
   const arr = oldIFrameData.map((par) => {
     if (!par.src) {
       if (thisData.docId) {
+        // par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}`;
         par.src = `${window.location.origin}/fileEdit?clickRowId=${thisData.docId}`;
         par.name = data.fileName;
 		par.docId = data.docId
@@ -668,12 +672,14 @@ const closeFileTab = (item, index, e) => {
       par.src = "";
       par.show = false;
       par.name = "";
+	  par.docId = ''
     }
     return toRaw(par);
   });
   iFrameData.value = arr;
+  isAlive.value = true;
   // console.log("index", index);
-  // console.log("e", e);
+  console.log("iFrameData", iFrameData.value);
 };
 </script>
 

+ 49 - 3
src/router/index.js

@@ -85,7 +85,17 @@ export const constantRoutes = [{
 					title: '返回',
 					icon: 'dashboard',
 					affix: true
-				}
+				},
+			},
+			{
+				path: 'reindex',
+				component: () => import('@/views/liveChat/index.vue'),
+				name: 'reindex',
+				meta: {
+					title: '返回',
+					icon: 'dashboard',
+					affix: true
+				},
 			},
 			{
 				path: 'swagger',
@@ -152,6 +162,15 @@ export const constantRoutes = [{
 					icon: "myjoin"
 				}
 			},
+			// {
+			// 	path: "/department",
+			// 	component: () => import("@/views/department/MyFile"),
+			// 	name: "department",
+			// 	meta: {
+			// 		title: "部门文件",
+			// 		icon: "department"
+			// 	}
+			// },
 			{
 				path: "/department",
 				component: () => import("@/views/department/MyFile"),
@@ -159,8 +178,26 @@ export const constantRoutes = [{
 				meta: {
 					title: "部门文件",
 					icon: "department"
-				}
+				},
+				children: [{
+					path: '/department:dirId(\\d+)',
+					component: () => import('@/views/department/MyFile'),
+					name: 'department',
+					meta: {
+						title: '部门文件',
+						activeMenu:'/department'
+					}
+				}]
 			},
+			// {
+			// 	path: "/publicment",
+			// 	component: () => import("@/views/publicment/MyFile"),
+			// 	name: "publicment",
+			// 	meta: {
+			// 		title: "公共文件",
+			// 		icon: "becommon"
+			// 	}
+			// },
 			{
 				path: "/publicment",
 				component: () => import("@/views/publicment/MyFile"),
@@ -168,7 +205,16 @@ export const constantRoutes = [{
 				meta: {
 					title: "公共文件",
 					icon: "becommon"
-				}
+				},
+				children: [{
+					path: '/publicment:dirId(\\d+)',
+					component: () => import('@/views/publicment/MyFile'),
+					name: 'publicment',
+					meta: {
+						title: '公共文件',
+						activeMenu:'/publicment'
+					}
+				}]
 			},
 			{
 				path: "/collect",

+ 55 - 17
src/views/department/MyFile.vue

@@ -398,7 +398,7 @@ import historyList from "@/components/historyList/index.vue"; //选择文件发
 import inputPassword from "./components/inputPassword.vue"; //选择文件发送的列表,历史版本
 import { listVersion } from "@/api/biz/version";
 import useUserStore from "@/store/modules/user";
-import { useRouter, useRoute } from "vue-router";
+import { useRouter, useRoute,onBeforeRouteUpdate } from "vue-router";
 import { canPreviewFile,rightMenuRole,publicRightMenuRole } from "@/utils/index.js"
 import fileSpace from '../../api/filespace/fileSpace';
 import { getLeveldetail } from '../../api/level/level';
@@ -601,6 +601,7 @@ export default {
         const noMenuItem = ref(false)
         const addTab = inject("addTab");
         const addFileTab = inject("addFileTab");
+        const addFolderAdd = inject("addFolderAdd");
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(2).then(res => {
@@ -649,8 +650,15 @@ export default {
             })
         }
         function changeFile(row, num) {
+          const addData = {
+                path:'/department'+row.dirId,
+                name:row.dirName,
+                row:toRaw(row)
+            }
+            addFolderAdd(addData)
             thisFolder.value = row
             console.log('row2',row);
+            topPath.value = row.dirPath
             if(row.isEncrypt === "Y"){
                 getLeveldetailFn(row.encryptLevel)
             }else{
@@ -787,7 +795,7 @@ export default {
                             type: "success",
                             message: "删除成功"
                         })
-                        getAllTop()
+                        refreshFile()
                     }
                 })
             }
@@ -901,7 +909,7 @@ export default {
                                 message: "上传文件成功",
                                 type: "success"
                             })
-                            getAllTop()
+                            refreshFile()
                             uploadModal.value = false
                             fileArr.value = []
                         }
@@ -997,7 +1005,7 @@ export default {
                                 message: "删除成功",
                                 type: "success"
                             })
-                            getAllTop()
+                            refreshFile()
                         } else {
                             ElMessage({
                                 message: "删除失败,目录应不为空",
@@ -1013,7 +1021,7 @@ export default {
                                 message: "删除成功",
                                 type: "success"
                             })
-                            getAllTop()
+                            refreshFile()
                         }
                     })
                 }
@@ -1055,7 +1063,7 @@ export default {
                 thisFolderRole.value = {}
             }
             thisRole.value = row.dirRole?row.dirRole.split(','):[]
-            console.log('row1', toRaw(row));
+            // console.log('row1', toRaw(row));
             topPath.value = row.dirPath
             // console.log('topPath',toRaw(topPath.value));
             newDirId.value = row.dirId
@@ -1099,7 +1107,7 @@ export default {
                         type: "success"
                     })
                     fileNameChange.value = false
-                    getAllTop()
+                    refreshFile()
                 }
             })
         }
@@ -1121,6 +1129,7 @@ export default {
         }
         function getChildren(data) {
             fileTrees.value = data
+            refreshFile()
         }
         function getCback(data) {
             thanks.value = data
@@ -1333,7 +1342,7 @@ export default {
         //点击收藏后刷新文件
         const refreshFile = ()=>{
             // console.log('ref',toRaw(thisFolder.value));
-            if(toRaw(thisFolder.value).isFavorite){//如果点开了文件夹
+            if(toRaw(thisFolder.value).dirId){//如果点开了文件夹
             // console.log(111);
                folderClick()
             }else{
@@ -1343,7 +1352,7 @@ export default {
         }
         //star收藏事件
         const collectByStar = (row,isfolder)=>{
-            console.log('row',row);
+            // console.log('row',row);
             if(isfolder){
                 let thisRow = toRaw(row)
                 isFolder.value = 'Y'
@@ -1479,15 +1488,43 @@ export default {
             window.addEventListener("click", mouseClick, true);
         })
          onActivated(()=>{
-            // console.log('route.query',route.query);
-            if(route.query.row){
-            const newRow = JSON.parse(route.query.row)
-            console.log('newRow',newRow);
-            thisFolder.value = newRow
-            refreshFile()
-            }
+            // console.log('onActivated.query',route.query);
+            loadingPreview.value = true
+            setTimeout(()=>{
+                if(route.query.row){
+                    const newRow = JSON.parse(route.query.row)
+                    console.log('newRow',newRow);
+                    thisFolder.value = newRow
+                    refreshFile()
+                }
+                    loadingPreview.value = false
+            },500)
 
         })
+            // 监听路由变化
+        onBeforeRouteUpdate((to,from)=>{
+        console.log('to',to);
+        console.log('from',from);
+        if(to.name == 'department'){
+            loadingPreview.value = true
+            const thisdirId = to.params.dirId
+            console.log('thisdirId',thisdirId);
+            setTimeout(()=>{
+                if(thisdirId){
+                    myfile.getDir(thisdirId).then(res=>{
+                        console.log('tores',res);
+                        thisFolder.value = res.data
+                        refreshFile()
+                    })
+                }
+                loadingPreview.value = false
+            },500)
+        }
+        // docId = to.query.clickRowId
+        // console.log(docId, "doc");
+        // console.log(copyRow, "row");
+        // edit();
+        })
         return {
             getSpaceList,
             folderList,//文件夹的数据
@@ -1653,7 +1690,8 @@ export default {
             noMenuItem,
             downLoadfile,
             addTab,
-            addFileTab
+            addFileTab,
+            addFolderAdd
         }
     },
     watch: {

+ 2 - 2
src/views/login.vue

@@ -120,7 +120,7 @@
     </div>
     <el-dialog
       v-model="showEdit"
-      title="新建文件夹"
+      title="修改密码"
       width="30%"
       @close="closeRepass"
     >
@@ -197,7 +197,7 @@ const newPassRule = (rule, value, callback) => {
   if (value === "") {
     callback(new Error("请输入密码"));
   } else if (!pPattern.test(value)) {
-    callback(new Error("密码长度最少为8位,包含大小写字、数字、特殊字符"));
+    callback(new Error("密码长度最少为8位,包含大小写字、数字、特殊字符"));
   } else {
     callback();
   }

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

@@ -829,8 +829,8 @@ export default {
                     // console.log('needc');
                 }
             }
-            console.log('chooseSetrow',row);
-            console.log('chooseSetnum',num);
+            // console.log('chooseSetrow',row);
+            // console.log('chooseSetnum',num);
             if (row.name == '在线编辑' || row.name == '协作') {
                 cliCC.value = true
             }
@@ -951,7 +951,7 @@ export default {
                 // previewData.value = URL.createObjectURL(res)
             } else if (row.name === "历史版本") {
                 const resHistory = await listVersion({ docId: clickRowId.value })
-                console.log('resHistory',resHistory);
+                // console.log('resHistory',resHistory);
                 historyTotal.value = resHistory.total
                 fileUserTreeData.data = resHistory.rows;
                 openForwardFile.value = true
@@ -1151,7 +1151,7 @@ export default {
             }else{
                 thisFolderRole.value = null
             }
-            console.log('row1', toRaw(row));
+            // console.log('row1', toRaw(row));
             topPath.value = row.dirPath
             // console.log('topPath',toRaw(topPath.value));
             newDirId.value = row.dirId
@@ -1195,7 +1195,7 @@ export default {
                         type: "success"
                     })
                     fileNameChange.value = false
-                    getAllTop()
+                    refreshFile()
                 }
             })
         }
@@ -1429,7 +1429,7 @@ export default {
         }
         //star收藏事件
         const collectByStar = (row,isfolder)=>{
-            console.log('row',row);
+            // console.log('row',row);
             if(isfolder){
                 let thisRow = toRaw(row)
                 isFolder.value = 'Y'
@@ -1562,7 +1562,7 @@ export default {
                 getAllTop()
             // }
             getSpaceList()
-            console.log('!thisFolder.value',thisFolder.value);
+            // console.log('!thisFolder.value',thisFolder.value);
                 // refreshFile()
             // 添加监听,点击其他地方关闭文件夹右键菜单
             window.addEventListener("click", closeRMenu, true);

+ 2 - 0
src/views/myfile/components/FileEdit.vue

@@ -77,6 +77,7 @@ export default {
           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;
@@ -94,6 +95,7 @@ export default {
         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;

+ 78 - 36
src/views/publicment/MyFile.vue

@@ -398,7 +398,7 @@ import historyList from "@/components/historyList/index.vue"; //选择文件发
 import inputPassword from "./components/inputPassword.vue"; //选择文件发送的列表,历史版本
 import { listVersion } from "@/api/biz/version";
 import useUserStore from "@/store/modules/user";
-import { useRouter, useRoute } from "vue-router";
+import { useRouter, useRoute,onBeforeRouteUpdate } from "vue-router";
 import { canPreviewFile,rightMenuRole,publicRightMenuRole } from "@/utils/index.js"
 import fileSpace from '../../api/filespace/fileSpace';
 import { getLeveldetail } from '../../api/level/level';
@@ -599,6 +599,9 @@ export default {
         const chooseNum = ref()
         const loadingPreview = ref(false)
         const noMenuItem = ref(false)
+        const addTab = inject("addTab");
+        const addFileTab = inject("addFileTab");
+        const addFolderAdd = inject("addFolderAdd");
         // 获取文件夹,中栏,文件
         function getAllTop() {
             documents.getTop(1).then(res => {
@@ -651,8 +654,15 @@ export default {
             })
         }
         function changeFile(row, num) {
+             const addData = {
+                path:'/publicment'+row.dirId,
+                name:row.dirName,
+                row:toRaw(row)
+            }
+            addFolderAdd(addData)
             thisFolder.value = row
-            console.log('row2',row);
+            // console.log('row2',row);
+             topPath.value = row.dirPath
             if(row.isEncrypt === "Y"){
                 getLeveldetailFn(row.encryptLevel)
             }else{
@@ -761,8 +771,8 @@ export default {
                     // console.log('needc');
                 }
             }
-            console.log('chooseSetrow',row);
-            console.log('chooseSetnum',num);
+            // console.log('chooseSetrow',row);
+            // console.log('chooseSetnum',num);
             if (row.name == '在线编辑' || row.name == '协作') {
                 cliCC.value = true
             }
@@ -789,7 +799,7 @@ export default {
                             type: "success",
                             message: "删除成功"
                         })
-                        getAllTop()
+                        refreshFile()
                     }
                 })
             }
@@ -812,26 +822,26 @@ export default {
                 collects.value = true
             }
             if (row.name === '在线编辑') {
-                editOnline.value = false
-                cliCC.value = false
-                const newItem = {
-                    name: copyFileName.value,
-                    choose: copyFileId.value,
-                    dirIds: copyDirId.value,
-                    spaceIds: copySpaceId.value
-                };
-                // 检查 newItem 是否已存在于 menuList 中
-                const isItemExist = menuList.value.some(item => item.choose === newItem.choose);
-                // 如果不存在,则添加它
-                if (!isItemExist) {
-                    menuList.value.push(newItem);
-                }
-                selectedIndex.value = selectedIndex.value + 1
+                loadingPreview.value = true
+                // const filePreview = canPreviewFile(copyFileType.value)
+                // if (filePreview) {
+                     loadingPreview.value = false
+                    addFileTab(clickRow.value);
+                    onlyView.value = false
+                    // editOnline.value = false
+                    cliCC.value = false
+                // } else {
+                //     const res = await preview(copyRow.value.docId)
+                //     showPreview.value = true
+                //     previewData.value = URL.createObjectURL(res)
+                // }
+                loadingPreview.value = false
             }
             if (row.name === '文字识别') {
                 router.push({
                     path: '/identifyFont',
                     query: {
+                        docId: copyRow.value.docId,
                         fileId: copyFileId.value,
                         fileType: copyFileType.value
                     }
@@ -841,8 +851,9 @@ export default {
                 loadingPreview.value = true
                 const filePreview = canPreviewFile(copyFileType.value)
                 if (filePreview) {
+                   loadingPreview.value = false
+                    addFileTab(clickRow.value);
                     onlyView.value = true
-                    editOnline.value = false
                     cliCC.value = false
                 } else {
                     const res = await preview(copyRow.value.docId)
@@ -858,7 +869,7 @@ export default {
                 // previewData.value = URL.createObjectURL(res)
             } else if (row.name === "历史版本") {
                 const resHistory = await listVersion({ docId: clickRowId.value })
-                console.log('resHistory',resHistory);
+                // console.log('resHistory',resHistory);
                 historyTotal.value = resHistory.total
                 fileUserTreeData.data = resHistory.rows;
                 openForwardFile.value = true
@@ -900,12 +911,12 @@ export default {
                                 message: "上传文件成功",
                                 type: "success"
                             })
-                            getAllTop()
+                             refreshFile()
                             uploadModal.value = false
                             fileArr.value = []
                         }
                     }).catch(err=>{
-                        console.log('UPerr',err);
+                        // console.log('UPerr',err);
                     })
                 }
             }
@@ -996,7 +1007,7 @@ export default {
                                 message: "删除成功",
                                 type: "success"
                             })
-                            getAllTop()
+                            refreshFile()
                         } else {
                             ElMessage({
                                 message: "删除失败,目录应不为空",
@@ -1012,7 +1023,7 @@ export default {
                                 message: "删除成功",
                                 type: "success"
                             })
-                            getAllTop()
+                             refreshFile()
                         }
                     })
                 }
@@ -1331,7 +1342,7 @@ export default {
         //点击收藏后刷新文件
         const refreshFile = ()=>{
             // console.log('ref',toRaw(thisFolder.value));
-            if(toRaw(thisFolder.value).isFavorite){//如果点开了文件夹
+            if(toRaw(thisFolder.value).dirId){//如果点开了文件夹
             // console.log(111);
                folderClick()
             }else{
@@ -1477,16 +1488,44 @@ export default {
             window.addEventListener("click", closeRMenu, true);
             window.addEventListener("click", mouseClick, true);
         })
-         onActivated(()=>{
-            // console.log('route.query',route.query);
-            if(route.query.row){
-            const newRow = JSON.parse(route.query.row)
-            console.log('newRow',newRow);
-            thisFolder.value = newRow
-            refreshFile()
-            }
+        // 组件显示
+        onActivated(()=>{
+            console.log('onActivated.query',route.query);
+            loadingPreview.value = true
+            setTimeout(()=>{
+                if(route.query.row){
+                    const newRow = JSON.parse(route.query.row)
+                    console.log('newRow',newRow);
+                    thisFolder.value = newRow
+                    refreshFile()
+                }
+                    loadingPreview.value = false
+            },500)
 
         })
+        onBeforeRouteUpdate((to,from)=>{
+        console.log('to',to);
+        console.log('from',from);
+        if(to.name == 'publicment'){
+            loadingPreview.value = true
+            const thisdirId = to.params.dirId
+            console.log('thisdirId',thisdirId);
+            setTimeout(()=>{
+                if(thisdirId){
+                    myfile.getDir(thisdirId).then(res=>{
+                        console.log('tores',res);
+                        thisFolder.value = res.data
+                        refreshFile()
+                    })
+                }
+                loadingPreview.value = false
+            },500)
+        }
+        // docId = to.query.clickRowId
+        // console.log(docId, "doc");
+        // console.log(copyRow, "row");
+        // edit();
+        })
         return {
             getSpaceList,
             folderList,//文件夹的数据
@@ -1650,7 +1689,10 @@ export default {
             loadingPreview,
             thisRole,
             noMenuItem,
-            downLoadfile
+            downLoadfile,
+            addFolderAdd,
+            addFileTab,
+            addTab
         }
     },
     watch: {