Cnyp.vue 2.83 KB
<template>
    <div class="eibs-tab">
        <el-collapse v-model="activeNames" @change="handleChange">

            <el-collapse-item title="外管信息" name="wg">
                <m-wg :model="model" :codes="codes" />
            </el-collapse-item>
            <!--dbap PD000000 涉外收入申报单-基础信息 -->
            <el-collapse-item title="涉外收入申报单-基础信息" name="basp" v-if="model.bopmod.szflg === '1' && model.bopmod.basflg">
                <m-basp :model="model" :codes="codes" />
            </el-collapse-item>

            <!--dbdp PD000000 境内收入申报单-基础信息 -->
            <el-collapse-item title="境内收入申报单-基础信息" name="basp1" v-if="model.bopmod.szflg === '2' && model.bopmod.basflg">
                <m-basp1 :model="model" :codes="codes" />
            </el-collapse-item>

            <el-collapse-item title="跨境人民币申报" name="cnyp1">
                <m-cnyp1 :model="model" :codes="codes" />
            </el-collapse-item>

            <!--cnybop PD000001 2101跨境收入信息 -->
            <el-collapse-item title="2101跨境收入信息" name="incp" v-if="model.cnybop.cnyflg == '1'">
                <m-incp :model="model" :codes="codes" />
            </el-collapse-item>
        </el-collapse>
    </div>
</template>
    
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Brtset/Event";

import Wg from "./Wg";
import Cnyp1 from "./Cnyp1";
import Incp from "./Incp";
import Basp from "./Basp"
import Basp1 from "./Basp1"

const tabNameToRulePathMapping = {
  "basp": "bopmod.dbap.basp",
  "basp1": "bopmod.dbdp.basp",
}


export default {
    inject: ["root"],
    components: {
        "m-wg": Wg,
        "m-cnyp1": Cnyp1,
        "m-incp": Incp,
        "m-basp" : Basp,
        "m-basp1" : Basp1,
    },
    props: ["model", "codes"],
    mixins: [commonProcess],
    data() {
        return {
            activeNames: ["wg"],
        };
    },
    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);
          }
        });
      }
    },
  },
    created: function () { },
};
</script>
    
<style>

</style>