Sfoglia il codice sorgente

feat(财务模块): 添加合同选择时供应商一致性校验及银行信息回填

liujt 1 mese fa
parent
commit
d3040adcd7

+ 7 - 0
src/views/financialManage/components/contractListDialog.vue

@@ -71,6 +71,10 @@ export default {
       default: false,
       type: Boolean
     },
+    collectionId: {
+      default: '',
+      type: String
+    },
   },
   data() {
     return {
@@ -262,6 +266,9 @@ export default {
       if (!this.current) {
         return this.$message.warning('请至少选择一条数据');
       }
+      if(this.collectionId && this.type == 2 && this.collectionId != this.current.partbId) {
+        return this.$message.warning('请选择供应商相同的合同');
+      }
       this.$emit('changeParent', this.current, this.currentIndex);
       this.handleClose();
     }

+ 24 - 6
src/views/financialManage/components/feeRelatedInfoTable.vue

@@ -180,6 +180,7 @@
       ref="contractListDialogRef"
       @changeParent="getContractData"
       :type="contractType"
+      :collectionId="collectionId"
     ></contract-list-dialog>
     <!--选择销售订单-->
     <sale-order-list-dialog
@@ -670,12 +671,29 @@ export default {
     },
     //获取合同数据
     getContractData(params) {
-      let row = {
-        id: params.id,
-        name: params.contractName,
-        code: params.contractNo,
-        amount: params.discountTotalPrice
-      };
+      console.log('this.contractType~~~', this.contractType);
+      let row = {}
+      if(this.contractType == 2) {
+        row = {
+          id: params.id,
+          name: params.contractName,
+          code: params.contractNo,
+          amount: params.discountTotalPrice,
+          bankName: params.partbBank,
+          collectionId: params.partbId,
+          collectionName: params.partbName,
+          bankAccount: params.partbBankAccount,
+          type: this.contractType
+        };
+      } else {
+        row = {
+          id: params.id,
+          name: params.contractName,
+          code: params.contractNo,
+          amount: params.discountTotalPrice
+        };
+      }
+      this.$emit('getInfo', row);
       this.setSelectData(row);
     },
     //选择销售订单

+ 13 - 0
src/views/financialManage/feeManage/feeApplication/addOrEditDialog.vue

@@ -107,8 +107,10 @@
       ref="feeRelatedInfoTable"
       v-if="form.link.length || dialogType == 'add'"
       :link.sync="form.link"
+      :collectionId="form.collectionId"
       :documentType="form.documentType"
       @setTotalPrice="setTotalPrice"
+      @getInfo="getInfoData"
     ></fee-related-info-table>
     <div slot="footer">
       <el-button type="primary" @click="handleSave(0)">保存</el-button>
@@ -275,6 +277,17 @@
         this.$refs.feeRelatedInfoTable.clearData();
         // this.setSelectData(params)
       },
+      //获取关联信息数据
+      async getInfoData(val) {
+        console.log('getInfoData~~~', val, this.form.documentType);
+        if(val.type == 2) {
+          let { bankList } = await contactDetail(val.collectionId);
+          this.form.bankName = bankList[0]?.bankName;
+          this.form.collectionId = val.collectionId;
+          this.form.collectionName = val.collectionName;
+          this.form.bankAccount = bankList[0]?.accountNo;
+        }
+      },
       //获取分类管理中的数据
       async getClassifyList(id, listName) {
         let res = await getTreeByPid(id);