Commit Graph
265 Commits
Author SHA1 Message Date
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