Ver código fonte

批量导入数据量处理

002390 1 ano atrás
pai
commit
c34b89d522

+ 21 - 2
src/views/material/changeApply/add/index.vue

@@ -242,7 +242,26 @@ export default {
 
         if(code == 200) {
 
-          this.params['materialBasic'].push(...data)
+          let size = 20;
+          let num = 1;
+          let total = Math.ceil(data.length / size);
+
+          let resultData = [...data];
+          
+          let intervalPush = setInterval(()=>{
+
+            if(num > total) clearInterval(intervalPush);
+
+              resultData.slice(size*(num-1), (size*num) ).forEach(item =>{
+
+                this.params['materialBasic'].push(item);
+                // this.params['materialBasic'].push(...data)
+
+              })
+
+            num++;
+
+          },200);
 
           let {setVisible} =  this.$refs.batchImport;
 
@@ -256,7 +275,7 @@ export default {
         this.$modal.closeLoading();
       }
 
-      },
+    },
 
     async handleTemDownload(){
 

+ 30 - 8
src/views/purchase/purchase-order/add/index.vue

@@ -535,24 +535,46 @@ export default {
         if(code == 200) {
           // puOrderExecuteList puOrderItemList
 
-          for (const key in data) {
-          //  this.params[key] = data[key];
-          this.params[key].push(...data[key]);
-          }
+          let size = 20;
+          let num = 1;
+          let total = Math.ceil(data['puOrderItemList'].length / size);
 
-          let {setVisible} =  this.$refs.batchImport;
+          let resultData = {...data};
+          
+          let intervalPush = setInterval(()=>{
 
-          setVisible(false);
+            if(num > total) clearInterval(intervalPush);
+    
+            for (const key in resultData) {
+
+              resultData[key].slice(size*(num-1), (size*num) ).forEach(item =>{
+
+                this.params[key].push(item);
+
+              })
+
+            }
 
-          this.handleGetPrice();
+            num++;
+
+          },200);
+
+          
+          let {setVisible} =  this.$refs.batchImport;
+          
+          setVisible(false);
+          
+          
+          if(num > total) this.handleGetPrice();
         }
         
       } catch (error) {
         
       }finally{
         this.$modal.closeLoading();
+        
       }
-
+      
     },
     
     async handleTemDownload(){

+ 31 - 7
src/views/purchase/purchase-order/edit/index.vue

@@ -514,24 +514,48 @@ export default {
         if(code == 200) {
           // puOrderExecuteList puOrderItemList
 
-          for (const key in data) {
-            this.params[key].push(...data[key]);
-          }
+          let size = 20;
+          let num = 1;
+          let total = Math.ceil(data['puOrderItemList'].length / size);
 
-          let {setVisible} =  this.$refs.batchImport;
+          let resultData = {...data};
+          
+          let intervalPush = setInterval(()=>{
 
-          setVisible(false);
+            if(num > total) clearInterval(intervalPush);
+
+            for (const key in resultData) {
+
+              resultData[key].slice(size*(num-1), (size*num) ).forEach(item =>{
+
+                this.params[key].push(item);
+
+              })
+              
+            }
+
+            num++;
+
+          },200);
 
-          this.handleGetPrice();
+          
+          let {setVisible} =  this.$refs.batchImport;
+          
+          setVisible(false);
+          
+          
+          if(num > total) this.handleGetPrice();
         }
         
       } catch (error) {
         
       }finally{
         this.$modal.closeLoading();
+        
       }
 
-      },
+    },
+
 
     async handleTemDownload(){