|
|
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 |
|
Hermes Agent
|
8a2d8b39aa
|
fix: use event.params.prodtypeid instead of event in cascading script
|
2026-06-24 12:36:02 +08:00 |
|
Hermes Agent
|
d6d827fabb
|
feat: hand-write discount_detail_list index.ui + get dspy with editable.binds cascading
|
2026-06-24 12:18:51 +08:00 |
|
Hermes Agent
|
49f3e1a8a2
|
feat: 促销码隐藏id、自动生成、添加二维码tool
- json: id加入exclouded和editexclouded(不显示不输入)
- 新增 api/promo_code_qr.dspy:为选中促销码生成二维码
- 修改 promote/index.dspy:支持code参数,未登录引导登录/注册
- toolbar添加'生成二维码'按钮,选中行后弹窗显示二维码
|
2026-06-24 09:47:36 +08:00 |
|
Hermes Agent
|
e4a6ca15b9
|
feat: 添加客户列表API支持*全部客户选项
- 新增 api/get_customer_list.dspy,返回带*选项的客户列表
- json/discount_list.json: customerid 使用自定义 dataurl
- load_path.py: 注册新API到logined和operator
|
2026-06-24 01:42:36 +08:00 |
|
Hermes Agent
|
0fcc34c235
|
fix: dataurl改为/appbase/get_code.dspy,补全CRUD API
- json/discount_list.json: dataurl→/appbase/, resellerid隐藏+自动填充, customerid保留下拉
- json/discount_detail_list.json: dataurl→/appbase/
- 新增6个API: discount和discount_detail的create/update/delete
- load_path.py: 注册新API路径到logined和operator
|
2026-06-24 01:40:54 +08:00 |
|
Hermes Agent
|
c9372ae2c6
|
fix: CRUD路径改为tablename/index.ui格式,清理错误的.ui路径
|
2026-06-24 01:24:59 +08:00 |
|
Hermes Agent
|
f5250fb261
|
feat: 营销方案、促销码、客户归属绑定功能
- 新增3个数据模型: discount_marketing, discount_promo_code, discount_customer_bind
- 新增CRUD定义: marketing/promo_code/customer_bind 的list和api
- 新增init/data.json: appcodes编码(促销码类型、绑定方式)
- init.py: bind_customer支持customerid参数覆盖(注册场景)
- 折扣校验放宽至 0 < discount <= 1
|
2026-06-24 00:56:32 +08:00 |
|
|
|
b41c89e9dd
|
bugfix
|
2026-05-11 11:30:57 +08:00 |
|
|
|
eb26b179a3
|
bugfix
|
2026-02-26 13:36:59 +08:00 |
|
|
|
98581b2a37
|
bugfix
|
2026-02-25 13:49:16 +08:00 |
|
|
|
97dc4befef
|
bugfix
|
2026-02-24 19:48:26 +08:00 |
|
|
|
45333b6b23
|
bugfix
|
2026-02-24 17:32:46 +08:00 |
|