<template>
<div class="eContainer">
    <c-page>
     <!--
        <div  class="fast-button">
           <el-button size="small">备忘录</el-button>
           <el-button size="small" @click="setDraggableContent('cms', '影像信息')">影像信息</el-button>
           <el-button size="small">制裁信息</el-button>
           <el-button size="small">智能提示</el-button>
        /div>
     -->

        <el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="left" size="small" :validate-on-rule-change="false">
            <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">

                <el-tab-pane label="业务信息" name="ovwp">
                    <c-content>
                        <m-ovwp :model="model" :codes="codes" />
                    </c-content>
                </el-tab-pane>

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

                <!--PD000027 -->
                <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>

                <el-tab-pane label="备查/附言" name="addbcb">
                    <c-content>
                        <m-addbcb :model="model" :codes="codes" />
                    </c-content>
                </el-tab-pane>

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

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

            </c-tabs>
        </el-form>

        <c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash">
        </c-function-btn>

    </c-page>
</div>
</template>

<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Brtcan from "~/model/Brtcan"
import commonProcess from "~/mixin/commonProcess"
import commonFuncs from "~/mixin/commonFuncs"
import Check from "~/model/Brtcan/Check"
import Default from "~/model/Brtcan/Default"
import Pattern from "~/model/Brtcan/Pattern"
import Canp from "./Canp"
import Ovwp from "./Ovwp"
import Addbcb from "./Addbcb"

import Engp from "../../Public/Engp"
import Setpan from "~/components/business/setmod/views"
import Glepan from "../../Public/Glepan"
import Coninfp from "../../Public/Coninfp"
import Docpan from "../../Public/Docpan"
import Doctre from "../../Public/Doctre"
import Limitbody from "../../Public/Limitbody"

export default {
    name: 'Brtcan',
    components: {
        "m-canp": Canp,
        "m-engp": Engp,
        "m-setpan": Setpan,
        "m-glepan": Glepan,
        "m-coninfp": Coninfp,
        "m-docpan": Docpan,
        "m-doctre": Doctre,
        "m-limitbody": Limitbody,
        "m-addbcb": Addbcb,
        "m-ovwp": Ovwp,

    },
    provide() {
        return {
            root: this
        }
    },
    mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
    data() {
        return {
            tabVal: "ovwp",
            trnName: "brtcan",
            model: new Brtcan().data,
            checkRules: Check,
            defaultRules: Default,
            pattern: Pattern,
            rules: null,
            codes: {
                ...CodeTable,
            },
            activeNames:["engp"],
        }
    },
    methods: {
        async handleSave() {
            let result = await this.save();
            if (result.respCode == SUCCESS && Object.keys(result.fieldErrors).length == 0) {
                this.$notify({
                    title: "成功",
                    message: "保存成功",
                    type: "success",
                });
                this.$store.dispatch("TagsView/delView", this.$route)
                this.$router.go(-1)
            } else if (result.fieldErrors && Object.keys(result.fieldErrors).length > 0) {
                const tab = this.showBackendErrors(result.fieldErrors)
                if (tab) {
                    // tab切换之后,需出发tab-click的事件
                    this.tabClick(tab);
                }
                this.$notify({
                    title: "错误",
                    message: "检核失败!",
                    type: "error",
                });
            } else {
                this.$notify({
                    title: "失败",
                    message: "保存失败",
                    type: "error",
                });
            }
        }
    },

    created: async function () {
        console.log("进入brtcan交易");
        let rtnmsg = await this.init({})
        if (rtnmsg.respCode == SUCCESS) {
            this.updateModel(rtnmsg.data);
            if (this.isInDisplay) {
                this.restoreDisplay();
            }
        } else {
            this.$notify.error({
                title: '错误',
                message: '服务请求失败!'
            });
        }
    },

}
</script>

<style>

</style>