<template>
    <div class="eibs-tab">
        <el-collapse v-model="activeNames" @change="handleChange">
    
            <el-collapse-item title="索赔付款" name="gitsetp1">
                <m-gitsetp1 ref="gitsetp1" :model="model" :codes="codes" />
            </el-collapse-item>

            <el-collapse-item title="索赔付款(1)" name="gitsetp">
                <m-gitsetp ref="gitsetp" :model="model" :codes="codes" />
            </el-collapse-item>

    
            <el-collapse-item title="CIPS" name="cips" 
            v-if="model.trnmod.cmtflg == 'P'&&model.gidgrp.rec.cmtflg">
                <m-cips :model="model" :codes="codes" />
            </el-collapse-item>
    
            <el-collapse-item title="CIPS2" name="cips2" 
            v-if="model.trnmod.cmtflg == 'P'&&model.gidgrp.rec.cmtflg">
                <m-cips2 :model="model" :codes="codes" />
            </el-collapse-item>

            <!-- <el-collapse-item title="通知付款(MT756)" name="det756">
                <m-det756 :model="model" :codes="codes" />
            </el-collapse-item>
    
            <el-collapse-item title="头寸调拨(MT202)" name="det202cv"
             v-if=" model.trnmod.cmtflg == 'C' ||  model.gcdgrp.cbs.max.cur != 'CNY'  ">
                <m-det202cv :model="model" :codes="codes" />
            </el-collapse-item>
     -->
            <el-collapse-item v-for="(pac, idx) in pacs" :key="idx" :title="pac.title" :name="pac.name">
                <m-det756 v-if="pac.type === '756'" :model="model" :codes="codes" :idx="pac.idx"/>
                <m-det202cv v-else-if="pac.type === '202'" :model="model" :codes="codes" :idx="pac.idx" />
            </el-collapse-item>
        </el-collapse>
    
    </div>
    </template>
    
    <script>
    import Api from "~/service/Api";
    import commonProcess from "~/mixin/commonProcess";
    import Event from "~/model/Gitset/Event";
    import Utils from "~/utils";
   
    import Det756 from "./Det756";
    import Det202cv from "./Det202cv";
    import Cips from "./Cips";
    import Cips2 from "./Cips2";
    import Gitsetp1 from "./Gitsetp1";
    import Gitsetp from "./Gitsetp";
    
    const tabNameToRulePathMapping = {
    "cips": "trnmod.cipmod.cips",
  }
    
    export default {
        components: {
            "m-gitsetp1": Gitsetp1,
            "m-gitsetp": Gitsetp,
            
            "m-det756": Det756,
            "m-det202cv": Det202cv,
            "m-cips": Cips,
            "m-cips2": Cips2,
    
        },
        inject: ["root"],
        props: ["model", "codes"],
        mixins: [commonProcess],
        data() {
            return {
    
                activeNames: ["gitsetp1"],
            };
        },
            computed: {
        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 )
                    pa.push({ idx: i, title: '通知付款(MT756 ' + temp.join(' ') + ')', name: 'det756_' + temp.join('_'), type: '756' })
                    pa.push({ idx: i, title: '头寸调拨(MT202 ' + temp.join(' ') + ')', name: 'det202cv_' + temp.join('_'), type: '202' })
                }
            }
            if(pa.length !== 0){
                tabNameToRulePathMapping[pa[0].name] = "setmod.setglg.setgll(2).sespay.det756";
                tabNameToRulePathMapping[pa[1].name] = "setmod.setglg.setgll(2).sespay.det202cv";
            }
            return pa;
        }
    },
        methods: {
            ...Event,
            handleChange(names){
      // console.log(names);//激活的(展开的)面板的name数组集合
      if (this.isInDisplay) {
        return
      }
      const arr = []
      for (let i = 0; i < names.length; i++) {
        const n = names[i];
        const path = tabNameToRulePathMapping[n]//取出激活/展开面板name对应的rulePath
        if (path) {
          arr.push(path)
        }
      }
      let rulePath = arr.join(",");//把arr数组加入逗号分割,变成字符串
      if (!!rulePath) {//rulePath不为空串
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
    },
    myTabClick(tab) {
      this.tabClick(tab);
      const name = tab.name;
      let rulePath;
      if(name === tabNameToRulePathMapping[1]){
        rulePath = "setmod.setglg.setgll(2).sespay.det756"
      }
      if (name === tabNameToRulePathMapping[2]) {
        rulePath = "setmod.setglg.setgll(2).sespay.det202cv"
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
    },
        },
        created: function () {},
        mounted() {
            console.log(pacs);
        }
    };
    </script>
    
    <style>
    </style>