Prechádzať zdrojové kódy

采购订单维护 供应商查询信息接口与询价接口异步

002390 1 rok pred
rodič
commit
a7e0b34e14

+ 37 - 39
src/views/purchase/purchase-order/add/index.vue

@@ -394,47 +394,45 @@ export default {
             }
           }
         ]
+        
+        try {
 
-        await relevanceRefer.forEach(async (refer) =>{
-
-          try {
-
-            const { code, rows} = await orderApi.REFER(
-              {
-                ...refer.params,
-                search: "",
-                isPage: true,
-              }, page );
-
-            if (code === 200) {
-
-              source[refer.key] = rows[0]? rows[0].id :'';
-
-              source[`${refer.key}Name`] = rows[0] ? rows[0].name :'';
-
-            }
-            
-          } catch (error) {}
-          
-        })
-
-        // 明细不为空的情况下进行询价
-        let detailList = this.params['puOrderItemList'].filter(item => (
-          item.material && item.material != '' 
-        ))
-
-        if(detailList.length){
-
-        //   this.params['puOrderItemList'] = this.params['puOrderItemList'].map(item => {
-            
-        //     item['whetherCompleteInquiry'] = false
-          
-        //     return item;
-        //   });
+          let promiseArr =  relevanceRefer.map( (refer) =>{
+
+            return new Promise((resolve,reject)=>{
+
+               orderApi.REFER(
+                {
+                  ...refer.params,
+                  search: "",
+                  isPage: true,
+                }, page ).then(res=>{
+
+                  let {code,rows} = res;
+                  if (code === 200) {
+                    
+                    source[refer.key] = rows[0]? rows[0].id :'';
+                    
+                    source[`${refer.key}Name`] = rows[0] ? rows[0].name :'';
+                    
+                    resolve();
+                  }
+              })
+            })
+          })
+
+          Promise.all(promiseArr).then(async()=>{
+            // 明细不为空的情况下进行询价
+            let detailList = this.params['puOrderItemList'].filter(item => (
+                item.material && item.material != '' 
+              ))
+              
+              if(detailList.length){
 
-          await this.handleGetPrice();
-        }
-        
+                await this.handleGetPrice();
+              }
+          })
+        } catch (error) {}
       }
 
       // 组织

+ 35 - 37
src/views/purchase/purchase-order/edit/index.vue

@@ -341,46 +341,44 @@ export default {
           }
         ]
 
-        await relevanceRefer.forEach(async (refer) =>{
-
-          try {
-
-            const { code, rows} = await orderApi.REFER(
-              {
-                ...refer.params,
-                search: "",
-                isPage: true,
-              }, page );
-
-            if (code === 200) {
-
-              source[refer.key] = rows[0]? rows[0].id :'';
+        try {
 
-              source[`${refer.key}Name`] = rows[0] ? rows[0].name :'';
+          let promiseArr =  relevanceRefer.map( (refer) =>{
+
+            return new Promise((resolve,reject)=>{
+
+              orderApi.REFER(
+                {
+                  ...refer.params,
+                  search: "",
+                  isPage: true,
+                }, page ).then(res=>{
+
+                  let {code,rows} = res;
+                  if (code === 200) {
+                    
+                    source[refer.key] = rows[0]? rows[0].id :'';
+                    
+                    source[`${refer.key}Name`] = rows[0] ? rows[0].name :'';
+                    
+                    resolve();
+                  }
+              })
+            })
+          })
+
+          Promise.all(promiseArr).then(async()=>{
+            // 明细不为空的情况下进行询价
+            let detailList = this.params['puOrderItemList'].filter(item => (
+                item.material && item.material != '' 
+              ))
+              
+              if(detailList.length){
 
-            }
-            
+                await this.handleGetPrice();
+              }
+          })
           } catch (error) {}
-          
-        })
-
-        // 明细不为空的情况下进行询价
-        let detailList = this.params['puOrderItemList'].filter(item => (
-          item.material && item.material != '' 
-        ))
-        
-        if(detailList.length){
-
-          // this.params['puOrderItemList'] = this.params['puOrderItemList'].map(item => {
-
-          //   item['whetherCompleteInquiry'] = false
-
-          //   return item;
-          // });
-
-          await this.handleGetPrice();
-        }
-
       
       }