|
|
c8810891d8
|
fix(api): globally replace invalid material_base/material_name attributes with correct base relationship
|
2026-03-26 17:14:26 +08:00 |
|
|
|
d58b002340
|
chore(api): expose real 500 error stack trace for scrap scan API
|
2026-03-26 16:59:14 +08:00 |
|
|
|
46dd8f1c3a
|
fix(auth,audit): ensure display_name persists in token refresh and add fallback in audit log
|
2026-03-25 11:16:13 +08:00 |
|
|
|
f9edb5f1f7
|
fix(api): fix AttributeError on inbound deletion by accessing base.name instead of material_name
|
2026-03-25 11:02:32 +08:00 |
|
|
|
7421ef3231
|
fix(api): expose real 500 error stack trace and fix missing func import
|
2026-03-25 10:56:31 +08:00 |
|
|
|
ac7774e0e3
|
fix(api): gracefully handle integrity error on inbound record deletion
|
2026-03-25 10:48:43 +08:00 |
|
|
|
f738b3b3af
|
fix(api): correct specification field name in material search
|
2026-03-24 15:49:54 +08:00 |
|
|
|
321ef8c7bd
|
feat(api): support pagination and keyword search for material base list
|
2026-03-24 15:46:14 +08:00 |
|
|
|
93dc375ba4
|
perf: replace client-side pagination with server-side pagination in stock selection dialog and fix duplicate variable in semi.vue
|
2026-03-23 14:52:01 +08:00 |
|
|
|
c5974ff05c
|
fix: relax permission requirement on stock list api to unblock outbound operations
|
2026-03-23 14:22:52 +08:00 |
|
|
|
e1006f383a
|
refactor: global import cleanup and stability fix for auth module
|
2026-03-23 13:43:29 +08:00 |
|
|
|
505b8e5a32
|
fix: add missing get_jwt import to resolve NameError in my-permissions API
|
2026-03-23 13:41:13 +08:00 |
|
|
|
0bdd4c068e
|
fix: add missing db import to resolve NameError in password update API
|
2026-03-23 13:38:18 +08:00 |
|
|
|
61ec906cfb
|
fix: resolve 500 error in password update API by aligning schema and fixing hash logic
|
2026-03-23 13:32:53 +08:00 |
|
|
|
719fe108ba
|
feat: remove old password requirement, fix user info display, and add password change reminder on home page
|
2026-03-23 11:52:30 +08:00 |
|
|
|
ec5331ffb3
|
feat: fix table alignment in product view and implement self-service password update with role masking
|
2026-03-23 11:41:09 +08:00 |
|
|
|
7c9331d78a
|
perf: implement optimistic UI for scanner, disable auto-camera, and sort excel by SKU
|
2026-03-23 09:51:59 +08:00 |
|
|
|
032479fe38
|
fix: capture and persist target object names for delete, outbound, and borrow operations in audit logs
|
2026-03-20 15:47:13 +08:00 |
|
|
|
b08bbba718
|
fix: enforce Beijing Time (UTC+8) globally by replacing datetime.utcnow
|
2026-03-20 15:23:20 +08:00 |
|
|
|
b6e3ea76fa
|
fix: filter out invisible menus and clean up ghost nodes in permission tree
|
2026-03-20 13:12:16 +08:00 |
|
|
|
6c20233d45
|
fix: handle int type for JWT expires configuration to prevent 500 error on login
|
2026-03-20 10:43:29 +08:00 |
|
|
|
71e5f075d2
|
feat: implement composite debounced search with prepended select and wipe out duplicate root permission nodes
|
2026-03-20 10:26:45 +08:00 |
|
|
|
3bb3975022
|
fix: use .c to access SQLAlchemy subquery columns correctly
|
2026-03-20 10:15:11 +08:00 |
|
|
|
34629b432a
|
fix: correct SQLAlchemy join condition to resolve MaterialBase AttributeError
|
2026-03-20 10:06:22 +08:00 |
|
|
|
990399a408
|
feat: implement cross-table search and debounced dynamic search for borrow and return records
|
2026-03-20 09:58:42 +08:00 |
|
|
|
74089c7d7d
|
fix: clean orphaned permission tree nodes and enhance outbound search with material name/spec model
|
2026-03-20 09:53:32 +08:00 |
|
|
|
6336432a5c
|
refactor: restructure permission list to a tree format matching the sidebar navigation
|
2026-03-20 09:42:14 +08:00 |
|
|
|
1ad57da2a7
|
chore: remove legacy inventory stocktake menu and permission configs
|
2026-03-20 09:34:36 +08:00 |
|
|
|
b375cbfe25
|
fix: add stocktake and adjustment modules to role permission assignment UI
|
2026-03-20 09:31:33 +08:00 |
|
|
|
4223a95f10
|
feat: generate permission sql for stocktake modules and implement single-device login restriction
|
2026-03-20 09:11:54 +08:00 |
|
|
|
faea0379da
|
refactor: replace transfer outbound type with production outbound across frontend and backend
|
2026-03-19 17:13:24 +08:00 |
|
|
|
53c198f363
|
feat: fix stocktake deletion bug, and add pagination, search, sorting to stocktake lists
|
2026-03-19 16:21:09 +08:00 |
|
|
|
fa8b113f9d
|
fix: implement sequential order_no generation and enforce UTC+8 Beijing time for adjustments
|
2026-03-19 15:42:36 +08:00 |
|
|
|
b37049a4d7
|
feat: add generate-missing logic to identify unscanned stock as inventory loss
|
2026-03-19 15:34:54 +08:00 |
|
|
|
6cc3d1b6e0
|
feat: upgrade adjustment workflow to require explicit inbound SKU or outbound tracking number and fix UTC timezone issue
|
2026-03-19 15:26:40 +08:00 |
|
|
|
ae63748060
|
feat: refactor stocktake import flow to use a preview-and-select dialog
|
2026-03-19 15:16:20 +08:00 |
|
|
|
50cf63414f
|
feat: fix 401 auth error and bridge stocktake discrepancies to adjustment module
|
2026-03-19 14:36:56 +08:00 |
|
|
|
09869667c8
|
fix: add extend_existing=True to StockAdjustment model to resolve MetaData conflict
|
2026-03-19 14:25:43 +08:00 |
|
|
|
c55eed0d75
|
fix: remove duplicate StockAdjustment model from stocktake.py to fix SQLAlchemy MetaData conflict
|
2026-03-19 14:20:27 +08:00 |
|
|
|
d8a57ab66e
|
feat: initialize inventory profit and loss adjustment module
|
2026-03-19 12:06:32 +08:00 |
|
|
|
7867fc5e40
|
fix: resolve TypeError between float and Decimal in stocktake excel export
|
2026-03-19 11:47:31 +08:00 |
|
|
|
8db1015f99
|
fix: implement traffic-light color warning and correct ascending sort for overdue borrow records
|
2026-03-19 11:45:27 +08:00 |
|
|
|
a32d4f6b65
|
fix: resolve 500 error on excel export by aligning headers and data row lengths for remark field
|
2026-03-19 11:41:53 +08:00 |
|
|
|
b74464df6b
|
feat: add descending sort by return date and color-coded warning for impending returns
|
2026-03-19 11:40:38 +08:00 |
|
|
|
a19167e804
|
fix: add missing remark header to stocktake excel export
|
2026-03-19 11:36:48 +08:00 |
|
|
|
0bc0908b9b
|
fix: ensure remark field is properly parsed and saved to database during stocktake update
|
2026-03-19 11:27:40 +08:00 |
|
|
|
83745caacc
|
feat: create models and SQL schemas for stocktake remarks and inventory adjustments
|
2026-03-19 10:56:40 +08:00 |
|
|
|
a32acad191
|
Merge remote-tracking branch 'origin/2.0权限管理' into 2.0权限管理
|
2026-03-19 10:50:47 +08:00 |
|
|
|
6596ce2458
|
fix: move keyword search filter to outer query to fix outerjoin bypass bug in material list
|
2026-03-19 10:43:09 +08:00 |
|
|
|
ebb7969807
|
fix: correct targeted search logic for material/stock list to prevent unrelated results
|
2026-03-19 09:49:21 +08:00 |
|