<template>
  <c-page title="进口代收注销">
    <div class="eContainer">
      <c-function-btn
        :handleSubmit="handleSubmit"
        :handleCheck="handleCheck"
        :handleStash="handleStash"
      >
      </c-function-btn>
      <el-form
        :model="model"
        :rules="rules"
        ref="modelForm"
        label-width="150px"
        label-position="right"
        size="small"
        :validate-on-rule-change="false"
      >
        <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
          <!--Cancelation -->
          <el-tab-pane label="Cancelation" name="canp">
            <m-canp :model="model" :codes="codes" />
          </el-tab-pane>

          <!--Liability -->
          <el-tab-pane label="Liability" name="engp">
            <m-engp :model="model" :codes="codes" />
          </el-tab-pane>

          <el-tab-pane label="Settlement" name="setpan">
            <c-content>
              <m-setpan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

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

          <!--Messages -->
          <el-tab-pane label="Messages" name="docpan">
            <m-docpan :model="model" :codes="codes" />
          </el-tab-pane>

          <!--Attachments -->
          <el-tab-pane label="Attachments" name="doctre">
            <m-doctre :model="model" :codes="codes" />
          </el-tab-pane>
        </c-tabs>
      </el-form>
    </div>
  </c-page>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Bctcan from "~/model/Bctcan";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Bctcan/Check";
import Default from "~/model/Bctcan/Default";
import Pattern from "~/model/Bctcan/Pattern";
import Canp from "./Canp";
import Engp from "~/views/Public/Engp";
import Glepan from "~/views/Public/Glepan";
import Setpan from "~/views/Public/Setpan";
import Coninfp from "~/views/Public/Coninfp";
import Docpan from "~/views/Public/Docpan";
import Doctre from "~/views/Public/Doctre";

export default {
  name: "Bctcan",
  components: {
    "m-canp": Canp,
    "m-engp": Engp,
    "m-glepan": Glepan,
    "m-setpan": Setpan,
    "m-coninfp": Coninfp,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "canp",
      trnName: "bctcan",
      model: new Bctcan().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: {...CodeTable},
    };
  },
  methods: {
    mimeTabClick(tab) {
      this.tabClick(tab);
      const name = tab.name;
      let rulePath;
     if (name === "doctre") {
        rulePath = "trnmod.trndoc.doctre"
      }
     
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
    },
  },
  created: async function () {
    console.log("进入bctcan交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      //TODO 处理数据逻辑
      //更新数据
      this.updateModel(rtnmsg.data);
      if (this.isInDisplay) {
        this.restoreDisplay();
      }
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>
</style>