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/.idea/dataSources.local.xml                           |    2 
 north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue    |    1 
 /dev/null                                                             |   15 ---
 north-glass-erp/.idea/workspace.xml                                   |   26 +++++
 north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue |  121 ++++++++++++++++++++---------
 north-glass-erp/northglass-erp/src/views/LoginView.vue                |   22 ++++
 north-glass-erp/.idea/vcs.xml                                         |    1 
 north-glass-erp/northglass-erp/src/hook/index.js                      |   12 ---
 8 files changed, 125 insertions(+), 75 deletions(-)

diff --git a/north-glass-erp/.idea/dataSources.local.xml b/north-glass-erp/.idea/dataSources.local.xml
index 8f9f738..bf05ca9 100644
--- a/north-glass-erp/.idea/dataSources.local.xml
+++ b/north-glass-erp/.idea/dataSources.local.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="dataSourceStorageLocal" created-in="IU-232.8660.185">
+  <component name="dataSourceStorageLocal" created-in="IU-232.9559.62">
     <data-source name="@localhost [2]" uuid="165c5447-d19a-4aaf-af5f-cee92ae696c2">
       <database-info product="MySQL" version="8.0.22" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.22" exact-driver-version="8.0">
         <extra-name-characters>#@</extra-name-characters>
diff --git a/north-glass-erp/.idea/vcs.xml b/north-glass-erp/.idea/vcs.xml
index 288b36b..6c0b863 100644
--- a/north-glass-erp/.idea/vcs.xml
+++ b/north-glass-erp/.idea/vcs.xml
@@ -2,6 +2,5 @@
 <project version="4">
   <component name="VcsDirectoryMappings">
     <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
-    <mapping directory="$PROJECT_DIR$" vcs="Git" />
   </component>
 </project>
\ No newline at end of file
diff --git a/north-glass-erp/.idea/workspace.xml b/north-glass-erp/.idea/workspace.xml
index 02d8740..893fc31 100644
--- a/north-glass-erp/.idea/workspace.xml
+++ b/north-glass-erp/.idea/workspace.xml
@@ -4,7 +4,9 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="402214ec-6c93-4a9d-b589-f17dc90f718e" name="鏇存敼" comment="11.24鎻愪氦" />
+    <list default="true" id="402214ec-6c93-4a9d-b589-f17dc90f718e" name="鏇存敼" comment="11.24鎻愪氦">
+      <change beforePath="$PROJECT_DIR$/northglass-erp/src/views/LoginView.vue" beforeDir="false" afterPath="$PROJECT_DIR$/northglass-erp/src/views/LoginView.vue" afterDir="false" />
+    </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -67,7 +69,7 @@
     &quot;project.structure.side.proportion&quot;: &quot;0.0&quot;,
     &quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
     &quot;spring.configuration.checksum&quot;: &quot;def6d90e829e50c63f98c387daecd138&quot;,
-    &quot;ts.external.directory.path&quot;: &quot;D:\\杞欢\\IntelliJ IDEA 2023.2\\plugins\\javascript-impl\\jsLanguageServicesImpl\\external&quot;,
+    &quot;ts.external.directory.path&quot;: &quot;D:\\file\\IntelliJ IDEA 2023.2.1\\plugins\\javascript-impl\\jsLanguageServicesImpl\\external&quot;,
     &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
   },
   &quot;keyToStringList&quot;: {
@@ -104,7 +106,7 @@
       <command value="length" />
     </option>
   </component>
-  <component name="RunManager" selected="Spring Boot.ErpApplication">
+  <component name="RunManager" selected="npm.dev">
     <configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
       <option name="arquillianRunConfiguration">
         <value>
@@ -213,6 +215,7 @@
       <workItem from="1702858329054" duration="9016000" />
       <workItem from="1703031064839" duration="55055000" />
       <workItem from="1703463546867" duration="16447000" />
+      <workItem from="1703811064202" duration="8050000" />
     </task>
     <task id="LOCAL-00001" summary="绗竴娆℃帹閫�">
       <option name="closed" value="true" />
@@ -373,6 +376,23 @@
     <MESSAGE value="11.24鎻愪氦" />
     <option name="LAST_COMMIT_MESSAGE" value="11.24鎻愪氦" />
   </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <line-breakpoint enabled="true" type="javascript">
+          <url>file://$PROJECT_DIR$/northglass-erp/src/views/sd/product/SelectProduct.vue</url>
+          <line>36</line>
+          <option name="timeStamp" value="4" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="javascript">
+          <url>file://$PROJECT_DIR$/northglass-erp/src/views/LoginView.vue</url>
+          <line>32</line>
+          <properties lambdaOrdinal="-1" />
+          <option name="timeStamp" value="5" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
+  </component>
   <component name="XSLT-Support.FileAssociations.UIState">
     <expand />
     <select />
diff --git a/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue b/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue
index c626c51..6cb5437 100644
--- a/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue
+++ b/north-glass-erp/northglass-erp/src/components/basic/BasicTable.vue
@@ -48,7 +48,6 @@
 <script lang="ts" setup>
 import {ref, reactive, defineEmits, onMounted, nextTick, toRef, watch} from 'vue'
 import {VxeGridProps, VXETable} from 'vxe-table'
-import scrollEvnt from '@/hook/index'
 import request from "@/utils/request"
 import deepClone from "@/utils/deepClone";
 import {ElMessage} from "element-plus";
diff --git a/north-glass-erp/northglass-erp/src/hook/index.js b/north-glass-erp/northglass-erp/src/hook/index.js
index bc74eef..e69de29 100644
--- a/north-glass-erp/northglass-erp/src/hook/index.js
+++ b/north-glass-erp/northglass-erp/src/hook/index.js
@@ -1,12 +0,0 @@
-import useProductStore from "@/stores/sd/product/prduct"
-let productStore = useProductStore()
-export default  function  scrollEvnt(row){
-    // 鍐呭楂樺害
-    var scrollHeight = row.$event.target.scrollHeight
-    var clientHeight = row.$event.target.clientHeight
-    var scrollTop = row.$event.target.scrollTop
-    //婊氬姩鍒板簳閮�
-    if ((Math.round(scrollTop + clientHeight) >= scrollHeight ) ) {
-        productStore.flag=true
-    }
-}
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/stores/sd/product/prduct.js b/north-glass-erp/northglass-erp/src/stores/sd/product/prduct.js
deleted file mode 100644
index 4b117d6..0000000
--- a/north-glass-erp/northglass-erp/src/stores/sd/product/prduct.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import {defineStore} from 'pinia'
-import {ref} from "vue";
-
-export  default defineStore("product",{
-    state: () =>{
-        let pageNum=$ref(1)
-        let pageSize=$ref(100)
-        let flag=$ref(false)
-        return {
-            pageNum,
-            pageSize,
-            flag
-        }
-    }
-})
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/LoginView.vue b/north-glass-erp/northglass-erp/src/views/LoginView.vue
index 6c1e834..154d12b 100644
--- a/north-glass-erp/northglass-erp/src/views/LoginView.vue
+++ b/north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import {reactive, ref} from "vue"
+import {onMounted, onUnmounted, reactive, ref} from "vue"
 import {useRouter,useRoute } from 'vue-router'
 import type {FormInstance, FormRules} from 'element-plus'
 import { ElMessage } from "element-plus";
@@ -9,7 +9,7 @@
 import { sendSock, createWebSocket, closeSock,global_callback1 } from "@/utils/webSocket"
 
 const store=userInfo()
-const ruleFormRef  = ref<FormInstance>()
+let ruleFormRef  = ref<FormInstance>()
 const router = useRouter()
 const route = useRoute()
 
@@ -80,10 +80,23 @@
 let loginLoadings= ref(false)
 let registerLoadings= ref(false)
 
+const keyDown = (e) => {
+  // 鍥炶溅鍒欐墽琛岀櫥褰曟柟娉� enter閿殑ASCII鏄�13
+  if (e.keyCode == 13 || e.keyCode == 100) {
+    submitForm(ruleFormRef.value)
+  }
+}
+onMounted(()=>{
+  window.addEventListener('keydown', keyDown)
+})
+onUnmounted(() => {
+  window.removeEventListener('keydown', keyDown)
+})
+
 </script>
 
 <template>
-  <div class="mainDiv">
+  <div class="mainDiv" >
     <div id="main-login">
       <div id="img-div">
         <img id="img-pic" src="@/assets/img.png" alt="">
@@ -91,6 +104,7 @@
       <div id="div-login">
         <h2>鍖楃幓鑷姩鍖朎RP绠$悊绯荤粺</h2>
         <el-form
+            @submit.native.prevent
             ref="ruleFormRef"
             :model="userForm"
             status-icon
@@ -124,7 +138,9 @@
             <el-button
                 :loading="loginLoadings"
                 type="primary"
+                native-type="submit"
                 @click="submitForm(ruleFormRef)"
+                @keyup.enter.native="keyDown(e)"
             >鐧诲綍
             </el-button>
 
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