62 Commits

Author SHA1 Message Date
85f9979051 fix: in_plan整数比较==1而非=='1' 2026-07-04 20:35:23 +08:00
8173fb603b fix: title用json.dumps整个字符串避免空值破坏JSON 2026-07-04 20:34:30 +08:00
c3cad2140f fix: 用json.dumps包裹所有动态值确保JSON安全,in_plan用字符串比较'1' 2026-07-04 20:33:56 +08:00
ad56bd4b37 fix: index.ui literal \t → actual TAB for valid JSON output 2026-07-04 20:25:17 +08:00
cd69111655 fix: add p.id to SELECT for sqlPaging default ORDER BY id 2026-07-04 19:59:53 +08:00
da88b99ca1 fix: hardcode base_discountid to avoid sqlExe KeyError in DSPY 2026-07-04 19:58:55 +08:00
9645d397b6 fix: remove ns['sort'] to avoid sqlPaging outer ORDER BY conflict 2026-07-04 19:56:56 +08:00
9c7a39e519 fix: remove inner ORDER BY to prevent sqlPaging conflict 2026-07-04 19:55:48 +08:00
7a267558a3 fix: DSPY sort alias pc.name→pc_name for sqlPaging compatibility 2026-07-04 19:53:43 +08:00
bc8af7a4cf fix: 产品折扣设置显示基准折扣(1.0)并标记方案内产品
- get_discount_setting_products: LEFT JOIN基准折扣方案_HeaX, COALESCE优先方案折扣, 新增in_plan字段
- get_products_with_discount.dspy: 同步加基准折扣COALESCE
- index.ui: 折扣默认1.0, 新增'✓方案内'标记列
- save_discount: old_discount默认1.0
2026-07-04 19:49:02 +08:00
51a1616b9f fix: restore IS NULL OR * to cover both conventions; keep direct dd.discount without GROUP BY 2026-07-03 18:06:56 +08:00
c39e54f379 fix: dspy same fix — remove IS NULL, remove GROUP BY, use dd.discount directly 2026-07-03 18:05:41 +08:00
33cd1d287d feat: 营销方案产品折扣设置(独立于普通折扣方案)
index.ui: 显示所有产品 + 基准折扣(全部用户) + 方案折扣, 标志'已加入/未加入'
get_products.dspy: 左联全部用户基准折扣 + 营销方案专属折扣
save_discount.dspy: 验证 0<新<基准, upsert 到 discount_detail
init.py: get_marketing_discount_products + get_marketing_info
marketing_list.json: toolbar 指向新页面
2026-07-03 16:05:21 +08:00
ae6c547aff fix: CRUD endpoint return format - remove json.dumps, use widgettype format 2026-07-03 14:50:31 +08:00
9d4c83a25f fix: 客户折扣不得高于全部用户折扣 2026-06-30 14:20:46 +08:00
9f4901c945 fix: 无默认方案时创建客户方案报错提示 2026-06-30 11:35:25 +08:00
d08f6fb289 fix: 删除折扣产品明细菜单; create校验customerid并从默认方案复制detail 2026-06-30 11:30:23 +08:00
02f00c6739 feat: 顶部显示折扣名称和客户名称 2026-06-29 17:02:57 +08:00
7e3af2d9b8 fix: 所有Message加timeout, NaN过滤 2026-06-29 16:59:16 +08:00
34843b6634 fix: 过滤NaN/nan/null/空值防MySQL报错 2026-06-29 16:58:37 +08:00
f14eb4f704 fix: UiFloat用urlwidget+datawidget:self; dspy对比old_discount跳过无变化 2026-06-29 16:55:07 +08:00
92e1ce6dbb fix: focusin触发setup, setInterval扫描input挂DOM blur 2026-06-29 16:39:52 +08:00
817cb354da fix: Jinja2变量避免"转义, script用save_url+disc_id模板变量 2026-06-29 16:35:13 +08:00
885b915d28 fix: JSON闭合VScrollPanel, urlwidget→script+fetch读input值 2026-06-29 16:32:02 +08:00
b3dabcf0f6 fix: 用widgettype:UiFloat+urlwidget替代Form+JS 2026-06-29 16:27:48 +08:00
d536490599 fix: setInterval轮询替代setTimeout,等cell就绪再创建UiFloat 2026-06-29 16:21:58 +08:00
18eea5b5f9 fix: JS直接new bricks.UiFloat+blur事件,去Form 2026-06-29 16:21:21 +08:00
c126ca9021 wip: Form→VBox+uitype:float 2026-06-29 16:20:12 +08:00
3896a8145e fix: Form简化,margin:0,padding:0,去id,精简script 2026-06-29 16:18:35 +08:00
3bafa4425a fix: Form添加padding:0 12px与header对齐 2026-06-29 16:15:25 +08:00
65bbe39477 fix: changed→blur, 移除css:childrensize 2026-06-29 16:11:27 +08:00
2d869c1fbc fix: cwidth改为width百分比(22/34/22/22); discountid改用rel_url.query多种方式获取 2026-06-29 12:05:41 +08:00
2259b68789 refactor: 折扣设置改用Jinja2直建HBox列表+Form/UiFloat+changed事件, 废弃Tabular和inline_edit.js 2026-06-29 11:54:12 +08:00
1bf3528b6d fix: 折扣设置列宽加大(3/5/3/3); 新增inline_edit.js点击编辑折扣; save_discount uuid→getID 2026-06-29 11:37:47 +08:00
3a91d0091c fix: Tabular的params改为data_params,使discountid正确传递到get_products_with_discount 2026-06-29 11:19:54 +08:00
4c7a47d71f bugfix 2026-06-29 11:09:28 +08:00
e9a0cf6650 bugfix 2026-06-29 11:02:35 +08:00
b45c85448a bugfix 2026-06-29 11:00:33 +08:00
a75164e62d fix: 使用跨库全限定名查询product_management表 2026-06-25 16:11:08 +08:00
9135b064ff fix: 移除discount_setting/index.ui中无效的Jinja2 data_params配置 2026-06-25 15:35:37 +08:00
Hermes Agent
07d4a1071e fix: data_params使用params.discountid接收URL参数 2026-06-24 21:46:44 +08:00
Hermes Agent
4f05c285a1 fix: 添加init bind传递discountid,dspy添加early debug日志 2026-06-24 21:37:22 +08:00
Hermes Agent
abcfd7c9a2 fix: 去掉跨库JOIN前缀,同库直接引用 2026-06-24 21:34:43 +08:00
Hermes Agent
79756800d7 fix: 恢复org_id限制,添加debug日志排查问题 2026-06-24 21:32:56 +08:00
Hermes Agent
01a4dddc59 fix: 产品查询去掉org_id限制,使用跨库JOIN 2026-06-24 21:26:55 +08:00
Hermes Agent
9997c8a087 fix: Jinja2模板中entire_url使用单引号避免转义错误 2026-06-24 21:22:55 +08:00
Hermes Agent
84eaf6c1ee chore: 删除残留的api文件 2026-06-24 20:42:41 +08:00
Hermes Agent
29578196a1 feat: 独立产品折扣设置页面(全量产品列表+行内upsert) 2026-06-24 20:42:36 +08:00
Hermes Agent
b2691fe02a fix: discount_detail_create get discountid from params/query/referer 2026-06-24 12:59:14 +08:00
Hermes Agent
f8c2347292 fix: use uuid() instead of getID() in dspy files 2026-06-24 12:46:34 +08:00