性能优化设置

This commit is contained in:
wangxk 2025-04-08 17:40:16 +08:00
parent 120800d6a2
commit aefba7c565
2 changed files with 133 additions and 73 deletions

View File

@ -209,6 +209,7 @@ function delSubItem(row: any) {
}
)
.then(() => {
loading.value = true
deleteTsNodesById({ id: row.nodeId }).then((res: any) => {
if (res.code == 0) {
gettreedata()
@ -408,6 +409,7 @@ function delfile(row: any) {
}
)
.then(() => {
loading.value = true
deleteTsFilesById({ id: row.id, type: 'local' }).then((res: any) => {
if (res.code == 0) {
getdata()
@ -443,6 +445,7 @@ function delprojectArr() {
}
)
.then(() => {
loading.value = true
deleteTsFilesByIds({ ids: ids.join(','), type: 'local' }).then((res: any) => {
if (res.code == 0) {
ElMessage({
@ -1185,6 +1188,8 @@ async function submitzip(formEl: any) {
if (!formEl) return
await formEl.validate((valid: any, fields: any) => {
if (valid) {
loading.value = true
zipfiles.value = false
if (zipzheng.value == true) {
let idsarr = []
tableIdarr.value.forEach((item: any) => {
@ -1192,7 +1197,6 @@ async function submitzip(formEl: any) {
})
zipObj.value.ids = idsarr.join(',')
zipObj.value.parentId = zipParentid.value
// gettreedata()
getdata()
zipfiles.value = false
zipObj.value.compressedPath = '/' + pathid.value + zipObj.value.compressedPath
@ -1206,12 +1210,10 @@ async function submitzip(formEl: any) {
})
} else {
// loading.value = true
Decompression({ id: jiezip.value.id, parentId: zipParentid.value, decompressionPath: '/' + pathid.value + zipObj.value.compressedPath }).then((res: any) => {
if (res.code == 0) {
ElMessage.success('解压成功')
// // gettreedata()
// pathclick({ id: '' }, -1)
getdata()
zipfiles.value = false
tableIdarr.value.length = 0

View File

@ -16,18 +16,14 @@ import Page from '@/components/Pagination/page.vue';
import textEdit from '@/components/textEditing/index.vue'
import txtexl from '@/components/textEditing/txtexl.vue'
//
import useFileUpload from "@/components/file/file/useFileUpload";
import useHeaderStorageList from "@/components/header/useHeaderStorageList";
import useFileData from "@/components/file/file/useFileData";
import Viewfile from '@/views/component/Viewfile.vue'
import useFilePreview from "@/components/file/file/useFilePreview";
import MarkdownViewerAsyncLoading from "@/components/file/preview/MarkdownViewerAsyncLoading.vue";
import VideoPlayerAsyncLoading from "@/components/file/preview/VideoPlayerAsyncLoading.vue";
import TextViewerAsyncLoading from "@/components/file/preview/TextViewerAsyncLoading.vue";
import MarkdownViewerDialogAsyncLoading from "@/components/file/preview/MarkdownViewerDialogAsyncLoading.vue";
const { dialogVideoVisible, dialogTextVisible, dialogPdfVisible, dialogOfficeVisible, dialog3dVisible } = useFilePreview();
const { clearALlFinishedUploadFile } = useFileUpload();
const { currentStorageKey } = useHeaderStorageList();
const { openRow } = useFileData();
//
@ -281,38 +277,72 @@ function handleNodeClick(data: any, node: any) {
}
//
const handleCheckChange = (
data: any,
checked: boolean,
indeterminate: boolean
data: any,
checked: boolean,
indeterminate: boolean
) => {
console.log(data)
// debugger
if (checked === true && indeterminate === false) {
workall.value.push(data)
} else {
workall.value = workall.value.filter(item => item.id !== data.id);
// 使Map
const nodeMap = new Map(workall.value.map(item => [item.id, item]));
//
if (checked && !indeterminate) {
if (!nodeMap.has(data.id)) {
workall.value = [...workall.value, data];
}
comparearr.value = getclickdata(workall.value)
beifentree.value!.setCheckedNodes(comparearr.value, false)
}
}
//
else {
workall.value = workall.value.filter(item => item.id !== data.id);
}
// 使
const updateCompare = debounce(() => {
comparearr.value = getclickdata(workall.value);
//
beifentree.value?.setCheckedNodes(comparearr.value, false);
}, 50);
updateCompare();
};
//
function getclickdata(data: any) {
data.forEach((item: any) => {
if (item.isFile == "FOLDER") {
item.children.forEach((child: any) => {
data = data.filter((items: any) => items.id !== child.id);
if (child.children.length > 0) {
getclickdata(child.children)
}
})
function getclickdata(nodes: any[]): any[] {
// 使 Set ID
const excludeIds = new Set<string>();
// 使
const stack = [...nodes];
// ID
while (stack.length > 0) {
const node = stack.pop();
if (node.isFile === "FOLDER" && node.children) {
//
stack.push(...node.children);
// ID
node.children.forEach((child: any) => {
excludeIds.add(child.id);
});
}
}
//
return nodes.filter(node => {
//
if (!excludeIds.has(node.id)) {
//
return {
...node,
children: node.isFile === "FOLDER" ? [] : node.children
};
}
return false;
});
return data
}
//
function getlocaltree() {
worktree.value = true
listLocalTree({ taskId: projectId.value, nodeId: pathid.value }).then((res: any) => {
if(projectId.value && pathid.value){
worktree.value = true
listLocalTree({ taskId: projectId.value, nodeId: pathid.value }).then((res: any) => {
workdata.value = res.data.localTrees
if (workdata.value.length > 0) {
assignment(workdata.value, 'local')
@ -320,12 +350,14 @@ function getlocaltree() {
worktree.value = false
diffColor()
})
}
}
const worktree1 = ref(false)
//minio
function getminiotree() {
worktree1.value = true
listBackupTree({ taskId: projectId.value, nodeId: pathid.value }).then((res: any) => {
if(projectId.value && pathid.value){
worktree1.value = true
listBackupTree({ taskId: projectId.value, nodeId: pathid.value }).then((res: any) => {
backupsdata.value = res.data.minioTrees
if (backupsdata.value.length > 0) {
assignment(backupsdata.value, 'minio')
@ -333,33 +365,58 @@ function getminiotree() {
worktree1.value = false
diffColor()
})
}
}
//
function assignment(data: any, difference: any) {
data.forEach((item: any) => {
item.location = difference
item.station = '0' //0123
if (item.children.length > 0) {
assignment(item.children, difference)
function assignment(data: any[], difference: 'local' | 'minio') {
// 使
const stack: any[] = [...data];
while (stack.length > 0) {
const node = stack.pop();
if (!node) continue;
//
node.location = difference;
node.station = '0'; // 0: , 1: , 2: , 3:
//
if (node.children?.length) {
stack.push(...[...node.children].reverse());
}
})
}
}
//
const beifentree = ref()
const backupsChange = (
data: any,
checked: boolean,
indeterminate: boolean
data: any,
checked: boolean,
indeterminate: boolean
) => {
if (checked == true && indeterminate == false) {
workall.value.push(data)
} else {
workall.value = workall.value.filter(item => item.id !== data.id);
// 使访
const currentWorkall = [...workall.value];
// 使Map
const nodeMap = new Map(currentWorkall.map(item => [item.id, item]));
//
if (checked && !indeterminate) {
if (!nodeMap.has(data.id)) {
workall.value = [...currentWorkall, data];
}
}
//
else {
workall.value = currentWorkall.filter(item => item.id !== data.id);
}
comparearr.value = getclickdata(workall.value)
workref.value!.setCheckedNodes(comparearr.value, false)
}
// 使
const updateCompare = debounce(() => {
comparearr.value = getclickdata(workall.value);
//
workref.value?.setCheckedNodes(comparearr.value, false);
}, 50);
updateCompare();
};
//
const handleRightClick = (event: Event, data: any, node: any) => {
if (data.station != '0') {
@ -489,11 +546,13 @@ function tableBeifen(row: any) {
size: row.fileSize,
type: row.isFile
}]
loading1.value = true
loading2.value = true
uploadToBackup({ parameterLists: params }).then((res: any) => {
if (res.code == '0') {
ElMessage.success("上传成功")
localOnlyFiles.value = localOnlyFiles.value.filter((item: any) => item.id !== row.id)
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== row.id)
diffSure()
diffChange()
}
})
})
@ -520,13 +579,13 @@ function moretableBeifen() {
beifenArr3.push({ path: '/' + pathid.value + items.workPath, name: items.fileName, size: items.fileSize, type: items.isFile })
// items.path = '/' + pathid.value + items.path
})
loading1.value = true
loading2.value = true
uploadToBackup({ parameterLists: beifenArr3 }).then((res: any) => {
if (res.code == '0') {
diffSure()
diffChange()
ElMessage.success("上传成功")
beifenArr.value.forEach((items: any) => {
localOnlyFiles.value = localOnlyFiles.value.filter((item: any) => item.id !== items.id)
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== items.id)
})
}
})
@ -551,11 +610,13 @@ function tablerestore(row: any) {
size: row.fileSize,
type: row.isFile
}]
loading3.value = true
loading2.value = true
downloadToLocal({ parameterLists: params }).then((res: any) => {
if (res.code == '0') {
ElMessage.success("恢复成功")
minioOnlyFiles.value = minioOnlyFiles.value.filter((item: any) => item.id !== row.id)
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== row.id)
diffChange()
diffMiss()
}
})
})
@ -581,13 +642,13 @@ function moretablerestore() {
restoreArr2.forEach((items: any) => {
restoreArr3.push({ path: '/' + pathid.value + items.backupPath, name: items.fileName, size: items.fileSize, type: items.isFile })
})
loading2.value = true
loading3.value = true
downloadToLocal({ parameterLists: restoreArr3 }).then((res: any) => {
if (res.code == '0') {
ElMessage.success("恢复成功")
restoreArr.value.forEach((items: any) => {
minioOnlyFiles.value = minioOnlyFiles.value.filter((item: any) => item.id !== items.id)
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== items.id)
})
diffChange()
diffMiss()
}
})
@ -608,12 +669,11 @@ function delhuifu() {
restoreArr.value.forEach((item: any) => {
ids.value.push(item.id)
})
loading3.value = true
deleteTsFilesByIds({ ids: ids.value.join(','), type: 'minio' }).then((res: any) => {
if (res.code == '0') {
ElMessage.success("删除成功")
restoreArr.value.forEach((items: any) => {
minioOnlyFiles.value = minioOnlyFiles.value.filter((item: any) => item.id !== items.id)
})
diffMiss()
}
})
@ -641,6 +701,8 @@ function bfclick(type: any) {
}
)
.then(() => {
loading1.value = true
loading2.value = true
if (type == 'bf') {
let beifenArr3 = []
let beifenArr2 = JSON.parse(JSON.stringify(changeclick.value))
@ -650,9 +712,7 @@ function bfclick(type: any) {
uploadToBackup({ parameterLists: beifenArr3 }).then((res: any) => {
if (res.code == '0') {
ElMessage.success("上传成功")
changeclick.value.forEach((items: any) => {
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== items.id)
})
diffChange()
}
})
} else {
@ -664,9 +724,7 @@ function bfclick(type: any) {
downloadToLocal({ parameterLists: restoreArr3 }).then((res: any) => {
if (res.code == '0') {
ElMessage.success("恢复成功")
changeclick.value.forEach((items: any) => {
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== items.id)
})
diffChange()
}
})
}