|
@@ -6,6 +6,8 @@
|
|
|
:props="defaultProps"
|
|
|
:accordion="false"
|
|
|
ref="folderTreeRef"
|
|
|
+ :highlight-current="true"
|
|
|
+ :current-node-key="curNode"
|
|
|
:filter-node-method="filterNode"
|
|
|
node-key="id"
|
|
|
:default-expand-all="false"
|
|
@@ -59,11 +61,13 @@ const props = defineProps({
|
|
|
default: "",
|
|
|
},
|
|
|
});
|
|
|
-const emit = defineEmits(["listfolderClick"]);
|
|
|
+const emit = defineEmits(["listfolderClick",'treeRClick']);
|
|
|
const treeData = ref();
|
|
|
console.log("treeData", treeData.value);
|
|
|
const curArr = ref([]); //默认展开一级目录
|
|
|
const folderTreeRef = ref();
|
|
|
+const curNode = ref()
|
|
|
+const topId = ref()//顶层的id
|
|
|
const defaultProps = ref({
|
|
|
label: "label",
|
|
|
value: "id",
|
|
@@ -94,7 +98,9 @@ function getFileTree() {
|
|
|
}
|
|
|
const checkoutNode = async (node, data) => {
|
|
|
// console.log("treeData", treeData.value);
|
|
|
- console.log("node", node);
|
|
|
+ // console.log("node", node);
|
|
|
+ curNode.value = node.data.id
|
|
|
+ // console.log("curNode.value", curNode.value);
|
|
|
// console.log("data", data);
|
|
|
let thisNode;
|
|
|
function getLevel2(nodes) {
|
|
@@ -129,12 +135,15 @@ const getTopDir = async () => {
|
|
|
const res = await documents.getTop(3);
|
|
|
console.log("topres", res);
|
|
|
curArr.value.push(res.dirId);
|
|
|
+ topId.value = res.dirId
|
|
|
return;
|
|
|
};
|
|
|
-const rightFn = (node, data, e) => {
|
|
|
+const rightFn =async (node, data, e) => {
|
|
|
console.log("node", node);
|
|
|
console.log("data", data);
|
|
|
console.log("e", e);
|
|
|
+ const res = await getDir(data.id);
|
|
|
+ emit('treeRClick',res.data,null,e)
|
|
|
};
|
|
|
/** 通过条件过滤节点 */
|
|
|
const filterNode = (value, data) => {
|
|
@@ -148,13 +157,16 @@ watch(
|
|
|
// 记录当前展开的节点
|
|
|
let nodesMap = folderTreeRef.value?.store.nodesMap;
|
|
|
// console.log("nodesMap", nodesMap);
|
|
|
- let expandedNodes;
|
|
|
+ // console.log("curNode.value", curNode.value);
|
|
|
+ let expandedNodes = [];
|
|
|
if (nodesMap) {
|
|
|
expandedNodes = Object.keys(nodesMap).filter(
|
|
|
(key) => nodesMap[key].expanded
|
|
|
);
|
|
|
+ }else{
|
|
|
+ expandedNodes.push(topId.value)
|
|
|
}
|
|
|
- // console.log("expandedNodes", expandedNodes);
|
|
|
+ console.log("expandedNodes", expandedNodes);
|
|
|
// 把这当从服务器拉取数据
|
|
|
treeData.value = JSON.parse(JSON.stringify(newValue));
|
|
|
// 更新数据后, 有过滤条件的执行过滤, 没有的还原之前的展开状态
|
|
@@ -164,6 +176,7 @@ watch(
|
|
|
} else {
|
|
|
expandedNodes.forEach((key) => (nodesMap[key].expanded = true));
|
|
|
}
|
|
|
+ folderTreeRef.value?.setCurrentKey(curNode.value)
|
|
|
}, 0);
|
|
|
},
|
|
|
{
|