Lewis_yan
0716cd293c
feat(i18n): 添加 Menu/MenuButton/Users i18n 字段迁移
2026-04-08 17:20:05 +08:00
Lewis_yan
231ac88c8b
feat(i18n): 合并 django-vue3-admin i18n 国际化功能
...
后端:
- 添加 LocaleMiddleware 和 Django i18n 配置 (LANGUAGES/LOCALE_PATHS)
- Users.language 字段支持用户语言偏好
- Menu/MenuButton name_en/name_zh_tw 多语言字段
- WebRouterSerializer get_title() 语言感知返回
- update_language API endpoint
前端:
- vue-i18n 升级为 deepMerge + fast-crud i18n 集成
- 新增 19 个模块的 3 种语言翻译 (zh-CN/en/zh-TW)
- 导航栏语言切换器: 刷新路由 + 后端持久化
- router/backEnd.ts 支持 language 参数和 refreshRoutesForI18n
2026-04-08 17:11:39 +08:00
lewis yan
aad26c9558
Merge branch 'develop' into 'Develop'
...
test: update Django+DRF testing infrastructure
See merge request pisteams/pis!1
2026-04-08 06:09:32 +00:00
nebula chen
72e21bd75c
Merge branch 'Develop' into 'develop'
...
# Conflicts:
# README.md
2026-04-08 06:01:27 +00:00
pandas xiao
196f20a9ca
Initial commit
2026-04-08 02:23:41 +00:00
nebula_chen
fbb8809664
refactor(dashboard):调整前端效果
2026-04-07 20:25:39 +08:00
nebula_chen
3999cfa9aa
Merge branch 'develop' of http://192.168.80.90:8086/nebula_chen/pis into develop
2026-04-07 19:34:56 +08:00
nebula_chen
3542782796
feat(eip_sync):新增统一的与 EIP 的数据对接层并实现杂采料号抛转接口
2026-04-07 19:34:14 +08:00
lewis
fc046f37ba
Merge branch 'develop' into 'develop'
...
refactor(system, pisadmin):修改供应商账号登录时角色标识的校验逻辑,暂时改为 supplier_*;同步修改仪表盘
See merge request pisteams/pis!54
2026-04-07 08:11:11 +00:00
nebula_chen
c02435da28
Merge branch pis:develop into develop
2026-04-07 08:07:22 +00:00
nebula_chen
8259cd797a
refactor(system, pisadmin):修改供应商账号登录时角色标识的校验逻辑,暂时改为 supplier_*;同步修改仪表盘
2026-04-07 16:06:39 +08:00
lewis
e5957e989a
Merge branch 'develop' into 'develop'
...
feat(pissupplier):新增供应商用户账号登录系统,报价单页面仅展示对应供应商的报价单
See merge request pisteams/pis!53
2026-04-07 03:52:21 +00:00
nebula_chen
31f8d073a8
Merge branch pis:develop into develop
2026-04-07 03:22:48 +00:00
lewis
742b5e8482
Merge branch 'feat/dashboard-home-notification' into 'develop'
...
feat(dashboard): add semantic icons to KPI cards
See merge request pisteams/pis!52
2026-04-07 03:19:30 +00:00
lewis
52a7ebfe3e
Merge branch 'develop' into 'develop'
...
refactor(pisadmin):修改材料制程最低价与杂采材料表的关联逻辑;修改履历表的写入逻辑与前端实现
See merge request pisteams/pis!51
2026-04-07 03:14:48 +00:00
Lewis_yan
3ddea70c55
feat(dashboard): add system notification card to right sidebar
...
Reference the original django-vue3-admin framework home page, combine
the home image and notification card into one layout. The notification
list appears below the image, matching the original framework's style
with creator name, datetime, and title for each notification item.
2026-04-07 11:13:47 +08:00
Lewis_yan
4c681805cd
fix(dashboard): replace .extra() with TruncDate to fix SQL Server column name issues
...
.extra(select={'day': 'DAY(create_time)'}) uses Django field name but
Inquiry.create_time has db_column='CreateTime' causing SQL Server error.
TruncDate is the proper ORM approach for date truncation.
2026-04-07 11:02:51 +08:00
Lewis_yan
d1c54290c5
debug(dashboard): add debug print to track buyer_data exception
2026-04-07 10:59:59 +08:00
Lewis_yan
32377898ab
fix(dashboard): use SuccessResponse from dvadmin.utils.json_response instead of manual Response
2026-04-07 10:50:36 +08:00
Lewis_yan
0a5b72fdba
fix(dashboard): wrap response with code:200 and update store to extract data from res.data
...
Backend: Response() now returns {code:200, msg, data: {buyer, supplier}}
Frontend: store extracts buyer/supplier from res.data since axios interceptor returns full response
2026-04-07 10:48:32 +08:00
nebula_chen
58dcd730f1
feat(pissupplier):新增供应商用户账号登录系统,报价单页面仅展示对应供应商的报价单
2026-04-07 10:35:16 +08:00
Lewis_yan
f373252760
fix(dashboard): add missing method/quote_deadline/bid_*_time fields to BuyerTaskSerializer and SupplierQuoteSerializer
...
The serializers.py had incomplete field definitions - missing the deadline
and method fields that views.py correctly builds. Also fixed quantity type
(CharField to match view's empty string fallback) and added status field
to SupplierQuoteSerializer.
2026-04-07 10:23:21 +08:00
nebula_chen
b31588d7ad
feat(pisadmin):新增供应商用户创建关联系统的用户创建
2026-04-07 10:22:58 +08:00
Lewis_yan
3c2ae69383
debug: log full task object to identify actual API field names
2026-04-07 10:19:08 +08:00
Lewis_yan
2a753d7cfd
debug(dashboard): add console.log debugging for buyer/supplier task list data flow
...
Trace points:
- Dashboard Store: API response, buyer/supplier data, tasks/pending_quotes
- BuyerDashboard: computed tasks, onMounted, getDeadlineClass, getRemainingTimeText
- SupplierDashboard: computed pendingQuotes, onMounted, getDeadlineClass, getRemainingTimeText
2026-04-07 10:18:08 +08:00
Lewis_yan
c862c33ff0
fix(dashboard): add method and deadline fields to API responses
...
BuyerDashboard API:
- Add buying_method, quote_deadline, bid_start_time, bid_end_time to tasks
- Add daily trend data with day field instead of monthly
SupplierDashboard API:
- Add buying_method, quote_deadline, bid_start_time, bid_end_time to pending_quotes
- Add daily trend data with day field instead of monthly
These fields are needed by the frontend to display procurement method
badges and deadline countdown with color-coded urgency.
2026-04-07 10:09:44 +08:00
Lewis_yan
9ebda50083
docs: update README with project architecture and startup scripts
...
- Replace dvadmin3 framework intro with PIS project content
- Add project architecture section (tech stack, directory structure, modules)
- Add startup scripts documentation (start-backend.sh, start-frontend.sh, etc.)
- Update all 4 README files (EN/ZH for root and web/)
2026-04-07 10:07:03 +08:00
Lewis_yan
41ad7b67c2
feat(dashboard): enhance todo task rendering with procurement method and deadline styling
...
BuyerDashboard:
- Added procurement method column (询价/招标 badge)
- Added deadline/remaining time with color coding:
- <24h: red bold
- 24-48h: yellow bold
- expired: strikethrough
- 询价 uses quote_deadline, 招标 uses bid_end_time
SupplierDashboard:
- Added procurement method badge
- Time display varies by method:
- 询价: shows quote deadline + remaining time
- 招标: shows bid time range (bid_start ~ bid_end) + remaining time
- Same deadline color coding as buyer
2026-04-07 10:06:07 +08:00
Lewis_yan
6123b6ef17
fix(dashboard): render all days of current month in trend chart
...
Generate all calendar days of current month and map backend data to
each day. Missing days display as 0 instead of being omitted from
the x-axis.
2026-04-07 09:59:49 +08:00
Lewis_yan
22f8caa6d4
fix(dashboard): use day field for 30-day trend chart x-axis
...
Change from d.month to d.day to properly display daily
data instead of monthly aggregation on the 30-day trend chart.
2026-04-07 09:57:48 +08:00
Lewis_yan
829b030828
fix(dashboard): replace non-existent FA4.7 icons with valid alternatives
...
- fa-chart-pie → fa-pie-chart
- fa-file-invoice → fa-file-text-o
- fa-pen-to-square → fa-pencil-square-o
2026-04-07 09:52:28 +08:00
Lewis_yan
4d61d34c56
fix(dashboard): use fa-clock-o for FontAwesome 4.7 compatibility
...
fa-clock (solid) only exists in FA5+, FA4.7 uses fa-clock-o (outline)
2026-04-07 09:51:28 +08:00
Lewis_yan
2e49fa1449
feat(dashboard): add semantic icons to KPI cards
...
Add FontAwesome icons to all 7 KPI metric cards in buyer and
supplier dashboards for better visual semantics:
BuyerDashboard:
- fa-check-circle (completed inquiries)
- fa-clock (pending inquiries)
- fa-chart-pie (quote timeliness rate)
SupplierDashboard:
- fa-file-invoice (total quotes)
- fa-pen-to-square (pending quotes)
- fa-trophy (won bids)
- fa-bullseye (win rate)
2026-04-07 09:46:09 +08:00
nebula_chen
7935527618
Merge branch pis:develop into develop
2026-04-03 12:24:00 +00:00
nebula_chen
28d799c2e4
refactor(pisadmin):修改材料制程最低价与杂采材料表的关联逻辑;修改履历表的写入逻辑与前端实现
2026-04-03 20:22:52 +08:00
lewis
cb781ab1ed
Merge branch 'develop' into 'develop'
...
refactor(pisadmin):修改制程最低价和平均价的计算逻辑
See merge request pisteams/pis!50
2026-04-03 11:05:53 +00:00
nebula_chen
3e9fcc0198
Merge branch pis:develop into develop
2026-04-03 11:02:29 +00:00
nebula_chen
7a9822740c
refactor(pisadmin):修改制程最低价和平均价的计算逻辑
2026-04-03 18:57:09 +08:00
lewis
d3397b493d
Merge branch 'sync/pnpm-fix-to-develop' into 'develop'
...
refactor(storage): rename MinIO to RustFS throughout backend
See merge request pisteams/pis!49
2026-04-03 10:21:57 +00:00
lewis
f8214b1264
Merge branch 'develop' into 'develop'
...
feat(pisadmin):新增供应商用户信息页
See merge request pisteams/pis!48
2026-04-03 10:19:15 +00:00
lewis_yan
9a040f5836
chore(storage): update RustFS credentials for testing
2026-04-03 18:14:45 +08:00
nebula_chen
32c1488d5f
feat(pisadmin):新增杂采材料/加工制程最低信息表模型定义及序列化器
2026-04-03 17:32:29 +08:00
lewis_yan
a90809c3fc
refactor(storage): rename MinIO to RustFS throughout backend
...
- Rename minio_storage.py to rustfs_storage.py
- Update all MINIO_* settings to RUSTFS_* in env.py
- Update file_list.py to import rustfs_upload_file
- Update test files and factory to use rustfs engine
2026-04-03 17:12:04 +08:00
lewis_yan
1959f83d77
chore(deps): add pytest-django and factory_boy for testing
2026-04-03 16:53:25 +08:00
lewis_yan
5d0274c519
test: add MinIO file upload integration tests
...
- Add FileListFactory for test data creation
- Add TestFileUpload with 4 test cases:
- test_upload_file_success (requires MinIO running)
- test_upload_file_unauthenticated (passes without MinIO)
- test_upload_image_success (requires MinIO running)
- test_upload_without_file (passes without MinIO)
- Fix admin_user/normal_user fixtures to use factory_boy
sequence to avoid username collision
2026-04-03 16:52:56 +08:00
lewis_yan
7885d7a759
chore(deps): add boto3, remove unused oss2 and cos-python-sdk
2026-04-03 16:42:52 +08:00
lewis_yan
08a904ef2a
refactor(storage): remove aliyunoss and tencentcos storage engines
2026-04-03 16:42:14 +08:00
lewis_yan
076c3a5a43
feat(storage): simplify FileSerializer.create to use MinIO only
2026-04-03 16:41:50 +08:00
lewis_yan
c337707e05
feat(storage): add MinIO storage utility (boto3-based)
2026-04-03 16:41:04 +08:00
lewis_yan
671f9f4478
feat(storage): add MinIO configuration to env.py
2026-04-03 16:40:12 +08:00