diff --git "a/src/assets/images/integration/danling/GIS\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/GIS\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..468991c40fac09ad77ea78de499532c153b68104
Binary files /dev/null and "b/src/assets/images/integration/danling/GIS\344\270\255\345\277\203.png" differ
diff --git a/src/assets/images/integration/danling/title_left.png b/src/assets/images/integration/danling/title_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..f1aba46f4b442ec60dc26d9b97284a7c7463ae44
Binary files /dev/null and b/src/assets/images/integration/danling/title_left.png differ
diff --git a/src/assets/images/integration/danling/title_right.png b/src/assets/images/integration/danling/title_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..e21e4477ed5f75399ac7fddbbb0c031cc83cc328
Binary files /dev/null and b/src/assets/images/integration/danling/title_right.png differ
diff --git "a/src/assets/images/integration/danling/\344\270\232\345\212\241\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/\344\270\232\345\212\241\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..e9f7fc0828ed4176d66aefd0d08fc6e5dbd0738d
Binary files /dev/null and "b/src/assets/images/integration/danling/\344\270\232\345\212\241\344\270\255\345\277\203.png" differ
diff --git "a/src/assets/images/integration/danling/\345\216\202\347\253\231\347\256\241\347\220\206.png" "b/src/assets/images/integration/danling/\345\216\202\347\253\231\347\256\241\347\220\206.png"
new file mode 100644
index 0000000000000000000000000000000000000000..fc96d5ad6d68f35a2ab2e31a00ec900b6843501b
Binary files /dev/null and "b/src/assets/images/integration/danling/\345\216\202\347\253\231\347\256\241\347\220\206.png" differ
diff --git "a/src/assets/images/integration/danling/\346\212\245\350\255\246\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/\346\212\245\350\255\246\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..1b5a7aabbd45ca94363f4ec6d486c88f0c584c4b
Binary files /dev/null and "b/src/assets/images/integration/danling/\346\212\245\350\255\246\344\270\255\345\277\203.png" differ
diff --git "a/src/assets/images/integration/danling/\346\216\247\346\274\217\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/\346\216\247\346\274\217\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..128c243ee7dbdf98cef7aa7f8ef7b8e630f35242
Binary files /dev/null and "b/src/assets/images/integration/danling/\346\216\247\346\274\217\344\270\255\345\277\203.png" differ
diff --git "a/src/assets/images/integration/danling/\346\225\260\346\215\256\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/\346\225\260\346\215\256\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..abfd1dcaad51868be7b9389f6fd0da32e8de700f
Binary files /dev/null and "b/src/assets/images/integration/danling/\346\225\260\346\215\256\344\270\255\345\277\203.png" differ
diff --git "a/src/assets/images/integration/danling/\346\260\264\350\264\250\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/\346\260\264\350\264\250\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..c96ceed0dd389e61c22e11cc52d9a3ae58de3c19
Binary files /dev/null and "b/src/assets/images/integration/danling/\346\260\264\350\264\250\344\270\255\345\277\203.png" differ
diff --git "a/src/assets/images/integration/danling/\347\233\221\346\216\247\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/\347\233\221\346\216\247\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..4c50d27c1fcf263350aa5fed8b9831d5c92da3a6
Binary files /dev/null and "b/src/assets/images/integration/danling/\347\233\221\346\216\247\344\270\255\345\277\203.png" differ
diff --git "a/src/assets/images/integration/danling/\347\256\241\347\275\221\347\256\241\347\220\206.png" "b/src/assets/images/integration/danling/\347\256\241\347\275\221\347\256\241\347\220\206.png"
new file mode 100644
index 0000000000000000000000000000000000000000..e26b518e0f41a08b0fd2575cb3e5cf6eed308194
Binary files /dev/null and "b/src/assets/images/integration/danling/\347\256\241\347\275\221\347\256\241\347\220\206.png" differ
diff --git "a/src/assets/images/integration/danling/\350\203\214\346\231\257.png" "b/src/assets/images/integration/danling/\350\203\214\346\231\257.png"
new file mode 100644
index 0000000000000000000000000000000000000000..32a89e0ebcff8aa06a09b2a5dbb9ef40a2ebda5f
Binary files /dev/null and "b/src/assets/images/integration/danling/\350\203\214\346\231\257.png" differ
diff --git "a/src/assets/images/integration/danling/\350\256\276\347\275\256\344\270\255\345\277\203.png" "b/src/assets/images/integration/danling/\350\256\276\347\275\256\344\270\255\345\277\203.png"
new file mode 100644
index 0000000000000000000000000000000000000000..883ec5016d98b85186717ba9280edebbb60ce9f7
Binary files /dev/null and "b/src/assets/images/integration/danling/\350\256\276\347\275\256\344\270\255\345\277\203.png" differ
diff --git a/src/pages/bootpage/template/constants.js b/src/pages/bootpage/template/constants.js
index 8196cc0496de859e979e57aa09914a383da648e3..cebcfbf43bbbf7c4311b149bde0053a23aba84aa 100644
--- a/src/pages/bootpage/template/constants.js
+++ b/src/pages/bootpage/template/constants.js
@@ -10,6 +10,8 @@ import IntegrationPage from './integration';
 import IntegrationPage2 from './integration2';
 import TaihuPage from './project/taihu';
 import JimusaerPage from './project/jimusaer';
+import YixingPage from './project/yixing';
+import DanlingPage from './project/danling';
 export const guidePage = [
   // type 为true 则需要 功能配置 isPanda 为true
   {
@@ -28,6 +30,14 @@ export const guidePage = [
     label: '吉尔木萨集成登录',
     value: 'jimusaerPage',
   },
+  {
+    label: '宜兴集成登录',
+    value: 'yixingPage',
+  },
+  {
+    label: '丹棱集成登录',
+    value: 'danlingPage',
+  },
   {
     label: '演示环境(旧版)',
     type: true,
@@ -45,5 +55,7 @@ export const BootPageTemplate = {
   integration2: IntegrationPage2,
   demonstration: Demonstration,
   taihuPage: TaihuPage,
-  jimusaerPage:JimusaerPage,
+  jimusaerPage: JimusaerPage,
+  yixingPage: YixingPage,
+  danlingPage: DanlingPage,
 };
diff --git a/src/pages/bootpage/template/project/danling/data.json b/src/pages/bootpage/template/project/danling/data.json
new file mode 100644
index 0000000000000000000000000000000000000000..9cb96af0cb2c37eabf9f876ee8c2e93000c67b3a
--- /dev/null
+++ b/src/pages/bootpage/template/project/danling/data.json
@@ -0,0 +1,66 @@
+{
+    "listData": [
+        {
+            "name": "厂站管理",
+            "english": "Factory Station Management",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "数据中心",
+            "english": "Data Center",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "水质中心",
+            "english": "Water Quality Center",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "GIS中心",
+            "english": "GIS System",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "控漏中心",
+            "english": "Leakage Control Center",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "管网管理",
+            "english": "Pipeline Management",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "监控中心",
+            "english": "Monitoring Center",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "业务中心",
+            "english": "Business Center",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "报警中心",
+            "english": "Alarm Center",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "设置中心",
+            "english": "System Settings",
+            "label": "",
+            "url": ""
+        }
+    ],
+    "标题": "丹棱县农村供水信息化平台",
+    "副标题": "Danling County Rural Water Supply Information Platform"
+}
\ No newline at end of file
diff --git a/src/pages/bootpage/template/project/danling/index.js b/src/pages/bootpage/template/project/danling/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..4a760bd40e39d249ae883b4aaa41b062346ec616
--- /dev/null
+++ b/src/pages/bootpage/template/project/danling/index.js
@@ -0,0 +1,284 @@
+/*
+ * @Title: 丹棱 集成页
+ * @Author: hongmye
+ * @Date: 2024-08-05 18:34:42
+ */
+import { appService } from '@/api';
+import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons';
+import { message, Button } from 'antd';
+import classNames from 'classnames';
+import { debounce } from 'lodash';
+import React, { useRef, useEffect, useState, useMemo } from 'react';
+import backImg from '@/assets/images/demonstration/返回.png';
+import arrowLeftImg from '@/assets/images/demonstration/左箭头.png';
+import LoadPage from '@/components/LoadPage';
+// import $ from 'jquery';
+import { connect } from 'react-redux';
+
+import useFullScreen from '../../demonstration/components/useFullScreen';
+import defaultConfig from './data.json';
+import styles from './index.less';
+import Iframe from '../../demonstration/components/Iframe';
+const boxWidth = 1920;
+const boxHeight = 930;
+// const Cripples = require('@/assets/js/ripples/jquery.ripples');
+
+const IntegrationDanling = props => {
+  const [ref, isFullscreen, handleFullScreen, handleExitFullScreen] = useFullScreen(false);
+  const timer2 = useRef(null);
+  const timer3 = useRef(null);
+
+  const progressRef2 = useRef(0);
+  // 退出
+  const exit = () => {
+    if (isFullscreen) {
+      handleExitFullScreen && handleExitFullScreen();
+    } else {
+      handleFullScreen && handleFullScreen();
+    }
+  };
+  const [boxSize, setBoxSize] = useState({
+    scale: 1,
+    boxHeight: 930,
+  });
+  const [linkUrl, setLinkUrl] = useState('');
+  const [jumpLoading, setJumpLoading] = useState(false);
+  const [progressValue2, setProgressValue2] = useState(0);
+  const [showBackBtn, setShowBackBtn] = useState(true); // 是否显示iframe 返回按钮,三维平台用
+
+  const configName = '宜兴集成配置文件';
+
+  const [configData, setConfigData] = useState(defaultConfig);
+
+  const jumpProgressStart = () => {
+    if (timer2.current) {
+      clearInterval(timer2.current);
+      timer2.current = null;
+    }
+    progressRef2.current = 0;
+    setProgressValue2(0);
+    timer2.current = setInterval(() => {
+      if (progressRef2.current < 97.5) {
+        progressRef2.current += 2.5;
+        setProgressValue2(progressRef2.current);
+      } else {
+        setProgressValue2(99);
+        timer2.current && clearInterval(timer2.current);
+        timer2.current = null;
+      }
+    }, 100);
+  };
+  const jumpProgressEnd = () => {
+    setProgressValue2(100);
+    timer2.current && clearInterval(timer2.current);
+    timer2.current = null;
+  };
+  const getData = async () => {
+    appService
+      .GetConfigJson({
+        config: configName,
+      })
+      .then(res => {
+        if (res.code === 0 && res.data) {
+          const data = JSON.parse(res.data) || defaultConfig;
+          setConfigData(data);
+        }
+      });
+  };
+  const onResize = () => {
+    if (ref?.current) {
+      const { clientWidth, clientHeight } = ref.current;
+      if (!boxWidth || !boxHeight) return;
+      const xScale = clientWidth / boxWidth;
+      const yScale = clientHeight / boxHeight;
+      const poor = clientHeight / clientWidth - boxHeight / boxWidth;
+      let n = Math.min(xScale, yScale);
+      let bHeight = boxHeight;
+      if (poor > 0.05) {
+        bHeight = boxHeight + 30;
+      }
+      // 高度为偶数
+      bHeight = parseInt(bHeight, 10);
+      if (bHeight % 2 !== 0) {
+        bHeight += 1;
+      }
+      n = Number(n.toFixed(4));
+      setBoxSize({
+        scale: n,
+        boxHeight: bHeight,
+      });
+    }
+  };
+  const handError = err => {
+    if (err) {
+      message.error(err);
+    }
+    setLinkUrl('');
+    setJumpLoading(false);
+    jumpProgressEnd();
+  };
+  const onMessageBack = data => {
+    if (!data?.type) return;
+    console.log('onMessageBack ~ data:', data);
+    switch (data?.type) {
+      // 页面加载完成
+      // 登录成功
+      case 'runAfterFirstMounted':
+      case 'loginSuccess':
+        jumpProgressEnd();
+        setTimeout(() => {
+          setJumpLoading(false);
+        }, 100);
+        break;
+      case 'loginError':
+        message.warning('登录失败,请联系管理人员');
+        handError();
+        break;
+      case '无法连接':
+        message.warning('该站点无法连接,请联系管理人员');
+        setTimeout(() => {
+          handError();
+        }, 100);
+        break;
+      case 'showBack':
+        setShowBackBtn(true);
+        break;
+      case 'hideBack':
+        setShowBackBtn(false);
+        break;
+      default:
+        break;
+    }
+  };
+  const iframeItem = useMemo(() => {
+    if (!linkUrl) return null;
+    return (
+      <>
+        <div className={classNames(!jumpLoading ? styles.scaleInCenter : styles.hide, 'animate__animated')}>
+          <Iframe linkUrl={linkUrl} onMessageBack={onMessageBack} />
+        </div>
+      </>
+    );
+  }, [linkUrl, jumpLoading]);
+  const startTiming = (time = 2) => {
+    if (timer3.current) {
+      clearInterval(timer3.current);
+      timer3.current = null;
+    }
+    timer3.current = setTimeout(() => {
+      setJumpLoading(false);
+      timer2.current && clearInterval(timer2.current);
+      timer2.current = null;
+    }, time * 1000);
+  };
+  const onLink = url => {
+    if (!url) return message.warning('未配置功能路径');
+    setJumpLoading(true);
+    jumpProgressStart();
+
+    setLinkUrl(url);
+    let time = 15;
+    if (!url.includes('user/noscret')) {
+      time = 4;
+    }
+    startTiming(time);
+  };
+  useEffect(() => {
+    getData();
+    window.addEventListener('resize', debounce(onResize, 300));
+    onResize();
+    // setTimeout(() => {
+    //   if ($('.CarouselRipples')) {
+    //     $('.CarouselRipples').ripples({
+    //       resolution: 800,
+    //       dropRadius: 20, // px
+    //       perturbance: 2,
+    //     });
+    //   }
+    // }, 1000);
+    return () => {
+      window.removeEventListener('resize', onResize);
+      timer2.current && clearInterval(timer2.current);
+      timer2.current = null;
+      timer3.current && clearInterval(timer3.current);
+      timer3.current = null;
+    };
+  }, []);
+
+  return (
+    <div className={classNames(styles.integrationDanling, 'integrationDanling')} ref={ref}>
+      {jumpLoading ? (
+        <div className={styles.integrationJumpLoad} key="jumpLoading">
+          <div style={{ width: '285px' }}>
+            <LoadPage percent={progressValue2 / 100} text="页面加载中~" />
+          </div>
+        </div>
+      ) : null}
+      {!linkUrl ? (
+        <div className={styles.integrationDanling_exit} onClick={exit}>
+          <Button type="text" style={{ color: '#fff', fontSize: '24px' }}>
+            {isFullscreen ? <FullscreenExitOutlined /> : <FullscreenOutlined />}
+          </Button>
+        </div>
+      ) : null}
+
+      <div
+        className={styles.integration_content}
+        style={{
+          width: boxWidth,
+          height: boxSize.boxHeight,
+          transform: `scale(${boxSize.scale}) translate(-50%,-50%)`,
+        }}
+      >
+        <div className={styles.integrationDanling_title}>
+          <div className={styles.integrationDanling_icon}>
+            <img
+              src={
+                props.global &&
+                props.global.transformDevAssetsBaseURL &&
+                props.global.transformDevAssetsBaseURL(props.global.logo)
+              }
+              alt="logo"
+            />
+          </div>
+          <div className={styles.integrationDanling_title_text}>
+            <span>{configData?.['标题'] || '智慧水务综合监控平台'}</span>
+          </div>
+        </div>
+        <div className={styles.integrationDanling_title_sub}>
+          {configData?.['副标题'] || 'Danling County Rural Water Supply Information Platform'}
+        </div>
+        <div className={styles.IY_list}>
+          {configData?.listData
+            ? configData?.listData.map(item => (
+                <div onClick={() => onLink(item.url)} className={styles.IY_item} key={item.name} type={item.name}>
+                  <div className={styles.IY_item_name}>{item.label || item.name}</div>
+                  <div className={styles.IY_item_name_sub}>{item.english || ''}</div>
+                </div>
+              ))
+            : null}
+        </div>
+      </div>
+      {linkUrl && showBackBtn ? (
+        <div
+          className={classNames(styles.iframeExit, 'animate__animated', 'animate__fadeIn')}
+          onClick={() => setLinkUrl('')}
+        >
+          <div className={styles.iframeBackLeft}>
+            <img src={arrowLeftImg} alt="返回" />
+          </div>
+          <div className={styles.iframeExitIcon}>
+            <img src={backImg} alt="返回" />
+            返回
+          </div>
+        </div>
+      ) : null}
+      {iframeItem}
+      {/* <div className={classNames(styles.CarouselRipples, 'CarouselRipples')} data-ripple="ripple" /> */}
+    </div>
+  );
+};
+const mapStateToProps = state => ({
+  global: state.getIn(['global', 'globalConfig']),
+});
+export default connect(mapStateToProps)(IntegrationDanling);
diff --git a/src/pages/bootpage/template/project/danling/index.less b/src/pages/bootpage/template/project/danling/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..76f97b95612a655dda81777e2c9edc0609706200
--- /dev/null
+++ b/src/pages/bootpage/template/project/danling/index.less
@@ -0,0 +1,306 @@
+.integrationDanling {
+  width: 100%;
+  position: relative;
+  height: 100%;
+  overflow: hidden;
+  background: url('@/assets/images/integration/danling/背景.png') center/100% 100% no-repeat;
+
+  .iframeExitIcon {
+    position: absolute;
+    top: 0;
+    left: -45px;
+    display: flex;
+    height: 44px;
+    width: 44px;
+    background: rgba(28, 94, 180, 0.95);
+    border-radius: 0 7px 7px 0;
+    flex-direction: column;
+    justify-content: space-around;
+    align-items: center;
+    font-size: 12px;
+    transition: all 0.2s;
+    padding: 3px 0;
+
+    img {
+      width: 17px;
+      height: 12px;
+    }
+  }
+
+
+  .iframeExit:hover {
+    .iframeExitIcon {
+      left: 0;
+    }
+
+    .iframeBackLeft {
+      left: -15px;
+    }
+  }
+
+
+  .iframeBackLeft {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 14px;
+    height: 44px;
+    background: rgba(28, 94, 180, 0.95);
+    border-radius: 0 7px 7px 0;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    transition: all 0.3s;
+
+    img {
+      width: 6px;
+      height: 11px;
+    }
+  }
+
+  .iframeExit {
+    width: 44px;
+    height: 44px;
+    position: absolute;
+    top: 4px;
+    left: 0;
+    color: #FFF;
+    cursor: pointer;
+    user-select: none;
+    position: absolute;
+    z-index: 110;
+
+
+  }
+
+  .integrationDanling_exit {
+    position: absolute;
+    right: 10px;
+    top: 10px;
+    z-index: 100;
+  }
+
+  .integration_content {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    transform-origin: left top;
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    padding: 0px 20px 10px;
+  }
+
+
+
+  //基础平台end
+  .integrationDanling_title {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    padding-top: 15px;
+    padding-bottom: 5px;
+
+    .integrationDanling_icon {
+      margin-right: 20px;
+
+    }
+
+    &_text {
+      flex: none;
+      color: #fff;
+
+      span {
+        line-height: 64px;
+        font-weight: bold;
+        font-size: 36px;
+        color: #FFFFFF;
+        letter-spacing: 4px;
+        // background: linear-gradient(0deg, #56A1EF 0%, #FFFFFF 59%);
+        // -webkit-background-clip: text;
+        // -webkit-text-fill-color: transparent;
+        position: relative;
+        // top: -8px;
+        font-family: Microsoft YaHei;
+
+      }
+    }
+
+  }
+
+  .integrationDanling_title_sub {
+    font-family: Microsoft YaHei;
+    font-weight: 400;
+    font-size: 14px;
+    color: rgba(255, 255, 255, 0.75);
+    line-height: 22px;
+    padding: 0 125px;
+    background: url(@/assets/images/integration/danling/title_left.png) no-repeat left center, url(@/assets/images/integration/danling/title_right.png) no-repeat right center;
+    background-size: 115px 1px, 115px 1px;
+  }
+
+
+
+  .IY_list {
+    padding-top: 95px;
+    display: grid;
+    margin: auto;
+    grid-template-columns: 270px 270px 270px 270px 270px;
+    grid-template-rows: 280px 280px 280px 280px 280px;
+    gap: 56px 68px;
+    z-index: 1000;
+
+  }
+
+  .IY_item {
+    border-radius: 50px;
+    text-align: center;
+    padding-top: 198px;
+    transition: all 0.3s;
+    position: relative;
+    top: 0;
+    cursor: pointer;
+    z-index: 1000;
+
+    .IY_item_name {
+      font-weight: bold;
+      font-size: 24px;
+      line-height: 42px;
+      color: #FFFFFF;
+    }
+
+    .IY_item_name_sub {
+      font-weight: 400;
+      font-size: 14px;
+      color: rgba(255, 255, 255, 0.7);
+    }
+
+  }
+
+  .IY_item:hover {
+    top: -15px;
+  }
+
+  .IY_item[type='厂站管理'] {
+    background: url('@/assets/images/integration/danling/厂站管理.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='数据中心'] {
+    background: url('@/assets/images/integration/danling/数据中心.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='水质中心'] {
+    background: url('@/assets/images/integration/danling/水质中心.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='GIS中心'] {
+    background: url('@/assets/images/integration/danling/GIS中心.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='控漏中心'] {
+    background: url('@/assets/images/integration/danling/控漏中心.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='管网管理'] {
+    background: url('@/assets/images/integration/danling/管网管理.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='监控中心'] {
+    background: url('@/assets/images/integration/danling/监控中心.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='业务中心'] {
+    background: url('@/assets/images/integration/danling/业务中心.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='报警中心'] {
+    background: url('@/assets/images/integration/danling/报警中心.png') center/100% 100% no-repeat;
+  }
+
+  .IY_item[type='设置中心'] {
+    background: url('@/assets/images/integration/danling/设置中心.png') center/100% 100% no-repeat;
+  }
+
+}
+
+.integrationJumpLoad {
+  width: 100%;
+  height: 100%;
+  position: absolute;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  top: 0;
+  left: 0;
+  z-index: 1080;
+  padding-bottom: 50px;
+  background-color: rgba(0, 0, 0, 0.6);
+
+
+}
+
+.hide {
+  visibility: hidden;
+}
+
+
+
+@-webkit-keyframes scale-in-center {
+  0% {
+    -webkit-transform: scaleY(0);
+    transform: scaleY(0);
+    opacity: 1;
+  }
+
+  100% {
+    -webkit-transform: scaleY(1);
+    transform: scaleY(1);
+    opacity: 1;
+  }
+}
+
+@keyframes scale-in-center {
+  0% {
+    -webkit-transform: scaleY(0);
+    transform: scaleY(0);
+    opacity: 1;
+  }
+
+  100% {
+    -webkit-transform: scaleY(1);
+    transform: scaleY(1);
+    opacity: 1;
+  }
+}
+
+.scaleInCenter {
+  visibility: visible;
+  -webkit-animation: scale-in-center .3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+  animation: scale-in-center .3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+
+// .CarouselRipples {
+//   width: 100%;
+//   height: 100%;
+//   position: absolute;
+//   top: 0;
+//   left: 0;
+//   z-index: 1;
+
+// }
+
+
+& :global {
+  // .CarouselRipples:before {
+  //   content: '';
+  //   display: inline-block;
+  //   vertical-align: middle;
+  //   height: 100%;
+  // }
+
+  .integrationDanling {
+    .anticon {
+      vertical-align: 0.125em;
+    }
+  }
+}
\ No newline at end of file
diff --git a/src/pages/bootpage/template/project/yixing/data.json b/src/pages/bootpage/template/project/yixing/data.json
new file mode 100644
index 0000000000000000000000000000000000000000..3f6fd0b239a845ef95e141172a4a8b7eb6379850
--- /dev/null
+++ b/src/pages/bootpage/template/project/yixing/data.json
@@ -0,0 +1,94 @@
+{
+    "业务中心": [
+        {
+            "name": "水务业务门户",
+            "label": "",
+            "url": ""
+        },
+        {
+            "name": "综合展示",
+            "url": ""
+        },
+        {
+            "name": "制水管控",
+            "url": ""
+        }
+    ],
+    "智慧管网": [
+        {
+            "name": "管网GIS系统",
+            "label": "",
+            "url": "",
+            "english": "Pipeline GIS"
+        },
+        {
+            "name": "管网采集系统",
+            "url": "",
+            "english": "Pipeline Collection"
+        },
+        {
+            "name": "管网一张图",
+            "url": "",
+            "english": "Pipe Network"
+        }
+    ],
+    "综合调度": [
+        {
+            "name": "管网运行监测",
+            "label": "",
+            "url": "",
+            "english": "Pipeline Operation"
+        },
+        {
+            "name": "调度事物管理",
+            "url": "",
+            "english": "Scheduling Management"
+        },
+        {
+            "name": "报警管理平台",
+            "url": "",
+            "english": "Alarm Management"
+        }
+    ],
+    "智慧营销": [
+        {
+            "name": "营业收费",
+            "label": "",
+            "url": "",
+            "english": "Operating Fees"
+        },
+        {
+            "name": "抄表管理",
+            "url": "",
+            "english": "Meter Reading"
+        },
+        {
+            "name": "网上营业厅",
+            "url": "",
+            "english": "Online Business Hall"
+        }
+    ],
+    "基础平台": [
+        {
+            "name": "物联统一接入平台",
+            "url": "",
+            "english": "IoT Unified Access"
+        },
+        {
+            "name": "综合后台管理平台",
+            "url": "",
+            "english": "Integrated Backend"
+        },
+        {
+            "name": "GIS服务平台",
+            "url": "",
+            "english": "GIS Service "
+        },
+        {
+            "name": "Web组态平台",
+            "url": "",
+            "english": "Web Configuration"
+        }
+    ],
+    "标题": "宜兴智慧水务管控平台"
+}
\ No newline at end of file
diff --git a/src/pages/bootpage/template/project/yixing/index.js b/src/pages/bootpage/template/project/yixing/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..1c7032872ff9833bf292148db82c451834ac6ea4
--- /dev/null
+++ b/src/pages/bootpage/template/project/yixing/index.js
@@ -0,0 +1,400 @@
+/*
+ * @Title: 宜兴 集成页
+ * @Author: hongmye
+ * @Date: 2024-08-05 18:34:42
+ */
+import { appService } from '@/api';
+import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons';
+import { message, Button } from 'antd';
+import classNames from 'classnames';
+import { debounce } from 'lodash';
+import React, { useRef, useEffect, useState, useMemo } from 'react';
+import backImg from '@/assets/images/demonstration/返回.png';
+import arrowLeftImg from '@/assets/images/demonstration/左箭头.png';
+import LoadPage from '@/components/LoadPage';
+import icon1 from '@/assets/images/integration/taihu2/综合管控_arrow.png';
+import icon2 from '@/assets/images/integration/taihu2/智慧应用_arrow.png';
+import icon3 from '@/assets/images/integration/taihu2/支撑平台_arrow.png';
+
+import useFullScreen from '../../demonstration/components/useFullScreen';
+import defaultConfig from './data.json';
+import styles from './index.less';
+import Iframe from '../../demonstration/components/Iframe';
+const boxWidth = 1920;
+const boxHeight = 930;
+const IntegrationYixing = props => {
+  const [ref, isFullscreen, handleFullScreen, handleExitFullScreen] = useFullScreen(false);
+  const timer2 = useRef(null);
+  const timer3 = useRef(null);
+
+  const progressRef2 = useRef(0);
+  // 退出
+  const exit = () => {
+    if (isFullscreen) {
+      handleExitFullScreen && handleExitFullScreen();
+    } else {
+      handleFullScreen && handleFullScreen();
+    }
+  };
+  const [boxSize, setBoxSize] = useState({
+    scale: 1,
+    boxHeight: 930,
+  });
+  const [linkUrl, setLinkUrl] = useState('');
+  const [jumpLoading, setJumpLoading] = useState(false);
+  const [progressValue2, setProgressValue2] = useState(0);
+  const [showBackBtn, setShowBackBtn] = useState(true); // 是否显示iframe 返回按钮,三维平台用
+
+  const configName = '宜兴集成配置文件';
+
+  const [configData, setConfigData] = useState(defaultConfig);
+
+  const jumpProgressStart = () => {
+    if (timer2.current) {
+      clearInterval(timer2.current);
+      timer2.current = null;
+    }
+    progressRef2.current = 0;
+    setProgressValue2(0);
+    timer2.current = setInterval(() => {
+      if (progressRef2.current < 97.5) {
+        progressRef2.current += 2.5;
+        setProgressValue2(progressRef2.current);
+      } else {
+        setProgressValue2(99);
+        timer2.current && clearInterval(timer2.current);
+        timer2.current = null;
+      }
+    }, 100);
+  };
+  const jumpProgressEnd = () => {
+    setProgressValue2(100);
+    timer2.current && clearInterval(timer2.current);
+    timer2.current = null;
+  };
+  const getData = async () => {
+    appService
+      .GetConfigJson({
+        config: configName,
+      })
+      .then(res => {
+        if (res.code === 0 && res.data) {
+          const data = JSON.parse(res.data) || defaultConfig;
+          setConfigData(data);
+        }
+      });
+  };
+  const onResize = () => {
+    if (ref?.current) {
+      const { clientWidth, clientHeight } = ref.current;
+      if (!boxWidth || !boxHeight) return;
+      const xScale = clientWidth / boxWidth;
+      const yScale = clientHeight / boxHeight;
+      const poor = clientHeight / clientWidth - boxHeight / boxWidth;
+      let n = Math.min(xScale, yScale);
+      let bHeight = boxHeight;
+      if (poor > 0.05) {
+        bHeight = boxHeight + 30;
+      }
+      // 高度为偶数
+      bHeight = parseInt(bHeight, 10);
+      if (bHeight % 2 !== 0) {
+        bHeight += 1;
+      }
+      n = Number(n.toFixed(4));
+      setBoxSize({
+        scale: n,
+        boxHeight: bHeight,
+      });
+    }
+  };
+  const handError = err => {
+    if (err) {
+      message.error(err);
+    }
+    setLinkUrl('');
+    setJumpLoading(false);
+    jumpProgressEnd();
+  };
+  const onMessageBack = data => {
+    if (!data?.type) return;
+    console.log('onMessageBack ~ data:', data);
+    switch (data?.type) {
+      // 页面加载完成
+      // 登录成功
+      case 'runAfterFirstMounted':
+      case 'loginSuccess':
+        jumpProgressEnd();
+        setTimeout(() => {
+          setJumpLoading(false);
+        }, 100);
+        break;
+      case 'loginError':
+        message.warning('登录失败,请联系管理人员');
+        handError();
+        break;
+      case '无法连接':
+        message.warning('该站点无法连接,请联系管理人员');
+        setTimeout(() => {
+          handError();
+        }, 100);
+        break;
+      case 'showBack':
+        setShowBackBtn(true);
+        break;
+      case 'hideBack':
+        setShowBackBtn(false);
+        break;
+      default:
+        break;
+    }
+  };
+  const iframeItem = useMemo(() => {
+    if (!linkUrl) return null;
+    return (
+      <>
+        <div className={classNames(!jumpLoading ? styles.scaleInCenter : styles.hide, 'animate__animated')}>
+          <Iframe linkUrl={linkUrl} onMessageBack={onMessageBack} />
+        </div>
+      </>
+    );
+  }, [linkUrl, jumpLoading]);
+  const startTiming = (time = 2) => {
+    if (timer3.current) {
+      clearInterval(timer3.current);
+      timer3.current = null;
+    }
+    timer3.current = setTimeout(() => {
+      setJumpLoading(false);
+      timer2.current && clearInterval(timer2.current);
+      timer2.current = null;
+    }, time * 1000);
+  };
+  const onLink = url => {
+    if (!url) return message.warning('未配置功能路径');
+    setJumpLoading(true);
+    jumpProgressStart();
+
+    setLinkUrl(url);
+    let time = 15;
+    if (!url.includes('user/noscret')) {
+      time = 4;
+    }
+    startTiming(time);
+  };
+  useEffect(() => {
+    getData();
+    window.addEventListener('resize', debounce(onResize, 300));
+    onResize();
+    return () => {
+      window.removeEventListener('resize', onResize);
+      timer2.current && clearInterval(timer2.current);
+      timer2.current = null;
+      timer3.current && clearInterval(timer3.current);
+      timer3.current = null;
+    };
+  }, []);
+
+  return (
+    <div className={classNames(styles.integrationYixing, 'integrationYixing')} ref={ref}>
+      {jumpLoading ? (
+        <div className={styles.integrationJumpLoad} key="jumpLoading">
+          <div style={{ width: '285px' }}>
+            <LoadPage percent={progressValue2 / 100} text="页面加载中~" />
+          </div>
+        </div>
+      ) : null}
+      {!linkUrl ? (
+        <div className={styles.integrationYixing_exit} onClick={exit}>
+          <Button type="text" style={{ color: '#fff', fontSize: '24px' }}>
+            {isFullscreen ? <FullscreenExitOutlined /> : <FullscreenOutlined />}
+          </Button>
+        </div>
+      ) : null}
+
+      <div
+        className={styles.integration_content}
+        style={{
+          width: boxWidth,
+          height: boxSize.boxHeight,
+          transform: `scale(${boxSize.scale}) translate(-50%,-50%)`,
+        }}
+      >
+        <div className={styles.integrationYixing_title}>
+          <div className={styles.integrationYixing_title_text}>
+            <span>{configData?.['标题'] || '智慧水务综合监控平台'}</span>
+          </div>
+        </div>
+        <div className={styles.integration_row} type="业务中心">
+          <div className={styles.integration_row_title} type="业务中心">
+            业务中心
+            <img src={icon1} alt="" />
+          </div>
+          <div className={styles.integration_row_list}>
+            <div className={styles.integration_row_grid} type="业务中心">
+              {configData['业务中心'] &&
+                configData['业务中心'].map(item => (
+                  <div
+                    key={item.name}
+                    className={styles.integration_row_col}
+                    type="业务中心"
+                    onClick={() => onLink(item.url)}
+                  >
+                    <div
+                      className={classNames(
+                        styles.integration_row_col_hover,
+                        'animate__fadeIn animate__animated duration-100ms',
+                      )}
+                    />
+                    <div className={styles.integration_row_col_content} name={item.name}>
+                      <div className={styles.integration_row_col_text} type="业务中心">
+                        {item.label || item.name}
+                      </div>
+                      <div className={styles.integration_row_col_sub}>{item.english || ''}</div>
+                    </div>
+                  </div>
+                ))}
+            </div>
+          </div>
+        </div>
+        <div className={styles.integration_row} type="应用系统">
+          <div className={styles.integration_row_title} type="应用系统">
+            应用系统
+            <img src={icon2} alt="" />
+          </div>
+          <div className={styles.integration_row_right2}>
+            <div className={styles.integration_row_list} type="智慧管网">
+              <div className={styles.integration_row_list_title} type="智慧管网">
+                - 智慧管网 -
+              </div>
+              <div className={styles.integration_row_grid} type="智慧管网">
+                {configData['智慧管网'] &&
+                  configData['智慧管网'].map(item => (
+                    <div
+                      key={item.name}
+                      className={styles.integration_row_col}
+                      type={item.name}
+                      onClick={() => onLink(item.url)}
+                    >
+                      <div
+                        className={classNames(
+                          styles.integration_row_col_hover,
+                          'animate__fadeIn animate__animated duration-100ms',
+                        )}
+                      />
+                      <div className={styles.integration_row_col_content} name={item.name}>
+                        <div className={styles.integration_row_col_text}>{item.label || item.name}</div>
+                        <div className={styles.integration_row_col_sub}>{item.english || ''}</div>
+                      </div>
+                    </div>
+                  ))}
+              </div>
+            </div>
+            <div className={styles.integration_row_list} type="智慧管网">
+              <div className={styles.integration_row_list_title} type="智慧管网">
+                - 综合调度 -
+              </div>
+              <div className={styles.integration_row_grid} type="智慧管网">
+                {configData['综合调度'] &&
+                  configData['综合调度'].map(item => (
+                    <div
+                      key={item.name}
+                      className={styles.integration_row_col}
+                      type={item.name}
+                      onClick={() => onLink(item.url)}
+                    >
+                      <div
+                        className={classNames(
+                          styles.integration_row_col_hover,
+                          'animate__fadeIn animate__animated duration-100ms',
+                        )}
+                      />
+                      <div className={styles.integration_row_col_content} name={item.name}>
+                        <div className={styles.integration_row_col_text}>{item.label || item.name}</div>
+                        <div className={styles.integration_row_col_sub}>{item.english || ''}</div>
+                      </div>
+                    </div>
+                  ))}
+              </div>
+            </div>
+            <div className={styles.integration_row_list} type="智慧管网">
+              <div className={styles.integration_row_list_title} type="智慧管网">
+                - 智慧营销 -
+              </div>
+              <div className={styles.integration_row_grid} type="智慧管网">
+                {configData['智慧营销'] &&
+                  configData['智慧营销'].map(item => (
+                    <div
+                      key={item.name}
+                      className={styles.integration_row_col}
+                      type={item.name}
+                      onClick={() => onLink(item.url)}
+                    >
+                      <div
+                        className={classNames(
+                          styles.integration_row_col_hover,
+                          'animate__fadeIn animate__animated duration-100ms',
+                        )}
+                      />
+                      <div className={styles.integration_row_col_content} name={item.name}>
+                        <div className={styles.integration_row_col_text}>{item.label || item.name}</div>
+                        <div className={styles.integration_row_col_sub}>{item.english || ''}</div>
+                      </div>
+                    </div>
+                  ))}
+              </div>
+            </div>
+          </div>
+        </div>
+        <div className={styles.integration_row} type="基础平台">
+          <div className={styles.integration_row_title} type="基础平台">
+            基础平台
+            <img src={icon3} alt="" />
+          </div>
+          <div className={styles.integration_row_list}>
+            <div className={styles.integration_row_grid} type="基础平台">
+              {configData['基础平台'] &&
+                configData['基础平台'].map(item => (
+                  <div
+                    key={item.name}
+                    className={styles.integration_row_col}
+                    type="基础平台"
+                    onClick={() => onLink(item.url)}
+                  >
+                    <div
+                      className={classNames(
+                        styles.integration_row_col_hover,
+                        'animate__fadeIn animate__animated duration-100ms',
+                      )}
+                    />
+                    <div className={styles.integration_row_col_content} name={item.name}>
+                      <div className={styles.integration_row_col_text} type="基础平台">
+                        {item.label || item.name}
+                      </div>
+                      <div className={styles.integration_row_col_sub}>{item.english || ''}</div>
+                    </div>
+                  </div>
+                ))}
+            </div>
+          </div>
+        </div>
+      </div>
+      {linkUrl && showBackBtn ? (
+        <div
+          className={classNames(styles.iframeExit, 'animate__animated', 'animate__fadeIn')}
+          onClick={() => setLinkUrl('')}
+        >
+          <div className={styles.iframeBackLeft}>
+            <img src={arrowLeftImg} alt="返回" />
+          </div>
+          <div className={styles.iframeExitIcon}>
+            <img src={backImg} alt="返回" />
+            返回
+          </div>
+        </div>
+      ) : null}
+      {iframeItem}
+    </div>
+  );
+};
+export default IntegrationYixing;
diff --git a/src/pages/bootpage/template/project/yixing/index.less b/src/pages/bootpage/template/project/yixing/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..b3c2612efa5a1f81cba9f53887786e02f10908e8
--- /dev/null
+++ b/src/pages/bootpage/template/project/yixing/index.less
@@ -0,0 +1,617 @@
+.integrationYixing {
+  width: 100%;
+  position: relative;
+  height: 100%;
+  overflow: hidden;
+  background: url('@/assets/images/integration/taihu2/背景2.jpg') center/100% 100% no-repeat;
+
+  .iframeExitIcon {
+    position: absolute;
+    top: 0;
+    left: -45px;
+    display: flex;
+    height: 44px;
+    width: 44px;
+    background: rgba(28, 94, 180, 0.95);
+    border-radius: 0 7px 7px 0;
+    flex-direction: column;
+    justify-content: space-around;
+    align-items: center;
+    font-size: 12px;
+    transition: all 0.2s;
+    padding: 3px 0;
+
+    img {
+      width: 17px;
+      height: 12px;
+    }
+  }
+
+
+  .iframeExit:hover {
+    .iframeExitIcon {
+      left: 0;
+    }
+
+    .iframeBackLeft {
+      left: -15px;
+    }
+  }
+
+
+  .iframeBackLeft {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 14px;
+    height: 44px;
+    background: rgba(28, 94, 180, 0.95);
+    border-radius: 0 7px 7px 0;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    transition: all 0.3s;
+
+    img {
+      width: 6px;
+      height: 11px;
+    }
+  }
+
+  .iframeExit {
+    width: 44px;
+    height: 44px;
+    position: absolute;
+    top: 4px;
+    left: 0;
+    color: #FFF;
+    cursor: pointer;
+    user-select: none;
+    position: absolute;
+    z-index: 110;
+
+
+  }
+
+  .integrationYixing_exit {
+    position: absolute;
+    right: 10px;
+    top: 10px;
+    z-index: 100;
+  }
+
+  .integration_content {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    transform-origin: left top;
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    padding: 0px 20px 10px;
+  }
+
+  .integration_row {
+    display: flex;
+    width: 1505px;
+    overflow: hidden;
+
+    .integration_row_title {
+      flex: none;
+      margin-right: 30px;
+      position: relative;
+      writing-mode: vertical-rl;
+      font-weight: bold;
+      font-size: 22px;
+      color: #fff;
+      line-height: 33px;
+      text-shadow: 0 0 18px rgba(0, 144, 255, 0.5);
+      display: flex;
+      align-items: flex-start;
+      justify-content: center;
+      letter-spacing: 3px;
+
+      img {
+        width: 33px;
+        height: 42px;
+        position: absolute;
+        right: -25px;
+        top: 50%;
+        transform: translateY(-50%);
+      }
+    }
+
+    .integration_row_list {
+      flex: 1;
+      display: flex;
+      align-items: center;
+    }
+
+  }
+
+  .integration_row_col {
+    position: relative;
+    cursor: pointer;
+  }
+
+  .integration_row_col_text {
+    font-weight: bold;
+    font-size: 20px;
+    color: #FFFFFF;
+    transition: all 0.1s;
+    position: relative;
+    white-space: nowrap;
+
+  }
+
+  .integration_row_col:hover {
+    filter: brightness(120%);
+
+    .integration_row_col_hover {
+      display: block !important;
+    }
+
+    .integration_row_col_text {
+      color: #fff !important;
+    }
+
+    .integration_row_col_sub {
+      color: #fff !important;
+
+    }
+  }
+
+  .integration_row_title[type='业务中心'] {
+    width: 46px;
+    height: 154px;
+    background: url('@/assets/images/integration/jimusaer/业务中心.png') center center no-repeat;
+    background-size: 100% 100%;
+  }
+
+  .integration_row_title[type='应用系统'] {
+    width: 46px;
+    height: 421px;
+    background: url('@/assets/images/integration/jimusaer/应用系统.png') center center no-repeat;
+    background-size: 100% 100%;
+
+  }
+
+  .integration_row_title[type='基础平台'] {
+    width: 46px;
+    height: 153px;
+    background: url('@/assets/images/integration/jimusaer/基础平台.png') center center no-repeat;
+    background-size: 100% 100%;
+
+  }
+
+  // 综合管控start
+  .integration_row[type='业务中心'] {
+    height: 153px;
+    display: flex;
+    align-items: center;
+    margin-bottom: 15px;
+
+    .integration_row_list {
+      height: 140px;
+      background: linear-gradient(0deg, rgba(171, 136, 0, 0) 0%, rgba(177, 153, 58, 0.5) 100%);
+      border-radius: 20px;
+      padding-top: 7px;
+      position: relative;
+      top: 5px;
+    }
+  }
+
+  .integration_row_grid[type='业务中心'] {
+    display: flex;
+    justify-content: space-around;
+    padding-left: 13px;
+    padding-top: 8px;
+  }
+
+  .integration_row_col[type='业务中心'] {
+    width: 468px;
+    height: 118px;
+
+
+    .integration_row_col_text {
+      font-weight: bold;
+      font-size: 20px;
+      color: #FFED9A;
+      text-shadow: 2px 3px 4px rgba(0, 0, 0, 0.5);
+      margin-bottom: 2px;
+    }
+
+    .integration_row_col_sub {
+      font-weight: 400;
+      font-size: 13px;
+      color: rgba(231, 215, 138, 0.6);
+    }
+
+    .integration_row_col_content {
+      width: 100%;
+      height: 100%;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      padding: 28px 20px 45px 183px;
+
+    }
+
+    .integration_row_col_content[name='综合管理门户'] {
+      background: url('@/assets/images/integration/jimusaer/综合管理门户.png') 66px 29px no-repeat,
+        url('@/assets/images/integration/jimusaer/业务中心bg.png') center center no-repeat;
+      background-size: 54px 54px, 100% 100%;
+
+    }
+
+    .integration_row_col_content[name='综合外业工单'] {
+      background: url('@/assets/images/integration/jimusaer/综合外业工单.png') 66px 29px no-repeat,
+        url('@/assets/images/integration/jimusaer/业务中心bg.png') center center no-repeat;
+      background-size: 54px 54px, 100% 100%;
+    }
+
+    .integration_row_col_content[name='综合业务大屏'] {
+      background: url('@/assets/images/integration/jimusaer/综合业务大屏.png') 66px 29px no-repeat,
+        url('@/assets/images/integration/jimusaer/业务中心bg.png') center center no-repeat;
+      background-size: 54px 54px, 100% 100%;
+
+    }
+  }
+
+  // 综合管控end
+
+  // 应用系统
+  .integration_row[type='应用系统'] {
+    height: 421px;
+    display: flex;
+    align-items: flex-start;
+    margin-bottom: 15px;
+
+    .integration_row_right2 {
+      flex: 1;
+      display: flex;
+      overflow: hidden;
+      padding-top: 12px;
+      justify-content: space-between;
+    }
+
+    .integration_row_list_title {
+      font-weight: bold;
+      font-size: 18px;
+      color: #FFFFFF;
+      font-style: italic;
+      letter-spacing: 2px;
+      padding-right: 14px;
+    }
+
+    .integration_row_list {
+      // flex: 1;
+      width: 458px;
+      height: 400px;
+      overflow: hidden;
+
+
+    }
+
+  }
+
+  .integration_row_list[type='智慧管网'] {
+    overflow: hidden;
+    flex-direction: column;
+    background: linear-gradient(180deg, rgba(39, 112, 173, 0.5) 0%, rgba(39, 112, 173, 0) 100%);
+    border-radius: 20px;
+    flex: none;
+
+
+    .integration_row_list_title {
+      width: 100%;
+      height: 60px;
+      position: relative;
+      top: -4px;
+      padding-top: 24px;
+      line-height: 1;
+      text-align: center;
+      background: url('@/assets/images/integration/jimusaer/智慧管网.png') center center no-repeat;
+      background-size: 100% 60px;
+
+
+    }
+
+    .integration_row_col_text {
+      font-weight: bold;
+      font-size: 20px;
+      color: #AEEFFF;
+      // padding-top: 50px;
+      padding-bottom: 4px;
+      text-shadow: 2px 3px 4px rgba(0, 0, 0, 0.5);
+    }
+
+
+    .integration_row_col_content {
+      width: 100%;
+      height: 100%;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      padding-left: 183px;
+      padding-bottom: 13px;
+
+    }
+
+    .integration_row_col_sub {
+      font-weight: 400;
+      font-size: 13px;
+      color: rgba(174, 239, 255, 0.6);
+    }
+
+
+  }
+
+  .integration_row_grid[type='智慧管网'] {
+    display: flex;
+    flex-direction: column;
+
+  }
+
+  .integration_row_col {
+    width: 426px;
+    height: 118px;
+
+  }
+
+  .integration_row_col_content[name='管网GIS系统'] {
+    background: url('@/assets/images/integration/jimusaer/管网GIS系统.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='管网采集系统'] {
+    background: url('@/assets/images/integration/jimusaer/管网采集系统.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='管网一张图'] {
+    background: url('@/assets/images/integration/jimusaer/管网一张图.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='管网运行监测'] {
+    background: url('@/assets/images/integration/jimusaer/管网运行监测.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='调度事物管理'] {
+    background: url('@/assets/images/integration/jimusaer/调度事物管理.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='报警管理平台'] {
+    background: url('@/assets/images/integration/jimusaer/报警管理平台.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='营业收费'] {
+    background: url('@/assets/images/integration/jimusaer/营业收费.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='抄表管理'] {
+    background: url('@/assets/images/integration/jimusaer/抄表管理.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  .integration_row_col_content[name='网上营业厅'] {
+    background: url('@/assets/images/integration/jimusaer/网上营业厅.png') 67px 28px no-repeat,
+      url('@/assets/images/integration/jimusaer/应用系统bg.png') center center no-repeat;
+    background-size: 54px 54px, 100% 100%;
+
+  }
+
+  // 智慧生产调度end
+
+
+
+
+  // 基础平台start
+  .integration_row[type='基础平台'] {
+    height: 153px;
+    display: flex;
+    align-items: center;
+
+
+    .integration_row_list {
+      height: 140px;
+      background: linear-gradient(0deg, rgba(0, 131, 120, 0) 0%, rgba(0, 131, 120, 0.5) 100%);
+      border-radius: 20px;
+      padding-top: 7px;
+      position: relative;
+      top: 5px;
+    }
+  }
+
+  .integration_row_grid[type='基础平台'] {
+    display: flex;
+    justify-content: space-between;
+    padding-left: 13px;
+    padding-top: 8px;
+    width: 100%;
+    padding-right: 17px;
+  }
+
+  .integration_row_col[type='基础平台'] {
+    width: 348px;
+    height: 118px;
+
+
+    .integration_row_col_text {
+      font-weight: bold;
+      font-size: 20px;
+      color: #89FFDC;
+      text-shadow: 2px 3px 4px rgba(0, 0, 0, 0.5);
+      margin-bottom: 2px;
+    }
+
+    .integration_row_col_sub {
+      font-weight: 400;
+      font-size: 13px;
+      color: rgba(137, 255, 220, 0.6);
+    }
+
+    .integration_row_col_content {
+      width: 100%;
+      height: 100%;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      padding: 28px 20px 45px 144px;
+
+    }
+
+    .integration_row_col_content[name='物联统一接入平台'] {
+      background: url('@/assets/images/integration/jimusaer/物联统一接入平台.png') 47px 28px no-repeat,
+        url('@/assets/images/integration/jimusaer/基础平台bg.png') center center no-repeat;
+      background-size: 54px 54px, 100% 100%;
+
+    }
+
+    .integration_row_col_content[name='综合后台管理平台'] {
+      background: url('@/assets/images/integration/jimusaer/综合后台管理平台.png') 47px 28px no-repeat,
+        url('@/assets/images/integration/jimusaer/基础平台bg.png') center center no-repeat;
+      background-size: 54px 54px, 100% 100%;
+    }
+
+    .integration_row_col_content[name='GIS服务平台'] {
+      background: url('@/assets/images/integration/jimusaer/GIS服务平台.png') 47px 28px no-repeat,
+        url('@/assets/images/integration/jimusaer/基础平台bg.png') center center no-repeat;
+      background-size: 54px 54px, 100% 100%;
+
+    }
+
+    .integration_row_col_content[name='Web组态平台'] {
+      background: url('@/assets/images/integration/jimusaer/Web组态平台.png') 47px 28px no-repeat,
+        url('@/assets/images/integration/jimusaer/基础平台bg.png') center center no-repeat;
+      background-size: 54px 54px, 100% 100%;
+
+    }
+  }
+
+  //基础平台end
+  .integrationYixing_title {
+    display: flex;
+    // align-items: center;
+    justify-content: center;
+    padding-top: 10px;
+
+    &_left {
+      width: 372px;
+      height: 75px;
+      background: url('@/assets/images/integration2/left.png') center/100% 100% no-repeat;
+
+    }
+
+    &_text {
+      flex: none;
+      color: #fff;
+
+      span {
+        line-height: 97px;
+        color: #fff;
+        font-size: 56px;
+        letter-spacing: 4px;
+        background: linear-gradient(0deg, #56A1EF 0%, #FFFFFF 59%);
+        -webkit-background-clip: text;
+        -webkit-text-fill-color: transparent;
+        position: relative;
+        // top: -8px;
+        font-weight: bolder;
+      }
+    }
+
+    &_right {
+      width: 372px;
+      height: 75px;
+      background: url('@/assets/images/integration2/right.png') center/100% 100% no-repeat;
+
+    }
+  }
+
+}
+
+.integrationJumpLoad {
+  width: 100%;
+  height: 100%;
+  position: absolute;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  top: 0;
+  left: 0;
+  z-index: 1080;
+  padding-bottom: 50px;
+  background-color: rgba(0, 0, 0, 0.6);
+
+
+}
+
+.hide {
+  visibility: hidden;
+}
+
+
+
+@-webkit-keyframes scale-in-center {
+  0% {
+    -webkit-transform: scaleY(0);
+    transform: scaleY(0);
+    opacity: 1;
+  }
+
+  100% {
+    -webkit-transform: scaleY(1);
+    transform: scaleY(1);
+    opacity: 1;
+  }
+}
+
+@keyframes scale-in-center {
+  0% {
+    -webkit-transform: scaleY(0);
+    transform: scaleY(0);
+    opacity: 1;
+  }
+
+  100% {
+    -webkit-transform: scaleY(1);
+    transform: scaleY(1);
+    opacity: 1;
+  }
+}
+
+.scaleInCenter {
+  visibility: visible;
+  -webkit-animation: scale-in-center .3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+  animation: scale-in-center .3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
+}
+
+& :global {
+  .integrationYixing {
+    .anticon {
+      vertical-align: 0.125em;
+    }
+  }
+}
\ No newline at end of file