Lewis_yan
e93eabb073
fix(i18n): correct login i18n structure with proper message.pages.login nesting
...
The login i18n files were exporting flat structures that didn't match
the expected key paths like message.pages.login.loginTitle.
Wrapped content in message.pages.login.* structure like other i18n modules.
2026-04-09 08:56:49 +08:00
Lewis_yan
7e2fa635bb
fix(i18n): complete login page i18n adaptation for all portals
...
- Fix supplier.vue to use correct i18n key paths
- Fix mobile.vue: message.mobile.* -> message.pages.login.mobile.*
- Fix scan.vue: message.scan.* -> message.pages.login.scan.*
- Add supplierTitle key for supplier portal login page
2026-04-09 08:48:28 +08:00
Lewis_yan
025ddceb82
feat(i18n): restore framework menu i18n and fix login page i18n keys
...
- Restore init_menu.json with name_en/name_zh_tw for menu buttons (104 entries)
- Add data migration 0003 to populate menu item name_en/name_zh_tw
- Fix login page i18n key paths (message.account.* -> message.pages.login.account.*)
- Add missing login i18n keys: loginTitle, firstLoginTip, welcomeLogin, copyright
- Fix hardcoded Chinese strings in login page to use i18n
2026-04-08 23:22:42 +08:00
lewis yan
1da3a13cca
Merge branch 'develop' into 'develop'
...
同步分支
See merge request pisteams/pis!2
2026-04-08 15:08:02 +00:00
Lewis_yan
3913ac722e
feat(i18n): complete i18n adaptation across backend and frontend
...
Backend:
- Improve menu title language detection (query param, user lang, Accept-Language)
- Fix user language update to use correct update_datetime field
- Add menu i18n sync management command
- Add migrations for company/miscprocurement i18n fields
Frontend:
- Clear tagsView cache on language switch to reload titles in new language
2026-04-08 23:06:59 +08:00
Lewis_yan
9fe040c5fc
feat(i18n): complete i18n adaptation for basicinfo modules
...
- Add missing createTime/updateTime keys to company, supplierUser, emailnotice
- Add statusValid, statusInvalid, autoFillNote, roleQuote to supplierUser
- Add general label to systemNo
- Fix systemno → systemNo key naming consistency in crud.tsx
- Sync menu i18n keys across en/zh-tw
2026-04-08 23:05:31 +08:00
Lewis_yan
ff0e99b2c0
fix(i18n): add createTime/updateTime keys and fix company createUser/updateUser refs in basicinfo
2026-04-08 22:43:11 +08:00
Lewis_yan
89b16e6047
feat(i18n): full i18n adaptation of pissupplier quotation index.vue and add missing i18n keys
2026-04-08 22:37:15 +08:00
Lewis_yan
7a3dc8376e
fix(i18n): revert buyingMethodDict rename - still used by index.vue import
2026-04-08 22:32:50 +08:00
Lewis_yan
40c376f205
feat(i18n): add missing inquiry status keys and paymentPrepaid to pissupplier quotation
2026-04-08 22:30:38 +08:00
Lewis_yan
6a73422e82
fix(i18n): add missing useI18n import in misc_parts/crud.tsx
2026-04-08 22:25:10 +08:00
Lewis_yan
c07929a7b2
feat(i18n): Fix misc_materials/stations i18n refs and add misc_parts i18n
...
- misc_materials/crud.tsx: Change misc_materials.* refs to materialInfo.*
- misc_stations/crud.tsx: Change misc_stations.* refs to stationInfo.*
- misc_parts/crud.tsx: Add full i18n support (useI18n, statusDict, categoryDict, all columns)
- Add missing keys to all 3 i18n files:
- materialInfo: statusEnabled, statusDisabled, createTime, updateTime
- stationInfo: statusEnabled, statusDisabled, typeTooling, typeGraphite, createTime, updateTime
- misc_parts: new section with all field labels
- rfqmiscellaneous: paymentMethod1-9, selectInquiryFirst, onlySingleOperation,
confirmBargainPrompt, addSupplierFirst, confirmPrompt, prompt, confirmFailed,
restorePrompt, restoreFailed, publishPrompt, publishFailed, startBargainFailed,
deleteFailed, cancel, inquiryNameRequired, buyerRequired, inquiryNoPlaceholder,
inquiryNamePlaceholder, buyerPlaceholder
2026-04-08 22:20:54 +08:00
Lewis_yan
433ce5243a
feat(i18n): 完成剩余 CRUD 文件国际化适配
...
basicinfo: company, systemno, emailnotice, supplier_user
miscprocurement: misc_materials, misc_stations, cost_template, rfqmiscellaneous
pissupplier: quotation
- 所有硬编码中文字符串替换为 t() i18n 调用
- 同步补充所有翻译 key (zh-cn/en/zh-tw)
2026-04-08 21:25:50 +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
nebula_chen
581cdd4422
feat(pisadmin):新增比价页及报价单详情页的分享页供抛转核价信息时抛转比价信息地址
2026-04-08 15:26:31 +08:00
nebula_chen
fbb8809664
refactor(dashboard):调整前端效果
2026-04-07 20:25:39 +08:00
nebula_chen
8259cd797a
refactor(system, pisadmin):修改供应商账号登录时角色标识的校验逻辑,暂时改为 supplier_*;同步修改仪表盘
2026-04-07 16:06:39 +08: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_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
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
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
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
28d799c2e4
refactor(pisadmin):修改材料制程最低价与杂采材料表的关联逻辑;修改履历表的写入逻辑与前端实现
2026-04-03 20:22:52 +08: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
f8214b1264
Merge branch 'develop' into 'develop'
...
feat(pisadmin):新增供应商用户信息页
See merge request pisteams/pis!48
2026-04-03 10:19:15 +00:00
nebula_chen
cb91c7c4f5
fix(pisadmin):修改制程最低价计算逻辑
2026-04-03 16:32:13 +08:00
nebula_chen
28f327b01d
Merge branch 'develop' of http://192.168.80.90:8086/nebula_chen/pis into develop
2026-04-03 15:19:28 +08:00
nebula_chen
59fb404460
feat(pisadmin):新增供应商用户信息页
2026-04-03 15:17:43 +08:00
lewis_yan
6031375607
feat(dashboard): add quote_timely_rate and status fields to store types
2026-04-03 13:34:44 +08:00
lewis_yan
09e4838c66
chore(deps): update pnpm-lock.yaml for husky and lint-staged
2026-04-03 13:34:42 +08:00
nebula_chen
af9406db3a
Merge branch 'develop' into 'develop'
...
# Conflicts:
# backend/apps/pisadmin/basicinfo/views/email_template.py
2026-04-03 02:23:36 +00:00
nebula_chen
3c50ad5d40
修改供应商用户信息表序列化器;修改操作日志写入逻辑;新增前端操作日志在询价单发布后显示供应商报价一览;调整报价单详情页成本结构前端设计
2026-04-03 10:20:32 +08:00
lewis_yan
720cf60d97
fix(dashboard): superadmin sees all supplier quotes, KPI及时的率, and UI polish
...
- Fix superadmin supplier dashboard: show all quotes instead of filtering by username
- Fix Count('id') -> Count('autoid') in trend queries
- Add quote_timely_rate, on_time_quotes, overdue_quotes to supplier KPI
- Add status field to supplier pending quotes
- Buyer chart now uses real trend data from backend
- Supplier quote list height matches buyer task list
- Remove KPI card top color bars
- Enlarge KPI card text (title: 18px, value: 52px) and center align
2026-04-03 09:43:28 +08:00
lewis_yan
16871c3333
feat(git): add husky + lint-staged for frontend
...
- Add .husky/pre-commit hook running lint-staged
- Add .lintstagedrc.json for staged file linting
- Add prepare script for husky setup on npm install
2026-04-03 09:22:24 +08:00
nebula_chen
67b6cae723
更新邮件模板;修改供应商用户信息模型定义;修改部分信息编辑模式下可修改信息代码的bug;调整比价前端效果
2026-04-02 20:12:32 +08:00
lewis_yan
5c8317f490
feat(dashboard): highlight task count in red on dashboard section titles
...
Show pending task count in parentheses with red highlight on both buyer
and supplier dashboard section headers for better visibility.
2026-04-02 19:18:25 +08:00
lewis_yan
2134f6573f
refactor(dashboard): unify buyer and supplier dashboards with right sidebar
...
- Replace notification card with home image and quick navigation
- Add welcome header text to both dashboards
- Fix dashboard API URL to use /api prefix consistently
- Adjust task table to flex-grow and fill available height
- Reduce quick nav icon and padding sizes
- Update responsive breakpoints
2026-04-02 18:31:42 +08:00
lewis_yan
65078bce29
feat(login): update page titles to distinguish buyer and supplier portals
...
- Change buyer login title to "采购询报价系统 - 采购端"
- Change supplier login title to "采购询报价系统 - 供应商端"
2026-04-02 17:34:32 +08:00
lewis_yan
279f7a052b
fix(pisadmin): remove duplicate /api prefix in dashboard API URL
...
VITE_API_URL in production already includes /api, so the hardcoded
/api in the URL was causing double /api/ path (api/api/...).
2026-04-02 14:31:09 +08:00
lewis_yan
4fe91758e4
chore: update favicon.ico
2026-04-02 13:55:27 +08:00
lewis_yan
eb7c97f807
chore(login): remove debug console.log statements from account.vue
2026-04-02 11:33:04 +08:00