diff --git a/gui/material_validation_tab.py b/gui/material_validation_tab.py index adcf098..4a510b0 100644 --- a/gui/material_validation_tab.py +++ b/gui/material_validation_tab.py @@ -185,41 +185,43 @@ class MaterialValidationTab(BaseTab): ) self.start_button.pack(side=tk.LEFT, padx=5) - # 全选按钮 - self.select_all_button = ttk.Button( - button_frame, - text="全选", - command=lambda: self._select_all(check=True), - state=tk.DISABLED - ) - self.select_all_button.pack(side=tk.LEFT, padx=5) + # 全选、取消全选、确认删除、执行删除按钮 - 仅管理员显示在顶部控制面板 + if self.session_manager.is_admin(): + # 全选按钮 + self.select_all_button = ttk.Button( + button_frame, + text="全选", + command=lambda: self._select_all(check=True), + state=tk.DISABLED + ) + self.select_all_button.pack(side=tk.LEFT, padx=5) - # 取消全选按钮 - self.deselect_all_button = ttk.Button( - button_frame, - text="取消全选", - command=lambda: self._select_all(check=False), - state=tk.DISABLED - ) - self.deselect_all_button.pack(side=tk.LEFT, padx=5) + # 取消全选按钮 + self.deselect_all_button = ttk.Button( + button_frame, + text="取消全选", + command=lambda: self._select_all(check=False), + state=tk.DISABLED + ) + self.deselect_all_button.pack(side=tk.LEFT, padx=5) - # 确认删除按钮 - self.confirm_delete_button = ttk.Button( - button_frame, - text="确认删除", - command=self.confirm_deletion, - state=tk.DISABLED - ) - self.confirm_delete_button.pack(side=tk.LEFT, padx=5) + # 确认删除按钮 + self.confirm_delete_button = ttk.Button( + button_frame, + text="确认删除", + command=self.confirm_deletion, + state=tk.DISABLED + ) + self.confirm_delete_button.pack(side=tk.LEFT, padx=5) - # 执行删除按钮 - self.execute_delete_button = ttk.Button( - button_frame, - text="执行删除", - command=self.start_delete_execution, - state=tk.DISABLED - ) - self.execute_delete_button.pack(side=tk.LEFT, padx=5) + # 执行删除按钮 + self.execute_delete_button = ttk.Button( + button_frame, + text="执行删除", + command=self.start_delete_execution, + state=tk.DISABLED + ) + self.execute_delete_button.pack(side=tk.LEFT, padx=5) # Admin 用户:显示 dryrun 复选框 if self.session_manager.is_admin(): @@ -377,6 +379,45 @@ class MaterialValidationTab(BaseTab): ) self.btn_show_all.pack(fill=tk.X, pady=2) + # 分隔线 + ttk.Separator(button_frame, orient='horizontal').pack(fill=tk.X, pady=5) + + # 全选按钮 + self.select_all_button = ttk.Button( + button_frame, + text="全选", + command=lambda: self._select_all(check=True), + state=tk.DISABLED + ) + self.select_all_button.pack(fill=tk.X, pady=2) + + # 取消全选按钮 + self.deselect_all_button = ttk.Button( + button_frame, + text="取消全选", + command=lambda: self._select_all(check=False), + state=tk.DISABLED + ) + self.deselect_all_button.pack(fill=tk.X, pady=2) + + # 确认删除按钮 + self.confirm_delete_button = ttk.Button( + button_frame, + text="确认删除", + command=self.confirm_deletion, + state=tk.DISABLED + ) + self.confirm_delete_button.pack(fill=tk.X, pady=2) + + # 执行删除按钮 + self.execute_delete_button = ttk.Button( + button_frame, + text="执行删除", + command=self.start_delete_execution, + state=tk.DISABLED + ) + self.execute_delete_button.pack(fill=tk.X, pady=2) + def _hide_checked_items(self): """隐藏所有已勾选的物料""" checked_items = self.tree.get_checked_items()