<template>
  <div class="eContainer">
    <el-form :model="model" :rules="rules" 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="myTabClick">
        <el-tab-pane label="业务信息" name="ovwp">
          <c-content>
            <m-ovwp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="保证金" name="ccvpan">
          <c-content>
            <m-ccvpan :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="统一授信" name="limitbody">
          <c-content>
            <m-limitbody :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="费用/账务" name="engp,setpan,glepan">
          <c-content>
            <div class="eibs-tab">
              <el-collapse v-model="activeNames">
                <el-collapse-item title="表外记账" name="engp">
                  <!-- 表外记账 -->
                  <m-engp :model="model" :codes="codes" />
                </el-collapse-item>
                <el-collapse-item title="结算" name="setpan">
                  <!-- 结算 -->
                  <m-setpan :model="model" :codes="codes" />
                </el-collapse-item>
                <el-collapse-item title="会计分录" name="glepan">
                  <!-- 会计分录 -->
                  <m-glepan :model="model" :codes="codes" />
                </el-collapse-item>
              </el-collapse>
            </div>
          </c-content>
        </el-tab-pane>
        
        <!--PD000510 -->
        <el-tab-pane label="备查/附言" name="addbcb">
            <c-content>
              <m-addbcb :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

        <el-tab-pane label="报文/面函" name="docpan">
          <c-content>
            <m-docpan :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--trndoc PD000546 Attachments -->
        <el-tab-pane label="附件" name="doctre">
          <c-content>
            <m-doctre :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>
      </c-tabs>
    </el-form>
    <c-grid-ety-prompt-dialog ref="etyDialog" :promptData="promptData" v-on:select-ety="selectEty">
    </c-grid-ety-prompt-dialog>
    <c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash">
      <!-- <el-button size="small">流程附言</el-button>
      <el-button size="small">交易历史</el-button>
      <el-button size="small">备忘录</el-button>
      <el-button size="small">影像信息</el-button>
      <el-button size="small">制裁信息</el-button>
      <el-button size="small">智能提示</el-button> -->
    </c-function-btn>
  </div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Gitame from "~/model/Gitame";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Gitame/Check";
import Default from "~/model/Gitame/Default";
import Pattern from "~/model/Gitame/Pattern";

import Ovwp from "./Ovwp";
import Ccvpan from "~/views/Public/Ccvpan";
import Limitbody from "~/views/Public/Limitbody";
import Engp from "~/views/Public/Engp";
import Setpan from "~/components/business/setmod/views";
import Glepan from "~/views/Public/Glepan";
import Addbcb from "./Addbcb";
import Docpan from "~/views/Public/Docpan";
import Doctre from "~/views/Public/Doctre";


export default {
  name: "Gitame",
  components: {
    "m-ovwp": Ovwp,
    "m-ccvpan": Ccvpan,
    "m-limitbody": Limitbody,
    "m-engp": Engp,
    "m-setpan": Setpan,
    "m-glepan": Glepan,
    "m-addbcb": Addbcb,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "ovwp",
      activeNames: ["engp"],
      trnName: "gitame",
      trnType: "",
      model: new Gitame().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: {
        ...CodeTable,
      },
      flag: false,
    };
  },
  methods: {
    myTabClick(tab) {
      this.tabClick(tab);
      let name = tab.name;
      let rulePath;
      if (name === "setpan") {
        this.flag = true;
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
      /**
       *  do it yourself
       **/
    },
  },
  created: async function () {
    console.log("进入gitame交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      this.updateModel(rtnmsg.data);
      //TODO 处理数据逻辑
      if (this.isInDisplay) {
        this.restoreDisplay();
      }
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>

</style>