|
|
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
|
1db2cc3109
|
chore: load_path添加discount_setting路径注册
|
2026-06-24 21:02:19 +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
|
4ca5207f8f
|
chore: disable discount_detail_list CRUD generation (hand-written UI)
|
2026-06-24 12:24:51 +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
|
80ef13af88
|
fix: use form_binds for edit form cascading dropdowns (prodtypeid→productid)
|
2026-06-24 10:42:40 +08:00 |
|
Hermes Agent
|
1b15225e3d
|
fix: 修正binds配置属性名widget→target,script参数使用event获取changed值
|
2026-06-24 10:27:00 +08:00 |
|
Hermes Agent
|
0990799ee1
|
feat: 产品明细添加级联联动,选择产品种类后自动加载对应产品
|
2026-06-24 10:13:32 +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
|
ee7175701a
|
feat: 促销码编辑不显示生成时间,依赖数据库DEFAULT CURRENT_TIMESTAMP
|
2026-06-24 09:33:05 +08:00 |
|
Hermes Agent
|
2860d9209c
|
feat: discount_marketing添加产品明细tool按钮,弹窗打开discount_detail_list编辑
|
2026-06-24 09:31:56 +08:00 |
|
Hermes Agent
|
8d71c4f1d9
|
feat: productid联动过滤,cond条件category_id=[[prodtypeid]]
|
2026-06-24 09:30:08 +08:00 |
|
Hermes Agent
|
82522d8382
|
fix: codes移除dbname,修正表名和字段名
- prodtypeid→product_category(name)
- productid→product(product_name)
- 所有表在同一数据库,不需要dbname
|
2026-06-24 09:24:58 +08:00 |
|
Hermes Agent
|
a666aa1b18
|
fix: discount_customer_bind列表隐藏customerid/resellerid显示和编辑输入
|
2026-06-24 09:19:44 +08:00 |
|
Hermes Agent
|
6c1e4d14d4
|
fix: discount_promo_code列表隐藏resellerid/sale_id显示,编辑排除这两个字段
|
2026-06-24 09:18:57 +08:00 |
|
Hermes Agent
|
474132eadd
|
fix: discount_marketing列表隐藏id/resellerid显示,编辑排除id/resellerid/created_by/created_at/updated_at
|
2026-06-24 09:17:53 +08:00 |
|
Hermes Agent
|
d149f5d475
|
fix: codes指向正确的表名和字段名
- prodtypeid: prodtype→product_category(db=product_management)
- productid: textfield name→product_name(db=product_management)
- 添加dbname支持跨库JOIN
|
2026-06-24 09:16:43 +08:00 |
|
Hermes Agent
|
842647da89
|
refactor: 让CRUD自动处理code字段,移除手动alters配置
|
2026-06-24 09:10:43 +08:00 |
|
Hermes Agent
|
96cd4712c0
|
fix: 修正code字段dataurl参数格式,使用valueField/textField
|
2026-06-24 09:07:51 +08:00 |
|
Hermes Agent
|
f1e9b1ab2e
|
fix: subtable使用CRUD别名discount_detail_list而非表名
|
2026-06-24 09:00:43 +08:00 |
|
Hermes Agent
|
b8a5de7a07
|
refactor: load_path.py自动扫描json/和api/目录生成完整权限路径
- 从json/*.json自动提取tblname和alias,生成所有CRUD路径
- 自动扫描wwwroot/api/*.dspy注册所有API路径
- 去重处理,避免重复注册
- operator获得全部CRUD+API权限,sale获得促销码+客户归属权限
|
2026-06-24 08:57:46 +08:00 |
|
Hermes Agent
|
95b91c4c25
|
feat: 折扣方案添加子表按钮(折扣产品明细)
使用subtables配置,点击按钮跳转到discount_detail子表,
通过discountid字段关联筛选。
|
2026-06-24 08:50:11 +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
|
1ba7e0e031
|
feat: 调整discount表结构
- 删除discount字段(折扣值在detail子表中)
- customerid标题说明*表示全部客户
- init/data.json添加organization表的*记录(全部客户选项)
|
2026-06-24 01:33:46 +08:00 |
|
Hermes Agent
|
c9372ae2c6
|
fix: CRUD路径改为tablename/index.ui格式,清理错误的.ui路径
|
2026-06-24 01:24:59 +08:00 |
|
Hermes Agent
|
b834b040de
|
fix: load_path.py补充discount_list.ui和discount_detail_list.ui路径
这两个是老表的直接.ui文件路径,menu.ui引用的是这些路径而非CRUD目录。
需要在logined和operator角色中都注册。
|
2026-06-24 01:19:35 +08:00 |
|
Hermes Agent
|
daa6e66d09
|
fix: 重写load_path.py,补全RBAC权限路径
问题:discount_list/discount_detail_list/discount_customer_bind_list 返回403
原因:缺少CRUD目录路径、auto-generated .dspy、角色专属权限
修复:
- PATHS_ANY: 添加5个CRUD目录别名
- PATHS_LOGINED: 添加25个CRUD auto-generated .dspy
- PATHS_OPERATOR: reseller.operator可管理全部折扣功能
- PATHS_SALE: reseller.sale可查看促销码和客户归属
|
2026-06-24 01:16:33 +08:00 |
|
Hermes Agent
|
a6a553ea78
|
feat: load_path.py添加新CRUD页面和API路径权限注册
新增15条logined路径:
- discount_marketing_list, discount_promo_code_list, discount_customer_bind_list
- api/marketing_*, api/promo_code_*, api/customer_bind_* (9个API)
|
2026-06-24 01:08:05 +08:00 |
|
Hermes Agent
|
8040238ea5
|
fix: 移除timestamp字段的显式default声明
DDL生成器会自动为timestamp类型添加DEFAULT CURRENT_TIMESTAMP,
显式指定会导致重复DEFAULT声明,MySQL报错1067。
修复的表:
- discount_marketing (created_at, updated_at)
- discount_promo_code (created_at)
- discount_customer_bind (created_at)
|
2026-06-24 01:03:35 +08:00 |
|
Hermes Agent
|
d87d8f5ffa
|
chore: add __pycache__ to .gitignore
|
2026-06-24 00:56:40 +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 |
|
Hermes Agent
|
8498a10809
|
feat: add i18n translations (zh/en/jp/ko) for all modules
|
2026-06-19 15:01:23 +08:00 |
|