<template>
  <div class="eContainer">
    <c-page title="业务详情">
      <el-form :model="model" 
      ref="modelForm" :label-width="labelwidth" 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>
              <div v-if="obj.objtyp === 'LID' ">
                <m-lidovwp :model="model" :codes="codes" />
              </div>
               <div v-else-if="obj.objtyp === 'BRD' ">
                <m-brdovwp :model="model" :codes="codes" />
              </div>
               <div v-else-if="obj.objtyp === 'LED' ">
                <m-ledovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'BED' ">
                <m-bedovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'LTD' ">
                <m-ltdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'BTD' ">
                <m-btdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'BCD' ">
                <m-bcdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'BOD' ">
                <m-bodovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'CCD' ">
                <m-ccdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'DID' ">
                <m-didovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'BDD' ">
                <m-bddovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'DED' ">
                <m-dedovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'BFD' ">
                <m-bfdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'TRD' ">
                <m-trdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'BPD' ">
                <m-bpdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'DFD' ">
                <m-dfdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'MCD' ">
                <m-mcdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'FXD' ">
                <m-fxdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'CPD' && obj.paytyp === 'I'">
                <m-cpdovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'CPD' && obj.paytyp === 'O'">
                <m-cptovwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'JSD' && obj.seatyp === '0'">
                <c-collapse ref="ovwp" style="margin-bottom: 5px;" v-model="activeNames">
									<el-collapse-item name="route" title="大小额选择">
										<m-jsdopnOvwp :model="model" />
									</el-collapse-item>
									<el-collapse-item name="base" title="基础信息" v-if="model.jsdgrp.rec.shfobz != ''">
										<m-jsdopnOvwp1 :codes="codes" :model="model" />
									</el-collapse-item>
								</c-collapse>
              </div>
              <div v-else-if="obj.objtyp === 'JSD' && obj.seatyp === '1'">
                <m-jsdopmOvwp :model="model" :codes="codes" />
              </div>
              <div v-else-if="obj.objtyp === 'JSD' && obj.seatyp === '2'">
                <m-jsdoptOvwp :model="model" :codes="codes" />
              </div>
            </c-content>
          </el-tab-pane>
          <el-tab-pane v-if="obj.objtyp === 'LID' " label="兑用方式" name="detp">
            <c-content>
              <m-detp :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane v-if="obj.objtyp === 'LID' " label="货物或服务" name="goods">
            <c-content>
              <m-goods :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane v-if="obj.objtyp === 'LID' " label="单据" name="docs">
            <c-content>
              <m-docs :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane v-if="obj.objtyp === 'LID' " label="附加条款" name="adcptab">
            <c-content>
              <m-adcptab :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane label="授信/表外" v-if="'MCD|CPD'.indexOf(obj.objtyp) < 0 " name="liacombo">
             <c-content>
              <div v-if="'BRD|BED|LTD|BTD|BCD|BOD|CCD|BDD|BFD|MCD|JSD'.indexOf(obj.objtyp) < 0 || (obj.objtyp == 'JSD' && obj.seatyp == '2') " class="eibs-tab">
                <c-collapse ref="liacombo" v-model="activeNames" style="margin-bottom: 5px;">
                  <el-collapse-item v-if="'TRD'.indexOf(obj.objtyp) < 0 " :title="$t('commonCollapse.保证金')" name="ccvpan">
                    <m-ccvpan :model="model" :codes="codes" :ccvtableData="ccvtableData" />
                  </el-collapse-item>

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

                  <el-collapse-item :title="$t('commonCollapse.表外信息')" name="engp">
                    <m-engp :model="model" :codes="codes" :liatableData="liatableData"/>
                  </el-collapse-item>
                </c-collapse>
              </div>
             
               <div v-else  class="eibs-tab">
                <c-collapse ref="liacombo" v-model="activeNames" style="margin-bottom: 5px;">
                  <el-collapse-item :title="$t('commonCollapse.表外信息')" name="engp">
                    <m-engp :model="model" :codes="codes" :liatableData="liatableData"/>
                  </el-collapse-item>
                </c-collapse>
              </div>
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="余额信息" name="cbsp">
            <c-content>
              <m-cbsp :model="model" :codes="codes" :obj="obj" @changeCbsData="changeCbsData" :cbstableData="cbstableData" :cbbtyp="cbbtyp" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="发生额信息" name="cbep">
            <c-content>
              <m-cbep :model="model" :codes="codes" :cbetableData="cbetableData" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="费用" name="fep">
            <c-content>
              <m-fep :model="model" :codes="codes" :obj="obj" @changeFepData="changeFepData" @changeFcpData="changeFcpData" :feptableData="feptableData" :fcptableData="fcptableData" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="历史信息" name="trnp">
            <c-content>
              <m-trnp :model="model" :codes="codes" :obj="obj"  @changeVal="changeVal" @changeData="changeData" @changeTrnData="changeTrnData" :trntableData="trntableData" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane v-if="this.model.trnShow" label="历史详细信息" name="trnp0">
            <c-content>
              <m-trnp0 :model="model" :codes="codes" :smhtableDataT="smhtableDataT" :trstableData="trstableData" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="报文/面函" name="smhp">
            <c-content>
              <m-smh :model="model" :obj="obj" :codes="codes" @changeSmhData="changeSmhData" :smhtableData="smhtableData" />
            </c-content>
          </el-tab-pane>
				<el-tab-pane label="影像/发票" name="invchkpan" v-if=" 'DID_BDD_BFD_BPD'.includes(obj.objtyp) ">
            <c-content>
				      <m-invchkpan :model="model" :codes="codes"/>
						</c-content>
					</el-tab-pane>
        </c-tabs>
      </el-form>
    </c-page>
  </div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import  Xxdinf from "../model";
import Trnpan from "./Trnpan";
import Trnp0 from "./Trnp0";
import Cbsinfp from "./Cbsinfp";
import Cbeinfp from "./Cbeinfp";
import Fepinfp from "./Fepinfp";
import Smhinfp from "./Smhinfp";
import event from "../event";
import Check from "../model/check";
import Default from "../model/default";
import Ccvpan from "./Ccvinfp";
import Engp from "./Engp";
import limitbody from "./Limp1";
import Detp from "~/page/Lc/Litopn/views/Detp";
import Ptyp from "~/page/Lc/Litopn/views/Ptyp";
import Goods from "~/page/Lc/Litopn/views/Goods";
import Docs from "~/page/Lc/Litopn/views/Docs";
import Adcptab from "~/page/Lc/Litopn/views/Adcptab";
import lidOvwp from "~/page/Lc/Litopn/views/Ovwp";
import brdOvwp from "~/page/Lc/Litdck/views/Ovwp"
import ledOvwp from "~/page/Lc/Letopn/views/Ovwp";
import bedOvwp from "~/page/Lc/Letdrv/views/Ovwp";
import ltdOvwp from "~/page/Lc/Lttopn/views/Ovwp";
import btdOvwp from "~/page/Lc/Lttdav/views/Ovwp";
import bcdOvwp from "~/page/Collection/Bctdav/views/Ovwp";
import bodOvwp from "~/page/Collection/Botdav/views/Ovwp";
import ccdOvwp from "~/page/Collection/Cctdav/views/Ovwp";
import didOvwp from "~/page/Domlc/Ditopn/views/Ovwp";
import bddOvwp from "~/page/Domlc/Ditdck/views/Ovwp";
import dedOvwp from "~/page/Domlc/Detopn/views/Ovwp";
import bfdOvwp from "~/page/Domlc/Bftsnd/views/Ovwp";
import trdOvwp from "~/page/Financing/Trtopn/views/ovwp";
import bpdOvwp from "~/page/Financing/Bptopn/views/Ovwp";
import dfdOvwp from "~/page/Financing/Dftame/views/Ovwp1";
import mcdOvwp from "~/page/Derivative/Mctopn/views/Ovwp";
import fxdOvwp from "~/page/Funds/Fxtfop/views/Regp";
import cptOvwp from "~/page/Remittance/Cptopn/views/Ovwp";
import cpdOvwp from "~/page/Remittance/Cptadv/views/Ovwp";
import jsdopnOvwp from "~/page/Derivative/Jstopn/views/Ovwp";
import jsdopnOvwp1 from "~/page/Derivative/Jstopn/views/Ovwp1";
import jsdoptOvwp from "~/page/Derivative/Jstopt/views/Ovwp";
import jsdopmOvwp from "~/page/Derivative/Jstopm/views/Ovwp";
import Invchkpan from "~/components/business/Invchkpan/views";
export default {
  name: "Xxdinf",
  components: {
    "m-trnp": Trnpan,
    "m-trnp0": Trnp0,
    "m-ccvpan": Ccvpan,
    "m-engp": Engp,
    "m-limitbody": limitbody,
    "m-cbsp": Cbsinfp,
    "m-cbep": Cbeinfp,
    "m-fep": Fepinfp,
    "m-smh": Smhinfp, 
    "m-detp": Detp,
    "m-ptyp": Ptyp,
    "m-goods": Goods,
    "m-docs": Docs,
    "m-adcptab": Adcptab,
    "m-lidovwp": lidOvwp,
    "m-brdovwp": brdOvwp,
    "m-ledovwp": ledOvwp,
    "m-bedovwp": bedOvwp,
    "m-ltdovwp": ltdOvwp,
    "m-btdovwp": btdOvwp,
    "m-bcdovwp": bcdOvwp,
    "m-bodovwp": bodOvwp,
    "m-ccdovwp": ccdOvwp,
    "m-didovwp": didOvwp,
    "m-bddovwp": bddOvwp,
    "m-dedovwp": dedOvwp,
    "m-bfdovwp": bfdOvwp,
    "m-trdovwp": trdOvwp,
    "m-bpdovwp": bpdOvwp,
    "m-dfdovwp": dfdOvwp,
    "m-mcdovwp": mcdOvwp,
    "m-fxdovwp": fxdOvwp,
    "m-cpdovwp": cpdOvwp,
    "m-cptovwp": cptOvwp,
    "m-jsdopnOvwp": jsdopnOvwp,
    "m-jsdopnOvwp1": jsdopnOvwp1,
    "m-jsdoptOvwp": jsdoptOvwp,
		"m-jsdopmOvwp": jsdopmOvwp,
		"m-invchkpan": Invchkpan
  },
  provide() {
    return {
      root: this,
      activeNames: ["ovwp","route","base"]
    };
  },
  mixins: [Default, event],
  data() {
    return {
      lang:'',
      rules:{},
      tabVal: "ovwp",
      labelwidth:'',
      trnName: "xxdinf",
      model: new Xxdinf().data,
      activeNames: ["ccvpan", "limitbody", "engp","route","base"],
      codes: {
        ...CodeTable
      },
      cbbtyp: [], 
      cbstableData: [],
      cbetableData: [],
      feptableData: [],
      fcptableData: [],
      trntableData: [],
      smhtableDataT: [],
      trstableData: [],
      smhtableData: [],
      ccvtableData: [],
      liatableData: [],
      feptableData1: [],
      obj:{
      objtyp: "", //业务类型
      objinr: "", //业务唯一编号
      subobjtyp:"", //子业务类型
      pntinr:"",//父业务唯一编号
      pnttyp:"",//父业务类型
      paytyp:"",//汇款类型
      seatyp:"",//结售汇类型
      },
    };
  },
  activated(){
    this.$store.commit("setMode", "display")
  },
  methods: {
    setCN(){
      this.lang = 'DID|BDD|DED|BFD'.indexOf(this.obj.objtyp ) >= 0 ? 'CN' : ''
    },
    setLablewidth(){
      this.labelwidth = 'LID|BRD|LED|BED|LTD|BTD|BOD|BCD|CCD'.indexOf(this.obj.objtyp ) >= 0  ? '180px' : '120px'
    },
    getPnttyp(typ){
        switch(typ){
          case 'BRD':
            return 'LID';
            break;
          case 'BED':
            return 'LED';
            break;
          case 'BDD':
            return 'DID';
            break;
          case 'BFD':
            return 'DED';
            break;
          case 'LTD':
            return 'LED';
            break;
          case 'BTD':
            return 'LTD';
            break;
          default:
            return '';
            break;
        }
      },
  },
  mounted() {
    this.$store.commit("setMode", "display")
    this.obj.objtyp = this.$route.query.objtyp;
    this.obj.objinr = this.$route.query.inr
    this.obj.pnttyp = this.getPnttyp(this.$route.query.objtyp);
    this.obj.pntinr = this.$route.query.pntinr
    this.obj.subobjtyp = this.$route.query.subobjtyp;
    this.obj.paytyp = this.$route.query.paytyp;
    this.obj.seatyp = this.$route.query.seatyp;
    this.getXxdDataByInr(this.obj);
    this.setCN();
    this.setLablewidth();
    this.getdbCode("feetxt", "", "feetxt");
    this.getdbCode("fepdsp", "", "fepdsp");
    this.getdbCode("relsta", "", "relsta");
    this.getdbCode("actsta", "", "actsta");
    this.getdbCode("cortyp", "", "cortyp");
    this.getdbCode("smhdir", "", "smhdir");
    this.getdbCode("cbctxt", "", "cbctyp");
    this.getdbCode("cbttxt", "", "cbttxt");
    this.getdbCode('LIMTYP','CN','LIMTYP');
    this.getdbCode("LIMSTA", "CN", "LIMSTA");
    this.getdbCode("LMSTXT", "CN", "LMSTXT");
    this.getdbCode("YWCJ", "CN", "YWCJ");
    this.getdbCode("CAOZBZ", "CN", "CAOZBZ");
    this.getdbCode("trntyp", "CN", "trntyp");
    this.getdbCode("cbtpfx", "CN", "cbtpfx");
    this.getdbCode("CURKEY", "CN", "CURKEY");
  }
};
</script>
<style scoped>
.eContainer {
  padding-top: 20px !important;
}
</style>