feat: 新增数据市场模块前后端接口、调整工作台相关样式
This commit is contained in:
parent
f8ff99786d
commit
baf775acbd
0
docs/prod-data/数据市场.md
Normal file
0
docs/prod-data/数据市场.md
Normal file
49
docs/prod-data/服务中心.md
Normal file
49
docs/prod-data/服务中心.md
Normal 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
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
151
docs/prod-data/服务中心_insert.sql
Normal file
151
docs/prod-data/服务中心_insert.sql
Normal 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);
|
||||||
@ -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,
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
13
txw-mhzc-web/src/pages/index/api/gzt/index.js
Normal file
13
txw-mhzc-web/src/pages/index/api/gzt/index.js
Normal 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,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
@ -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">
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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' },
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -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>
|
||||||
|
|
||||||
|
|||||||
@ -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')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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">
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
86
txw-mhzc/sql/txw_gxzx_sjsc_sjlbb.sql
Normal file
86
txw-mhzc/sql/txw_gxzx_sjsc_sjlbb.sql
Normal 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='数据市场数据列表表';
|
||||||
|
|
||||||
|
-- 插入数据(绑定数据市场UUID:sjsc_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);
|
||||||
|
|
||||||
43
txw-mhzc/sql/txw_gxzx_sjscb.sql
Normal file
43
txw-mhzc/sql/txw_gxzx_sjscb.sql
Normal 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
|
||||||
|
);
|
||||||
10
txw-mhzc/sql/碳信网数据市场产品清单.csv
Normal file
10
txw-mhzc/sql/碳信网数据市场产品清单.csv
Normal 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
|
||||||
|
@ -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());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
package com.css.txw.mhzc.service;
|
||||||
|
|
||||||
|
import com.css.txw.mhzc.pojo.vo.DashboardStatsVO;
|
||||||
|
|
||||||
|
public interface GxzxStatsService {
|
||||||
|
|
||||||
|
DashboardStatsVO getStats();
|
||||||
|
|
||||||
|
}
|
||||||
@ -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);
|
||||||
|
}
|
||||||
@ -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);
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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>
|
||||||
@ -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>
|
||||||
Loading…
Reference in New Issue
Block a user