<template>
  <div class="eContainer">
    <c-page title="买方信用证单据付款">
      <el-form :model="model" :rules="getRules" ref="modelForm" label-width="120px" label-position="right" size="small" :validate-on-rule-change="false">
        <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
          <el-tab-pane label="业务信息" name="ovwp">
            <c-content>
              <m-ovwp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane label="融资" name="trtcre" v-if="model.trtcre.crefinflg=='X'">
            <c-content>
              <m-trtcrep :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>
					<el-tab-pane label="影像/发票" name="invchkpan" v-if="model.trtcre.crefinflg=='X'">
            <c-content>
				      <m-invchkpan :model="model" :codes="codes"/>
						</c-content>
					</el-tab-pane>
          <el-tab-pane :label="$t('commonModels.授信/表外')" name="liacombo">
            <c-content>
              <div class="eibs-tab">
                <c-collapse ref="liacombo" v-model="activeNames" style="margin-bottom: 5px;">
                  <el-collapse-item :title="$t('commonCollapse.保证金')" name="ccvpan">
                    <m-ccvpan :model="model" :codes="codes" :xxxsetFlag="true" />
                  </el-collapse-item>

                  <el-collapse-item :title="$t('commonCollapse.统一授信')" name="limitbody">
                    <m-limitbody :model="model" :codes="codes" />
                  </el-collapse-item>

                  <el-collapse-item :title="$t('commonCollapse.表外信息')" name="engp">
                    <m-engp :model="model" :codes="codes" ref="engps" />
                  </el-collapse-item>
                </c-collapse>
              </div>
            </c-content>
          </el-tab-pane>
          <el-tab-pane :label="$t('commonModels.费用/账务')" name="setpan">
            <c-content>
              <m-setpan :model="model" :codes="codes" ref="setpans"/>
            </c-content>
          </el-tab-pane>
          <el-tab-pane :label="$t('commonModels.报文/面函')" name="docpan">
            <c-content>
              <m-docpan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>
        </c-tabs>
      </el-form>
      <!-- 底部按钮 -->
      <c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash" ref="commonBtn" @handleSureWarning="handleSureWarning"></c-function-btn>
    </c-page>

  </div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Bdtset from "../model";
import event from "../event";
import operationFunc from "~/mixin/operationFunc";
import commonDepend from "~/mixin/commonDepend";
import Check from "../model/check";
import Default from "../model/default";
import buildFn from "../event/buildCommons.js";
import Invchkpan from "~/components/business/Invchkpan/views";

import Ovwp from "./Ovwp";
import Dxzfp from "./Dxzfp";
import Goddet from "./Goddet";
import Dinpan from "./Dinpan";
import Wbdcrep from "./Wbdcrep";
import Shisuan from "./Shisuan";

import Addbcb from "./Addbcb";
import Trtcrep from "~/components/business/trtcre/views";
import Limitbody from "~/components/business/limitbody/views";
import Docpan from "~/components/business/docpan/views";
import Engp from "~/components/business/engp/views";
import Ccvpan from "~/components/business/ccvpan/views";
import Setpan from "~/components/business/setmod/views";
import BigNumber from "bignumber.js";

export default {
  name: "Bdtset",
  components: {
    "m-ovwp": Ovwp,
    "m-trtcrep": Trtcrep,
    "m-dxzfp": Dxzfp,
    "m-goddet": Goddet,
    "m-dinpan": Dinpan,
    "m-wbdcrep": Wbdcrep,
    "m-shisuan": Shisuan,
    "m-limitbody": Limitbody,
    "m-docpan": Docpan,
    "m-addbcb": Addbcb,
    "m-engp": Engp,
    "m-ccvpan": Ccvpan,
		"m-setpan": Setpan,
		"m-invchkpan": Invchkpan
  },
  provide() {
    return {
      root: this
    };
  },
  mixins: [ Default, operationFunc, event, commonDepend, buildFn], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "ovwp",
      trnName: "bdtset",
      trnType: "",
      activeNames: ["ccvpan", "limitbody", "engp"],
			model: new Bdtset().data,
			rules:{},
      codes: {
        ...CodeTable
      }
    };
  },
	methods: {},
	computed:{
		getRules(){
			return {...this.rules, ...Check.apply(this)}
		}
	},
  watch: {
    "model.setmod.setglg.setgll": {
      handler(newVal, oldVal) {
        let fkzh="";
        let qxr=new Date();
        if(this.model.spt && this.model.spt.channel!=""){
          return;
        }
        else{
          for (var i = 0; i < this.model.setmod.setglg.setgll.length; i++) {
					  if( this.model.setmod.setglg.setgll[i].debcdtflg=="C"&&this.model.setmod.setglg.setgll[i].dsp=="SPC"){
              fkzh= this.model.setmod.setglg.setgll[i].act;
              qxr=this.model.setmod.setglg.setgll[i].valdat;
					    break;
					  }
          }
          this.model.fkzh = fkzh;
          this.model.qxr = qxr;
        }
      },
      immediate: true
    },
  },
  created() {
    console.log("进入bdtset交易");
    let params = {
      transName: this.trnName,
      bddgrp: {
        rec: {
          inr: this.$route.query.inr
        }
      }
    };
    this.init(params).then(async () => {
      if (this.$store.state.Status.mode !== "display") {
         this.$refs.engps.initEngp(this.buildCommonData(this.model, this.trnName)).then(async () => {
          if(!this.$route.query.businessInr){
            if (this.model.liaall && this.model.liaall.liaallg) {
              this.model.setmod.docamt = this.model.liaall.tensetamt;
              if (this.model.bddgrp.rec.docflg == "D") {
                for (var i = 0; i < this.model.liaall.liaallg.length; i++) {
                  if (this.model.liaall.liaallg[i].cbtpfx == "AKZ") {
                    this.model.cdamt  = this.model.liaall.liaallg[i].oldamt;
                    this.model.cdwfamt = new BigNumber(this.model.cdamt).minus(new BigNumber(this.model.setmod.docamt));
                    break;
                  }
                }
              }
            }
            this.setamtDefault();
            this.cdwfamtDefault();
            this.clsflgDefault();
          }
          this.$refs.setpans.initSetmod(this.buildCommonData(this.model, this.trnName));
        });
      }
    });
  }
};
</script>
<style>
</style>