Commit Graph
102 Commits
Author SHA1 Message Date
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 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
lewis_yan 98563d279e Merge branch 'develop' of http://192.168.80.90:8086/pisteams/pis into develop 2026-04-02 10:32:15 +08:00
lewis_yan 8a4498feaf fix: set layout logo title to 'PIS' 2026-04-02 10:24:49 +08:00
lewis_yan f35ab7dbf9 feat: set menu bar title to 'PIS', login pages use full name 2026-04-02 10:22:48 +08:00
lewis_yan 8d0c9b0607 revert: restore full title on login pages, menu bar will use separate PIS setting 2026-04-02 10:22:24 +08:00
lewis_yan 449151df3c fix: hardcode 'PIS' as site title in login pages 2026-04-02 10:21:31 +08:00
lewis_yan 7bb0d406bd feat(login): update site brand title to 'Procurement Inquiry System' 2026-04-02 10:15:44 +08:00
lewis_yan 6b8d31e4a3 fix: add lodash import to supplier.vue 2026-04-02 10:14:30 +08:00