<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="myTabClick">

                    <!--Additional Docs -->
                    <el-tab-pane label="Additional Docs" name="bctret">
                        <m-bctret :model="model" :codes="codes" />
                    </el-tab-pane>

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

                    <!--Parties -->
                    <el-tab-pane label="Parties" name="ptyp">
                        <c-content>
                            <m-ptyp :model="model" :codes="codes" />
                        </c-content>
                    </el-tab-pane>

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

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

                    <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 Utils from "~/utils/index"
    import CodeTable from "~/config/CodeTable"
    import commonFuncs from "~/mixin/commonFuncs";
    import Bctrad from "~/model/Bctrad"
    import commonProcess from "~/mixin/commonProcess"
    import Check from "~/model/Bctrad/Check"
    import Default from "~/model/Bctrad/Default"
    import Pattern from "~/model/Bctrad/Pattern"
    import Bctret from "./Bctret"
    import Detp from "./Detp"
    import Ptyp from "./Ptyp"
    import Engp from "~/views/Public/Engp"
    import Setpan from "~/views/Public/Setpan"
    import Coninfp from "~/views/Public/Coninfp"
    import Docpan from "~/views/Public/Docpan"
    import Doctre from "~/views/Public/Doctre"
    import Glepan from "~/views/Public/Glepan"

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

</style>