txw/docs/superpowers/plans/2026-04-03-fwsc-pages-plan.md

311 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 碳信网服务中心页面开发实现计划
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 将6个PRD原型页面还原为Vue组件并抽取新版首页导航为公共组件。
**Architecture:**
- 新导航组件 `new-nav/index.vue``home2/index.vue` 抽取,复用原有 `nav/index.vue` 的登录状态和用户信息逻辑
- 6个页面组件放在 `views/fwsc/` 目录下
- 路由使用父子路由结构,`/fwsc` 为引导页下设4个子页面路由
**Tech Stack:** Vue2 + TDesign + less
---
## 文件变更总览
| 操作 | 文件路径 |
|------|---------|
| 创建 | `src/pages/index/components/new-nav/index.vue` |
| 创建 | `src/pages/index/views/fwsc/index.vue` |
| 创建 | `src/pages/index/views/fwsc/fwsc.vue` |
| 创建 | `src/pages/index/views/fwsc/xqsc.vue` |
| 创建 | `src/pages/index/views/fwsc/jrsc.vue` |
| 创建 | `src/pages/index/views/fwsc/sjsc.vue` |
| 创建 | `src/pages/index/views/fwsc/sjlbc.vue` |
| 修改 | `src/pages/index/router/routes.js` |
---
## Task 1: 创建 NewNav 导航组件
**文件:**
- 创建: `src/pages/index/components/new-nav/index.vue`
- [ ] **Step 1: 创建 new-nav 目录和组件文件**
`home2/index.vue``.nav-box` 抽取导航栏代码,新建 `src/pages/index/components/new-nav/index.vue`
关键功能点:
- Logo + 菜单栏(首页、碳证中心、服务中心[下拉]、共性能力、企业出海、行业专题)
- 服务中心下拉:碳服务市场、碳需求市场、碳金融市场、碳数据市场
- 右侧:工作台、登录/注册、用户头像下拉菜单
- 登录状态判断复用原有 nav 的 `sessionStorage.getItem('sfdl')` 逻辑
- 用户信息获取复用 `sessionStorage.getItem('yhxx')` 逻辑
- 工作台跳转 `/view/mhzc/yhzx`
- 登录跳转 `/view/mhzc/login`
- 用户下拉:用户中心、退出登录
下拉菜单使用 `position: absolute` + `z-index` 实现hover 显示。
---
## Task 2: 创建服务中心引导页
**文件:**
- 创建: `src/pages/index/views/fwsc/index.vue`
- [ ] **Step 1: 创建 views/fwsc 目录和 index.vue**
根据 `prd/介绍.html` 实现引导页:
- 顶部NewNav 导航栏
- Banner区大标题"可信碳服务中心",副标题"链接全球碳资产,赋能绿色价值链..."
- 四大服务入口卡片2x2 Grid
- 碳服务市场 → `/fwsc/fwsc`
- 碳需求市场 → `/fwsc/xqsc`
- 碳金融市场 → `/fwsc/jrsc`
- 碳数据市场 → `/fwsc/sjsc`
- 交易流程指引(注册认证 → 发布信息 → 在线撮合)
- 底部Footer
卡片样式白色背景、圆角、hover放大效果`transform: scale(1.02)`
配色:绿色主题 #009a29
---
## Task 3: 创建碳服务市场页面
**文件:**
- 创建: `src/pages/index/views/fwsc/fwsc.vue`
- [ ] **Step 1: 根据 prd/供需大厅.html 创建碳服务市场页面**
布局:
- NewNav + 当前位置"首页 / 服务中心"
- 左侧筛选栏220px宽sticky
- 右侧服务卡片列表2列Grid
左侧筛选栏:
- 服务类型全部、碳核查服务、碳足迹核算、碳减排技术服务、碳资产管理服务、ESG报告编制、碳交易咨询
- 服务企业(全部、欧冶云商、上海企源科技、上海零数科技、上海链坤数字科技)
- 关键词搜索输入框 + 搜索按钮
右侧卡片字段(根据原型):
- 标题:"本司提供碳相关服务寻找有需求的企业客户"
- 企业:"上海链坤数字科技有限公司 · 辽宁省"
- 标签ESG报告编制、碳减排技术服务
- 价格:"¥ 10,000.00 /次"(橙色强调色 #D25F00
- 描述:"我们为参与碳市场的企业提供全方位的交易策略与风险管理咨询..."
- 按钮:联系服务商(主按钮)、收藏(次按钮)
卡片底部有分隔线。使用 `t-button` 组件。
---
## Task 4: 创建碳需求市场页面
**文件:**
- 创建: `src/pages/index/views/fwsc/xqsc.vue`
- [ ] **Step 1: 根据 prd/需求.html 创建碳需求市场页面**
布局与碳服务市场基本一致,筛选栏相同。
右侧卡片字段:
- 标题:"碳核查服务需求" 或 "【碳服务需求!急急急!】"
- 企业:"上海链坤数字科技有限公司"
- 标签ESG报告编制、碳减排技术服务
- 预算:"¥ 50-100 万元"(橙色 #D25F00
- 描述
- 有效期至2026-04-24
- 按钮:联系服务
注意:部分卡片标题带有"急"字标记,用不同颜色或样式突出。
---
## Task 5: 创建碳金融市场页面
**文件:**
- 创建: `src/pages/index/views/fwsc/jrsc.vue`
- [ ] **Step 1: 根据 prd/金融.html 创建碳金融市场页面**
左侧筛选栏:
- 服务类型(全部、绿色信贷、绿色保险)
- 服务企业(全部、中国银行、工商银行、农业银行、建设银行、招商银行、中信银行、北京银行、兴业银行、邮政储蓄银行)
右侧金融产品卡片2列Grid
- 机构名称 + Logo
- 产品名称(如"云南昭通信贷业务"
- 额度:"¥ 50,000.00"
- 期限:"1-3年"
- 利率:"3.6%~4.2%"(绿色 #00B42A
- 产品标签(如"绿色项目贷款"
- 按钮:立即申请(主)、查看详情(次)
---
## Task 6: 创建碳数据市场页面
**文件:**
- 创建: `src/pages/index/views/fwsc/sjsc.vue`
- [ ] **Step 1: 根据 prd/数据.html 创建碳数据市场页面**
左侧筛选栏:
- 数据类型(全部、公共数据、因子库、社会性数据)
右侧数据库卡片2列Grid
- 数据库名称:"宝山绿色低碳数据创新实验室"、"HiQLCD数据库"、"天工数据库"、"ecoinvent数据库"
- 描述
- 标签:公共数据/社会性数据/商业数据、免费/付费
- 按钮:查看数据库
---
## Task 7: 创建数据列表页面
**文件:**
- 创建: `src/pages/index/views/fwsc/sjlbc.vue`
- [ ] **Step 1: 根据 prd/数据列表.html 创建数据列表页面**
左侧筛选栏:
- 价格区间(最低 - 最高)
- 有效期(日期选择器)
右侧数据列表(表格形式):
- 列:数据类型、名称、发布时间/更新时间、数据条数、浏览量、下载量
- 数据示例:
- 全球多源高分辨温室气体及大气污染物排放清单 / 社会性数据 / 45,000条 / 475次浏览 / 18次下载
- 国家温室气体排放因子数据库 / 公共数据 / ...
- 碳排放数据库 / ...
列表顶部有排序图标(三角形)和浏览量/下载量指示。
---
## Task 8: 配置路由
**文件:**
- 修改: `src/pages/index/router/routes.js`
- [ ] **Step 1: 添加6个路由**
在 routes.js 顶部添加 lazy-load 导入函数:
```javascript
function fwscIndex() {
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/index.vue');
}
function fwscFwsc() {
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/fwsc.vue');
}
function fwscXqsc() {
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/xqsc.vue');
}
function fwscJrsc() {
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/jrsc.vue');
}
function fwscSjsc() {
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/sjsc.vue');
}
function fwscSjlbc() {
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/sjlbc.vue');
}
```
在 routes 数组末尾添加:
```javascript
{
name: 'fwsc',
path: '/fwsc',
component: fwscIndex,
meta: {
title: '服务中心',
isShowSideBar: false,
hasHome: true,
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '/fwsc' }],
disableBack: true,
},
},
{
name: 'fwsc-fwsc',
path: '/fwsc/fwsc',
component: fwscFwsc,
meta: {
title: '碳服务市场',
isShowSideBar: false,
hasHome: true,
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '/fwsc' }, { title: '碳服务市场', to: '/fwsc/fwsc' }],
disableBack: true,
},
},
{
name: 'fwsc-xqsc',
path: '/fwsc/xqsc',
component: fwscXqsc,
meta: {
title: '碳需求市场',
isShowSideBar: false,
hasHome: true,
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '/fwsc' }, { title: '碳需求市场', to: '/fwsc/xqsc' }],
disableBack: true,
},
},
{
name: 'fwsc-jrsc',
path: '/fwsc/jrsc',
component: fwscJrsc,
meta: {
title: '碳金融市场',
isShowSideBar: false,
hasHome: true,
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '/fwsc' }, { title: '碳金融市场', to: '/fwsc/jrsc' }],
disableBack: true,
},
},
{
name: 'fwsc-sjsc',
path: '/fwsc/sjsc',
component: fwscSjsc,
meta: {
title: '碳数据市场',
isShowSideBar: false,
hasHome: true,
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '/fwsc' }, { title: '碳数据市场', to: '/fwsc/sjsc' }],
disableBack: true,
},
},
{
name: 'fwsc-sjlbc',
path: '/fwsc/sjlbc',
component: fwscSjlbc,
meta: {
title: '数据列表',
isShowSideBar: false,
hasHome: true,
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '/fwsc' }, { title: '碳数据市场', to: '/fwsc/sjsc' }, { title: '数据列表', to: '/fwsc/sjlbc' }],
disableBack: true,
},
}
```
---
## 依赖关系
```
Task 1 (NewNav) ← 无依赖,可最先完成
Task 2 (fwsc引导页) ← 依赖 Task 1
Task 3 (fwsc) ← 依赖 Task 1
Task 4 (xqsc) ← 依赖 Task 1
Task 5 (jrsc) ← 依赖 Task 1
Task 6 (sjsc) ← 依赖 Task 1
Task 7 (sjlbc) ← 依赖 Task 1
Task 8 (路由) ← 依赖 Task 2-7
```
**建议执行顺序:** Task 1 → Task 2-7 并行 → Task 8