feat: 新增数据市场模块前后端接口、调整工作台相关样式

This commit is contained in:
liulujian 2026-04-30 01:20:44 +08:00
parent f8ff99786d
commit baf775acbd
36 changed files with 1922 additions and 441 deletions

View File

View File

@ -0,0 +1,49 @@
| 序号 | 解决方案 | 合作伙伴 | 服务内容 |
|------|----------|----------|----------|
| 1 | 绿色企业认定 | 联合征信 | 提供企业绿色属性全面评估与认证服务,通过多维度指标核查企业碳排放表现、环境管理水平和可持续发展能力,颁发权威绿色企业资质证书,适用于绿色信贷、招投标等商业场景 |
| 2 | 绿色项目认定 | 联合征信 | 对项目的碳减排效果进行量化评估与认证,核验项目方法学适用性,核算实际产生的碳资产价值,出具符合国内外标准的绿色项目认定报告,支撑项目融资与碳资产开发 |
| 3 | 中小企业环境信息披露 | 联合征信 | 协助企业完成环境信息合规披露涵盖碳排放数据核算、ESG信息编制及监管上报满足上市公司和出口企业的碳信息披露要求提升企业ESG评级与市场竞争力 |
| 4 | 碳资产管理平台解决方案 | 零数科技 | 提供碳资产全生命周期数字化管理服务支持碳排放权配额登记、国际碳信用CCER等管理、交易撮合、结算清缴等功能助力企业实现碳资产保值增值 |
| 5 | 碳交易最优策略模拟平台解决方案 | 零数科技 | 基于大数据与AI算法构建碳交易策略模型模拟不同市场情景下的交易收益辅助企业制定碳资产配置方案优化买入卖出时机降低履约成本并提升碳资产收益 |
| 6 | CCER 碳资产开发平台解决方案 | 零数科技 | 辅助企业开发核证自愿减排量CCER项目覆盖减排方法学选择、项目设计、第三方审定、减排量核查及国家发改委签发全流程提供项目全周期管理与价值评估 |
| 7 | CBAM 辅助核算系统 | 欧冶云商 | 依据欧盟碳边境调节机制CBAM法规要求为出口企业提供商品隐含碳排放量核算服务支持钢铁、铝、水泥等六大行业的数据填报生成符合欧盟要求的合规报告 |
| 8 | 钢铁全产业链 EPD 平台 | 欧冶云商 | 提供钢铁产品环境产品声明EPD全流程服务包括产品碳足迹计算、生命周期评估LCA、第三方独立审核及国际EPD注册帮助企业获取绿色贸易通行证 |
| 9 | OYLCA 工具 | 欧冶云商 | 提供专业的生命周期碳足迹LCA评估工具支持企业快速建立产品碳核算模型引用权威排放因子数据库自动生成符合ISO 14040/14044标准的碳足迹报告 |
| 10 | 建筑节能降碳服务解决方案 | 时链科技 | 提供建筑全生命周期节能降碳服务,涵盖能耗诊断审计、机电系统节能改造、可再生能源应用、智慧楼宇管控及碳减排量核算,实现建筑近零碳运行 |
| 11 | 基于医院建筑运行特征智能化碳评价 | 上海建工四建 | 针对医院建筑能耗特性进行深度数据分析,建立医疗行业专属碳排放核算模型,输出智能化碳评价报告,为医院制定科学的碳减排路径与节能改造方案 |
| 12 | 能碳智慧管家解决方案 | 上海电气 | 提供综合能源管理与碳排放监测一体化平台,实时采集企业用能数据,智能分析碳排放结构,自动生成碳排放报告,并提供优化建议支撑企业碳减排决策 |
| 13 | ISO 14064-1 温室气体核查认证解决方案 | TUV 北德 | 提供组织层面温室气体排放核查认证服务指导企业建立碳排放清单通过第三方独立核查出具国际认可的ISO 14064-1核查报告证书全球通用 |
| 14 | ISO 14067 产品碳足迹核查认证解决方案 | TUV 北德 | 依据ISO 14067标准提供产品碳足迹核查认证服务覆盖产品全生命周期碳排放量化、数据质量评估与第三方验证帮助企业获得产品碳足迹认证并获取绿色产品标识 |
| 15 | ISO 14068-1 碳中和核查认证解决方案 | TUV 北德 | 核查组织或产品的碳中和路径规划与抵消方案评估碳抵消项目的真实性与有效性出具符合ISO 14068-1标准的碳中和认证证书提升企业绿色品牌公信力 |
| 16 | ISO 14064 盘查 & 核查服务流程 | 必维认证 | 提供温室气体排放量盘查及第三方核查服务全流程指导,帮助企业建立碳排放核算体系,完成数据收集、排放量计算及第三方核查认证,确保符合国内外碳披露要求 |
| 17 | ISO 14067 产品碳足迹服务流程 | 必维认证 | 按照ISO 14067标准提供产品碳足迹核算与认证全流程服务覆盖碳足迹建模、数据收集、排放计算及第三方验证帮助企业量化产品碳排放并获取国际认可的碳标签 |
| 18 | ISO 14068 碳中和服务流程 | 必维认证 | 提供碳中和认证全流程服务,包括碳足迹盘查、碳抵消方案设计、碳信用购买指导及碳中和声明验证,协助企业实现碳中和目标并获得权威认证 |
| 19 | PAS 2080 碳管理体系服务流程 | 必维认证 | 提供碳管理体系建设咨询与认证服务依据PAS 2080标准帮助企业建立碳管理治理架构制定碳减排目标与路径推动供应链协同降碳提升整体碳效率 |
| 20 | CBAM 填报 & 核验服务流程 | 必维认证 | 提供欧盟碳边境调节机制CBAM合规服务全流程辅助完成数据收集、隐含碳计算、季度报告填报及年度第三方核验确保对欧出口企业符合CBAM法规要求 |
| 21 | HiQLCD 数据库 + HiQEditor | 易碳数科 | 提供权威碳排放因子数据库及可视化编辑工具支持企业快速建立产品碳足迹核算模型内置行业标准排放因子库自动生成符合国内国际标准的碳足迹报告与EPD文档 |
| 22 | 积木 LCA 云 | 易碳数科 | 基于SaaS模式的生命周期评估LCA云平台提供模块化碳核算工具与可视化看板支持产品碳足迹、企业碳足迹、项目碳减排量等多场景LCA分析数据可追溯可共享 |
| 23 | 积木碳云 | 易碳数科 | 提供企业碳管理一站式云服务,涵盖碳排放监测与管理、减排项目管理、碳资产对接、碳普惠积分等功能,支持与碳交易所对接,助力企业实现碳数字化管理 |
| 24 | 碳边境调节机制计算工具 CBAM TOOL | 易碳数科 | 依据欧盟CBAM法规提供在线碳排放计算工具支持多行业多产品隐含碳排放量自动核算一键生成符合欧盟格式要求的CBAM填报报表与合规证明文件 |
| 25 | 零碳园区解决方案 | AMT 企源 | 提供零碳园区顶层规划与实施全流程解决方案,涵盖碳排放盘查、零碳路径规划、智慧能源系统建设、碳中和实施路径设计及第三方认证,打造近零碳示范园区 |
| 26 | 基于区块链技术的组织碳管理平台 | AMT 企源 | 利用区块链去中心化、不可篡改的特性建立可信碳管理账本,实现组织碳排放数据的链上存证、可信溯源与跨机构共享,杜绝数据造假,提升碳数据公信力 |
| 27 | 可持续供应链溯源解决方案 | AMT 企源 | 基于区块链技术构建绿色供应链追溯体系,追踪上游原材料碳足迹与环保属性,确保供应链碳排放数据透明可信,帮助企业满足欧盟碳边境调节机制对供应链的要求 |
| 28 | 基于区块链技术的能碳双控解决方案 | AMT 企源 | 融合能源管理与碳排放监测两大系统,利用区块链技术实现能耗与碳排放数据的可信关联与协同管控,支持绿电溯源、碳排放计量及碳资产确权 |
| 29 | 区块链驱动的全生命周期碳足迹溯源 | AMT 企源 | 通过区块链技术记录产品从原材料、生产、运输到使用、废弃的全生命周期碳数据,实现碳足迹的的可信溯源、防篡改验证与多方共识,服务于绿色贸易与品牌建设 |
| 30 | 绿色产品生态设计平台 | AMT 企源 | 提供绿色产品生态设计数字化工具,辅助企业在产品研发阶段融入低碳理念,进行材料选型、工艺优化、碳影响评估,推动产品全生命周期绿色化 |
| 31 | ESG 综合服务平台 | AMT 企源 | 提供ESG评级提升、ESG报告编制、信息披露指导、ESG管理培训等一站式服务帮助企业系统性提升ESG表现满足资本市场与监管机构的可持续发展信息披露要求 |
| 32 | CBAM 申报平台 | AMT 企源 | 提供CBAM数据智能采集、报表自动生成、在线申报及进度追踪等一站式服务支持与欧盟CBAM系统对接确保数据准确完整降低企业合规申报成本与风险 |
| 33 | 可再生能源溯源解决方案(源侧) | 中国电气装备 | 提供可再生能源发电碳减排量核算与绿证溯源服务,利用区块链技术追踪绿色电力从发电到消纳的全生命周期,支撑企业实现绿电消费与碳减排目标 |
| 34 | 智能微电网自洽系统解决方案(网侧) | 中国电气装备 | 提供智能微电网能量管理系统解决方案,实现分布式光伏、储能、充电桩等资源的协调优化控制,提升新能源消纳率,降低电网碳排放强度 |
| 35 | 零碳园区解决方案(荷侧) | 中国电气装备 | 提供园区负荷侧综合能源管理与碳排放监测服务,涵盖智慧照明、空调群控、能耗优化及碳排放计量,通过需求侧响应实现园区碳排放精细化管理 |
| 36 | 电化学储能解决方案(储侧) | 中国电气装备 | 提供电化学储能系统集成与运维服务,通过峰谷套利、需求响应、调频辅助服务等模式优化电力碳排放结构,支撑企业降低碳排放强度与用能成本 |
| 37 | 碳数据库解决方案(装备侧) | 中国电气装备 | 提供能源装备碳排放数据库建设与运维服务,建立设备级碳排放计量标准与数据集,为企业碳排放精细化管理提供数据支撑,服务于企业碳资产核算与碳交易 |
| 38 | 虚拟电厂场景解决方案(调控侧) | 中国电气装备 | 提供虚拟电厂运营管理平台,聚合分布式可再生能源、储能、可控负荷等资源,参与电力辅助服务和碳减排权交易,实现多能互补与碳排放优化协同调控 |
----
```sql
```

View File

@ -0,0 +1,151 @@
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '绿色企业认定', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '联合征信', NULL, NULL, NULL, '提供企业绿色属性全面评估与认证服务,通过多维度指标核查企业碳排放表现、环境管理水平和可持续发展能力,颁发权威绿色企业资质证书,适用于绿色信贷、招投标等商业场景', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '绿色项目认定', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '联合征信', NULL, NULL, NULL, '对项目的碳减排效果进行量化评估与认证,核验项目方法学适用性,核算实际产生的碳资产价值,出具符合国内外标准的绿色项目认定报告,支撑项目融资与碳资产开发', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '中小企业环境信息披露', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '联合征信', NULL, NULL, NULL, '协助企业完成环境信息合规披露涵盖碳排放数据核算、ESG信息编制及监管上报满足上市公司和出口企业的碳信息披露要求提升企业ESG评级与市场竞争力', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '碳资产管理平台解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '零数科技', NULL, NULL, NULL, '提供碳资产全生命周期数字化管理服务支持碳排放权配额登记、国际碳信用CCER等管理、交易撮合、结算清缴等功能助力企业实现碳资产保值增值', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '碳交易最优策略模拟平台解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '零数科技', NULL, NULL, NULL, '基于大数据与AI算法构建碳交易策略模型模拟不同市场情景下的交易收益辅助企业制定碳资产配置方案优化买入卖出时机降低履约成本并提升碳资产收益', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'CCER 碳资产开发平台解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '零数科技', NULL, NULL, NULL, '辅助企业开发核证自愿减排量CCER项目覆盖减排方法学选择、项目设计、第三方审定、减排量核查及国家发改委签发全流程提供项目全周期管理与价值评估', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'CBAM 辅助核算系统', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '欧冶云商', NULL, NULL, NULL, '依据欧盟碳边境调节机制CBAM法规要求为出口企业提供商品隐含碳排放量核算服务支持钢铁、铝、水泥等六大行业的数据填报生成符合欧盟要求的合规报告', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '钢铁全产业链 EPD 平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '欧冶云商', NULL, NULL, NULL, '提供钢铁产品环境产品声明EPD全流程服务包括产品碳足迹计算、生命周期评估LCA、第三方独立审核及国际EPD注册帮助企业获取绿色贸易通行证', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'OYLCA 工具', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '欧冶云商', NULL, NULL, NULL, '提供专业的生命周期碳足迹LCA评估工具支持企业快速建立产品碳核算模型引用权威排放因子数据库自动生成符合ISO 14040/14044标准的碳足迹报告', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '建筑节能降碳服务解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '时链科技', NULL, NULL, NULL, '提供建筑全生命周期节能降碳服务,涵盖能耗诊断审计、机电系统节能改造、可再生能源应用、智慧楼宇管控及碳减排量核算,实现建筑近零碳运行', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '基于医院建筑运行特征智能化碳评价', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '上海建工四建', NULL, NULL, NULL, '针对医院建筑能耗特性进行深度数据分析,建立医疗行业专属碳排放核算模型,输出智能化碳评价报告,为医院制定科学的碳减排路径与节能改造方案', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '能碳智慧管家解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '上海电气', NULL, NULL, NULL, '提供综合能源管理与碳排放监测一体化平台,实时采集企业用能数据,智能分析碳排放结构,自动生成碳排放报告,并提供优化建议支撑企业碳减排决策', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14064-1 温室气体核查认证解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'TUV 北德', NULL, NULL, NULL, '提供组织层面温室气体排放核查认证服务指导企业建立碳排放清单通过第三方独立核查出具国际认可的ISO 14064-1核查报告证书全球通用', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14067 产品碳足迹核查认证解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'TUV 北德', NULL, NULL, NULL, '依据ISO 14067标准提供产品碳足迹核查认证服务覆盖产品全生命周期碳排放量化、数据质量评估与第三方验证帮助企业获得产品碳足迹认证并获取绿色产品标识', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14068-1 碳中和核查认证解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'TUV 北德', NULL, NULL, NULL, '核查组织或产品的碳中和路径规划与抵消方案评估碳抵消项目的真实性与有效性出具符合ISO 14068-1标准的碳中和认证证书提升企业绿色品牌公信力', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14064 盘查 & 核查服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供温室气体排放量盘查及第三方核查服务全流程指导,帮助企业建立碳排放核算体系,完成数据收集、排放量计算及第三方核查认证,确保符合国内外碳披露要求', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14067 产品碳足迹服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '按照ISO 14067标准提供产品碳足迹核算与认证全流程服务覆盖碳足迹建模、数据收集、排放计算及第三方验证帮助企业量化产品碳排放并获取国际认可的碳标签', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14068 碳中和服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供碳中和认证全流程服务,包括碳足迹盘查、碳抵消方案设计、碳信用购买指导及碳中和声明验证,协助企业实现碳中和目标并获得权威认证', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'PAS 2080 碳管理体系服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供碳管理体系建设咨询与认证服务依据PAS 2080标准帮助企业建立碳管理治理架构制定碳减排目标与路径推动供应链协同降碳提升整体碳效率', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'CBAM 填报 & 核验服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供欧盟碳边境调节机制CBAM合规服务全流程辅助完成数据收集、隐含碳计算、季度报告填报及年度第三方核验确保对欧出口企业符合CBAM法规要求', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'HiQLCD 数据库 + HiQEditor', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '提供权威碳排放因子数据库及可视化编辑工具支持企业快速建立产品碳足迹核算模型内置行业标准排放因子库自动生成符合国内国际标准的碳足迹报告与EPD文档', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '积木 LCA 云', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '基于SaaS模式的生命周期评估LCA云平台提供模块化碳核算工具与可视化看板支持产品碳足迹、企业碳足迹、项目碳减排量等多场景LCA分析数据可追溯可共享', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '积木碳云', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '提供企业碳管理一站式云服务,涵盖碳排放监测与管理、减排项目管理、碳资产对接、碳普惠积分等功能,支持与碳交易所对接,助力企业实现碳数字化管理', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '碳边境调节机制计算工具 CBAM TOOL', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '依据欧盟CBAM法规提供在线碳排放计算工具支持多行业多产品隐含碳排放量自动核算一键生成符合欧盟格式要求的CBAM填报报表与合规证明文件', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '零碳园区解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供零碳园区顶层规划与实施全流程解决方案,涵盖碳排放盘查、零碳路径规划、智慧能源系统建设、碳中和实施路径设计及第三方认证,打造近零碳示范园区', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '基于区块链技术的组织碳管理平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '利用区块链去中心化、不可篡改的特性建立可信碳管理账本,实现组织碳排放数据的链上存证、可信溯源与跨机构共享,杜绝数据造假,提升碳数据公信力', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '可持续供应链溯源解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '基于区块链技术构建绿色供应链追溯体系,追踪上游原材料碳足迹与环保属性,确保供应链碳排放数据透明可信,帮助企业满足欧盟碳边境调节机制对供应链的要求', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '基于区块链技术的能碳双控解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '融合能源管理与碳排放监测两大系统,利用区块链技术实现能耗与碳排放数据的可信关联与协同管控,支持绿电溯源、碳排放计量及碳资产确权', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '区块链驱动的全生命周期碳足迹溯源', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '通过区块链技术记录产品从原材料、生产、运输到使用、废弃的全生命周期碳数据,实现碳足迹的的可信溯源、防篡改验证与多方共识,服务于绿色贸易与品牌建设', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '绿色产品生态设计平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供绿色产品生态设计数字化工具,辅助企业在产品研发阶段融入低碳理念,进行材料选型、工艺优化、碳影响评估,推动产品全生命周期绿色化', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'ESG 综合服务平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供ESG评级提升、ESG报告编制、信息披露指导、ESG管理培训等一站式服务帮助企业系统性提升ESG表现满足资本市场与监管机构的可持续发展信息披露要求', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), 'CBAM 申报平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供CBAM数据智能采集、报表自动生成、在线申报及进度追踪等一站式服务支持与欧盟CBAM系统对接确保数据准确完整降低企业合规申报成本与风险', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '可再生能源溯源解决方案(源侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供可再生能源发电碳减排量核算与绿证溯源服务,利用区块链技术追踪绿色电力从发电到消纳的全生命周期,支撑企业实现绿电消费与碳减排目标', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '智能微电网自洽系统解决方案(网侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供智能微电网能量管理系统解决方案,实现分布式光伏、储能、充电桩等资源的协调优化控制,提升新能源消纳率,降低电网碳排放强度', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '零碳园区解决方案(荷侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供园区负荷侧综合能源管理与碳排放监测服务,涵盖智慧照明、空调群控、能耗优化及碳排放计量,通过需求侧响应实现园区碳排放精细化管理', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '电化学储能解决方案(储侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供电化学储能系统集成与运维服务,通过峰谷套利、需求响应、调频辅助服务等模式优化电力碳排放结构,支撑企业降低碳排放强度与用能成本', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '碳数据库解决方案(装备侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供能源装备碳排放数据库建设与运维服务,建立设备级碳排放计量标准与数据集,为企业碳排放精细化管理提供数据支撑,服务于企业碳资产核算与碳交易', NULL);
INSERT INTO txw_mhzc.txw_gxzx_gxxxb
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
VALUES(REPLACE(UUID(), '-', ''), '虚拟电厂场景解决方案(调控侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供虚拟电厂运营管理平台,聚合分布式可再生能源、储能、可控负荷等资源,参与电力辅助服务和碳减排权交易,实现多能互补与碳排放优化协同调控', NULL);

View File

@ -157,4 +157,55 @@ export default {
loading: true, loading: true,
}); });
}, },
///////////////////////////////////////////
// 数据市场相关
sjscList(params) {
return fetchSso({
url: `${basurl}/gxdt/sjscList`,
method: 'post',
loading: true,
data: JSON.stringify(params),
});
},
sjscListByYh(params) {
return fetchSso({
url: `${basurl}/gxdt/sjscListByYh`,
method: 'post',
loading: true,
data: JSON.stringify(params),
});
},
sjscfb(params) {
return fetchSso({
url: `${basurl}/gxdt/sjscfb`,
method: 'post',
loading: true,
data: JSON.stringify(params),
});
},
getSjsc(params) {
return fetchSso({
url: `${basurl}/gxdt/getSjsc`,
method: 'get',
loading: true,
params,
});
},
sjlbbList(params) {
return fetchSso({
url: `${basurl}/gxdt/sjlbbList`,
method: 'post',
loading: true,
data: JSON.stringify(params),
});
},
getSjlbb(params) {
return fetchSso({
url: `${basurl}/gxdt/getSjlbb`,
method: 'get',
loading: true,
params,
});
},
}; };

View File

@ -0,0 +1,13 @@
import { fetchSso } from '@/core/request';
const basurl = '/mhzc';
export default {
getStats() {
return fetchSso({
url: `${basurl}/gxdt/getStats`,
method: 'get',
loading: true,
});
},
};

View File

@ -2,12 +2,12 @@
<div class="fwsc-page"> <div class="fwsc-page">
<div class="main-content"> <div class="main-content">
<!-- 当前位置导航 --> <!-- 当前位置导航 -->
<div class="breadcrumb-box"> <!-- <div class="breadcrumb-box">
<span class="breadcrumb-text">当前位置</span> <span class="breadcrumb-text">当前位置</span>
<span class="breadcrumb-link" @click="goHome">首页</span> <span class="breadcrumb-link" @click="goHome">首页</span>
<span class="breadcrumb-separator">/</span> <span class="breadcrumb-separator">/</span>
<span class="breadcrumb-current">服务中心</span> <span class="breadcrumb-current">服务中心</span>
</div> </div> -->
<!-- Banner --> <!-- Banner -->
<div class="banner-section"> <div class="banner-section">

View File

@ -44,84 +44,63 @@
<!-- 右侧数据列表 --> <!-- 右侧数据列表 -->
<div class="data-list"> <div class="data-list">
<!-- 表头 --> <t-table
<div class="table-header"> :data="sortedDataList"
<div class="th th-type" @click="sortBy('type')"> :pagination="paginationConfig"
数据类型 row-key="uuid"
<span class="sort-icon"> hover
<span class="sort-up" :class="{ active: sortField === 'type' && sortOrder === 'asc' }"></span> :columns="tableColumns"
<span class="sort-down" :class="{ active: sortField === 'type' && sortOrder === 'desc' }"></span> @page-change="handlePageChange"
</span>
</div>
<div class="th th-name">名称</div>
<div class="th th-time" @click="sortBy('time')">
发布时间/更新时间
<span class="sort-icon">
<span class="sort-up" :class="{ active: sortField === 'time' && sortOrder === 'asc' }"></span>
<span class="sort-down" :class="{ active: sortField === 'time' && sortOrder === 'desc' }"></span>
</span>
</div>
<div class="th th-count" @click="sortBy('count')">
数据条数
<span class="sort-icon">
<span class="sort-up" :class="{ active: sortField === 'count' && sortOrder === 'asc' }"></span>
<span class="sort-down" :class="{ active: sortField === 'count' && sortOrder === 'desc' }"></span>
</span>
</div>
<div class="th th-views" @click="sortBy('views')">
浏览量
<span class="sort-icon">
<span class="sort-up" :class="{ active: sortField === 'views' && sortOrder === 'asc' }"></span>
<span class="sort-down" :class="{ active: sortField === 'views' && sortOrder === 'desc' }"></span>
</span>
</div>
<div class="th th-downloads" @click="sortBy('downloads')">
下载量
<span class="sort-icon">
<span class="sort-up" :class="{ active: sortField === 'downloads' && sortOrder === 'asc' }"></span>
<span class="sort-down" :class="{ active: sortField === 'downloads' && sortOrder === 'desc' }"></span>
</span>
</div>
</div>
<!-- 表格数据 -->
<div class="table-body">
<div
v-for="(item, index) in sortedDataList"
:key="index"
class="table-row"
:class="{ 'row-even': index % 2 === 1 }"
> >
<div class="td td-type"> <template #td-type="{ row }">
<span class="type-tag" :class="item.type === '公共数据' ? 'tag-green' : 'tag-blue'"> <span class="type-tag" :class="row.type === '公共数据' ? 'tag-green' : 'tag-blue'">
{{ item.type }} {{ row.sjbt }}
</span> </span>
</div> </template>
<div class="td td-name" :title="item.name">{{ item.name }}</div> <template #td-name="{ row }">
<div class="td td-time"> <span :title="row.name">{{ row.name }}</span>
<div class="time-info"> </template>
<span>发布时间{{ item.publishTime }}</span> <template #td-time="{ row }">
<span v-if="item.updateTime">更新时间{{ item.updateTime }}</span> <span>{{ row.updateTime || row.publishTime }}</span>
</div> </template>
</div> <template #td-count="{ row }">
<div class="td td-count">{{ item.dataCount }}</div> <span>{{ row.dataCount === '0' ? '/' : row.dataCount + '条' }}</span>
<div class="td td-views">{{ item.views }}次浏览</div> </template>
<div class="td td-downloads">{{ item.downloads }}次下载</div> <template #td-desc="{ row }">
</div> <span>{{ row.sjms || '-' }}</span>
</div> </template>
<template #td-downloads="{ row }">
<t-button size="small" theme="primary" variant="outline" @click="showContactDialog(row)">获取联系方式</t-button>
</template>
</t-table>
</div> </div>
</div> </div>
<!-- 分页 --> <!-- 联系方式弹窗 -->
<div class="pagination"> <t-dialog
<span class="page-btn">上一页</span> v-model:visible="contactDialogVisible"
<span class="page-btn active">1</span> header="联系方式"
<span class="page-btn">2</span> :footer="false"
<span class="page-btn">3</span> width="400px"
<span class="page-btn">4</span> >
<span class="page-btn">5</span> <div class="contact-dialog-content">
<span class="page-btn">下一页</span> <div v-if="currentContact" class="contact-info">
<div class="contact-item">
<span class="contact-label">联系人</span>
<span class="contact-value">{{ currentContact.lxr || '-' }}</span>
</div> </div>
<div class="contact-item">
<span class="contact-label">联系电话</span>
<span class="contact-value">{{ currentContact.lxdh || '-' }}</span>
</div>
<div class="contact-item">
<span class="contact-label">联系邮箱</span>
<span class="contact-value">{{ currentContact.lxyx || '-' }}</span>
</div>
</div>
<div v-else class="contact-empty">暂无联系方式</div>
</div>
</t-dialog>
<!-- 底部 --> <!-- 底部 -->
<Footer /> <Footer />
@ -132,6 +111,7 @@
import NewNav from '@/pages/index/components/new-nav/index.vue'; import NewNav from '@/pages/index/components/new-nav/index.vue';
import Footer from '@/pages/index/components/footer/index.vue'; import Footer from '@/pages/index/components/footer/index.vue';
import BreadcrumbNav from '@/pages/index/components/breadcrumb/index.vue'; import BreadcrumbNav from '@/pages/index/components/breadcrumb/index.vue';
import gxzxApi from '@/pages/index/api/gxzx/index.js';
export default { export default {
name: 'SjlbcPage', name: 'SjlbcPage',
@ -150,85 +130,76 @@ export default {
}, },
sortField: '', sortField: '',
sortOrder: '', sortOrder: '',
dataList: [ dataList: [],
{ pagination: {
name: '全球多源高分辨温室气体及大气污染物排放清单', pageNo: 1,
type: '社会性数据', pageSize: 10,
publishTime: '2026-03-30 10:00', total: 0
updateTime: '2026-03-30 10:00',
dataCount: '45,000',
views: '475',
downloads: '18',
}, },
{ sjscUuid: '',
name: '国家温室气体排放因子数据库',
type: '公共数据',
publishTime: '2026-03-30 10:00',
updateTime: '',
dataCount: '45,000',
views: '475',
downloads: '18',
},
{
name: '碳排放数据库',
type: '公共数据',
publishTime: '2026-03-30 10:00',
updateTime: '',
dataCount: '45,000',
views: '475',
downloads: '18',
},
{
name: '全球多源高分辨温室气体及大气污染物排放清单',
type: '社会性数据',
publishTime: '2026-03-30 10:00',
updateTime: '2026-03-30 10:00',
dataCount: '45,000',
views: '475',
downloads: '18',
},
{
name: '国家温室气体排放因子数据库',
type: '公共数据',
publishTime: '2026-03-30 10:00',
updateTime: '',
dataCount: '45,000',
views: '475',
downloads: '18',
},
{
name: '碳排放数据库',
type: '公共数据',
publishTime: '2026-03-30 10:00',
updateTime: '',
dataCount: '45,000',
views: '475',
downloads: '18',
},
{
name: '全球多源高分辨温室气体及大气污染物排放清单',
type: '社会性数据',
publishTime: '2026-03-30 10:00',
updateTime: '2026-03-30 10:00',
dataCount: '45,000',
views: '475',
downloads: '18',
},
{
name: '国家温室气体排放因子数据库',
type: '公共数据',
publishTime: '2026-03-30 10:00',
updateTime: '',
dataCount: '45,000',
views: '475',
downloads: '18',
},
],
// //
filterCollapsed: true, filterCollapsed: true,
//
contactDialogVisible: false,
currentContact: null,
//
tableColumns: [
{
width: '120px',
colKey: 'td-type',
title: '数据类型',
},
{
colKey: 'td-name',
title: '名称',
},
{
colKey: 'td-desc',
title: '描述',
ellipsis: true,
tooltip: { theme: 'light', attachTo: () => document.querySelector('.td-desc-cell') },
},
{
width: '180px',
colKey: 'td-time',
title: '更新时间',
},
{
width: '120px',
colKey: 'td-count',
title: '数据条数',
},
{
width: '120px',
colKey: 'td-downloads',
title: '联系方式',
},
],
paginationConfig: {
current: 1,
pageSize: 10,
total: 0,
showJumper: true,
},
}; };
}, },
mounted() {
this.sjscUuid = this.$route.query.id || '';
this.loadData();
},
computed: { computed: {
totalPages() {
return Math.ceil(this.pagination.total / this.pagination.pageSize) || 1;
},
visiblePages() {
const total = this.totalPages;
const current = this.pagination.pageNo;
const pages = [];
for (let i = Math.max(1, current - 2); i <= Math.min(total, current + 2); i++) {
pages.push(i);
}
return pages;
},
sortedDataList() { sortedDataList() {
if (!this.sortField) { if (!this.sortField) {
return this.dataList; return this.dataList;
@ -260,6 +231,38 @@ export default {
}, },
}, },
methods: { methods: {
loadData() {
const params = {
pageNo: this.pagination.pageNo,
pageSize: this.pagination.pageSize,
sjscUuid: this.sjscUuid,
priceMin: this.filterParams.priceMin ? parseFloat(this.filterParams.priceMin) : null,
priceMax: this.filterParams.priceMax ? parseFloat(this.filterParams.priceMax) : null,
validDate: this.filterParams.validDate || null
};
gxzxApi.sjlbbList(params).then(res => {
if (res && res.data && res.data.records) {
this.dataList = res.data.records.map(item => ({
uuid: item.uuid,
name: item.sjmc,
type: item.sjlxDm,
sjbt: item.sjbt,
sjms: item.sjms,
publishTime: item.lrrq ? this.formatDate(item.lrrq) : '',
updateTime: item.xgrq ? this.formatDate(item.xgrq) : '',
dataCount: item.sjsl ? item.sjsl.toLocaleString() : '0',
views: item.llcs || 0,
downloads: item.xzcs || 0,
jg: item.jg,
jgDw: item.jgDw
}));
this.pagination.total = res.data.total;
this.paginationConfig.total = res.data.total;
this.paginationConfig.current = this.pagination.pageNo;
this.paginationConfig.pageSize = this.pagination.pageSize;
}
});
},
sortBy(field) { sortBy(field) {
if (this.sortField === field) { if (this.sortField === field) {
this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc'; this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc';
@ -268,6 +271,28 @@ export default {
this.sortOrder = 'desc'; this.sortOrder = 'desc';
} }
}, },
formatDate(dateStr) {
if (!dateStr) return '';
const d = new Date(dateStr);
const year = d.getFullYear();
const month = String(d.getMonth() + 1).padStart(2, '0');
const day = String(d.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
},
showContactDialog(item) {
gxzxApi.getSjlbb({ uuid: item.uuid }).then(res => {
if (res && res.data) {
this.currentContact = {
lxr: res.data.lxr,
lxdh: res.data.lxdh,
lxyx: res.data.lxyx,
};
} else {
this.currentContact = null;
}
this.contactDialogVisible = true;
});
},
resetFilter() { resetFilter() {
this.filterParams = { this.filterParams = {
priceMin: '', priceMin: '',
@ -276,7 +301,13 @@ export default {
}; };
}, },
confirmFilter() { confirmFilter() {
// this.pagination.pageNo = 1;
this.loadData();
},
handlePageChange(pageInfo) {
this.pagination.pageNo = pageInfo.current;
this.pagination.pageSize = pageInfo.pageSize;
this.loadData();
}, },
}, },
}; };
@ -458,136 +489,37 @@ export default {
flex: 1; flex: 1;
} }
// //
.table-header { .contact-dialog-content {
display: flex; padding: 16px 0;
height: 48px;
background: #f5f5f5;
border-bottom: 1px solid #eee;
} }
.th { .contact-info {
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
padding: 0 12px;
font-size: 14px;
font-weight: 600;
color: #333;
cursor: pointer;
&:hover {
background: #eee;
}
}
.th-type {
width: 120px;
}
.th-name {
flex: 1;
justify-content: flex-start;
}
.th-time {
width: 180px;
}
.th-count {
width: 100px;
}
.th-views {
width: 100px;
}
.th-downloads {
width: 100px;
}
.sort-icon {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 1px; gap: 16px;
font-size: 8px;
color: #ccc;
.sort-up,
.sort-down {
&.active {
color: #009a29;
}
}
.sort-down {
transform: rotate(180deg);
}
} }
// .contact-item {
.table-body {
.table-row {
display: flex;
min-height: 72px;
border-bottom: 1px solid #eee;
&:hover {
background: #f9f9f9;
}
&.row-even {
background: #fafafa;
}
}
}
.td {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center;
padding: 0 12px; .contact-label {
font-size: 14px; width: 80px;
color: #666; color: #666;
} font-size: 14px;
}
.td-type { .contact-value {
width: 120px; color: #333;
} font-size: 14px;
.td-name {
flex: 1;
justify-content: flex-start;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.td-time {
width: 180px;
flex-direction: column;
justify-content: center;
gap: 4px;
.time-info {
display: flex;
flex-direction: column;
font-size: 12px;
color: #999;
} }
} }
.td-count { .contact-empty {
width: 100px; text-align: center;
} color: #999;
padding: 20px 0;
.td-views {
width: 100px;
}
.td-downloads {
width: 100px;
} }
// //
@ -607,39 +539,6 @@ export default {
} }
} }
//
.pagination {
display: flex;
justify-content: center;
align-items: center;
padding: 24px 0;
gap: 8px;
.page-btn {
height: 36px;
min-width: 40px;
padding: 0 12px;
line-height: 36px;
color: #666;
text-align: center;
cursor: pointer;
background: #fff;
border: 1px solid #ddd;
border-radius: 4px;
&:hover {
color: #009a29;
border-color: #009a29;
}
&.active {
color: #fff;
background: #009a29;
border-color: #009a29;
}
}
}
@media (max-width: 768px) { @media (max-width: 768px) {
.content-wrapper { .content-wrapper {
flex-direction: column; flex-direction: column;
@ -677,58 +576,5 @@ export default {
.data-list { .data-list {
overflow-x: auto; overflow-x: auto;
} }
.table-header {
min-width: 800px;
}
.table-body {
min-width: 800px;
}
.pagination {
padding: 16px 0;
flex-wrap: wrap;
}
}
@media (max-width: 480px) {
.content-wrapper {
padding: 8px;
gap: 8px;
}
.filter-box {
padding: 8px;
}
.filter-title {
margin-bottom: 8px;
font-size: 13px;
}
.filter-buttons .btn-reset,
.filter-buttons .btn-confirm {
height: 32px;
font-size: 13px;
}
.table-header {
min-width: 700px;
}
.table-body {
min-width: 700px;
}
.th {
padding: 0 8px;
font-size: 12px;
}
.td {
padding: 0 8px;
font-size: 12px;
}
} }
</style> </style>

View File

@ -88,6 +88,7 @@
import NewNav from '@/pages/index/components/new-nav/index.vue'; import NewNav from '@/pages/index/components/new-nav/index.vue';
import Footer from '@/pages/index/components/footer/index.vue'; import Footer from '@/pages/index/components/footer/index.vue';
import BreadcrumbNav from '@/pages/index/components/breadcrumb/index.vue'; import BreadcrumbNav from '@/pages/index/components/breadcrumb/index.vue';
import gxzxApi from '@/pages/index/api/gxzx/index.js';
export default { export default {
name: 'SjscPage', name: 'SjscPage',
@ -111,50 +112,12 @@ export default {
{ label: '因子库', value: 'factor' }, { label: '因子库', value: 'factor' },
{ label: '社会性数据', value: 'social' } { label: '社会性数据', value: 'social' }
], ],
cardList: [ cardList: [],
{ pagination: {
id: 2, pageNo: 1,
name: 'HiQLCD数据库', pageSize: 10,
description: '覆盖生命周期碳足迹评估所需的基础数据,支持多种排放因子查询与自定义导入。', total: 0
tags: ['商业数据'],
price: '付费'
}, },
{
id: 3,
name: '天工数据库',
description: '整合工业制造全流程能耗与排放因子,支持实时监测与历史数据追溯分析。',
tags: ['公益数据'],
price: '免费'
},
{
id: 4,
name: 'ecoinvent数据库',
description: '国际权威生命周期评价数据库收录全球超过18000种过程数据与排放因子。',
tags: ['商业数据'],
price: '付费'
},
{
id: 5,
name: 'ecoinvent数据库',
description: '国际权威生命周期评价数据库收录全球超过18000种过程数据与排放因子。',
tags: ['商业数据'],
price: '付费'
},
{
id: 6,
name: '天工数据库',
description: '整合工业制造全流程能耗与排放因子,支持实时监测与历史数据追溯分析。',
tags: ['公益数据'],
price: '免费'
},
{
id: 1,
name: '宝山绿色低碳数据创新实验室',
description: '聚焦区域低碳发展数据汇聚与分析,提供碳排放核算模型与可视化报告。',
tags: ['公共数据', '社会性数据'],
price: '免费'
},
],
// //
filterCollapsed: true, filterCollapsed: true,
}; };
@ -164,18 +127,39 @@ export default {
if (this.selectedType === 'all') { if (this.selectedType === 'all') {
return this.cardList; return this.cardList;
} }
const typeMap = { return this.cardList.filter(card => card.sjlxDm === this.selectedType);
'public': '公共数据',
'factor': '因子库',
'social': '社会性数据'
};
const targetTag = typeMap[this.selectedType];
return this.cardList.filter(card => card.tags.includes(targetTag));
} }
}, },
mounted() {
this.loadData();
},
methods: { methods: {
loadData() {
const params = {
pageNo: this.pagination.pageNo,
pageSize: this.pagination.pageSize,
sjlxDm: this.selectedType === 'all' ? '' : this.selectedType,
nr: ''
};
gxzxApi.sjscList(params).then(res => {
if (res && res.data && res.data.records) {
this.cardList = res.data.records.map(item => ({
id: item.uuid,
name: item.sjmc,
description: item.sjms,
tags: item.sjlxMc ? [item.sjlxMc] : [],
price: '免费',
llcs: item.llcs,
xzcs: item.xzcs
}));
this.pagination.total = res.data.total;
}
});
},
handleTypeChange(value) { handleTypeChange(value) {
this.selectedType = value; this.selectedType = value;
this.pagination.pageNo = 1;
this.loadData();
}, },
isActiveTab(path) { isActiveTab(path) {
return this.$route.path === path; return this.$route.path === path;
@ -184,7 +168,7 @@ export default {
this.$router.push(path); this.$router.push(path);
}, },
handlePublish() { handlePublish() {
// this.$router.push({ path: '/sjscfb' });
}, },
goToDataList(id) { goToDataList(id) {
this.$router.push({ path: '/tsjlbc', query: { id } }); this.$router.push({ path: '/tsjlbc', query: { id } });
@ -194,7 +178,8 @@ export default {
'公共数据': 'tag-green', '公共数据': 'tag-green',
'社会性数据': 'tag-blue', '社会性数据': 'tag-blue',
'商业数据': 'tag-gray', '商业数据': 'tag-gray',
'公益数据': 'tag-green' '公益数据': 'tag-green',
'因子库': 'tag-orange'
}; };
return classMap[tag] || 'tag-gray'; return classMap[tag] || 'tag-gray';
} }

View File

@ -98,12 +98,12 @@ export default {
icon: 'user', icon: 'user',
name: 'qyrenzheng', name: 'qyrenzheng',
}, },
{ // {
id: 'qyruzhu', // id: 'qyruzhu',
title: '企业入驻', // title: '',
icon: 'user', // icon: 'user',
name: 'qyruzhu', // name: 'qyruzhu',
}, // },
], ],
}, },
{ {
@ -114,13 +114,13 @@ export default {
children: [ children: [
{ {
id: 'tfwgj', id: 'tfwgj',
title: '碳服务供给', title: '碳服务管理',
icon: 'user', icon: 'user',
name: 'tfwgj', name: 'tfwgj',
}, },
{ {
id: 'tfwxq', id: 'tfwxq',
title: '碳服务需求', title: '碳需求管理',
icon: 'user', icon: 'user',
name: 'tfwxq', name: 'tfwxq',
}, },
@ -191,22 +191,50 @@ export default {
}, },
activated() { activated() {
console.log("glxtSy.vue,created==>", this.$route) console.log("glxtSy.vue,activated==>", this.$route)
// this.initView(); this.syncMenuWithRoute();
let cdId = this.cdList[0].id; },
const activeCompo = this.$route.query.activeCompo; watch: {
if (activeCompo) { '$route'() {
// this.changeHandler(activeCompo); this.syncMenuWithRoute();
cdId = activeCompo;
} }
this.activeMenuId = cdId;
this.gotoPage(cdId);
}, },
methods: { methods: {
syncMenuWithRoute() {
const path = this.$route.path;
const match = path.match(/\/yhzx\/(\w+)/);
if (match) {
const routeName = match[1];
for (const item of this.cdList) {
if (item.name === routeName) {
this.activeMenuId = item.id;
this.expanded = [item.id];
return;
}
if (item.children) {
const child = item.children.find(c => c.name === routeName);
if (child) {
this.activeMenuId = child.id;
this.expanded = [item.id];
return;
}
}
}
}
},
gotoPage(menuId) { gotoPage(menuId) {
const flattenMenu = (list) => {
const result = []
list.forEach(item => {
result.push(item)
if (item.children) {
item.children.forEach(child => result.push(child))
}
})
return result
}
const menu = this.cdList.find((item) => item.id == menuId) const menu = flattenMenu(this.cdList).find(item => item.id == menuId)
console.log("当前菜单配置:", menu) console.log("当前菜单配置:", menu)
@ -430,4 +458,20 @@ export default {
.yhzx-box::-webkit-scrollbar { .yhzx-box::-webkit-scrollbar {
display: none; display: none;
} }
.htglMenu .t-submenu__title {
font-weight: bold;
color: #333;
font-size: 15px;
}
.htglMenu .t-menu__item {
font-size: 14px;
color: #666;
}
.htglMenu .t-menu__item:hover {
color: #2e7d32;
}
.htglMenu .t-submenu__item {
padding-left: 56px !important;
}
</style> </style>

View File

@ -5,7 +5,7 @@
<div class="cert-header"> <div class="cert-header">
<div class="cert-title"> <div class="cert-title">
<h3>企业认证</h3> <h3>企业认证</h3>
<span class="cert-status" v-show="certData.qymc">{{ statusText }}</span> <span class="cert-status" v-show="certData.qymc"></span>
</div> </div>
</div> </div>
<div class="cert-body"> <div class="cert-body">
@ -60,6 +60,16 @@ export default {
}, },
}; };
}, },
computed: {
statusText() {
const statusMap = {
0: '待审核',
1: '已认证',
2: '未通过',
};
return statusMap[this.certData.qylx] || '';
},
},
mounted() { mounted() {
this.fetchCertData(); this.fetchCertData();
}, },
@ -188,6 +198,7 @@ export default {
color: #344F3D; color: #344F3D;
} }
} }
.name-icon { .name-icon {
display: flex; display: flex;
width: 20px; width: 20px;
@ -197,6 +208,7 @@ export default {
background-position: center; background-position: center;
margin-right: 4px; margin-right: 4px;
} }
.eid-icon { .eid-icon {
display: flex; display: flex;
width: 20px; width: 20px;
@ -206,6 +218,7 @@ export default {
background-position: center; background-position: center;
margin-right: 4px; margin-right: 4px;
} }
.cert-icon { .cert-icon {
display: flex; display: flex;
width: 20px; width: 20px;

View File

@ -38,9 +38,9 @@ export default {
return { return {
actions: [ actions: [
{ label: '发布服务', to: '/yhzx/tfwgj', icon: 'upload', bgColor: '#E6F8F0', color: '#344F3D' }, { label: '发布服务', to: '/yhzx/tfwgj', icon: 'upload', bgColor: '#E6F8F0', color: '#344F3D' },
{ label: '发布数据', to: '/yhzx/tfwgj?action=publishData', icon: 'cloud-upload', bgColor: '#E6F8F0', color: '#344F3D' }, // { label: '', to: '/yhzx/tfwgj?action=publishData', icon: 'cloud-upload', bgColor: '#E6F8F0', color: '#344F3D' },
{ label: '发布需求', to: '/yhzx/tfwxq', icon: 'edit', bgColor: '#E6F8F0', color: '#344F3D' }, { label: '发布需求', to: '/yhzx/tfwxq', icon: 'edit', bgColor: '#E6F8F0', color: '#344F3D' },
{ label: '资质申请', to: '/yhzx/zzgl', icon: 'bulletpoint', bgColor: '#E6F8F0', color: '#344F3D' }, // { label: '', to: '/yhzx/zzgl', icon: 'bulletpoint', bgColor: '#E6F8F0', color: '#344F3D' },
], ],
}; };
}, },

View File

@ -22,7 +22,7 @@
<div class="stats-row"> <div class="stats-row">
<StatsCard <StatsCard
title="我的供给" title="我的供给"
:count="5" :count="stats.wdgxCount"
unit="条" unit="条"
bg-color="#E3F2FD" bg-color="#E3F2FD"
border-color="#1890FF" border-color="#1890FF"
@ -30,7 +30,7 @@
/> />
<StatsCard <StatsCard
title="我的需求" title="我的需求"
:count="2" :count="stats.wdxqCount"
unit="条" unit="条"
bg-color="#E8F5E9" bg-color="#E8F5E9"
border-color="#00B42A" border-color="#00B42A"
@ -38,7 +38,7 @@
/> />
<StatsCard <StatsCard
title="绿色交易" title="绿色交易"
:count="1" :count="stats.lsjyCount"
unit="条" unit="条"
bg-color="#E8FFEA" bg-color="#E8FFEA"
border-color="#00B42A" border-color="#00B42A"
@ -46,7 +46,7 @@
/> />
<StatsCard <StatsCard
title="待处理消息" title="待处理消息"
:count="6" :count="stats.dclxxCount"
unit="条" unit="条"
bg-color="#FFF7E6" bg-color="#FFF7E6"
border-color="#FF7D00" border-color="#FF7D00"
@ -80,7 +80,7 @@
<div class="right-section"> <div class="right-section">
<div class="section-header"> <div class="section-header">
<h3 class="header-title">快捷入口</h3> <h3 class="header-title">快捷入口</h3>
<a class="header-link">管理</a> <!-- <a class="header-link">管理</a> -->
</div> </div>
<QuickActions /> <QuickActions />
@ -103,7 +103,7 @@ import PolicyNews from './components/PolicyNews.vue';
import EnterpriseCert from './components/EnterpriseCert.vue'; import EnterpriseCert from './components/EnterpriseCert.vue';
import QuickActions from './components/QuickActions.vue'; import QuickActions from './components/QuickActions.vue';
import AccountShortcuts from './components/AccountShortcuts.vue'; import AccountShortcuts from './components/AccountShortcuts.vue';
import { SettingIcon } from 'tdesign-icons-vue'; import gztApi from '@/pages/index/api/gzt/index.js';
export default { export default {
name: 'DashboardIndex', name: 'DashboardIndex',
@ -115,6 +115,19 @@ export default {
QuickActions, QuickActions,
AccountShortcuts, AccountShortcuts,
}, },
data() {
return {
stats: {
wdgxCount: 0,
wdxqCount: 0,
lsjyCount: 0,
dclxxCount: 0,
},
};
},
mounted() {
this.fetchStats();
},
computed: { computed: {
currentDate() { currentDate() {
const now = new Date(); const now = new Date();
@ -126,6 +139,18 @@ export default {
return `${year}${month}${day}${weekday}`; return `${year}${month}${day}${weekday}`;
}, },
}, },
methods: {
async fetchStats() {
try {
const res = await gztApi.getStats();
if (res.data) {
this.stats = res.data;
}
} catch (err) {
console.error('获取工作台统计数据失败', err);
}
},
},
}; };
</script> </script>

View File

@ -283,7 +283,7 @@ export default {
{ {
name1: '身份基石', name1: '身份基石',
name2: '碳数字身份体系', name2: '碳数字身份体系',
desc: '为企业构建唯一的链上"绿卡",集成资质核验证、资产托管与信用评级,打造绿色经济的数字通行证。', desc: '为企业构建唯一的链上"数字身份",集成资质核验证、资产托管与信用评级,打造绿色经济的数字通行证。',
icon: require('@/pages/index/views/home2/assets/identity-base@2x.png') icon: require('@/pages/index/views/home2/assets/identity-base@2x.png')
}, },
{ {

View File

@ -2,7 +2,7 @@
<div class="hyzt-wrap"> <div class="hyzt-wrap">
<div class="banner"> <div class="banner">
<div class="word">行业专题</div> <div class="word">行业专题</div>
<button class="desc">查看碳政策动态行业碳数据与推荐服务</button> <button class="desc">查看绿色低碳政策动态行业碳数据与推荐服务</button>
</div> </div>
<div class="hyzt-list-wrap"> <div class="hyzt-list-wrap">
<div class="hyzt-list"> <div class="hyzt-list">

View File

@ -5,15 +5,15 @@
<div class="header-wrap"> <div class="header-wrap">
<div class="title-section"> <div class="title-section">
<h1 class="main-title">企业出海合规专题</h1> <h1 class="main-title">企业出海合规专题</h1>
<p class="sub-title">电池法案 / CBAM / 航运燃料 三大模块一站式信息与系统入口</p> <!-- <p class="sub-title">电池法案 / CBAM / 航运燃料 三大模块一站式信息与系统入口</p> -->
</div> </div>
<!-- 导航标签 --> <!-- 导航标签 -->
<div class="nav-tabs"> <!-- <div class="nav-tabs">
<span class="tab">政策要求</span> <span class="tab">政策要求</span>
<span class="tab active">合规指引</span> <span class="tab active">合规指引</span>
<span class="tab">案例分享</span> <span class="tab">案例分享</span>
</div> </div> -->
</div> </div>
</header> </header>
@ -267,7 +267,7 @@ body {
/* 顶部标题区(关键修改:垂直布局实现左对齐) */ /* 顶部标题区(关键修改:垂直布局实现左对齐) */
.header { .header {
height: 490px; height: 380px;
padding-top: 120px; padding-top: 120px;
margin-bottom: 30px; margin-bottom: 30px;
background: url(../../assets/qych/banner.png); background: url(../../assets/qych/banner.png);

View File

@ -0,0 +1,86 @@
-- 数据市场数据列表表
CREATE TABLE `txw_gxzx_sjsc_sjlbb` (
`uuid` VARCHAR(50) NOT NULL COMMENT 'UUID',
`sjsc_uuid` VARCHAR(50) NOT NULL COMMENT '数据市场UUID关联txw_gxzx_sjscb',
`sjlx_dm` VARCHAR(10) DEFAULT NULL COMMENT '数据类型代码',
`sjmc` VARCHAR(200) NOT NULL COMMENT '数据名称',
`sjms` TEXT COMMENT '数据描述',
`sjbt` VARCHAR(500) DEFAULT NULL COMMENT '数据标签',
`jg` DECIMAL(18,2) DEFAULT NULL COMMENT '价格',
`jg_dw` VARCHAR(20) DEFAULT NULL COMMENT '价格单位',
`yxq` DATE DEFAULT NULL COMMENT '有效期',
`sjgs` VARCHAR(50) DEFAULT NULL COMMENT '数据格式',
`sjdw` VARCHAR(50) DEFAULT NULL COMMENT '数据单位',
`sjsl` INT DEFAULT NULL COMMENT '数据条数',
`llcs` INT DEFAULT 0 COMMENT '浏览次数',
`xzcs` INT DEFAULT 0 COMMENT '下载次数',
`sjwz` VARCHAR(500) DEFAULT NULL COMMENT '数据文件地址',
`kzwj` VARCHAR(500) DEFAULT NULL COMMENT '扩展文件',
`lxr` VARCHAR(50) DEFAULT NULL COMMENT '联系人',
`lxdh` VARCHAR(50) DEFAULT NULL COMMENT '联系电话',
`email` VARCHAR(100) DEFAULT NULL COMMENT '电子邮箱',
`zt` CHAR(1) DEFAULT '1' COMMENT '状态1=正常2=待审3=通过4=驳回)',
`qyuuid` VARCHAR(50) DEFAULT NULL COMMENT '企业UUID',
`qymc` VARCHAR(200) DEFAULT NULL COMMENT '企业名称',
`nsrsbh` VARCHAR(50) DEFAULT NULL COMMENT '纳税人识别号',
`lrrq` DATETIME DEFAULT NULL COMMENT '录入日期',
`lrruuid` VARCHAR(50) DEFAULT NULL COMMENT '录入人UUID',
`xgrq` DATETIME DEFAULT NULL COMMENT '修改日期',
`xgruuid` VARCHAR(50) DEFAULT NULL COMMENT '修改人UUID',
PRIMARY KEY (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据市场数据列表表';
-- 插入数据绑定数据市场UUIDsjsc_001
INSERT INTO `txw_gxzx_sjsc_sjlbb` (
`uuid`, `sjsc_uuid`, `sjlx_dm`, `sjmc`, `sjms`, `sjbt`,
`jg`, `jg_dw`, `yxq`, `sjgs`, `sjdw`, `sjsl`,
`llcs`, `xzcs`, `sjwz`, `kzwj`,
`lxr`, `lxdh`, `email`,
`zt`, `qyuuid`, `qymc`, `nsrsbh`,
`lrrq`, `lrruuid`, `xgrq`, `xgruuid`
) VALUES
-- 1. 上海市绿色低碳服务机构
('sjlbb_001', 'sjsc_001', 'public', '上海市绿色低碳服务机构',
'该数据资源包含了上海市绿色低碳服务机构信息,数据来源于上海市经信委门户网站,主要包含机构名称、服务范围、联系人等字段信息。',
'公共数据', 0, '每年', NULL, NULL, NULL, 74, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2025-09-22', 'system', NULL, NULL),
-- 2. 上海市绿色低碳技术产品名单
('sjlbb_002', 'sjsc_001', 'public', '上海市绿色低碳技术产品名单',
'该数据资源包含了上海市绿色低碳技术产品名单信息,数据来源于上海市经信委门户网站,主要包含企业名称、绿色低碳技术产品等字段信息。',
'公共数据', 0, '每年', NULL, NULL, NULL, 35, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2025-09-22', 'system', NULL, NULL),
-- 3. 上海市零碳创建标杆企业名单
('sjlbb_003', 'sjsc_001', 'public', '上海市零碳创建标杆企业名单',
'该数据资源包含了上海市零碳创建标杆企业名单信息,数据来源于上海市经信委门户网站,主要包含企业名称、类型等字段信息。',
'公共数据', 0, '每年', NULL, NULL, NULL, 12, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2025-09-22', 'system', NULL, NULL),
-- 4. 上海市工业通信业碳管理试点名单
('sjlbb_004', 'sjsc_001', 'public', '上海市工业通信业碳管理试点名单',
'该数据资源包含了上海市工业通信业碳管理试点名单信息,数据来源于上海市经信委门户网站,主要包含企业、试点名称、申报领域等字段信息。',
'公共数据', 0, '每年', NULL, NULL, NULL, 26, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2025-09-22', 'system', NULL, NULL),
-- 5. 资源环境效率
('sjlbb_005', 'sjsc_001', 'public', '资源环境效率',
'资源环境效率的相关信息包含GDP碳排放量、单位生产总值能耗等',
'公共数据', 0, '每年', NULL, NULL, NULL, 20, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2026-03-15', 'system', NULL, NULL),
-- 6. 公共机构绿色低碳发展典型案例
('sjlbb_006', 'sjsc_001', 'public', '公共机构绿色低碳发展典型案例',
'2023-2024年度全国公共机构绿色低碳发展典型案例的名单主要包含案例名称、编写单位、方向等信息',
'公共数据', 0, '每年', NULL, NULL, NULL, 10, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2025-09-22', 'system', NULL, NULL),
-- 7. 碳汇监测告警信息
('sjlbb_007', 'sjsc_001', 'public', '碳汇监测告警信息',
'碳汇数据告警记录',
'公共数据', 0, '每年', NULL, NULL, NULL, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2026-03-28', 'system', NULL, NULL),
-- 8. 碳汇监测信息
('sjlbb_008', 'sjsc_001', 'public', '碳汇监测信息',
'对碳汇基础数据采集信息记录',
'公共数据', 0, '每年', NULL, NULL, NULL, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2026-03-28', 'system', NULL, NULL),
-- 9. 碳汇监测指标评分
('sjlbb_009', 'sjsc_001', 'public', '碳汇监测指标评分',
'对碳汇指标评分信息记录',
'公共数据', 0, '每年', NULL, NULL, NULL, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, '3', NULL, NULL, NULL, '2026-03-28', 'system', NULL, NULL);

View File

@ -0,0 +1,43 @@
-- 数据市场数据库表
CREATE TABLE `txw_gxzx_sjscb` (
`uuid` VARCHAR(50) NOT NULL COMMENT 'UUID',
`sjlx_dm` VARCHAR(10) DEFAULT NULL COMMENT '数据类型代码public=公共数据factor=因子库social=社会性数据)',
`sjlx_mc` VARCHAR(100) DEFAULT NULL COMMENT '数据类型名称',
`sjmc` VARCHAR(200) NOT NULL COMMENT '数据库名称',
`sjms` TEXT COMMENT '数据库描述',
`sjbt` VARCHAR(500) DEFAULT NULL COMMENT '数据标签(多个逗号分隔)',
`qyuuid` VARCHAR(50) DEFAULT NULL COMMENT '企业UUID',
`qymc` VARCHAR(200) DEFAULT NULL COMMENT '企业名称',
`nsrsbh` VARCHAR(50) DEFAULT NULL COMMENT '纳税人识别号',
`sjzt` CHAR(1) DEFAULT 'N' COMMENT '上架状态Y=已上架N=未上架)',
`zt` CHAR(1) DEFAULT '1' COMMENT '状态1=正常2=待审3=通过4=驳回)',
`llcs` INT DEFAULT 0 COMMENT '浏览次数',
`xzcs` INT DEFAULT 0 COMMENT '下载次数',
`kzwj` VARCHAR(500) DEFAULT NULL COMMENT '扩展文件',
`sjly` VARCHAR(500) DEFAULT NULL COMMENT '数据来源',
`sjwzm` VARCHAR(200) DEFAULT NULL COMMENT '数据网站名',
`sjwz` VARCHAR(500) DEFAULT NULL COMMENT '数据网站地址',
`lxr` VARCHAR(50) DEFAULT NULL COMMENT '联系人',
`lxdh` VARCHAR(50) DEFAULT NULL COMMENT '联系电话',
`email` VARCHAR(100) DEFAULT NULL COMMENT '电子邮箱',
`lrrq` DATETIME DEFAULT NULL COMMENT '录入日期',
`lrruuid` VARCHAR(50) DEFAULT NULL COMMENT '录入人UUID',
`xgrq` DATETIME DEFAULT NULL COMMENT '修改日期',
`xgruuid` VARCHAR(50) DEFAULT NULL COMMENT '修改人UUID',
PRIMARY KEY (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据市场数据库表';
-- 插入示例数据:宝山绿色低碳数据创新实验室
INSERT INTO `txw_gxzx_sjscb` (
`uuid`, `sjlx_dm`, `sjlx_mc`, `sjmc`, `sjms`, `sjbt`,
`qyuuid`, `qymc`, `nsrsbh`, `sjzt`, `zt`, `llcs`, `xzcs`,
`sjly`, `sjwzm`, `sjwz`, `lxr`, `lxdh`, `email`,
`lrrq`, `lrruuid`, `xgrq`, `xgruuid`
) VALUES (
'sjsc_001', 'public', '公共数据', '宝山绿色低碳数据创新实验室',
'聚焦区域低碳发展数据汇聚与分析,提供碳排放核算模型与可视化报告',
'公共数据',
NULL, NULL, NULL, 'Y', '3', 0, 0,
NULL, NULL, NULL, NULL, NULL, NULL,
NOW(), 'system', NULL, NULL
);

View File

@ -0,0 +1,10 @@
,数据产品,摘要,数据来源部门,数据量(条),更新频率,更新日期
,上海市绿色低碳服务机构,该数据资源包含了上海市绿色低碳服务机构信息,数据来源于上海市经信委门户网站,主要包含机构名称、服务范围、联系人等字段信息。,上海市经济和信息化委员会,74,不定期,2025/9/22
,上海市绿色低碳技术产品名单,该数据资源包含了上海市绿色低碳技术产品名单信息,数据来源于上海市经信委门户网站,主要包含企业名称、绿色低碳技术产品等字段信息。,上海市经济和信息化委员会,35,不定期,2025/9/22
,上海市零碳创建标杆企业名单,该数据资源包含了上海市零碳创建标杆企业名单信息,数据来源于上海市经信委门户网站,主要包含企业名称、类型等字段信息。,上海市经济和信息化委员会,12,不定期,2025/9/22
,上海市工业通信业碳管理试点名单,该数据资源包含了上海市工业通信业碳管理试点名单信息,数据来源于上海市经信委门户网站,主要包含企业、试点名称、申报领域等字段信息。,上海市经济和信息化委员会,26,不定期,2025/9/22
,资源环境效率,资源环境效率的相关信息包含GDP碳排放量、单位生产总值能耗等,上海市生态环境局,20,每年,2026/3/15
,公共机构绿色低碳发展典型案例,2023-2024年度全国公共机构绿色低碳发展典型案例的名单主要包含案例名称、编写单位、方向等信息,上海市机关事务管理局,10,不定期,2025/9/22
,碳汇监测告警信息,碳汇数据告警记录,上海市绿化和市容管理局,/,每天,2026/3/28
,碳汇监测信息,对碳汇基础数据采集信息记录,上海市绿化和市容管理局,/,每年,2026/3/28
,碳汇监测指标评分,对碳汇指标评分信息记录,上海市绿化和市容管理局,/,每年,2026/3/28
1 数据产品 摘要 数据来源部门 数据量(条) 更新频率 更新日期
2 上海市绿色低碳服务机构 该数据资源包含了上海市绿色低碳服务机构信息,数据来源于上海市经信委门户网站,主要包含机构名称、服务范围、联系人等字段信息。 上海市经济和信息化委员会 74 不定期 2025/9/22
3 上海市绿色低碳技术产品名单 该数据资源包含了上海市绿色低碳技术产品名单信息,数据来源于上海市经信委门户网站,主要包含企业名称、绿色低碳技术产品等字段信息。 上海市经济和信息化委员会 35 不定期 2025/9/22
4 上海市零碳创建标杆企业名单 该数据资源包含了上海市零碳创建标杆企业名单信息,数据来源于上海市经信委门户网站,主要包含企业名称、类型等字段信息。 上海市经济和信息化委员会 12 不定期 2025/9/22
5 上海市工业通信业碳管理试点名单 该数据资源包含了上海市工业通信业碳管理试点名单信息,数据来源于上海市经信委门户网站,主要包含企业、试点名称、申报领域等字段信息。 上海市经济和信息化委员会 26 不定期 2025/9/22
6 资源环境效率 资源环境效率的相关信息,包含GDP碳排放量、单位生产总值能耗等 上海市生态环境局 20 每年 2026/3/15
7 公共机构绿色低碳发展典型案例 2023-2024年度全国公共机构绿色低碳发展典型案例的名单,主要包含案例名称、编写单位、方向等信息 上海市机关事务管理局 10 不定期 2025/9/22
8 碳汇监测告警信息 碳汇数据告警记录 上海市绿化和市容管理局 / 每天 2026/3/28
9 碳汇监测信息 对碳汇基础数据采集信息记录 上海市绿化和市容管理局 / 每年 2026/3/28
10 碳汇监测指标评分 对碳汇指标评分信息记录 上海市绿化和市容管理局 / 每年 2026/3/28

View File

@ -3,9 +3,12 @@ package com.css.txw.mhzc.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.css.ggzc.framework.common.pojo.CommonResult; import com.css.ggzc.framework.common.pojo.CommonResult;
import com.css.txw.mhzc.pojo.vo.*; import com.css.txw.mhzc.pojo.vo.*;
import com.css.txw.mhzc.service.GxzxStatsService;
import com.css.txw.mhzc.service.TxwGxzxGxscbService; import com.css.txw.mhzc.service.TxwGxzxGxscbService;
import com.css.txw.mhzc.service.TxwGxzxGxxxbService; import com.css.txw.mhzc.service.TxwGxzxGxxxbService;
import com.css.txw.mhzc.service.TxwGxzxShqkbService; import com.css.txw.mhzc.service.TxwGxzxShqkbService;
import com.css.txw.mhzc.service.TxwGxzxSjscbService;
import com.css.txw.mhzc.service.TxwGxzxSjlbbService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -29,6 +32,15 @@ public class GxdtController {
@Resource @Resource
private TxwGxzxGxscbService gxscbService; private TxwGxzxGxscbService gxscbService;
@Resource
private TxwGxzxSjscbService sjscbService;
@Resource
private TxwGxzxSjlbbService sjlbbService;
@Resource
private GxzxStatsService gxzxStatsService;
@PostMapping("/gxfb") @PostMapping("/gxfb")
public CommonResult<String> gxfb(@RequestBody GxfbReqVO reqVO){ public CommonResult<String> gxfb(@RequestBody GxfbReqVO reqVO){
return CommonResult.success(gxxxbService.gxfb(reqVO)); return CommonResult.success(gxxxbService.gxfb(reqVO));
@ -87,4 +99,48 @@ public class GxdtController {
return CommonResult.success(gxxxbService.getGxxx(gxuuid)); return CommonResult.success(gxxxbService.getGxxx(gxuuid));
} }
// ==================== 数据市场相关接口 ====================
@Operation(summary = "数据市场数据库列表", description = "分页查询数据市场数据库列表")
@PostMapping("/sjscList")
public CommonResult<Page<SjscVO>> sjscList(@RequestBody SjscReqVO reqVO){
return CommonResult.success(sjscbService.sjscList(reqVO));
}
@Operation(summary = "我的数据市场列表", description = "分页查询用户发布的数据市场列表")
@PostMapping("/sjscListByYh")
public CommonResult<Page<SjscVO>> sjscListByYh(@RequestBody SjscReqVO reqVO){
return CommonResult.success(sjscbService.sjscListByYh(reqVO));
}
@Operation(summary = "发布数据市场", description = "发布数据市场数据库")
@PostMapping("/sjscfb")
public CommonResult<String> sjscfb(@RequestBody SjscReqVO reqVO){
return CommonResult.success(sjscbService.sjscfb(reqVO));
}
@Operation(summary = "数据市场详情", description = "获取数据市场数据库详情")
@GetMapping("/getSjsc")
public CommonResult<SjscVO> getSjsc(@RequestParam("uuid") String uuid){
return CommonResult.success(sjscbService.getSjsc(uuid));
}
@Operation(summary = "数据列表", description = "分页查询数据列表")
@PostMapping("/sjlbbList")
public CommonResult<Page<SjlbbVO>> sjlbbList(@RequestBody SjlbbReqVO reqVO){
return CommonResult.success(sjlbbService.sjlbbList(reqVO));
}
@Operation(summary = "数据详情", description = "获取数据详情")
@GetMapping("/getSjlbb")
public CommonResult<SjlbbVO> getSjlbb(@RequestParam("uuid") String uuid){
return CommonResult.success(sjlbbService.getSjlbb(uuid));
}
@GetMapping("/getStats")
@Operation(summary = "工作台统计", description = "获取工作台统计数据(我的供给、我的需求、绿色交易、待处理消息)")
public CommonResult<DashboardStatsVO> getStats(){
return CommonResult.success(gxzxStatsService.getStats());
}
} }

View File

@ -0,0 +1,38 @@
package com.css.txw.mhzc.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.css.txw.mhzc.pojo.domain.TxwGxzxSjlbbDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.css.txw.mhzc.pojo.vo.SjlbbReqVO;
/**
* @author Claude
* @description 针对表txw_gxzx_sjsc_sjlbb(数据市场数据列表表)的数据库操作Mapper
* @createDate 2026-04-29
*/
public interface TxwGxzxSjlbbMapper extends BaseMapper<TxwGxzxSjlbbDO> {
default Page<TxwGxzxSjlbbDO> sjlbbList(SjlbbReqVO reqVO) {
Page<TxwGxzxSjlbbDO> page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize());
QueryWrapper<TxwGxzxSjlbbDO> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(TxwGxzxSjlbbDO::getSjscUuid, reqVO.getSjscUuid())
.eq(TxwGxzxSjlbbDO::getZt, "3")
.ge(reqVO.getPriceMin() != null, TxwGxzxSjlbbDO::getJg, reqVO.getPriceMin())
.le(reqVO.getPriceMax() != null, TxwGxzxSjlbbDO::getJg, reqVO.getPriceMax())
.le(reqVO.getValidDate() != null, TxwGxzxSjlbbDO::getYxq, reqVO.getValidDate())
.orderByDesc(TxwGxzxSjlbbDO::getLrrq);
return selectPage(page, wrapper);
}
default Page<TxwGxzxSjlbbDO> sjlbbListByYh(SjlbbReqVO reqVO, String yhuuid) {
Page<TxwGxzxSjlbbDO> page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize());
QueryWrapper<TxwGxzxSjlbbDO> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(TxwGxzxSjlbbDO::getLrruuid, yhuuid)
.eq(!com.css.ggzc.framework.common.util.gy.GyUtils.isNull(reqVO.getSjscUuid()), TxwGxzxSjlbbDO::getSjscUuid, reqVO.getSjscUuid())
.orderByDesc(TxwGxzxSjlbbDO::getLrrq);
return selectPage(page, wrapper);
}
}

View File

@ -0,0 +1,38 @@
package com.css.txw.mhzc.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.css.txw.mhzc.pojo.domain.TxwGxzxSjscbDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.css.txw.mhzc.pojo.vo.SjscReqVO;
/**
* @author Claude
* @description 针对表txw_gxzx_sjscb(数据市场数据库表)的数据库操作Mapper
* @createDate 2026-04-29
*/
public interface TxwGxzxSjscbMapper extends BaseMapper<TxwGxzxSjscbDO> {
default Page<TxwGxzxSjscbDO> sjscList(SjscReqVO reqVO) {
Page<TxwGxzxSjscbDO> page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize());
QueryWrapper<TxwGxzxSjscbDO> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(TxwGxzxSjscbDO::getSjzt, "Y")
.eq(TxwGxzxSjscbDO::getZt, "3")
.eq(!com.css.ggzc.framework.common.util.gy.GyUtils.isNull(reqVO.getSjlxDm()), TxwGxzxSjscbDO::getSjlxDm, reqVO.getSjlxDm())
.like(!com.css.ggzc.framework.common.util.gy.GyUtils.isNull(reqVO.getNr()), TxwGxzxSjscbDO::getSjmc, reqVO.getNr())
.orderByDesc(TxwGxzxSjscbDO::getLrrq);
return selectPage(page, wrapper);
}
default Page<TxwGxzxSjscbDO> sjscListByYh(SjscReqVO reqVO, String yhuuid) {
Page<TxwGxzxSjscbDO> page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize());
QueryWrapper<TxwGxzxSjscbDO> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(TxwGxzxSjscbDO::getLrruuid, yhuuid)
.eq(!com.css.ggzc.framework.common.util.gy.GyUtils.isNull(reqVO.getSjlxDm()), TxwGxzxSjscbDO::getSjlxDm, reqVO.getSjlxDm())
.like(!com.css.ggzc.framework.common.util.gy.GyUtils.isNull(reqVO.getNr()), TxwGxzxSjscbDO::getSjmc, reqVO.getNr())
.orderByDesc(TxwGxzxSjscbDO::getLrrq);
return selectPage(page, wrapper);
}
}

View File

@ -0,0 +1,183 @@
package com.css.txw.mhzc.pojo.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
* 数据市场数据列表表
* @TableName txw_gxzx_sjsc_sjlbb
*/
@TableName(value ="txw_gxzx_sjsc_sjlbb")
@Data
public class TxwGxzxSjlbbDO implements Serializable {
/**
* UUID||UUID
*/
@TableId(value = "uuid")
private String uuid;
/**
* 数据市场UUID关联txw_gxzx_sjscb
*/
@TableField(value = "sjsc_uuid")
private String sjscUuid;
/**
* 数据类型代码
*/
@TableField(value = "sjlx_dm")
private String sjlxDm;
/**
* 数据名称
*/
@TableField(value = "sjmc")
private String sjmc;
/**
* 数据描述
*/
@TableField(value = "sjms")
private String sjms;
/**
* 数据标签
*/
@TableField(value = "sjbt")
private String sjbt;
/**
* 价格
*/
@TableField(value = "jg")
private BigDecimal jg;
/**
* 价格单位
*/
@TableField(value = "jg_dw")
private String jgDw;
/**
* 有效期
*/
@TableField(value = "yxq")
private Date yxq;
/**
* 数据格式
*/
@TableField(value = "sjgs")
private String sjgs;
/**
* 数据单位
*/
@TableField(value = "sjdw")
private String sjdw;
/**
* 数据条数
*/
@TableField(value = "sjsl")
private Integer sjsl;
/**
* 浏览次数
*/
@TableField(value = "llcs")
private Integer llcs;
/**
* 下载次数
*/
@TableField(value = "xzcs")
private Integer xzcs;
/**
* 数据文件地址
*/
@TableField(value = "sjwz")
private String sjwz;
/**
* 扩展文件
*/
@TableField(value = "kzwj")
private String kzwj;
/**
* 联系人
*/
@TableField(value = "lxr")
private String lxr;
/**
* 联系电话
*/
@TableField(value = "lxdh")
private String lxdh;
/**
* 电子邮箱
*/
@TableField(value = "email")
private String email;
/**
* 状态1=正常2=待审3=通过4=驳回
*/
@TableField(value = "zt")
private String zt;
/**
* 企业UUID
*/
@TableField(value = "qyuuid")
private String qyuuid;
/**
* 企业名称
*/
@TableField(value = "qymc")
private String qymc;
/**
* 纳税人识别号
*/
@TableField(value = "nsrsbh")
private String nsrsbh;
/**
* 录入日期
*/
@TableField(value = "lrrq")
private Date lrrq;
/**
* 录入人UUID
*/
@TableField(value = "lrruuid")
private String lrruuid;
/**
* 修改日期
*/
@TableField(value = "xgrq")
private Date xgrq;
/**
* 修改人UUID
*/
@TableField(value = "xgruuid")
private String xgruuid;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,164 @@
package com.css.txw.mhzc.pojo.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 数据市场数据库表
* @TableName txw_gxzx_sjscb
*/
@TableName(value ="txw_gxzx_sjscb")
@Data
public class TxwGxzxSjscbDO implements Serializable {
/**
* UUID||UUID
*/
@TableId(value = "uuid")
private String uuid;
/**
* 数据类型代码public=公共数据factor=因子库social=社会性数据
*/
@TableField(value = "sjlx_dm")
private String sjlxDm;
/**
* 数据类型名称
*/
@TableField(value = "sjlx_mc")
private String sjlxMc;
/**
* 数据库名称
*/
@TableField(value = "sjmc")
private String sjmc;
/**
* 数据库描述
*/
@TableField(value = "sjms")
private String sjms;
/**
* 数据标签多个逗号分隔
*/
@TableField(value = "sjbt")
private String sjbt;
/**
* 企业UUID
*/
@TableField(value = "qyuuid")
private String qyuuid;
/**
* 企业名称
*/
@TableField(value = "qymc")
private String qymc;
/**
* 纳税人识别号
*/
@TableField(value = "nsrsbh")
private String nsrsbh;
/**
* 上架状态Y=已上架N=未上架
*/
@TableField(value = "sjzt")
private String sjzt;
/**
* 状态1=正常2=待审3=通过4=驳回
*/
@TableField(value = "zt")
private String zt;
/**
* 浏览次数
*/
@TableField(value = "llcs")
private Integer llcs;
/**
* 下载次数
*/
@TableField(value = "xzcs")
private Integer xzcs;
/**
* 扩展文件
*/
@TableField(value = "kzwj")
private String kzwj;
/**
* 数据来源
*/
@TableField(value = "sjly")
private String sjly;
/**
* 数据网站名
*/
@TableField(value = "sjwzm")
private String sjwzm;
/**
* 数据网站地址
*/
@TableField(value = "sjwz")
private String sjwz;
/**
* 联系人
*/
@TableField(value = "lxr")
private String lxr;
/**
* 联系电话
*/
@TableField(value = "lxdh")
private String lxdh;
/**
* 电子邮箱
*/
@TableField(value = "email")
private String email;
/**
* 录入日期
*/
@TableField(value = "lrrq")
private Date lrrq;
/**
* 录入人UUID
*/
@TableField(value = "lrruuid")
private String lrruuid;
/**
* 修改日期
*/
@TableField(value = "xgrq")
private Date xgrq;
/**
* 修改人UUID
*/
@TableField(value = "xgruuid")
private String xgruuid;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,18 @@
package com.css.txw.mhzc.pojo.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class DashboardStatsVO implements Serializable {
private Integer wdgxCount;
private Integer wdxqCount;
private Integer lsjyCount;
private Integer dclxxCount;
}

View File

@ -0,0 +1,36 @@
package com.css.txw.mhzc.pojo.vo;
import com.css.ggzc.framework.common.pojo.PageParam;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 数据市场数据列表请求
*/
@Data
public class SjlbbReqVO extends PageParam implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 数据市场UUID
*/
private String sjscUuid;
/**
* 最低价格
*/
private BigDecimal priceMin;
/**
* 最高价格
*/
private BigDecimal priceMax;
/**
* 有效期
*/
private Date validDate;
}

View File

@ -0,0 +1,139 @@
package com.css.txw.mhzc.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 数据市场数据列表 VO
*/
@Data
public class SjlbbVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* UUID
*/
private String uuid;
/**
* 数据市场UUID
*/
private String sjscUuid;
/**
* 数据类型代码
*/
private String sjlxDm;
/**
* 数据名称
*/
private String sjmc;
/**
* 数据描述
*/
private String sjms;
/**
* 数据标签
*/
private String sjbt;
/**
* 价格
*/
private BigDecimal jg;
/**
* 价格单位
*/
private String jgDw;
/**
* 有效期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date yxq;
/**
* 数据格式
*/
private String sjgs;
/**
* 数据单位
*/
private String sjdw;
/**
* 数据条数
*/
private Integer sjsl;
/**
* 浏览次数
*/
private Integer llcs;
/**
* 下载次数
*/
private Integer xzcs;
/**
* 数据文件地址
*/
private String sjwz;
/**
* 扩展文件
*/
private String kzwj;
/**
* 联系人
*/
private String lxr;
/**
* 联系电话
*/
private String lxdh;
/**
* 电子邮箱
*/
private String email;
/**
* 状态
*/
private String zt;
/**
* 企业UUID
*/
private String qyuuid;
/**
* 企业名称
*/
private String qymc;
/**
* 录入日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date lrrq;
/**
* 修改日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date xgrq;
}

View File

@ -0,0 +1,24 @@
package com.css.txw.mhzc.pojo.vo;
import com.css.ggzc.framework.common.pojo.PageParam;
import lombok.Data;
import java.io.Serializable;
/**
* 数据市场列表请求
*/
@Data
public class SjscReqVO extends PageParam implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 数据类型代码public=公共数据factor=因子库social=社会性数据
*/
private String sjlxDm;
/**
* 关键词搜索
*/
private String nr;
}

View File

@ -0,0 +1,122 @@
package com.css.txw.mhzc.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 数据市场数据库表 VO
*/
@Data
public class SjscVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* UUID
*/
private String uuid;
/**
* 数据类型代码
*/
private String sjlxDm;
/**
* 数据类型名称
*/
private String sjlxMc;
/**
* 数据库名称
*/
private String sjmc;
/**
* 数据库描述
*/
private String sjms;
/**
* 数据标签
*/
private String sjbt;
/**
* 企业UUID
*/
private String qyuuid;
/**
* 企业名称
*/
private String qymc;
/**
* 上架状态
*/
private String sjzt;
/**
* 状态
*/
private String zt;
/**
* 浏览次数
*/
private Integer llcs;
/**
* 下载次数
*/
private Integer xzcs;
/**
* 扩展文件
*/
private String kzwj;
/**
* 数据来源
*/
private String sjly;
/**
* 数据网站名
*/
private String sjwzm;
/**
* 数据网站地址
*/
private String sjwz;
/**
* 联系人
*/
private String lxr;
/**
* 联系电话
*/
private String lxdh;
/**
* 电子邮箱
*/
private String email;
/**
* 录入日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date lrrq;
/**
* 修改日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date xgrq;
}

View File

@ -0,0 +1,9 @@
package com.css.txw.mhzc.service;
import com.css.txw.mhzc.pojo.vo.DashboardStatsVO;
public interface GxzxStatsService {
DashboardStatsVO getStats();
}

View File

@ -0,0 +1,28 @@
package com.css.txw.mhzc.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.css.txw.mhzc.pojo.domain.TxwGxzxSjlbbDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.css.txw.mhzc.pojo.vo.SjlbbReqVO;
import com.css.txw.mhzc.pojo.vo.SjlbbVO;
/**
* 数据市场数据列表表 Service
*/
public interface TxwGxzxSjlbbService extends IService<TxwGxzxSjlbbDO> {
/**
* 分页查询数据列表
*/
Page<SjlbbVO> sjlbbList(SjlbbReqVO reqVO);
/**
* 分页查询用户发布的数据列表
*/
Page<SjlbbVO> sjlbbListByYh(SjlbbReqVO reqVO, String yhuuid);
/**
* 获取数据详情
*/
SjlbbVO getSjlbb(String uuid);
}

View File

@ -0,0 +1,33 @@
package com.css.txw.mhzc.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.css.txw.mhzc.pojo.domain.TxwGxzxSjscbDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.css.txw.mhzc.pojo.vo.SjscReqVO;
import com.css.txw.mhzc.pojo.vo.SjscVO;
/**
* 数据市场数据库表 Service
*/
public interface TxwGxzxSjscbService extends IService<TxwGxzxSjscbDO> {
/**
* 分页查询数据市场列表
*/
Page<SjscVO> sjscList(SjscReqVO reqVO);
/**
* 分页查询用户发布的数据市场列表
*/
Page<SjscVO> sjscListByYh(SjscReqVO reqVO);
/**
* 发布数据市场
*/
String sjscfb(SjscReqVO reqVO);
/**
* 获取数据市场详情
*/
SjscVO getSjsc(String uuid);
}

View File

@ -0,0 +1,62 @@
package com.css.txw.mhzc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.css.ggzc.framework.common.util.gy.GyUtils;
import com.css.ggzc.framework.session.SessionUtils;
import com.css.txw.mhzc.mapper.TxwGxzxGxxxbMapper;
import com.css.txw.mhzc.mapper.TxwGxzxShqkbMapper;
import com.css.txw.mhzc.pojo.domain.GxzxLsjyZcxx;
import com.css.txw.mhzc.pojo.domain.TxwGxzxGxxxbDO;
import com.css.txw.mhzc.pojo.vo.DashboardStatsVO;
import com.css.txw.mhzc.service.GxzxLsjyZcxxService;
import com.css.txw.mhzc.service.GxzxStatsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Slf4j
@Service
public class GxzxStatsServiceImpl implements GxzxStatsService {
@Resource
private TxwGxzxGxxxbMapper gxxxbMapper;
@Resource
private TxwGxzxShqkbMapper shqkbMapper;
@Resource
private GxzxLsjyZcxxService gxzxLsjyZcxxService;
@Override
public DashboardStatsVO getStats() {
DashboardStatsVO statsVO = new DashboardStatsVO();
String yhUuid = SessionUtils.getYhUuid();
String qyuuid = SessionUtils.getQyuuid();
QueryWrapper<TxwGxzxGxxxbDO> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(TxwGxzxGxxxbDO::getLrruuid, yhUuid)
.eq(TxwGxzxGxxxbDO::getYwlxDm, "01");
long wdgxCount = gxxxbMapper.selectCount(wrapper);
statsVO.setWdgxCount((int) wdgxCount);
wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(TxwGxzxGxxxbDO::getLrruuid, yhUuid)
.eq(TxwGxzxGxxxbDO::getYwlxDm, "02");
long wdxqCount = gxxxbMapper.selectCount(wrapper);
statsVO.setWdxqCount((int) wdxqCount);
QueryWrapper<GxzxLsjyZcxx> zcWrapper = new QueryWrapper<>();
zcWrapper.lambda()
.eq(GxzxLsjyZcxx::getQyuuid, qyuuid)
.eq(GxzxLsjyZcxx::getSjzt, "Y");
long lsjyCount = gxzxLsjyZcxxService.count(zcWrapper);
statsVO.setLsjyCount((int) lsjyCount);
statsVO.setDclxxCount(0);
return statsVO;
}
}

View File

@ -0,0 +1,59 @@
package com.css.txw.mhzc.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.css.ggzc.framework.common.util.object.BeanUtils;
import com.css.txw.mhzc.mapper.TxwGxzxSjlbbMapper;
import com.css.txw.mhzc.pojo.domain.TxwGxzxSjlbbDO;
import com.css.txw.mhzc.pojo.vo.SjlbbReqVO;
import com.css.txw.mhzc.pojo.vo.SjlbbVO;
import com.css.txw.mhzc.service.TxwGxzxSjlbbService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 数据市场数据列表表 Service实现
*/
@Service
public class TxwGxzxSjlbbServiceImpl extends ServiceImpl<TxwGxzxSjlbbMapper, TxwGxzxSjlbbDO>
implements TxwGxzxSjlbbService {
@Resource
private TxwGxzxSjlbbMapper sjlbbMapper;
@Override
public Page<SjlbbVO> sjlbbList(SjlbbReqVO reqVO) {
Page<TxwGxzxSjlbbDO> page = sjlbbMapper.sjlbbList(reqVO);
return convertToPage(page);
}
@Override
public Page<SjlbbVO> sjlbbListByYh(SjlbbReqVO reqVO, String yhuuid) {
Page<TxwGxzxSjlbbDO> page = sjlbbMapper.sjlbbListByYh(reqVO, yhuuid);
return convertToPage(page);
}
@Override
public SjlbbVO getSjlbb(String uuid) {
TxwGxzxSjlbbDO sjlbbDO = getById(uuid);
if (sjlbbDO == null) return null;
SjlbbVO vo = BeanUtils.toBean(sjlbbDO, SjlbbVO.class);
// 浏览次数+1
TxwGxzxSjlbbDO updateDO = new TxwGxzxSjlbbDO();
updateDO.setUuid(uuid);
updateDO.setLlcs(sjlbbDO.getLlcs() == null ? 1 : sjlbbDO.getLlcs() + 1);
updateById(updateDO);
return vo;
}
private Page<SjlbbVO> convertToPage(Page<TxwGxzxSjlbbDO> page) {
Page<SjlbbVO> result = new Page<>();
result.setRecords(BeanUtils.toBean(page.getRecords(), SjlbbVO.class));
result.setSize(page.getSize());
result.setPages(page.getPages());
result.setTotal(page.getTotal());
result.setCurrent(page.getCurrent());
return result;
}
}

View File

@ -0,0 +1,79 @@
package com.css.txw.mhzc.service.impl;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.css.ggzc.framework.common.util.object.BeanUtils;
import com.css.ggzc.framework.session.SessionUtils;
import com.css.txw.mhzc.mapper.TxwGxzxSjscbMapper;
import com.css.txw.mhzc.pojo.domain.TxwGxzxSjscbDO;
import com.css.txw.mhzc.pojo.vo.SjscReqVO;
import com.css.txw.mhzc.pojo.vo.SjscVO;
import com.css.txw.mhzc.service.TxwGxzxSjscbService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
/**
* 数据市场数据库表 Service实现
*/
@Service
public class TxwGxzxSjscbServiceImpl extends ServiceImpl<TxwGxzxSjscbMapper, TxwGxzxSjscbDO>
implements TxwGxzxSjscbService {
@Resource
private TxwGxzxSjscbMapper sjscbMapper;
@Override
public Page<SjscVO> sjscList(SjscReqVO reqVO) {
Page<TxwGxzxSjscbDO> page = sjscbMapper.sjscList(reqVO);
return convertToPage(page);
}
@Override
public Page<SjscVO> sjscListByYh(SjscReqVO reqVO) {
Page<TxwGxzxSjscbDO> page = sjscbMapper.sjscListByYh(reqVO, SessionUtils.getYhUuid());
return convertToPage(page);
}
@Transactional
@Override
public String sjscfb(SjscReqVO reqVO) {
TxwGxzxSjscbDO sjscbDO = BeanUtils.toBean(reqVO, TxwGxzxSjscbDO.class);
sjscbDO.setUuid(IdUtil.fastSimpleUUID());
sjscbDO.setQyuuid(SessionUtils.getQyuuid());
sjscbDO.setQymc((String) SessionUtils.get("qymc"));
sjscbDO.setNsrsbh(SessionUtils.getNsrsbh());
sjscbDO.setSjzt("N");
sjscbDO.setZt("2");
sjscbDO.setLrrq(new Date());
sjscbDO.setLrruuid(SessionUtils.getYhUuid());
save(sjscbDO);
return "success";
}
@Override
public SjscVO getSjsc(String uuid) {
TxwGxzxSjscbDO sjscbDO = getById(uuid);
if (sjscbDO == null) return null;
SjscVO vo = BeanUtils.toBean(sjscbDO, SjscVO.class);
// 浏览次数+1
TxwGxzxSjscbDO updateDO = new TxwGxzxSjscbDO();
updateDO.setUuid(uuid);
updateDO.setLlcs(sjscbDO.getLlcs() == null ? 1 : sjscbDO.getLlcs() + 1);
updateById(updateDO);
return vo;
}
private Page<SjscVO> convertToPage(Page<TxwGxzxSjscbDO> page) {
Page<SjscVO> result = new Page<>();
result.setRecords(BeanUtils.toBean(page.getRecords(), SjscVO.class));
result.setSize(page.getSize());
result.setPages(page.getPages());
result.setTotal(page.getTotal());
result.setCurrent(page.getCurrent());
return result;
}
}

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.css.txw.mhzc.mapper.TxwGxzxSjlbbMapper">
<resultMap id="BaseResultMap" type="com.css.txw.mhzc.pojo.domain.TxwGxzxSjlbbDO">
<id property="uuid" column="uuid" jdbcType="VARCHAR"/>
<result property="sjscUuid" column="sjsc_uuid" jdbcType="VARCHAR"/>
<result property="sjlxDm" column="sjlx_dm" jdbcType="VARCHAR"/>
<result property="sjmc" column="sjmc" jdbcType="VARCHAR"/>
<result property="sjms" column="sjms" jdbcType="VARCHAR"/>
<result property="sjbt" column="sjbt" jdbcType="VARCHAR"/>
<result property="jg" column="jg" jdbcType="DECIMAL"/>
<result property="jgDw" column="jg_dw" jdbcType="VARCHAR"/>
<result property="yxq" column="yxq" jdbcType="DATE"/>
<result property="sjgs" column="sjgs" jdbcType="VARCHAR"/>
<result property="sjdw" column="sjdw" jdbcType="VARCHAR"/>
<result property="sjsl" column="sjsl" jdbcType="INTEGER"/>
<result property="llcs" column="llcs" jdbcType="INTEGER"/>
<result property="xzcs" column="xzcs" jdbcType="INTEGER"/>
<result property="sjwz" column="sjwz" jdbcType="VARCHAR"/>
<result property="kzwj" column="kzwj" jdbcType="VARCHAR"/>
<result property="lxr" column="lxr" jdbcType="VARCHAR"/>
<result property="lxdh" column="lxdh" jdbcType="VARCHAR"/>
<result property="email" column="email" jdbcType="VARCHAR"/>
<result property="zt" column="zt" jdbcType="CHAR"/>
<result property="qyuuid" column="qyuuid" jdbcType="VARCHAR"/>
<result property="qymc" column="qymc" jdbcType="VARCHAR"/>
<result property="nsrsbh" column="nsrsbh" jdbcType="VARCHAR"/>
<result property="lrrq" column="lrrq" jdbcType="TIMESTAMP"/>
<result property="lrruuid" column="lrruuid" jdbcType="VARCHAR"/>
<result property="xgrq" column="xgrq" jdbcType="TIMESTAMP"/>
<result property="xgruuid" column="xgruuid" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
uuid,sjsc_uuid,sjlx_dm,sjmc,sjms,sjbt,jg,jg_dw,yxq,sjgs,sjdw,sjsl,llcs,xzcs,sjwz,kzwj,lxr,lxdh,email,zt,qyuuid,qymc,nsrsbh,lrrq,lrruuid,xgrq,xgruuid
</sql>
</mapper>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.css.txw.mhzc.mapper.TxwGxzxSjscbMapper">
<resultMap id="BaseResultMap" type="com.css.txw.mhzc.pojo.domain.TxwGxzxSjscbDO">
<id property="uuid" column="uuid" jdbcType="VARCHAR"/>
<result property="sjlxDm" column="sjlx_dm" jdbcType="VARCHAR"/>
<result property="sjlxMc" column="sjlx_mc" jdbcType="VARCHAR"/>
<result property="sjmc" column="sjmc" jdbcType="VARCHAR"/>
<result property="sjms" column="sjms" jdbcType="VARCHAR"/>
<result property="sjbt" column="sjbt" jdbcType="VARCHAR"/>
<result property="qyuuid" column="qyuuid" jdbcType="VARCHAR"/>
<result property="qymc" column="qymc" jdbcType="VARCHAR"/>
<result property="nsrsbh" column="nsrsbh" jdbcType="VARCHAR"/>
<result property="sjzt" column="sjzt" jdbcType="CHAR"/>
<result property="zt" column="zt" jdbcType="CHAR"/>
<result property="llcs" column="llcs" jdbcType="INTEGER"/>
<result property="xzcs" column="xzcs" jdbcType="INTEGER"/>
<result property="kzwj" column="kzwj" jdbcType="VARCHAR"/>
<result property="sjly" column="sjly" jdbcType="VARCHAR"/>
<result property="sjwzm" column="sjwzm" jdbcType="VARCHAR"/>
<result property="sjwz" column="sjwz" jdbcType="VARCHAR"/>
<result property="lxr" column="lxr" jdbcType="VARCHAR"/>
<result property="lxdh" column="lxdh" jdbcType="VARCHAR"/>
<result property="email" column="email" jdbcType="VARCHAR"/>
<result property="lrrq" column="lrrq" jdbcType="TIMESTAMP"/>
<result property="lrruuid" column="lrruuid" jdbcType="VARCHAR"/>
<result property="xgrq" column="xgrq" jdbcType="TIMESTAMP"/>
<result property="xgruuid" column="xgruuid" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
uuid,sjlx_dm,sjlx_mc,sjmc,sjms,sjbt,qyuuid,qymc,nsrsbh,sjzt,zt,llcs,xzcs,kzwj,sjly,sjwzm,sjwz,lxr,lxdh,email,lrrq,lrruuid,xgrq,xgruuid
</sql>
</mapper>