Skip to content

小程序大页拆分指引

针对 production-create.vueinbound-create.vue800+ 行 记录员表单页。

目标

  • 单文件只保留 模板编排 + 页面级状态
  • 可复用逻辑进 composables / dialogs/(与仓库 .cursor/rules/miniapp-pages-layout.mdc 一致)

建议拆分顺序(以生产过账为例)

步骤抽出内容建议路径
1站点守卫、onShow 角色校验composables/recorder/useRecorderSiteContext.ts
2API 失败 Toast / err 赋值composables/useMiniappApiToast.ts(已提供)
3提交校验 + postProductioncomposables/recorder/useProductionCreateSubmit.ts
4行编辑(产出/原料/记工)composables/recorder/useProductionCreateLineEditors.ts
5页门禁 + 站点useRecorderPageGate.ts
6日期/产出/原料/记工 UIpages/recorder/components/ProductionCreate*.vue

入库行编辑 inbound-line-form.vue已完成):

步骤抽出内容路径
1会话 / 校验 / 确认composables/useInboundLineForm.ts
2原料选择弹层复用 useProductionGoodsLinePicker
3样式styles/inbound-line-form.scss + production-line-form.scss

入库新建:

步骤抽出内容建议路径
1供应商选择composables/recorder/useInboundCreateSuppliers.ts
2行编辑 / 滑动删除composables/recorder/useInboundCreateLines.ts
3凭证上传composables/recorder/useInboundCreateAttachments.ts
4提交校验 + postInboundcomposables/recorder/useInboundCreateSubmit.ts
5页门禁 + 站点useRecorderPageGate.ts
6供应商 / 明细 / 凭证 UIpages/recorder/components/InboundCreate*.vue

经理结算新建:

步骤抽出内容建议路径
1提交 + 待结算记工加载composables/manager/useSettlementCreate.ts
2筛选字段(工人/日期/出库)pages/manager/components/SettlementCreateFilterFields.vue
3记工勾选列表pages/manager/components/SettlementCreateLaborSection.vue
4加减项 / 预览SettlementCreateAdjustSection.vue / SettlementCreatePreviewCard.vue
5出库多选弹层pages/manager/dialogs/SettlementOutboundPickPopup.vue

经理结算列表 settlement.vue

步骤抽出内容建议路径
1z-paging 列表 / Tab / 查询composables/manager/useSettlementList.ts
2结算日筛选composables/manager/useSettlementListBizDateFilter.ts
3工人筛选(已有)composables/manager/useSettlementListWorkerFilter.ts
4Tab / 筛选 / 卡片 UIpages/manager/components/SettlementList*.vue

结算详情 settlement-detail.vue

步骤抽出内容建议路径
1详情加载 / 标记发放 / 复制摘要composables/manager/useSettlementDetail.ts
2记工行展示 helperutils/settlement-detail-labor-display.ts
3汇总 / 记工 / 加减项 / 凭证 UIpages/manager/components/SettlementDetail*.vue

出库新建:

步骤抽出内容建议路径
1客户选择composables/recorder/useOutboundCreateCustomer.ts
2行编辑 / 批次 / 单价composables/recorder/useOutboundCreateLineEditor.ts
3路由预填(库存页跳转)useOutboundCreateRoutePrefill(同上文件)
4提交校验 + postOutboundcomposables/recorder/useOutboundCreateSubmit.ts
5客户 / 日期 / 明细 UIpages/recorder/components/OutboundCreate*.vue
6业务日期文案 / 表单页样式useRecorderBizDateTime.ts + styles/recorder-form-page.scss

记录员列表 / 详情(已完成):

步骤抽出内容路径
1库存列表分页 / 筛选composables/useInventoryList.ts + InventoryListFilterBar.vue
2入库单列表composables/useInboundList.ts
3出库详情加载 / 冲红composables/useOutboundDetailPage.ts + utils/outbound-detail-display.ts

首页九宫格:

步骤抽出内容建议路径
1Shell 拉数 / 分组composables/index/useHomeShellData.ts
2打开入口 / 权限校验composables/index/useHomeShellOpenApp.ts
3顶栏布局(胶囊对齐)composables/index/useHomeNavBarLayout.ts
4站点切换composables/index/useHomeSitePicker.ts
5顶栏 / 九宫格 UIpages/index/components/HomeTopBar.vue / HomeAppGrid.vue

经理报表 reports.vue

步骤抽出内容建议路径
1站点概览 / 趋势图useAccSiteSummary.ts / useAccSiteTrendCharts.ts
2记工汇总useManagerLaborReports.ts
3月结巡检useAccMonthCloseCheck.ts
4Tab / 三面板 UIpages/manager/components/Reports*.vue

个人记账自定义统计:

步骤抽出内容建议路径
1筛选状态 / 过滤composables/bookkeeping/useStatsCustomFilter.ts
2汇总 / 图表数据composables/bookkeeping/useStatsCustomMetrics.ts
3拉取流水composables/bookkeeping/useStatsCustomLoad.ts
4日期金额格式utils/bookkeeping-stats-format.ts
5筛选摘要 / 分类 / 图表 UIpages/bookkeeping/components/StatsCustom*.vue

个人记账金额键盘 amount-input.vue

步骤抽出内容建议路径
1表达式求值 / 按键行utils/bookkeeping-amount-calculator.ts
2页面状态 / 确认跳转composables/bookkeeping/useBookkeepingAmountInput.ts
3键盘 UIpages/bookkeeping/components/BookkeepingAmountKeypad.vue

个人记账周/月/年统计 stats.vue

步骤抽出内容建议路径
1周期范围 / 分类聚合 / 按日柱图utils/bookkeeping-stats-format.ts(扩展)
2拉取流水 / 图表数据composables/bookkeeping/useBookkeepingStats.ts
3Tab / 汇总 / 类别 / 按日 UIpages/bookkeeping/components/BookkeepingStats*.vue

个人记账首页 home.vue(记一笔 / 账本管理):

步骤抽出内容建议路径
1本月汇总 / 按日分组utils/bookkeeping-home-display.ts
2账本 / 流水 / 删除 / 创建composables/bookkeeping/useBookkeepingHome.ts
3顶栏汇总 / 流水列表 UIpages/bookkeeping/components/BookkeepingHome*.vue

账本流水 ledger-detail.vue

步骤抽出内容建议路径
1加载 / 筛选 / 导出 / 删除composables/bookkeeping/useBookkeepingLedgerDetail.ts
2按日分组列表 UI复用 BookkeepingHomeEntryGroups.vue

个人记账表单 entry-form.vue

步骤抽出内容建议路径
1加载 / 保存 / 时间选择composables/bookkeeping/useBookkeepingEntryForm.ts
2金额 Hero / 分类区块 UIpages/bookkeeping/components/BookkeepingEntryForm*.vue

自定义统计筛选底栏 StatsCustomFilterSheet.vue

步骤抽出内容建议路径
1draft 状态 / 确认快照composables/bookkeeping/useStatsCustomFilterSheetDraft.ts
2类型 / 日期 / 分类区块pages/bookkeeping/dialogs/components/StatsCustomFilter*.vue
3日期范围 helper复用 utils/bookkeeping-stats-format.ts

我的 · 个人信息 personal-info.vue已完成 composable + 子组件拆分):

步骤抽出内容路径
1加载 / 头像 / OpenID / 角色入口composables/me/usePersonalInfoPage.ts
2头像 / 账号卡片 UIpages/me-sub/components/PersonalInfo*.vue
3微信 OpenID / 角色快捷入口PersonalInfoWeixinOpenidCard.vue / PersonalInfoRolePanels.vue
4卡片样式styles/personal-info-cards.scss

出库列表 outbound.vue已完成):

步骤抽出内容路径
1z-paging 列表 / FABcomposables/useOutboundList.ts

我的 · 人员认证 personnel-certification.vue

步骤抽出内容建议路径
1资料 / 密码保存逻辑composables/me/usePersonnelCertification.ts
2认证进度卡片pages/me/components/PersonnelCertStatusCard.vue

报工审核列表 labor-submission-review.vue

步骤抽出内容建议路径
1z-paging 列表 / Tab / 查询composables/recorder/useLaborSubmissionReviewList.ts
2审核确认弹层逻辑composables/recorder/useLaborSubmissionReviewApprove.ts
3驳回逻辑composables/recorder/useLaborSubmissionReviewReject.ts
4Tab / 卡片 UIpages/recorder/components/LaborSubmissionReview*.vue
5审核 / 驳回弹层pages/recorder/dialogs/LaborSubmissionReview*.vue

报工登记详情(审核端 / 工人端共用 UI):

步骤抽出内容建议路径
1审核端加载 / 重新审核composables/recorder/useLaborSubmissionReviewDetail.ts
2工人端加载 / 撤回 / 重提composables/worker/useWorkerLaborSubmissionDetail.ts
3展示 helperutils/labor-submission-detail-display.ts
4摘要 / 信息 / 照片 UIcomponents/labor-submission/LaborSubmissionDetail*.vue

工人报工登记 labor-submission-form.vue

步骤抽出内容建议路径
1加载 / 工序 / 重提预填composables/worker/useLaborSubmissionForm.ts
2提交校验 + savecomposables/worker/useLaborSubmissionFormSubmit.ts
3现场照片composables/worker/useLaborSubmissionFormPhotos.ts
4上下文 / 记工 / 照片 UIpages/worker/components/LaborSubmissionForm*.vue

生产列表 production-list.vue

步骤抽出内容建议路径
1z-paging 列表 / 筛选 / 查询composables/recorder/useProductionList.ts
2FAB 新建 / 在制开单 / 复制 Web 链接composables/recorder/useProductionListFabActions.ts
3月份分组 / 进度条展示utils/production-list-display.ts
4顶栏筛选 / 列表卡片 UIpages/recorder/components/ProductionList*.vue

生产详情 production-detail.vue

步骤抽出内容建议路径
1加载 / 门禁 / 详情字段composables/recorder/useProductionDetailContext.ts(已有,关账/现场报工子页复用)
2底栏跳转 / 出库预填composables/recorder/useProductionDetailActions.ts
3行展示 / 审核链接判定utils/production-detail-display.ts
4摘要 / 原料 / 产出 / 报工 / 记工 UIpages/recorder/components/ProductionDetail*.vue

工人我的报工 labor-submission-mine.vue

步骤抽出内容建议路径
1列表 / 分页 / 工人档案绑定composables/worker/useLaborSubmissionMineList.ts
2单条登记卡片 UIpages/worker/components/LaborSubmissionMineCard.vue

库存流水 stock-ledger.vue

步骤抽出内容建议路径
1分页 / 导出 / 按月分组composables/recorder/useStockLedgerList.ts
2顶栏标题与导出pages/recorder/components/StockLedgerTopBar.vue
3按月流水列表StockLedgerMonthList.vue

在制关账 production-wip-close.vue

步骤抽出内容建议路径
1关账提交 / 确认 / 导航composables/recorder/useProductionWipClose.ts
2单号 Heropages/recorder/components/ProductionWipCloseHero.vue
3关账前汇总ProductionWipCloseSummary.vue
4产出行列表ProductionWipCloseOutputs.vue

报工审核详情 labor-submission-review-detail.vue

步骤抽出内容建议路径
1加载 / 重新审核composables/recorder/useLaborSubmissionReviewDetail.ts
2详情正文(工人字段)@/components/labor-submission/LaborSubmissionDetailBody.vue
3底栏「重新审核」pages/recorder/components/LaborSubmissionReviewDetailFooter.vue

报工审核列表 labor-submission-review.vue:列表 useLaborSubmissionReviewList;通过/驳回 dialogs/LaborSubmissionReviewApprovePopup.vue 等。

现场报工 production-wip-op-add.vue

步骤抽出内容建议路径
1加载 / 提交 / 工人选择composables/recorder/useProductionWipOpAdd.ts
2产出行 / 工序 / 工人 / 记工方式 UIpages/recorder/components/ProductionWipOpAddContextFields.vue
3计时/计件字段 UIProductionWipOpAddLaborFields.vue

在制开单 production-wip-open.vue

步骤抽出内容建议路径
1配方缩放 / BOMcomposables/recorder/useProductionWipOpenCatalog.ts(已有)
2计划产出 / 投料行编辑composables/recorder/useProductionWipOpenLineEditors.ts
3校验 + postProductionWipOpencomposables/recorder/useProductionWipOpenSubmit.ts
4日期备注 / 计划产出 / 投料 UIProductionCreateHeaderFields + ProductionWipOpen*Section.vue

入库详情 inbound-detail.vue

步骤抽出内容建议路径
1加载 / 冲红composables/recorder/useInboundDetail.ts
2行展示 / 凭证解析utils/inbound-detail-display.ts
3汇总 / 凭证 / 明细 UIpages/recorder/components/InboundDetail*.vue

生产记工行 production-labor-line-form.vue

步骤抽出内容建议路径
1session 初始化 / 校验提交composables/recorder/useProductionLaborLineForm.ts
2工人搜索弹层composables/recorder/useProductionLaborWorkerPicker.ts
3表单字段 UIpages/recorder/components/ProductionLaborLineFormFields.vue

首页九宫格权限:utils/miniapp-shell-permission.tspermissionCodes 过滤 + 点击校验)。

验收

  • 行为与 Web ProductionPostDialog 对齐(同一 POST 体)
  • 403 仍走 getMiniappApiErrorMessage / useMiniappApiToast
  • miniapp-acc-mobile-write.md M3 清单

不必一次做完

优先抽 composables(2、3、5),模板可暂留单文件,避免大规模 UI diff。

TaskFlow 内部文档 Released under the MIT License.