25457aff6d
fix: add_pricing_program_timing.dspy 补充 sor 上下文创建
2026-07-14 17:45:09 +08:00
f775d5a751
fix: use get_sor_context(rbac) to query suppliers in sage db
2026-07-10 09:26:22 +08:00
3e7d0aada5
fix: providerid 下拉从 suppliers 表获取(新增 get_search_providerid.dspy + CRUD alters)
2026-07-10 09:21:36 +08:00
2fcd33cdba
feat: get_pricing_display supports optional model filter
...
- Add model parameter to filter displayed pricing items to a single model
- DSPY endpoint accepts ?model=xxx param
- Backward compatible: omitting model returns all items
2026-07-06 15:03:06 +08:00
ecb4c770c4
feat: 删除pricing_spec/discount字段; 新增timing拉链逻辑(expired_date自动管理)
2026-07-05 13:51:43 +08:00
d246d2a5ac
feat: add pricing_data view tool to pricing_program_timing list
...
- Hide pricing_data (YAML text) from list columns
- Add '定价数据' tool button to toolbar
- Open PopupWindow showing pricing_data content via pricing_data_display.ui
- Register new path in load_path.py
2026-06-26 10:56:41 +08:00
1610c0635f
fix: 上传定价数据窗口标题改为定价名称
2026-06-25 13:54:01 +08:00
1ae6bcba35
revert: pricing_test.ui 恢复到修改前状态(验证定价功能不需要)
2026-06-25 13:48:14 +08:00
b7650b79a7
fix: pricing_test.ui field name 缺闭合引号
2026-06-25 13:42:28 +08:00
6070116d38
fix: pricing_test.ui Jinja2 None→none
2026-06-25 13:38:11 +08:00
Hermes Agent
810cd4549b
fix: 修复定价项目时序验证定价500错误 + 移除过时的pricing_item子表引用
...
- init.py: 注册 get_pricing_program_timeing 到 env(pricing_test.ui模板依赖此函数)
- pricing_test.ui: 修复拼写错误 amoumt → "amount"(生成无效JSON导致500)
- json/pricing_program_timing.json: 移除指向已删除的pricing_item CRUD的subtables配置
2026-06-23 23:59:13 +08:00
Hermes Agent
7f5dc485cb
chore: remove generated CRUD files from git tracking
...
Generated files (wwwroot/pricing_program/, wwwroot/pricing_program_timing/)
should not be in version control. They are regenerated by build.sh on deployment.
Added to .gitignore.
2026-06-22 12:22:23 +08:00
Hermes Agent
f148e0c1f9
regenerate CRUD with app. prefix target
2026-06-22 12:16:56 +08:00
Hermes Agent
3863bdcbcc
regenerate CRUD with prepend_all for search code fields
2026-06-22 12:11:53 +08:00
Hermes Agent
a2d0fc9798
regenerate CRUD with script bind for search form
2026-06-22 12:09:26 +08:00
Hermes Agent
daf72d297d
regenerate CRUD with enriched code field support in data_filter
2026-06-22 11:56:16 +08:00
Hermes Agent
38f0c10dfe
Revert "fix: root VBox height:100% instead of cheight:40"
...
This reverts commit d89961c1e49598cbc833ddf86e8927cae041b74b.
2026-06-19 14:26:29 +08:00
Hermes Agent
d89961c1e4
fix: root VBox height:100% instead of cheight:40
2026-06-19 14:25:09 +08:00
Hermes Agent
0d841f078e
feat: pricing_program discount field validation [0-1]
...
- Added rules to discount field: required, number, min:0, max:1
- Frontend: Form validates on submit, shows error below field
- Backend: auto-generated dspy validates before DB write
2026-06-18 17:36:40 +08:00
Hermes Agent
9241edfb6c
fix: test_pricing使用urlwidget加载控件JSON
2026-06-18 16:18:28 +08:00
Hermes Agent
edee247a11
fix: test_pricing结果直接返回完整控件JSON
...
- dspy: 直接return VScrollPanel+Text子控件的完整JSON,不再用status/data包装
- ui: actiontype从urldata改为bricks,直接实例化返回的控件
- 解决status_of模板${items}数组替换不支持的问题
2026-06-18 16:13:52 +08:00
Hermes Agent
d22dbc57ae
fix: test_pricing结果用subwidgets控件数组渲染
...
- dspy: items改为Text控件数组([{widgettype:Text, options:{text:json}}])
- ui: status_of.ok改为VScrollPanel+subwidgets引用items
- 解决之前返回纯文本字符串无法渲染为bricks控件的问题
2026-06-18 16:08:59 +08:00
Hermes Agent
972400e382
feat: test_pricing_program结果每条记录单独显示
...
- dspy: 每条结果json.dumps(r, ensure_ascii=False)后以\n\n分隔
- ui: 结果区改为VScrollPanel,支持长结果滚动
2026-06-18 16:03:43 +08:00
7df8e530a4
remove: pricing_item CRUD and related functions (not used)
2026-06-12 14:41:58 +08:00
22a3a96833
bgufix
2026-06-12 13:03:55 +08:00
977be0d39c
feat: add pricing display API for customer-facing pricing data
...
- generate_formula_from_factors(): auto-generate formula from price_factors array
- get_pricing_display(ppid): return structured human-readable pricing data
- wwwroot/api/get_pricing_display.dspy: API endpoint for frontend consumption
- Supports price_factors display layer (label, unit_price, unit_label)
- Backward compatible: old YAML without pricing_type/price_factors works
- Registered via load_pricing() with ServerEnv
2026-06-04 12:13:55 +08:00
7b9d3d2ba0
refactor: bind hot_reload event via EventDispatcher, add on_hot_reload to PricingProgram
2026-06-01 18:10:30 +08:00
71329af722
fix: 定价管理菜单直接进入pricing_program CRUD,跳过index.ui
2026-06-01 15:55:20 +08:00
12472b792f
fix: reduce module card height (remove cheight, compact padding/icons)
2026-05-30 21:20:48 +08:00
fc1f8bb182
fix: wrap Tabular in VBox with cheight for proper scrolling
2026-05-29 22:09:53 +08:00
b7e69b48cd
fix: responsive UI with VScrollPanel, cfontsize, css:card
2026-05-29 00:12:52 +08:00
ce5062215e
fix: remove hardcoded dark theme colors from index.ui
...
- Remove bgcolor/color/border hardcoded dark theme values
- Use css:'card' class for navigation card
- Let system theme handle styling for proper contrast
2026-05-27 11:31:15 +08:00
0e9a0ef126
fix: add filler css + overflowY:auto to content container
2026-05-26 13:55:19 +08:00
bf868f3f3a
fix: add dark mode background (#0B1120) to pricing index.ui
2026-05-26 11:57:18 +08:00
7c41db3f9b
feat: modernize pricing UI - add index.ui with card navigation
...
- Create index.ui with standardized card layout (#1E293B, 12px radius)
- Simplify menu.ui to point to index.ui entry point
- Add page header with Title2 + description text
- Use consistent SVG icon style (36px, 1.5 stroke width)
2026-05-25 18:30:48 +08:00
9ccbb47920
bugfix
2026-05-19 12:09:52 +08:00
0efc1be770
bugfix
2026-05-14 17:01:56 +08:00
28b3cf4977
bugfix
2026-05-14 13:48:08 +08:00
d98479ee6e
bugfix
2026-05-14 13:10:45 +08:00
896c87c4f0
bugfix
2026-05-14 13:10:13 +08:00
9370ffc11c
bugfix
2026-05-07 16:41:14 +08:00
19fcb860f2
bugfix
2026-05-06 17:39:20 +08:00
ad4646130a
bugfix
2026-05-06 17:33:35 +08:00
64aed371f3
bugfix
2026-05-06 17:24:51 +08:00
c310041db4
bugfix
2026-05-06 17:21:43 +08:00
0a2499ec5f
bugfix
2026-05-06 17:13:33 +08:00
18cd13165a
bugfix
2026-05-06 16:50:46 +08:00
b4783a6be2
bugfix
2026-05-06 16:16:00 +08:00
e237ee550d
bugfix
2026-04-29 21:45:26 +08:00
5c0e4a4397
bugfix
2026-04-04 18:14:16 +08:00