feat: 生产看板多维度重构(全量在制品、时间维度联动、口径提示)
本次只含后端看板接口与 PC 端页面。移动端的体验优化已在之前的 12 个提交中 入库,不在本提交范围内。 后端 · 服务层 dashboard_service.py - 在制品列表不再按 20 条静默截断:此前 `.limit(limit*2)` 预取再排序切片, 前端又拿数组长度当总数,表现为「卡片 23、列表却写共 20 个」的数据被吞。 现默认返回全量,limit 降级为防御性上限 - 产品流转「已完结」接入右上角时间筛选(since/until),废弃硬编码「本月」。 此前选「今天」也会看到整月产出,业务语义分裂;待流转/流转中仍为实时快照。 Product 表无 completed_at,以名下工序的完成时间锚定「完结时刻」 - 返工任务可见性:未完结卡点永远展示,已了结的仅限本月,且与卡片数字共用 同一份条件,避免「按钮显示 2、点开共 0 条」 - 驳回明细的「返工给」改为真实溯源:直接查派生出的返工任务当前 assignee_id, 不再复刻 reject_task 的推算逻辑(返工任务事后被转交时会显示旧名字) 后端 · 接口层 dashboard.py - /wip-tasks 的 limit 默认 20→500、上限 100→1000 - /my-stats 支持 since/until,新增接收/转交/上传备注口径(与 PC 人员操作统计 逐字段交叉验证一致) PC 端 - AdminDashboard: 在制品计数绑定真实总数并加截断提示、列表改为容器内滚动; 驳回明细只展示「已驳回」行(返工行不再独立成行,其信息已由「返工给」承载); 「待流转」「待接收」图例新增口径 Tooltip,消除「产品数 > 任务数」的误解; 移除已失真的时间筛选提示条 - App.tsx: dayjs 中文 locale 上提到应用根。此前散落在 AdminPeoplePage / AnalyticsDashboard 两个页面里,而路由是 lazy 分割的 —— 直接打开概览页时 那两个模块未加载,日期面板就露出 Sep/Su/Mo - AdminPeoplePage / AnalyticsDashboard: 移除重复的页面级 locale 设置 - dashboardApi.ts: fetchWipTasks 默认值同步为 500
This commit is contained in:
@ -2,6 +2,24 @@ import { Suspense, lazy } from "react";
|
||||
import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom";
|
||||
import { App as AntApp, ConfigProvider } from "antd";
|
||||
import zhCN from "antd/locale/zh_CN";
|
||||
import dayjs from "dayjs";
|
||||
import "dayjs/locale/zh-cn";
|
||||
|
||||
// ── dayjs 中文 locale ────────────────────────────────────────────────
|
||||
// 必须设在应用根模块,不能下放到各页面。
|
||||
//
|
||||
// antd 的 ConfigProvider locale 只负责「请选择日期 / 今天 / 此刻」这类**文案**;
|
||||
// 日期面板上的**月份与星期名**是 rc-picker 交给 dayjs 取的 ——
|
||||
// @rc-component/picker/es/generate/dayjs.js 里:
|
||||
// getShortWeekDays: locale => dayjs().locale(parseLocale(locale)).localeData().weekdaysMin()
|
||||
// parseLocale 把 antd 传来的 "zh_CN"(下划线)在 localeMap 未命中后按 '_' 切分,
|
||||
// 得到 "zh",最终查的是 dayjs 的 locale 表 —— 不注册就永远是默认的 en。
|
||||
//
|
||||
// 此前这两行被分别写在 AdminPeoplePage / AnalyticsDashboard 两个页面里,而路由是
|
||||
// lazy() 代码分割:直接打开 /admin/dashboard 或 /admin/matrix 时那两个模块根本没
|
||||
// 被加载,dayjs 仍是 en,面板就露出 Sep / Su / Mo —— 表现为「有的页面中文、有的
|
||||
// 页面英文」。放到根模块可保证任何路由下都先生效。
|
||||
dayjs.locale("zh-cn");
|
||||
|
||||
import { ToastProvider } from "./components/ui/Toast";
|
||||
import { AuthProvider } from "./contexts/AuthContext";
|
||||
|
||||
Reference in New Issue
Block a user