<template>
    <div class="eContainer">
        <c-page title="进口保函赔付">
            <el-form :model="model" :rules="formRules" :validate-on-rule-change="false" label-position="right"
                     label-width="120px"
                     ref="modelForm" size="small">
                <c-tabs @tab-click="tabClick" ref="elment" type="card" v-model="tabVal">
                    <el-tab-pane label="业务信息" name="ovwp">
                        <c-content>
                            <m-ovwp :codes="codes" :model="model"/>
                        </c-content>
                    </el-tab-pane>

                    <el-tab-pane :label="$t('commonModels.授信/表外')" name="liacombo">
                        <c-content>
                            <div class="eibs-tab">
                                <c-collapse ref="liacombo" style="margin-bottom: 5px;" v-model="activeNames">
                                    <el-collapse-item :title="$t('commonCollapse.保证金')" name="ccvpan">
                                        <m-ccvpan :codes="codes" :model="model" :xxxsetFlag="true"/>
                                    </el-collapse-item>

                                    <el-collapse-item :title="$t('commonCollapse.统一授信')" name="limitbody">
                                        <m-limitbody :codes="codes" :model="model"/>
                                    </el-collapse-item>

                                    <el-collapse-item :title="$t('commonCollapse.表外信息')" name="engp">
                                        <m-engp :codes="codes" :model="model"/>
                                    </el-collapse-item>
                                </c-collapse>
                            </div>
                        </c-content>
                    </el-tab-pane>

                    <el-tab-pane label="费用/账务" name="setpan">
                        <c-content>
                            <m-setmod :codes="codes" :docamtEnable="false" :model="model"/>
                        </c-content>
                    </el-tab-pane>


                    <el-tab-pane label="付款报文" name="msdetail" v-if="model.ncdgrp.rec.frepayflg!='C'&&(
            (model.nidgrp.cbs.opn1.cur=='CNY'&&model.cmtflg == 'P'&&model.nidgrp.rec.cmtflg=='X'&&pacs.length!=0)||
            (model.nidgrp.cbs.opn1.cur!='CNY'&&model.swftyp===''&&pacs.length!=0)
          )">
                        <c-content>
                            <m-mesdetail :codes="codes" :model="model" :pacs="pacs" :spcs="spcs"/>
                        </c-content>
                    </el-tab-pane>

                    <el-tab-pane :label="$t('commonModels.对外担保')" name="cfagit" v-if="model.nidgrp.rec.fingua=='Y'">
                        <c-content>
                            <m-cfagit :cfagitConfig="{
									vrfpp: {
										isShow: model.cfagit.vrfflg == 'X' && model.cfagit.cfaflg == '5',
										disabled: true
									},
									dclpp: {
										isShow: model.cfagit.dclflg == 'X' && model.cfagit.cfaflg == '5',
										disabled: false
									},
								}" :codes="codes" :model="model">
                                <el-collapse-item :title="$t('commonCollapse.对外担保数据采集')" name="cfap">
                                    <m-cfap :codes="codes" :model="model"/>
                                </el-collapse-item>
                            </m-cfagit>
                        </c-content>
                    </el-tab-pane>
                    <el-tab-pane label="外管信息" name="boppay" v-if="getWinBopflg">
                        <c-content>
                            <m-boppay :codes="codes" :model="model"/>
                        </c-content>
                    </el-tab-pane>
                    <el-tab-pane :label="$t('commonModels.跨境人民币')" name="rmbbop">
                        <c-content>
                            <m-rmbbop :codes="codes" :model="model" ref="rmbbop"></m-rmbbop>
                        </c-content>
                    </el-tab-pane>

                    <el-tab-pane :label="$t('commonModels.统一名单')" name="usrmd">
                        <c-content>
                            <m-usrmd :codes="codes" :model="model"/>
                        </c-content>
                    </el-tab-pane>

                    <el-tab-pane label="报文/面函" name="docpan">
                        <c-content>
                            <m-docpan :codes="codes" :model="model"/>
                        </c-content>
                    </el-tab-pane>
                </c-tabs>
            </el-form>
            <c-function-btn :handleCheck="handleCheck" :handleStash="handleStash" :handleSubmit="handleSubmit"
                            @handleSureWarning="handleSureWarning" ref="commonBtn">
            </c-function-btn>

        </c-page>
    </div>
</template>
<script>
    import CodeTable from "~/config/CodeTable";
    import Nitpse from "../model";
    import commonDepend from "~/mixin/commonDepend";
    import operationFunc from "~/mixin/operationFunc";
    import event from "../event";
    import Check from "../model/check";
    import Default from "../model/default";

    import Engp from "~/components/business/engp/views";
    import Ccvpan from "~/components/business/ccvpan/views";
    import Setmod from "~/components/business/setmod/views";
    import Glentry from "~/components/business/glentry/views";
    import Coninfp from "~/components/business/coninfp/views";
    import Docpan from "~/components/business/docpan/views";
    import Doctre from "~/components/business/doctre/views";
    import Limitbody from "~/components/business/limitbody/views";
    import Usrmd from "~/components/business/Usrmd/views";
    import Rmbbop from "~/components/business/rmb/rmbbop/views";
    import Cfagit from "~/components/business/Cfagit/views";
    import Cnyp1 from "./Cnyp1";
    import Cfap from "./Cfap";

    import Ovwp from "./Ovwp";
    import MesDetail from "~/page/Business/Nitset/views/MesDetail";
    import Shisuan from "./Shisuan";
    import buildFn from "../event/buildCommons.js";
    import Boppay from "~/components/business/Boppay/views";

    const tabNameToRulePathMapping = {
        cips: "cipmod.cips"
    };
    export default {
        name: "Nitpse",
        components: {
            "m-ovwp": Ovwp,
            "m-engp": Engp,
            "m-ccvpan": Ccvpan,
            "m-setmod": Setmod,
            "m-glentry": Glentry,
            "m-coninfp": Coninfp,
            "m-docpan": Docpan,
            "m-cnyp1": Cnyp1,
            "m-cfap": Cfap,
            "m-rmbbop": Rmbbop,
            "m-cfagit": Cfagit,
            "m-doctre": Doctre,
            "m-shisuan": Shisuan,
            "m-limitbody": Limitbody,
            "m-usrmd": Usrmd,
            "m-mesdetail": MesDetail,
            "m-boppay": Boppay,
        },
        provide() {
            return {
                root: this
            };
        },
        mixins: [operationFunc, event, commonDepend, Default, buildFn],
        data() {
            return {
                tabVal: "ovwp",
                trnName: "nitpse",
                model: new Nitpse().data,
                codes: {...CodeTable},
                activeNames: ["ccvpan", "limitbody", "engp"],
                lang: "CN",
                rules: {},
            };
        },
        watch: {},
        computed: {
            formRules() {
                return {...Check.apply(this), ...this.rules};
            },
            pacs() {
                const pa = [];
                const setgll = this.model.setmod.setglg.setgll;
                for (let i = 0; i < setgll.length; i++) {
                    const setg = setgll[i];
                    // 765和202页面出现条件(费用/账务页面:结算,处理方式是PAC时,756和202页面才能显示)
                    if (setg.dsp === "PAC") {
                        const temp = [];
                        temp.push(setg.rol);
                        temp.push(setg.acccur);
                        temp.push(setg.fmtaccamt);
                        this.model.cipmodVo.dafnzh = setg.act;
                        this.model.cipmodVo.fkkhzh = setg.act;
                        if (this.model.cmtflg == "P") {
                            pa.push({
                                idx: i,
                                title: "cips",
                                name: "cips",
                                type: "cips"
                            });
                        } else {
                            pa.push({
                                idx: i,
                                title: "头寸调拨(MT202 " + temp.join(" ") + ")",
                                name: "det202cv_" + temp.join("_"),
                                type: "202"
                            });
                            if (this.model.setmod.setglg.setgll[i].setgrp.snd756.ptainr != '') {
                                pa.push({
                                    idx: i,
                                    title: "通知付款(MT756 " + temp.join(" ") + ")",
                                    name: "det756_" + temp.join("_"),
                                    type: "756"
                                });
                            }
                        }
                    }
                }
                if (pa.length !== 0) {
                    if (this.model.cmtflg != "P") {
                        tabNameToRulePathMapping[pa[0].name] =
                            "setmod.setglg.setgll(2).sespay.det202cv";
                    }
                }
                return pa;
            },
            spcs() {
                const sp = [];
                const setgll = this.model.setmod.setglg.setgll;
                for (let i = 0; i < setgll.length; i++) {
                    const setg = setgll[i];
                    if ((this.model.ncdgrp.rec.frepayflg != 'C' && this.model.nidgrp.cbs.opn1.cur == 'CNY')
                        && (setg.dsp === "ARC" || setg.dsp === "SPC")) {
                        const reg20121 = /^\d{6}2120\d{6}1$/;
                        const reg20122 = /^\d{6}2120\d{6}2$/;
                        const reg21491 = /^\d{6}2149\d{6}1$/;
                        const reg21492 = /^\d{6}2149\d{6}2$/;
                        const reg21493 = /^\d{6}2149\d{6}3$/;
                        if (reg20121.test(setg.act)) {
                            this.model.transOrderVo.kfr = "国结系统结算款项";
                        }
                        if (reg20122.test(setg.act)) {
                            this.model.transOrderVo.kfr = "国结系统结算款项(国内)";
                        }
                        if (reg21491.test(setg.act)) {
                            this.model.transOrderVo.kfr = "国结系统汇入汇出款";
                        }
                        if (reg21492.test(setg.act)) {
                            this.model.transOrderVo.kfr = "待结转国结融资款项";
                        }
                        if (reg21493.test(setg.act)) {
                            this.model.transOrderVo.kfr = "待结转国结其他款项";
                        }
                        sp.push({
                            idx: i
                        });
                        this.model.transOrderVo.fkzh = setg.act;
                    } else {
                        this.model.transOrderVo.fkzh = "";
                    }
                }
                return sp;
            },
            //判断收支申报开关是否打开
            getWinBopflg() {
            return window.sessionStorage.SW_BOPFLG !='N';
            },
        },

        methods: {},
        created: async function () {
            console.log("进入nitpse交易");
            //let rtnmsg = await this.init({});
            let params = {
                transName: this.trnName,
                nidgrp: {
                    rec: {
                        inr: this.$route.query.gidinr
                    }
                },
                ncdgrp: {
                    rec: {
                        inr: this.$route.query.inr
                    }
                }
            };
            this.init(params);
        }
    };
</script>
<style>
</style>