<template>
  <div class="eContainer">
    <el-form
      :model="model"
      :rules="rules"
      ref="modelForm"
      label-width="150px"
      label-position="left"
      size="small"
      :validate-on-rule-change="false"
    >
      <m-infsea
        v-show="!showPanel"
        :model="model"
        :codes="codes"
        @updateShowPanel="updateShowPanel($event)"
      />
      <c-tabs
        v-show="showPanel"
        v-model="tabVal"
        ref="elment"
        type="card"
        @tab-click="tabClick"
      >
        <!-- <el-tab-pane label="Selection" name="infsea">
          <c-content>
            <m-infsea :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane> -->
        <el-tab-pane label="Overview" name="infovwp">
          <c-content>
            <m-infovwp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="Completion" name="coninfp">
          <m-coninfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Transactions" name="trnpan">
          <m-trnpan :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="CBS Info" name="cbsinfp">
          <m-cbsinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="CBE Info" name="cbeinfp">
          <m-cbeinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="FEP/FCP Info" name="fepinfp">
          <m-fepinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="SEP Info" name="sepinfp">
          <m-sepinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="GLE Bookings" name="gleinfp">
          <m-gleinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="SMH Info" name="smhinfp">
          <m-smhinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="SPT/DIA Info" name="peninfp">
          <m-peninfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Engagement" name="liainfp">
          <m-liainfp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Print" name="prtpan">
          <m-prtpan :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Order" name="ordpan">
          <m-ordpan :model="model" :codes="codes" />
        </el-tab-pane>
      </c-tabs>
    </el-form>
  </div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Infbpd from "~/model/Infbpd";
import commonProcess from "~/mixin/commonProcess";
import Check from "~/model/Infbpd/Check";
import Default from "~/model/Infbpd/Default";
import Pattern from "~/model/Infbpd/Pattern";
import Infsea from "./Infsea";
import Ordpan from "./Ordpan";
import Infovwp from "./Infovwp";
import Coninfp from "./Coninfp";
import Trnpan from "./Trnpan";
import Cbsinfp from "./Cbsinfp";
import Cbeinfp from "./Cbeinfp";
import Fepinfp from "./Fepinfp";
import Sepinfp from "./Sepinfp";
import Gleinfp from "./Gleinfp";
import Smhinfp from "./Smhinfp";
import Peninfp from "./Peninfp";
import Liainfp from "./Liainfp";
import Prtpan from "./Prtpan";

export default {
  components: {
    "m-infsea": Infsea,
    "m-ordpan": Ordpan,
    "m-infovwp": Infovwp,
    "m-coninfp": Coninfp,
    "m-trnpan": Trnpan,
    "m-cbsinfp": Cbsinfp,
    "m-cbeinfp": Cbeinfp,
    "m-fepinfp": Fepinfp,
    "m-sepinfp": Sepinfp,
    "m-gleinfp": Gleinfp,
    "m-smhinfp": Smhinfp,
    "m-peninfp": Peninfp,
    "m-liainfp": Liainfp,
    "m-prtpan": Prtpan,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "",
      trnName: "infbpd",
      model: new Infbpd().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: { ...CodeTable },
      showPanel: false,
    };
  },
  methods: {
    tabClick() {},
  },
  async updateShowPanel(value) {
    this.showPanel = value;
    if (value) {
      this.tabVal = "infovwp";
    } else {
      this.tabVal = "";
    }
  },
  created: async function () {
    console.log("进入infbpd交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      this.updateModel(rtnmsg.data)
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>
</style>