<template>
  <div class="eContainer">
    <c-page>
      <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">
        <!--cctset PD000002 Settle -->
        <el-tab-pane label="结汇" name="setp">
          <c-content>
            <m-setp ref="setp" :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--报文和面函(TRNMOD\TRNDOC\DOCPAN) -->
        <el-tab-pane label="报文和面函" name="docpan">
          <c-content>
            <m-docpan :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--附件 -->
        <el-tab-pane label="附件" name="doctre">
          <c-content>
            <m-doctre :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--提示信息 -->
        <el-tab-pane label="提示信息" name="coninfp">
          <c-content>
            <m-coninfp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--表外记账 -->
        <el-tab-pane label="表外记账" name="engp">
          <c-content>
            <m-engp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

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

        <!--会计分录 -->
        <el-tab-pane label="会计分录" name="glepan">
          <c-content>
            <m-glepan :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--lendoc PD000001 收账通知 -->
        <el-tab-pane label="收账通知" name="docpan1">
          <c-content>
            <m-docpan1 :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--bopgat PD000006 外管信息 -->
        <el-tab-pane label="外管信息" name="wg">
          <c-content>
            <m-wg :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane
          v-if="model.bopmod.szflg == '1' && model.bopmod.basflg == 'X'"
          label="涉外收入申请单-基础信息"
          name="basp3"
        >
          <c-content>
            <m-basp3 :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane
          v-if="model.bopmod.szflg == '2' && model.bopmod.basflg == 'X'"
          label="境内收入申请单-基础信息"
          name="basp2"
        >
          <c-content>
            <m-basp2 :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--cnybop PD000002 跨境人民币申报 -->
        <el-tab-pane label="跨境人民币申报" name="cnyp">
          <c-content>
            <m-cnyp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane
          v-if="model.cnybop.cnyflg == '1'"
          label="2101跨境收入信息"
          name="incp"
        >
          <c-content>
            <m-incp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>
      </c-tabs>
    </el-form>

    <c-grid-ety-prompt-dialog
      ref="doxpDialog"
      :isPty="false"
      :promptData="promptData"
      @select-ety="selectMsg"
    >
    </c-grid-ety-prompt-dialog>

    <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>
      <el-button size="small">智能提示</el-button> -->
    </c-function-btn>
    </c-page>
  </div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Cctset from "~/model/Cctset";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Cctset/Check";
import Default from "~/model/Cctset/Default";
import Pattern from "~/model/Cctset/Pattern";

import Setp from "./Setp";
import Wg from "./Wg";
import Cnyp from "./Cnyp";
import Docpan1 from "./Docpan1";
import Basp2 from "./Basp2";
import Basp3 from "./Basp3";
import Incp from "./Incp";

import Docpan from "~/views/Public/Docpan";
import Doctre from "~/views/Public/Doctre";
import Coninfp from "~/views/Public/Coninfp";
import Setpan from "~/views/Public/Setpan";
import Glepan from "~/views/Public/Glepan";
import Engp from "~/views/Public/Engp";

export default {
  name: "Cctset",
  components: {
    "m-setp": Setp,
    "m-docpan1": Docpan1,
    "m-wg": Wg,
    "m-cnyp": Cnyp,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
    "m-coninfp": Coninfp,
    "m-setpan": Setpan,
    "m-glepan": Glepan,
    "m-engp": Engp,
    "m-basp2": Basp2,
    "m-basp3": Basp3,
    "m-incp": Incp,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "setp",
      trnName: "cctset",
      trnType: "",
      model: new Cctset().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: { ...CodeTable },
    };
  },
  methods: {
    myTabClick(tab) {
      this.tabClick(tab);
      /**
       *  do it yourself
       **/
    },
  },
  created: async function () {
    console.log("进入cctset交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      this.updateModel(rtnmsg.data);
      //TODO 处理数据逻辑
      if (this.isInDisplay) {
        this.restoreDisplay();
      }

      this.$refs.setp.$refs.table.$refs.table.toggleAllSelection();
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>
</style>