From 26762bc8bc4d934957b4436ce4246eddc2ce6966 Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Wed, 28 Aug 2024 17:49:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20tabs=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/collect/CollectOrderAllot.vue | 10 +++++++++ src/views/collect/CollectOrderAllotBlank.vue | 11 ++++++++++ .../CollectOrderAllotCardComponents.vue | 9 ++++++-- src/views/collect/CollectOrderTabs.vue | 21 +++++++++++++++++-- 4 files changed, 47 insertions(+), 4 deletions(-) diff --git a/src/views/collect/CollectOrderAllot.vue b/src/views/collect/CollectOrderAllot.vue index 86965771..8e901aae 100644 --- a/src/views/collect/CollectOrderAllot.vue +++ b/src/views/collect/CollectOrderAllot.vue @@ -8,6 +8,7 @@ @@ -46,6 +47,15 @@ export default { workPlaceCode: null, } }, + methods: { + parentMethod(data,url) { + // 处理从子组件传来的数据 + this.callParentMethod(url) + }, + callParentMethod(val) { + window.open(val, '_blank'); + }, + }, created() { if (this.$route.query.workplaceId != null){ this.workPlaceCode = Number(this.$route.query.workplaceId); diff --git a/src/views/collect/CollectOrderAllotBlank.vue b/src/views/collect/CollectOrderAllotBlank.vue index 86965771..d5a2feef 100644 --- a/src/views/collect/CollectOrderAllotBlank.vue +++ b/src/views/collect/CollectOrderAllotBlank.vue @@ -8,6 +8,7 @@ @@ -46,6 +47,16 @@ export default { workPlaceCode: null, } }, + methods: { + parentMethod(data,url) { + // 处理从子组件传来的数据 + this.callParentMethod(data) + }, + callParentMethod(val) { + // 触发自定义事件 'parent-method' + this.$emit('parent-method', val); // someData 是你想要传递给父组件的数据 + }, + }, created() { if (this.$route.query.workplaceId != null){ this.workPlaceCode = Number(this.$route.query.workplaceId); diff --git a/src/views/collect/CollectOrderAllotCardComponents.vue b/src/views/collect/CollectOrderAllotCardComponents.vue index b34a9671..b115f738 100644 --- a/src/views/collect/CollectOrderAllotCardComponents.vue +++ b/src/views/collect/CollectOrderAllotCardComponents.vue @@ -478,9 +478,14 @@ export default { this.changeViewDisabled = !this.changeViewDisabled }, handleClick(index) { + // this.$router.push({ path: '/tagCodeBlank', query: { workplaceId: this.list[index].workPlaceCode , billNo: this.list[index].billNo }}); + this.$router.push({ query: { ...this.$route.query, billNo: this.list[index].billNo }, path: this.$route.path }) + this.callParentMethod(index) + }, + callParentMethod(index) { let url = window.location.origin + `/UDI_WMS_NEW#/tagCodeBlank?workplaceId=` + this.list[index].workPlaceCode + "&billNo=" + this.list[index].billNo - // this.$router.push( workplaceId) - window.open(url, '_blank'); + // 触发自定义事件 'parent-method' + this.$emit('parent-method', "DealOrderBlank",url); // someData 是你想要传递给父组件的数据 }, linkPage(_this, row) { diff --git a/src/views/collect/CollectOrderTabs.vue b/src/views/collect/CollectOrderTabs.vue index f6ad18c4..306fb68f 100644 --- a/src/views/collect/CollectOrderTabs.vue +++ b/src/views/collect/CollectOrderTabs.vue @@ -68,7 +68,7 @@ :name="item.name" > - + @@ -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