feat: 状态渲染修复+中文姓名映射+SUPERVISOR/SUPER_ADMIN权限控制(前端+后端)
This commit is contained in:
@ -16,6 +16,7 @@ import type { ProductResponse } from "../../types/admin";
|
||||
import type { ProductScanResponse, TaskResponse } from "../../types/api";
|
||||
import { useToast } from "../../components/ui/Toast";
|
||||
import { getStatusConfig } from "../../constants/task";
|
||||
import { useAuth } from "../../contexts/AuthContext";
|
||||
|
||||
const STATUS_TABS = [
|
||||
{ key: "", label: "全部" },
|
||||
@ -33,6 +34,7 @@ interface OrderGroup {
|
||||
|
||||
export default function AdminTasksPage() {
|
||||
const { toast } = useToast();
|
||||
const { user: currentUser } = useAuth();
|
||||
|
||||
// 搜索 & 筛选
|
||||
const [keyword, setKeyword] = useState("");
|
||||
@ -357,7 +359,14 @@ export default function AdminTasksPage() {
|
||||
const productExpanded = expandedProducts.has(p.serial_number);
|
||||
const isTreeLoading = treeLoading[p.serial_number];
|
||||
const tree = taskTrees[p.serial_number];
|
||||
const statusCfg = getStatusConfig(p.status);
|
||||
// 综合状态:优先流转树状态,兜底产品状态
|
||||
const treeStatus = tree
|
||||
? (tree.task_tree?.some(t => t.status === "WIP") ? "WIP"
|
||||
: tree.task_tree?.every(t => t.status === "COMPLETED" || t.status === "ARCHIVED") ? "COMPLETED"
|
||||
: tree.task_tree?.[0]?.status)
|
||||
: null;
|
||||
const displayStatus = treeStatus || p.status;
|
||||
const statusCfg = getStatusConfig(displayStatus);
|
||||
|
||||
return (
|
||||
<div key={p.id}>
|
||||
@ -386,7 +395,7 @@ export default function AdminTasksPage() {
|
||||
🏭 仓库
|
||||
</span>
|
||||
) : (
|
||||
p.current_location_id ?? "—"
|
||||
p.current_location_name || p.current_location_id || "—"
|
||||
)}
|
||||
</div>
|
||||
<div className="col-span-2 text-xs text-gray-400">
|
||||
@ -420,6 +429,7 @@ export default function AdminTasksPage() {
|
||||
<TaskFlowView
|
||||
tasks={tree.task_tree}
|
||||
onAction={setModalTarget}
|
||||
currentUser={currentUser}
|
||||
/>
|
||||
) : (
|
||||
<div className="flex flex-col items-center justify-center py-12 text-gray-400">
|
||||
|
||||
Reference in New Issue
Block a user