yanghao il y a 1 mois
Parent
commit
ba9f80e266
47 fichiers modifiés avec 4635 ajouts et 141 suppressions
  1. BIN
      src/assets/images/banner2.jpg
  2. BIN
      src/assets/images/bg-index-3.jpg
  3. BIN
      src/assets/images/bg4.jpg
  4. BIN
      src/assets/images/bg5.jpg
  5. BIN
      src/assets/images/newbg.jpg
  6. BIN
      src/assets/images/xin1.png
  7. BIN
      src/assets/images/xin2.png
  8. BIN
      src/assets/images/xin3.png
  9. BIN
      src/assets/images/xin4bg.png
  10. BIN
      src/assets/images/xin4bg2.png
  11. BIN
      src/assets/images/xin4bg3.png
  12. BIN
      src/assets/images/xin4bg4.png
  13. BIN
      src/assets/images/xin4bg5.png
  14. BIN
      src/assets/images/xin5bg.png
  15. BIN
      src/assets/images/xin6bg.png
  16. BIN
      src/assets/images/xin6bg2.png
  17. BIN
      src/assets/images/xin6bg3.png
  18. BIN
      src/assets/images/xin7bg.png
  19. BIN
      src/assets/images/xin7bg2.png
  20. BIN
      src/assets/images/xin7bg3.png
  21. BIN
      src/assets/images/xin7bg4.png
  22. BIN
      src/assets/images/zhi1bg.png
  23. BIN
      src/assets/images/zhi1bg2.png
  24. BIN
      src/assets/images/zhi1bg3.png
  25. BIN
      src/assets/images/zhi2bg1.png
  26. BIN
      src/assets/images/zhi2bg2.png
  27. BIN
      src/assets/images/zhi2bg3.png
  28. BIN
      src/assets/images/zhi2bg4.png
  29. 1 0
      src/components/layout/AppHeader.vue
  30. 2878 0
      src/components/motion/HomeView.vue
  31. 117 0
      src/components/motion/NewsView.vue
  32. 733 0
      src/components/motion/SolutionsView.vue
  33. 20 0
      src/router/index.js
  34. 3 3
      src/views/ContactView.vue
  35. 36 33
      src/views/HomeView.vue
  36. 19 10
      src/views/NewsView.vue
  37. 2 1
      src/views/ProductsView.vue
  38. 5 4
      src/views/SolutionsView.vue
  39. 1 1
      src/views/cases/case1.vue
  40. 1 1
      src/views/cases/case2.vue
  41. 1 1
      src/views/cases/case3.vue
  42. 24 37
      src/views/news/new1.vue
  43. 203 0
      src/views/news/new3.vue
  44. 31 50
      src/views/news/new4.vue
  45. 174 0
      src/views/news/new5.vue
  46. 178 0
      src/views/news/new6.vue
  47. 208 0
      src/views/news/new7.vue

BIN
src/assets/images/banner2.jpg


BIN
src/assets/images/bg-index-3.jpg


BIN
src/assets/images/bg4.jpg


BIN
src/assets/images/bg5.jpg


BIN
src/assets/images/newbg.jpg


BIN
src/assets/images/xin1.png


BIN
src/assets/images/xin2.png


BIN
src/assets/images/xin3.png


BIN
src/assets/images/xin4bg.png


BIN
src/assets/images/xin4bg2.png


BIN
src/assets/images/xin4bg3.png


BIN
src/assets/images/xin4bg4.png


BIN
src/assets/images/xin4bg5.png


BIN
src/assets/images/xin5bg.png


BIN
src/assets/images/xin6bg.png


BIN
src/assets/images/xin6bg2.png


BIN
src/assets/images/xin6bg3.png


BIN
src/assets/images/xin7bg.png


BIN
src/assets/images/xin7bg2.png


BIN
src/assets/images/xin7bg3.png


BIN
src/assets/images/xin7bg4.png


BIN
src/assets/images/zhi1bg.png


BIN
src/assets/images/zhi1bg2.png


BIN
src/assets/images/zhi1bg3.png


BIN
src/assets/images/zhi2bg1.png


BIN
src/assets/images/zhi2bg2.png


BIN
src/assets/images/zhi2bg3.png


BIN
src/assets/images/zhi2bg4.png


+ 1 - 0
src/components/layout/AppHeader.vue

@@ -17,6 +17,7 @@ const dropdowns = {
 };
 
 const navItems = [
+  { label: "首页", to: "/" },
   { label: "产品", to: "/products" },
   { label: "解决方案", to: "/solutions" },
   {

+ 2878 - 0
src/components/motion/HomeView.vue

@@ -0,0 +1,2878 @@
+<script setup>
+import banner1Url from "../assets/images/banner.jpg?url";
+import news1 from "../assets/images/news1.jpg?url";
+import news3 from "../assets/images/news3.png?url";
+import news4 from "../assets/images/news4.png?url";
+import banner2Url from "../assets/images/banner2.jpg?url";
+import banner3Url from "../assets/images/banner3.jpg?url";
+import solutionsBgUrl from "../assets/images/bg.jpg?url";
+import capabilitiesBgUrl from "../assets/images/bg2.jpg?url";
+import sectionDataUrl from "../assets/illustrations/section-data.svg?url";
+import heroIndustrialUrl from "../assets/illustrations/hero-industrial.svg?url";
+import afterSalesUrl from "../assets/images/h8.png?url";
+import indexImg4BacksUrl from "../assets/images/index_img4_backs.png?url";
+import indexBack2Url from "../assets/images/index_back2.png?url";
+import jiaohuIconUrl from "../assets/images/h1.png?url";
+import h3 from "../assets/images/h3.png?url";
+import h4 from "../assets/images/h4.png?url";
+import h5 from "../assets/images/h5.png?url";
+import h6 from "../assets/images/h6.png?url";
+import h7 from "../assets/images/h7.png?url";
+import h8 from "../assets/images/h8.png?url";
+import h9 from "../assets/images/h9.png?url";
+import value1 from "../assets/images/value1.png?url";
+import value2 from "../assets/images/value2.png?url";
+import value3 from "../assets/images/value3.jpg?url";
+import value4 from "../assets/images/value4.png?url";
+import value5 from "../assets/images/value5.jpg?url";
+import jishu from "../assets/images/jishu.jpg?url";
+import planIconUrl from "../assets/images/h2.png?url";
+import p1 from "../assets/images/p1.png?url";
+import p2 from "../assets/images/p2.png?url";
+// import p4 from "../assets/images/p4.png?url";
+import p3 from "../assets/images/p3.png?url";
+import sence2 from "../assets/images/sence2.jpg?url";
+import sence3 from "../assets/images/sence3.png?url";
+import sence from "../assets/images/sence.png?url";
+import sence4 from "../assets/images/sence4.png?url";
+import sence6 from "../assets/images/sence6.jpeg?url";
+import b1 from "../assets/images/b1.png";
+import b2 from "../assets/images/b2.png";
+import b3 from "../assets/images/b3.png";
+import b4 from "../assets/images/b4.png";
+import b5 from "../assets/images/b5.png";
+import CountUp from "../components/motion/CountUp.vue";
+import Reveal from "../components/motion/Reveal.vue";
+import { computed, onBeforeUnmount, onMounted, ref } from "vue";
+import { Icon } from "@iconify/vue";
+import { useRouter } from "vue-router";
+
+import xin1 from "../assets/images/xin1.png";
+import xin2 from "../assets/images/xin2.png";
+
+const router = useRouter();
+
+const slides = [
+  {
+    bg: banner1Url,
+    kicker: "油田数智化 · 端边云协同 · 生产经营一体化",
+    headline1: "油气领域专属工业互联网平台",
+    headline2Before: "",
+    headline2Emphasis: "",
+    headline2After: "",
+    desc: "以边云协同、AI驱动智能决策,是打通油气领域全链条的数据中枢,实现设备互联、数据贯通与业务协同,助力油气生产更高效、更安全、更绿色",
+  },
+  {
+    bg: banner2Url,
+    kicker: "油田数据治理 · 主数据/指标 · 统一口径",
+    headline1: "油气专属设备智能管理平台",
+    headline2Before: "",
+    headline2Emphasis: "",
+    headline2After: "",
+    desc: "基于油气领域工业互联网平台,打造数采、设备、维保、巡检、预测性维护与一体的设备管理系统,实现全生命周期数字化管控。以数据驱动智运维,提升设备可靠性与运行效率,为油气生产安全、稳定运行提供坚实支撑",
+  },
+  {
+    bg: banner3Url,
+    kicker: "场景方案 · 快速复制 · 价值闭环",
+    headline1: "AI钻井优化,提升钻井效率,缩短钻井周期",
+    headline2Before: "",
+    headline2Emphasis: "",
+    headline2After: "",
+    desc: "基于数采、大模型技术,打造智能钻井优化方案,实时提供钻井参数优化与场指导,助力钻速提升30%以上。以AI驱动智能钻井、降本增效、安全可控,为油气勘探开发注入数智动能 ",
+  },
+];
+
+const heroBottomTiles = [
+  {
+    icon: "lucide:package-check",
+    title: "解决方案",
+    desc: "一站式解决方案",
+    url: b1,
+  },
+  {
+    icon: "lucide:layers",
+    title: "客户案例",
+    desc: "覆盖行业广泛",
+    url: b2,
+  },
+  {
+    icon: "lucide:beaker",
+    title: "数据驱动",
+    desc: "数据资产驱动价值闭环",
+    url: b3,
+  },
+  {
+    icon: "lucide:shield-check",
+    title: "量化指标",
+    desc: "数据指标可视化,清晰易懂",
+    url: b4,
+  },
+  {
+    icon: "lucide:compass",
+    title: "设备运维",
+    desc: "设备全生命周期管理",
+    url: b5,
+  },
+];
+
+const activeIndex = ref(0);
+const paused = ref(false);
+const autoplayMs = 6500;
+let timer = null;
+
+const activeSlide = computed(() => slides[activeIndex.value]);
+const bgStyle = computed(() => ({
+  backgroundImage: `url(${activeSlide.value.bg})`,
+}));
+
+function prefersReducedMotion() {
+  return (
+    typeof window !== "undefined" &&
+    window.matchMedia &&
+    window.matchMedia("(prefers-reduced-motion: reduce)").matches
+  );
+}
+
+function next() {
+  activeIndex.value = (activeIndex.value + 1) % slides.length;
+}
+
+function goTo(index) {
+  activeIndex.value = index;
+}
+
+function start() {
+  if (prefersReducedMotion()) return;
+  stop();
+  timer = setInterval(() => {
+    if (!paused.value) next();
+  }, autoplayMs);
+}
+
+function stop() {
+  if (!timer) return;
+  clearInterval(timer);
+  timer = null;
+}
+
+onMounted(start);
+onBeforeUnmount(stop);
+
+const capabilityPlatforms = [
+  {
+    title: "连接现场设备",
+    desc: "打通井场、站控与 SCADA 数据链路,构建稳定可扩展的采集与边缘体系。",
+    art: heroIndustrialUrl,
+    variant: "connect",
+    modules: [
+      { title: "多协议采集", icon: "lucide:radio-tower" },
+      { title: "SCADA 接入", icon: "lucide:plug-zap" },
+      { title: "边缘计算", icon: "lucide:cpu" },
+      { title: "离线缓存", icon: "lucide:hard-drive-download" },
+      { title: "资产台账", icon: "lucide:barcode" },
+      { title: "运行监控", icon: "lucide:activity" },
+      { title: "告警联动", icon: "lucide:bell-ring" },
+      { title: "远程运维", icon: "lucide:wrench" },
+      { title: "时序存储", icon: "lucide:clock-3" },
+    ],
+  },
+  {
+    title: "数据资产治理",
+    desc: "统一资产与指标口径,完善血缘与质量体系,让数据资产可管、可用、可运营。",
+    art: sectionDataUrl,
+    variant: "connect",
+    modules: [
+      { title: "资产目录", icon: "lucide:library" },
+      { title: "主数据管理", icon: "lucide:id-card" },
+      { title: "血缘追踪", icon: "lucide:git-fork" },
+      { title: "质量校验", icon: "lucide:badge-check" },
+      { title: "指标中心", icon: "lucide:gauge" },
+      { title: "标签体系", icon: "lucide:tags" },
+      { title: "权限审计", icon: "lucide:shield-check" },
+      { title: "数据脱敏", icon: "lucide:eye-off" },
+      { title: "数据服务 API", icon: "lucide:braces" },
+    ],
+  },
+  {
+    title: "生产运营决策",
+    desc: "面向生产运行与经营管理,快速构建大屏、报表、预警与处置闭环应用。",
+    art: heroIndustrialUrl,
+    variant: "connect",
+    modules: [
+      { title: "生产指挥大屏", icon: "lucide:layout-dashboard" },
+      { title: "报表中心", icon: "lucide:file-bar-chart" },
+      { title: "异常预警", icon: "lucide:siren" },
+      { title: "工单闭环", icon: "lucide:clipboard-check" },
+      { title: "能耗管理", icon: "lucide:zap" },
+      {
+        title: "注采分析",
+        icon: "lucide:droplets",
+        badge: "新",
+        badgeTone: "new",
+      },
+      { title: "集输监测", icon: "lucide:route" },
+      {
+        title: "预测维护",
+        icon: "lucide:heart-pulse",
+        badge: "热",
+        badgeTone: "hot",
+      },
+      {
+        title: "智能问答",
+        icon: "lucide:messages-square",
+        badge: "新",
+        badgeTone: "new",
+      },
+    ],
+  },
+];
+
+const products = [
+  {
+    title: "油田数智底座(PaaS)",
+    desc: "面向油田场景的数字底座:模型、流程、权限、消息与开放接口。",
+    tags: ["组件化", "开放 API", "多租户"],
+    cover: p1,
+  },
+  {
+    title: "井站物联与边缘网关",
+    desc: "统一接入、监控、告警与远程运维,沉淀井站资产与运行状态。",
+    tags: ["协议适配", "边缘采集", "运行监控"],
+    cover: banner2Url,
+  },
+  {
+    title: "数据资产与指标中心",
+    desc: "从采集到治理再到分析:资产目录、血缘、质量与指标口径管理。",
+    tags: ["主数据", "质量校验", "指标中心"],
+    cover: p2,
+  },
+  {
+    title: "智能分析与预测维护",
+    desc: "结合油田机理与算法能力,落地工况识别、故障预警与能效优化。",
+    tags: ["工况识别", "预测维护", "能效优化"],
+    cover: p3,
+  },
+];
+
+const solutions = [
+  {
+    title: "设备管理",
+    desc: "井场数据汇聚、施工过程可视化与风险预警。",
+    cover: sence,
+  },
+  {
+    title: "智能钻修井",
+    desc: "生产运行监控、工况分析与产量波动诊断。",
+    cover: sence2,
+  },
+  {
+    title: "智慧注气",
+    desc: "站库管网联动监测、泄漏/压降异常识别。",
+    cover: sence3,
+  },
+  {
+    title: "智慧压裂",
+    desc: "注采平衡分析、配注优化与效益评估。",
+    cover: sence4,
+  },
+  {
+    title: "智慧管网",
+    desc: "能耗在线核算、节能评估与合规披露闭环。",
+    cover: news1,
+  },
+  {
+    title: "场站管理",
+    desc: "告警闭环、工单联动与知识沉淀,提升设备可靠性。",
+    cover: sence6,
+  },
+];
+
+const solutionsTabIndex = ref(0);
+
+const cases = [
+  {
+    title: "采油厂",
+    desc: "生产运行监控、工况分析与异常处置闭环",
+    icon: "lucide:factory",
+    cover: value1,
+    bg: value1,
+    detail:
+      "以井站数据为底座,构建日/周/月报、重点井监控与异常处置闭环,支撑提质增效。",
+    metrics: [
+      { label: "接入井站", end: 200, suffix: "+" },
+
+      { label: "处置效率提升", end: 35, suffix: "%" },
+    ],
+  },
+  {
+    title: "集输站",
+    desc: "站库管网联动监测、压降异常识别与能效优化",
+    icon: "lucide:route",
+    cover: value2,
+    bg: jishu,
+    detail:
+      "打通站库管网关键指标,实现压降/泄漏异常识别与能耗核算,持续优化运行策略。",
+    metrics: [
+      { label: "监测站点", end: 150, suffix: "+" },
+
+      { label: "能耗降低", end: 18, suffix: "%" },
+    ],
+  },
+  {
+    title: "注水注气",
+    desc: "注采平衡分析、配注优化与效果评估",
+    icon: "lucide:droplets",
+    cover: value3,
+    bg: value3,
+    detail:
+      "构建注采指标体系与可视化分析,形成配注优化建议与效果评估闭环,支撑精细开发。",
+    metrics: [
+      { label: "注水井数", end: 320, suffix: "+" },
+
+      { label: "采收率提升", end: 12, suffix: "%" },
+    ],
+  },
+  {
+    title: "设备运维",
+    desc: "远程运维、预测维护与可靠性提升",
+    icon: "lucide:wrench",
+    cover: value4,
+    bg: value4,
+    detail:
+      "告警联动工单与知识库沉淀,结合预测维护模型,降低非计划停机与运维成本。",
+    metrics: [
+      { label: "接入设备", end: 1200, suffix: "+" },
+
+      { label: "运维成本降低", end: 30, suffix: "%" },
+    ],
+  },
+  {
+    title: "QHSE",
+    desc: "质量、健康、安全与环境管理体系",
+    icon: "ci:shield-check",
+    cover: value5,
+    bg: value5,
+    detail:
+      "全面的 QHSE 管理体系,确保产品质量、职业健康、生产安全与环境保护的协调发展。",
+    metrics: [
+      { label: "接入劳动者", end: 8000, suffix: "+" },
+
+      { label: "安全风险降低", end: 35, suffix: "%" },
+    ],
+  },
+];
+
+const valueCaseActiveIndex = ref(0);
+function activateValueCase(index) {
+  valueCaseActiveIndex.value = index;
+}
+
+const news = [
+  {
+    date: "2026-03-12",
+    tag: "发布",
+    title: "强强联合 数智赋能|科瑞石油技术与帆软软件正式签署战略合作协议",
+    desc: "",
+    cover: xin1,
+    type: "featured", // 上部大图新闻
+    link: "/news/4",
+  },
+  {
+    date: "2026-03-16",
+    tag: "活动",
+    title: "科瑞石油技术邀您相聚EGYPES2026埃及石油展",
+    desc: "",
+    cover: xin2,
+    type: "featured", // 上部大图新闻
+  },
+  {
+    date: "2026-01-06",
+    tag: "更新",
+    title: "夯实数字新基座:科瑞石油技术DeepOil平台获市级工业互联网平台认证",
+    desc: "DeepOil平台的核心价值,在于为复杂的工业现场构建了统一、稳定、安全的数据桥梁。",
+    cover: xin3,
+    type: "list", // 下部列表新闻
+  },
+  {
+    date: "2025-12-20",
+    tag: "案例",
+    title: "",
+    desc: "连油突破区域壁垒,喜迎开门红。",
+    cover: afterSalesUrl,
+    type: "list", // 下部列表新闻
+  },
+];
+
+const marketActivities = [
+  {
+    title: "AI设备管理系统实现在线状态智能分析,隐患早发现",
+    desc: "2025中国5G+工业互联网大会在武汉开幕,DeepOil精彩亮相。",
+    cover: news1,
+    link: "/news/1",
+  },
+  {
+    title: "石化行业设备完整性管理数字化:破解运维痛点的核心方案",
+    desc: "推动工业智能化发展,助力企业创新转型。",
+    cover: news3,
+    link: "/news/2",
+  },
+  {
+    title: "制造业新趋势:从“事后维修” 到“预测性维护”,只差一套系统",
+    desc: "打造“人工智能+工业互联网”赋能制造业转型发展新范式",
+    cover: news4,
+    link: "/news/3",
+  },
+];
+
+const partnerSources = [
+  jiaohuIconUrl,
+  planIconUrl,
+
+  h3,
+  h4,
+  h5,
+  h6,
+  h7,
+  h8,
+  h9,
+  // h10,
+  // h11,
+  // h12,
+];
+const partners = Array.from({ length: 10 }).map((_, idx) => ({
+  id: idx + 1,
+  src: partnerSources[idx % partnerSources.length],
+  alt: `伙伴标识 ${idx + 1}`,
+}));
+</script>
+
+<template>
+  <div class="home">
+    <section
+      class="hero"
+      @mouseenter="paused = true"
+      @mouseleave="paused = false"
+    >
+      <Transition name="heroBg" mode="out-in">
+        <div
+          :key="activeIndex"
+          class="hero__bg"
+          :style="bgStyle"
+          aria-hidden="true"
+        ></div>
+      </Transition>
+      <div class="hero__veil" aria-hidden="true"></div>
+      <div class="container hero__inner">
+        <div class="hero__content">
+          <Transition name="heroText" mode="out-in">
+            <div :key="activeIndex" class="hero__copy">
+              <div class="section-kicker">{{ activeSlide.kicker }}</div>
+              <h3 class="hero__title">
+                {{ activeSlide.headline1 }}<br />
+                {{ activeSlide.headline2Before
+                }}<span class="hero__em">{{
+                  activeSlide.headline2Emphasis
+                }}</span
+                >{{ activeSlide.headline2After }}
+              </h3>
+              <p class="hero__desc muted">{{ activeSlide.desc }}</p>
+              <div class="hero__cta">
+                <RouterLink class="btn btn-primary" to="/contact"
+                  >申请演示</RouterLink
+                >
+                <!-- <RouterLink class="btn btn-ghost" to="/solutions"
+                  >查看解决方案</RouterLink
+                > -->
+              </div>
+            </div>
+          </Transition>
+
+          <div class="hero__controls" aria-label="首页轮播控制">
+            <div class="dots" role="tablist" aria-label="轮播指示器">
+              <button
+                v-for="(s, idx) in slides"
+                :key="s.bg"
+                class="dotBtn"
+                type="button"
+                role="tab"
+                :aria-selected="activeIndex === idx ? 'true' : 'false'"
+                :aria-label="`切换到第 ${idx + 1} 张`"
+                :data-active="activeIndex === idx ? 'true' : 'false'"
+                @click="goTo(idx)"
+              ></button>
+            </div>
+          </div>
+        </div>
+      </div>
+    </section>
+
+    <section class="heroStrip" aria-label="轮播图底部信息板块">
+      <div class="heroStrip__inner">
+        <div class="heroStripGrid" role="list">
+          <div
+            v-for="tile in heroBottomTiles"
+            :key="tile.title"
+            class="heroStripCard"
+            style="align-items: center"
+            role="listitem"
+            :data-tone="tile.tone || 'default'"
+          >
+            <div
+              class="heroStripIcon"
+              aria-hidden="true"
+              style="padding-top: 20px"
+            >
+              <img :src="tile.url" alt="" style="width: 50px; height: 50px" />
+            </div>
+            <div style="display: flex; flex-direction: column">
+              <div class="heroStripTitle">{{ tile.title }}</div>
+              <div v-if="tile.desc" class="heroStripDesc">
+                {{ tile.desc }}
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </section>
+
+    <section class="section capabilitiesBg">
+      <div class="container">
+        <Reveal as="div" class="sectionHead" :delay="0">
+          <div style="display: flex; align-items: center">
+            <h2 class="h2" style="padding: 0 30px">
+              数据驱动、形成油气价值闭环
+            </h2>
+          </div>
+        </Reveal>
+
+        <div class="capPlatformGrid" aria-label="油田数智化能力九宫格">
+          <Reveal
+            v-for="(p, idx) in capabilityPlatforms"
+            :key="p.title"
+            as="div"
+            class="capPlatformCard card hover-lift"
+            :data-variant="p.variant"
+            :delay="80 + idx * 80"
+          >
+            <div class="capPlatformHead">
+              <div class="capPlatformCopy">
+                <div class="capPlatformTitle">{{ p.title }}</div>
+                <div class="capPlatformDesc">{{ p.desc }}</div>
+              </div>
+            </div>
+
+            <div class="capModuleGrid" role="list">
+              <div
+                v-for="m in p.modules"
+                :key="`${p.title}-${m.title}`"
+                class="capModuleTile"
+                role="listitem"
+              >
+                <div class="capModuleIcon" aria-hidden="true">
+                  <Icon :icon="m.icon" width="26" height="26" />
+                </div>
+                <div class="capModuleName">{{ m.title }}</div>
+              </div>
+            </div>
+          </Reveal>
+        </div>
+      </div>
+    </section>
+
+    <section class="section section--soft">
+      <div class="container">
+        <Reveal as="div" class="sectionHead" :delay="0">
+          <div>
+            <div style="display: flex; align-items: center">
+              <h2 class="h2" style="padding: 0 30px">覆盖油气生产全链路</h2>
+            </div>
+            <div class="muted" style="text-align: center; padding-top: 20px">
+              从井场到站控,从数据到应用,按需组合,快速交付。
+            </div>
+          </div>
+        </Reveal>
+
+        <div class="grid grid-4">
+          <Reveal
+            v-for="(p, idx) in products"
+            :key="p.title"
+            as="div"
+            class="card card-pad productCard hover-lift"
+            :delay="80 + idx * 70"
+          >
+            <div class="productImageWrapper">
+              <img :src="p.cover" :alt="p.title" class="productImage" />
+            </div>
+            <div class="productContent">
+              <div class="productTitle">{{ p.title }}</div>
+              <div class="muted productDesc">{{ p.desc }}</div>
+              <div class="productTags">
+                <span v-for="t in p.tags" :key="t" class="pill">{{ t }}</span>
+              </div>
+            </div>
+          </Reveal>
+        </div>
+      </div>
+    </section>
+
+    <section class="section" style="padding-left: 0; padding-right: 0">
+      <div>
+        <Reveal as="div" class="sectionHead" :delay="0">
+          <div style="display: flex; align-items: center">
+            <h2 class="h2" style="padding: 0 30px">面向场景的可复制实践</h2>
+          </div>
+        </Reveal>
+
+        <div class="solutionsTabContainer">
+          <div class="solutionsTabs">
+            <button
+              v-for="(s, idx) in solutions"
+              :key="s.title"
+              class="solutionsTabBtn"
+              :class="{ active: solutionsTabIndex === idx }"
+              @click="solutionsTabIndex = idx"
+            >
+              <img
+                v-if="s.title === '设备管理'"
+                src="../assets//images/s1.png"
+                alt=""
+                style="width: 50px; height: 50px"
+              />
+              <img
+                v-if="s.title === '智能钻修井'"
+                src="../assets//images/s2.png"
+                alt=""
+                style="width: 50px; height: 50px"
+              />
+
+              <img
+                v-if="s.title === '智慧注气'"
+                src="../assets//images/s3.png"
+                alt=""
+                style="width: 50px; height: 50px"
+              />
+
+              <img
+                v-if="s.title === '智慧压裂'"
+                src="../assets//images/s4.png"
+                alt=""
+                style="width: 50px; height: 50px"
+              />
+
+              <img
+                v-if="s.title === '智慧管网'"
+                src="../assets//images/s5.png"
+                alt=""
+                style="width: 50px; height: 50px"
+              />
+
+              <img
+                v-if="s.title === '场站管理'"
+                src="../assets//images/s6.png"
+                alt=""
+                style="width: 50px; height: 50px"
+              />
+              {{ s.title }}
+            </button>
+          </div>
+
+          <div class="solutionsTabContent">
+            <div class="solutionsTabInner">
+              <Transition name="slide-up" mode="out-in">
+                <div :key="solutionsTabIndex" class="solutionsTabText">
+                  <div class="solutionsTabTitle">
+                    {{ solutions[solutionsTabIndex].title }}
+                  </div>
+                  <div class="solutionsTabDesc">
+                    {{ solutions[solutionsTabIndex].desc }}
+                  </div>
+                  <RouterLink class="solutionsTabLink" to="/solutions">
+                    了解更多<Icon
+                      icon="lucide:chevron-right"
+                      width="20"
+                      height="20"
+                    />
+                  </RouterLink>
+                </div>
+              </Transition>
+              <Transition name="slide-up" mode="out-in">
+                <div :key="solutionsTabIndex" class="solutionsTabImage">
+                  <img
+                    :src="solutions[solutionsTabIndex].cover"
+                    :alt="solutions[solutionsTabIndex].title"
+                  />
+                </div>
+              </Transition>
+            </div>
+          </div>
+        </div>
+      </div>
+    </section>
+
+    <section style="background-color: transparent; margin-top: 30px">
+      <div>
+        <Reveal as="div" class="sectionHead" :delay="0">
+          <div style="display: flex; align-items: center">
+            <h2 class="h2" style="padding: 0 10px">用可量化指标呈现业务价值</h2>
+          </div>
+        </Reveal>
+        <div style="display: flex; justify-content: center; margin-top: 20px">
+          <RouterLink class="btn btn-link" to="/cases"
+            >查看更多案例
+            <Icon icon="lucide:chevron-right" width="24" height="24"
+          /></RouterLink>
+        </div>
+
+        <div
+          class="valueAcc"
+          style="padding: 0 100px; height: 700px; margin-top: 20px"
+          role="list"
+          aria-label="业务价值横向手风琴"
+        >
+          <Transition name="fade" mode="out-in">
+            <div
+              v-if="valueCaseActiveIndex >= 0"
+              :key="valueCaseActiveIndex"
+              class="valueAccBg"
+              :style="{
+                backgroundImage: `url(${cases[valueCaseActiveIndex].bg})`,
+              }"
+              aria-hidden="true"
+            ></div>
+          </Transition>
+
+          <Reveal
+            v-for="(c, idx) in cases"
+            :key="c.title"
+            as="div"
+            style="border: none"
+            class="valueAccItem hover-lift"
+            role="listitem"
+            tabindex="0"
+            :data-active="valueCaseActiveIndex === idx ? 'true' : 'false'"
+            :aria-label="`价值案例:${c.title}`"
+            :delay="60 + idx * 70"
+            @mouseenter="activateValueCase(idx)"
+            @focusin="activateValueCase(idx)"
+            @click="activateValueCase(idx)"
+            @keydown.enter.prevent="activateValueCase(idx)"
+            @keydown.space.prevent="activateValueCase(idx)"
+          >
+            <div class="valueAccInner">
+              <div
+                class="valueAccCollapsed"
+                :aria-hidden="valueCaseActiveIndex === idx ? 'true' : 'false'"
+                :style="{ '--value-collapsed-bg': `url(${indexBack2Url})` }"
+              >
+                <div class="valueAccIcon" aria-hidden="true">
+                  <Icon :icon="c.icon" width="28" height="28" />
+                </div>
+                <div class="valueAccTitle">{{ c.title }}</div>
+                <div class="valueAccLine" aria-hidden="true"></div>
+                <div class="muted valueAccDesc">{{ c.desc }}</div>
+                <div class="valueAccPlus" aria-hidden="true">
+                  <Icon icon="ri:add-fill" width="24" height="24" />
+                </div>
+              </div>
+
+              <div
+                class="valueAccExpanded"
+                :aria-hidden="valueCaseActiveIndex === idx ? 'false' : 'true'"
+              >
+                <div class="valueAccCover">
+                  <img
+                    :src="c.cover"
+                    :alt="`${c.title} 场景图`"
+                    loading="lazy"
+                  />
+                </div>
+                <div
+                  class="valueAccBottom"
+                  :style="{ '--value-bottom-bg': `url(${indexImg4BacksUrl})` }"
+                >
+                  <!-- <div class="valueAccBottomTitle">{{ c.title }}</div> -->
+                  <div class="valueAccBottomText">{{ c.detail }}</div>
+                  <div class="valueAccMetricsExpanded">
+                    <div
+                      v-for="(m, midx) in c.metrics"
+                      :key="m.label + '-' + valueCaseActiveIndex"
+                      class="valueAccMetricExpanded"
+                    >
+                      <div class="valueAccMetricValueExpanded">
+                        <CountUp
+                          :end="m.end"
+                          :suffix="m.suffix"
+                          v-if="valueCaseActiveIndex === idx"
+                        />
+                      </div>
+                      <div class="valueAccMetricLabelExpanded">
+                        {{ m.label }}
+                      </div>
+                    </div>
+                  </div>
+                  <RouterLink class="valueAccBtn" to="/cases"
+                    >了解更多</RouterLink
+                  >
+                </div>
+              </div>
+            </div>
+          </Reveal>
+        </div>
+      </div>
+    </section>
+
+    <!-- 平台更新与行业观点 - 左右两栏布局 -->
+    <section style="margin-top: 20px">
+      <div class="container">
+        <Reveal as="div" class="sectionHead" :delay="0">
+          <div>
+            <h2 class="h2">新闻资讯与市场活动</h2>
+          </div>
+        </Reveal>
+
+        <!-- 左右两栏布局 -->
+        <div class="news-market-grid">
+          <!-- 左侧:新闻资讯 -->
+          <div class="news-column">
+            <div style="display: flex; justify-content: space-between">
+              <h3>新闻资讯</h3>
+              <RouterLink
+                class="btn btn-link"
+                style="font-size: 14px; color: #595959"
+                to="/news"
+                >查看更多
+                <Icon icon="lucide:chevron-right" width="20" height="20"
+              /></RouterLink>
+            </div>
+            <div class="news-featured">
+              <!-- 上部:2个带缩略图的新闻(图片全屏+文字覆盖) -->
+              <Reveal
+                v-for="(n, idx) in news.filter(
+                  (item) => item.type === 'featured',
+                )"
+                :key="n.title"
+                as="div"
+                class="news-featured-item"
+                :delay="80 + idx * 60"
+              >
+                <RouterLink class="news-featured-link" :to="n.link">
+                  <div class="news-featured-image-wrapper">
+                    <img
+                      :src="n.cover"
+                      :alt="n.title"
+                      class="news-featured-image"
+                      loading="lazy"
+                    />
+                  </div>
+                  <div class="news-featured-overlay">
+                    <div class="news-featured-meta">
+                      <!-- <span class="news-featured-tag">{{ n.tag }}</span> -->
+                      <span class="news-featured-date">{{ n.date }}</span>
+                    </div>
+                    <h3 class="news-featured-title">{{ n.title }}</h3>
+                  </div>
+                </RouterLink>
+              </Reveal>
+            </div>
+
+            <!-- 下部:列表形式的新闻 -->
+            <div class="news-list">
+              <Reveal
+                v-for="(n, idx) in news.filter((item) => item.type === 'list')"
+                :key="n.title"
+                as="div"
+                class="news-list-item"
+                :delay="140 + idx * 60"
+              >
+                <RouterLink class="news-list-link" to="/news">
+                  <div class="news-list-content">
+                    <div class="news-meta">
+                      <!-- <span class="pill">{{ n.tag }}</span> -->
+                      <span class="muted news-date">{{ n.date }}</span>
+                    </div>
+                    <p class="news-title">{{ n.title }}</p>
+                    <p
+                      class="news-desc muted"
+                      style="padding-top: 10px; font-size: 12px"
+                    >
+                      {{ n.desc }}
+                    </p>
+                  </div>
+                </RouterLink>
+              </Reveal>
+            </div>
+          </div>
+
+          <!-- 右侧:市场活动 -->
+          <div class="market-column">
+            <div style="display: flex; justify-content: space-between">
+              <h3>行业知识</h3>
+              <RouterLink
+                class="btn btn-link"
+                to="/news"
+                style="font-size: 14px; color: #595959"
+                >查看更多
+                <Icon icon="lucide:chevron-right" width="20" height="20"
+              /></RouterLink>
+            </div>
+            <Reveal
+              v-for="(activity, idx) in marketActivities"
+              :key="activity.title"
+              as="div"
+              class="market-activity"
+              :delay="80 + idx * 60"
+              style="border-radius: 0"
+            >
+              <RouterLink class="market-activity-link" :to="activity.link">
+                <div class="market-activity-image-wrapper">
+                  <img
+                    :src="activity.cover"
+                    :alt="activity.title"
+                    class="market-activity-image"
+                    loading="lazy"
+                  />
+                </div>
+                <div class="market-activity-overlay">
+                  <h3 class="market-activity-title">{{ activity.title }}</h3>
+                  <p class="market-activity-desc">{{ activity.desc }}</p>
+                </div>
+              </RouterLink>
+            </Reveal>
+          </div>
+        </div>
+      </div>
+    </section>
+
+    <section
+      class="section section--soft partners-section"
+      style="overflow: hidden"
+    >
+      <div class="container">
+        <Reveal as="div" class="sectionHead" :delay="0">
+          <div>
+            <h2 class="h2">合作共建开放生态</h2>
+          </div>
+        </Reveal>
+
+        <div class="partnerGridWrapper">
+          <svg class="partners-bg-svg" xmlns="http://www.w3.org/2000/svg">
+            <g class="circle-group circle-group-1">
+              <circle
+                class="dashed-circle"
+                cx="50%"
+                cy="50%"
+                r="250"
+                fill="none"
+                stroke="#abc3f5"
+              />
+            </g>
+
+            <g class="circle-group circle-group-2">
+              <circle
+                class="dashed-circle"
+                cx="50%"
+                cy="50%"
+                r="380"
+                fill="none"
+                stroke="#abc3f5"
+              />
+            </g>
+
+            <g class="circle-group circle-group-3">
+              <circle
+                class="dashed-circle"
+                cx="50%"
+                cy="50%"
+                r="580"
+                fill="none"
+                stroke="#abc3f5"
+              />
+            </g>
+          </svg>
+
+          <div class="partnerGrid">
+            <Reveal
+              v-for="(p, idx) in partners"
+              :key="p.id"
+              as="div"
+              class="partner"
+              :delay="80 + idx * 40"
+            >
+              <img :src="p.src" :alt="p.alt" loading="lazy" />
+            </Reveal>
+          </div>
+        </div>
+      </div>
+    </section>
+  </div>
+</template>
+
+<style scoped>
+.valueAccMetrics {
+  margin-top: 12px;
+  display: grid;
+  grid-template-columns: repeat(3, minmax(0, 1fr));
+  gap: 12px;
+  padding: 14px 16px;
+  background: rgba(255, 255, 255, 0.7);
+  backdrop-filter: blur(8px);
+}
+
+.valueAccMetric {
+  text-align: center;
+}
+
+.valueAccMetricValue {
+  /* font-weight: 850; */
+  font-size: 18px;
+  color: #1f45b7;
+  letter-spacing: -0.02em;
+  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
+  line-height: 1;
+}
+
+.valueAccMetricLabel {
+  margin-top: 6px;
+  font-size: 12px;
+  line-height: 1.3;
+}
+
+.valueAccMetricsExpanded {
+  /* margin-top: 10px; */
+  display: grid;
+  grid-template-columns: repeat(3, minmax(0, 1fr));
+  gap: 16px;
+  padding: 18px;
+
+  background: linear-gradient(
+    to right,
+    rgba(255, 255, 255, 0.3),
+    rgba(255, 255, 255, 0)
+  );
+  backdrop-filter: blur(8px);
+}
+
+.valueAccMetricExpanded {
+  text-align: center;
+}
+
+.valueAccMetricValueExpanded {
+  font-size: 20px;
+  /* color: #ffffff; */
+  letter-spacing: -0.02em;
+  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
+  line-height: 1;
+  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
+}
+
+.valueAccMetricLabelExpanded {
+  margin-top: 8px;
+  font-size: 13px;
+  color: rgba(255, 255, 255, 0.95);
+  line-height: 1.3;
+}
+
+.valueAcc {
+  margin-top: 8px;
+  display: flex;
+  gap: 0px;
+  height: 600px;
+  align-items: stretch;
+  position: relative;
+  overflow: hidden;
+}
+
+.valueAccBg {
+  position: absolute;
+  inset: 0;
+  background-size: cover;
+  background-position: center 100px;
+  background-repeat: no-repeat;
+  z-index: 0;
+  transition: opacity ease;
+  height: 700px;
+  /* filter: blur(8px); */
+}
+
+.valueAccBg::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(
+    to bottom,
+    rgba(248, 250, 252, 0) 0%,
+    rgba(248, 250, 252, 0) 40%,
+    rgba(248, 250, 252, 0.5) 65%,
+    rgba(248, 250, 252, 0.6) 80%,
+    rgba(248, 250, 252, 1) 90%,
+    rgba(248, 250, 252, 1) 95%,
+    #fff 100%
+  );
+  pointer-events: none;
+  /* backdrop-filter: blur(20px); */
+}
+
+.valueAccItem {
+  background: blue;
+  flex: 1 1 0%;
+  overflow: hidden;
+  height: 550px;
+  position: relative;
+  cursor: pointer;
+  transition:
+    flex 20ms cubic-bezier(0.22, 1, 0.36, 1),
+    transform 0ms ease;
+  min-width: 180px;
+  z-index: 1;
+}
+
+.fade-enter-active,
+.fade-leave-active {
+  transition: opacity 100ms ease;
+}
+
+.fade-enter-from,
+.fade-leave-to {
+  opacity: 0;
+}
+.hero {
+  position: relative;
+  padding: 54px 0 28px;
+  overflow: hidden;
+  height: 50vh;
+}
+
+.hero__bg {
+  position: absolute;
+  inset: 0;
+  background-size: cover;
+  background-position: center;
+  filter: saturate(0.98) contrast(1.02);
+  transform: scale(1.02);
+}
+
+.hero__veil {
+  display: none; /* 完全隐藏遮罩层 */
+}
+
+.hero__inner {
+  position: relative;
+  z-index: 2;
+  display: grid;
+  grid-template-columns: 1.2fr 0.8fr;
+  gap: 22px;
+  align-items: stretch;
+}
+
+.hero__copy {
+  padding: 16px 14px;
+  border-radius: var(--radius-lg);
+  border: none;
+  background: transparent;
+  backdrop-filter: none;
+  /* color: white; */
+  /* text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); */
+}
+
+.hero__title {
+  margin-top: 14px;
+  font-size: 35px;
+  line-height: 1.12;
+  letter-spacing: -0.03em;
+}
+
+.hero__em {
+  background: linear-gradient(90deg, var(--brand-700), var(--brand-500));
+  -webkit-background-clip: text;
+  background-clip: text;
+  color: transparent;
+}
+
+.hero__desc {
+  margin-top: 12px;
+  max-width: 52ch;
+}
+
+.hero__cta {
+  margin-top: 18px;
+  display: flex;
+  flex-wrap: wrap;
+  gap: 12px;
+  align-items: center;
+}
+
+.hero__stats {
+  margin-top: 22px;
+  display: grid;
+  grid-template-columns: repeat(4, minmax(0, 1fr));
+  gap: 12px;
+  padding: 14px 12px;
+  border-radius: 10px;
+  border: 1px solid rgba(255, 255, 255, 0.3); /* 半透明白色边框 */
+  background: rgba(0, 0, 0, 0.2); /* 半透明黑色背景 */
+  backdrop-filter: blur(10px);
+}
+
+.stat {
+  padding: 8px 10px;
+}
+
+.stat__value {
+  font-weight: 850;
+  font-size: 18px;
+  color: #1f45b7;
+  letter-spacing: -0.02em;
+  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
+}
+
+.stat__label {
+  font-size: 12px;
+}
+
+.hero__panel {
+  align-self: stretch;
+  background:
+    radial-gradient(
+      700px 220px at 40% 0%,
+      rgba(37, 99, 235, 0.12),
+      transparent 60%
+    ),
+    #ffffff;
+}
+
+.hero__panelPad {
+  padding: 18px;
+}
+
+.hero__panelTitle {
+  display: inline-flex;
+  align-items: center;
+  gap: 10px;
+  font-weight: 850;
+  letter-spacing: -0.02em;
+  margin-bottom: 10px;
+}
+
+.hero__controls {
+  /* margin-top: 50px; */
+  display: flex;
+  position: relative;
+  left: 35%;
+  top: 30px;
+  align-items: center;
+  justify-content: center;
+  gap: 10px;
+  width: 100%;
+}
+
+.ctrlBtn {
+  width: 40px;
+  height: 40px;
+  border-radius: 14px;
+  border: 1px solid rgba(255, 255, 255, 0.3); /* 半透明白色边框 */
+  background: rgba(0, 0, 0, 0.2); /* 半透明黑色背景 */
+  backdrop-filter: blur(10px);
+  cursor: pointer;
+  font-weight: 900;
+  color: white; /* 白色文字 */
+  transition: 160ms ease;
+}
+
+.ctrlBtn:hover {
+  color: var(--brand-300); /* 浅蓝色悬停效果 */
+  background: rgba(0, 0, 0, 0.3);
+  transform: translateY(-1px);
+}
+
+.dots {
+  display: flex;
+  align-items: center;
+  gap: 8px;
+  padding: 10px 12px;
+  border-radius: 999px;
+}
+
+.dotBtn {
+  width: 10px;
+  height: 10px;
+  border-radius: 999px;
+  border: 0;
+  background: #8391a5; /* 半透明白色 */
+  cursor: pointer;
+  transition: 160ms ease;
+}
+
+.dotBtn[data-active="true"] {
+  width: 28px;
+  background: #004baa; /* 品牌色激活状态 */
+}
+
+.dotBtn:focus-visible {
+  outline: none;
+  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.14);
+}
+
+.heroBg-enter-active,
+.heroBg-leave-active {
+  transition: opacity 520ms ease;
+}
+
+.heroBg-enter-from,
+.heroBg-leave-to {
+  opacity: 0;
+}
+
+.heroText-enter-active,
+.heroText-leave-active {
+  transition:
+    opacity 420ms ease,
+    transform 420ms ease;
+}
+
+.heroText-enter-from,
+.heroText-leave-to {
+  opacity: 0;
+  transform: translate3d(0, 10px, 0);
+}
+
+.heroStrip {
+  position: relative;
+  z-index: 3;
+  border: none;
+  padding: 0 0 26px;
+}
+
+.heroStrip__inner {
+  padding-top: 0;
+  padding-left: 150px;
+  padding-right: 150px;
+  background-image: url("../assets/images/bgblue.jpg");
+  background-size: cover;
+  background-position: center;
+  background-repeat: no-repeat;
+  filter: blur(0.1);
+  color: #ffffff;
+}
+
+.heroStripGrid {
+  display: grid;
+  grid-template-columns: repeat(5, minmax(0, 1fr));
+  overflow: hidden;
+}
+
+.heroStripCard {
+  position: relative;
+  /* padding: 18px 16px 16px; */
+  min-height: 128px;
+  display: flex;
+  align-items: center;
+  text-align: left;
+  gap: 10px;
+}
+
+.heroStripCard::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background:
+    radial-gradient(
+      260px 120px at 50% 0%,
+      rgba(37, 99, 235, 0.08),
+      transparent 60%
+    ),
+    radial-gradient(
+      220px 140px at 85% 70%,
+      rgba(56, 189, 248, 0.06),
+      transparent 65%
+    );
+  opacity: 0.9;
+  pointer-events: none;
+}
+
+.heroStripIcon {
+  /* width: 54px;
+  height: 54px; */
+  display: grid;
+  place-items: center;
+  transform: translateY(-10px);
+  margin-bottom: -2px;
+  position: relative;
+  z-index: 1;
+}
+
+.heroStripTitle {
+  position: relative;
+  z-index: 1;
+  margin-top: 6px;
+
+  letter-spacing: -0.02em;
+  font-size: 18px;
+  line-height: 1.35;
+}
+
+.heroStripCard[data-tone="accent"] .heroStripTitle {
+  color: rgba(255, 255, 255, 0.96);
+}
+
+.heroStripDesc {
+  position: relative;
+  z-index: 1;
+  margin-top: 10px;
+  font-size: 12px;
+  line-height: 1.45;
+  color: rgba(255, 255, 255, 0.88);
+  opacity: 0.98;
+}
+
+.heroStripCard:hover {
+  transform: translateY(-2px);
+  filter: saturate(1.02);
+}
+
+.heroStripCard[data-tone="accent"]:hover {
+  transform: translateY(-2px);
+  filter: brightness(1.03) saturate(1.06);
+}
+
+@media (max-width: 960px) {
+  .heroStrip {
+    margin-top: -18px;
+    padding-bottom: 20px;
+  }
+
+  .heroStripGrid {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+    gap: 10px;
+    border: 0;
+    overflow: visible;
+    border-radius: 0;
+    background: transparent;
+    box-shadow: none;
+    backdrop-filter: none;
+  }
+
+  .heroStripCard {
+    border: none;
+  }
+
+  .heroStripCard:not(:first-child) {
+    border-left: none;
+  }
+
+  .heroStripIcon {
+    transform: translateY(-8px);
+  }
+}
+
+@media (max-width: 520px) {
+  .heroStripGrid {
+    grid-template-columns: 1fr;
+  }
+
+  .heroStrip {
+    margin-top: -14px;
+  }
+}
+
+.kickerIcon {
+  width: 18px;
+  height: 18px;
+  flex: 0 0 auto;
+  display: inline-block;
+}
+
+.hero__panelList {
+  display: grid;
+  gap: 12px;
+}
+
+.hero__panelItem {
+  padding: 12px;
+  border-radius: var(--radius-md);
+  border: 1px solid var(--border);
+  background: rgba(15, 23, 42, 0.01);
+}
+
+.hero__panelKey {
+  font-weight: 700;
+  margin-bottom: 4px;
+}
+
+.hero__panelBtns {
+  display: grid;
+  grid-template-columns: 1fr 1fr;
+  gap: 12px;
+  margin-top: 14px;
+}
+
+.sectionHead {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  gap: 18px;
+  margin-bottom: 30px;
+}
+
+.capGrid {
+  margin-top: 18px;
+}
+
+.capPlatformGrid {
+  margin-top: 6px;
+  display: grid;
+  grid-template-columns: repeat(3, minmax(0, 1fr));
+  gap: 16px;
+  align-items: stretch;
+}
+
+.capPlatformCard {
+  position: relative;
+  overflow: hidden;
+  padding: 18px;
+
+  background:
+    linear-gradient(
+      180deg,
+      rgb(var(--cap-accent, 37 99 235) / 0.08),
+      rgba(255, 255, 255, 0.92) 46%,
+      #ffffff
+    ),
+    radial-gradient(
+      900px circle at 85% 0%,
+      rgb(var(--cap-accent, 37 99 235) / 0.16)
+    );
+  box-shadow:
+    0 8px 16px rgba(2, 6, 23, 0.4),
+    0 0 0 1px rgba(255, 255, 255, 0.08) inset;
+}
+
+.capPlatformCard::before {
+  content: "";
+  position: absolute;
+  inset: -20px;
+
+  filter: blur(28px);
+  opacity: 0;
+  transition: opacity 240ms ease;
+  pointer-events: none;
+}
+
+.capPlatformCard:hover::before {
+  opacity: 1;
+}
+
+.capPlatformCard[data-variant="connect"] {
+  --cap-accent: 37 99 235;
+}
+
+.capPlatformCard[data-variant="govern"] {
+  --cap-accent: 16 185 129;
+}
+
+.capPlatformCard[data-variant="app"] {
+  --cap-accent: 245 158 11;
+}
+
+.capPlatformHead {
+  position: relative;
+  display: flex;
+  align-items: flex-start;
+  justify-content: space-between;
+  gap: 12px;
+  padding-bottom: 14px;
+  border-bottom: 1px dashed rgba(15, 23, 42, 0.14);
+}
+
+.capPlatformCopy {
+  min-width: 0;
+}
+
+.capPlatformTitle {
+  font-weight: bold;
+  letter-spacing: -0.03em;
+  font-size: 22px;
+  /* color: rgb(var(--cap-accent, 37 99 235) / 1); */
+}
+
+.capPlatformDesc {
+  margin-top: 8px;
+  font-size: 13px;
+  line-height: 1.55;
+  max-width: 40ch;
+}
+
+.capPlatformArt {
+  width: 140px;
+  height: auto;
+  flex: 0 0 auto;
+  opacity: 0.92;
+  filter: drop-shadow(0 14px 22px rgba(2, 6, 23, 0.12)) saturate(1.05);
+  transform: translateY(-2px);
+  pointer-events: none;
+  user-select: none;
+}
+
+.capModuleGrid {
+  margin-top: 14px;
+  display: grid;
+  grid-template-columns: repeat(3, minmax(0, 1fr));
+  gap: 12px;
+}
+
+.capModuleTile {
+  position: relative;
+  border-radius: 5px;
+  padding: 12px 10px 10px;
+  /* border: 1px solid rgba(15, 23, 42, 0.06); */
+  background: transparent;
+  display: grid;
+  place-items: center;
+  gap: 8px;
+  text-align: center;
+  min-height: 106px;
+  transition:
+    transform 180ms ease,
+    box-shadow 180ms ease,
+    border-color 180ms ease;
+  cursor: pointer;
+}
+
+.capModuleTile:hover {
+  transform: translateY(-2px);
+  border-color: rgb(var(--cap-accent, 37 99 235) / 0.18);
+  box-shadow: 0 16px 30px rgba(2, 6, 23, 0.08);
+}
+
+.capModuleIcon {
+  width: 46px;
+  height: 46px;
+  border-radius: 16px;
+  display: grid;
+  place-items: center;
+  border: 1px solid rgb(var(--cap-accent, 37 99 235) / 0.16);
+  background: radial-gradient(
+    circle at 30% 30%,
+    rgb(var(--cap-accent, 37 99 235) / 0.22),
+    rgb(var(--cap-accent, 37 99 235) / 0.06)
+  );
+  color: rgb(var(--cap-accent, 37 99 235) / 1);
+}
+
+.capModuleName {
+  /* font-weight: 850; */
+  letter-spacing: -0.02em;
+  font-size: 13px;
+  line-height: 1.25;
+}
+
+.capModuleBadge {
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  font-size: 12px;
+  font-weight: 850;
+  padding: 4px 8px;
+  border-radius: 999px;
+  border: 1px solid transparent;
+}
+
+.capModuleBadge[data-tone="hot"] {
+  color: #ef4444;
+  background: rgba(239, 68, 68, 0.12);
+  border-color: rgba(239, 68, 68, 0.18);
+}
+
+.capModuleBadge[data-tone="new"] {
+  color: #f97316;
+  background: rgba(249, 115, 22, 0.12);
+  border-color: rgba(249, 115, 22, 0.18);
+}
+
+.capLayout {
+  margin-top: 18px;
+  display: grid;
+  grid-template-columns: 0.9fr 1.1fr;
+  gap: 18px;
+  align-items: stretch;
+}
+
+.capArt {
+  border-radius: var(--radius-lg);
+  overflow: hidden;
+  border: 1px solid var(--border);
+  background: #ffffff;
+}
+
+.capArt img {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  display: block;
+}
+
+.capCard {
+  position: relative;
+  overflow: hidden;
+}
+
+.capIcon {
+  width: 44px;
+  height: 44px;
+  /* border-radius: 14px; */
+  margin-bottom: 10px;
+  background: rgba(37, 99, 235, 0.1);
+  border: 1px solid rgba(37, 99, 235, 0.16);
+}
+
+.capIcon[data-icon="edge"] {
+  background: radial-gradient(
+    circle at 30% 30%,
+    rgba(37, 99, 235, 0.2),
+    rgba(37, 99, 235, 0.08)
+  );
+}
+.capIcon[data-icon="data"] {
+  background: radial-gradient(
+    circle at 30% 30%,
+    rgba(56, 189, 248, 0.2),
+    rgba(56, 189, 248, 0.06)
+  );
+}
+.capIcon[data-icon="app"] {
+  background: radial-gradient(
+    circle at 30% 30%,
+    rgba(16, 185, 129, 0.16),
+    rgba(16, 185, 129, 0.06)
+  );
+}
+.capIcon[data-icon="security"] {
+  background: radial-gradient(
+    circle at 30% 30%,
+    rgba(245, 158, 11, 0.16),
+    rgba(245, 158, 11, 0.06)
+  );
+}
+
+.capTitle {
+  font-weight: 800;
+  margin-bottom: 6px;
+}
+
+.productTitle {
+  /* font-weight: 850; */
+  letter-spacing: -0.02em;
+  /* color: #04439a; */
+}
+
+.productDesc {
+  margin-top: 8px;
+}
+
+.productTags {
+  margin-top: 12px;
+  display: flex;
+  flex-wrap: wrap;
+  gap: 10px;
+}
+
+.solutionCard {
+  display: grid;
+  gap: 8px;
+}
+
+.news-list-item {
+  margin-bottom: 18px;
+  border-bottom: #ccc 1px solid;
+  padding-bottom: 18px;
+}
+.hoverWrap {
+  display: block;
+}
+
+.solutionTitle {
+  font-weight: 850;
+}
+
+.solutionMore {
+  color: var(--brand-700);
+  font-weight: 650;
+  font-size: 13px;
+}
+
+.solutionsBg {
+  position: relative;
+  overflow: hidden;
+  background-size: cover;
+  background-position: center;
+}
+
+.solutionsBg::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background-size: cover;
+  background-position: center;
+  opacity: 1;
+  filter: saturate(0.95);
+}
+
+/* “连接井站 + 治理 + 应用”模块背景图 */
+.capabilitiesBg {
+  position: relative;
+  overflow: hidden;
+  background-size: cover;
+  background-position: center;
+  background-repeat: no-repeat;
+}
+
+.capabilitiesBg::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(
+    180deg,
+    rgba(248, 250, 252, 0.5),
+    rgba(248, 250, 252, 0.7)
+  );
+}
+
+.capabilitiesBg > .container {
+  position: relative;
+  z-index: 1;
+}
+
+/* .solutionsBg::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(
+    180deg,
+    rgba(248, 250, 252, 0.4),
+    rgba(248, 250, 252, 0.6)
+  );
+} */
+
+.solutionsBg > .container {
+  position: relative;
+  z-index: 1;
+}
+
+.valueAcc {
+  margin-top: 8px;
+  display: flex;
+  gap: 10px;
+  height: 580px;
+  align-items: stretch;
+}
+
+.valueAccItem {
+  flex: 1 1 0%;
+  /* border-radius: var(--radius-lg); */
+  overflow: hidden;
+  border: 1px solid rgba(15, 23, 42, 0.1);
+  background:
+    radial-gradient(
+      1200px circle at 0% 0%,
+      rgba(37, 99, 235, 0.12),
+      transparent 55%
+    ),
+    rgba(248, 250, 252, 0.95);
+  position: relative;
+  cursor: pointer;
+  transition:
+    flex 520ms cubic-bezier(0.22, 1, 0.36, 1),
+    transform 180ms ease;
+  min-width: 180px;
+}
+
+.valueAccItem:focus-visible {
+  outline: 3px solid rgba(37, 99, 235, 0.35);
+  outline-offset: 2px;
+}
+
+.valueAccItem[data-active="true"] {
+  flex: 3.2 1 0%;
+}
+
+.valueAccInner {
+  position: relative;
+  width: 100%;
+  height: 100%;
+}
+
+.valueAccCollapsed,
+.valueAccExpanded {
+  position: absolute;
+  inset: 0;
+  transition:
+    opacity 220ms ease,
+    transform 320ms ease;
+}
+
+.valueAccCollapsed {
+  padding: 52px 30px 66px;
+  display: grid;
+  align-content: start;
+  gap: 18px;
+  background-image: var(--value-collapsed-bg);
+  background-size: cover;
+  background-position: center;
+  background-repeat: no-repeat;
+}
+
+.valueAccCollapsed::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+
+  pointer-events: none;
+  z-index: 0;
+}
+
+.valueAccCollapsed > * {
+  position: relative;
+  z-index: 1;
+}
+
+.valueAccIcon {
+  width: 54px;
+  height: 54px;
+  border-radius: 18px;
+  display: grid;
+  place-items: center;
+
+  color: var(--slate-800);
+}
+
+.valueAccTitle {
+  font-size: 22px;
+  letter-spacing: -0.03em;
+}
+
+.valueAccLine {
+  width: 32px;
+  height: 4px;
+  border-radius: 999px;
+  background: linear-gradient(90deg, var(--brand-700), var(--brand-500));
+}
+
+.valueAccDesc {
+  font-size: 14px;
+  line-height: 1.7;
+  max-width: 18ch;
+}
+
+.valueAccPlus {
+  position: absolute;
+  left: 18px;
+  bottom: 18px;
+  width: 36px;
+  height: 36px;
+  /* border-radius: 14px; */
+  display: grid;
+  place-items: center;
+  background: var(--brand-700);
+  color: #ffffff;
+  font-size: 26px;
+  line-height: 1;
+  box-shadow: 0 14px 26px rgba(2, 6, 23, 0.16);
+}
+
+.valueAccExpanded {
+  opacity: 0;
+  transform: scale(0.985);
+  display: grid;
+  grid-template-rows: 280px 1fr;
+  background: #ffffff;
+  pointer-events: none;
+}
+
+.valueAccCover {
+  position: relative;
+  overflow: hidden;
+}
+
+.valueAccCover img {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  display: block;
+  transform: scale(1.03);
+  filter: saturate(1.05) contrast(1.02);
+}
+
+.valueAccBottom {
+  position: relative;
+  overflow: hidden;
+  padding: 30px;
+  color: #ffffff;
+  background-image: var(--value-bottom-bg);
+  background-size: cover;
+  background-position: center;
+  display: grid;
+  gap: 14px;
+  align-content: start;
+}
+
+.valueAccBottom::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(
+    135deg,
+    rgba(2, 72, 185, 0.86),
+    rgba(0, 125, 255, 0.72)
+  );
+  opacity: 0.78;
+}
+
+.valueAccBottom > * {
+  position: relative;
+  z-index: 1;
+}
+
+.valueAccBottomTitle {
+  font-size: 26px;
+  /* font-weight: 950; */
+  letter-spacing: -0.03em;
+}
+
+.valueAccBottomText {
+  font-size: 14px;
+  line-height: 1.75;
+  max-width: 56ch;
+  opacity: 0.98;
+}
+
+.valueAccBtn {
+  margin-top: 8px;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 128px;
+  height: 44px;
+
+  background: rgba(255, 255, 255, 0.92);
+  color: #0b63ff;
+
+  border: 1px solid rgba(255, 255, 255, 0.32);
+}
+
+.valueAccBtn:hover {
+  background: #ffffff;
+  transform: translateY(-1px);
+}
+
+.valueAccItem[data-active="true"] .valueAccCollapsed {
+  opacity: 0;
+  transform: translateY(10px);
+  pointer-events: none;
+}
+
+.valueAccItem[data-active="true"] .valueAccExpanded {
+  opacity: 1;
+  transform: scale(1);
+  pointer-events: auto;
+}
+
+.newsCard {
+  overflow: hidden;
+}
+
+.newsRow {
+  display: grid;
+  grid-template-columns: 240px 1fr 40px;
+  align-items: center;
+  padding: 14px 18px;
+  border-top: 1px solid var(--border);
+  transition: 160ms ease;
+}
+
+.newsRow:first-child {
+  border-top: 0;
+}
+
+.newsRow:hover {
+  background: rgba(15, 23, 42, 0.02);
+}
+
+.newsMeta {
+  display: flex;
+  align-items: center;
+  gap: 10px;
+}
+
+.newsDate {
+  font-size: 12px;
+}
+
+.newsArrow {
+  text-align: right;
+  color: var(--slate-500);
+}
+
+.partnerGrid {
+  margin-top: 16px;
+  display: grid;
+  grid-template-columns: repeat(5, minmax(0, 1fr));
+  gap: 14px;
+}
+
+.partner {
+  box-shadow: var(--shadow);
+  border-radius: 10px;
+  background: #fff;
+  padding: 30px 50px;
+  cursor: pointer;
+}
+
+.partner img {
+  width: 100%;
+  display: block;
+  height: 56px;
+  object-fit: contain;
+  filter: saturate(0.96);
+  opacity: 0.94;
+}
+
+.partner:hover img {
+  opacity: 1;
+  transform: scale(1.5);
+  transition: all 0.2s ease;
+}
+
+.cta__card {
+  background: var(--cta-bg);
+  background-size: cover;
+  background-position: center;
+  background-repeat: no-repeat;
+  overflow: hidden;
+}
+
+.cta__pad {
+  padding: 26px;
+  display: grid;
+  gap: 12px;
+}
+
+.cta__title {
+  font-size: 22px;
+  font-weight: 900;
+  letter-spacing: -0.02em;
+}
+
+.cta__btns {
+  margin-top: 4px;
+  display: flex;
+  flex-wrap: wrap;
+  gap: 12px;
+}
+
+@media (max-width: 960px) {
+  .hero__inner {
+    grid-template-columns: 1fr;
+  }
+
+  .hero__title {
+    font-size: 34px;
+  }
+
+  .hero__stats {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+
+  .newsRow {
+    grid-template-columns: 1fr;
+    gap: 8px;
+  }
+
+  .newsArrow {
+    display: none;
+  }
+
+  .capLayout {
+    grid-template-columns: 1fr;
+  }
+
+  .capPlatformGrid {
+    grid-template-columns: 1fr;
+  }
+
+  .valueAcc {
+    flex-direction: column;
+    height: auto;
+  }
+
+  .valueAccItem {
+    min-width: 0;
+    min-height: 220px;
+  }
+
+  .valueAccItem[data-active="true"] {
+    flex: 1 1 auto;
+  }
+
+  .valueAccExpanded {
+    grid-template-rows: 220px 1fr;
+  }
+
+  .partnerGrid {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+}
+
+@media (max-width: 520px) {
+  .hero__panelBtns {
+    grid-template-columns: 1fr;
+  }
+
+  .hero__controls {
+    margin-top: 14px;
+    /* display: flex;
+    position: fixed;
+    left: 10%;
+    align-items: center;
+    justify-content: center;
+    gap: 10px;
+    width: 100%; */
+  }
+
+  .capPlatformArt {
+    display: none;
+  }
+
+  .capModuleGrid {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+
+  .valueAccCollapsed {
+    padding: 38px 22px 62px;
+  }
+
+  .valueAccTitle {
+    font-size: 28px;
+  }
+
+  .valueAccBottom {
+    padding: 22px;
+  }
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .capPlatformCard::before,
+  .capModuleTile,
+  .valueAccItem,
+  .valueAccCollapsed,
+  .valueAccExpanded,
+  .valueAccBtn {
+    transition: none !important;
+  }
+}
+
+/* 生态伙伴背景图样式 - 能源风格 */
+.partnersBg {
+  position: relative;
+  overflow: hidden;
+}
+
+.partnersBg::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: url("../assets/images/bg-index-3.jpg");
+  background-size: cover;
+  background-position: center;
+  /* opacity: 0.35;
+  filter: saturate(0.85); */
+}
+
+.partnersBg::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+}
+
+.partnersBg > .container {
+  position: relative;
+  z-index: 1;
+}
+
+/* 平台更新与行业观点模块样式 */
+.news-market-grid {
+  display: grid;
+  grid-template-columns: 3fr 3fr;
+  gap: 32px;
+}
+
+.news-column {
+  display: flex;
+  flex-direction: column;
+  gap: 24px;
+}
+
+.news-featured {
+  display: grid;
+  grid-template-columns: 1fr 1fr;
+  gap: 24px;
+}
+
+.news-featured-item {
+  overflow: hidden;
+  background: #ffffff;
+  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
+  position: relative;
+  height: 160px;
+}
+
+.news-featured-link {
+  display: block;
+  text-decoration: none;
+  color: inherit;
+  width: 100%;
+  height: 100%;
+}
+
+.news-featured-image-wrapper {
+  position: absolute;
+  inset: 0;
+  height: 100%;
+  overflow: hidden;
+}
+
+.news-featured-image {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  display: block;
+}
+
+/* 新增:文字覆盖层 */
+.news-featured-overlay {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  padding: 20px;
+  background: rgba(0, 0, 0, 0.6);
+  color: white;
+  z-index: 2;
+}
+
+.news-featured-title {
+  font-size: 14px;
+  line-height: 1.3;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.news-featured-desc {
+  font-size: 14px;
+  line-height: 1.5;
+  opacity: 0.9;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.news-featured-meta {
+  display: flex;
+  align-items: center;
+  gap: 12px;
+  margin-bottom: 8px;
+}
+
+.news-featured-tag {
+  background: rgba(255, 255, 255, 0.8);
+  color: var(--slate-800);
+  padding: 2px 8px;
+  border-radius: 4px;
+  font-size: 12px;
+  font-weight: 600;
+}
+
+.news-featured-date {
+  color: rgba(255, 255, 255, 0.8);
+  font-size: 12px;
+}
+
+.market-column {
+  display: flex;
+  flex-direction: column;
+  gap: 24px;
+  /* 确保与左侧高度对齐 */
+  min-height: 500px;
+}
+
+.market-activity {
+  /* border-radius: 5px; */
+  overflow: hidden;
+  background: #ffffff;
+  position: relative;
+  height: 120px;
+}
+
+.market-activity-link {
+  display: block;
+  text-decoration: none;
+  color: inherit;
+  width: 100%;
+  height: 100%;
+}
+
+.market-activity-image-wrapper {
+  position: absolute;
+  inset: 0;
+  height: 100%;
+  overflow: hidden;
+}
+
+.market-activity-image {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  display: block;
+}
+
+.market-activity-overlay {
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  padding: 16px;
+  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.8) 100%);
+  /* background: rgba(0, 0, 0, 0.5); */
+  color: white;
+  z-index: 2;
+}
+
+.market-activity-title {
+  font-size: 16px;
+  font-weight: 700;
+  line-height: 1.3;
+  margin-bottom: 4px;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.market-activity-desc {
+  font-size: 12px;
+  line-height: 1.4;
+  opacity: 0.9;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.sectionHead-actions {
+  display: flex;
+  align-items: center;
+  gap: 16px;
+}
+
+@media (max-width: 960px) {
+  .news-market-grid {
+    grid-template-columns: 1fr;
+  }
+
+  .news-column {
+    gap: 16px;
+  }
+
+  .news-featured {
+    grid-template-columns: 1fr;
+    gap: 16px;
+  }
+
+  .market-column {
+    gap: 16px;
+    min-height: auto;
+  }
+
+  .news-featured-image-wrapper {
+    height: 140px;
+  }
+
+  .market-activity-image-wrapper {
+    height: 100px;
+  }
+}
+
+.productCard {
+  overflow: hidden;
+  padding: 0;
+  border: none;
+  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
+}
+
+.productImageWrapper {
+  width: 100%;
+  height: 200px;
+  overflow: hidden;
+}
+
+.productImage {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  display: block;
+  transition: transform 0.3s ease;
+}
+
+.productCard:hover .productImage {
+  transform: scale(1.1);
+}
+
+.productContent {
+  padding: 20px;
+  background: #ffffff;
+  transition: background-color 0.3s ease;
+}
+
+.productCard:hover .productContent {
+  background-color: #024198;
+}
+
+.productCard:hover .productTitle,
+.productCard:hover .productDesc,
+.productCard:hover .pill {
+  color: #ffffff;
+}
+
+.productTitle {
+  letter-spacing: -0.02em;
+  font-size: 18px;
+  line-height: 1.4;
+  transition: color 0.3s ease;
+}
+
+.productDesc {
+  margin-top: 8px;
+  font-size: 14px;
+  line-height: 1.6;
+  transition: color 0.3s ease;
+}
+
+.productTags {
+  margin-top: 12px;
+  display: flex;
+  flex-wrap: wrap;
+  gap: 10px;
+}
+
+.pill {
+  padding: 4px 10px;
+  border-radius: 999px;
+  background: rgba(37, 99, 235, 0.1);
+  color: var(--brand-700);
+  font-size: 12px;
+  font-weight: 600;
+  transition: all 0.3s ease;
+}
+
+.productCard:hover .pill {
+  background: rgba(255, 255, 255, 0.2);
+  color: #ffffff;
+}
+
+.solutionsTabContainer {
+  margin-top: 10px;
+  padding: 30px;
+  padding-bottom: 0;
+  padding-left: 0;
+  padding-right: 0;
+}
+
+.solutionsTabs {
+  display: flex;
+  justify-content: center;
+  flex-wrap: wrap;
+  gap: 12px;
+
+  padding-bottom: 0;
+}
+
+.solutionsTabBtn {
+  padding: 12px 24px;
+  background: transparent;
+  border: none;
+  border-bottom: none;
+  font-size: 16px;
+  font-weight: 600;
+  color: var(--slate-600);
+  cursor: pointer;
+  transition: all 0.25s ease;
+  position: relative;
+  margin-bottom: -2px;
+  border-top-left-radius: 10px;
+  border-top-right-radius: 10px;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  gap: 10px;
+}
+
+.solutionsTabBtn:hover {
+  color: var(--brand-700);
+}
+
+.solutionsTabBtn.active {
+  color: var(--brand-700);
+
+  background-image: linear-gradient(
+    to bottom,
+    rgba(37, 99, 235, 1),
+    rgba(37, 99, 235, 0.3)
+  );
+}
+
+.solutionsTabContent {
+  min-height: 420px;
+  margin-top: 2px;
+  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
+}
+
+.solutionsTabInner {
+  display: grid;
+  grid-template-columns: 1fr 1fr;
+  gap: 40px;
+  align-items: center;
+  background-color: #f7f7fa;
+}
+
+.solutionsTabText {
+  padding: 20px;
+  padding-left: 100px;
+}
+
+.solutionsTabTitle {
+  font-size: 32px;
+  font-weight: 700;
+  letter-spacing: -0.02em;
+  color: #014198;
+  line-height: 1.3;
+  margin-bottom: 16px;
+}
+
+.solutionsTabDesc {
+  font-size: 16px;
+  line-height: 1.8;
+  color: #666666;
+  margin-bottom: 24px;
+}
+
+.solutionsTabLink {
+  display: inline-flex;
+  align-items: center;
+  gap: 8px;
+  color: var(--brand-700);
+  font-size: 16px;
+  font-weight: 700;
+  text-decoration: none;
+  transition: gap 0.2s ease;
+}
+
+.solutionsTabLink:hover {
+  gap: 12px;
+}
+
+.solutionsTabImage {
+  overflow: hidden;
+}
+
+.solutionsTabImage img {
+  width: 100%;
+  height: 420px;
+  object-fit: cover;
+  display: block;
+}
+
+.slide-up-enter-active,
+.slide-up-leave-active {
+  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
+}
+
+.slide-up-enter-from {
+  opacity: 0;
+  transform: translateY(30px);
+}
+
+.slide-up-leave-to {
+  opacity: 0;
+  transform: translateY(-20px);
+}
+
+@media (max-width: 960px) {
+  .solutionsTabInner {
+    grid-template-columns: 1fr;
+    gap: 24px;
+  }
+
+  .solutionsTabTitle {
+    font-size: 26px;
+  }
+
+  .solutionsTabImage img {
+    height: 240px;
+  }
+
+  .solutionsTabs {
+    flex-direction: column;
+    gap: 8px;
+  }
+
+  .solutionsTabBtn {
+    width: 100%;
+    text-align: left;
+    padding: 14px 20px;
+    border-bottom: 2px solid rgba(15, 23, 42, 0.08);
+    margin-bottom: 0;
+  }
+
+  .solutionsTabBtn.active {
+    border-bottom-color: var(--brand-700);
+    background: rgba(37, 99, 235, 0.08);
+  }
+}
+
+@media (max-width: 520px) {
+  .solutionsTabContainer {
+    padding: 20px;
+  }
+
+  .solutionsTabTitle {
+    font-size: 22px;
+  }
+
+  .solutionsTabDesc {
+    font-size: 14px;
+  }
+
+  .solutionsTabImage img {
+    height: 200px;
+  }
+}
+
+.partners-section {
+  position: relative;
+  height: 500px;
+}
+
+.partnerGridWrapper {
+  position: relative;
+  margin-top: 40px;
+}
+
+.partners-bg-svg {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+  width: 100%;
+  height: 100%;
+  min-height: 500px;
+  pointer-events: none;
+  z-index: 0;
+  overflow: visible;
+}
+
+.dashed-circle {
+  fill-opacity: 0.5;
+  stroke-width: 1;
+  stroke-dasharray: 3 3;
+  stroke-linecap: round;
+  /* animation: dashRotate 60s linear infinite; */
+}
+
+.circle-group {
+  transform-origin: center;
+  animation: rotateCircle 120s linear infinite;
+}
+
+.circle-group-1 {
+  animation-duration: 120s;
+}
+
+.circle-group-2 {
+  animation: rotateCircleReverse 180s linear infinite;
+}
+
+.circle-group-3 {
+  animation-duration: 240s;
+}
+
+@keyframes dashRotate {
+  from {
+    stroke-dashoffset: 0;
+  }
+  to {
+    stroke-dashoffset: -1130;
+  }
+}
+
+@keyframes rotateCircle {
+  from {
+    transform: rotate(0deg);
+  }
+  to {
+    transform: rotate(360deg);
+  }
+}
+
+@keyframes rotateCircleReverse {
+  from {
+    transform: rotate(360deg);
+  }
+  to {
+    transform: rotate(0deg);
+  }
+}
+
+.partnerGrid {
+  position: relative;
+  z-index: 1;
+  display: grid;
+  grid-template-columns: repeat(5, minmax(0, 1fr));
+  gap: 14px;
+}
+
+.partner img {
+  width: 100%;
+  display: block;
+  height: 56px;
+  object-fit: contain;
+  filter: saturate(0.96);
+  opacity: 0.94;
+}
+
+.partner:hover img {
+  opacity: 1;
+  transform: scale(1.5);
+  transition: all 0.2s ease;
+}
+
+@media (max-width: 960px) {
+  .partners-bg-svg {
+    min-height: 400px;
+  }
+
+  .dashed-circle {
+    stroke-dasharray: 10 10;
+  }
+}
+
+@media (max-width: 520px) {
+  .partnerGrid {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+}
+</style>

+ 117 - 0
src/components/motion/NewsView.vue

@@ -0,0 +1,117 @@
+<script setup>
+import PageHero from "../components/PageHero.vue";
+import Reveal from "../components/motion/Reveal.vue";
+
+const items = [
+  {
+    date: "2026-02-12",
+    tag: "发布",
+    title: "工业互联网门户新版上线",
+    desc: "统一导航、产品矩阵与行业方案展示,增强案例与新闻聚合能力。",
+  },
+  {
+    date: "2026-01-28",
+    tag: "活动",
+    title: "工业数据治理专题沙龙报名启动",
+    desc: "围绕资产目录、指标口径与数据质量治理,分享落地方法与实践。",
+  },
+  {
+    date: "2026-01-10",
+    tag: "更新",
+    title: "设备接入能力升级:新增边缘缓存与多协议适配",
+    desc: "提升现场环境稳定性,支持断点续传与离线数据补传。",
+  },
+  {
+    date: "2025-12-20",
+    tag: "案例",
+    title: "从采集到指标:制造企业数据治理全链路实践",
+    desc: "以“口径统一 + 质量可控”为目标,推动数据资产规模化生产。",
+  },
+];
+</script>
+
+<template>
+  <div>
+    <PageHero kicker="" title="平台更新与行业观点" subtitle=""> </PageHero>
+
+    <section class="section">
+      <div class="container">
+        <div class="grid newsGrid">
+          <Reveal
+            v-for="(n, idx) in items"
+            :key="n.title"
+            as="div"
+            style="border: none"
+            class="card card-pad newsItem hover-lift"
+            :delay="60 + idx * 70"
+          >
+            <div class="newsTop">
+              <span class="muted newsDate">{{ n.date }}</span>
+            </div>
+            <div class="newsTitle">{{ n.title }}</div>
+            <div class="muted">{{ n.desc }}</div>
+            <!-- <RouterLink class="btn btn-link newsMore" to="/contact"
+              >详情 <Icon icon="lucide:chevron-right" width="20" height="20"
+            /></RouterLink> -->
+          </Reveal>
+        </div>
+      </div>
+    </section>
+  </div>
+</template>
+
+<style scoped>
+.newsGrid {
+  grid-template-columns: repeat(2, minmax(0, 1fr));
+}
+
+.newsTop {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  gap: 12px;
+  margin-bottom: 10px;
+}
+
+.newsDate {
+  font-size: 12px;
+}
+
+.newsTitle {
+  letter-spacing: -0.02em;
+  margin-bottom: 6px;
+  cursor: pointer;
+}
+
+.newsTitle:hover {
+  color: #1d4ed8;
+}
+
+.newsMore {
+  margin-top: 10px;
+}
+
+@media (max-width: 960px) {
+  .newsGrid {
+    grid-template-columns: 1fr;
+  }
+}
+
+:deep(.pageHero) {
+  background-image: url("../assets/images/newbg.jpg");
+  background-size: cover, cover;
+  background-position: center, center;
+  background-repeat: no-repeat, no-repeat;
+  background-blend-mode: overlay;
+  color: #fff;
+  border-bottom: none;
+  padding: 80px 0;
+  text-align: center;
+  height: 30vh;
+}
+
+:deep(.pageHero__subtitle) {
+  color: #fff;
+  text-align: center;
+}
+</style>

+ 733 - 0
src/components/motion/SolutionsView.vue

@@ -0,0 +1,733 @@
+<script setup>
+import PageHero from "../components/PageHero.vue";
+import solutionsBgUrl from "../assets/images/bg.jpg?url";
+import Reveal from "../components/motion/Reveal.vue";
+import { Icon } from "@iconify/vue";
+import { onBeforeUnmount, onMounted, ref } from "vue";
+import platformCover from "../assets/images/p1.png?url";
+import equipmentCover from "../assets/images/sence3.png?url";
+import productionCover from "../assets/images/sence2.jpg?url";
+
+const activeTab = ref("platform");
+const tabBarRef = ref(null);
+const prefersReducedMotion = () =>
+  typeof window !== "undefined" &&
+  window.matchMedia &&
+  window.matchMedia("(prefers-reduced-motion: reduce)").matches;
+
+const pillars = [
+  {
+    key: "platform",
+    title: "设备升级改造能力",
+    lead: "油气专属底座,打通“数采—数据—系统—AI”,为全场景应用落地提供稳定支撑",
+    icon: "lucide:layers-3",
+    cover: platformCover,
+    items: [
+      {
+        title: "全景设备升级 适配平台接入",
+        desc: "依托工业互联网平台底座,提供油气领域全类型设备升级改造服务,针对老旧设备、传统设备,完成仪器仪表升级、PLC 控制系统改造或加装,确保改造后设备可无缝接入平台,打通设备与平台的数据联通通道,为后续智能管控奠定基础",
+      },
+      {
+        title: "实时数采远程管控 提升作业便捷度",
+        desc: "通过设备升级改造,结合平台数采能力,实现现场设备运行数据实时采集、同步上传,打破现场操作局限,支持远程对设备进行控制、参数调试,无需现场值守,降低人工成本,提升设备运维与操作的便捷性、高效性。",
+      },
+      {
+        title: "AI 大模型赋能  智能动态调参",
+        desc: "升级后的设备联动工业互联网平台 AI 大模型算法,基于实时采集的设备运行数据,进行智能分析、精准研判,自动输出动态调参建议或完成自动调参,优化设备运行状态,确保设备始终处于最佳运行工况,提升运行效率。",
+      },
+      {
+        title: "设备专项赋能 预测性维护",
+        desc: "针对油气领域部分核心设备,在升级改造基础上,结合平台数据处理与大模型能力,实时监测运行参数,精准预判设备潜在故障、损耗情况,提前触发维护提醒,实现预测性维护,减少停机损失,延长设备使用寿命。",
+      },
+    ],
+  },
+  {
+    key: "equipment",
+    title: "智慧注气",
+    lead: "围绕设备全生命周期,实现台账、巡检维保、预测维护与实时监控预警的闭环管理",
+    icon: "lucide:cpu",
+    cover: equipmentCover,
+    items: [
+      {
+        title: "老旧设备升级 筑牢无人值守基础",
+        desc: "依托工业互联网平台底座,针对油气注气领域老旧设备,开展专项升级改造,加装远程控制器、智能阀门等核心组件,完成设备智能化升级,打破传统人工操作局限,为注气现场无人值守搭建硬件支撑,确保设备可无缝接入平台实现协同管控。",
+      },
+      {
+        title: "实时数据采集 精准把控运行状态",
+        desc: "升级后的注气设备联动平台数采能力,实时采集现场压力、温度、流量等核心运行参数,同步上传至工业互联网平台,实现参数实时可视化监控,全面掌握注气全流程运行状态,为无人值守下的智能调控提供精准数据支撑。",
+      },
+      {
+        title: "智能动态调参 实现无人管控",
+        desc: "依托工业互联网平台算法能力,基于实时采集的运行数据,自动分析注气工况,动态调整注入参数,无需人工现场操作,真正实现注气现场无人少人值守,大幅减少人工干预,确保注气过程稳定、高效、精准。",
+      },
+      {
+        title: "降本增效保安全 赋能场景升级",
+        desc: "通过无人值守模式,大幅减少现场值守人员,降低人力成本;智能动态调参优化注气效率,提升作业产能;减少人员现场作业频次,规避现场安全风险,实现降本、增效、保安全三重价值,推动注气场景数字化、智能化转型。",
+      },
+    ],
+  },
+  {
+    key: "production",
+    title: "智慧钻井",
+    lead: "面向油气生产项目,贯通任务、计划、数据与报表,提升协同效率与过程可控性",
+    icon: "lucide:clipboard-check",
+    cover: productionCover,
+    items: [
+      {
+        title: "数据精准采集  筑牢钻井分析基础",
+        desc: "依托工业互联网平台数采能力,深度联动录井仪设备,实时采集钻井全流程工况数据,全面记录钻井过程中的各项核心参数,实现数据精准捕捉、实时上传、规范存储,为后续 AI 分析、钻井优化及完井报告生成,提供完整、可靠的数据支撑。",
+      },
+      {
+        title: "AI 大模型深度赋能 精准分析钻井工况",
+        desc: "基于工业互联网平台 AI 大模型能力,对采集的录井数据进行深度挖掘、智能分析,精准识别钻井过程中的工况异常、参数偏差等问题,快速研判钻井态势,为钻井作业优化提供科学、精准的数据分析支撑,规避盲目操作风险。",
+      },
+      {
+        title: "钻井参数智能优化 提升钻井作业交通",
+        desc: "结合 AI 大模型的工况分析结果,联动工业互联网平台管控能力,为钻井现场提供精准的参数优化建议,指导现场调整钻井参数,优化钻井工艺,有效提升钻速、降低钻井损耗,助力钻井作业提质增效,契合油气勘探开发高效化需求。",
+      },
+      {
+        title: "智能生成完井报告 提升报告编制效率",
+        desc: "依托平台数据沉淀与 AI 处理能力,自动汇总钻井全流程录井数据、工况分析结果及优化记录,一键生成标准化完井报告,无需人工繁琐录入,大幅缩短报告编制周期,确保报告数据精准、内容规范,为钻井成果复盘、后续作业提供有力支撑。",
+      },
+    ],
+  },
+];
+
+const deliver = [
+  { title: "SaaS", desc: "开箱即用,按需订阅,快速试点与复制。" },
+  { title: "私有化", desc: "数据本地化部署,适配企业安全与合规要求。" },
+  { title: "混合云", desc: "核心数据本地,弹性算力上云,兼顾成本与性能。" },
+];
+
+const approach = [
+  { step: "01", title: "数据采集", desc: "实时采集设备、生产等现场数据" },
+  { step: "02", title: "数据传输", desc: "通过边缘网关传输至平台" },
+  { step: "03", title: "数据分析", desc: "基于 AI 大模型进行智能分析" },
+  { step: "04", title: "决策优化", desc: "输出优化建议并持续改进" },
+];
+
+function headerOffsetPx() {
+  const rootStyle = getComputedStyle(document.documentElement);
+  const headerVar = rootStyle.getPropertyValue("--header-h")?.trim();
+  const headerH = Number.parseFloat(headerVar || "72") || 72;
+  const tabH = tabBarRef.value?.getBoundingClientRect?.().height || 0;
+  return Math.round(headerH + tabH + 16);
+}
+
+function scrollToTab(key) {
+  const el = document.getElementById(`product-${key}`);
+  if (!el) return;
+  activeTab.value = key;
+
+  const offset = headerOffsetPx();
+  const y = el.getBoundingClientRect().top + window.scrollY - offset;
+  window.scrollTo({
+    top: Math.max(0, y),
+    behavior: prefersReducedMotion() ? "auto" : "smooth",
+  });
+}
+
+let observer = null;
+onMounted(() => {
+  const offset = headerOffsetPx();
+  observer = new IntersectionObserver(
+    (entries) => {
+      const visible = entries
+        .filter((e) => e.isIntersecting)
+        .sort(
+          (a, b) => (b.intersectionRatio || 0) - (a.intersectionRatio || 0),
+        )[0];
+      if (visible?.target?.id)
+        activeTab.value = visible.target.id.replace("product-", "");
+    },
+    {
+      root: null,
+      threshold: [0.25, 0.45, 0.6],
+      rootMargin: `-${offset}px 0px -55% 0px`,
+    },
+  );
+
+  for (const p of pillars) {
+    const el = document.getElementById(`product-${p.key}`);
+    if (el) observer.observe(el);
+  }
+});
+
+onBeforeUnmount(() => {
+  observer?.disconnect?.();
+  observer = null;
+});
+</script>
+
+<template>
+  <div>
+    <PageHero
+      kicker=""
+      title="油气行业数智产品矩阵"
+      subtitle="以工业互联网平台为底座,覆盖设备管理、生产管理与 QHSE,贯通数采、数据、流程与 AI,支撑从勘探开发到生产运营的全场景数字化。"
+    >
+      <template #actions>
+        <RouterLink
+          class="btn btn-primary"
+          style="border-radius: 0"
+          to="/contact"
+          >获取产品资料</RouterLink
+        >
+      </template>
+    </PageHero>
+
+    <section class="section" style="padding-top: 0; margin-top: -10px">
+      <div>
+        <div
+          ref="tabBarRef"
+          class="tabBar"
+          role="tablist"
+          aria-label="产品域导航"
+        >
+          <button
+            v-for="p in pillars"
+            :key="p.key"
+            class="tabBtn"
+            :class="{ 'is-active': activeTab === p.key }"
+            type="button"
+            role="tab"
+            :aria-selected="activeTab === p.key ? 'true' : 'false'"
+            @click="scrollToTab(p.key)"
+          >
+            <span
+              class="tabText"
+              style="display: flex; align-items: center; gap: 10px"
+              ><Icon :icon="p.icon" width="18" height="18" aria-hidden="true" />
+              <span>{{ p.title }}</span></span
+            >
+          </button>
+        </div>
+
+        <div class="productStac">
+          <section
+            v-for="p in pillars"
+            :id="`product-${p.key}`"
+            :key="p.key"
+            :class="{
+              'section--soft': p.title === '智慧注气',
+              productSection: true,
+            }"
+            style="padding: 0 100px"
+          >
+            <header class="productHead">
+              <div class="productHeadTop">
+                <h2 class="productTitle">{{ p.title }}</h2>
+              </div>
+              <p class="productLead">{{ p.lead }}</p>
+            </header>
+
+            <div v-if="p.key === 'platform'" class="platformLayout">
+              <div class="platformImage">
+                <img :src="p.cover" :alt="p.title" />
+              </div>
+              <div class="platformFeatures">
+                <div
+                  v-for="it in p.items"
+                  :key="it.title"
+                  class="platformFeature"
+                >
+                  <div class="featureDot" aria-hidden="true"></div>
+                  <div class="featureMain">
+                    <div class="featureTitle">{{ it.title }}</div>
+                    <div class="muted featureDesc">{{ it.desc }}</div>
+                  </div>
+                </div>
+              </div>
+            </div>
+
+            <div v-else class="tabContentLayout" style="padding-bottom: 20px">
+              <div class="tabContentImage">
+                <img :src="p.cover" :alt="p.title" />
+              </div>
+              <div class="tabContentFeatures">
+                <div
+                  v-for="(it, idx) in p.items"
+                  :key="it.title"
+                  class="tabFeatureRow"
+                >
+                  <div class="tabFeatureMain">
+                    <div class="featureTitle">{{ it.title }}</div>
+                    <div class="muted featureDesc">{{ it.desc }}</div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </section>
+        </div>
+      </div>
+    </section>
+
+    <section
+      class="section section--soft solutionsBg"
+      :style="{ '--solutions-bg': `url(${solutionsBgUrl})` }"
+    >
+      <div class="container">
+        <Reveal as="div" class="sectionHead" :delay="0">
+          <div>
+            <!-- <div class="section-kicker">落地方法</div> -->
+            <h2 class="h2">以数据闭环驱动持续改进</h2>
+          </div>
+        </Reveal>
+
+        <div class="grid grid-4">
+          <Reveal
+            v-for="(a, idx) in approach"
+            :key="a.step"
+            as="div"
+            class="card card-pad approachCard hover-lift"
+            style="border: none"
+            :delay="60 + idx * 70"
+          >
+            <div class="approachStep">{{ a.step }}</div>
+            <div class="approachTitle">{{ a.title }}</div>
+            <div class="muted">{{ a.desc }}</div>
+          </Reveal>
+        </div>
+      </div>
+    </section>
+  </div>
+</template>
+
+<style scoped>
+.sectionHead {
+  display: flex;
+  align-items: flex-end;
+  justify-content: space-between;
+  gap: 18px;
+  margin-bottom: 16px;
+}
+
+.solutionTitle {
+  font-weight: 900;
+  letter-spacing: -0.02em;
+  margin-bottom: 6px;
+}
+
+.solutionScenes {
+  margin-top: 12px;
+  display: grid;
+  gap: 10px;
+}
+
+.scene {
+  display: flex;
+  align-items: center;
+  gap: 10px;
+  color: var(--slate-700);
+  font-weight: 600;
+}
+
+.dot {
+  width: 8px;
+  height: 8px;
+  border-radius: 50%;
+  background: var(--brand-600);
+}
+
+.approachStep {
+  color: var(--brand-700);
+  font-weight: 900;
+  letter-spacing: -0.02em;
+}
+
+.approachTitle {
+  margin-top: 4px;
+  /* font-weight: 900; */
+  margin-bottom: 6px;
+}
+
+.solutionsBg {
+  position: relative;
+  overflow: hidden;
+}
+
+.solutionsBg::before {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background-image: var(--solutions-bg);
+  background-size: cover;
+  background-position: center;
+  opacity: 0.45;
+  filter: saturate(0.95);
+}
+
+.solutionsBg::after {
+  content: "";
+  position: absolute;
+  inset: 0;
+  background: linear-gradient(
+    180deg,
+    rgba(248, 250, 252, 0.78),
+    rgba(248, 250, 252, 0.92)
+  );
+}
+
+.solutionsBg > .container {
+  position: relative;
+  z-index: 1;
+}
+
+.productsView {
+  --ink: rgba(2, 6, 23, 0.92);
+  --tab-bg: rgba(255, 255, 255, 0.92);
+}
+
+.sectionHead {
+  display: flex;
+  align-items: flex-end;
+  justify-content: space-between;
+  gap: 18px;
+  margin-bottom: 16px;
+}
+
+.productStac {
+  display: flex;
+  width: 100%;
+  justify-content: center;
+  align-items: center;
+  flex-direction: column;
+}
+
+:deep(.pageHero) {
+  border-bottom: none;
+}
+
+.tabBar {
+  position: sticky;
+  top: var(--header-h);
+  padding: 0 30px;
+  z-index: 20;
+  display: grid;
+  grid-template-columns: repeat(6, minmax(0, 1fr));
+  gap: 0px;
+  background: #eef5f8;
+  margin: 10px 0 18px;
+  height: 80px;
+  border: 0;
+  border-radius: 0;
+}
+
+.tabBtn {
+  height: 80px;
+  font-size: 20px;
+  border: 0;
+  background: #eef5f8;
+  box-shadow: var(--tab-shadow);
+  padding: 0 50px;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  gap: 10px;
+  color: var(--slate-700);
+  letter-spacing: 0.01em;
+  cursor: pointer;
+  transition:
+    transform 160ms ease,
+    box-shadow 160ms ease,
+    color 160ms ease;
+}
+
+.tabBtn.is-active {
+  color: var(--brand-700);
+  background-color: #fff;
+}
+
+.tabBtn:focus-visible {
+  outline: none;
+  box-shadow:
+    0 0 0 3px rgba(37, 99, 235, 0.24),
+    var(--tab-shadow-hover);
+}
+
+.tabText {
+  display: inline-block;
+  white-space: nowrap;
+  padding-bottom: 10px;
+  background-image: linear-gradient(currentColor, currentColor);
+  background-repeat: no-repeat;
+  background-position: 0 100%;
+  background-size: 0 2px;
+  transition: background-size 160ms ease;
+}
+
+.tabBtn.is-active .tabText {
+  background-size: 100% 2px;
+}
+
+.productStack {
+  display: grid;
+  gap: 26px;
+}
+
+.productSection {
+  scroll-margin-top: calc(var(--header-h) + 84px);
+  border: 0;
+  border-radius: 0;
+  /* background: transparent; */
+  box-shadow: none;
+  margin-top: 50px;
+}
+
+.productSection.hasGrayBg {
+  position: relative;
+  background: #f5f7fa;
+  padding: 40px 0;
+}
+
+.productSection.hasGrayBg::before {
+  content: "";
+  position: absolute;
+  top: 0;
+  left: 50%;
+  transform: translateX(-50%);
+  width: 100vw;
+  height: 100%;
+  background: #f5f7fa;
+  z-index: -1;
+}
+
+.productHead {
+  padding: 18px 18px 14px;
+  text-align: center;
+}
+
+.productHeadTop {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  gap: 12px;
+}
+
+.productBadge {
+  font-size: 12px;
+  font-weight: 900;
+  letter-spacing: 0.08em;
+  color: rgba(2, 6, 23, 0.65);
+  background: rgba(15, 23, 42, 0.04);
+  border: 1px solid rgba(15, 23, 42, 0.08);
+  padding: 6px 10px;
+  border-radius: 999px;
+  flex: 0 0 auto;
+}
+
+.productTitle {
+  letter-spacing: -0.02em;
+  color: var(--ink);
+  font-size: 30px;
+  line-height: 1.25;
+  text-align: center;
+}
+
+.productLead {
+  margin-top: 10px;
+  max-width: 92ch;
+  text-align: center;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.platformLayout {
+  margin-top: 40px;
+  display: grid;
+  grid-template-columns: 1fr 1fr;
+  gap: 50px;
+  align-items: start;
+}
+
+.platformImage {
+  /* border-radius: 16px; */
+  overflow: hidden;
+  box-shadow: 0 12px 40px rgba(2, 6, 23, 0.12);
+}
+
+.platformImage img {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+  display: block;
+}
+
+.platformFeatures {
+  display: grid;
+  gap: 24px;
+}
+
+.platformFeature {
+  display: grid;
+  grid-template-columns: 22px 1fr;
+  align-items: start;
+  gap: 16px;
+  padding: 22px;
+  background: #fff;
+  /* border-radius: 16px; */
+  box-shadow: 0 8px 24px rgba(2, 6, 23, 0.08);
+  min-height: 160px;
+  transition:
+    transform 180ms ease,
+    box-shadow 180ms ease;
+}
+
+.platformFeature:hover {
+  transform: translateY(-2px);
+  box-shadow: 0 12px 32px rgba(2, 6, 23, 0.12);
+}
+
+.tabContentLayout {
+  margin-top: 40px;
+  display: grid;
+  grid-template-columns: 1fr 1.2fr;
+  gap: 50px;
+  align-items: start;
+}
+
+.tabContentImage {
+  /* border-radius: 16px; */
+  overflow: hidden;
+  box-shadow: 0 12px 40px rgba(2, 6, 23, 0.12);
+  position: sticky;
+  top: calc(var(--header-h) + 100px);
+}
+
+.tabContentImage img {
+  width: 100%;
+  height: 500px;
+  object-fit: cover;
+  display: block;
+}
+
+.tabContentFeatures {
+  display: grid;
+  gap: 20px;
+}
+
+.tabFeatureRow {
+  padding: 28px;
+  background: #fff;
+  /* border-radius: 16px; */
+  box-shadow: 0 8px 24px rgba(2, 6, 23, 0.08);
+  min-height: 140px;
+  transition:
+    transform 180ms ease,
+    box-shadow 180ms ease;
+}
+
+.tabFeatureRow:hover {
+  transform: translateY(-2px);
+  box-shadow: 0 12px 32px rgba(2, 6, 23, 0.12);
+}
+
+.featureDot {
+  width: 18px;
+  height: 18px;
+  border-radius: 999px;
+  background: linear-gradient(180deg, #0766cd, #0d4a9e);
+  box-shadow:
+    0 10px 22px rgba(10, 71, 156, 0.25),
+    inset 0 0 0 2px rgba(255, 255, 255, 0.85);
+  margin-top: 4px;
+}
+
+.featureMain,
+.tabFeatureMain {
+  min-width: 0;
+}
+
+.featureTitle {
+  letter-spacing: -0.01em;
+  color: rgba(2, 6, 23, 0.9);
+  font-size: 22px;
+  font-weight: 700;
+  line-height: 1.35;
+}
+
+.featureDesc {
+  margin-top: 10px;
+  line-height: 1.75;
+  color: #666666;
+  text-align: left;
+}
+
+.deliverTitle {
+  font-weight: 900;
+  margin-bottom: 6px;
+}
+
+@media (max-width: 960px) {
+  .sectionHead {
+    flex-direction: column;
+    align-items: flex-start;
+    gap: 12px;
+  }
+
+  .tabBar {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+
+  .platformLayout,
+  .tabContentLayout {
+    grid-template-columns: 1fr;
+    gap: 30px;
+  }
+
+  .tabContentImage {
+    position: static;
+  }
+
+  .tabContentImage img {
+    height: 300px;
+  }
+}
+
+@media (max-width: 560px) {
+  .platformFeature,
+  .tabFeatureRow {
+    padding: 20px;
+    min-height: auto;
+  }
+
+  .featureTitle {
+    font-size: 18px;
+  }
+
+  .featureDesc {
+    font-size: 14px;
+  }
+}
+
+@media (prefers-reduced-motion: reduce) {
+  .tabBtn {
+    transition: none !important;
+    transform: none !important;
+  }
+
+  .tabText {
+    transition: none !important;
+  }
+
+  .platformFeature,
+  .tabFeatureRow {
+    transition: none !important;
+    transform: none !important;
+  }
+}
+
+:deep(.pageHero) {
+  background-image: url("../assets/images/bg4.png");
+  background-size: cover, cover;
+  background-position: center, center;
+  background-repeat: no-repeat, no-repeat;
+  background-blend-mode: overlay;
+  color: #111;
+  padding: 80px 0;
+}
+
+:deep(.pageHero__subtitle) {
+  color: #4f5055;
+}
+</style>

+ 20 - 0
src/router/index.js

@@ -48,12 +48,32 @@ const router = createRouter({
       path: '/news/2',
       component: () => import('../views/news/new2.vue'),
       meta: { title: '新闻动态' },
+    },
+     {
+      path: '/news/3',
+      component: () => import('../views/news/new3.vue'),
+      meta: { title: '新闻动态' },
     },
       {
       path: '/news/4',
       component: () => import('../views/news/new4.vue'),
       meta: { title: '新闻动态' },
     },
+      {
+      path: '/news/5',
+      component: () => import('../views/news/new5.vue'),
+      meta: { title: '新闻动态' },
+    },
+      {
+      path: '/news/6',
+      component: () => import('../views/news/new6.vue'),
+      meta: { title: '新闻动态' },
+    },
+     {
+      path: '/news/7',
+      component: () => import('../views/news/new7.vue'),
+      meta: { title: '新闻动态' },
+    },
 
     {
       path: '/cases/1',

+ 3 - 3
src/views/ContactView.vue

@@ -116,7 +116,7 @@ function submit() {
 }
 
 .blockTitle {
-  font-weight: 900;
+  font-weight: 700;
   letter-spacing: -0.02em;
   margin-bottom: 10px;
 }
@@ -140,7 +140,7 @@ function submit() {
 }
 
 .successTitle {
-  font-weight: 900;
+  font-weight: 700;
   margin-bottom: 4px;
 }
 
@@ -161,7 +161,7 @@ function submit() {
 
 .label {
   font-size: 12px;
-  font-weight: 800;
+  /* font-weight: 800; */
   color: var(--slate-700);
 }
 

+ 36 - 33
src/views/HomeView.vue

@@ -47,6 +47,9 @@ import { computed, onBeforeUnmount, onMounted, ref } from "vue";
 import { Icon } from "@iconify/vue";
 import { useRouter } from "vue-router";
 
+import xin1 from "../assets/images/xin1.png";
+import xin2 from "../assets/images/xin2.png";
+
 const router = useRouter();
 
 const slides = [
@@ -254,32 +257,32 @@ const products = [
 const solutions = [
   {
     title: "设备管理",
-    desc: "井场数据汇聚、施工过程可视化与风险预警。",
+    desc: "基于油气工业互联网平台,构建设备全生命周期数字化管理,实现台账统一、维保巡检标准化、库存联动、预测性维护。全面提升设备可用性,降低故障率与运维成本,形成可快速复制的现场管理实践。",
     cover: sence,
   },
   {
     title: "智能钻修井",
-    desc: "生产运行监控、工况分析与产量波动诊断。",
+    desc: "基于工业互联网平台与录井数据采集,通过 AI 大模型智能分析工况,提供参数优化与作业指导,自动生成完井报告,提升钻速与作业效率,打造可复制推广的智能钻修井实践。",
     cover: sence2,
   },
   {
     title: "智慧注气",
-    desc: "站库管网联动监测、泄漏/压降异常识别。",
+    desc: "依托油气工业互联网平台,对老旧注气设备升级改造,加装智能组件,实现现场无人少人值守,可根据压力、温度等数据自动调参,结合预测性维护降本增效,形成可复制的智慧注气场景实践。",
     cover: sence3,
   },
   {
     title: "智慧压裂",
-    desc: "注采平衡分析、配注优化与效益评估。",
+    desc: "基于工业互联网平台,实现压裂施工数据实时采集与远程监控,通过 AI 算法优化施工参数,提升作业质量与效率,降低现场安全风险,打造标准化、可快速复制的智慧压裂实践方案。",
     cover: sence4,
   },
   {
-    title: "停办管网",
-    desc: "能耗在线核算、节能评估与合规披露闭环。",
+    title: "智慧管网",
+    desc: "基于工业互联网平台,实现管网压力、流量、泄漏等数据实时监测与智能预警,支持远程调控与异常快速处置,提升管网运行安全性与管控效率,形成可复制推广的智慧管网运维实践。",
     cover: news1,
   },
   {
     title: "场站管理",
-    desc: "告警闭环、工单联动与知识沉淀,提升设备可靠性。",
+    desc: "依托工业互联网平台,实现油气场站设备、生产、安全一体化集中管控,支持无人值守、智能巡检、异常预警与联动处置,提升场站运行效率与安全水平,打造标准化、可复制的智慧场站管理实践。",
     cover: sence6,
   },
 ];
@@ -366,55 +369,58 @@ function activateValueCase(index) {
 
 const news = [
   {
-    date: "2026-02-12",
+    date: "2026-03-12",
     tag: "发布",
-    title: "门户新版上线:油田数智化产品与方案展示",
-    desc: "全新门户界面设计,优化用户体验,增强产品展示效果。",
-    cover: banner1Url,
+    title: "强强联合 数智赋能|科瑞石油技术与帆软软件正式签署战略合作协议",
+    desc: "",
+    cover: xin1,
     type: "featured", // 上部大图新闻
     link: "/news/4",
   },
   {
-    date: "2026-01-28",
+    date: "2026-03-16",
     tag: "活动",
-    title: "油田数据治理与指标体系专题沙龙报名启动",
-    desc: "深入探讨油田数据治理最佳实践与指标体系建设方法。",
-    cover: banner2Url,
+    title: "科瑞石油技术邀您相聚EGYPES2026埃及石油展",
+    desc: "",
+    cover: xin2,
     type: "featured", // 上部大图新闻
+    link: "/news/5",
   },
   {
-    date: "2026-01-10",
+    date: "2026-01-06",
     tag: "更新",
-    title: "井站接入能力升级:新增 SCADA 协议适配与边缘缓存",
-    desc: "提升井站数据采集稳定性与实时性,支持更多工业协议。",
-    cover: banner3Url,
+    title: "夯实数字新基座:科瑞石油技术DeepOil平台获市级工业互联网平台认证",
+    desc: "DeepOil平台的核心价值,在于为复杂的工业现场构建了统一、稳定、安全的数据桥梁。",
+    cover: xin2,
     type: "list", // 下部列表新闻
+    link: "/news/6",
   },
   {
-    date: "2025-12-20",
+    date: "2025-2-03",
     tag: "案例",
-    title: "某采油厂实现从采集到指标的全链路治理",
-    desc: "通过数据治理平台,实现井场数据到业务指标的全流程管理。",
+    title: "连油突破区域壁垒,喜迎开门红。",
+    desc: "成功实现拓展海洋项目的重要节点,巩固了原有海上市场。",
     cover: afterSalesUrl,
     type: "list", // 下部列表新闻
+    link: "/news/7",
   },
 ];
 
 const marketActivities = [
   {
-    title: "AI设备管理系统实现在线状态智能分析,隐患早发现",
-    desc: "2025中国5G+工业互联网大会在武汉开幕,DeepOil精彩亮相。",
+    title: "设备管理系统赋能资产全生命周期管理:从采购到报废的闭环落地",
+    desc: "设备从“采购入库”到“报废处置”的每一步都可控、可追溯。",
     cover: news1,
     link: "/news/1",
   },
   {
-    title: "石化行业设备完整性管理数字化:破解运维痛点的核心方案",
+    title: "AI 设备管理系统实现在线状态智能分析,隐患早发现",
     desc: "推动工业智能化发展,助力企业创新转型。",
     cover: news3,
     link: "/news/2",
   },
   {
-    title: "制造业新趋势:从“事后维修” 到“预测性维护”,只差一套系统",
+    title: "设备维保 “凭感觉”?健康档案 + 动态保养,寿命延25%",
     desc: "打造“人工智能+工业互联网”赋能制造业转型发展新范式",
     cover: news4,
     link: "/news/3",
@@ -657,7 +663,7 @@ const partners = Array.from({ length: 10 }).map((_, idx) => ({
               />
 
               <img
-                v-if="s.title === '停办管网'"
+                v-if="s.title === '智慧管网'"
                 src="../assets//images/s5.png"
                 alt=""
                 style="width: 50px; height: 50px"
@@ -867,7 +873,6 @@ const partners = Array.from({ length: 10 }).map((_, idx) => ({
                       <span class="news-featured-date">{{ n.date }}</span>
                     </div>
                     <h3 class="news-featured-title">{{ n.title }}</h3>
-                    <p class="news-featured-desc">{{ n.desc }}</p>
                   </div>
                 </RouterLink>
               </Reveal>
@@ -882,7 +887,7 @@ const partners = Array.from({ length: 10 }).map((_, idx) => ({
                 class="news-list-item"
                 :delay="140 + idx * 60"
               >
-                <RouterLink class="news-list-link" to="/news">
+                <RouterLink class="news-list-link" :to="n.link">
                   <div class="news-list-content">
                     <div class="news-meta">
                       <!-- <span class="pill">{{ n.tag }}</span> -->
@@ -2356,10 +2361,8 @@ const partners = Array.from({ length: 10 }).map((_, idx) => ({
 }
 
 .news-featured-title {
-  font-size: 20px;
-  font-weight: 700;
+  font-size: 14px;
   line-height: 1.3;
-  margin-bottom: 8px;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
@@ -2408,7 +2411,7 @@ const partners = Array.from({ length: 10 }).map((_, idx) => ({
 }
 
 .market-activity {
-  border-radius: 5px;
+  /* border-radius: 5px; */
   overflow: hidden;
   background: #ffffff;
   position: relative;

+ 19 - 10
src/views/NewsView.vue

@@ -1,7 +1,6 @@
 <script setup>
 import PageHero from "../components/PageHero.vue";
 import Reveal from "../components/motion/Reveal.vue";
-import { Icon } from "@iconify/vue";
 
 const items = [
   {
@@ -33,15 +32,7 @@ const items = [
 
 <template>
   <div>
-    <PageHero
-      kicker=""
-      title="平台更新与行业观点"
-      subtitle="及时了解平台能力演进、活动与行业实践。"
-    >
-      <template #actions>
-        <RouterLink class="btn btn-primary" to="/contact">订阅更新</RouterLink>
-      </template>
-    </PageHero>
+    <PageHero kicker="" title="平台更新与行业观点" subtitle=""> </PageHero>
 
     <section class="section">
       <div class="container">
@@ -105,4 +96,22 @@ const items = [
     grid-template-columns: 1fr;
   }
 }
+
+:deep(.pageHero) {
+  background-image: url("../assets/images/newbg.jpg");
+  background-size: cover, cover;
+  background-position: center, center;
+  background-repeat: no-repeat, no-repeat;
+  background-blend-mode: overlay;
+  color: #fff;
+  border-bottom: none;
+  padding: 80px 0;
+  text-align: center;
+  height: 30vh;
+}
+
+:deep(.pageHero__subtitle) {
+  color: #fff;
+  text-align: center;
+}
 </style>

+ 2 - 1
src/views/ProductsView.vue

@@ -177,7 +177,7 @@ onBeforeUnmount(() => {
     <PageHero
       kicker=""
       title="油气行业数智产品矩阵"
-      subtitle="以工业互联网平台为底座,覆盖设备管理、生产管理与 QHSE,贯通数采、数据、流程与 AI,支撑从勘探开发到生产运营的全场景数字化。"
+      subtitle="以工业互联网平台为底座,支撑从勘探开发到生产运营的全场景数字化。"
     >
       <template #actions>
         <RouterLink
@@ -327,6 +327,7 @@ onBeforeUnmount(() => {
   background-repeat: no-repeat, no-repeat;
   background-blend-mode: overlay;
   color: #111;
+  height: 40vh;
   border-bottom: none;
   padding: 80px 0;
 }

+ 5 - 4
src/views/SolutionsView.vue

@@ -19,7 +19,7 @@ const pillars = [
   {
     key: "platform",
     title: "设备升级改造能力",
-    lead: "油气专属底座,打通“数采—数据—系统—AI”,为全场景应用落地提供稳定支撑",
+    lead: "油气专属底座,打通“数采—数据—系统—AI”,为全场景应用落地提供稳定支撑",
     icon: "lucide:layers-3",
     cover: platformCover,
     items: [
@@ -44,7 +44,7 @@ const pillars = [
   {
     key: "equipment",
     title: "智慧注气",
-    lead: "围绕设备全生命周期,实现台账、巡检维保、预测维护与实时监控预警的闭环管理",
+    lead: "围绕设备全生命周期,实现台账、巡检维保、预测维护与实时监控预警的闭环管理",
     icon: "lucide:cpu",
     cover: equipmentCover,
     items: [
@@ -69,7 +69,7 @@ const pillars = [
   {
     key: "production",
     title: "智慧钻井",
-    lead: "面向油气生产项目,贯通任务、计划、数据与报表,提升协同效率与过程可控性",
+    lead: "面向油气生产项目,贯通任务、计划、数据与报表,提升协同效率与过程可控性",
     icon: "lucide:clipboard-check",
     cover: productionCover,
     items: [
@@ -718,13 +718,14 @@ onBeforeUnmount(() => {
 }
 
 :deep(.pageHero) {
-  background-image: url("../assets/images/bg4.png");
+  background-image: url("../assets/images/bg4.jpg");
   background-size: cover, cover;
   background-position: center, center;
   background-repeat: no-repeat, no-repeat;
   background-blend-mode: overlay;
   color: #111;
   padding: 80px 0;
+  height: 50vh;
 }
 
 :deep(.pageHero__subtitle) {

+ 1 - 1
src/views/cases/case1.vue

@@ -470,7 +470,7 @@ onBeforeUnmount(() => {
 
 :deep(.pageHero) {
   background-image: url("../../assets/images/bg5.jpg");
-
+  height: 50vh;
   background-size: cover, cover;
   background-position: center, center;
   background-repeat: no-repeat, no-repeat;

+ 1 - 1
src/views/cases/case2.vue

@@ -471,7 +471,7 @@ onBeforeUnmount(() => {
 
 :deep(.pageHero) {
   background-image: url("../../assets/images/bg5.jpg");
-
+  height: 50vh;
   background-size: cover, cover;
   background-position: center, center;
   background-repeat: no-repeat, no-repeat;

+ 1 - 1
src/views/cases/case3.vue

@@ -471,7 +471,7 @@ onBeforeUnmount(() => {
 
 :deep(.pageHero) {
   background-image: url("../../assets/images/bg5.jpg");
-
+  height: 50vh;
   background-size: cover, cover;
   background-position: center, center;
   background-repeat: no-repeat, no-repeat;

+ 24 - 37
src/views/news/new1.vue

@@ -25,75 +25,62 @@
       <!-- 新闻内容 -->
       <div class="news-content">
         <p>
-          随着全球能源行业数字化转型的深入推进,油气田智能化管理正从概念走向实践。近年来,以人工智能、大数据、物联网为代表的新一代信息技术与油气生产场景加速融合,设备管理系统作为安全生产的关键一环,正经历着从"被动维修"到"主动预警"的根本性变革。通过在线状态智能分析和隐患早期预警,油气企业正在构筑更加安全、高效的生产防线。
-        </p>
-
-        <h4>多维感知:让设备"开口说话"</h4>
-
-        <p>
-          在传统的油气生产场景中,设备运行状态往往依赖人工巡检和经验判断。如今,这一局面正在被彻底改写。
-        </p>
-
-        <p>
-          走进中原油田普光分公司天然气净化厂,两位特殊的"员工"——5G
-          智能巡检机器人正沿着预定路线穿梭于联合装置之间,代替人工完成大量周期性、危险性、高强度的巡检工作。这是我国首个高含硫气田数智融合示范工程的一个缩影。通过对图像、声音、温度等多维数据的实时采集,机器人能够精准完成设备运行状态检测、仪表读数识别、现场环境安全感知等任务。
+          资产全生命周期管理的核心,是让设备从“采购入库”到“报废处置”的每一步都可控、可追溯、可优化。但传统管理模式下,“采购无数据、维护靠经验、报废凭感觉”的问题普遍存在——某制造企业因采购时未算清维护成本,设备投产后每年维修费超采购价的30%;某化工企业因缺乏维护记录,老旧设备直接报废,未发现核心部件仍可改造复用。
         </p>
 
         <p>
-          而在机器人无法到达的区域,5G
-          手持巡检终端和智能安全头盔则成为巡检人员的"第二双眼睛"。巡检任务自动下发,指导人员按时按点完成检查,所有数据实时回传,形成空地一体、人机协同的立体化监测网络。与此同时,14
-          座无人机机场、17 台无人机对 210
-          千米集输管道开展自动巡检,仿地飞行采集图像视频,对管道裸露、占压、地灾变化等隐患进行
-          AI 识别预警
+          设备管理系统(如中设智控EAM系统)通过“数据联动+流程固化+智能预警”,将资产全生命周期的“采购、入库、运行、改造、报废”五大环节串联成闭环,实现从“被动管理”到“主动管控”的转变。本文结合企业实操案例,拆解系统如何支撑每个环节的落地,让资产价值最大化。
         </p>
 
-        <!-- 图片直接写在模板中 -->
         <div class="news-image">
-          <img :src="newsImage" alt="新闻图片" />
+          <img src="../../assets/images/zhi1bg.png" alt="新闻图片" />
         </div>
 
-        <p>
-          这套多维巡检体系带来的效益是实实在在的:联合装置巡检减少8人,集输管道巡检减少20人,人工劳动强度降低30%,劳动生产率提升20%。巡检方式从“全人工”迈入“人工+机器人辅助”的新阶段。
-        </p>
-
-        <h4>智能分析:从“人找隐患”到“隐患找人”</h4>
+        <h4>一、环节1:采购规划——系统数据支撑,避开“低价陷阱”</h4>
 
         <p>
-          在国家管网集团黄岛油库,智慧运营系统的启用让安全管理实现了从“事后处置”到“事前预防”的跨越。2024年6月23日,智慧油库平台发出提示:未参与外输的6016号储罐液位持续缓慢下降。每小时1毫米的差异,人工难以察觉,而管理系统却精准捕捉到了这一变化。经测试确认,这是8817号阀门发生轻微内漏。一次典型的“小切口预警”,避免了潜在的安全风险
+          资产全生命周期的“源头把控”在采购,核心是“选对设备”,避免“买得便宜、用得贵”。传统采购靠“经验拍板”,而系统通过数据赋能,让采购决策更精准。
         </p>
 
         <p>
-          这套平台通过32条趋势判断规则,结合AI算法,实现对管线泄漏、液位异常、设备故障的实时监控。操作时间从小时级压缩至分钟级,异常检测精度提升至98%,误报率降低80%
+          需求分析与参数匹配系统整合生产、设备、财务部门需求:生产端录入“产能(如每日加工1000件)、精度(误差≤0.02mm)”,设备端标注“维护便利性、适配现有MES系统”,财务端设定“预算范围、折旧年限”,系统自动生成“设备需求参数清单”,避免采购与实际需求脱节。案例:某汽车零部件厂采购冲压机前,系统根据生产计划生成“日产能800件、连续运行12小时”的参数,最终选定的设备投产后,产能利用率达95%,未出现“产能不足”问题
         </p>
 
-        <p>
-          大庆石化的实践同样印证了智能分析的巨大潜力。仪表运维综合管理平台上线后,每天清晨,机动设备部高级主管高大勇的第一件事就是登录平台,检修数量、高频故障设备排名等信息一目了然。“这就像给全公司设备做‘每日晨检’,任何异常都难逃它的‘火眼金睛’。”高大勇说。
-        </p>
+        <h4>全生命周期成本(TCO)测算</h4>
 
         <p>
-          让平台“一战成名”的,是炼油区的一次精准“诊疗”。高频检修统计模块发现,烷基化装置闪蒸罐液位计在3个月内校表次数达26次。技术团队立即调取仪表历史档案与检修记录,联合属地单位展开“会诊”,彻底根治了仪表“顽疾”。平台自动提取设备检修数据生成可视化图表,实现了从“人找隐患”到“隐患找人”的转变。
+          系统内置TCO测算模型,自动关联历史数据(同类设备的维护费、能耗、残值),对比不同品牌的“采购价+5年维护费+能耗-残值”,直观呈现性价比。示例(单位:万元):
         </p>
 
-        <h4>预测维护:治“未病”而非等“生病”</h4>
+        <!-- 图片直接写在模板中 -->
+        <div class="news-image">
+          <img src="../../assets/images/zhi1bg2.png" alt="新闻图片" />
+        </div>
 
         <p>
-          设备的全生命周期健康管理,正在推动油气企业从被动维修走向预测性维护。
+          品牌采购价5年维护费5年能耗残值全周期成本A品牌502510580B品牌60128872系统自动推荐B品牌(全周期成本更低),避免采购团队因“初期低价”选错设备。供应商评估与选型系统建立供应商档案,记录“售后响应速度(如故障后4小时上门)、备件供应周期(常用件24小时到货)、历史合作评价”,采购时按“产品质量+服务能力”排序,某化工企业通过系统筛选供应商,后期设备故障处理效率提升60%
         </p>
 
+        <h4>智能建卡与数据采集</h4>
+
         <p>
-          在大庆石化,仪表运维综合管理平台内置的“仪表失效数据库”与“定期维修维护工作清单”模块,为预知维修提供了重要支撑。前者自动生成失效趋势报告,为制定维护策略提供科学依据;后者提示定期维护内容,推动预防性维修落地。平台试运行以来,仪表专业主动维护作业量占比提升至30%以上。
+          上传设备铭牌照片,系统通过AI自动提取“型号、规格、生产厂家、额定参数”,生成标准化资产卡片;支持Excel批量导入(如100台同批次传感器),2分钟完成建档,比人工录入快8倍。卡片包含“基础信息(采购日期、责任人)、成本信息(原值、折旧规则)、附件信息(采购合同、验收报告)”,点击即可查看,某电子厂用此功能,资产卡片准确率从85%提升至99%
         </p>
 
+        <h4>一物一码与标签管理</h4>
+
         <p>
-          设备维修中心设备三级工程师刘云宝对此深有感触:“不用等设备‘生病’了再抢救,每台设备都有持续更新的电子‘体检档案’,我们可以预判设备出现问题的高发期,提前介入。”
+          系统自动生成唯一二维码/RFID标签(如“ZC-F01-C02-003”,代表“资产-厂区01-车间02-003号”),贴附在设备显眼处,后续领用、维护、盘点均通过扫码关联,避免“一物多码、编码混乱”。
         </p>
 
         <p>
-          在胜利海洋钻井公司,自研的配件PMS管理系统借助数字化手段,每月平均节省18万元配件成本,库存配件储备从995项减至872项。通过将平台所有设备配件统一录入数据库,系统实现库存自动更新、出入库记录查询、低储报警和数据统计分析四大功能,库存储备一目了然
+          案例:某机械企业给2000台设备贴码后,扫码即可调取全生命周期记录,找设备档案时间从1小时缩至10秒
         </p>
 
+        <h4>数据同步与权限管控</h4>
+
         <div class="news-image">
-          <img src="../../assets/images/news2.jpg" alt="新闻图片" />
+          <img src="../../assets/images/zhi1bg3.png" alt="新闻图片" />
         </div>
       </div>
     </div>
@@ -105,7 +92,7 @@ import { ref } from "vue";
 import newsImage from "@/assets/images/news1.jpg";
 
 const news = ref({
-  title: "AI 设备管理系统实现在线状态智能分析,隐患早发现",
+  title: "设备管理系统赋能资产全生命周期管理:从采购到报废的闭环落地",
   date: "2026-01-16 09:35:53",
   category: "行业知识",
 });

+ 203 - 0
src/views/news/new3.vue

@@ -0,0 +1,203 @@
+<template>
+  <div class="container">
+    <div class="news-detail-page">
+      <!-- 面包屑导航 -->
+      <div class="breadcrumb">
+        <span class="breadcrumb-item" style="cursor: pointer">首页</span>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">新闻动态</span>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">行业知识</span>
+      </div>
+
+      <!-- 新闻标题 -->
+      <h1 class="news-title">{{ news.title }}</h1>
+
+      <!-- 发布信息 -->
+      <div class="news-meta">
+        <span class="meta-date">{{ news.date }}</span>
+        <span class="meta-category">分类:{{ news.category }}</span>
+      </div>
+
+      <!-- 分隔线 -->
+      <div class="divider"></div>
+
+      <!-- 新闻内容 -->
+      <div class="news-content">
+        <p>
+          设备突然停机!生产线瘫痪 3
+          小时,损失几十万;刚保养完的机器,没几天又出故障;明明按规定定期保养,设备寿命还是比预期短……
+          很多企业的设备维保,其实都在 “凭感觉”——
+          老技师经验判断、到点就保养、坏了再抢修,看似稳妥,实则藏着大隐患。
+        </p>
+
+        <div class="news-image">
+          <img src="../../assets/images/zhi2bg1.png" alt="新闻图片" />
+        </div>
+
+        <h4>一、凭感觉维保,藏着多少隐形损失?</h4>
+        <p>
+          传统维保的两大坑,正在悄悄吞噬企业利润和设备寿命:一是
+          “定期保养一刀切”。不管设备实际运行状态,到时间就拆检、更换配件,不仅浪费人力物力,还可能因过度拆卸损伤设备精度。某机械加工厂曾统计,定期保养中近
+          30% 的配件更换是 “没必要的”,反而增加了设备故障风险。二是
+          “故障后维修被动”。等设备出问题再抢修,不仅打乱生产计划,还可能导致故障扩大
+          ——
+          比如轴承轻微磨损不及时处理,会连带损伤轴颈和齿轮,让小故障变成大维修,直接缩短设备寿命。更关键的是,没有完整数据记录,设备的
+          “健康状况” 始终是本
+          “糊涂账”:上次保养换了什么配件?故障原因是操作不当还是设备老化?这些问题说不清,维保决策自然只能
+          “凭感觉”,误差大、风险高。
+        </p>
+
+        <h4>二、破解关键:给设备建 “健康档案”,做 “动态保养”</h4>
+        <p>
+          其实,设备维保的核心,是要像管理人体健康一样 —— 建立
+          “健康档案”,跟踪动态变化,精准施策。这不是复杂的技术概念,而是一套可落地的实操方法:
+        </p>
+        <h5>1. 设备 “健康档案”:从 “糊涂账” 到 “明细账”</h5>
+        <p>
+          设备的
+          “健康档案”,就像人的病历本,要记录全生命周期信息:基础信息:型号、出厂参数、安装时间、质保期限,明确设备
+          “身份标识”;运行数据:温度、压力、振动、运行时长等实时数据,掌握设备
+          “日常状态”;维护记录:保养时间、内容、更换配件、操作人员,追溯维保
+          “历史轨迹”;故障记录:故障类型、发生时间、原因分析、处理方案,摸清设备
+          “薄弱环节”。这份档案不是静态的表格,而是动态更新的数据库,让每台设备的健康状况
+          “有据可查、一目了然”。
+        </p>
+        <h5>2. 动态保养:从 “到点必做” 到 “按需施策”</h5>
+        <p>
+          动态保养的核心是 “不盲目、不缺位”——
+          基于健康档案的数据分析,判断设备真实状态,制定精准维保计划:
+        </p>
+        <p>
+          正常状态:设备运行参数稳定,无异常波动,延长保养周期,避免过度保养;预警状态:数据偏离正常基线(如振动值升高、温度超标),预判潜在故障,提前安排针对性保养(如更换轴承、清理油路);故障状态:快速调取健康档案,定位故障原因和历史处理记录,缩短抢修时间,避免故障扩大。简单说,就是
+          “该保养时才保养,该修哪里就修哪里”,让维保资源用在刀刃上。
+        </p>
+        <div class="news-image">
+          <img src="../../assets/images/zhi2bg2.png" alt="新闻图片" />
+          <img src="../../assets/images/zhi2bg3.png" alt="新闻图片" />
+          <img src="../../assets/images/zhi2bg4.png" alt="新闻图片" />
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref } from "vue";
+
+const news = ref({
+  title: "设备维保 “凭感觉”?健康档案 + 动态保养,寿命延25%",
+  date: "2026-03-12",
+  category: "行业知识",
+});
+</script>
+
+<style scoped>
+.news-detail-page {
+  max-width: 1200px;
+  margin: 50px auto;
+  padding: 40px 50px;
+  background-color: #fff;
+  font-family: "Microsoft YaHei", sans-serif;
+}
+
+.breadcrumb {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.breadcrumb-item {
+  display: inline-block;
+  margin-right: 10px;
+  transition: all 0.3s ease;
+}
+
+.breadcrumb-item:hover {
+  color: #04439a;
+}
+
+.breadcrumb-item:last-child {
+  color: #333;
+}
+
+.breadcrumb-separator {
+  margin: 0 5px;
+}
+
+.news-title {
+  font-size: 28px;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 20px;
+  line-height: 1.4;
+}
+
+.news-meta {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.meta-date,
+.meta-category {
+  margin-right: 20px;
+}
+
+.divider {
+  border-top: 1px solid #e0e0e0;
+  margin: 30px 0;
+}
+
+.news-content {
+  font-size: 16px;
+  line-height: 1.8;
+  color: rgb(63, 65, 80);
+}
+
+.news-content p {
+  margin: 20px 0;
+}
+
+.news-content h4 {
+  font-size: 18px;
+  font-weight: bold;
+  color: #333;
+  margin: 30px 0 15px;
+}
+
+.news-content strong {
+  color: #000;
+  font-weight: bold;
+}
+
+.news-image {
+  margin: 30px 0;
+  text-align: center;
+}
+
+.news-image img {
+  max-width: 100%;
+  height: auto;
+  border-radius: 4px;
+}
+
+/* 响应式设计 */
+@media (max-width: 768px) {
+  .news-detail-page {
+    padding: 20px;
+  }
+
+  .breadcrumb {
+    font-size: 12px;
+  }
+
+  .news-title {
+    font-size: 24px;
+  }
+
+  .news-meta {
+    font-size: 12px;
+  }
+}
+</style>

+ 31 - 50
src/views/news/new4.vue

@@ -24,56 +24,37 @@
 
       <!-- 新闻内容 -->
       <div class="news-content">
-        <p>
-          石油石化行业数字化转型的积极推动者——DeepOil宣布,其全新改版的油田数智化产品与方案展示门户正式上线运行。此次门户重构,是DeepOil在深耕油气智能化领域多年后的又一次品牌与服务双升级。新版门户以“让技术可见,让价值可感”为使命,通过颠覆性的界面设计、流畅的交互体验以及系统化的产品呈现,致力于为全球能源客户打造一站式、全景式的数智化创新视窗。
-        </p>
-
-        <h4>一、传统运维之困:三大痛点亟待破解</h4>
-
-        <p>
-          在传统的石化设备管理场景中,经验主导的模式往往让企业陷入被动。
-          “过去检修靠经验摸索,效率低还易误判。”一位一线维修人员道出了行业普遍困境。传统模式下,设备巡检依赖人工定时定点,数据记录停留在纸质流转,故障识别依靠老师傅的“望闻问切”。这种方式的局限性显而易见:人工判断主观性强,难以保证准确率;数据无法实时回传,隐患发现时往往已造成损失;故障预警严重滞后,维修模式停留在“事后救火”。
-        </p>
-
-        <p>
-          更深层的矛盾在于管理流程的碎片化。设备台账、巡检记录、维修档案散落在不同部门、不同系统中,形成一个个“数据孤岛”。中韩石化在改革前曾面临设备缺陷平均响应时间高达7.6小时的窘境,跨专业协作效率低下成为制约运维效能的瓶颈。正如业内专家所言:“流程碎片化、风险预判难、权责不清晰,正在消耗企业的安全边际和经济效益。”
-        </p>
-
-        <h4>二、数字化破局:构建设备全生命周期管理体系</h4>
-
-        <p>
-          破解上述困局,关键在于构建覆盖设备全生命周期的数字化管理体系。这一体系的核心思路可以概括为“三个转变”:从经验驱动向数据驱动转变,从被动响应向主动预防转变,从单点管理向全流程闭环转变。
-        </p>
-
-        <p>
-          全生命周期档案是管理的基石。榆林炼油厂在构建设备完整性管理体系时,为厂区内3.5万余台套设备逐一建立全生命周期精准档案,实现设备信息“一机一档、动态更新”。围绕设备规划、采购、安装、运行、维护、报废等关键环节,落地成型17个核心管理模块,最终搭建起全流程闭环管理框架。江汉盐化工同样将10744台套设备全部上线,逐一核实型号、技术参数等信息,建立起详实完备的电子台账,实现了设备信息“一键查询、全程追溯”。
-        </p>
-
-        <p>
-          分级分类管理让资源配置更精准。基于设备在生产中的重要程度、故障影响范围等因素,将设备划分为关键设备(A类)、重要设备(B类)、一般设备(C类)三类,明确不同级别设备的管理标准和责任主体。盛虹石化的实践印证了这一思路的价值——其柴油加氢裂化装置往复式压缩机通过精细化管理,单次运行时长达到17918小时,是行业惯例8400小时的2.13倍,年度维护费用从260万元降至150万元。
-        </p>
-
         <div class="news-image">
-          <img src="../../assets/images/news3.png" alt="新闻图片" />
+          <img
+            src="../../assets/images/xin4bg.png"
+            alt="新闻图片"
+            style="width: 80%"
+          />
+
+          <img
+            src="../../assets/images/xin4bg2.png"
+            alt="新闻图片"
+            style="width: 80%"
+          />
+
+          <img
+            src="../../assets/images/xin4bg3.png"
+            alt="新闻图片"
+            style="width: 80%"
+          />
+
+          <img
+            src="../../assets/images/xin4bg4.png"
+            alt="新闻图片"
+            style="width: 80%"
+          />
+
+          <img
+            src="../../assets/images/xin4bg5.png"
+            alt="新闻图片"
+            style="width: 80%"
+          />
         </div>
-
-        <h4>三、智能诊断:让设备隐患“无处遁形”</h4>
-
-        <p>
-          在线监测系统如同设备的“核磁共振”。江汉盐化工为400多台套A类设备加装在线监测系统,实时监测设备震动和温度,一旦出现异常便第一时间发出预警。今年1月,漂粉精冷冻站冷水机组轴承润滑不良,系统在缓慢劣化初期即发出预警,工作人员及时补充润滑油,避免了一次潜在的非计划停车。沧州炼化则通过联动使用班组机泵监测管理系统、转动设备预防性维修决策系统和泵群在线监测系统,构建起“基础数据采集—趋势智能预判—深度故障分析”的三级防护体系。当预防性维修决策系统识别到蒸发塔回流泵轴承检测指标异常升高趋势时,在未触发报警值阶段便提出检修建议,最终精准定位泵轴故障,实现预知性检修。
-        </p>
-
-        <p>
-          离线监测智能诊断填补了另一块拼图。对于大量未安装在线传感器的设备,兰州石化开发出国内首个适配离线监测数据的智能诊断模型。该模型采用模块化编程,将46个指标算子、16种常见故障诊断深度整合,可全面诊断离心泵、电动机的不平衡、不对中等核心故障,并针对滚动轴承细分故障类型。经历史故障数据验证,模型诊断准确率达83.3%,在300万吨/年重催装置140台设备上成功应用,累计故障报警11次。
-        </p>
-
-        <div class="news-image">
-          <img src="../../assets/images/new2.png" alt="新闻图片" />
-        </div>
-
-        <p>
-          从人工巡检到多维感知,从经验判断到数据驱动,从被动维修到预测维护——石化行业设备完整性管理的数字化转型,正在深刻改变生产方式。在这场变革中,每一台设备都成为会“说话”的安全哨兵,每一次隐患的早期发现都为安全生产筑牢防线。随着工业AI大模型、数字孪生等技术的持续突破,设备管理必将从“数字化”迈向“智能化”,为石化行业高质量发展注入源源不断的创新动力。
-        </p>
       </div>
     </div>
   </div>
@@ -83,8 +64,8 @@
 import { ref } from "vue";
 
 const news = ref({
-  title: "门户新版上线:油田数智化产品与方案展示",
-  date: "2026-01-16 09:35:53",
+  title: "强强联合 数智赋能|科瑞石油技术与帆软软件正式签署战略合作协议",
+  date: "2026-03-12",
   category: "新闻动态",
 });
 </script>

+ 174 - 0
src/views/news/new5.vue

@@ -0,0 +1,174 @@
+<template>
+  <div class="container">
+    <div class="news-detail-page">
+      <!-- 面包屑导航 -->
+      <div class="breadcrumb">
+        <a class="breadcrumb-item" style="cursor: pointer" href="/">首页</a>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">新闻动态</span>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">新闻资讯</span>
+      </div>
+
+      <!-- 新闻标题 -->
+      <h1 class="news-title">{{ news.title }}</h1>
+
+      <!-- 发布信息 -->
+      <div class="news-meta">
+        <span class="meta-date">{{ news.date }}</span>
+        <span class="meta-category">分类:{{ news.category }}</span>
+      </div>
+
+      <!-- 分隔线 -->
+      <div class="divider"></div>
+
+      <!-- 新闻内容 -->
+      <div class="news-content">
+        <div class="news-image">
+          <p style="text-align: left;">
+            埃及国际石油展(EGYPES)由埃及石油及矿产资源部、埃及国家石油公司(EGPC)和埃及国有天然气公司(EGAS)联合主办,作为非洲及中东地区最具影响力的能源行业盛会之一,展馆面积39,000平方米,共设有13个国家馆,来自120多个国家的25个国家石油公司到访展会,参展商500余名,观众高达40,000人次。
+          </p>
+          <p style="text-align: left;">
+            2026年EGYPES以“加速能源转型、保障安全与碳中和实践”为核心主题,汇聚全球能源巨头、技术创新企业及学术机构,重点探讨清洁能源技术、甲烷减排、碳捕集与封存(CCUS)、数字化油田管理等前沿议题。
+          </p>
+
+          <p style="text-align: left;">
+            科瑞石油技术诚邀各界同仁相聚埃及国际石油展,携手共话行业未来!
+          </p>
+          <img
+            src="../../assets/images/xin5bg.png"
+            alt="新闻图片"
+            style="width: 80%"
+          />
+
+        
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref } from "vue";
+
+const news = ref({
+  title: "科瑞石油技术邀您相聚EGYPES2026埃及石油展",
+  date: "2026-03-16",
+  category: "新闻动态",
+});
+</script>
+
+<style scoped>
+p {
+  text-indent: 2em;
+}
+.news-detail-page {
+  max-width: 1200px;
+  margin: 50px auto;
+  padding: 40px 50px;
+  background-color: #fff;
+  font-family: "Microsoft YaHei", sans-serif;
+}
+
+.breadcrumb {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.breadcrumb-item {
+  display: inline-block;
+  margin-right: 10px;
+  transition: all 0.3s ease;
+}
+
+.breadcrumb-item:hover {
+  color: #04439a;
+}
+
+.breadcrumb-item:last-child {
+  color: #333;
+}
+
+.breadcrumb-separator {
+  margin: 0 5px;
+}
+
+.news-title {
+  font-size: 28px;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 20px;
+  line-height: 1.4;
+}
+
+.news-meta {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.meta-date,
+.meta-category {
+  margin-right: 20px;
+}
+
+.divider {
+  border-top: 1px solid #e0e0e0;
+  margin: 30px 0;
+}
+
+.news-content {
+  font-size: 16px;
+  line-height: 1.8;
+  color: rgb(63, 65, 80);
+}
+
+.news-content p {
+  margin: 20px 0;
+  margin-top: 0px;
+  margin-bottom: 10px;
+}
+
+.news-content h4 {
+  font-size: 18px;
+  font-weight: bold;
+  color: #333;
+  margin: 30px 0 15px;
+}
+
+.news-content strong {
+  color: #000;
+  font-weight: bold;
+}
+
+.news-image {
+  margin: 30px 0;
+  text-align: center;
+}
+
+.news-image img {
+  max-width: 100%;
+  height: auto;
+  border-radius: 4px;
+}
+
+/* 响应式设计 */
+@media (max-width: 768px) {
+  .news-detail-page {
+    padding: 20px;
+  }
+
+  .breadcrumb {
+    font-size: 12px;
+  }
+
+  .news-title {
+    font-size: 24px;
+  }
+
+  .news-meta {
+    font-size: 12px;
+  }
+}
+</style

+ 178 - 0
src/views/news/new6.vue

@@ -0,0 +1,178 @@
+<template>
+  <div class="container">
+    <div class="news-detail-page">
+      <!-- 面包屑导航 -->
+      <div class="breadcrumb">
+        <span class="breadcrumb-item" style="cursor: pointer">首页</span>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">新闻动态</span>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">新闻资讯</span>
+      </div>
+
+      <!-- 新闻标题 -->
+      <h1 class="news-title">{{ news.title }}</h1>
+
+      <!-- 发布信息 -->
+      <div class="news-meta">
+        <span class="meta-date">{{ news.date }}</span>
+        <span class="meta-category">分类:{{ news.category }}</span>
+      </div>
+
+      <!-- 分隔线 -->
+      <div class="divider"></div>
+
+      <!-- 新闻内容 -->
+      <div class="news-content">
+        <div class="news-image">
+          <img
+            src="../../assets/images/xin6bg.png"
+            style="width: 90%"
+            alt="新闻图片"
+          />
+        </div>
+
+        <div class="news-image">
+          <img
+            src="../../assets/images/xin6bg2.png"
+            style="width: 90%"
+            alt="新闻图片"
+          />
+        </div>
+
+        <div class="news-image">
+          <img
+            src="../../assets/images/xin6bg3.png"
+            style="width: 90%"
+            alt="新闻图片"
+          />
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref } from "vue";
+
+const news = ref({
+  title: "夯实数字新基座:科瑞石油技术DeepOil平台获市级工业互联网平台认证",
+  date: "2026-01-06 10:35",
+  category: "新闻动态",
+});
+</script>
+
+<style scoped>
+p {
+  text-indent: 2em;
+}
+.news-detail-page {
+  max-width: 1200px;
+  margin: 50px auto;
+  padding: 40px 50px;
+  background-color: #fff;
+  font-family: "Microsoft YaHei", sans-serif;
+}
+
+.breadcrumb {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.breadcrumb-item {
+  display: inline-block;
+  margin-right: 10px;
+  transition: all 0.3s ease;
+}
+
+.breadcrumb-item:hover {
+  color: #04439a;
+}
+
+.breadcrumb-item:last-child {
+  color: #333;
+}
+
+.breadcrumb-separator {
+  margin: 0 5px;
+}
+
+.news-title {
+  font-size: 28px;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 20px;
+  line-height: 1.4;
+}
+
+.news-meta {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.meta-date,
+.meta-category {
+  margin-right: 20px;
+}
+
+.divider {
+  border-top: 1px solid #e0e0e0;
+  margin: 30px 0;
+}
+
+.news-content {
+  font-size: 16px;
+  line-height: 1.8;
+  color: rgb(63, 65, 80);
+}
+
+.news-content p {
+  margin: 20px 0;
+  margin-top: 0px;
+  margin-bottom: 10px;
+}
+
+.news-content h4 {
+  font-size: 18px;
+  font-weight: bold;
+  color: #333;
+  margin: 30px 0 15px;
+}
+
+.news-content strong {
+  color: #000;
+  font-weight: bold;
+}
+
+.news-image {
+  margin: 30px 0;
+  text-align: center;
+}
+
+.news-image img {
+  max-width: 100%;
+  height: auto;
+  border-radius: 4px;
+}
+
+/* 响应式设计 */
+@media (max-width: 768px) {
+  .news-detail-page {
+    padding: 20px;
+  }
+
+  .breadcrumb {
+    font-size: 12px;
+  }
+
+  .news-title {
+    font-size: 24px;
+  }
+
+  .news-meta {
+    font-size: 12px;
+  }
+}
+</style>

+ 208 - 0
src/views/news/new7.vue

@@ -0,0 +1,208 @@
+<template>
+  <div class="container">
+    <div class="news-detail-page">
+      <!-- 面包屑导航 -->
+      <div class="breadcrumb">
+        <span class="breadcrumb-item" style="cursor: pointer">首页</span>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">新闻动态</span>
+        <span class="breadcrumb-separator">&gt;</span>
+        <span class="breadcrumb-item">新闻资讯</span>
+      </div>
+
+      <!-- 新闻标题 -->
+      <h1 class="news-title">{{ news.title }}</h1>
+
+      <!-- 发布信息 -->
+      <div class="news-meta">
+        <span class="meta-date">{{ news.date }}</span>
+        <span class="meta-category">分类:{{ news.category }}</span>
+      </div>
+
+      <!-- 分隔线 -->
+      <div class="divider"></div>
+
+      <!-- 新闻内容 -->
+      <div class="news-content">
+        <p>
+          2026年1月18日,科瑞石油技术在某海上平台,成功完成新年第一口井的气举作业,氮气压力9.8Mpa,氮气排量900m³/h,连续油管下深580米成功举活,累计返排18方,井口压力13.2Mpa。
+        </p>
+
+        <p>
+          2025年8月与甲方正式签订《连续油管设备租赁及人员服务合同》,标志着科瑞石油技术成功实现了拓展海洋项目的重要节点,巩固了原有海上市场,实现了多方位战略落地,也为市场拓展注入新的攻坚动能。
+        </p>
+
+        <p>
+          此次合作涵盖氮气气举、打捞、冲砂等井下特种作业技术服务,合同的签订不仅是市场拓展的重要里程碑,更彰显了公司在复杂作业环境下的技术实力与服务能力,为冲刺全年生产经营目标、迎战新年新开局提振了信心。
+        </p>
+
+        <div class="news-image">
+          <img
+            src="../../assets/images/xin7bg.png"
+            style="width: 60%"
+            alt="新闻图片"
+          />
+        </div>
+
+        <h4>突破壁垒,乘风破浪</h4>
+
+        <p>
+          面对与甲方的再次合作,公司极为重视这一战略机遇,将项目立项视为首要任务,积极开展多层次、全方位的技术推介。通过精准契合甲方需求、持续完善技术方案和服务流程,科瑞石油技术充分彰显了在井下特种作业领域的专业能力和执行保障能力,逐步打消合作顾虑,成功获取甲方信任,为该项目首井的顺利完成奠定了坚实基础。
+        </p>
+
+        <div class="news-image">
+          <img
+            src="../../assets/images/xin7bg2.png"
+            style="width: 60%"
+            alt="新闻图片"
+          />
+        </div>
+
+        <div class="news-image">
+          <img
+            src="../../assets/images/xin7bg3.png"
+            style="width: 90%"
+            alt="新闻图片"
+          />
+        </div>
+
+        <div class="news-image">
+          <img
+            src="../../assets/images/xin7bg4.png"
+            style="width: 90%"
+            alt="新闻图片"
+          />
+        </div>
+
+        <p>
+          为保障海上作业的顺利推进,科瑞石油技术严格贯彻海上作业规范,针对专用设备配置、人员资质、验收标准以及HSE管理体系等关键环节,制定详尽的工作计划,凭借系统性的保障举措,确保服务质量与作业安全实现全面可控。此次作业不仅彰显了公司在技术服务领域的专业优势,更凸显了与甲方单位协同作战、共同开拓市场的合作精神。下一步,公司将秉持“安全、高效、专业”的服务理念,持续增强海上作业能力,为海上油气的稳产增产贡献科瑞力量。
+        </p>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref } from "vue";
+
+const news = ref({
+  title: "连油突破区域壁垒,喜迎开门红",
+  date: "2026-02-03 09:35",
+  category: "新闻动态",
+});
+</script>
+
+<style scoped>
+p {
+  text-indent: 2em;
+}
+.news-detail-page {
+  max-width: 1200px;
+  margin: 50px auto;
+  padding: 40px 50px;
+  background-color: #fff;
+  font-family: "Microsoft YaHei", sans-serif;
+}
+
+.breadcrumb {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.breadcrumb-item {
+  display: inline-block;
+  margin-right: 10px;
+  transition: all 0.3s ease;
+}
+
+.breadcrumb-item:hover {
+  color: #04439a;
+}
+
+.breadcrumb-item:last-child {
+  color: #333;
+}
+
+.breadcrumb-separator {
+  margin: 0 5px;
+}
+
+.news-title {
+  font-size: 28px;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 20px;
+  line-height: 1.4;
+}
+
+.news-meta {
+  color: #999;
+  font-size: 14px;
+  margin-bottom: 30px;
+}
+
+.meta-date,
+.meta-category {
+  margin-right: 20px;
+}
+
+.divider {
+  border-top: 1px solid #e0e0e0;
+  margin: 30px 0;
+}
+
+.news-content {
+  font-size: 16px;
+  line-height: 1.8;
+  color: rgb(63, 65, 80);
+}
+
+.news-content p {
+  margin: 20px 0;
+  margin-top: 0px;
+  margin-bottom: 10px;
+}
+
+.news-content h4 {
+  font-size: 18px;
+  font-weight: bold;
+  color: #333;
+  margin: 30px 0 15px;
+}
+
+.news-content strong {
+  color: #000;
+  font-weight: bold;
+}
+
+.news-image {
+  margin: 30px 0;
+  text-align: center;
+}
+
+.news-image img {
+  max-width: 100%;
+  height: auto;
+  border-radius: 4px;
+}
+
+/* 响应式设计 */
+@media (max-width: 768px) {
+  .news-detail-page {
+    padding: 20px;
+  }
+
+  .breadcrumb {
+    font-size: 12px;
+  }
+
+  .news-title {
+    font-size: 24px;
+  }
+
+  .news-meta {
+    font-size: 12px;
+  }
+}
+</style>