From 21b7877ff1a734ca8c6b4d842f5a03e95a1ce6fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 21 Aug 2026 11:07:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(business-crud-page):=20=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E7=8B=AC=E7=AB=8B=E8=A1=A8=E5=8D=95=E9=A1=B5=E9=A1=B6=E9=83=A8?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=A0=87=E9=A2=98=E6=A0=B7=E5=BC=8F=E5=8F=8A?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 独立表单页 shipping-template、transport-plan、waybill-manage 加入统一的 archive-page-form__title 页面标题支持 - 全局样式抽离 archive-page-form__title 至 element-ui.scss,实现统一样式和竖条修饰 - loading-manage/form 页面新增页标题展示,保持风格一致 - master-order 编辑模式下新增页面标题支持,动态显示编辑或新增总单 - business-crud-page 组件新增 formPageTitle 属性,支持父级传递页面标题数据 - 优化多个业务页面表格和弹窗样式,调整列宽及边框圆角阴影,提高视觉一致性 - 删除 customer-archive.vue 中重复本地标题样式定义,使用全局统一样式 - 全站弹窗分组组件 section-card 相关设计规范文档更新,强化统一卡片风格 - 移除 cargo-type.vue 添加 "新建" 按钮逻辑,调整按钮显示权限 - 统一所有新增弹窗的底部操作区浮动效果及内容区最大高度限制,提升交互体验 --- .workbuddy/memory/2026-08-21.md | 23 ++ .workbuddy/memory/MEMORY.md | 117 ++---- src/option/business/transport-plan.js | 2 +- .../transportReconciliationTable.js | 4 +- src/option/vehicle/insurance-record.js | 2 +- src/styles/element-ui.scss | 21 + src/views/base/cargo-type.vue | 14 +- .../components/business-crud-page.vue | 46 ++- .../components/master-order-editor.vue | 2 + src/views/business/loading-manage.vue | 14 +- src/views/business/master-order.vue | 23 +- src/views/business/project-apply.vue | 4 +- src/views/business/voucher-manage.vue | 2 +- src/views/settlement/pre-settlement.vue | 2 +- .../settlement/transport-reconciliation.vue | 2 +- src/views/transit/exception-disposal.vue | 2 +- src/views/transit/risk-disposal.vue | 2 +- .../components/vehicle-ledger.vue | 374 +++++++++++++++--- src/views/vehicle/customer-archive.vue | 18 - 19 files changed, 485 insertions(+), 189 deletions(-) diff --git a/.workbuddy/memory/2026-08-21.md b/.workbuddy/memory/2026-08-21.md index 8c0f3e9..3d66ae0 100644 --- a/.workbuddy/memory/2026-08-21.md +++ b/.workbuddy/memory/2026-08-21.md @@ -35,3 +35,26 @@ - 合同表单无独立页面标题(page-header 区域在 breadcrumb 处,不在 main 标题区) - 行为验证码:登录页拼图/旋转求解基础设施已搭好——`/tmp/captcha_solve.py`(CORS 修复后支持 puzzle+rotate 双模式)、`/tmp/ab-install/node_modules/.bin/agent-browser --browser-channel chrome`。登录流程:访问 → 切"账号密码登录" → 点登录 → 检测 `.puzzle-stage`/`.rotate-image` → POST 至 http://127.0.0.1:8765 → 取 xDisp/angle → JS PointerEvent 模拟拖动 .track-handle 即可。 - 提交:63256a9 feat(business-crud-page): 合同管理表单页改为多分组卡片风格(1 file, +86/-2)。未提交改动(process-config.js、element-ui.scss、master-order-editor.vue、loading-manage.vue、project-apply.vue、formal-settlement.vue、customer-archive.vue)与本任务无关,未纳入。 + +## shipping-template 独立表单页加 archive-page-form__title(参考 customer-archive) +- 需求:独立表单页 `/business/shipping-template/form?mode=add&name=新运费发货模板` 顶部缺页面标题,参考 customer-archive 的 `.archive-page-form__title` 加标题。 +- 改动(单文件 `src/views/business/components/business-crud-page.vue`): + 1. `PageAvueForm`(5578 行)声明 `props.formPageTitle`,render 时若非空则先 push `
{{ title }}
` 再渲染 avue-form(title 在表单容器 `shipping-template-dialog` 内、avue-form 之前)。 + 2. 模板 `` 新增 `:form-page-title="isStandaloneFormPage ? formPageTitle : undefined"`。 + 3. 新增 computed `formPageTitle()`:`isStandaloneFormPage && isShippingTemplatePage` 时返回 `this.$route.query.name || '新增'/'编辑' + config.title`,否则 ''。 + 4. 样式(scoped 末尾,用 `:global` 因为 title div 由 PageAvueForm 函数式组件渲染、无 scoped 属性):`:global(.business-crud-page--form-page .archive-page-form__title)` 复制 customer-archive 的 18px/600/#303133 + margin-bottom:20px(::before 为空,与参考一致,仅纯文字标题)。 +- 仅作用于 shipping-template 独立表单页;其他独立表单页(waybill/transport-plan/contract)`formPageTitle` 返回 '',不受影响。 + +## transport-plan 独立表单页也加 archive-page-form__title +- 需求:`/business/transport-plan/form?mode=add&name=新运费运输计划` 也要同样的页面标题。 +- 改动:`formPageTitle()` 条件由 `isStandaloneFormPage && isShippingTemplatePage` 改为 `isStandaloneFormPage && (isShippingTemplatePage || isTransportPlanPage)`(复用已有 `isTransportPlanPage` computed:`config.permission==='transport_plan'`)。标题文案取 `this.$route.query.name`(「新运费运输计划」)或回退「新增/编辑运输计划」。 +- 验证:Vite 2889 编译通过(HTTP 200,无错误)。 +- 验证:Vite 2889 编译通过(HTTP 200,无 transform/syntax 错误),HMR 生效。如需扩展到其他独立表单页,去掉 `isShippingTemplatePage` 限定即可。 + +## 将 .archive-page-form__title 全局化,并再加 waybill / loading-manage / master-order 三页 +- 需求:把页面标题扩展到 `/business/waybill-manage/form`、`/business/loading-manage/form`、`/business/master-order?mode=editor` 三页,并与 customer-archive / shipping-template / transport-plan 视觉统一。 +- **全局化样式**:`.archive-page-form__title` 原本分散在 `customer-archive.vue`(scoped)与 `business-crud-page.vue`(`:global`,::before 为空纯文字)。现统一提取到 `src/styles/element-ui.scss`(5b 段):18px/600/#303133 + margin-bottom:20px + `::before` 4px 主色竖条 + 8px 间距(补全竖条,与 section-card 卡头风格一致)。并删除上述两处本地重复定义。 +- **waybill-manage/form**:在 `business-crud-page.vue` 的 `formPageTitle()` 条件再并入 `isWaybillDetailLayout`(`config.permission==='waybill_manage'`),复用既有 computed。标题取 `query.name || '新增/编辑运单管理'`。 +- **loading-manage/form**:该路由直接映射到 `loading-manage.vue`(非 business-crud-page)。新增 computed `formPageTitle()`(`query.name || '新增/编辑配载管理'`),并在独立表单页的 `` 内、body 之前加 `
{{ formPageTitle }}
`。 +- **master-order?mode=editor**:`master-order.vue` 渲染 `master-order-editor.vue`。将 `` 包进 `