<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> <el-collapse-item title="涉外收入申请单-基础信息" name="basp3" v-if="model.bopmod.szflg=='1' && model.bopmod.basflg=='X'"> <m-basp3 :model="model" :codes="codes" /> </el-collapse-item> <el-collapse-item title="境内收入申请单-基础信息" name="basp2" v-if="model.bopmod.szflg=='2' && model.bopmod.basflg=='X'"> <m-basp2 :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/Botset/Event"; import Wg from "./Wg"; import Cnyp1 from "./Cnyp1"; import Incp from "./Incp"; import Basp2 from "./Basp2"; import Basp3 from "./Basp3"; const tabNameToRulePathMapping = { "basp2": "bopmod.dbdp.basp", "basp3": "bopmod.dbap.basp", "incp": "cnybop.incp", } export default { inject: ["root"], components: { "m-basp2": Basp2, "m-basp3": Basp3, "m-wg": Wg, "m-cnyp1": Cnyp1, "m-incp": Incp, }, props: ["model", "codes"], mixins: [commonProcess], data() { return { activeNames: ["wg"], }; }, methods: { ...Event, handleChange(names) { if (this.isInDisplay) { return } const arr = []; for (let i = 0; i < names.length; i++) { const n = names[i]; const path = tabNameToRulePathMapping[n] if (path) { arr.push(path) } } let rulePath = arr.join(","); if (!!rulePath) {//rulePath不为空串 this.executeRule(rulePath).then((res) => { if (res.respCode == SUCCESS) { this.updateModel(res.data); } }); } }, myTabClick(tab) { this.tabClick(tab); let name = tab.name; let rulePath; if (name === "basp3") { rulePath = "bopmod.dbap.basp"; } if (name === "basp2") { rulePath = "bopmod.dbdp.basp"; } if (!!rulePath) { this.executeRule(rulePath).then((res) => { if (res.respCode == SUCCESS) { this.updateModel(res.data); } }); } }, }, created: function () {}, }; </script> <style> </style>