修改
This commit is contained in:
23
package-lock.json
generated
23
package-lock.json
generated
@ -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",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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
|
||||
})
|
||||
|
||||
@ -92,12 +92,15 @@
|
||||
<el-col :span="18">
|
||||
<el-card shadow="hover">
|
||||
<el-table
|
||||
:data="modelList"
|
||||
:data="currModelList"
|
||||
:header-cell-style="{ 'text-align': 'center' }"
|
||||
border
|
||||
style="width: 100%"
|
||||
ref="tableRef"
|
||||
@header-dragend="handleHeaderDragend"
|
||||
v-el-table-infinite-scroll="loadMoreData"
|
||||
:infinite-scroll-distance="10"
|
||||
:infinite-scroll-disabled="disabledScroll"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||
<el-table-column prop="militaryName" label="名称" width="139" />
|
||||
@ -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) => {
|
||||
|
||||
@ -94,11 +94,14 @@
|
||||
<el-card shadow="hover">
|
||||
<el-table
|
||||
ref="tableRef"
|
||||
:data="modelList"
|
||||
:data="currModelList"
|
||||
:header-cell-style="{ 'text-align': 'center' }"
|
||||
border
|
||||
style="width: 100%"
|
||||
@header-dragend="handleHeaderDragend"
|
||||
v-el-table-infinite-scroll="loadMoreData"
|
||||
:infinite-scroll-distance="10"
|
||||
:infinite-scroll-disabled="disabledScroll"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||
<el-table-column prop="modelName" label="模型名称" width="139" />
|
||||
@ -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) => {
|
||||
|
||||
@ -100,12 +100,15 @@
|
||||
<el-col :span="18">
|
||||
<el-card shadow="hover">
|
||||
<el-table
|
||||
:data="modelList"
|
||||
:data="currModelList"
|
||||
:header-cell-style="{ 'text-align': 'center' }"
|
||||
border
|
||||
style="width: 100%"
|
||||
ref="tableRef"
|
||||
@header-dragend="handleHeaderDragend"
|
||||
v-el-table-infinite-scroll="loadMoreData"
|
||||
:infinite-scroll-distance="10"
|
||||
:infinite-scroll-disabled="disabledScroll"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||
<el-table-column prop="iconName" label="名称" width="139" />
|
||||
@ -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()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -137,12 +137,12 @@
|
||||
</el-tree>
|
||||
</div>
|
||||
|
||||
<div class="model-gallery" ref="galleryRef">
|
||||
<div class="model-gallery" ref="galleryRef" @scroll="handleScroll">
|
||||
<div class="model-section" v-if="categories.length != 0">
|
||||
<!-- <h2 class="section-title">{{ categories[Number(currentTypeId)].name }}</h2> -->
|
||||
<div class="model-grid">
|
||||
<div
|
||||
v-for="(model, mIndex) in categories"
|
||||
v-for="(model, mIndex) in currModelList"
|
||||
:key="mIndex"
|
||||
class="model-item"
|
||||
@click="modelClick(mIndex, model)"
|
||||
@ -271,23 +271,31 @@ const initObserver = () => {
|
||||
})
|
||||
}
|
||||
|
||||
//滚动加载
|
||||
var currModelList: any = ref([])
|
||||
|
||||
let page = 1
|
||||
// 模拟加载更多数据
|
||||
const loadMoreData = () => {
|
||||
if (loading.value) return
|
||||
loading.value = true
|
||||
// if (loading.value) return
|
||||
// loading.value = true
|
||||
setTimeout(() => {
|
||||
categories.value.push({
|
||||
id: `${categories.value.length + 1}`,
|
||||
name: `新增分类_${categories.value.length}`,
|
||||
models: Array(10)
|
||||
.fill(0)
|
||||
.map((_, i) => ({
|
||||
id: `n${i}`,
|
||||
name: `新增军标_${i}`,
|
||||
thumbnail: `https://picsum.photos/300/200?random=${i + 100}`
|
||||
}))
|
||||
})
|
||||
loading.value = false
|
||||
const start = (page - 1) * 24
|
||||
const end = start + 24
|
||||
currModelList.value = categories.value.slice(0, end)
|
||||
page++
|
||||
// categories.value.push({
|
||||
// id: `${categories.value.length + 1}`,
|
||||
// name: `新增分类_${categories.value.length}`,
|
||||
// models: Array(10)
|
||||
// .fill(0)
|
||||
// .map((_, i) => ({
|
||||
// id: `n${i}`,
|
||||
// name: `新增军标_${i}`,
|
||||
// thumbnail: `https://picsum.photos/300/200?random=${i + 100}`
|
||||
// }))
|
||||
// })
|
||||
// loading.value = false
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
@ -418,7 +426,7 @@ const renderModel = async (model) => {
|
||||
cusAddNodes(window.treeObj, DbOption.parentId, [DbOption])
|
||||
|
||||
if (GroundSvg.options.id) {
|
||||
(window as any)._entityMap.set(GroundSvg.options.id, GroundSvg)
|
||||
;(window as any)._entityMap.set(GroundSvg.options.id, GroundSvg)
|
||||
}
|
||||
})
|
||||
})
|
||||
@ -429,6 +437,10 @@ const getModelListByType = (id) => {
|
||||
formData.append('militaryTypeId', id)
|
||||
GraphApi.showModelByType(formData).then((res) => {
|
||||
categories.value = res.data
|
||||
|
||||
currModelList.value = []
|
||||
page = 1
|
||||
loadMoreData()
|
||||
})
|
||||
}
|
||||
|
||||
@ -511,8 +523,11 @@ defineExpose({
|
||||
// width: 40vw;
|
||||
// height: 50vh;
|
||||
:deep(.el-dialog) {
|
||||
background:
|
||||
linear-gradient(180deg, rgba(var(--color-base1), 0.2) 0%, rgba(var(--color-base1), 0) 100%),
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(var(--color-base1), 0.2) 0%,
|
||||
rgba(var(--color-base1), 0) 100%
|
||||
),
|
||||
rgba(0, 0, 0, 0.6);
|
||||
border: 1px solid var(--color-border1);
|
||||
padding-left: 0 !important;
|
||||
|
||||
@ -137,12 +137,12 @@
|
||||
</el-tree>
|
||||
</div>
|
||||
|
||||
<div class="model-gallery" ref="galleryRef">
|
||||
<div class="model-gallery" ref="galleryRef" @scroll="handleScroll">
|
||||
<div class="model-section" v-if="categories.length != 0">
|
||||
<!-- <h2 class="section-title">{{ categories[Number(currentTypeId)].name }}</h2> -->
|
||||
<div class="model-grid">
|
||||
<div
|
||||
v-for="(model, mIndex) in categories"
|
||||
v-for="(model, mIndex) in currModelList"
|
||||
:key="mIndex"
|
||||
class="model-item"
|
||||
@click="modelClick(mIndex, model)"
|
||||
@ -365,24 +365,32 @@ const initObserver = () => {
|
||||
observer?.observe(section)
|
||||
})
|
||||
}
|
||||
//滚动加载
|
||||
var currModelList: any = ref([])
|
||||
|
||||
let page = 1
|
||||
// 模拟加载更多数据
|
||||
const loadMoreData = () => {
|
||||
if (loading.value) return
|
||||
loading.value = true
|
||||
// if (loading.value) return
|
||||
// loading.value = true
|
||||
setTimeout(() => {
|
||||
categories.value.push({
|
||||
id: `${categories.value.length + 1}`,
|
||||
name: `新增分类_${categories.value.length}`,
|
||||
models: Array(10)
|
||||
.fill(0)
|
||||
.map((_, i) => ({
|
||||
id: `n${i}`,
|
||||
name: `新增模型_${i}`,
|
||||
thumbnail: `https://picsum.photos/300/200?random=${i + 100}`
|
||||
}))
|
||||
})
|
||||
loading.value = false
|
||||
const start = (page - 1) * 24
|
||||
const end = start + 24
|
||||
currModelList.value = categories.value.slice(0, end)
|
||||
page++
|
||||
|
||||
// categories.value.push({
|
||||
// id: `${categories.value.length + 1}`,
|
||||
// name: `新增分类_${categories.value.length}`,
|
||||
// models: Array(10)
|
||||
// .fill(0)
|
||||
// .map((_, i) => ({
|
||||
// id: `n${i}`,
|
||||
// name: `新增模型_${i}`,
|
||||
// thumbnail: `https://picsum.photos/300/200?random=${i + 100}`
|
||||
// }))
|
||||
// })
|
||||
// loading.value = false
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
@ -391,14 +399,18 @@ const handleScroll = () => {
|
||||
if (!galleryRef.value) return
|
||||
|
||||
const scrollPosition = galleryRef.value.scrollTop + 100
|
||||
const sections = Array.from(document.querySelectorAll('.model-section'))
|
||||
// const sections = Array.from(document.querySelectorAll('.model-section'))
|
||||
|
||||
sections.forEach((section, index) => {
|
||||
const rect = section.getBoundingClientRect()
|
||||
if (rect.top <= 450 && rect.bottom >= 450) {
|
||||
activeTab.value = index.toString()
|
||||
// sections.forEach((section, index) => {
|
||||
// const rect = section.getBoundingClientRect()
|
||||
// if (rect.top <= 450 && rect.bottom >= 450) {
|
||||
// console.log('indexxxxxx', index)
|
||||
// activeTab.value = index.toString()
|
||||
// }
|
||||
// })
|
||||
if (galleryRef.value.scrollTop + galleryRef.value.clientHeight >= galleryRef.value.scrollHeight) {
|
||||
loadMoreData()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//-----------tree-----------
|
||||
@ -566,6 +578,10 @@ const getModelListByType = (id) => {
|
||||
formData.append('name', modelName.value)
|
||||
ModelApi.showModelByType(formData).then((res) => {
|
||||
categories.value = res.data
|
||||
|
||||
currModelList.value = []
|
||||
page = 1
|
||||
loadMoreData()
|
||||
})
|
||||
}
|
||||
|
||||
@ -668,8 +684,11 @@ defineExpose({
|
||||
// height: 50vh;
|
||||
|
||||
:deep(.el-dialog) {
|
||||
background:
|
||||
linear-gradient(180deg, rgba(var(--color-base1), 0.2) 0%, rgba(var(--color-base1), 0) 100%),
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(var(--color-base1), 0.2) 0%,
|
||||
rgba(var(--color-base1), 0) 100%
|
||||
),
|
||||
rgba(0, 0, 0, 0.6);
|
||||
border: 1px solid var(--color-border1);
|
||||
padding-left: 0 !important;
|
||||
|
||||
Reference in New Issue
Block a user