性能优化设置

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(() => { .then(() => {
loading.value = true
deleteTsNodesById({ id: row.nodeId }).then((res: any) => { deleteTsNodesById({ id: row.nodeId }).then((res: any) => {
if (res.code == 0) { if (res.code == 0) {
gettreedata() gettreedata()
@ -408,6 +409,7 @@ function delfile(row: any) {
} }
) )
.then(() => { .then(() => {
loading.value = true
deleteTsFilesById({ id: row.id, type: 'local' }).then((res: any) => { deleteTsFilesById({ id: row.id, type: 'local' }).then((res: any) => {
if (res.code == 0) { if (res.code == 0) {
getdata() getdata()
@ -443,6 +445,7 @@ function delprojectArr() {
} }
) )
.then(() => { .then(() => {
loading.value = true
deleteTsFilesByIds({ ids: ids.join(','), type: 'local' }).then((res: any) => { deleteTsFilesByIds({ ids: ids.join(','), type: 'local' }).then((res: any) => {
if (res.code == 0) { if (res.code == 0) {
ElMessage({ ElMessage({
@ -1185,6 +1188,8 @@ async function submitzip(formEl: any) {
if (!formEl) return if (!formEl) return
await formEl.validate((valid: any, fields: any) => { await formEl.validate((valid: any, fields: any) => {
if (valid) { if (valid) {
loading.value = true
zipfiles.value = false
if (zipzheng.value == true) { if (zipzheng.value == true) {
let idsarr = [] let idsarr = []
tableIdarr.value.forEach((item: any) => { tableIdarr.value.forEach((item: any) => {
@ -1192,7 +1197,6 @@ async function submitzip(formEl: any) {
}) })
zipObj.value.ids = idsarr.join(',') zipObj.value.ids = idsarr.join(',')
zipObj.value.parentId = zipParentid.value zipObj.value.parentId = zipParentid.value
// gettreedata()
getdata() getdata()
zipfiles.value = false zipfiles.value = false
zipObj.value.compressedPath = '/' + pathid.value + zipObj.value.compressedPath zipObj.value.compressedPath = '/' + pathid.value + zipObj.value.compressedPath
@ -1206,12 +1210,10 @@ async function submitzip(formEl: any) {
}) })
} else { } else {
// loading.value = true
Decompression({ id: jiezip.value.id, parentId: zipParentid.value, decompressionPath: '/' + pathid.value + zipObj.value.compressedPath }).then((res: any) => { Decompression({ id: jiezip.value.id, parentId: zipParentid.value, decompressionPath: '/' + pathid.value + zipObj.value.compressedPath }).then((res: any) => {
if (res.code == 0) { if (res.code == 0) {
ElMessage.success('解压成功') ElMessage.success('解压成功')
// // gettreedata()
// pathclick({ id: '' }, -1)
getdata() getdata()
zipfiles.value = false zipfiles.value = false
tableIdarr.value.length = 0 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 textEdit from '@/components/textEditing/index.vue'
import txtexl from '@/components/textEditing/txtexl.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 useFileData from "@/components/file/file/useFileData";
import Viewfile from '@/views/component/Viewfile.vue' import Viewfile from '@/views/component/Viewfile.vue'
import useFilePreview from "@/components/file/file/useFilePreview"; import useFilePreview from "@/components/file/file/useFilePreview";
import MarkdownViewerAsyncLoading from "@/components/file/preview/MarkdownViewerAsyncLoading.vue";
import VideoPlayerAsyncLoading from "@/components/file/preview/VideoPlayerAsyncLoading.vue"; import VideoPlayerAsyncLoading from "@/components/file/preview/VideoPlayerAsyncLoading.vue";
import TextViewerAsyncLoading from "@/components/file/preview/TextViewerAsyncLoading.vue"; import TextViewerAsyncLoading from "@/components/file/preview/TextViewerAsyncLoading.vue";
import MarkdownViewerDialogAsyncLoading from "@/components/file/preview/MarkdownViewerDialogAsyncLoading.vue"; import MarkdownViewerDialogAsyncLoading from "@/components/file/preview/MarkdownViewerDialogAsyncLoading.vue";
const { dialogVideoVisible, dialogTextVisible, dialogPdfVisible, dialogOfficeVisible, dialog3dVisible } = useFilePreview(); const { dialogVideoVisible, dialogTextVisible, dialogPdfVisible, dialogOfficeVisible, dialog3dVisible } = useFilePreview();
const { clearALlFinishedUploadFile } = useFileUpload();
const { currentStorageKey } = useHeaderStorageList();
const { openRow } = useFileData(); const { openRow } = useFileData();
// //
@ -281,38 +277,72 @@ function handleNodeClick(data: any, node: any) {
} }
// //
const handleCheckChange = ( const handleCheckChange = (
data: any, data: any,
checked: boolean, checked: boolean,
indeterminate: boolean indeterminate: boolean
) => { ) => {
console.log(data) // 使Map
// debugger const nodeMap = new Map(workall.value.map(item => [item.id, item]));
if (checked === true && indeterminate === false) {
workall.value.push(data) //
} else { if (checked && !indeterminate) {
workall.value = workall.value.filter(item => item.id !== data.id); 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) { function getclickdata(nodes: any[]): any[] {
data.forEach((item: any) => { // 使 Set ID
if (item.isFile == "FOLDER") { const excludeIds = new Set<string>();
item.children.forEach((child: any) => { // 使
data = data.filter((items: any) => items.id !== child.id); const stack = [...nodes];
if (child.children.length > 0) {
getclickdata(child.children) // 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() { 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 workdata.value = res.data.localTrees
if (workdata.value.length > 0) { if (workdata.value.length > 0) {
assignment(workdata.value, 'local') assignment(workdata.value, 'local')
@ -320,12 +350,14 @@ function getlocaltree() {
worktree.value = false worktree.value = false
diffColor() diffColor()
}) })
}
} }
const worktree1 = ref(false) const worktree1 = ref(false)
//minio //minio
function getminiotree() { function getminiotree() {
worktree1.value = true if(projectId.value && pathid.value){
listBackupTree({ taskId: projectId.value, nodeId: pathid.value }).then((res: any) => { worktree1.value = true
listBackupTree({ taskId: projectId.value, nodeId: pathid.value }).then((res: any) => {
backupsdata.value = res.data.minioTrees backupsdata.value = res.data.minioTrees
if (backupsdata.value.length > 0) { if (backupsdata.value.length > 0) {
assignment(backupsdata.value, 'minio') assignment(backupsdata.value, 'minio')
@ -333,33 +365,58 @@ function getminiotree() {
worktree1.value = false worktree1.value = false
diffColor() diffColor()
}) })
}
} }
// //
function assignment(data: any, difference: any) { function assignment(data: any[], difference: 'local' | 'minio') {
data.forEach((item: any) => { // 使
item.location = difference const stack: any[] = [...data];
item.station = '0' //0123 while (stack.length > 0) {
if (item.children.length > 0) { const node = stack.pop();
assignment(item.children, difference) 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 beifentree = ref()
const backupsChange = ( const backupsChange = (
data: any, data: any,
checked: boolean, checked: boolean,
indeterminate: boolean indeterminate: boolean
) => { ) => {
if (checked == true && indeterminate == false) { // 使访
workall.value.push(data) const currentWorkall = [...workall.value];
} else {
workall.value = workall.value.filter(item => item.id !== data.id);
}
comparearr.value = getclickdata(workall.value) // 使Map
workref.value!.setCheckedNodes(comparearr.value, false) 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);
}
// 使
const updateCompare = debounce(() => {
comparearr.value = getclickdata(workall.value);
//
workref.value?.setCheckedNodes(comparearr.value, false);
}, 50);
updateCompare();
};
// //
const handleRightClick = (event: Event, data: any, node: any) => { const handleRightClick = (event: Event, data: any, node: any) => {
if (data.station != '0') { if (data.station != '0') {
@ -489,11 +546,13 @@ function tableBeifen(row: any) {
size: row.fileSize, size: row.fileSize,
type: row.isFile type: row.isFile
}] }]
loading1.value = true
loading2.value = true
uploadToBackup({ parameterLists: params }).then((res: any) => { uploadToBackup({ parameterLists: params }).then((res: any) => {
if (res.code == '0') { if (res.code == '0') {
ElMessage.success("上传成功") ElMessage.success("上传成功")
localOnlyFiles.value = localOnlyFiles.value.filter((item: any) => item.id !== row.id) diffSure()
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== row.id) diffChange()
} }
}) })
}) })
@ -520,13 +579,13 @@ function moretableBeifen() {
beifenArr3.push({ path: '/' + pathid.value + items.workPath, name: items.fileName, size: items.fileSize, type: items.isFile }) beifenArr3.push({ path: '/' + pathid.value + items.workPath, name: items.fileName, size: items.fileSize, type: items.isFile })
// items.path = '/' + pathid.value + items.path // items.path = '/' + pathid.value + items.path
}) })
loading1.value = true
loading2.value = true
uploadToBackup({ parameterLists: beifenArr3 }).then((res: any) => { uploadToBackup({ parameterLists: beifenArr3 }).then((res: any) => {
if (res.code == '0') { if (res.code == '0') {
diffSure()
diffChange()
ElMessage.success("上传成功") 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, size: row.fileSize,
type: row.isFile type: row.isFile
}] }]
loading3.value = true
loading2.value = true
downloadToLocal({ parameterLists: params }).then((res: any) => { downloadToLocal({ parameterLists: params }).then((res: any) => {
if (res.code == '0') { if (res.code == '0') {
ElMessage.success("恢复成功") ElMessage.success("恢复成功")
minioOnlyFiles.value = minioOnlyFiles.value.filter((item: any) => item.id !== row.id) diffChange()
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== row.id) diffMiss()
} }
}) })
}) })
@ -581,13 +642,13 @@ function moretablerestore() {
restoreArr2.forEach((items: any) => { restoreArr2.forEach((items: any) => {
restoreArr3.push({ path: '/' + pathid.value + items.backupPath, name: items.fileName, size: items.fileSize, type: items.isFile }) 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) => { downloadToLocal({ parameterLists: restoreArr3 }).then((res: any) => {
if (res.code == '0') { if (res.code == '0') {
ElMessage.success("恢复成功") ElMessage.success("恢复成功")
restoreArr.value.forEach((items: any) => { diffChange()
minioOnlyFiles.value = minioOnlyFiles.value.filter((item: any) => item.id !== items.id) diffMiss()
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== items.id)
})
} }
}) })
@ -608,12 +669,11 @@ function delhuifu() {
restoreArr.value.forEach((item: any) => { restoreArr.value.forEach((item: any) => {
ids.value.push(item.id) ids.value.push(item.id)
}) })
loading3.value = true
deleteTsFilesByIds({ ids: ids.value.join(','), type: 'minio' }).then((res: any) => { deleteTsFilesByIds({ ids: ids.value.join(','), type: 'minio' }).then((res: any) => {
if (res.code == '0') { if (res.code == '0') {
ElMessage.success("删除成功") ElMessage.success("删除成功")
restoreArr.value.forEach((items: any) => { diffMiss()
minioOnlyFiles.value = minioOnlyFiles.value.filter((item: any) => item.id !== items.id)
})
} }
}) })
@ -641,6 +701,8 @@ function bfclick(type: any) {
} }
) )
.then(() => { .then(() => {
loading1.value = true
loading2.value = true
if (type == 'bf') { if (type == 'bf') {
let beifenArr3 = [] let beifenArr3 = []
let beifenArr2 = JSON.parse(JSON.stringify(changeclick.value)) let beifenArr2 = JSON.parse(JSON.stringify(changeclick.value))
@ -650,9 +712,7 @@ function bfclick(type: any) {
uploadToBackup({ parameterLists: beifenArr3 }).then((res: any) => { uploadToBackup({ parameterLists: beifenArr3 }).then((res: any) => {
if (res.code == '0') { if (res.code == '0') {
ElMessage.success("上传成功") ElMessage.success("上传成功")
changeclick.value.forEach((items: any) => { diffChange()
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== items.id)
})
} }
}) })
} else { } else {
@ -664,9 +724,7 @@ function bfclick(type: any) {
downloadToLocal({ parameterLists: restoreArr3 }).then((res: any) => { downloadToLocal({ parameterLists: restoreArr3 }).then((res: any) => {
if (res.code == '0') { if (res.code == '0') {
ElMessage.success("恢复成功") ElMessage.success("恢复成功")
changeclick.value.forEach((items: any) => { diffChange()
md5MismatchedFiles.value = md5MismatchedFiles.value.filter((item: any) => item.id !== items.id)
})
} }
}) })
} }