diff --git a/.workbuddy/memory/2026-08-28.md b/.workbuddy/memory/2026-08-28.md
new file mode 100644
index 0000000..900be52
--- /dev/null
+++ b/.workbuddy/memory/2026-08-28.md
@@ -0,0 +1,35 @@
+# 2026-08-28 工作日志
+
+## contract-manage 表单底部操作栏间距/文案修复
+- 文件:`src/views/business/contract-manage.vue`
+- 问题:底部浮动操作栏 `.contract-manage-page__footer` 用 `gap:8px`,与全站统一 12px 标准不一致("间距不一致不统一")。
+- 修复:去掉 `gap:8px`,改用 `.el-button + .el-button { margin-left:12px }`,对齐全站"去 gap、12px"规范。
+- 文案:底部"关闭"→"取消"(底部操作栏统一命名规范;详情弹窗/流程图弹窗的"关闭"为只读/纯关闭场景,按规范保留)。
+
+## contract-manage 草稿编辑页按钮缺失修复
+- 问题:编辑态(含草稿编辑)底部只有单个"提交"(submitEdit),缺"暂存/提交临时合同/提交正式合同",与新增页不一致。
+- 修复:新增 computed `isDraftEdit`(`formMode==='edit' && form.approvalStatus==='draft'`);footer 三按钮条件由 `formMode==='add'` 改为 `formMode==='add' || isDraftEdit`,草稿编辑复用 `submitCreate`(按 id upsert + temporary/formal 提升),非草稿编辑仍走 submitEdit 单个"提交"。
+
+## contract-manage-change 变更页底部操作栏统一改造
+- 文件:`src/views/business/contract-manage-change.vue`
+- 问题:`.page-footer` 左侧对齐、`gap:16px`、不悬浮,且按钮顺序/命名(提交→关闭)与新增页规范相反。
+- 修复:
+ - DOM:按钮重排为 `[取消][提交]`(次要居左、主操作居右),"关闭"→"取消"。
+ - 样式:`.page-footer` 改为 `position:fixed` 悬浮吸底(left:230px / avue--collapse 60px / avue-layout--horizontal 0)、`justify-content:flex-end` 右对齐、去 gap 改用 `.el-button+.el-button{margin-left:12px}` 统一 12px、白底+上边框+上投影。
+ - 容器 `.contract-change-page` 加 `padding-bottom:72px`,避免内容被悬浮栏遮挡。
+
+## contract-manage 新增页"合同文件"标题未加粗修复
+- 文件:`src/views/business/contract-manage.vue`
+- 问题:`attachment-section` 子组件内渲染的 `.dialog-section-title` 不受当前页面 scoped `> .dialog-section-title` 样式命中,导致"合同文件"标题字重未加粗(截图反馈)。
+- 修复:在 `.contract-manage-form__section` 样式规则中补充 `:deep(.dialog-section-title)`,使直接子元素和子组件内部标题均统一为 16px/600/#303133。
+
+## contract-manage 搜索栏"时间段快捷筛选"组位置前置
+- 文件:`src/views/business/contract-manage.vue` + `src/option/business/contract-manage.js`
+- 第一轮(理解偏差):把"签约类型"select 和 check-tag 组一起塞进 `#search-menu` slot。主人纠正:「签约类型」是普通搜索字段,应与第一行 8 个搜索项同排,不是 slot 内的辅助元素。
+- 第二轮(终态):
+ - option 把 `signType` 加 `search:true / searchOrder:10 / searchPlaceholder:'请选择'`,作为 Avue 标准搜索字段,与其它 8 项同排(放在末尾)。
+ - 页面 `#search-menu` slot 移除「签约类型」select,仅留 5 个 el-check-tag。
+ - 页面 data 移除冗余的 `contractSignType:''`,onLoad/searchReset 不再手动维护 signType(Avue search form 自动绑定到 query)。
+ - 样式:`.el-select { width: 180px }` 已成 dead code,移除。
+ - `:deep(...)` 调整:去掉 `margin-right:auto`,只留 `order:-1`。`.avue-form__menu` 本身 `flex / flex-end`,check-tag 组排首项后,整体仍紧靠右侧,与 `[查询][重置][收起]` 形成 `[快捷筛选] [查询] [重置] [收起]` 右对齐序列。
+
diff --git a/src/option/business/contract-manage.js b/src/option/business/contract-manage.js
index c604260..77bfd77 100644
--- a/src/option/business/contract-manage.js
+++ b/src/option/business/contract-manage.js
@@ -251,6 +251,7 @@ export const option = createCrudOption([
searchPlaceholder: '请输入',
order: 180,
slot: true,
+ overHidden: true,
minWidth: 240,
rules: textRule('合同名称', 100, true),
},
@@ -318,7 +319,9 @@ export const option = createCrudOption([
label: '签约类型',
prop: 'signType',
type: 'select',
- search: false,
+ search: true,
+ searchOrder: 10,
+ searchPlaceholder: '请选择',
span: 8,
order: 190,
dicData: signTypeOptions,
diff --git a/src/views/business/components/billing-plan-editor.vue b/src/views/business/components/billing-plan-editor.vue
index cdd47a4..6876eae 100644
--- a/src/views/business/components/billing-plan-editor.vue
+++ b/src/views/business/components/billing-plan-editor.vue
@@ -6,68 +6,72 @@
append-to-body
destroy-on-close
>
-