明树Git Lab

Commit 43c2e7ea authored by yangyajing's avatar yangyajing

场景tab按弹框分享,增加新闻动态

parent 6fcef932
...@@ -50,6 +50,10 @@ import chjhImg from "./assets/chjh.png" ...@@ -50,6 +50,10 @@ import chjhImg from "./assets/chjh.png"
import jmaiImg from "./assets/jmai.png" import jmaiImg from "./assets/jmai.png"
import bpsImg from "./assets/bps.png" import bpsImg from "./assets/bps.png"
import gsptImg from "./assets/gspt.png" import gsptImg from "./assets/gspt.png"
import sgzbImg from "./assets/sgzb.png"
import newsImg from "./assets/news.png"
import lzsjImg from "./assets/lzsj.jpeg"
import xibaoImg from "./assets/xibao.png"
// --- 1. Shared Data Definitions (Global Scope) --- // --- 1. Shared Data Definitions (Global Scope) ---
const certifications = [ const certifications = [
...@@ -213,7 +217,7 @@ const Sjgxdjpt = () => { ...@@ -213,7 +217,7 @@ const Sjgxdjpt = () => {
const scenarios = [ const scenarios = [
{ {
id: 1, id: "1",
title: '信贷风控', title: '信贷风控',
icon: <BarChart3 className="w-6 h-6 md:w-8 md:h-8 text-emerald-300" />, icon: <BarChart3 className="w-6 h-6 md:w-8 md:h-8 text-emerald-300" />,
desc: '依托明树数据海量投融资项目库,为金融机构提供全流程信贷风控与投资决策支持。', desc: '依托明树数据海量投融资项目库,为金融机构提供全流程信贷风控与投资决策支持。',
...@@ -232,7 +236,7 @@ const scenarios = [ ...@@ -232,7 +236,7 @@ const scenarios = [
] ]
}, },
{ {
id: 2, id: "2",
title: '数据资产ABS', title: '数据资产ABS',
icon: <FileText className="w-6 h-6 md:w-8 md:h-8 text-blue-300" />, icon: <FileText className="w-6 h-6 md:w-8 md:h-8 text-blue-300" />,
desc: '挖掘企业数据价值,设计交易结构,助力发行数据资产证券化产品。', desc: '挖掘企业数据价值,设计交易结构,助力发行数据资产证券化产品。',
...@@ -247,7 +251,7 @@ const scenarios = [ ...@@ -247,7 +251,7 @@ const scenarios = [
] ]
}, },
{ {
id: 3, id: "3",
title: '数据资产+融资租赁', title: '数据资产+融资租赁',
icon: <Coins className="w-6 h-6 md:w-8 md:h-8 text-yellow-300" />, icon: <Coins className="w-6 h-6 md:w-8 md:h-8 text-yellow-300" />,
desc: '创新“数据资产入表+售后回租”模式,拓宽企业融资渠道。', desc: '创新“数据资产入表+售后回租”模式,拓宽企业融资渠道。',
...@@ -261,7 +265,7 @@ const scenarios = [ ...@@ -261,7 +265,7 @@ const scenarios = [
] ]
}, },
{ {
id: 4, id: "4",
title: '交通量预测和OD分析', title: '交通量预测和OD分析',
icon: <Truck className="w-6 h-6 md:w-8 md:h-8 text-orange-300" />, icon: <Truck className="w-6 h-6 md:w-8 md:h-8 text-orange-300" />,
desc: '基于多源大数据的交通流精准预测与起止点(OD)分析,赋能交通规划。', desc: '基于多源大数据的交通流精准预测与起止点(OD)分析,赋能交通规划。',
...@@ -279,7 +283,7 @@ const scenarios = [ ...@@ -279,7 +283,7 @@ const scenarios = [
] ]
}, },
{ {
id: 5, id: "5",
title: '地方政府“三资三化”', title: '地方政府“三资三化”',
icon: <Globe className="w-6 h-6 md:w-8 md:h-8 text-teal-300" />, icon: <Globe className="w-6 h-6 md:w-8 md:h-8 text-teal-300" />,
desc: '聚焦国有资源、资产、资金的盘活与运作,推动资源资产化、资产资本化、资本证券化。', desc: '聚焦国有资源、资产、资金的盘活与运作,推动资源资产化、资产资本化、资本证券化。',
...@@ -297,7 +301,7 @@ const scenarios = [ ...@@ -297,7 +301,7 @@ const scenarios = [
] ]
}, },
{ {
id: 6, id: "6",
title: '低空经济', title: '低空经济',
icon: <Rocket className="w-6 h-6 md:w-8 md:h-8 text-purple-300" />, icon: <Rocket className="w-6 h-6 md:w-8 md:h-8 text-purple-300" />,
desc: '聚焦数据要素,为地方政府与国企打造低空经济一揽子解决方案,助力地方低空经济布局与数据资产价值提升。', desc: '聚焦数据要素,为地方政府与国企打造低空经济一揽子解决方案,助力地方低空经济布局与数据资产价值提升。',
...@@ -319,7 +323,7 @@ const scenarios = [ ...@@ -319,7 +323,7 @@ const scenarios = [
] ]
}, },
{ {
id: 7, id: "7",
title: '存量PPP项目', title: '存量PPP项目',
icon: <Layers className="w-6 h-6 md:w-8 md:h-8 text-cyan-300" />, icon: <Layers className="w-6 h-6 md:w-8 md:h-8 text-cyan-300" />,
desc: '提供政府和社会资本合作(PPP)项目全生命周期管理咨询服务,提升项目运行质量效益。', desc: '提供政府和社会资本合作(PPP)项目全生命周期管理咨询服务,提升项目运行质量效益。',
...@@ -342,7 +346,7 @@ const scenarios = [ ...@@ -342,7 +346,7 @@ const scenarios = [
] ]
}, },
{ {
id: 8, id: "8",
title: '高速公路引流增收', title: '高速公路引流增收',
icon: <TrendingUp className="w-6 h-6 md:w-8 md:h-8 text-red-300" />, icon: <TrendingUp className="w-6 h-6 md:w-8 md:h-8 text-red-300" />,
desc: '运用大数据差异化收费与数字化营销,提升路网流量与营收。', desc: '运用大数据差异化收费与数字化营销,提升路网流量与营收。',
...@@ -571,6 +575,65 @@ const products = [ ...@@ -571,6 +575,65 @@ const products = [
]; ];
const newsTotal = [ const newsTotal = [
{
title: "春山可望,躬行致远:明树数据担纲S40公路(兰州段)特许经营方案编制咨询服务",
date: "2026/1/23",
category: "中标签约",
image: xibaoImg,
content: `明树数据中标S40庆阳至兰州公路(兰州段)特许经营咨询服务
新年伊始,万象更新!在2026年1月这充满希望的开局之际,北京明树数据科技有限公司(以下简称“明树数据”)传来捷报,成功中标S40庆阳至兰州公路(兰州段)项目特许经营方案编制咨询服务。
S40庆阳至兰州公路是区域交通网络的重要组成部分。此次明树数据中标该项目的特许经营方案编制咨询服务 ,将为项目的顺利实施提供关键的智力支持。
在本项目中,明树数据将充分发挥在投融资模式设计、财务测算、风险分配及合同体系构建等方面的核心优势,协助项目方科学设计特许经营方案,确保项目在合规性、融资可落地性及长期运营可持续性方面达到最优平衡。
作为国内领先的基础设施投融资大数据与咨询服务提供商,明树数据一直致力于将大数据技术与传统咨询业务深度融合。明树数据通过独有的数据库和精准的分析模型,为政府方及社会资本方提供从项目策划、投融资决策到后期绩效管理的全生命周期咨询服务。
此次中标S40公路项目,明树数据将以此为契机,继续秉持“专业、高效、创新”的服务理念,以严谨的态度和精湛的业务水平,为客户提供高质量的咨询成果,助力地方基础设施建设高质量发展。
2026年的序幕已经拉开,开年首标落定,为全年发展奠定了坚实基础。明树数据将继续深耕基础设施投融资领域,以数据为引擎,以专业为基石,与各界合作伙伴携手共进,在交通强国建设的征程中贡献更多“明树智慧”。
在公路基建市场化改革不断深化的今天,项目的合规性、可持续性和收益性成为各方关注的焦点。明树数据构建的“前期-谋划-实施-投后” 全链条服务体系,从项目前期交通量预测、特许经营方案编制、特许经营协议编制及谈判到后期通行费管理增收,从项目落地到运营全周期精准发力,成为行业领先的综合服务提供商。`
},
{
title: "明树数据受兰州市国资委邀请 助力兰州市数据资产化及资产证券化培训",
date: "2026/1/14",
category: "对外培训",
image: lzsjImg,
content: `2026年1月14日下午,由兰州市政府主办、市政府国资委承办的“兰州市数据资产化及证券化专题培训”在兰州数据交易中心圆满落幕。北京明树数据科技有限公司(以下简称“明树数据”)长期深耕于数据智能与资产价值,受邀于兰州市政府、市国有资产监督管理委员会,为兰州各级政府部门及国有企业开展数据资产化及资产证券化专题培训。
本次培训汇聚了市委金融办、市财政局、市数据局、市知识产权局等市直单位分管领导及负责人,各区(县)政府及国资监管部门负责人,市、区(县)两级相关国有企业分管领导、财务总监及数据资产部门负责人等60余人,由兰州市政府秘书长马进礼主持。培训紧扣前沿政策与实战应用核心,旨在响应数字中国战略,推动兰州主动融入全国统一数据要素大市场建设,以数据要素市场化配置改革培育经济增长新动能,是当地发展新质生产力的重要举措。
明树数据董事长肖光睿以“数据资产化政策解读与市场分析”为题,为参训人员带来了数据要素市场前沿的政策解读与市场洞察。授课中,肖光睿董事长系统梳理了《企业数据资源相关会计处理暂行规定》《数据资产全过程管理试点方案》等国家核心政策的出台背景、核心要求与实践导向,深度契合“数据二十条”提出的“三权分置”数据产权制度框架,精准解读了数据知识产权登记、证券化融资等地方配套政策的着力方向。结合当前全国数据要素市场动态,深入剖析了行业发展趋势与机遇挑战,为兰州把握数据资产化宏观方向、找准本地推进路径提供了清晰指引,助力参训人员建立起政策与市场联动的全局认知。
针对企业普遍面临的“数据内耗”痛点及资产化落地难题,明树数据副总经理史静丽以“数据资产化业务实操路径”为主题,开展了极具针对性的实务分享。她从法律与会计双重维度,明确了数据资产的定义、确认条件及与数据资源的本质区别,厘清了数据资产化、价值评估、证券化(ABS)等关键环节的内在逻辑与操作要点,并结合明树数据“AI驱动+资产化闭环”的破局理念,为参训人员拆解数据从成本向资产转化的核心逻辑。依托自主研发的“明树智数”数据资产管理平台,史静丽副总经理详细介绍了平台在多源数据融合接入、敏感数据安全脱敏、AI智能场景匹配、内置估值算法等方面的核心能力,结合兰州黄河生态控股集团有限公司及兰州市轨道交通有限公司票务数据确权等本地先行项目案例,系统拆解了从数据确权登记、成本合规归集、价值评估论证、会计入表处理到后续运营维护与信息披露的全链条操作规范,同时深入剖析数据资产ABS发行的核心流程与关键要素,有效破解了参训人员在实务推进中的困惑,显著提升了其操作能力与风险管控水平。
中国银河证券投行信用债二部ABS&公募REITs业务总监李庭毅围绕“数据资产证券化市场案例及实施路径”,深入介绍了数据资产证券化在国内外的实践基础、主流交易结构及典型案例。他重点分享了基于兰州本地企业实践的数据资产资本化可行性分析与经验启示,精准指出了当前推进数据资产证券化面临的核心难点、风险评估与缓释措施,并就银行授信关注要点、政策支持衔接等落地条件进行了细致讲解,为国有企业探索创新融资模式、盘活存量数据资源提供了切实可行的思路与借鉴。
明树数据专家团队的授课内容因兼具政策高度、实操深度与本地适配性,得到了参训人员的广泛认可与高度评价。作为专注于数据要素价值挖掘的高新技术企业,明树数据深耕行业多年,开创“数据+软件+咨询”全新服务模式,自主研发的“明树智数”数据资产管理平台可提供数据资源采集、治理、场景开发、价值评估、动态管理一站式服务,内置百余种应用场景及智能估值模型,已获多项专利技术认证。公司不仅在交通行业大数据分析、城市治理等领域成果丰硕,入选《中国交通运输2022》优秀案例,更凭借在甘肃本地的实践成果荣获“2024数据要素x大赛”甘肃省城市治理赛道一等奖,此次培训亦是公司继2024年为兰州国企开展数据资产管理培训后,再次深度赋能兰州数字经济发展。
未来,明树数据将持续发挥政策解读、实操落地、平台技术及资源整合等核心优势,深度对接兰州数据要素市场建设需求,以“明树智数”平台为支撑,为当地国有企业提供数据资产管理全流程解决方案,助力盘活存量数据资源、创新融资模式,携手推动兰州在数据资产化、证券化领域持续突破,为培育新质生产力、服务地方高质量发展大局注入强劲数据动能。`
},
{
title: "明树数据携手成都数创物联 共筑三大 AI 核心系统 赋能国企数智化转型",
date: "2026/1/16",
category: "中标签约",
image: newsImg,
content: `近日,北京明树数据科技有限公司(以下简称 “明树数据”)与成都数创物联科技有限公司(以下简称 “成都数创物联”)正式签订数据应用支撑服务合同。双方将以 AI 技术深度融合业务场景为核心,围绕企业业务 AI 助手、智慧纪检 AI 应用、企业 AI 办公助手三大核心系统开展全方位合作,共同推动国企数字化转型迈向新阶段。
1.强强联合 锚定数智化发展新方向
数创物联由成都数据集团、创意信息和源图时代科技于2019年共同出资成立,以政府和企业客户的数字化应用为载体,以数据驱动业务智能化发展为目标,由最初的“i-Chengdu”无线城市项目运营和运维商,逐步向政务、能源、园区等多领域数智化服务商发展,此次合作是成都数创物联深化 “数智服务支撑智慧蓉城建设” 战略的关键举措,旨在通过 AI 技术赋能核心业务,提升运营效率与管理精细化水平。
明树数据作为专注数据智能应用和数据资产管理的科技企业,深耕 “数据+软件+咨询” 一体化服务模式,已为上百家金融机构及大型企业提供数据交易、数据治理、数据应用等全链条服务。凭借海量多源数据积累与AI技术研发实力,明树数据将为成都产投集团提供定制化、场景化的智能解决方案,助力其释放数据要素价值。
2.搭建三大 AI 系统 精准赋能业务全场景
根据合作规划,明树数据将基于成都国有企业业务需求与数字化转型战略布局,全面推进三大AI核心系统的建设与落地:
业务AI助手,构建覆盖业务咨询、数据查询、流程指引等多功能的智能服务入口。该系统将整合集团全量业务数据与知识库,通过自然语言处理技术实现秒级响应,为员工提供 “即问即答” 的高效服务,同时支撑管理层决策分析,助力业务精准推进。
智慧纪检AI应用,依托知识图谱与智能研判技术构建数字化监督体系。系统将整合党纪法规、典型案例等核心数据,实现线索分类分级、风险预警与合规审查等功能,推动纪检监督从 “事后处置” 向 “事前预防、事中管控” 转变,助力监督提质增效。
AI办公助手,聚焦 “问、写、办、查” 四大核心场景。通过智能文档处理、会议管理自动化、流程审批优化等功能,实现公文撰写、会议纪要生成、跨部门协作等办公场景的效率提升,推动办公模式从 “手动操作” 向 “智能协同” 跃迁。
3.深化协同 共绘国企转型新蓝图
此次合作是双方优势互补、战略契合的重要成果。未来,明树数据将持续深化在AI应用、数据资产化运营等领域的服务能力,探索更多数字化转型场景,打造更多国企与科技企业协同创新的标杆案例,为成都现代化产业体系建设与数字经济高质量发展注入强劲动力。 `
},
{
title: "年终收官再添彩!明树数据中标潜江特许经营智慧监管平台项目",
date: "2025/12/31",
category: "中标签约",
image: sgzbImg,
content: ""
},
{ {
title: "明树数据发布场景驱动型数据价值共生平台", title: "明树数据发布场景驱动型数据价值共生平台",
date: "2025-12-21", date: "2025-12-21",
...@@ -1915,7 +1978,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario, setWechatShare }) => { ...@@ -1915,7 +1978,10 @@ const HomeSection = ({ setActiveTab, setSelectedScenario, setWechatShare }) => {
{scenarios.slice(0, 6).map((item, i) => ( {scenarios.slice(0, 6).map((item, i) => (
<div <div
key={i} key={i}
onClick={() => setSelectedScenario(item)} onClick={() => {
setSelectedScenario(item);
setWechatShare("scenarios", "", item);
}}
className="min-w-[280px] md:min-w-[320px] snap-center h-[380px] group p-6 className="min-w-[280px] md:min-w-[320px] snap-center h-[380px] group p-6
hover:from-[#1c1f26] hover:to-[#1c1f26] backdrop-blur-md hover:from-[#1c1f26] hover:to-[#1c1f26] backdrop-blur-md
border border-white/5 border border-white/5
...@@ -2091,6 +2157,11 @@ const App = () => { ...@@ -2091,6 +2157,11 @@ const App = () => {
pageType && setActiveTab(pageType); pageType && setActiveTab(pageType);
let serviceType = params.get("servicetype"); let serviceType = params.get("servicetype");
serviceType && setActiveServiceTab(serviceType); serviceType && setActiveServiceTab(serviceType);
let activeScenarios = params.get("activeScenarios");
if (activeScenarios) {
let item = scenarios.filter(obj => obj.id === activeScenarios)[0];
item && setSelectedScenario(item);
}
const handleScroll = () => { const handleScroll = () => {
setScrolled(window.scrollY > 50); setScrolled(window.scrollY > 50);
...@@ -2129,15 +2200,17 @@ const App = () => { ...@@ -2129,15 +2200,17 @@ const App = () => {
window.scrollTo({ top: 0, behavior: 'smooth' }); window.scrollTo({ top: 0, behavior: 'smooth' });
setWechatShare(id); setWechatShare(id);
}; };
const getPageURl = (tab, serviceTab) => { const getPageURl = (tab, serviceTab, activeScenario) => {
let url = location.origin + "?pagetype=" + tab; let url = location.origin + "?pagetype=" + tab;
if (tab === "services" && serviceTab) { if (tab === "services" && serviceTab) {
url += ("&servicetype=" + serviceTab); url += ("&servicetype=" + serviceTab);
} else if (tab === "scenarios" && activeScenario) {
url += ("&activeScenarios=" + activeScenario.id);
} }
return url; return url;
} }
const handleShare = async () => { const handleShare = async () => {
let url = getPageURl(activeTab, activeServiceTab); let url = getPageURl(activeTab, activeServiceTab, selectedScenario);
await navigator.clipboard.writeText(url); await navigator.clipboard.writeText(url);
setConsoleData({ setConsoleData({
text: "链接已复制到剪切板" text: "链接已复制到剪切板"
...@@ -2213,13 +2286,13 @@ const App = () => { ...@@ -2213,13 +2286,13 @@ const App = () => {
// } // }
}; };
// 设置移动端分享路径 // 设置移动端分享路径
const setWechatShare = (tab, serviceTab) => { const setWechatShare = (tab, serviceTab, activeScenario) => {
let url = getPageURl(tab, serviceTab, activeScenario);
if (window.__wxjs_environment === 'miniprogram' || /miniProgram/.test(navigator.userAgent)) { if (window.__wxjs_environment === 'miniprogram' || /miniProgram/.test(navigator.userAgent)) {
let url = getPageURl(tab, serviceTab);
wx.miniProgram.postMessage({ wx.miniProgram.postMessage({
data: { data: {
type: 'share', type: 'share',
path: '/pages/webview/webview?url=' + encodeURIComponent(url), path: '/pages/index/index?url=' + encodeURIComponent(url),
timestamp: Date.now() timestamp: Date.now()
} }
}) })
...@@ -2448,7 +2521,10 @@ const App = () => { ...@@ -2448,7 +2521,10 @@ const App = () => {
{scenarios.map((item, i) => ( {scenarios.map((item, i) => (
<div <div
key={i} key={i}
onClick={() => setSelectedScenario(item)} onClick={() => {
setSelectedScenario(item);
setWechatShare("scenarios", "", item);
}}
className="min-w-[220px] h-[380px] group p-6 className="min-w-[220px] h-[380px] group p-6
hover:from-[#1c1f26] hover:to-[#1c1f26] backdrop-blur-md hover:from-[#1c1f26] hover:to-[#1c1f26] backdrop-blur-md
border border-white/5 border border-white/5
...@@ -2925,7 +3001,10 @@ const App = () => { ...@@ -2925,7 +3001,10 @@ const App = () => {
{/* Scenario Detail Modal (Kept as is) */} {/* Scenario Detail Modal (Kept as is) */}
{selectedScenario && ( {selectedScenario && (
<div className="fixed inset-0 z-[200] flex items-center justify-center p-2 md:p-4"> <div className="fixed inset-0 z-[200] flex items-center justify-center p-2 md:p-4">
<div className="absolute inset-0 bg-black/90 backdrop-blur-md" onClick={() => setSelectedScenario(null)}></div> <div className="absolute inset-0 bg-black/90 backdrop-blur-md" onClick={() => {
setSelectedScenario(null);
setWechatShare("scenarios", "", null);
}}></div>
<div id="scenario-modal" className="bg-[#16181d] border border-[#00FFC2]/20 rounded-lg w-full max-w-4xl relative z-20 overflow-hidden shadow-2xl animate-fade-in-up flex flex-col h-[100dvh] md:h-auto md:max-h-[90vh]"> <div id="scenario-modal" className="bg-[#16181d] border border-[#00FFC2]/20 rounded-lg w-full max-w-4xl relative z-20 overflow-hidden shadow-2xl animate-fade-in-up flex flex-col h-[100dvh] md:h-auto md:max-h-[90vh]">
<div className="flex justify-between items-center p-4 md:p-6 border-b border-white/10 bg-[#111318] shrink-0"> <div className="flex justify-between items-center p-4 md:p-6 border-b border-white/10 bg-[#111318] shrink-0">
<div className="flex items-center gap-2 md:gap-3"> <div className="flex items-center gap-2 md:gap-3">
...@@ -2934,7 +3013,10 @@ const App = () => { ...@@ -2934,7 +3013,10 @@ const App = () => {
</div> </div>
<h3 className="text-lg md:text-2xl font-bold text-white tracking-wide">{selectedScenario.title}</h3> <h3 className="text-lg md:text-2xl font-bold text-white tracking-wide">{selectedScenario.title}</h3>
</div> </div>
<button onClick={() => setSelectedScenario(null)} className="p-2 hover:bg-white/10 rounded-full transition-colors"> <button onClick={() => {
setSelectedScenario(null);
setWechatShare("scenarios", "", null);
}} className="p-2 hover:bg-white/10 rounded-full transition-colors">
<X className="w-5 h-5 md:w-6 md:h-6 text-gray-400 hover:text-white" /> <X className="w-5 h-5 md:w-6 md:h-6 text-gray-400 hover:text-white" />
</button> </button>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment