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

9.6 KiB
Raw Permalink Blame History

碳信网服务中心页面开发实现计划

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.vuehome2/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 导入函数:

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 数组末尾添加:

{
  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