From 47032dd19d3db42289c25f9e1f31a25012010cef Mon Sep 17 00:00:00 2001 From: lijun Date: Fri, 17 Apr 2026 20:42:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 41 +- package.json | 3 +- src/views/CIDLog.vue | 375 ++++++---- src/views/Chat.vue | 1444 ++++++++++++++++++++++++--------------- src/views/FileList.vue | 557 +++++++-------- src/views/Im.vue | 430 +++++++----- src/views/ShellList.vue | 754 +++++++++----------- 7 files changed, 1980 insertions(+), 1624 deletions(-) diff --git a/package-lock.json b/package-lock.json index 60da3cc..cccebee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,8 @@ "vue": "^3.3.11", "vue-cookies": "^1.8.3", "vue-qr": "^4.0.9", - "vue-router": "^4.2.5" + "vue-router": "^4.2.5", + "vue-virtual-scroller": "^2.0.0-beta.8" }, "devDependencies": { "@vitejs/plugin-vue": "^4.6.2", @@ -1687,6 +1688,12 @@ "node": ">=10" } }, + "node_modules/mitt": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz", + "integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==", + "license": "MIT" + }, "node_modules/mpd-parser": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.0.tgz", @@ -2269,6 +2276,15 @@ "resolved": "https://registry.npmjs.org/vue-cookies/-/vue-cookies-1.8.3.tgz", "integrity": "sha512-VBRsyRMVdahBgFfh389TMHPmDdr4URDJNMk4FKSCfuNITs7+jitBDhwyL4RJd3WUsfOYNNjPAkfbehyH9AFuoA==" }, + "node_modules/vue-observe-visibility": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-2.0.0-alpha.1.tgz", + "integrity": "sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-qr": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/vue-qr/-/vue-qr-4.0.9.tgz", @@ -2280,6 +2296,15 @@ "string-split-by": "^1.0.0" } }, + "node_modules/vue-resize": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", + "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-router": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", @@ -2294,6 +2319,20 @@ "vue": "^3.2.0" } }, + "node_modules/vue-virtual-scroller": { + "version": "2.0.0-beta.8", + "resolved": "https://registry.npmjs.org/vue-virtual-scroller/-/vue-virtual-scroller-2.0.0-beta.8.tgz", + "integrity": "sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==", + "license": "MIT", + "dependencies": { + "mitt": "^2.1.0", + "vue-observe-visibility": "^2.0.0-alpha.1", + "vue-resize": "^2.0.0-alpha.1" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", diff --git a/package.json b/package.json index 877e862..00fe215 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ "vue": "^3.3.11", "vue-cookies": "^1.8.3", "vue-qr": "^4.0.9", - "vue-router": "^4.2.5" + "vue-router": "^4.2.5", + "vue-virtual-scroller": "^2.0.0-beta.8" }, "devDependencies": { "@vitejs/plugin-vue": "^4.6.2", diff --git a/src/views/CIDLog.vue b/src/views/CIDLog.vue index d26ef04..dbc09c9 100644 --- a/src/views/CIDLog.vue +++ b/src/views/CIDLog.vue @@ -1,6 +1,7 @@ - \ No newline at end of file + +.page-card { + height: 100%; + display: flex; + flex-direction: column; + border: none; + border-radius: 8px; +} + +.page-card :deep(.el-card__body) { + flex: 1; + overflow: hidden; + padding: 20px; + display: flex; + flex-direction: column; +} + +.card-header { + display: flex; + justify-content: space-between; + align-items: center; +} + +.header-left { + display: flex; + align-items: center; +} + +.page-title { + font-size: 18px; + font-weight: 600; + color: #303133; +} + +.header-actions { + display: flex; + align-items: center; + gap: 12px; +} + +.table-wrapper { + flex: 1; + overflow: auto; + display: flex; + flex-direction: column; +} + +.table-wrapper :deep(.el-table) { + border-radius: 4px; +} + +.pagination-wrapper { + margin-top: 16px; + display: flex; + justify-content: flex-end; +} + +.form-dialog { + padding: 10px 0; +} + +.dialog-footer { + display: flex; + justify-content: flex-end; + gap: 12px; +} + diff --git a/src/views/Chat.vue b/src/views/Chat.vue index c622c05..3cbecea 100644 --- a/src/views/Chat.vue +++ b/src/views/Chat.vue @@ -1,273 +1,263 @@ diff --git a/src/views/FileList.vue b/src/views/FileList.vue index d0767b9..e7ced8d 100644 --- a/src/views/FileList.vue +++ b/src/views/FileList.vue @@ -1,8 +1,8 @@ + \ No newline at end of file + +.page-card { + height: 100%; + display: flex; + flex-direction: column; + border: none; + border-radius: 8px; +} + +.page-card :deep(.el-card__body) { + flex: 1; + overflow: hidden; + padding: 20px; + display: flex; + flex-direction: column; +} + +.card-header { + display: flex; + justify-content: space-between; + align-items: center; +} + +.header-left { + display: flex; + align-items: center; +} + +.page-title { + font-size: 18px; + font-weight: 600; + color: #303133; +} + +.header-actions { + display: flex; + align-items: center; + gap: 12px; +} + +.table-wrapper { + flex: 1; + overflow: auto; + display: flex; + flex-direction: column; +} + +.table-wrapper :deep(.el-table) { + border-radius: 4px; +} + +.pagination-wrapper { + margin-top: 16px; + display: flex; + justify-content: flex-end; +} + +.form-dialog { + padding: 10px 0; +} + +.dialog-footer { + display: flex; + justify-content: flex-end; + gap: 12px; +} + diff --git a/src/views/Im.vue b/src/views/Im.vue index 75f45dc..d950a1b 100644 --- a/src/views/Im.vue +++ b/src/views/Im.vue @@ -1,82 +1,75 @@ + - - \ No newline at end of file diff --git a/src/views/ShellList.vue b/src/views/ShellList.vue index 4a1ec0e..2771b41 100644 --- a/src/views/ShellList.vue +++ b/src/views/ShellList.vue @@ -1,7 +1,7 @@