|  |  | @ -126,8 +126,13 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |             :key="item.name" |  |  |  |             :key="item.name" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :label="item.title" |  |  |  |             :label="item.title" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :name="item.name" |  |  |  |             :name="item.name" | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |             @contextmenu.stop.prevent="handleTabContextMenu($event, item)" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |           > |  |  |  |           > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             <ul v-if="showContextMenu" class="context-menu" :style="contextMenuPosition"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               <li @click="closeCurrentTab(contextMenuIndex)">关闭当前</li> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               <li @click="closeOtherTabs">关闭其他</li> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               <li @click="closeAllTabs">关闭所有</li> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             </ul> | 
			
		
	
		
		
			
				
					
					|  |  |  |             <div > |  |  |  |             <div > | 
			
		
	
		
		
			
				
					
					|  |  |  |               <component v-if="showChild" :is="item.component" v-bind="item.componentProps" :reset-key="resetKeys[item.name]" @parent-method="parentMethod" /> |  |  |  |               <component v-if="showChild" :is="item.component" v-bind="item.componentProps" :reset-key="resetKeys[item.name]" @parent-method="parentMethod" /> | 
			
		
	
		
		
			
				
					
					|  |  |  |             </div> |  |  |  |             </div> | 
			
		
	
	
		
		
			
				
					|  |  | @ -179,7 +184,8 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |             <div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;" |  |  |  |             <div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;" | 
			
		
	
		
		
			
				
					
					|  |  |  |             > |  |  |  |             > | 
			
		
	
		
		
			
				
					
					|  |  |  |               <!-- 假设这里有一些信息内容 --> |  |  |  |               <!-- 假设这里有一些信息内容 --> | 
			
		
	
		
		
			
				
					
					|  |  |  |               <p style="font-size: 14px;background-color: #e1f3fb"  @click="selectBusType(info.documentTypeCode)">{{ info.remark }}</p> |  |  |  |               <p style="font-size: 14px;background-color: #e1f3fb" @click="selectBusType(info.documentTypeCode)"> | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 {{ info.remark }}</p> | 
			
		
	
		
		
			
				
					
					|  |  |  |               <el-button type="primary" style="position: absolute; bottom: 20px; right: 20px;" icon="el-icon-thumb" |  |  |  |               <el-button type="primary" style="position: absolute; bottom: 20px; right: 20px;" icon="el-icon-thumb" | 
			
		
	
		
		
			
				
					
					|  |  |  |                          @click="selectBusType(info.documentTypeCode)">开始作业 |  |  |  |                          @click="selectBusType(info.documentTypeCode)">开始作业 | 
			
		
	
		
		
			
				
					
					|  |  |  |               </el-button> |  |  |  |               </el-button> | 
			
		
	
	
		
		
			
				
					|  |  | @ -264,7 +270,7 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |           component: IoCreateOrderOut, |  |  |  |           component: IoCreateOrderOut, | 
			
		
	
		
		
			
				
					
					|  |  |  |           // 假设你需要传递的参数 |  |  |  |           // 假设你需要传递的参数 | 
			
		
	
		
		
			
				
					
					|  |  |  |           componentProps: { |  |  |  |           componentProps: { | 
			
		
	
		
		
			
				
					
					|  |  |  |             fromSplitType: 'out' |  |  |  |             fromSplitType: 'out', | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |           } |  |  |  |           } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }, |  |  |  |         }, | 
			
		
	
		
		
			
				
					
					|  |  |  |         { |  |  |  |         { | 
			
		
	
	
		
		
			
				
					|  |  | @ -445,6 +451,7 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |             this.formData.busType = this.$route.query.busType |  |  |  |             this.formData.busType = this.$route.query.busType | 
			
		
	
		
		
			
				
					
					|  |  |  |           }else  if (this.busTypeList.length == 1) { |  |  |  |           }else  if (this.busTypeList.length == 1) { | 
			
		
	
		
		
			
				
					
					|  |  |  |               this.formData.busType = this.busTypeList[0].documentTypeCode |  |  |  |               this.formData.busType = this.busTypeList[0].documentTypeCode | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |              this.$router.push({query: {...this.$route.query, busType: this.formData.busType}, path: this.$route.path}) | 
			
		
	
		
		
			
				
					
					|  |  |  |               this.selectBusTypeDisabled = false |  |  |  |               this.selectBusTypeDisabled = false | 
			
		
	
		
		
			
				
					
					|  |  |  |             } else { |  |  |  |             } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |               this.selectBusTypeDisabled = true |  |  |  |               this.selectBusTypeDisabled = true | 
			
		
	
	
		
		
			
				
					|  |  | @ -456,47 +463,46 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |       }) |  |  |  |       }) | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     handleContextMenu(event, tabItem) { |  |  |  |     handleContextMenu() { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       console.log("右击") |  |  |  |       this.showContextMenu = true; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     handleTabContextMenu(event, tab) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.showContextMenu = true; |  |  |  |       this.showContextMenu = true; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       this.contextMenuTab = tab; | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.contextMenuPosition = { x: event.clientX, y: event.clientY }; |  |  |  |       this.contextMenuPosition = { x: event.clientX, y: event.clientY }; | 
			
		
	
		
		
			
				
					
					|  |  |  |       // 这里可以显示一个自定义的菜单,例如使用 Element UI 的 Dialog 或 Popover |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       // 假设你有一个名为 showContextMenu 的方法来显示菜单,并传递 tabItem 作为参数 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.showContextMenu(tabItem, event.clientX, event.clientY); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     showContextMenu(tabItem, x, y) { |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       // 显示你的自定义菜单逻辑,这里只是示例 |  |  |  |     closeContextMenu() { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       this.contextMenuVisible = true; |  |  |  |       this.showContextMenu = false; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       this.contextMenuPosition = { x, y }; |  |  |  |       this.contextMenuStyle.display = 'none'; // 隐藏上下文菜单 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       this.selectedTabItem = tabItem; |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     // 其他菜单操作的方法,如 closeCurrent, closeOthers, closeAll |  |  |  |     closeCurrentTab(index) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     closeCurrent() { |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       // 关闭当前标签页的逻辑 |  |  |  |       // 关闭当前标签页的逻辑 | 
			
		
	
		
		
			
				
					
					|  |  |  |       const index = this.editableTabs.findIndex(tab => tab.name === this.selectedTabItem.name); |  |  |  |       this.editableTabs.splice(index, 1); // 假设这是关闭标签页的方式 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       if (index !== -1) { |  |  |  |       this.editableTabsValue = this.editableTabs.length > 0 ? this.editableTabs[0].name : ''; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         this.editableTabs.splice(index, 1); |  |  |  |       this.closeContextMenu(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         this.editableTabsValue = this.editableTabs[this.editableTabs.length - 1]?.name || ''; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     closeOthers() { |  |  |  |     closeOtherTabs() { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       // 关闭其他标签页的逻辑 |  |  |  |       // 关闭其他标签页的逻辑 | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.editableTabs = this.editableTabs.filter(tab => tab.name === this.selectedTabItem.name); |  |  |  |       // ... | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       this.editableTabsValue = this.selectedTabItem.name; |  |  |  |       this.closeContextMenu(); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     closeAll() { |  |  |  |     closeAllTabs() { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       // 关闭所有标签页的逻辑 |  |  |  |       // 关闭所有标签页的逻辑 | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.editableTabs = []; |  |  |  |       this.editableTabs = []; | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.editableTabsValue = ''; |  |  |  |       this.editableTabsValue = ''; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |       this.closeContextMenu(); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   }, |  |  |  |   }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   computed: { |  |  |  |   computed: { | 
			
		
	
		
		
			
				
					
					|  |  |  |     contextMenuStyle() { |  |  |  |     contextMenuPosition() { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       return { |  |  |  |       return { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         position: 'fixed', // 使用 fixed 定位确保它浮动在顶层 | 
			
		
	
		
		
			
				
					
					|  |  |  |         left: `${this.contextMenuPosition.x}px`, |  |  |  |         left: `${this.contextMenuPosition.x}px`, | 
			
		
	
		
		
			
				
					
					|  |  |  |         top: `${this.contextMenuPosition.y}px`, |  |  |  |         top: `${this.contextMenuPosition.y}px`, | 
			
		
	
		
		
			
				
					
					|  |  |  |         // 你可以添加更多的样式来美化你的上下文菜单 |  |  |  |         zIndex: 1000, // 确保它在其他内容之上 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         // 其他样式... | 
			
		
	
		
		
			
				
					
					|  |  |  |       }; |  |  |  |       }; | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   }, |  |  |  |   }, | 
			
		
	
	
		
		
			
				
					|  |  | @ -511,7 +517,7 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | </script> |  |  |  | </script> | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | <style scoped> |  |  |  | <style lang="css" scoped> | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | .sidebar-logo { |  |  |  | .sidebar-logo { | 
			
		
	
		
		
			
				
					
					|  |  |  |   width: 80px; |  |  |  |   width: 80px; | 
			
		
	
		
		
			
				
					
					|  |  |  |   height: 60px; |  |  |  |   height: 60px; | 
			
		
	
	
		
		
			
				
					|  |  | @ -519,8 +525,25 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |   margin-left: 25px; |  |  |  |   margin-left: 25px; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | .context-menu { |  |  |  | .context-menu { | 
			
		
	
		
		
			
				
					
					|  |  |  |   position: absolute; |  |  |  |   zIndex: 1000; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   z-index: 1000; /* 确保它在其他内容之上 */ |  |  |  |   position: fixed ; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   list-style-type: none; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   padding: 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   margin: 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   background-color: #f9f9f9; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   border: 1px solid #d4d4d4; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   border-radius: 4px; | 
			
		
	
		
		
			
				
					
					|  |  |  |   /* 其他样式... */ |  |  |  |   /* 其他样式... */ | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | .context-menu li { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   padding: 8px 16px; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   cursor: pointer; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   /* 其他样式... */ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | .context-menu li:hover { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   background-color: #e1e1e1; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | </style> |  |  |  | </style> | 
			
		
	
	
		
		
			
				
					|  |  | 
 |