Files
f9-web-ai-test/工作进度/工作进度-20.md
T
yanpeng200212 1f1b184411 新增工资/仓储/生产日报等模块,移除旧考勤模块
- 新增 PayRoll(工资)、Wms(仓储)、Prod(车速/缫丝/考勤/丝片检测/丝片台账/纤检日报/质量日报) 模块
- 新增对应 Domain 实体、Application DTO/Service、Api Controller 与前端页面
- 移除旧 Attendance 考勤模块(Controller/Service/Entity/DTO 及 5 个前端页面),由 Prod/Kaoqin 取代
- 调整路由、仪表盘、Lsjl 流丝记录实体与服务
- 更新业务种子数据与 DbSeeder
- 补充工作进度文档 14-27
2026-10-27 09:09:57 +08:00

4.7 KiB
Raw Blame History

工作进度-20:生产 · 选剥茧 前端完成(模块可运行)

协作规则(长期生效):每次对话结尾都要生成工作进度。 即在每轮对话结束前,把本轮完成的内容追加为 工作进度/工作进度-N.md,并在文档中保留本条规则,方便下一轮接续。

承接 工作进度-19(后端完成)。本轮完成前端,模块至此可运行。

一、本次完成(前端)

新建目录 web/src/views/prod/xuanjian/:

文件 内容
index.vue Tab 容器;三个菜单共用本组件,按路由末段自动定位 Tab(/rb、/plan、/banzu)
XjrbPanel.vue 选茧日报:查询、多表头列表(8 类茧各自包数/重量)、编辑弹窗、「计算盈亏」按钮
XjrbPlanPanel.vue 选茧计划:列表 + 展开行主从联动显示计划明细,明细增删改,明细内「计算盈亏」
XjpbBanzuPanel.vue 选茧班组:班组列表 + 展开行显示职工,「编辑录入」弹窗按班次批量分配职工与组别

关键实现

  • 日报「计算盈亏」:填完包数/重量后点按钮 → POST /prod/xjrb/count-yingkui → 回填 liantongRate / yingkui,并 ElMessage 提示"从 xxx 开始累计"(即后端返回的 startDateText)
  • 标包重:老系统从注册表 生产\选剥茧 读取(重量 = 包数 × 标包重,茧花/退回手工录入)。 本次先用 localStorage(key xuanjian_biaobaozhong)临时存放并带「按标包重换算」按钮; 折叠面板可编辑 7 个品类的标包重(联统/好五级/五级/绵/双宫/下脚/茧衣)
  • 计划维度联统率按包数口径(与日报按重量不同),明细勾选「选茧完成」保存后计划置为已完成、不可再改
  • 班组「编辑录入」:按班次整体覆盖(后端先清该班次旧职工与班组,再重建)

接口对接要点(踩坑)

事项 正确写法
工艺庄口选择 用组件 web/src/components/select/CraftZhuangKouSelect.vue,@confirm 回调参数含 id / zhuangKouName / productionDisplayName
员工列表 GET /sys/employee,参数是 depId、worktypeId(注意不是 workTypeId)、banci、workStatus、like
工种列表 GET /sys/worktype,返回 res.data.items
员工筛选口径 部门 = 职责类型「选剥茧」的车间(depOptions({ duty: [DUTY.选剥茧] }))+ 工种名含「选茧」
路由 web/src/router/index.js 的路径映射表,新增 'prod/xuanjian/index'

二、注册与菜单

  1. 路由(web/src/router/index.js):
    'prod/xuanjian/index': () => import('../views/prod/xuanjian/index.vue'),
    
  2. 菜单(backend/F9WebAiTest.Infrastructure/Data/BusinessSeedData.cs): 新建一级目录「生产-选剥茧」(/prod/xuanjian,Sort 7),下挂三个菜单:
    • 选茧日报 → /prod/xuanjian/rb
    • 选茧计划 → /prod/xuanjian/plan
    • 选茧班组 → /prod/xuanjian/banzu 组件均为 prod/xuanjian/index

⚠️ DbSeeder.cs 里另有一处生产菜单的批量插入(SeedProdMenus,含"纤度检验/黑板检验…"元组列表)。 若启动后菜单未出现,需在那一处同步补上选剥茧的三个菜单项(本轮只改了 BusinessSeedData.cs)。

三、验证情况

  • 前端 4 个新文件 lint:0 错误
  • F9WebAiTest.Infrastructure 编译:无 error CS(菜单种子数据通过)
  • 后端(19 轮):Application 已成功生成、Api 无 CS 错误

四、待办 / 可优化

  1. 标包重改为注册表:新系统有 /sys/registry 接口(老系统正是存注册表 生产\选剥茧)。 当前用 localStorage 是临时方案,建议改为后端注册表读写,实现多端一致
  2. 领料单选择:计划里的「领料单ID」目前是手填数字框,老系统是选择原料出库单, 应改为下拉/弹窗选择并回填 yllingliaodanCode
  3. 日报/计划关联:老系统计划可按领料单生成日报,当前两侧独立,未做联动
  4. 菜单如未显示,补 DbSeeder.SeedProdMenus
  5. 启动前需重启后端服务(新表在启动时建立;且 Api 进程会锁定 DLL 导致编译复制失败)

五、下次接续提示

  • 选剥茧三个页面都挂在 prod/xuanjian/index.vue,改 Tab 逻辑看 tabOf(route.path)
  • 日报盈亏口径最易改错:起始日期由近及远跳过 LiantongRate == 0 的记录,见 19 轮文档第二节
  • 计划维度联统率用包数,日报用重量,两者分母不同,勿混用
  • 每轮对话结尾记得生成本工作进度文档