文件
hl-api-changelog/changelogs-v2/2026-09/27_frontend_房务订单列表类型页签改造-小蒙马改团期全局文案-菜单改名同步-前端优化-管理后台.md
T

12 KiB
原始文件 Blame 文件历史

schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
schema ticket title consumer author change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base
hl-changelog/v2 frontend 房务订单列表「类型」改页签 + 「小蒙马」改「团期」文案 + 菜单改名后页面名同步 admin wx(GIT) 前端优化 not_required not_required verified mmg ce469f7830a50053e3070f379b05fb075e6cd9ef v2.1 2026-09-28 后端菜单改名与字典改名已在测试服生效。前端三项改动互不依赖:房务订单列表「类型」改页签、写死的「小蒙马」改「团期」、出团管理/出团详情页面名同步。2026-09-27 订正:写死文案 5 个文件 8 处、菜单名同步补「返回班期看板」按钮与 spec 路径、页签绑定改 @update:value。前端已交付(ce469f78,与 28_frontend 同一交付):「类型」下拉改页签(28 口径两页签);「小蒙马」改「团期」5 文件 8 处写死文案;菜单改名同步(班期看板→出团管理、团期详情→出团详情等)及两 spec 断言;房务 11 例+菜单两 spec 38 例全绿。 2026-09-27 dev-v3

前端优化:房务订单列表与全局文案同步(第二期菜单与业务定案对齐)

⚠️ 关键变化

三项联动改动,无依赖关系,可独立完成但应同步推送:

  1. 房务管家 › 订单列表:「类型」下拉改为页签

    • 改为三页签(核心 / 定制 / 团期),去掉「全部」选项,默认「核心」
    • 样式照「财务管理 › 核单列表」(src/views/finance/settlement/index.vue:58-66)的「常规产品 / 团期产品」页签
    • 端点不变:核心、定制走户级端点 house-allocation/households,团期走 house-allocation/group-batches
  2. 全局文案替换:「小蒙马」→「团期」

    • 后端字典已改,走字典翻译的地方自动生效
    • 写死的用户可见文案共 5 个文件 8 处需手改(见第三节表格)
  3. 菜单改名后的前端页面名同步

    • 后端菜单改名,侧栏自动生效
    • 前端写死的页面标题、按钮与提示文案共 4 个文件 4 处,另有 2 个 spec 断言跟着改(见第四节表格)

一、背景

wx 2026-09-27 确认三项协同改动,后端部分(菜单改名、字典值改动)已在测试服生效(PR #8450,#8444)。前端需消费这些变化以保持一致。


二、订单列表「类型」改为页签

🔴 本章的页签集合已被 2026-09-28 的口径取代,实施前先看新条目。 新条目:changelogs-v2/2026-09/28_frontend_房务订单列表改常规与团期两页签-前端优化-管理后台.md

wx 2026-09-28 把页签定为两个:「常规订单 / 团期订单」。与本章的差别只有两处—— ①页签由三个(核心/定制/团期)改为两个;②本章「去掉『全部』、orderTab 初值改成 ref('CORE')」作废, 「全部」保留并改名为「常规订单」,初值保持 ref('all') 不动。

本章其余要点全部继续有效:页签置于 ProTable toolbar 左侧、绑定用 :value + @update:value (不能换成 v-model:value)、端点行为不变、?groupBatchId= 自动切团期页签、注释同步。 第三章(「小蒙马」→「团期」文案替换)与第四章(菜单改名后页面名同步)完全不受影响,照原样执行。

现状(ref gitea/v2.1 origin/v2.1)

文件:src/views/housekeeper/orders/index.vue

  • 搜索区 :34-45:「类型」使用 n-select 下拉框,宽度 120px,:value="orderTab" + @update:value="onOrderTabChange"。:34 的注释写明它是 2026-09-27 当天由页签改成下拉的,本次按 wx 要求改回页签
  • 状态变量 :365:const orderTab = ref('all')
  • 选项定义 :366-372:
    const orderTabOptions = [
      { value: 'all', label: '全部' },
      { value: 'CORE', label: '核心' },
      { value: 'CUSTOM', label: '定制' },
      { value: 'GROUP', label: '团期' },
    ]
    

改动要点

1. 样式改为页签,置于 ProTable toolbar 左侧

  • 参考文件:src/views/finance/settlement/index.vue:58-66
  • 结构:<n-flex justify="space-between" class="table-summary"> 左侧放页签
  • 页签配置:<n-tabs type="line" size="small" class="product-tabs">
  • 样式(同文件 :217 附近):
    .product-tabs {
      width: 280px;
    }
    

2. 页签内容:去掉「全部」,仅保留核心、定制、团期,默认核心

<n-tabs
  :value="orderTab"
  type="line"
  size="small"
  class="product-tabs"
  @update:value="onOrderTabChange"
>
  <n-tab name="CORE">核心</n-tab>
  <n-tab name="CUSTOM">定制</n-tab>
  <n-tab name="GROUP">团期</n-tab>
</n-tabs>
  • 绑定方式与现有 n-select 相同::value="orderTab" + @update:value="onOrderTabChange",仍由现有回调重置状态桶。核单列表用的是 v-model:value,这里不能照抄,否则切换时会绕过 onOrderTabChange
  • :365 的初始值由 ref('all') 改为 ref('CORE');orderTabOptions 删除;凡把 orderTab 置为或判断为 'all' 的地方(如 :456 的 orderTab.value !== 'all')按「默认 CORE、恒有值」改。同文件 scope、statusTab 也有 'all',与本改动无关,不动

3. 端点行为不变

  • 核心、定制:GET house-allocation/households,带 productType=CORE|CUSTOM
  • 团期:GET house-allocation/group-batches(整团一行)
  • 切换页签重置状态桶(现有 onOrderTabChange 逻辑)

4. 通知链接行为

  • ?groupBatchId= 仍自动切到「团期」页签并精确定位
  • ?orderId= 行为不变

5. 页面注释同步

  • :34-35、:297-308、:366 的注释里「下拉 / 全部」的描述同步改成「页签 / 核心·定制·团期」

三、全局文案替换:「小蒙马」→「团期」

后端字典已改

后端 PR #8450(HL-#8444)部署完毕,字典值修改:

  • product_type/GROUP label 为「团期」(原「小蒙马」)
  • vehicle_type/GROUP label 为「团期专用」(原「小蒙马专用」)
  • 走字典翻译的地方自动生效

前端需改的写死文案(5 个文件 8 处,均对 origin/v2.1 1c555f5 逐行核过)

文件 行号 改前 改后
src/views/grassland-guide/ProductPickerModal.vue 26 placeholder="核心产品 / 小蒙马" placeholder="核心产品 / 团期"
src/views/grassland-guide/ProductPickerModal.vue 132 { label: '小蒙马', value: 'GROUP' } { label: '团期', value: 'GROUP' }
src/views/housekeeper/_shared/constants.js 68 GROUP: '小蒙马' GROUP: '团期'
src/views/housekeeper/_shared/constants.js 71 xmm: '小蒙马' xmm: '团期'
src/views/order-v2/new/components/Step0Theme.vue 252 GROUP: { label: '小蒙马', cls: ... GROUP: { label: '团期', cls: ...
src/views/order-v2/new/components/Step0Theme.vue 258 { key: 'GROUP', label: '小蒙马' } { key: 'GROUP', label: '团期' }
src/views/product/batch/BatchEditModal.vue 195 '小蒙马产品下单时需要...' '团期产品下单时需要...'
src/views/product/edit/components/steps/BatchPricingStep.vue 348 <p class="bps-desc">小蒙马按班期招募... <p class="bps-desc">团期按班期招募...

constants.js:71 的 xmm 是旧产品类型键(同文件 PRODUCT_TYPE.XMM = 'xmm'),只改 label,键名不动。

注释(顺手改,不影响展示)

  • src/views/order-v2/new/components/Step0Theme.vue:249:CORE 核心产品 / GROUP 小蒙马 / CUSTOM 私人定制 → GROUP 团期
  • 其余注释命中:src/constants/productType.js:14,33、src/stores/productEdit.js:139、housekeeper/components/orderDetailAdapter.js:507、housekeeper/ledger/index.vue:183、housekeeper/todos/index.vue:273、product/edit/ 下 DayEditor.vue:39、HotelCard.vue:12、HotelPickerModal.vue:36,308、config/product-type-config.js:2,5、index.vue:3、product/line/components/MiniappShareModal.vue:189

不在本次替换范围

  • src/views/product/edit/config/block-type-config.js:97,101,129,307,311,313:产品详情页营销模块的默认文案(「小蒙马领队团队」「今年,小蒙马 2 岁了」「小蒙马亲子营」)。这里的「小蒙马」是品牌名,不是产品类型名,替换成「团期」语义不通,保持原样。

四、菜单改名后的前端页面名同步

后端已改名的菜单及对应前端页面标题:

菜单变化 前端文件 改前 改后
订单管理v2 › 团期订单 → 出团管理 src/views/order-v2/batch/index.vue:3 title="班期看板" title="出团管理"
隐藏页:团期详情 → 出团详情 src/views/order-v2/batch/detail/index.vue:3 title="团期详情" title="出团详情"
同上(详情页空态按钮) src/views/order-v2/batch/detail/index.vue:348 action-text="返回班期看板" action-text="返回出团管理"
同上(订单详情里的引导提示) src/views/order-v2/detail/_shared/orderDetailActions.js:32 '…请到团期详情完成团期确认后…' '…请到出团详情完成团期确认后…'
同上(测试断言) src/views/order-v2/detail/_shared/__tests__/orderDetailActions.spec.js:73 toContain('团期详情') toContain('出团详情')
同上(测试断言) src/views/order-v2/detail/components/__tests__/BottomActionBar.spec.js:73 toContain('团期详情') toContain('出团详情')
车务管理 › 团期配车 › 团期配车 → 车务管理 › 团期配车(拍平) src/views/fleet/group-dispatch/index.vue —— 无需改

特别说明

  • 「班期看板」页面标题改为「出团管理」,与侧栏菜单同名
  • 「团期详情」页面标题改为「出团详情」,引导提示与测试断言一起改。后端 581065 的 message 是「团期单随团期确认,不可单独确认」,不含页面名,前端改提示不会和后端文案对不上
  • 团期配车页面路由与菜单 path 都没变,只是菜单少了一层目录,前端无需改动
  • 代码注释里的「团期详情」(src/api/、stores/、notification/ 等处)指的是接口或数据,不是页面名,不用改

五、验证检查清单

改完后逐项核对(无需部署,仅检查代码变更):

  • 房务订单列表的「类型」改为三页签(核心 / 定制 / 团期),去掉「全部」
  • 页签默认「核心」,样式同「财务管理 › 核单列表」;切换页签时状态桶照常重置
  • ?groupBatchId= 通知链接仍自动切到「团期」页签并定位
  • 5 个文件 8 处写死文案「小蒙马」改「团期」
  • 「班期看板」页面标题 →「出团管理」,详情页空态按钮「返回班期看板」→「返回出团管理」
  • 「团期详情」页面标题 →「出团详情」
  • 订单详情里的团期确认引导提示改「出团详情」
  • orderDetailActions.spec.js、BottomActionBar.spec.js 断言同步,单测绿

六、不影响范围

  • 后端接口零改动
  • 小程序、H5 不涉及
  • 团期详情页除标题外的其它区域不涉及
  • 房务配房列表的其它筛选条件不涉及

七、相关工单与文档

  • 后端菜单改名:PR #8450(HL-#8444),已部署测试服
  • 字典值改动:同上 PR
  • 前端对接无新的接口契约变更

联系人

  • 后端负责人: @wx
  • 前端负责人: @mmg