Jelajahi Sumber

1.供应商选择之后默认带出第一项供应商联系人和供应商业务员
2.查询条件中时间清空之后,查询params中时间并未清空
3.参照弹窗使用查询,再次打开还是查询条件未置空

002390 2 tahun lalu
induk
melakukan
a8812e072b

+ 9 - 15
src/api/business/purchase/purchase-order.js

@@ -108,22 +108,15 @@ const payRequest = () => {
     method: "get",
     // params,
   });
+}
 
-  // return new Promise(resolve => {
-
-
-  //   // 当前 Promise 的状态由传入的 Promise 去决定
-  //   // axios.get(`${process.env.NODE_ENV == "development" ? '/sy-derom' : ''}/apiproxy/service/ssoRegServlet?userCode=${userCode}&busiCenter=001`)
-  //   let url =`${process.env.VUE_APP_BASE_API}/pu/order/paymentRequest`;
-    
-  //   axios.get(url)
-  //   .then(res =>{
-  //     if(res.status == 200){
-  //       resolve(res.data)
-  //     }
-  //   })
-  // })
-  
+const REFER = (data, params) => {
+  return request({
+    url: "/refer/query",
+    method: "POST",
+    data: data,
+    params: params,
+  });
 }
 
 export default {
@@ -139,5 +132,6 @@ export default {
   close,
   toNc,
   payRequest,
+  REFER,
 
 }

+ 0 - 3
src/components/DictTag/index.vue

@@ -45,9 +45,6 @@ export default {
       }
     },
   },
-  created(){
-    console.log(this.$props.options,'options');
-  }
 };
 </script>
 <style scoped>

+ 4 - 2
src/components/popover-select/index.vue

@@ -164,8 +164,8 @@ export default {
       const { type, source, queryParams } = this.$props;
       this.model = {
         type,
-        search: "",
         ...this.model,
+        search: "",
         ...queryParams(source),
       };
       await this.fetchList(this.model, this.page);
@@ -237,7 +237,9 @@ export default {
       }
     }
   },
-  created() {},
+  created() {
+
+  },
   mounted() {},
   destroyed() {},
 };

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

@@ -1,6 +1,7 @@
 <script>
 import orderApi from "@/api/business/purchase/purchase-order";
 import { initColumns, initDicts, initRules, initParams } from "@/utils/init";
+import { async } from "q";
 import { Columns, TabColumns } from "./column";
 
 const NewColumns = initColumns(Columns);
@@ -292,20 +293,66 @@ export default {
         }
       })
     },
+    // 主表参照改变之后
+    handleReferChange(val, source, type){
+      // 供应商选择  
+      if( type === 'SUPPLIER_PARAM' ){
+
+        let page = { pageNum: 1 , pageSize: 10 };
+
+        let relevanceRefer = [
+          {
+            // 供应商联系人
+            key:'supplierContacts',
+            params:{
+              type:'SUPPLIERCONTACTS_PARAM',
+              supplierId:val.supplier,
+            }
+          },
+          {
+            // 供应商业务员
+            key:'supplierPersonal',
+            params:{
+              type:'PSNLICENSE_PARAM',
+              supplierId:val.supplier,
+              pkOrg: source.puOrg,
+            }
+          }
+        ]
+
+        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) {}
+          
+        })
+        
+      }
+    },
     // 子表参照改变之后
-    handleReferChange(val, source, type) {
-      console.log(val, "val");
-      console.log(source, "source");
-      console.log(type, "type");
+    handleTabReferChange(val, source, type) {
 
       // 触发物料参照询价
       if (type == "MATERIAL_PARAM" && source.qty && source.qty != "") {
         this.handleGetPrice();
       }
 
-      // if(type == "MATERIAL_PARAM"){
-      //   source.isDrug = val.materialMedcine.isDrug  == '0' ? 'Y' : 'N';
-      // }
     },
 
     // 子表下拉框改变
@@ -430,6 +477,7 @@ export default {
                 :placeholder="column.placeholder"
                 :data-mapping="column.dataMapping"
                 :query-params="column.queryParams"
+                @change="handleReferChange"
               ></dr-popover-select>
 
               <el-input
@@ -575,7 +623,7 @@ export default {
                       :placeholder="cColumn.placeholder"
                       :data-mapping="cColumn.dataMapping"
                       :query-params="cColumn.queryParams"
-                      @change="handleReferChange"
+                      @change="handleTabReferChange"
                       size="mini"
                     >
                     </dr-popover-select>

+ 2 - 4
src/views/purchase/purchase-order/index.vue

@@ -89,10 +89,8 @@ export default {
     handleQueryList() {
       console.log(this.params,'this.params---------------------');
       let {date} = this.params;
-      if(date){
-        this.params.startDate = date[0];
-        this.params.endDate = date[1];
-      }
+        this.params.startDate = date ? date[0] :'';
+        this.params.endDate = date ? date[1] : '';
       this.fetchList(this.params, this.page);
     },
     // 重置操作