|
|
|
@ -68,7 +68,7 @@
|
|
|
|
|
:name="item.name"
|
|
|
|
|
|
|
|
|
|
>
|
|
|
|
|
<component :is="item.component" v-bind="item.componentProps" :reset-key="resetKeys[item.name]"/>
|
|
|
|
|
<component v-if="showChild" :is="item.component" v-bind="item.componentProps" :reset-key="resetKeys[item.name]" @parent-method="parentMethod"/>
|
|
|
|
|
</el-tab-pane>
|
|
|
|
|
</el-tabs>
|
|
|
|
|
|
|
|
|
@ -101,6 +101,7 @@ export default {
|
|
|
|
|
return {
|
|
|
|
|
logo: logoImg,
|
|
|
|
|
isLinkDisabled: false,
|
|
|
|
|
showChild: true,
|
|
|
|
|
userInfo: {
|
|
|
|
|
inv: this.$store.getters.locInvName,
|
|
|
|
|
deptName: this.$store.getters.locDeptName,
|
|
|
|
@ -117,7 +118,7 @@ export default {
|
|
|
|
|
component: DealOrderBlank,
|
|
|
|
|
// 假设你需要传递的参数
|
|
|
|
|
componentProps: {
|
|
|
|
|
title: '这是单据的标题'
|
|
|
|
|
title: '这是单据的标题',
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
@ -181,6 +182,14 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
parentMethod(data) {
|
|
|
|
|
const foundTab = this.findAllTabByName(data)
|
|
|
|
|
this.clickMenuItem(foundTab.number)
|
|
|
|
|
this.showChild = false;
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
this.showChild = true;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
upodateMenuActive(tab, event) {
|
|
|
|
|
const foundTab = this.findTabByName(tab.name)
|
|
|
|
|
if (foundTab) {
|
|
|
|
@ -197,6 +206,7 @@ export default {
|
|
|
|
|
// 如果找到了,执行一些操作
|
|
|
|
|
this.editableTabsValue = foundTab.name
|
|
|
|
|
this.$set(this.resetKeys, foundTab.name, Date.now());
|
|
|
|
|
this.menuActive = foundTab.number
|
|
|
|
|
} else {
|
|
|
|
|
// 如果没有找到,执行其他操作
|
|
|
|
|
this.addTab(item)
|
|
|
|
@ -209,10 +219,17 @@ export default {
|
|
|
|
|
// 如果找到了,返回该对象;否则返回undefined
|
|
|
|
|
return tab
|
|
|
|
|
},
|
|
|
|
|
findAllTabByName(name) {
|
|
|
|
|
// 使用find方法找到ID等于tabId的对象
|
|
|
|
|
const tab = this.componentTables.find(tab => tab.name === name)
|
|
|
|
|
// 如果找到了,返回该对象;否则返回undefined
|
|
|
|
|
return tab
|
|
|
|
|
},
|
|
|
|
|
addTab(item) {
|
|
|
|
|
++this.tabIndex
|
|
|
|
|
this.editableTabs.push(item)
|
|
|
|
|
this.editableTabsValue = item.name
|
|
|
|
|
this.menuActive = item.number
|
|
|
|
|
},
|
|
|
|
|
removeTab(targetName) {
|
|
|
|
|
let tabs = this.editableTabs
|
|
|
|
|