add:新增同一个工单同一人可以多次拼单:拼单明细ui优化

This commit is contained in:
2026-10-23 17:45:05 +08:00
parent 7e1e1f7075
commit f9aeece7ab
19 changed files with 1037 additions and 22 deletions
@@ -0,0 +1,21 @@
-- 105_work_order_share_problem.sql
-- 目标:后台「拼单明细」支持按份额标记问题单。
-- 1. 只影响该份额持有人:母单 work_orders.status / problem_note 一律不写;
-- 2. 份额自身状态(joined/submitted/accepted/cancelled)不变,问题标记是正交属性;
-- 3. 整单问题单能力保留(母单 problem 状态仍按原逻辑覆盖所有参与者)。
--
-- 说明:备注选填;problem_marked_at 为空表示未标记;解除标记即清空这三个字段。
ALTER TABLE work_order_shares
ADD COLUMN IF NOT EXISTS problem_note TEXT NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS problem_marked_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS problem_marked_by TEXT NOT NULL DEFAULT '';
COMMENT ON COLUMN work_order_shares.problem_note IS '份额级问题备注(后台标记问题时填写,选填)';
COMMENT ON COLUMN work_order_shares.problem_marked_at IS '份额级问题标记时间;NULL = 正常。仅影响该份额持有人展示';
COMMENT ON COLUMN work_order_shares.problem_marked_by IS '标记操作人(后台账号显示名)';
-- 打手「问题单」页签筛选与概览统计需要按 (worker_id, work_order_id) 探测被标记的份额。
CREATE INDEX IF NOT EXISTS idx_work_order_shares_problem_worker
ON work_order_shares (worker_id, work_order_id)
WHERE problem_marked_at IS NOT NULL;