zlwu and Cursor
35e09fa09b
feat(duty): add web-admin calendar page and public H5 grab UI
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:14:05 +08:00
zlwu and Cursor
36fc7f286c
feat(duty): register admin and public duty APIs with encrypt exclude
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:12:40 +08:00
zlwu and Cursor
49cad98c84
feat(duty): add schemas and duty_schedule service with capacity tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:12:13 +08:00
zlwu and Cursor
f5ad2d7217
feat(duty): add SQLAlchemy models for duty schedule
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:10:36 +08:00
zlwu and Cursor
2502db7a02
fix(duty): add unique keys for duty_day date and slot shift_type
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:08:22 +08:00
zlwu and Cursor
931fd24671
chore(duty): add duty_day/slot/assignment tables and menu SQL
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-14 17:06:25 +08:00
zlwu
3f21007c18
提交
2026-08-12 21:40:55 +08:00
zlwu and Cursor
d00f5f6da3
docs(bx): mark negative invoice balance design as implemented pending QA
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 21:01:56 +08:00
zlwu and Cursor
5f290a8ef1
docs(bx): document that reimburse submit may leave invoice balance negative
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 21:01:30 +08:00
zlwu and Cursor
5983d31ab2
fix(bx-mobile): allow reimburse submit with insufficient invoice balance
...
Align soft tip and submit flow with web-admin; no longer block on wallet balance.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 21:00:31 +08:00
zlwu and Cursor
b53c1c4851
fix(web-admin): allow reimburse submit with insufficient invoice balance
...
Replace blocking tip with a soft warning and remove client-side submit guards.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 20:59:13 +08:00
zlwu and Cursor
99e4d4c69a
fix(bx): allow reimburse submit when invoice wallet balance is insufficient
...
Drop the hard balance check in debit_reimburse so occupancy can exceed uploaded invoices; balance may go negative until later top-ups.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 20:57:54 +08:00
zlwu and Cursor
4f75bc40b9
docs: add plan for allowing negative invoice balance on reimburse submit
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 20:56:43 +08:00
zlwu and Cursor
12e8cdaaf9
docs: allow negative invoice wallet balance on reimburse submit
...
Record the approved design to drop the hard balance gate while keeping full debit_reimburse occupancy.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 20:55:47 +08:00
zlwu
5fcdb03da1
提交
2026-08-11 07:54:28 +08:00
zlwu
a5210a6a9e
提交
2026-08-09 21:07:28 +08:00
zlwu and Cursor
b45ce2c32c
style(bx-mobile): polish reimburse invoice attachment picker layout
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 19:47:39 +08:00
zlwu and Cursor
0e8cefe89f
feat(bx-mobile): show attachment grid picker on reimburse apply
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 19:46:31 +08:00
zlwu and Cursor
9f92012e43
refactor(bx-mobile): use attachment-level invoice picks in reimburse apply logic
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 19:44:37 +08:00
zlwu
38383b35d9
提交
2026-08-09 19:42:32 +08:00
zlwu and Cursor
47ef575524
docs: add plan for bx-mobile reimburse invoice attachment picker
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 19:42:03 +08:00
zlwu and Cursor
2f87223236
docs: add bx-mobile reimburse invoice attachment picker design
...
Align mobile invoice selection with web-admin at attachment granularity;
include interactive HTML demo for the 3-column picker UX.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 19:38:40 +08:00
zlwu and Cursor
47a56e40fe
docs: mark bx-mobile shanxia2.0 adaptation complete
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:19:51 +08:00
zlwu and Cursor
96dbd3ccbc
feat(bx-mobile): complete P3 withdraw, proxy apply, history, and config pages
...
Align H5 with portal APIs for reimburse withdraw, approval history, applicant/date/title, and UUID-based expense/workflow config using portal user options.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:19:51 +08:00
zlwu and Cursor
9750e1f39d
feat(bx-mobile): show linked invoices on reimburse detail
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:13:58 +08:00
zlwu and Cursor
a8590db98b
feat(bx-mobile): add invoice wallet pages and bind reimburse apply to balance rules
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:13:42 +08:00
zlwu and Cursor
522d691050
fix(bx-mobile): align business pages with UUID ids for P1 portal API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:10:53 +08:00
zlwu and Cursor
8eb0ad14e7
feat(bx-mobile): render home entries from portal-filtered menu catalog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:08:09 +08:00
zlwu and Cursor
a0eebfdbd3
feat(bx-mobile): guard routes by portal menuCodes and drop bx admin IAM pages
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:07:23 +08:00
zlwu and Cursor
a4f04ff297
feat(bx-mobile): finish portal login page and normalize current-user fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:06:43 +08:00
zlwu and Cursor
3f1faeae34
feat(bx-mobile): add bxClient and retarget business APIs to shanxia2.0
...
Remove legacy bx user/role/menu/auth APIs. Wire auth store to portal
temporarily so the app still typechecks; IAM admin pages use local stubs
until Task 6 drops their routes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:06:12 +08:00
zlwu and Cursor
c7a8930ad6
feat(bx-mobile): add portal HTTP client and RSA login API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:03:58 +08:00
zlwu and Cursor
2840c7d1c0
feat(bx-mobile): add Web bx menuCode catalog and permission helpers
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:03:17 +08:00
zlwu and Cursor
39630d39e5
fix(bx-mobile): load VITE_API_PROXY_URL via loadEnv in vite config
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:01:40 +08:00
zlwu and Cursor
4d75713e15
chore(bx-mobile): point API proxy to shanxia2.0 backend and add jsencrypt
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-09 16:00:32 +08:00
zlwu
7a0f1554bd
提交
2026-08-09 15:59:22 +08:00
zlwu
f70dc26206
提交
2026-08-09 14:51:41 +08:00
zlwu and Cursor
ca6aca2b14
docs: add transport plan supplier/demander free-product design and plan.
...
Capture agreed rules for dual-party customers, multi-contract sides, ProductSelector-only products, and no historical migration before implementation.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 23:35:35 +08:00
zlwu
90ae136f38
提交
2026-08-08 23:14:40 +08:00
zlwu
fdf7d391a6
提交
2026-08-08 22:19:09 +08:00
zlwu
683f14828f
提交
2026-08-08 20:43:48 +08:00
zlwu and Cursor
2df2ef0808
feat: add portal home launcher, favorites UI, and WorkTab overflow eviction
...
Replace top-bar module navigation with a card home page, persist favorites via API, reopen favorite tabs on cold login, and enable portal multi-tabs with overflow-based eviction.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 12:06:49 +08:00
zlwu and Cursor
7898d65437
feat: add menu favorites API under /web/admin/menu-favorites
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 12:01:28 +08:00
zlwu and Cursor
1a0c58f82d
feat: add sys_user_menu_favorite table for portal menu favorites
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 11:58:55 +08:00
zlwu and Cursor
2ccc3b612a
docs: mark CRM name pinyin abbr design implemented and note go-live checklist.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:34:55 +08:00
zlwu and Cursor
021bd73301
feat: customer form and search UI for pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:33:23 +08:00
zlwu and Cursor
b151ac6499
feat: product form and search UI for pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:30:53 +08:00
zlwu and Cursor
5575b08437
feat: add backfill script for CRM name pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:29:21 +08:00
zlwu and Cursor
659fc89179
feat: store and search customer name pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:24:28 +08:00
zlwu and Cursor
ba3f2c19bb
feat: store and search product name pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:18:59 +08:00