From 8aaa45b4619984e75bfc952e82228f170c985d82 Mon Sep 17 00:00:00 2001
From: NGyuejh <2083483352@qq.com>
Date: 星期五, 29 十二月 2023 11:08:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue | 121 +++++++++++++++++++++++++++-------------
1 files changed, 82 insertions(+), 39 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue b/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
index 47be59c..1ce781f 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
@@ -3,15 +3,12 @@
import deepClone from "@/utils/deepClone"
import {ElDatePicker, ElMessage} from "element-plus"
import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
-import useProductStore from "@/stores/sd/product/prduct"
import {onMounted, reactive, ref, watch} from "vue"
import {Search} from "@element-plus/icons-vue"
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from 'vue-router'
import BasicTable from '@/components/basic/BasicTable.vue'
-import scrollEvnt from "@/hook";
let productGlassTypeStore = useProductGlassTypeStore()
-let productStore = useProductStore()
let router=useRouter()
//鐩戝惉鐜荤拑绫诲瀷鏀瑰彉
watch(productGlassTypeStore,(newVal,oldVal) => {
@@ -20,54 +17,100 @@
})
})
+let scrollTop =ref(null)
+let scrollHeight =ref(null)
+let clientHeight =ref(null)
+const scrollEvnt = (row) => {
+ // 鍐呭楂樺害
+ scrollTop.value = row.$event.target.scrollTop
+ scrollHeight.value = row.$event.target.scrollHeight
+ clientHeight.value = row.$event.target.clientHeight
+}
+
+
+let produceList = ref([])
let pageNum=$ref(1)
-watch(productStore,(newVal,oldVal) => {
- if(newVal.flag===true){
- pageNum=pageNum+1
+let pageState = null
+//鐩戝惉浜у搧婊氬姩鏉$姸鎬侊紝婊氬姩鍒板簳閮ㄥ悜鍚庣璇锋眰鏁版嵁
+watch(scrollTop,(newVal,oldVal) => {
+ //鍒ゆ柇褰撳墠鐘舵�佹煡璇㈢姸鎬�
+ if(pageState!==null){
+ return;
+ }
+ //鍒ゆ柇婊氬姩鏉′笂涓嬫粴鍔ㄤ笉鏄乏鍙虫粴鍔紝褰撳乏鍙虫粴鍔ㄧ洿鎺ヨ繑鍥�
+ if((newVal === oldVal && newVal===0) || oldVal===null){
+ return;
+ }
+ //鍒ゆ柇鏄惁婊氬埌搴曢儴
+ if ((Math.round(scrollTop.value + clientHeight.value)+5 >= scrollHeight.value ) ) {
+ if(newVal>oldVal){
+ //鍒ゆ柇褰撳墠瀹瑰櫒闀垮害鏄惁涓�500锛屽苟涓斿綋鍓嶉〉灏忎簬瀹瑰櫒鎬绘暟閲�
+ if(produceList.length===500 && pageNum<(produceList.length/100)){
+ pageNum=pageNum+5
+ }else{
+ pageNum=pageNum+1
+ }
+ pageState=true
+ }
+ }else if(newVal===0 && oldVal>0 && pageNum>1 ){ //鍒ゆ柇鏄惁婊氬埌椤堕儴骞朵笖澶т簬瀹瑰櫒鏁伴噺
+ //鍒ゆ柇鍚戜笂婊氬姩褰撳墠椤垫暟鏄惁澶т簬瀹瑰櫒鏁板��
+ if(pageNum>5){
+ pageNum=pageNum-5
+ }else if((produceList.length/100)>=5) {
+ pageNum=pageNum-1
+ }else{
+ return
+ }
+ pageState =false
+ }
+ if(pageState!==null){
+ gridOptions.loading=true
+ request.get(`/product/${pageNum}/100`).then((res) => {
+ try{
+ if(res.code==200){
+ if(pageState){
+ produceList = produceList.concat(res.data)
+ if(produceList.length>500){
+ produceList=produceList.slice(100,600)
+ }
+ }else{
+ produceList = res.data.concat(produceList)
+ if(produceList.length>500){
+ produceList=produceList.slice(0,500)
+ }
+ }
+ xGrid.value.reloadData(produceList)
+ pageState=null
+ }else{
+ ElMessage.warning(res.msg)
+ }
+ }finally {
+ gridOptions.loading=false
+ }
+ })
+ }
+
+
//鍚庣鑾峰彇鏈夊灏戦〉锛岃秴杩囧灏戦〉涓嶅啀璇锋眰
/*if(pageNum>5){
console.log(newVal.pageNum)
return
}*/
- request.get(`/product/${pageNum}/100`).then((res) => {
- gridOptions.loading=true
- try{
- if(res.code==200){
- gridOptions.data= gridOptions.data.concat(res.data)
- newVal.flag=false
- setTimeout(()=>{
- gridOptions.loading=false
- },1000)
- }else{
- ElMessage.warning(res.msg)
- }
- }finally {
-
- }
- })
- }
})
-
-let flag = $ref(false)
request.get("/product/1/100").then((res) => {
if(res.code==200){
- gridOptions.data= deepClone(res.data)
- flag = true
+ produceList = produceList.value.concat(deepClone(res.data))
+
+ xGrid.value.reloadData(produceList)
+ gridOptions.loading=false
}else{
ElMessage.warning(res.msg)
router.push("/login")
}
})
-//瀛愮粍浠舵帴鏀跺弬鏁�
-let tableProp = $ref({
- datas:null,
- footList:[],
- //绛涢�夋潯浠跺垪
- filter:{
- },
-})
+
@@ -91,18 +134,19 @@
const xGrid = ref()
const gridOptions = reactive({
- loading: false,
+ loading: true,
border: "full",//琛ㄦ牸鍔犺竟妗�
keepSource: true,//淇濇寔婧愭暟鎹�
align: 'center',//鏂囧瓧灞呬腑
stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ rowConfig: {isCurrent: true, isHover: true,height: 60, useKey: true},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
id: 'demo_1',
showFooter: true,//鏄剧ず鑴�
printConfig: {},
importConfig: {},
exportConfig: {},
- scrollY:{ enabled: true ,gt:100},//寮�鍚櫄鎷熸粴鍔�
+ scrollX:{enabled: true},
+ scrollY:{ enabled: true ,gt:0},//寮�鍚櫄鎷熸粴鍔�
showOverflow:true,
columnConfig: {
resizable: true,
@@ -139,7 +183,6 @@
zoom: true,
custom: true
},
- data: null,//table body瀹為檯鏁版嵁
footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
return[
columns.map((column, columnIndex) => {
--
Gitblit v1.8.0