|
@@ -1,14 +1,12 @@
|
|
|
<template>
|
|
|
<div class="container">
|
|
|
- <div class="topPath">
|
|
|
- <!-- <el-icon><ArrowDown /></el-icon> -->
|
|
|
+ <!-- <div class="topPath">
|
|
|
<span @click="backTopPath">收藏文件</span>
|
|
|
<PathLabel
|
|
|
@folderClick="folderClick"
|
|
|
:pathLabelData="pathLabelData"
|
|
|
></PathLabel>
|
|
|
- <!-- <BreadMenu></BreadMenu> -->
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<!-- 标签 -->
|
|
|
<div class="tags">
|
|
|
<div class="tags_left">
|
|
@@ -148,7 +146,7 @@
|
|
|
<el-table
|
|
|
:data="fileArr"
|
|
|
style="width: 100%"
|
|
|
- height="40vh"
|
|
|
+ height="42vh"
|
|
|
:scrollbar-always-on="true"
|
|
|
@row-contextmenu="fileRightTable"
|
|
|
@row-click="clickFile"
|
|
@@ -210,7 +208,7 @@
|
|
|
<span class="collapseItem_title">文件夹</span>
|
|
|
</template>
|
|
|
<!-- 平铺 -->
|
|
|
- <el-scrollbar style="height: 37vh">
|
|
|
+ <el-scrollbar style="height: 39vh">
|
|
|
<div class="tile_box">
|
|
|
<div
|
|
|
class="file_box"
|
|
@@ -299,7 +297,7 @@
|
|
|
v-show="showFlieRM"
|
|
|
@folderClick="folderClick"
|
|
|
@delCollect="delCollect"
|
|
|
- @openFile='openFile'
|
|
|
+ @openFile="openFile"
|
|
|
:isTop="isTop"
|
|
|
:fileRightXY="fileRightXY"
|
|
|
:isFolder="isFolder"
|
|
@@ -344,6 +342,7 @@ import RightMenu from "@/components/RightMenu/index.vue";
|
|
|
import documents from "@/api/document/document";
|
|
|
import myfile from "@/api/myfile/myfile";
|
|
|
import PathLabel from "@/components/PathLabel/index.vue";
|
|
|
+import { getDir } from "@/api/biz/dir.js";
|
|
|
const activeNames = ref(["folder", "file"]);
|
|
|
const clickCollect = ref("second"); //当前标签
|
|
|
const isAddCollect = ref(false); //是否在添加标签
|
|
@@ -378,6 +377,10 @@ const loadingPreview = ref(false);
|
|
|
const previewData = ref();
|
|
|
const copyFileType = ref();
|
|
|
const addFileTab = inject("addFileTab");
|
|
|
+const addFolderAdd = inject("addFolderAdd");
|
|
|
+const folersArr = ref([]); //路劲上的文件夹
|
|
|
+const openFolderTop = ref(); // 所在的空间
|
|
|
+const firstFolderData = ref(); // 第一层目录
|
|
|
//----引入图片----
|
|
|
import file_DOC from "../../assets/images/fileType/file_DOC.png";
|
|
|
import file_pdf from "../../assets/images/fileType/file_pdf.png";
|
|
@@ -399,89 +402,141 @@ onMounted(async () => {
|
|
|
window.addEventListener("click", closeFlieRMenu, true);
|
|
|
});
|
|
|
// 文件夹每行点击事件
|
|
|
-const folderClick = (row, list, e, jump) => {
|
|
|
- console.log("thisFolder.value", thisFolder.value);
|
|
|
- // 初始化分页数据
|
|
|
- tableBeEnd.value = true;
|
|
|
- filePageNum.value = 1;
|
|
|
- tableTotal.value = 0;
|
|
|
- if (row) {
|
|
|
- thisFolder.value = row.docDir ? row.docDir : row;
|
|
|
- } else {
|
|
|
- row = thisFolder.value;
|
|
|
+const folderClick = async (row, list, e, jump) => {
|
|
|
+ folersArr.value = []
|
|
|
+ openFolderTop.value = null
|
|
|
+ firstFolderData.value = null
|
|
|
+ // console.log("thisFolder.value", thisFolder.value);
|
|
|
+ const thisFolderD = toRaw(thisFolder.value); //打开的收藏文件
|
|
|
+ async function getFoldersData(info) {
|
|
|
+ if (info.parentId) {
|
|
|
+ folersArr.value.push(JSON.parse(JSON.stringify(info)));
|
|
|
+ const res = await getDir(info.parentId);
|
|
|
+ // console.log('res====',res);
|
|
|
+ await getFoldersData(res.data);
|
|
|
+ } else {
|
|
|
+ openFolderTop.value = info;
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
- console.log("row", row);
|
|
|
-
|
|
|
- if (row.favoriteId) {
|
|
|
- // 说明是拿到的收藏数据 也就是第一层
|
|
|
- pathLabelData.value = []; // 先把数据清空
|
|
|
- const labelItem = {
|
|
|
- name: row.docDir.dirName,
|
|
|
- dirId: row.docDir.dirId,
|
|
|
+ await getFoldersData(thisFolderD.docDir);
|
|
|
+ // folersArr = JSON.parse(JSON.stringify(folersArr))
|
|
|
+ folersArr.value.reverse();
|
|
|
+ firstFolderData.value = folersArr.value[0];
|
|
|
+ // console.log("folersArr", folersArr.value);
|
|
|
+ // console.log("openFolderTop", openFolderTop.value);
|
|
|
+ sessionStorage.setItem('folderArr',JSON.stringify(folersArr.value))
|
|
|
+ // 判断空间
|
|
|
+ if (openFolderTop.value.dirName.includes("个人空间")) {
|
|
|
+ // 创建标签
|
|
|
+ const addData = {
|
|
|
+ path: "/myfile" + firstFolderData.value.dirId,
|
|
|
+ name: firstFolderData.value.dirName,
|
|
|
+ clickRowId:firstFolderData.value,
|
|
|
};
|
|
|
- pathLabelData.value = [labelItem];
|
|
|
+ addFolderAdd(addData);
|
|
|
+ } else if (openFolderTop.value.dirName.includes("部门空间")) {
|
|
|
+ // 创建标签
|
|
|
+ const addData = {
|
|
|
+ path: "/department" + firstFolderData.value.dirId,
|
|
|
+ name: firstFolderData.value.dirName,
|
|
|
+ clickRowId:firstFolderData.value,
|
|
|
+ };
|
|
|
+ addFolderAdd(addData);
|
|
|
} else {
|
|
|
- // 说明是点开拿到的数据 也就是第二层往后
|
|
|
- const oldArr = toRaw(pathLabelData.value);
|
|
|
- let newArr;
|
|
|
- if (jump == undefined) {
|
|
|
- newArr = oldArr.push({
|
|
|
- name: row.dirName,
|
|
|
- dirId: row.dirId,
|
|
|
- });
|
|
|
- } else {
|
|
|
- newArr = oldArr.splice(jump + 1);
|
|
|
- }
|
|
|
- pathLabelData.value = JSON.parse(JSON.stringify(oldArr));
|
|
|
+ // 创建标签
|
|
|
+ const addData = {
|
|
|
+ path: "/publicment" + firstFolderData.value.dirId,
|
|
|
+ name: firstFolderData.value.dirName,
|
|
|
+ clickRowId:firstFolderData.value,
|
|
|
+ };
|
|
|
+ addFolderAdd(addData);
|
|
|
}
|
|
|
- newDirId.value = row.docDir ? row.docDir.dirId : row.dirId;
|
|
|
- newSpaceId.value = row.docDir ? row.docDir.spaceId : row.spaceId;
|
|
|
- const query = `${newDirId.value}?isAsc=${isAsc.value}&orderByColumn=createTime&pageSize=${pageSize.value}&pageNum=${filePageNum.value}`;
|
|
|
- documents
|
|
|
- .getALLdocumentByType(
|
|
|
- {
|
|
|
- parentId: newDirId.value - 0,
|
|
|
- spaceId: newSpaceId.value - 0,
|
|
|
- isAsc: isAsc.value,
|
|
|
- orderByColumn: "createTime"
|
|
|
- },
|
|
|
- 2
|
|
|
- )
|
|
|
- .then((res) => {
|
|
|
- folderArr.value = res.rows;
|
|
|
- if (res.rows.length === 0) {
|
|
|
- myfile.getById(query).then((res) => {
|
|
|
- if (res.code === 200) {
|
|
|
- tableTotal.value = res.total;
|
|
|
- if (res.rows.length < res.total) {
|
|
|
- //第一次拿到的数据少于总数开启下拉事件
|
|
|
- tableBeEnd.value = false;
|
|
|
- }
|
|
|
- fileArr.value = res.rows;
|
|
|
- }
|
|
|
- });
|
|
|
- } else {
|
|
|
- myfile.getById(query).then((res) => {
|
|
|
- console.log("folerFile", res);
|
|
|
- if (res.code === 200) {
|
|
|
- tableTotal.value = res.total;
|
|
|
- if (res.rows.length < res.total) {
|
|
|
- //第一次拿到的数据少于总数开启下拉事件
|
|
|
- tableBeEnd.value = false;
|
|
|
- }
|
|
|
- fileArr.value = JSON.parse(JSON.stringify(res.rows));
|
|
|
- // console.log('fileList',toRaw(fileList.value));
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- loadingPreview.value = false
|
|
|
- });
|
|
|
+ // 初始化分页数据
|
|
|
};
|
|
|
+// const folderClick = (row, list, e, jump) => {
|
|
|
+// console.log("thisFolder.value", thisFolder.value);
|
|
|
+// // 初始化分页数据
|
|
|
+// tableBeEnd.value = true;
|
|
|
+// filePageNum.value = 1;
|
|
|
+// tableTotal.value = 0;
|
|
|
+// if (row) {
|
|
|
+// thisFolder.value = row.docDir ? row.docDir : row;
|
|
|
+// } else {
|
|
|
+// row = thisFolder.value;
|
|
|
+// }
|
|
|
+// console.log("row", row);
|
|
|
+
|
|
|
+// if (row.favoriteId) {
|
|
|
+// // 说明是拿到的收藏数据 也就是第一层
|
|
|
+// pathLabelData.value = []; // 先把数据清空
|
|
|
+// const labelItem = {
|
|
|
+// name: row.docDir.dirName,
|
|
|
+// dirId: row.docDir.dirId,
|
|
|
+// };
|
|
|
+// pathLabelData.value = [labelItem];
|
|
|
+// } else {
|
|
|
+// // 说明是点开拿到的数据 也就是第二层往后
|
|
|
+// const oldArr = toRaw(pathLabelData.value);
|
|
|
+// let newArr;
|
|
|
+// if (jump == undefined) {
|
|
|
+// newArr = oldArr.push({
|
|
|
+// name: row.dirName,
|
|
|
+// dirId: row.dirId,
|
|
|
+// });
|
|
|
+// } else {
|
|
|
+// newArr = oldArr.splice(jump + 1);
|
|
|
+// }
|
|
|
+// pathLabelData.value = JSON.parse(JSON.stringify(oldArr));
|
|
|
+// }
|
|
|
+// newDirId.value = row.docDir ? row.docDir.dirId : row.dirId;
|
|
|
+// newSpaceId.value = row.docDir ? row.docDir.spaceId : row.spaceId;
|
|
|
+// const query = `${newDirId.value}?isAsc=${isAsc.value}&orderByColumn=createTime&pageSize=${pageSize.value}&pageNum=${filePageNum.value}`;
|
|
|
+// documents
|
|
|
+// .getALLdocumentByType(
|
|
|
+// {
|
|
|
+// parentId: newDirId.value - 0,
|
|
|
+// spaceId: newSpaceId.value - 0,
|
|
|
+// isAsc: isAsc.value,
|
|
|
+// orderByColumn: "createTime"
|
|
|
+// },
|
|
|
+// 2
|
|
|
+// )
|
|
|
+// .then((res) => {
|
|
|
+// folderArr.value = res.rows;
|
|
|
+// if (res.rows.length === 0) {
|
|
|
+// myfile.getById(query).then((res) => {
|
|
|
+// if (res.code === 200) {
|
|
|
+// tableTotal.value = res.total;
|
|
|
+// if (res.rows.length < res.total) {
|
|
|
+// //第一次拿到的数据少于总数开启下拉事件
|
|
|
+// tableBeEnd.value = false;
|
|
|
+// }
|
|
|
+// fileArr.value = res.rows;
|
|
|
+// }
|
|
|
+// });
|
|
|
+// } else {
|
|
|
+// myfile.getById(query).then((res) => {
|
|
|
+// console.log("folerFile", res);
|
|
|
+// if (res.code === 200) {
|
|
|
+// tableTotal.value = res.total;
|
|
|
+// if (res.rows.length < res.total) {
|
|
|
+// //第一次拿到的数据少于总数开启下拉事件
|
|
|
+// tableBeEnd.value = false;
|
|
|
+// }
|
|
|
+// fileArr.value = JSON.parse(JSON.stringify(res.rows));
|
|
|
+// // console.log('fileList',toRaw(fileList.value));
|
|
|
+// }
|
|
|
+// });
|
|
|
+// }
|
|
|
+// loadingPreview.value = false
|
|
|
+// });
|
|
|
+// };
|
|
|
// 文件点击事件
|
|
|
const clickFile = () => {};
|
|
|
// 返回最顶层
|
|
|
const backTopPath = () => {
|
|
|
- thisFolder.value = null
|
|
|
+ thisFolder.value = null;
|
|
|
tabchange(clickCollect.value);
|
|
|
};
|
|
|
//取消收藏
|
|
@@ -603,16 +658,15 @@ const addCollectFn = async () => {
|
|
|
}
|
|
|
|
|
|
const list = toRaw(tabList.value);
|
|
|
- if(list.length>=10){
|
|
|
- isAddCollect.value = false;
|
|
|
+ if (list.length >= 10) {
|
|
|
+ isAddCollect.value = false;
|
|
|
tabName.value = "";
|
|
|
- return ElMessage.error("已到最大数量,请先删除其他收藏标签!")
|
|
|
+ return ElMessage.error("已到最大数量,请先删除其他收藏标签!");
|
|
|
+ }
|
|
|
+ const hasIt = list.some((item) => item.labelName === tabName.value);
|
|
|
+ if (hasIt) {
|
|
|
+ return ElMessage.error("标签名已存在!");
|
|
|
}
|
|
|
- const hasIt = list.some(item=>item.labelName === tabName.value)
|
|
|
- if(hasIt){
|
|
|
-
|
|
|
- return ElMessage.error("标签名已存在!")
|
|
|
- }
|
|
|
let order = 0;
|
|
|
if (list.length > 0) {
|
|
|
order = getBigOrder(list);
|
|
@@ -728,9 +782,9 @@ const reTabName = async () => {
|
|
|
|
|
|
const tabchange = async (labelId) => {
|
|
|
console.log("labelId", toRaw(labelId));
|
|
|
- thisFolder.value = null
|
|
|
+ thisFolder.value = null;
|
|
|
const query = {
|
|
|
- pageSize:9999,
|
|
|
+ pageSize: 9999,
|
|
|
isAsc: isAsc.value,
|
|
|
orderByColumn: "createTime",
|
|
|
};
|
|
@@ -749,7 +803,7 @@ const tabchange = async (labelId) => {
|
|
|
fileArr.value = res.rows.filter((item) => item.isFolder === "N");
|
|
|
//把路径清楚
|
|
|
pathLabelData.value = [];
|
|
|
- loadingPreview.value = false
|
|
|
+ loadingPreview.value = false;
|
|
|
console.log("folderArr", folderArr.value);
|
|
|
console.log("fileArr", fileArr.value);
|
|
|
};
|
|
@@ -765,12 +819,12 @@ const changeShow = () => {
|
|
|
sessionStorage.setItem("fileGrid", isList.value);
|
|
|
};
|
|
|
const changeSort = async () => {
|
|
|
- loadingPreview.value = true
|
|
|
+ loadingPreview.value = true;
|
|
|
isAsc.value == "asc" ? (isAsc.value = "desc") : (isAsc.value = "asc");
|
|
|
- if(!thisFolder.value){
|
|
|
- tabchange(clickCollect.value)
|
|
|
- }else{
|
|
|
- folderClick()
|
|
|
+ if (!thisFolder.value) {
|
|
|
+ tabchange(clickCollect.value);
|
|
|
+ } else {
|
|
|
+ folderClick();
|
|
|
}
|
|
|
// console.log("res", res);
|
|
|
};
|