Commit Graph
61 Commits
Author SHA1 Message Date
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
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 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
lewis_yan 6031375607 feat(dashboard): add quote_timely_rate and status fields to store types 2026-04-03 13:34:44 +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
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 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
allen_xiong ceaa3bdc1f Merge branch 'develop' into 'develop'
Develop

See merge request pisteams/pis!36
2026-04-02 02:07:05 +00:00
lewis_yan f54d7b85a3 fix(login): allow /login/supplier route to be accessed without token 2026-04-02 10:01:03 +08:00
lewis_yan e05ad38dc1 feat(login): use supplier-specific background image for supplier login page 2026-04-02 09:59:13 +08:00
lewis_yan 36065c33d4 feat(login): add clear '采购方登录' title to buyer login page 2026-04-02 09:57:53 +08:00
lewis_yan 0b27dd143e feat(login): add supplier login page component
- Create supplier.vue with green theme to distinguish from buyer portal
- Modify account.vue to dynamically select login API based on URL
2026-04-02 09:54:14 +08:00
lewis_yan 5ab5cca95e feat(login): add /login/supplier route for supplier portal 2026-04-02 09:51:53 +08:00
lewis_yan bd58c714ea feat(login): add supplierLogin API method for supplier portal 2026-04-02 09:51:24 +08:00
lewis_yan 2efd971449 chore: remove version upgrade log from user dropdown menu 2026-04-02 09:32:16 +08:00
lewis_yan 4582dd5ef4 Merge branch 'develop' of http://192.168.80.90:8086/pisteams/pis into develop 2026-04-02 09:22:18 +08:00
lewis_yan 27b98bc73f feat(dashboard): complete buyer/supplier dashboard redesign
Backend:
- Fix JWT auth header format (use "JWT " prefix)
- Fix DashboardView to return data for superadmin users
- Return empty structure when no business data exists
- Use serializers for response validation

Frontend:
- Redesign BuyerDashboard with new UI matching design spec
- Redesign SupplierDashboard with consistent styling
- Add role switcher for users with both buyer/supplier roles
- Fix FontAwesome icon class names (fa vs fas)
- Update tagsView title when switching roles via mitt event
- Add i18n translations for dashboard

Auth fixes:
- Fix token storage to use sessionStorage instead of Cookies
- Add route initialization guard to prevent duplicate routing
- Fix login flow for token handling

Files:
- Add BuyerDashboard, SupplierDashboard, KpiCard, TrendChart components
- Add dashboard API and Pinia store
- Add mitt event type for tagsView name update
2026-04-02 09:20:12 +08:00
nebula_chen 92c4f5d524 调整部分前端效果;增加报价单逾期写入履历表 2026-04-01 19:35:54 +08:00
lewis_yan c55263f742 feat(dashboard): add dashboard route 2026-04-01 19:11:03 +08:00
lewis_yan 5106cfcdaa feat(dashboard): add buyer/supplier dashboard pages 2026-04-01 19:10:31 +08:00
lewis_yan 15d06266b7 feat(dashboard): add dashboard Vue components 2026-04-01 19:09:24 +08:00
lewis_yan c4a754753e feat(dashboard): add dashboard API and Pinia store 2026-04-01 19:08:27 +08:00
nebula_chen 0a1d5e29fb 新增邮件类型;调整部分前端效果
询价单详情页仅查看模式显示“询价单操作日志”;修改受邀供应商均报价提醒采购人员邮件文案;新增超过报价截止时间提醒采购人员邮件模板及调用
2026-04-01 17:18:59 +08:00
nebula_chen c3ecfbfd56 实现询价操作日志查询接口;实现前端页面“询价操作日志查询” 2026-04-01 14:47:31 +08:00
nebula_chen 0424a3e3f4 补充询价操作履历表更新逻辑;修复前端bug--报价单仅拉起10条数据;杂采报价相应表结构名更新前缀pis_misc_ 2026-04-01 11:02:35 +08:00
nebula_chen fb308ca691 报价单详情窗口、询价单详情窗口、比价窗口转为对应路由页面; 2026-03-31 19:37:45 +08:00
nebula_chen 2fd8788e5f 重写制程最低价计算与取值逻辑;调整部分前端逻辑 2026-03-30 17:40:53 +08:00
nebula_chen e41983eb5a 调整比议价程式相关前端效果;修改制程最低价记录后端逻辑 2026-03-30 12:34:00 +08:00
nebula_chen 0f0d40588d 修复测试发现的问题;调整部分ui效果 2026-03-27 19:15:44 +08:00
nebula_chen e7ad616152 新增 - 报价截止时间校验逻辑;报价单流转到”已过期“状态逻辑;完善询价单流转到”报价结束“状态逻辑 2026-03-27 19:12:14 +08:00