diff --git a/package-lock.json b/package-lock.json index 4ea1710..1d83a20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "dayjs": "^1.11.18", "decimal.js": "^10.6.0", "echarts": "^6.0.0", + "el-table-infinite-scroll": "^3.0.8", "electron-store": "8.1.0", "electron-updater": "^6.3.9", "element-plus": "^2.10.4", @@ -5500,6 +5501,17 @@ "node": ">=0.10.0" } }, + "node_modules/core-js": { + "version": "3.47.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.47.0.tgz", + "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz", @@ -6337,6 +6349,17 @@ "node": ">=0.10.0" } }, + "node_modules/el-table-infinite-scroll": { + "version": "3.0.8", + "resolved": "https://registry.npmmirror.com/el-table-infinite-scroll/-/el-table-infinite-scroll-3.0.8.tgz", + "integrity": "sha512-zveIGMsYfRFLuknOjfrCMRtyX0yFcb6BQsZS7E4A1AQYFiuBXHcU8Ag/hSKsdYvN1P28Ot/Bs0TUxwckOHt+JQ==", + "license": "MIT", + "dependencies": { + "core-js": "^3.x", + "element-plus": "^2.x", + "vue": "^3.x" + } + }, "node_modules/electron": { "version": "37.2.4", "resolved": "https://registry.npmmirror.com/electron/-/electron-37.2.4.tgz", diff --git a/package.json b/package.json index 796e3bf..e114611 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "dayjs": "^1.11.18", "decimal.js": "^10.6.0", "echarts": "^6.0.0", + "el-table-infinite-scroll": "^3.0.8", "electron-store": "8.1.0", "electron-updater": "^6.3.9", "element-plus": "^2.10.4", diff --git a/src/renderer/src/main.ts b/src/renderer/src/main.ts index 72ed250..89b9684 100644 --- a/src/renderer/src/main.ts +++ b/src/renderer/src/main.ts @@ -30,6 +30,7 @@ import theme from "@/utils/theme"; import { handleInputLimit } from '@/utils/index' import Pagination from './components/Pagination/index.vue' import dispatchEventStorage from '@/utils/watchLocalStorage' +import elTableInfiniteScroll from 'el-table-infinite-scroll'; // process.env["ELECTRON_DISABLE_SECURITY_WARNINGS"] = "true"; @@ -76,7 +77,7 @@ const i18n = createI18n({ }); let systemSetting = JSON.parse(localStorage.getItem("systemSetting") || '{}') let skin = systemSetting.skinInfo ? systemSetting.skinInfo : "color1"; -if(!theme[skin]) { +if (!theme[skin]) { skin = 'color1' } let colorVariable = Array.from(theme[skin].keys()); @@ -101,6 +102,7 @@ setupStore(setApp) setupSvgIcon(setApp) setApp.use(EventBusPlugin) setApp.use(router) +setApp.use(elTableInfiniteScroll) setApp.use(ElementPlus, { locale: zhCn }) diff --git a/src/renderer/src/views/components/headers/components/setPup/components/graphLabelManage.vue b/src/renderer/src/views/components/headers/components/setPup/components/graphLabelManage.vue index a05e3cd..8c7beaa 100644 --- a/src/renderer/src/views/components/headers/components/setPup/components/graphLabelManage.vue +++ b/src/renderer/src/views/components/headers/components/setPup/components/graphLabelManage.vue @@ -92,12 +92,15 @@ @@ -209,6 +212,24 @@ const contextMenu = reactive({ }) const treeRef = ref() + +//滚动加载 +const disabledScroll = ref(false) +var currModelList: any = ref([]) +let page = 1 +const loadMoreData = () => { + // 模拟加载更多数据 + setTimeout(() => { + const start = (page - 1) * 8 + const end = start + 8 + currModelList.value = modelList.value.slice(0, end) + page++ + // 检查是否还有更多数据 + if (page > modelList.value.length) { + disabledScroll.value = true + } + }, 1000) +} // @ts-ignore var sortableInstance: any = reactive(null) @@ -595,6 +616,9 @@ const getModelListByType = (id) => { formData.append('name', photoName.value) GraphApi.showModelByType(formData).then((res) => { modelList.value = res.data + currModelList.value = [] + page = 1 + loadMoreData() }) } const divContextMenu = (event: MouseEvent) => { diff --git a/src/renderer/src/views/components/headers/components/setPup/components/modelManage.vue b/src/renderer/src/views/components/headers/components/setPup/components/modelManage.vue index e430034..a50d707 100644 --- a/src/renderer/src/views/components/headers/components/setPup/components/modelManage.vue +++ b/src/renderer/src/views/components/headers/components/setPup/components/modelManage.vue @@ -94,11 +94,14 @@ @@ -240,6 +243,24 @@ const handleHeaderDragend = (newWidth, oldWidth, column, event) => { }) } +//滚动加载 +const disabledScroll = ref(false) +var currModelList: any = ref([]) +let page = 1 +const loadMoreData = () => { + // 模拟加载更多数据 + setTimeout(() => { + const start = (page - 1) * 8 + const end = start + 8 + currModelList.value = modelList.value.slice(0, end) + page++ + // 检查是否还有更多数据 + if (page > modelList.value.length) { + disabledScroll.value = true + } + }, 1000) +} + // @ts-ignore var sortableInstance: any = reactive(null) @@ -662,6 +683,9 @@ const getModelListByType = (id) => { formData.append('name', photoName.value) ModelApi.showModelByType(formData).then((res) => { modelList.value = res.data + currModelList.value = [] + page = 1 + loadMoreData() }) } const divContextMenu = (event: MouseEvent) => { diff --git a/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue b/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue index 99e2737..b0eefb4 100644 --- a/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue +++ b/src/renderer/src/views/components/headers/components/setPup/components/photoManage.vue @@ -100,12 +100,15 @@ @@ -311,6 +314,24 @@ const reviewPhoto = (index) => { const seeBigPhoto = (index) => { currentIndex.value = index } + +//滚动加载 +const disabledScroll = ref(false) +var currModelList: any = ref([]) +let page = 1 +const loadMoreData = () => { + // 模拟加载更多数据 + setTimeout(() => { + const start = (page - 1) * 8 + const end = start + 8 + currModelList.value = modelList.value.slice(0, end) + page++ + // 检查是否还有更多数据 + if (page > modelList.value.length) { + disabledScroll.value = true + } + }, 1000) +} // @ts-ignore var sortableInstance: any = reactive(null) @@ -683,6 +704,9 @@ const getModelListByType = async (id) => { formData.append('name', photoName.value) PhotoApi.showModelByType(formData).then((res) => { modelList.value = res.data + currModelList.value = [] + page = 1 + loadMoreData() }) } } diff --git a/src/renderer/src/views/components/propertyBox/graph.vue b/src/renderer/src/views/components/propertyBox/graph.vue index f1cc729..6504606 100644 --- a/src/renderer/src/views/components/propertyBox/graph.vue +++ b/src/renderer/src/views/components/propertyBox/graph.vue @@ -137,12 +137,12 @@ -