diff --git a/src/assets/images/SecurityServiceOverview/title.png b/src/assets/images/SecurityServiceOverview/title.png
index 0b3782e42f8de262be022ce2360cab96d787eb4e..3dcd1684bd03f583a90f798d76d096c124449773 100644
Binary files a/src/assets/images/SecurityServiceOverview/title.png and b/src/assets/images/SecurityServiceOverview/title.png differ
diff --git a/src/components/CommonTable/index.less b/src/components/CommonTable/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..2b1ae0ecce66f85d2f3197db2f31e9aff0039181
--- /dev/null
+++ b/src/components/CommonTable/index.less
@@ -0,0 +1,136 @@
+.container {
+    :global {
+
+        ::-webkit-scrollbar {
+            /*滚动条整体样式*/
+            width: 5px !important;
+            /*高宽分别对应横竖滚动条的尺寸*/
+            height: 5px !important;
+        }
+
+        ::-webkit-scrollbar-thumb {
+            /*滚动条里面小方块*/
+            border-radius: 10px;
+            background: #4f98e2;
+
+        }
+
+        ::-webkit-scrollbar-track {
+            /*滚动条里面轨道*/
+            box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
+            border-radius: 10px;
+
+        }
+
+
+
+        .ant-table-wrapper .ant-table-container {
+            background-color: transparent !important;
+        }
+
+        .ant-table-wrapper .ant-table {
+            background-color: transparent !important;
+        }
+
+        .ant-table-wrapper .ant-table-cell-scrollbar {
+            box-shadow: none !important;
+        }
+
+        .ant-table-thead>tr>th {
+            background-color: transparent !important;
+            // font-family: CustomFont;
+            color: rgb(188, 206, 233) !important;
+            border: 0px;
+
+        }
+
+        .ant-table-wrapper .ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {
+            width: 0px !important;
+        }
+
+        .ant-table-wrapper .ant-table-tbody>tr>td {
+
+
+            font-weight: 700;
+            font-size: 20px;
+            color: rgb(255, 255, 255);
+
+        }
+        .css-dev-only-do-not-override-z0m7uc.ant-table-wrapper table{
+            border-collapse: separate !important;
+            border-spacing: 0 10px !important;
+        }
+     
+
+        .ant-table-wrapper .ant-table-tbody>tr>td {
+
+            border: 0;
+        }
+
+       
+
+        // .ant-pagination .ant-pagination-prev .ant-pagination-item-link {
+        //     font-size: 20px;
+        //     color: #1086BE
+        // }
+
+        // .ant-pagination .ant-pagination-next .ant-pagination-item-link {
+        //     font-size: 20px;
+        //     color: #1086BE
+        // }
+
+        .ant-pagination .ant-pagination-item {
+            background-color: transparent;
+            font-family: PingFang SC;
+            font-weight: 500;
+            font-size: 22px;
+            color: #A6CDDD;
+
+            a {
+                color: #A6CDDD;
+            }
+        }
+
+        .ant-pagination .ant-pagination-item-active {
+            border: 0;
+            font-family: PingFang SC;
+            font-weight: 800;
+            font-size: 22px;
+            color: #29FFFC;
+            margin-top: 1px;
+
+            a {
+                color: #29FFFC;
+            }
+        }
+
+        .ant-pagination .ant-pagination-options-quick-jumper {
+            color: #A6CDDD;
+            font-size: 22px;
+            display: flex;
+
+            input {
+                background-color: transparent;
+                border: #1086BE 1px solid;
+            }
+        }
+    }
+
+    .rowStyle {
+        height: 50px;
+        border: 0;
+        // border-image: linear-gradient(0deg, #0C6E93, #15A7E0) 10 10;
+        background-color: rgba(57, 122, 183, 0.241);
+        background-size: 100% 100%;
+    
+        border-radius: 16px;
+        overflow: hidden !important;
+    }
+
+    .rowStyle:hover {
+
+        background: rgba(57, 122, 183, 0.402) !important;
+
+
+    }
+}
\ No newline at end of file
diff --git a/src/components/CommonTable/index.tsx b/src/components/CommonTable/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..108eab19fac712a84301e7eadb45d676a32aee83
--- /dev/null
+++ b/src/components/CommonTable/index.tsx
@@ -0,0 +1,32 @@
+import { ConfigProvider, Table } from 'antd';
+import { TableProps } from 'antd/lib';
+import { TableConfig } from 'antd/lib/config-provider/context';
+import styles from './index.less';
+const CommonTable = (props: TableConfig & TableProps) => {
+  return (
+    <div className={styles.container}>
+      <ConfigProvider
+        theme={{
+          components: {
+            Table: {
+              headerBg: '#103c62',
+              borderColor: '#103c62',
+              headerSplitColor: '#103c62',
+            },
+          },
+        }}
+      >
+        <Table
+          bordered={false}
+         
+          rowClassName={() => {
+            return styles.rowStyle;
+          }}
+          {...props}
+        ></Table>
+      </ConfigProvider>
+    </div>
+  );
+};
+
+export default CommonTable;
diff --git a/src/constants/index.ts b/src/constants/index.ts
index a14b725f180274332490dd875e7159d9d99b61a9..4648bc21659bc9d1a9f04b472b8355d6e6f49041 100644
--- a/src/constants/index.ts
+++ b/src/constants/index.ts
@@ -1 +1,3 @@
-export const DEFAULT_NAME = 'Umi Max';
+/**安全一张图,图片url */
+export const SafetyFileUrl =
+  'http://10.1.235.36:6888/eUrbanMIS/mediadl/media/getdata/Media2/rec';
diff --git a/src/models/global.ts b/src/models/global.ts
index 708ccff9b54941dd0c18d59f54ef9f2faecdd22e..9e2abf2619780259bcca9cea620ef96c58dbffa3 100644
--- a/src/models/global.ts
+++ b/src/models/global.ts
@@ -1,9 +1,9 @@
 // 全局共享数据示例
-import { DEFAULT_NAME } from '@/constants';
+
 import { useState } from 'react';
 
 const useUser = () => {
-  const [name, setName] = useState<string>(DEFAULT_NAME);
+  const [name, setName] = useState<string>();
   return {
     name,
     setName,
diff --git a/src/pages/SecurityServiceOverview/SafetyMap/index.tsx b/src/pages/SecurityServiceOverview/SafetyMap/index.tsx
index 9ed819f7a7d72227bf436223055e6e00e0d88429..0fb5a550ad140c4fff5b7fb734c70cf5a4517ce4 100644
--- a/src/pages/SecurityServiceOverview/SafetyMap/index.tsx
+++ b/src/pages/SecurityServiceOverview/SafetyMap/index.tsx
@@ -130,92 +130,13 @@ const SafetyMap = () => {
       {isBmap ? (
         <></>
       ) : (
-        // <BMapView
-        //   zoom={13}
-        //   ref={MapRef}
-        //   style={{ width: '100%', height: '110%' }}
-        //   center={new BMapGL.Point(104.066349, 30.658842)}
-        // >
-        //   <Fragment>
-        //     {warnMark?.items?.map((item: any, index: number) => {
-        //       const point = [Number(item?.x_pos), Number(item?.y_pos)];
-        //       if (index === 0) {
-        //         return (
-        //           <CustomOverlay position={point}>
-        //             <div
-        //               className={styles.newWarn}
-        //               onClick={() => {
-        //                 setDetailModalOpt({
-        //                   open: true,
-        //                   eventId: item?.riskId,
-        //                   ...item,
-        //                 });
-        //               }}
-        //             >
-        //               <img
-        //                 src={require(`@/assets/images/SecurityServiceOverview/right/${
-        //                   colorConfig[item?.riskLevel]?.icon
-        //                 }.png`)}
-        //                 alt=""
-        //                 style={{ width: 111, height: 111 }}
-        //               />
-        //             </div>
-        //           </CustomOverlay>
-        //         );
-        //       }
-        //       return (
-        //         <CustomOverlay position={point}>
-        //           <img
-        //             src={require(`@/assets/images/SecurityServiceOverview/right/${
-        //               colorConfig[item?.riskLevel]?.icon
-        //             }.png`)}
-        //             alt=""
-        //             style={{ width: 92, height: 92 }}
-        //             onClick={() => {
-        //               setDetailModalOpt({
-        //                 open: true,
-        //                 eventId: item?.riskId,
-        //                 ...item,
-        //               });
-        //             }}
-        //           />
-        //         </CustomOverlay>
-        //       );
-        //     })}
-        //     {mapMark?.items?.map((item: any, index: number) => {
-        //       const point = [Number(item?.x_pos), Number(item?.y_pos)];
-
-        //       return (
-        //         <CustomOverlay position={point}>
-        //           <img
-        //             src={
-        //               items?.find(
-        //                 (it) => it.typeCode === searchParams.parentTypeCode,
-        //               )?.icon
-        //             }
-        //             alt=""
-        //             style={{ width: 52, height: 52 }}
-        //             onClick={() => {
-        //               setWayModalOpt({
-        //                 open: true,
-        //                 title: item?.parentData?.typeName,
-        //                 parentCode: item?.parentTypeCode,
-        //                 typeCode: item?.parentTypeCode,
-        //                 ...item,
-        //               });
-        //               run({ id: item?.id });
-        //             }}
-        //           />
-        //         </CustomOverlay>
-        //       );
-        //     })}
-        //   </Fragment>
-        // </BMapView>
-        <div style={{ width: '100%', height: 960 }}>
+      
+        <div style={{ width: '100%', height: 730 }}>
           <CooglMap.MapView
             zoom={13}
             ref={MapRef}
-            center={{ x: 104.066349, y: 30.658842 }}
+            center={{ x: 104.80, y: 30.5 }}
+            showCustomComponent={false}
           >
             <Fragment>
               {mapMark?.items?.map((item: any, index: number) => {
@@ -331,8 +252,8 @@ const SafetyMap = () => {
             eventId: '',
           });
         }}
-        width={1144}
-        height={740}
+        width={2650}
+        height={900}
       >
         {detailModalOpt?.open && (
           <BaseInfo
diff --git a/src/pages/SecurityServiceOverview/SecurityState/FacilityWarn/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/FacilityWarn/index.tsx
index a1010f8180991143c16c7772846ac642257b623f..1d9441df15b69e80df3224a386896eff114b20cc 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/FacilityWarn/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/FacilityWarn/index.tsx
@@ -8,11 +8,11 @@ import StatusWiget from '../IndustryWarn/StatusWiget';
 import styles from './index.less';
 
 const FacilityWarn = ({
-  data,
+
   warnLevel,
   setWarnLevel,
 }: {
-  data: any;
+  
   warnLevel: number;
   setWarnLevel: (val: number) => void;
 }) => {
@@ -50,27 +50,10 @@ const FacilityWarn = ({
       },
     ],
   });
-  // //照明预警数陈彭接口
-  // const { data: zmTotal } = useRequest(() => {
-  //   return services.CityRiskApi.getstatisticalEvent({
-  //     parentTypeCode: 'zm',
-  //   });
-  // });
-  // //广告牌预警数陈彭接口
-  // const { data: ggzpTotal } = useRequest(() => {
-  //   return services.CityRiskApi.getstatisticalEvent({
-  //     parentTypeCode: 'ggzp',
-  //   });
-  // });
-  // //管廊预警数陈彭接口
-  // const { data: glTotal } = useRequest(() => {
-  //   return services.CityRiskApi.getstatisticalEvent({
-  //     parentTypeCode: 'gl',
-  //   });
-  // });
+
   //照明
   const zm = useMemo(() => {
-    // return data?.find((item: any) => item?.typeCode === 'zm');
+
     return {
       typeCode: 'zm',
       typeName: '照明',
@@ -79,19 +62,19 @@ const FacilityWarn = ({
       children: [
         {
           typeCode: 'dl',
-          typeName: '路灯设施',
+          typeName: '路灯灯杆',
           parentCode: 'dlql',
           total: zmm?.data?.data?.records?.[0]?.ldss ?? '--',
         },
         {
           typeCode: 'dl',
-          typeName: '检修作业',
+          typeName: '电力设施',
           parentCode: 'dlql',
           total: zmm?.data?.data?.records?.[0]?.jxzy ?? '--',
         },
       ],
     };
-  }, [data, zmm]);
+  }, [ zmm]);
   //户外广告牌
   const ggzp = useMemo(() => {
     // return data?.find((item: any) => item?.typeCode === 'ggzp');
@@ -103,13 +86,19 @@ const FacilityWarn = ({
       children: [
         {
           typeCode: 'dl',
-          typeName: '广告招牌设备',
+          typeName: '户外广告',
+          parentCode: 'dlql',
+          total: gg?.data?.data?.records?.[0]?.ggzpss ?? '--',
+        },
+        {
+          typeCode: 'dl',
+          typeName: '广告招牌',
           parentCode: 'dlql',
           total: gg?.data?.data?.records?.[0]?.ggzpss ?? '--',
         },
       ],
     };
-  }, [data, gg]);
+  }, [ gg]);
   //管廊
   const gl = useMemo(() => {
     // return data?.find((item: any) => item?.typeCode === 'gl');
@@ -121,43 +110,43 @@ const FacilityWarn = ({
       children: [
         {
           typeCode: 'dl',
-          typeName: '管廊数',
+          typeName: '管网',
           parentCode: 'gl',
           total: apgl?.data?.data?.records?.[0]?.glss ?? '--',
         },
         {
           typeCode: 'dl',
-          typeName: '有限空间作业',
+          typeName: '窖井',
           parentCode: 'gl',
           total: apgl?.data?.data?.records?.[0]?.yxkjzy ?? '--',
         },
       ],
     };
-  }, [data, apgl]);
-  //油烟
+  }, [apgl]);
+  //其他
   const yyrq = useMemo(() => {
     // return data?.find((item: any) => item?.typeCode === 'yyrq');
     return {
       typeCode: 'yyrq',
-      typeName: '油烟燃气',
+      typeName: '其他',
       parentCode: null,
       total: '--',
       children: [
         {
           typeCode: 'dl',
-          typeName: '油烟检测点位',
+          typeName: '自建房',
           parentCode: 'dlql',
           total: '--',
         },
         {
           typeCode: 'dl',
-          typeName: '扬尘管控点位',
+          typeName: '交通设施',
           parentCode: 'dlql',
           total: '--',
         },
       ],
     };
-  }, [data]);
+  }, []);
 
   return (
     <div className={styles.container}>
diff --git a/src/pages/SecurityServiceOverview/SecurityState/IndustryWarn/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/IndustryWarn/index.tsx
index 2bc425b81cc0427c532250eff67bc40fb83d112b..43c266b7566852b7077ad1b0aeab4cb6c2e04922 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/IndustryWarn/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/IndustryWarn/index.tsx
@@ -7,11 +7,9 @@ import styles from './index.less';
 import IndustryWiget from './IndustryWiget';
 import StatusWiget from './StatusWiget';
 const IndustryWarn = ({
-  data,
   warnLevel,
   setWarnLevel,
 }: {
-  data: any;
   warnLevel: number;
   setWarnLevel: (val: number) => void;
 }) => {
@@ -40,69 +38,18 @@ const IndustryWarn = ({
           parentCode: 'dlql',
           total: '0',
           c: '20',
-          children: [
-            {
-              typeCode: '342',
-              typeName: '涵洞',
-              parentCode: 'dl',
-              total: '1',
-              children: [],
-            },
-          ],
+          children: [],
         },
         {
           typeCode: 'ql',
           typeName: '桥梁',
           parentCode: 'dlql',
           total: '50',
-          children: [
-            {
-              typeCode: '338',
-              typeName: '跨河桥 ',
-              parentCode: 'ql',
-              total: '--',
-              children: [],
-            },
-            {
-              typeCode: '339',
-              typeName: ' 跨线桥',
-              parentCode: 'ql',
-              total: '--',
-              children: [],
-            },
-            {
-              typeCode: '340',
-              typeName: '互通式立交桥',
-              parentCode: 'ql',
-              total: '--',
-              children: [],
-            },
-            {
-              typeCode: '341',
-              typeName: '人行天桥',
-              parentCode: 'ql',
-              total: '--',
-              children: [],
-            },
-          ],
-        },
-        {
-          typeCode: 'rwhw',
-          typeName: '损坏管控点',
-          parentCode: 'dlql',
-          total: '0',
-          children: [],
-        },
-        {
-          typeCode: 'whzz',
-          typeName: '维护作业',
-          parentCode: 'dlql',
-          total: '0',
           children: [],
         },
       ],
     };
-  }, [data]);
+  }, []);
   //城市环卫
   const hw = useMemo(() => {
     // return data?.find((item: any) => item?.typeCode === 'hw');
@@ -114,7 +61,7 @@ const IndustryWarn = ({
       children: [
         {
           typeCode: 'dl',
-          typeName: '环卫设施',
+          typeName: '垃圾转运站',
           parentCode: 'dlql',
           total: hwgf?.data?.records?.[0]?.hwss ?? '--',
         },
@@ -130,15 +77,9 @@ const IndustryWarn = ({
           parentCode: 'dlql',
           total: hwgf?.data?.records?.[0]?.hwcl ?? '--',
         },
-        {
-          typeCode: 'dl',
-          typeName: '环卫车辆',
-          parentCode: 'dlql',
-          total: hwgf?.data?.records?.[0]?.hwzl ?? '--',
-        },
       ],
     };
-  }, [data, hwgf]);
+  }, [hwgf]);
   //固废
   const gf = useMemo(() => {
     // return data?.find((item: any) => item?.typeCode === 'gf');
@@ -150,19 +91,25 @@ const IndustryWarn = ({
       children: [
         {
           typeCode: 'dl',
-          typeName: '固废设备',
+          typeName: '填埋场',
+          parentCode: 'dlql',
+          total: '--',
+        },
+        {
+          typeCode: 'dl',
+          typeName: '焚烧发电厂',
           parentCode: 'dlql',
           total: '--',
         },
         {
           typeCode: 'dl',
-          typeName: '生产作业',
+          typeName: '餐厨厂',
           parentCode: 'dlql',
           total: '--',
         },
       ],
     };
-  }, [data]);
+  }, []);
 
   return (
     <div className={styles.container}>
@@ -200,7 +147,7 @@ const IndustryWarn = ({
         </div>
       </CustomCard>
       <CustomCard
-        title="城市环卫"
+        title="环卫作业"
         width={353}
         height={380}
         style={{
diff --git a/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.less b/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.less
index 7e170294549e80743577dd32319891b25569b1d7..3a4b7fd2ecbfa3a6f7ae975615ef3d2c64e299a5 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.less
+++ b/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.less
@@ -86,4 +86,10 @@
         }
     }
 
-}
\ No newline at end of file
+}
+.modalWarp{
+    .searchWarp{
+        display: flex;
+        align-items: center;
+    }
+}
diff --git a/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.tsx
index c6a579a7a2750af75a2b4babef5e269bd5a6c377..13d6e03503ff739bf7c1002a5de32f0735d9574b 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/MeetSafeguard/index.tsx
@@ -1,11 +1,26 @@
 import PieChart from '@/components/PieChart';
-import { useMemo } from 'react';
+import { useMemo, useState } from 'react';
 import styles from './index.less';
-import { values } from 'lodash';
-import { useRequest } from 'ahooks';
-import services from '@/services';
 
+import CommonTable from '@/components/CommonTable';
+import Modal from '@/components/HncyModal';
+import Tabs from '@/components/Tabs';
+import services from '@/services';
+import { SearchOutlined } from '@ant-design/icons';
+import { useDebounceFn, useRequest } from 'ahooks';
+import { Input } from 'antd';
 const MeetSafeguard = () => {
+  // 弹窗
+  const [detailModalOpt, setDetailModalOpt] = useState<any>({
+    open: false,
+    title: '',
+    eventId: '',
+  });
+  const [searchData, setSearchData] = useState({
+    page: 1,
+    count: 10,
+  });
+
   const { data } = useRequest(services.Information.getArticleList, {
     defaultParams: [
       {
@@ -17,7 +32,7 @@ const MeetSafeguard = () => {
       },
     ],
   });
-  
+
   const items = useMemo(() => {
     return [
       {
@@ -56,24 +71,165 @@ const MeetSafeguard = () => {
   //     ],
   //   },
   // );
-  const pieData=useMemo(()=>{
-return [{
-  name:'应急防护物资',
-  value:1234
-},
-{
-  name:'运输保障物资',
-  value:1234
-},
-{
-  name:'生活救生物资',
-  value:1234
-},
-{
-  name:'其他物资',
-  value:1234
-}]
-  },[])
+  const pieData = useMemo(() => {
+    return [
+      {
+        name: '应急防护物资',
+        value: 1234,
+      },
+      {
+        name: '运输保障物资',
+        value: 1234,
+      },
+      {
+        name: '生活救生物资',
+        value: 1234,
+      },
+      {
+        name: '其他物资',
+        value: 1234,
+      },
+    ];
+  }, []);
+  const dataSource = [
+    {
+      key: '1',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '2',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '3',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '4',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '5',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '6',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '7',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '8',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '9',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '10',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '11',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+  ];
+
+  const columns = [
+    {
+      title: '序号',
+      dataIndex: 'name',
+      key: 'name',
+      width: 80,
+      ellipsis: true,
+      render: (text, record, index) => {
+        // 当前页码减1,乘以每页数量,再加上当前行的索引加1
+        return `${(searchData?.page - 1) * dataSource?.length + (index + 1)}`;
+      },
+    },
+    {
+      width: 180,
+      ellipsis: true,
+      title: '装备名称',
+      dataIndex: 'name',
+      key: 'name',
+    },
+    {
+      width: 150,
+      ellipsis: true,
+      title: '型号/规格',
+      dataIndex: 'age',
+      key: 'age',
+    },
+    {
+      title: '数量',
+      dataIndex: 'age',
+      key: 'address',
+      width: 150,
+      ellipsis: true,
+    },
+    {
+      title: '用途',
+      dataIndex: 'age',
+      key: 'age',
+      width: 150,
+      ellipsis: true,
+    },
+    {
+      title: '存放地点',
+      dataIndex: 'age',
+      key: 'age',
+      width: 300,
+      ellipsis: true,
+    },
+    {
+      title: '联络人',
+      dataIndex: 'age',
+      key: 'age',
+      width: 120,
+      ellipsis: true,
+    },
+    {
+      title: '联系方式',
+      dataIndex: 'age',
+      key: 'age',
+      width: 150,
+      ellipsis: true,
+    },
+  ];
+  const { run: InputChange } = useDebounceFn(
+    (e) => {
+      console.log(e.target.value);
+    },
+    {
+      wait: 500,
+    },
+  );
   return (
     <div className={styles.container}>
       <div className={styles.tag}>应急保障</div>
@@ -81,7 +237,16 @@ return [{
         <div className={styles.leftWarp}>
           {items?.map((item) => {
             return (
-              <div className={styles.items}>
+              <div
+                className={styles.items}
+                onClick={() => {
+                  setDetailModalOpt({
+                    open: true,
+                    title: '应急保障',
+                    eventId: '',
+                  });
+                }}
+              >
                 <div className={styles.icon}>
                   <img src={item.icon} alt="" className={styles.img} />
                 </div>
@@ -101,11 +266,72 @@ return [{
               chartStyle={{ width: 125, height: 134 }}
               labelClassName={styles.labelClassName}
               labelStyle={{ height: 175, overflow: 'auto', width: 150 }}
-              data={pieData||[]}
+              data={pieData || []}
             />
           </div>
         </div>
       </div>
+      <Modal
+        open={detailModalOpt?.open}
+        title={detailModalOpt.title}
+        onCancel={() => {
+          setDetailModalOpt({
+            open: false,
+            title: '事件详情',
+            eventId: '',
+          });
+        }}
+        width={1550}
+        height={850}
+      >
+        <div className={styles.modalWarp}>
+          <div className={styles.searchWarp}>
+            <Tabs
+              size="large"
+              defaultActiveKey="1"
+              centered
+              items={[
+                { key: '1', label: '应急防护物资' },
+                { key: '2', label: '运输保障物资' },
+                { key: '3', label: '生活救生物资' },
+                { key: '4', label: '其他物资' },
+              ]}
+              onChange={(e) => {}}
+            />
+            <Input
+              style={{
+                width: 250,
+                background: 'rgba(50, 111, 167, 0.3)',
+                borderRadius: 20,
+                border: 'rgb(50, 111, 167)',
+                marginLeft: 20,
+              }}
+              onChange={InputChange}
+              placeholder="请输入名称搜索"
+              suffix={<SearchOutlined />}
+            ></Input>
+          </div>
+          <CommonTable
+            dataSource={dataSource}
+            columns={columns}
+            scroll={{ x: 700, y: 550 }}
+            pagination={{
+              total: dataSource?.length,
+              pageSize: searchData?.count,
+              showQuickJumper: false,
+              showSizeChanger: false,
+              onChange: (page, pageSize) => {
+                setSearchData({
+                  ...searchData,
+                  page: page,
+                  count: pageSize,
+                });
+              },
+              //  hideOnSinglePage: true,
+            }}
+          />
+        </div>
+      </Modal>
     </div>
   );
 };
diff --git a/src/pages/SecurityServiceOverview/SecurityState/RightLayout/RiskNotice/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/RightLayout/RiskNotice/index.tsx
index 643678b3cb3c137ca852f99819afd2126bdf52d6..0a630a828ea537de86ace8e763ebbe2565dec762 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/RightLayout/RiskNotice/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/RightLayout/RiskNotice/index.tsx
@@ -221,8 +221,8 @@ const RiskNotice: React.FC = () => {
             eventId: '',
           });
         }}
-        width={1144}
-        height={740}
+        width={2650}
+        height={900}
       >
         {detailModalOpt?.open && (
           <BaseInfo
diff --git a/src/pages/SecurityServiceOverview/SecurityState/RightLayout/WeatherCard/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/RightLayout/WeatherCard/index.tsx
index 0dcde3b3230a7187d7ab1a44a8ba2ae78cffa6a9..beb0839c56d7690bf31158b681f36fd618f75bf0 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/RightLayout/WeatherCard/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/RightLayout/WeatherCard/index.tsx
@@ -2,7 +2,10 @@ import { RightOutlined } from '@ant-design/icons';
 import styles from './index.less';
 import { Modal } from 'antd';
 import { useState } from 'react';
+import SafetyModal from '../../SafetyTips/SafetyModal';
 const WeatherCard = () => {
+  const [selectedCarouselItem, setSelectedCarouselItem] = useState<any>(null);
+  const [isModalOpen, setIsModalOpen] = useState(false);
   const [riskModalOpt, setRiskModalOpt] = useState<{
     open: boolean;
     title: string;
@@ -16,39 +19,52 @@ const WeatherCard = () => {
         <div className={styles.title}>
           气象预警<div className={styles.warnCount}>11</div>
         </div>
-        <div className={styles.link}>
+        {/* <div className={styles.link}>
           <RightOutlined style={{ color: 'white' }} />
-        </div>
+        </div> */}
       </div>
       <div className={styles.content}>
         {[
           {
             icon: '',
-            label: '简阳市 大风蓝色预警大风蓝色预警',
+            title: '简阳市 大风蓝色预警大风蓝色预警',
             time: '2024-10-10 12:20:20',
           },
           {
             icon: '',
-            label: '简阳市 大风蓝色预警',
+            title: '简阳市 大风蓝色预警',
             time: '2024-10-10 12:20:20',
           },
           {
             icon: '',
-            label: '简阳市 大风蓝色预警',
+            title: '简阳市 大风蓝色预警',
             time: '2024-10-10 12:20:20',
           },
         ]?.map((item) => {
           return (
-            <div className={styles.items}>
+            <div className={styles.items} onClick={()=>{
+              setSelectedCarouselItem(item);
+              setIsModalOpen(true);
+            }}>
               <img src="" alt="" className={styles.img} />
               <div className={styles.rwarp}>
-                <div className={styles.title}>{item?.label}</div>
+                <div className={styles.title}>{item?.title}</div>
                 <div className={styles.time}>{item?.time}</div>
               </div>
             </div>
           );
         })}
       </div>
+      {selectedCarouselItem && (
+        <SafetyModal
+          data={selectedCarouselItem}
+          open={isModalOpen}
+          onCancel={()=>{
+            setIsModalOpen(false);
+            setSelectedCarouselItem(null);
+          }}
+        />
+      )}
        {/**风险预警 */}
        <Modal
         open={riskModalOpt?.open}
diff --git a/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.less b/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.less
index 3edb99766d766ffae8b5e42e29f4dd94cdcf54c5..359def962559ffe89f372f6d31fa99a372241480 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.less
+++ b/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.less
@@ -9,7 +9,7 @@
     .tag {
         padding: 0 20px;
         background-color: rgba(62, 146, 199, 0.401);
-        width: 220px;
+        width: 170px;
         height: 50px;
         border-radius: 17px 0px 25.5px 0px;
         color: rgb(255, 255, 255);
diff --git a/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.tsx
index 1ee4119151b9b21295f840ca64d6d5a8c27a9824..b5ed85843df60227c4764cb7e18a6476b629a2db 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/SafetyAccident/index.tsx
@@ -35,7 +35,7 @@ const SafetyAccident = () => {
 
   return (
     <div className={styles.container}>
-      <div className={styles.tag}>安全事故通报</div>
+      <div className={styles.tag}>安全事故</div>
 
      {data?.data?.records?.length? <div className={styles.content}>
         {data?.data?.records?.map((item: any) => {
diff --git a/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.less b/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.less
index 73febf7d3303396a001d8c035d486591b4674595..51e5bda4f7e7d3bffa7ff59522c98f88f6fcf2ed 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.less
+++ b/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.less
@@ -9,7 +9,7 @@
     .tag {
         padding: 0 20px;
         background-color: rgba(62, 146, 199, 0.401);
-        width: 220px;
+        width: 170px;
         height: 50px;
         border-radius: 17px 0px 25.5px 0px;
         color: rgb(255, 255, 255);
diff --git a/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.tsx
index 6de7561948d8c5f8f6ec0cb5ed855f8d36860b10..d9d1a1947011824e5b8239d94894c684f32abaed 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/SafetyTips/index.tsx
@@ -3,8 +3,8 @@ import { useRequest } from 'ahooks';
 import { Carousel, Typography } from 'antd';
 import dayjs from 'dayjs';
 import { useState } from 'react';
-import SafetyModal from './SafetyModal';
 import styles from './index.less';
+import SafetyModal from './SafetyModal';
 import SafetyTipItem from './SafetyTipItem';
 
 const { Paragraph } = Typography;
@@ -24,7 +24,7 @@ const SafetyTips = () => {
       },
     ],
   });
-  
+
   const { data } = useRequest(services.Information.getArticleList, {
     defaultParams: [
       {
@@ -37,7 +37,6 @@ const SafetyTips = () => {
     ],
   });
 
-
   const handleCarouselItemClick = (item: any) => {
     setSelectedCarouselItem(item);
     setIsModalOpen(true);
@@ -50,12 +49,15 @@ const SafetyTips = () => {
 
   return (
     <div className={styles.container}>
-      <div className={styles.tag}>安全工作提示</div>
+      <div className={styles.tag}>安全工作</div>
       <div className={styles.content}>
         <Carousel autoplay style={{ width: 274 }}>
           {BigImgData?.data?.records?.map((item: any) => {
             return (
-              <div className={styles.carouselItem} onClick={() => handleCarouselItemClick(item)}>
+              <div
+                className={styles.carouselItem}
+                onClick={() => handleCarouselItemClick(item)}
+              >
                 <img src={item?.coverList?.[0]} alt="" className={styles.img} />
                 <div className={styles.desc}>
                   <Paragraph
diff --git a/src/pages/SecurityServiceOverview/SecurityState/index.tsx b/src/pages/SecurityServiceOverview/SecurityState/index.tsx
index 52a9d27f4bf51237ed349e37861c2f26addf1222..c0c6130ce63fa86f5b27573e9cf7cd975966ede7 100644
--- a/src/pages/SecurityServiceOverview/SecurityState/index.tsx
+++ b/src/pages/SecurityServiceOverview/SecurityState/index.tsx
@@ -20,7 +20,7 @@ export const StateMap = {
 };
 
 const SecurityState = () => {
-  const { data: tree } = useRequest(services.CityRiskApi.getTree);
+
   const [warnLevel, setWarnLevel] = useState(2);
 
   return (
@@ -28,8 +28,8 @@ const SecurityState = () => {
       {/* 左侧 */}
       <div className={styles.leftWrap}>
         <SecurityCqi warnLevel={warnLevel}/>
-        <IndustryWarn data={tree} warnLevel={warnLevel} setWarnLevel={setWarnLevel}/>
-        <FacilityWarn data={tree} warnLevel={warnLevel} setWarnLevel={setWarnLevel}/>
+        <IndustryWarn  warnLevel={warnLevel} setWarnLevel={setWarnLevel}/>
+        <FacilityWarn warnLevel={warnLevel} setWarnLevel={setWarnLevel}/>
       </div>
       {/* 地图 */}
       <div className={styles.mapCenter}>
diff --git a/src/pages/SecurityServiceOverview/components/BaseInfo/Casecirculation/index.tsx b/src/pages/SecurityServiceOverview/components/BaseInfo/Casecirculation/index.tsx
index 0da8741b1a571698ed060ce441965bf4f2045a93..37b9e0e887a8d2d471fe87c52739e21903a99937 100644
--- a/src/pages/SecurityServiceOverview/components/BaseInfo/Casecirculation/index.tsx
+++ b/src/pages/SecurityServiceOverview/components/BaseInfo/Casecirculation/index.tsx
@@ -120,7 +120,7 @@ const CulationComponent = forwardRef<CulationComponentRef, culationProps>(
           align="center"
         >
           <div className={styles.titleWrap}>
-            <span>办理经过</span>
+            <span>风险处置流程</span>
           </div>
 
           <Space>
diff --git a/src/pages/SecurityServiceOverview/components/BaseInfo/DetMap/index.less b/src/pages/SecurityServiceOverview/components/BaseInfo/DetMap/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..05e1cc68135cd9f08d40e8f05110c99597601100
--- /dev/null
+++ b/src/pages/SecurityServiceOverview/components/BaseInfo/DetMap/index.less
@@ -0,0 +1,6 @@
+.container{
+    width: 1600px;
+    height: 100%;
+    overflow: hidden;
+  
+}
\ No newline at end of file
diff --git a/src/pages/SecurityServiceOverview/components/BaseInfo/DetMap/index.tsx b/src/pages/SecurityServiceOverview/components/BaseInfo/DetMap/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..a559de28ef6af06520192ec48b17797ac5049c1e
--- /dev/null
+++ b/src/pages/SecurityServiceOverview/components/BaseInfo/DetMap/index.tsx
@@ -0,0 +1,130 @@
+import { CSSProperties, Fragment, useRef, useState } from 'react';
+// import { CustomOverlay, Polygon } from 'react-bmapgl';
+import blueBg from '@/assets/images/SecurityServiceOverview/right/blueBg.png';
+import orangeBg from '@/assets/images/SecurityServiceOverview/right/orangeBg.png';
+import redBg from '@/assets/images/SecurityServiceOverview/right/redBg.png';
+import yellowBg from '@/assets/images/SecurityServiceOverview/right/yellowBg.png';
+import CooglMap from '@/components/CooglMap';
+import services from '@/services';
+import { useRequest } from '@umijs/max';
+import { Flex } from 'antd';
+
+import styles from './index.less';
+const DetMap = () => {
+  const colorConfig: Record<
+    string,
+    {
+      color: CSSProperties['color'];
+      bg: string;
+      icon: string;
+    }
+  > = {
+    红色风险: {
+      //红色风险
+      color: '#FFBCBC',
+      bg: redBg,
+      icon: 'redIcon',
+    },
+    橙色风险: {
+      //橙色风险
+      color: '#FDDFCE',
+      bg: orangeBg,
+      icon: 'orangeIcon',
+    },
+    黄色风险: {
+      //黄色风险
+      color: '#FFE892',
+      bg: yellowBg,
+      icon: 'yellowIcon',
+    },
+    一般风险: {
+      //一般风险
+      color: '#BFE4FF',
+      bg: blueBg,
+      icon: 'blueIcon',
+    },
+  };
+
+  const MapRef = useRef<any>();
+
+  const [searchParams, setSearchParams] = useState({
+    parentTypeCode: 'dlql',
+    lat: 30.680193,
+    lon: 104.075555,
+    distance: 1000,
+    page: 1,
+    count: 100,
+  });
+  // 事件详情弹窗
+  const [detailModalOpt, setDetailModalOpt] = useState<any>({
+    open: false,
+    title: '',
+    eventId: '',
+  });
+  const [wayModalOpt, setWayModalOpt] = useState<{
+    open: boolean;
+    title: string;
+  }>({
+    open: false,
+    title: '道路桥梁情况',
+  });
+  const { data: mapMark } = useRequest(
+    () => services.CityRiskApi.findListForMap(searchParams),
+    {
+      refreshDeps: [searchParams],
+    },
+  );
+  //safetyRiskEventMap
+  const { data: warnMark } = useRequest(
+    () => services.CityRiskApi.safetyRiskEventMap(searchParams),
+    {
+      refreshDeps: [searchParams],
+    },
+  );
+
+ 
+  return (
+    <div className={styles.container}>
+      <div style={{ width: '100%', height: 500 }}>
+        <CooglMap.MapView
+          zoom={13}
+          ref={MapRef}
+          // center={{ x: 104.066349, y: 30.658842 }}
+          center={{ x: 104.9, y: 30.5 }}
+          showCustomComponent={false}
+        >
+          <Fragment>
+            {warnMark?.items?.map((item: any, index: number) => {
+              const point = [Number(item?.x_pos), Number(item?.y_pos)];
+
+              return (
+                <CooglMap.CustomOverlay
+                  key={index}
+                  position={point}
+                  onSet={() => {
+                    setDetailModalOpt({
+                      open: true,
+                      eventId: item?.riskId,
+                      ...item,
+                    });
+                  }}
+                >
+                  <img
+                    data-event-key="set"
+                    src={require(`@/assets/images/SecurityServiceOverview/right/${
+                      colorConfig[item?.riskLevel]?.icon
+                    }.png`)}
+                    alt=""
+                    style={{ width: 52, height: 52, zIndex: 999 }}
+                  />
+                </CooglMap.CustomOverlay>
+              );
+            })}
+          </Fragment>
+        </CooglMap.MapView>
+      </div>
+    </div>
+  );
+};
+
+export default DetMap;
diff --git a/src/pages/SecurityServiceOverview/components/BaseInfo/index.less b/src/pages/SecurityServiceOverview/components/BaseInfo/index.less
index ad7aed2559e6693621921dde11a549a3d112ba36..6a6e42995138af4bd22d318424cb85389bf34194 100644
--- a/src/pages/SecurityServiceOverview/components/BaseInfo/index.less
+++ b/src/pages/SecurityServiceOverview/components/BaseInfo/index.less
@@ -1,14 +1,16 @@
 .baseInfoWrap {
   width: 100%;
   height: 100%;
+  display: flex;
+  justify-content: space-between;
 }
 
-.left {
-  width: 410px;
-  height: 100%;
-  position: relative;
-  display: flex;
-  flex-direction: column;
+.imgWarp {
+  position: absolute;
+  left: -550px;
+  z-index: 9999;
+
+  width: 504px;
 
   .tag {
     position: absolute;
@@ -31,6 +33,35 @@
     overflow: hidden;
   }
 
+}
+
+.left {
+  width: 540px;
+  height: 100%;
+  position: relative;
+  display: flex;
+  flex-direction: column;
+
+
+  .lineWarp {
+    width: 540px;
+    height: 406px;
+    border-radius: 20px;
+    background-color: rgba(57, 122, 183, 0.325);
+    padding: 20px;
+
+    .titleWarp {
+      width: 304px;
+      height: 48px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      background-color: rgba(13, 50, 84, 0.487);
+      border-radius: 10px;
+      font-size: 20px;
+    }
+  }
+
   .info {
     border-radius: 20px;
     height: 100%;
@@ -83,6 +114,7 @@
 }
 
 .right {
-  flex: 1;
+
   height: 100%;
+  width: 619px;
 }
\ No newline at end of file
diff --git a/src/pages/SecurityServiceOverview/components/BaseInfo/index.tsx b/src/pages/SecurityServiceOverview/components/BaseInfo/index.tsx
index 4ab84052756a1f3cdccc5e0e0f75cbc4d40e4ed0..561ed1250e9128a4f877905e0c8b7da217933ba6 100644
--- a/src/pages/SecurityServiceOverview/components/BaseInfo/index.tsx
+++ b/src/pages/SecurityServiceOverview/components/BaseInfo/index.tsx
@@ -3,9 +3,11 @@ import LabelImgText from '@/components/LabelImgText';
 import services from '@/services';
 import { imageOptions } from '@/utils/comm';
 import { useRequest } from '@umijs/max';
-import { Carousel, Flex, Image } from 'antd';
+import { Carousel, Image } from 'antd';
 import Casecirculation from './Casecirculation';
+import DetMap from './DetMap';
 import styles from './index.less';
+import LineCharts from '../../SecurityState/SecurityCqi/LineCharts';
 const BaseInfo: React.FC<{
   eventId: string;
   detail: any;
@@ -36,8 +38,8 @@ const BaseInfo: React.FC<{
     fontSize: 16,
   };
   return (
-    <Flex className={styles.baseInfoWrap} gap={20}>
-      <div className={styles.left}>
+    <div className={styles.baseInfoWrap}>
+      <div className={styles.imgWarp}>
         <span className={styles.tag}>{data?.report_object}</span>
         <Carousel autoplay autoplaySpeed={5000}>
           {[data?.photosZWW]?.map((item) => {
@@ -55,6 +57,14 @@ const BaseInfo: React.FC<{
             );
           })}
         </Carousel>
+      </div>
+      <div className={styles.left}>
+        <div className={styles.lineWarp}>
+<div className={styles.titleWarp}>
+感知源上报-东侧位移监测设备
+</div>
+<LineCharts></LineCharts>
+        </div>
         <div className={styles.info}>
           <LabelImgText
             label={'预警时间:'}
@@ -63,7 +73,7 @@ const BaseInfo: React.FC<{
             labelStyle={labelStyle}
           />
           <LabelImgText
-            label={'预警地址:'}
+            label={'持续时长'}
             value={data?.position}
             valueStyle={valueStyle}
             labelStyle={labelStyle}
@@ -73,6 +83,12 @@ const BaseInfo: React.FC<{
             value={data?.warning_context}
             valueStyle={valueStyle}
             labelStyle={labelStyle}
+          />
+           <LabelImgText
+            label={'研判分析'}
+            value={data?.warning_context}
+            valueStyle={valueStyle}
+            labelStyle={labelStyle}
           />
           {/* <h4>位移量(CM)</h4>
           <Flex className={styles.monitorWrap} gap={15} align="center">
@@ -88,9 +104,10 @@ const BaseInfo: React.FC<{
           </Flex> */}
         </div>
       </div>
+      <DetMap />
       <div className={styles.right}>
         <Casecirculation
-          casecirculationRecordData={data?.recordList?.map((item) => ({
+          casecirculationRecordData={data?.recordList?.map((item: any) => ({
             ...item,
             remark: item?.remarks,
             operationType: item?.dealingStatus,
@@ -101,7 +118,7 @@ const BaseInfo: React.FC<{
           }))}
         />
       </div>
-    </Flex>
+    </div>
   );
 };
 
diff --git a/src/pages/SecurityServiceOverview/components/IndustrySign/index.less b/src/pages/SecurityServiceOverview/components/IndustrySign/index.less
index cd3c7fab2da2a4e1e53002a5ebfcac138eecbf76..c8bfbcf0cf8bdebd607c195294d07bcd67f5d2d8 100644
--- a/src/pages/SecurityServiceOverview/components/IndustrySign/index.less
+++ b/src/pages/SecurityServiceOverview/components/IndustrySign/index.less
@@ -72,6 +72,9 @@
         }
       }
     }
+    .searchWarp{
+      display: flex;
+    }
     :global {
       .ant-tabs {
         .ant-tabs-nav {
diff --git a/src/pages/SecurityServiceOverview/components/IndustrySign/index.tsx b/src/pages/SecurityServiceOverview/components/IndustrySign/index.tsx
index 9c8c89b593268a4cf9764e771f7f0b94c4c2b71b..aa11887e5973db494e42ee1ed6858b01e6a07bfb 100644
--- a/src/pages/SecurityServiceOverview/components/IndustrySign/index.tsx
+++ b/src/pages/SecurityServiceOverview/components/IndustrySign/index.tsx
@@ -1,17 +1,17 @@
+import CommonTable from '@/components/CommonTable';
 import Modal from '@/components/HncyModal';
+import Tabs from '@/components/Tabs';
 import BaseCard from '@/pages/Common/components/BaseCard';
-import LineCharts from '@/pages/SecurityServiceOverview/SecurityState/SecurityCqi/LineCharts';
 import services from '@/services';
-import { getCqiStatusStyle } from '@/utils/ui';
+import { SearchOutlined } from '@ant-design/icons';
 import { useModel } from '@umijs/max';
-import { useRequest } from 'ahooks';
-import { Flex } from 'antd';
+import { useDebounceFn, useRequest } from 'ahooks';
+import { Flex, Input } from 'antd';
 import { useState } from 'react';
 import { colorConfig } from '../../SecurityState/RightLayout/RiskNotice';
 import BaseInfo from '../BaseInfo';
-import EventPicList from '../EventPicList';
 import styles from './index.less';
-
+import { log } from 'echarts/types/src/util/log.js';
 /**
  *
  * @description 行业体征部分
@@ -29,6 +29,11 @@ const IndustrySign = ({ param }: { param: any }) => {
     yyrq: '208', //油烟
     zm: '203', //照明
   };
+  const [searchData, setSearchData] = useState({
+    page: 1,
+    count: 10,
+  });
+
   //事件列表
   const [listData, setListData] = useState<any>({
     items: [],
@@ -103,10 +108,138 @@ const IndustrySign = ({ param }: { param: any }) => {
       </Flex>
     );
   };
+  const dataSource = [
+    {
+      key: '1',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '2',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '3',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '4',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '5',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '6',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '7',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '8',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '9',
+      name: '胡彦斌',
+      age: 32,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '10',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+    {
+      key: '11',
+      name: '胡彦祖',
+      age: 42,
+      address: '西湖区湖底公园1号',
+    },
+  ];
+
+  const columns = [
+    {
+      title: '序号',
+      dataIndex: 'name',
+      key: 'name',
+      width: 80,
+      ellipsis: true,
+      render: (text, record, index) => {
+        // 当前页码减1,乘以每页数量,再加上当前行的索引加1
+        return `${(searchData?.page - 1) * dataSource?.length + (index + 1)}`;
+      },
+    },
+    {
+      width: 180,
+      ellipsis: true,
+      title: '桥梁名称',
+      dataIndex: 'name',
+      key: 'name',
+    },
+    {
+      width: 150,
+      ellipsis: true,
+      title: '桥梁类型',
+      dataIndex: 'age',
+      key: 'age',
+    },
+    {
+      title: '状态',
+      dataIndex: 'address',
+      key: 'address',
+      width: 80,
+      render: () => {
+        return;
+      },
+    },
+    {
+      title: '管理单位',
+      dataIndex: 'age',
+      key: 'age',
+      width: 200,
+      ellipsis: true,
+    },
+    {
+      title: '位置',
+      dataIndex: 'age',
+      key: 'age',
+      width: 300,
+      ellipsis: true,
+    },
+  ];
+  const { run:InputChange } = useDebounceFn(
+    (e) => {
+     console.log(e.target.value);
+     
+    },
+    {
+      wait: 500,
+    },
+  );
   return (
     <Flex gap={28} className={styles.wrap}>
       <Flex vertical gap={15} className={styles.left}>
-        <BaseCard
+        {/* <BaseCard
           
           title={param?.title+"指数"}
           height={304}
@@ -158,9 +291,33 @@ const IndustrySign = ({ param }: { param: any }) => {
               }}
             />
           </div>
+        </BaseCard> */}
+        <BaseCard
+          title={param?.title + '概况'}
+          height={300}
+          style={{
+            paddingTop: 20,
+          }}
+        >
+          <div className={styles.list}>
+            {param?.parentData?.children?.map((item, index) => (
+              <Flex
+                className={styles.listItem}
+                justify="space-between"
+                align="center"
+                key={index}
+              >
+                <span className={styles.name}>{item?.typeName}</span>
+                <span>
+                  <span className={styles.num}>{item.total}</span>
+                  <span>个</span>
+                </span>
+              </Flex>
+            ))}
+          </div>
         </BaseCard>
         <BaseCard
-          title={param?.title+"风险源"}
+          title={param?.title + '类型'}
           height={394}
           style={{
             paddingTop: 20,
@@ -185,46 +342,51 @@ const IndustrySign = ({ param }: { param: any }) => {
         </BaseCard>
       </Flex>
       <div className={styles.right}>
-        {/* <Flex className={styles.top} justify='space-between'>
-          <Flex
-            align='center'
-            justify='space-between'
-            className={styles.card}
-            style={{ background: 'rgba(39, 211, 134, 0.2)' }}
-          >
-            <span>
-              <img src={a3} alt="" />
-              <span className={styles.name}>桥梁管理指数</span>
-            </span>
-            <span className={styles.num} style={{ color: '#57EF58' }}>99.5</span>
-          </Flex>
-          <Flex
-            align='center'
-            justify='space-between'
-            className={styles.card}
-            style={{ background: 'rgba(255, 188, 130, 0.2)' }}
-          >
-            <span>
-              <img src={a2} alt="" />
-              <span className={styles.name}>道路管理指数</span>
-            </span>
-            <span className={styles.num} style={{ color: '#FFA250' }}>99.5</span>
-          </Flex>
-          <Flex
-            align='center'
-            justify='space-between'
-            className={styles.card}
-            style={{ background: 'rgba(130, 173, 255, 0.2)' }}
-          >
-            <span>
-              <img src={a1} alt="" />
-              <span className={styles.name}>占道挖掘指数</span>
-            </span>
-            <span className={styles.num} style={{ color: '#447FF0' }}>99.5</span>
-          </Flex>
-        </Flex> */}
-        {/* <Tabs size="large" defaultActiveKey="1" centered items={tabItems} /> */}
-        <EventPicList
+        <div className={styles.searchWarp}>
+          <Tabs
+            size="large"
+            defaultActiveKey="1"
+            centered
+            items={[
+              { key: '1', label: '全部' },
+              { key: '2', label: '异常' },
+              { key: '3', label: '正常' },
+            ]}
+            onChange={(e) => {}}
+          />
+          <Input
+            style={{
+              width: 250,
+              background: 'rgba(50, 111, 167, 0.3)',
+              borderRadius: 20,
+              border: 'rgb(50, 111, 167)',
+              marginLeft: 20,
+            }}
+            onChange={InputChange}
+            placeholder="请输入名称搜索"
+            suffix={<SearchOutlined />}
+          ></Input>
+        </div>
+        <CommonTable
+          dataSource={dataSource}
+          columns={columns}
+          scroll={{ x: 700, y: 550 }}
+          pagination={{
+            total: dataSource?.length,
+            pageSize: searchData?.count,
+            showQuickJumper: false,
+            showSizeChanger: false,
+            onChange: (page, pageSize) => {
+              setSearchData({
+                ...searchData,
+                page: page,
+                count: pageSize,
+              });
+            },
+            //  hideOnSinglePage: true,
+          }}
+        />
+        {/* <EventPicList
           listData={listData}
           listHeight={700}
           setParams={(data) => {
@@ -237,7 +399,7 @@ const IndustrySign = ({ param }: { param: any }) => {
               ...details,
             });
           }}
-        />
+        /> */}
       </div>
       {/* 事件详情 */}
       <Modal
@@ -250,8 +412,8 @@ const IndustrySign = ({ param }: { param: any }) => {
             eventId: '',
           });
         }}
-        width={1144}
-        height={740}
+        width={2650}
+        height={900}
       >
         {detailModalOpt?.open && (
           <BaseInfo
diff --git a/src/pages/SecurityServiceOverview/components/RiskWarn/index.tsx b/src/pages/SecurityServiceOverview/components/RiskWarn/index.tsx
index d6cfa7baa9fa79426025f834ddcbcbbe756d56ef..9064a4e6963ffed943d63e123c0c04078854f5ae 100644
--- a/src/pages/SecurityServiceOverview/components/RiskWarn/index.tsx
+++ b/src/pages/SecurityServiceOverview/components/RiskWarn/index.tsx
@@ -118,8 +118,8 @@ const RiskWarn = ({ riskModalOpt }: { riskModalOpt: any }) => {
             eventId: '',
           });
         }}
-        width={1144}
-        height={740}
+        width={2650}
+        height={900}
       >
         {detailModalOpt?.open && (
           <BaseInfo