diff --git a/src/components/HncyModal/index.less b/src/components/HncyModal/index.less
index eb9bf66d04e33e2f2d10df5382446c093368930b..4fabf5e8e65e4ee0a26d1236d3fd55c8fd878f4d 100644
--- a/src/components/HncyModal/index.less
+++ b/src/components/HncyModal/index.less
@@ -6,6 +6,7 @@
.otherContent {
position: relative;
z-index: 1;
+ height: 100%;
border-radius: 30px;
padding: 20px 30px;
}
@@ -53,6 +54,7 @@
width: auto;
padding-top: 20px;
box-sizing: border-box;
+ overflow: hidden;
}
:global {
diff --git a/src/components/HncyModal/index.tsx b/src/components/HncyModal/index.tsx
index f6372235d28c10532c0cd45b9249371b4a94a905..c17bc2cdad85ad07cdc1690fd537524132dd1bea 100644
--- a/src/components/HncyModal/index.tsx
+++ b/src/components/HncyModal/index.tsx
@@ -44,7 +44,7 @@ const HncyModal = (props: HncyModalProps) => {
style={{ height, minHeight, padding, ...bodyStyle }}
>
-
+
{showHeader && (
{titleRender ? titleRender() : title &&
{title}
}
@@ -53,7 +53,7 @@ const HncyModal = (props: HncyModalProps) => {
{children}
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/components/BaseCard/index.less b/src/pages/GlobalModalServices/components/BaseCard/index.less
similarity index 100%
rename from src/pages/GlobalModalServices/modals/UrbanLighting/components/BaseCard/index.less
rename to src/pages/GlobalModalServices/components/BaseCard/index.less
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/components/BaseCard/index.tsx b/src/pages/GlobalModalServices/components/BaseCard/index.tsx
similarity index 100%
rename from src/pages/GlobalModalServices/modals/UrbanLighting/components/BaseCard/index.tsx
rename to src/pages/GlobalModalServices/components/BaseCard/index.tsx
diff --git a/src/pages/GlobalModalServices/components/TopSarch/index.tsx b/src/pages/GlobalModalServices/components/TopSarch/index.tsx
index 320db3110248506d2448d4a475e0bf5bb52bd4f7..ab625bf5ecb148127dc480548ae29dcf0c4e85aa 100644
--- a/src/pages/GlobalModalServices/components/TopSarch/index.tsx
+++ b/src/pages/GlobalModalServices/components/TopSarch/index.tsx
@@ -3,7 +3,13 @@ import { DatePicker } from 'antd';
import dayjs from 'dayjs';
import styles from './index.less';
const { RangePicker } = DatePicker;
-const TopSarch = ({ onChange,items }: { onChange: (val: any) => void ,items?:any[]}) => {
+const TopSarch = ({
+ onChange,
+ items,
+}: {
+ onChange: (val: any) => void;
+ items?: any[];
+}) => {
return (
void ,items?:any
onChange={(e) => {
if (e === 'day') {
onChange({
- key:'day',
+ key: 'day',
startTime: dayjs().format('YYYY-MM-DD'),
endTime: dayjs().format('YYYY-MM-DD'),
});
}
if (e === 'month') {
onChange({
- key:'month',
+ key: 'month',
startTime: dayjs().startOf('month').format('YYYY-MM-DD'),
endTime: dayjs().endOf('month').format('YYYY-MM-DD'),
});
}
if (e === 'year') {
onChange({
- key:'year',
+ key: 'year',
startTime: dayjs().startOf('year').format('YYYY-MM-DD'),
endTime: dayjs().endOf('year').format('YYYY-MM-DD'),
});
}
}}
itemkey={'key'}
- items={items||[
- {
- key: 'day',
- label: '今日',
- },
- {
- key: 'month',
- label: '本月',
- },
- {
- key: 'year',
- label: '本年',
- },
- ]}
+ items={
+ items || [
+ {
+ key: 'day',
+ label: '今日',
+ },
+ {
+ key: 'month',
+ label: '本月',
+ },
+ {
+ key: 'year',
+ label: '本年',
+ },
+ ]
+ }
/>
{
console.log(e);
- if(e?.length){
+ if (e?.length) {
onChange({
- startTime: e[0].format('YYYY-MM-DD'),
- endTime: e[1].format('YYYY-MM-DD'),
+ startTime: e[0]?.format('YYYY-MM-DD'),
+ endTime: e[1]?.format('YYYY-MM-DD'),
});
}
-
}}
/>
diff --git a/src/pages/GlobalModalServices/index.tsx b/src/pages/GlobalModalServices/index.tsx
index a4469d503bc6dfd167a59ad319f9daf3e7f92fd8..a9ffb228d15f7eb5920399edf0f4f770737ca7d5 100644
--- a/src/pages/GlobalModalServices/index.tsx
+++ b/src/pages/GlobalModalServices/index.tsx
@@ -39,6 +39,11 @@ const GlobalModalServices: React.ForwardRefRenderFunction<
Record
>({});
+ /** 同一维度相同类型弹窗只能存在一个 */
+ const popupExistsCheck = (thread: string, modalType: string) => {
+ return modalStack[thread]?.some((modal) => modal.modalKey === modalType);
+ };
+
/** @see GlobalModalServicesModalMethods.push */
const push = useCallback(
(modalKey: ModalKey, config?: GlobalModalConfig, thread = 0) => {
@@ -72,6 +77,13 @@ const GlobalModalServices: React.ForwardRefRenderFunction<
component: curModal?.modal ?? config?.component,
};
+ if (popupExistsCheck(threadStr, modalKey)) {
+ console.warn(
+ '同一维度弹窗已存在,请勿重复创建,如果你需要创建弹窗,请使用go方法,或者新增维度',
+ );
+ return null;
+ }
+
setModalStack((pre) => {
const temp = cloneDeep(pre);
if (temp[threadStr]) {
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Info/index.less b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Info/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..1c3e4d7d17b9f7f47b3c3520bd7855ff2a4c8b9e
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Info/index.less
@@ -0,0 +1,28 @@
+.item {
+ border-radius: 20px;
+ background: rgba(57, 122, 183, 20%);
+ height: 86px;
+ width: 294px;
+ padding: 0 24px;
+
+ > :first-child {
+ color: rgb(203, 237, 255);
+ font-family: DingTalk JinBuTi;
+ font-size: 22px;
+ }
+
+ > :last-child {
+ > span:nth-of-type(1) {
+ color: rgb(89, 238, 255);
+ font-family: D-DIN;
+ font-size: 26px;
+ font-weight: 700;
+ }
+
+ > span:nth-of-type(2) {
+ color: rgb(188, 206, 233);
+ font-size: 18px;
+ margin-left: 24px;
+ }
+ }
+}
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Info/index.tsx b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Info/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..e482a3e54fa383fb77be61af004d923e83266e54
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Info/index.tsx
@@ -0,0 +1,30 @@
+import BaseCard from '@/pages/GlobalModalServices/components/BaseCard';
+import { Flex } from 'antd';
+import React, { memo } from 'react';
+import styles from './index.less';
+
+/** @name 照明故障总数 */
+const Info: React.FC = memo(() => {
+ return (
+
+
+
+ 处置中
+
+ 1563
+ 件
+
+
+
+ 已处置
+
+ 1563
+ 件
+
+
+
+
+ );
+});
+
+export default Info;
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/ListTable/index.less b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/ListTable/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..a8e2242b1055229d583ffa1aa81c1094e8ca8dcc
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/ListTable/index.less
@@ -0,0 +1,3 @@
+.container {
+ flex: 1;
+}
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/ListTable/index.tsx b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/ListTable/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..5f118b9b3a2f40d4ccd1e93d245b32a38c8869e5
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/ListTable/index.tsx
@@ -0,0 +1,99 @@
+import BlueTable from '@/components/BlueTable';
+import Tabs from '@/components/Tabs';
+import { Button, Tag } from 'antd';
+import React from 'react';
+import styles from './index.less';
+
+/** @name 列表 */
+const ListTable: React.FC = () => {
+ const dataSource = [...Array(20)].map(() => {
+ return {
+ startTime: '2023-01-01 00:00:00',
+ title: '给水(输水)管道1',
+ endTime: '2023-01-01 00:00:00',
+ status: 1,
+ type: '管道',
+ whName: '管道1',
+ };
+ });
+ const columns = [
+ {
+ title: '告警发生时间',
+ dataIndex: 'startTime',
+ },
+ {
+ title: '设备名称',
+ dataIndex: 'title',
+ },
+ {
+ title: '故障类型',
+ dataIndex: 'type',
+ },
+ {
+ title: '接单时间',
+ dataIndex: 'endTime',
+ },
+ {
+ title: '维护队名称',
+ dataIndex: 'whName',
+ },
+ {
+ title: '工单状态',
+ dataIndex: 'status',
+ render: (text: number) => {
+ return (
+
+ {text ? '已处置' : '处置中'}
+
+ );
+ },
+ },
+ {
+ title: '操作',
+ render: () => {
+ return (
+
+ );
+ },
+ },
+ ];
+
+ return (
+
+
+
+
+
+ );
+};
+
+export default ListTable;
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/index.less b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/index.tsx b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..3d171edc566bf8b0765f1da61e5905ebbf85573c
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/index.tsx
@@ -0,0 +1,110 @@
+import BaseCard from '@/pages/GlobalModalServices/components/BaseCard';
+import { CaretDownOutlined } from '@ant-design/icons';
+import { Flex, Space } from 'antd';
+import EChartsReact from 'echarts-for-react';
+import { cloneDeep } from 'lodash';
+import React, { memo, useLayoutEffect, useMemo, useRef, useState } from 'react';
+import option from './option';
+
+/** @name 故障趋势 */
+const Trend: React.FC = memo(() => {
+ const [dataSource, setDataSource] = useState({
+ list: [
+ {
+ name: '01-01',
+ value: 100,
+ },
+ {
+ name: '01-02',
+ value: 100,
+ },
+ {
+ name: '01-03',
+ value: 100,
+ },
+ {
+ name: '01-04',
+ value: 100,
+ },
+ ],
+ });
+ const chartRef = useRef();
+ useLayoutEffect(() => {
+ chartRef.current?.resize();
+ }, []);
+
+ const LineOption = useMemo(() => {
+ const temp = cloneDeep(option) as any;
+ const xAxis = dataSource.list?.map((v) => v.name) ?? [];
+
+ temp.xAxis[0].data = xAxis;
+
+ const lineSeries = [
+ {
+ name: '功率',
+ type: 'line',
+ symbol: 'none',
+ stack: 'Total',
+ lineStyle: {
+ color: 'rgb(89, 238, 255)',
+ width: 3,
+ },
+ smooth: true,
+
+ areaStyle: {
+ color: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [
+ {
+ offset: 0,
+ color: 'rgba(89, 238, 255,0.26)', // 0% 处的颜色
+ },
+ {
+ offset: 1,
+ color: 'rgba(89, 238, 255, 0)', // 100% 处的颜色
+ },
+ ],
+ global: false, // 缺省为 false
+ },
+ },
+ data:
+ dataSource.list?.map((item) => {
+ return item.value;
+ }) ?? [],
+ },
+ ];
+ temp.series = lineSeries;
+ return temp;
+ }, [dataSource.list]);
+ return (
+
+ 环比
+
+
+ 0.25
+ %
+
+
+ }
+ >
+
+
+ );
+});
+
+export default Trend;
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/option.ts b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/option.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3806201f72d570fb08e6f57a930ef9ee21f06054
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/Trend/option.ts
@@ -0,0 +1,83 @@
+const option = {
+ color: ['#FFB05A', '#57EFE5', '#5AFF65'],
+ tooltip: {
+ trigger: 'axis',
+ borderWidth: '0',
+ backgroundColor: 'rgba(73,81,92,.95)',
+ formatter: '{b}
{a}: {c} kw',
+ textStyle: {
+ color: '#CBEDFF',
+ fontSize: 16,
+ },
+ },
+ grid: {
+ left: '2%',
+ right: '0',
+ bottom: '2%',
+ top: '20%',
+ containLabel: true,
+ },
+ legend: {
+ data: [],
+ icon: 'roundRect',
+ top: 10,
+ itemGap: 50,
+ textStyle: {
+ fontSize: '16px',
+ color: '#E4EDFF',
+ },
+ },
+ xAxis: [
+ {
+ type: 'category',
+ boundaryGap: true,
+ axisLine: {
+ show: false,
+ },
+ axisLabel: {
+ show: true,
+ textStyle: {
+ padding: [2, 0, 0, 0],
+ color: '#CBEDFF',
+ fontSize: 14,
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisPointer: {
+ type: 'shadow',
+ },
+ data: [],
+ },
+ ],
+ yAxis: [
+ {
+ type: 'value',
+ name: '件',
+ min: 0,
+ interval: 10,
+ axisLabel: {
+ show: false,
+ },
+ nameTextStyle: {
+ align: 'left',
+ color: '#CBEDFF',
+ padding: [0, 0, 20, -20],
+ fontSize: 16,
+ },
+ splitLine: {
+ show: false,
+ },
+ axisLine: {
+ show: false,
+ },
+ axisTick: {
+ show: false,
+ },
+ },
+ ],
+ series: [],
+};
+
+export default option;
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/TypeTop3/index.less b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/TypeTop3/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..f1024c19e04a739eb07c96ed49ddfd96a35b8b4d
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/TypeTop3/index.less
@@ -0,0 +1,26 @@
+.item {
+ margin-bottom: 16px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+
+ .name {
+ color: rgb(228, 237, 255);
+
+ font-size: 20px;
+ }
+
+ .val {
+ color: rgb(89, 238, 255);
+ font-family: D-DIN;
+ font-size: 26px;
+ }
+
+ .unit {
+ color: rgb(188, 206, 233);
+ font-size: 18px;
+ margin-left: 8px;
+ font-weight: 400;
+ }
+}
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/TypeTop3/index.tsx b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/TypeTop3/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..7d7868ca0b13a47b0443e8ccdccf9e9ba2b638f0
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/TypeTop3/index.tsx
@@ -0,0 +1,60 @@
+import BaseCard from '@/pages/GlobalModalServices/components/BaseCard';
+import { Flex, Progress, Space } from 'antd';
+import React, { memo, useState } from 'react';
+import styles from './index.less';
+/** @name 高发类型TOP3 */
+const TypeTop3: React.FC = memo(() => {
+ const [dataSource, setDataSource] = useState([
+ {
+ name: '故障类型1',
+ num: 456,
+ percent: 0.45,
+ },
+ {
+ name: '故障类型2',
+ num: 456,
+ percent: 0.45,
+ },
+ {
+ name: '故障类型3',
+ num: 456,
+ percent: 0.45,
+ },
+ ]);
+
+ return (
+
+ {dataSource.map((item, index) => {
+ return (
+
+
+ {item.name}
+
+
+ {item.num}
+ 件
+
+
+ {item.percent * 100}
+ %
+
+
+
+
+
+ );
+ })}
+
+ );
+});
+
+export default TypeTop3;
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/index.less b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/pages/GlobalModalServices/modals/LightingFaultDisposal/index.tsx b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..107ae90347c6ea5eb30ae7dbbb079356412a783e
--- /dev/null
+++ b/src/pages/GlobalModalServices/modals/LightingFaultDisposal/index.tsx
@@ -0,0 +1,47 @@
+import { Flex } from 'antd';
+import React, { useEffect } from 'react';
+import { ChildrenModalMethods } from '../../type';
+import TopSearch from '../SanitationDisp/TopSarch';
+import styles from './index.less';
+import Info from './Info';
+import ListTable from './ListTable';
+import Trend from './Trend';
+import TypeTop3 from './TypeTop3';
+
+export type LightingFaultDisposalProps = {
+ modalDispatch: ChildrenModalMethods;
+};
+
+/** @name 市管照明故障处置情况 */
+const LightingFaultDisposal: React.FC = (props) => {
+ const { modalDispatch } = props;
+
+ useEffect(() => {
+ modalDispatch.setOptions({
+ headerLeft: () => {
+ return (
+
+ );
+ },
+ });
+ }, []);
+
+ return (
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default LightingFaultDisposal;
diff --git a/src/pages/GlobalModalServices/modals/PipelinePassage/Overview/index.tsx b/src/pages/GlobalModalServices/modals/PipelinePassage/Overview/index.tsx
index fc7552c95cda1a9c05805f7bcd684a0b7cea5216..f57810b1d074939aaa2fd1dd8c63121ea12838f1 100644
--- a/src/pages/GlobalModalServices/modals/PipelinePassage/Overview/index.tsx
+++ b/src/pages/GlobalModalServices/modals/PipelinePassage/Overview/index.tsx
@@ -4,7 +4,7 @@ import classNames from 'classnames';
import EChartsReact from 'echarts-for-react';
import { cloneDeep } from 'lodash';
import React, { memo, useLayoutEffect, useMemo, useRef, useState } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import option, { pieOption } from './option';
/** @name 全市已移交纳入管理综合管廊概况 */
diff --git a/src/pages/GlobalModalServices/modals/PipelinePassage/PipeCorridorSensesTheSituation/index.tsx b/src/pages/GlobalModalServices/modals/PipelinePassage/PipeCorridorSensesTheSituation/index.tsx
index 775492c4402f422b3a0f03de1d7848dab41eb60c..531a903644448fd3906388ad9c6d99dc50e6482a 100644
--- a/src/pages/GlobalModalServices/modals/PipelinePassage/PipeCorridorSensesTheSituation/index.tsx
+++ b/src/pages/GlobalModalServices/modals/PipelinePassage/PipeCorridorSensesTheSituation/index.tsx
@@ -4,7 +4,7 @@ import classNames from 'classnames';
import EChartsReact from 'echarts-for-react';
import { cloneDeep } from 'lodash';
import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import option from './option';
diff --git a/src/pages/GlobalModalServices/modals/PipelinePassage/PipeGalleryMaintenanceStatus/index.tsx b/src/pages/GlobalModalServices/modals/PipelinePassage/PipeGalleryMaintenanceStatus/index.tsx
index ad087729cd47171c38da10a7645af83bba5e66d2..ec11e0a541a09723f20f314c4e20e318239c588d 100644
--- a/src/pages/GlobalModalServices/modals/PipelinePassage/PipeGalleryMaintenanceStatus/index.tsx
+++ b/src/pages/GlobalModalServices/modals/PipelinePassage/PipeGalleryMaintenanceStatus/index.tsx
@@ -3,7 +3,7 @@ import { Flex } from 'antd';
import EChartsReact from 'echarts-for-react';
import { cloneDeep } from 'lodash';
import React, { useLayoutEffect, useMemo, useRef } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import option from './option';
diff --git a/src/pages/GlobalModalServices/modals/PipelinePassage/PipelineSituation/index.tsx b/src/pages/GlobalModalServices/modals/PipelinePassage/PipelineSituation/index.tsx
index cfc04b94ec728d015892a5f3ce3c8b3d66d2df59..4450d03cc2243aa53859d52e8904cdc1781faa20 100644
--- a/src/pages/GlobalModalServices/modals/PipelinePassage/PipelineSituation/index.tsx
+++ b/src/pages/GlobalModalServices/modals/PipelinePassage/PipelineSituation/index.tsx
@@ -2,7 +2,7 @@ import { Badge, Flex } from 'antd';
import EChartsReact from 'echarts-for-react';
import { cloneDeep } from 'lodash';
import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import option from './option';
/** @name 情况 */
diff --git a/src/pages/GlobalModalServices/modals/PipelinePassage/components/BaseCard/index.less b/src/pages/GlobalModalServices/modals/PipelinePassage/components/BaseCard/index.less
deleted file mode 100644
index cbf4150616276f40b43856023d70094068d69926..0000000000000000000000000000000000000000
--- a/src/pages/GlobalModalServices/modals/PipelinePassage/components/BaseCard/index.less
+++ /dev/null
@@ -1,12 +0,0 @@
-.title {
- color: rgb(203, 237, 255);
- font-family: DingTalk JinBuTi;
- font-size: 22px;
- font-weight: 400;
-}
-
-.container {
- border-radius: 20px;
- background: rgba(57, 122, 183, 0.2);
- padding: 20px;
-}
diff --git a/src/pages/GlobalModalServices/modals/PipelinePassage/components/BaseCard/index.tsx b/src/pages/GlobalModalServices/modals/PipelinePassage/components/BaseCard/index.tsx
deleted file mode 100644
index c57e07579446b990630e75b03ab28757963b331b..0000000000000000000000000000000000000000
--- a/src/pages/GlobalModalServices/modals/PipelinePassage/components/BaseCard/index.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Flex } from 'antd';
-import React, { PropsWithChildren } from 'react';
-import styles from './index.less';
-
-interface PropsType {
- w?: any;
- h?: any;
- title?: string;
- headerRight?: React.ReactNode;
-}
-
-/** @name 基础卡片 */
-const BaseCard: React.FC> = (props) => {
- const { w, h, title, children, headerRight } = props;
- return (
-
-
- {title}
- {headerRight}
-
- {children}
-
- );
-};
-
-export default BaseCard;
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/LatestWarning/index.tsx b/src/pages/GlobalModalServices/modals/UrbanLighting/LatestWarning/index.tsx
index ec25d1e5b1dd45b084f15c32cdc68bd2923a3045..f5590b69fa3e818e53c03316611c586429322c84 100644
--- a/src/pages/GlobalModalServices/modals/UrbanLighting/LatestWarning/index.tsx
+++ b/src/pages/GlobalModalServices/modals/UrbanLighting/LatestWarning/index.tsx
@@ -5,7 +5,7 @@ import { Flex, Space } from 'antd';
import classNames from 'classnames';
import dayjs from 'dayjs';
import React, { useEffect, useRef, useState } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
const LatestWarning: React.FC = () => {
const [playingStatus, { setTrue, setFalse }] = useBoolean(true);
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/LightingMap/index.less b/src/pages/GlobalModalServices/modals/UrbanLighting/LightingMap/index.less
index ace3b778370fb3b43e38eab7c1ff26187bcb9bdf..779db6be9179ad75ac780b1c7deddab5292464f6 100644
--- a/src/pages/GlobalModalServices/modals/UrbanLighting/LightingMap/index.less
+++ b/src/pages/GlobalModalServices/modals/UrbanLighting/LightingMap/index.less
@@ -8,6 +8,7 @@
.tabContainer {
position: absolute;
inset: 8px 0 0 8px;
+ height: 50px;
z-index: 2;
.tabItem {
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/LightingOperationSituation/index.tsx b/src/pages/GlobalModalServices/modals/UrbanLighting/LightingOperationSituation/index.tsx
index 889c14358035e7f9889e69f9df889e1a1aa99d73..15e0980933471805c78a9f010558921049bf71d2 100644
--- a/src/pages/GlobalModalServices/modals/UrbanLighting/LightingOperationSituation/index.tsx
+++ b/src/pages/GlobalModalServices/modals/UrbanLighting/LightingOperationSituation/index.tsx
@@ -5,7 +5,7 @@ import dayjs from 'dayjs';
import EChartsReact from 'echarts-for-react';
import { cloneDeep } from 'lodash';
import React, { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import option from './option';
/** @name 情况 */
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/OperationCondition/index.tsx b/src/pages/GlobalModalServices/modals/UrbanLighting/OperationCondition/index.tsx
index ef344a426b432b3f062e81bfc637f3b8dc0e497d..ad83da21c8c86a19efffe3effb679f3abc8a4827 100644
--- a/src/pages/GlobalModalServices/modals/UrbanLighting/OperationCondition/index.tsx
+++ b/src/pages/GlobalModalServices/modals/UrbanLighting/OperationCondition/index.tsx
@@ -5,7 +5,7 @@ import dayjs from 'dayjs';
import EChartsReact from 'echarts-for-react';
import { cloneDeep } from 'lodash';
import React, { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import option from './option';
/** @name 情况 */
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/Overview/index.tsx b/src/pages/GlobalModalServices/modals/UrbanLighting/Overview/index.tsx
index 99069bb4ecda088ccd024bbffdd111cfa9409f19..82948fe444c9352c723af95b4da5e5f429229bdb 100644
--- a/src/pages/GlobalModalServices/modals/UrbanLighting/Overview/index.tsx
+++ b/src/pages/GlobalModalServices/modals/UrbanLighting/Overview/index.tsx
@@ -12,7 +12,7 @@ import React, {
useRef,
useState,
} from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import { pieOption } from './option';
@@ -115,7 +115,7 @@ const Overview: React.FC<{ total: number }> = memo((props) => {
{item.name}
- {item.value / 10000} 万盏
+ {item.value} 盏
{item.percent} %
);
diff --git a/src/pages/GlobalModalServices/modals/UrbanLighting/SensingDevice/index.tsx b/src/pages/GlobalModalServices/modals/UrbanLighting/SensingDevice/index.tsx
index 0b3b433ed973d9068adc26040ddd44a3926d63f2..79165086c937eb7308500160621e7bcd7f5bf4ec 100644
--- a/src/pages/GlobalModalServices/modals/UrbanLighting/SensingDevice/index.tsx
+++ b/src/pages/GlobalModalServices/modals/UrbanLighting/SensingDevice/index.tsx
@@ -5,7 +5,7 @@ import { Badge, Flex } from 'antd';
import EChartsReact from 'echarts-for-react';
import { cloneDeep } from 'lodash';
import React, { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
-import BaseCard from '../components/BaseCard';
+import BaseCard from '../../../components/BaseCard';
import styles from './index.less';
import option from './option';
/** @name 感知设备 */
diff --git a/src/pages/GlobalModalServices/registry.tsx b/src/pages/GlobalModalServices/registry.tsx
index 5e17e50999f16d70aa83663366d78b1d46728a97..2d3651e40393fb63ba743a2bf89e82a36ce697f8 100644
--- a/src/pages/GlobalModalServices/registry.tsx
+++ b/src/pages/GlobalModalServices/registry.tsx
@@ -6,6 +6,7 @@ import AnalysisCompletionRate from './modals/AnalysisCompletionRate';
import AreaSynergy from './modals/AreaSynergy';
import AreaSynergyDetails from './modals/AreaSynergy/AreaSynergyDetails';
import AreaSynergyList from './modals/AreaSynergy/AreaSynergyList';
+import BridgeManage from './modals/BridgeManage';
import Category from './modals/Category';
import CgftEvent from './modals/CgftEvent';
import CollectionEvent from './modals/CollectionEvent';
@@ -25,6 +26,7 @@ import IndustrySystem from './modals/IndustrySystem';
import InfluenceSign from './modals/InfluenceSign';
import KeyArea from './modals/KeyArea';
import KeyAreaDetail from './modals/KeyAreaDetail';
+import LightingFaultDisposal from './modals/LightingFaultDisposal';
import OtherEvent from './modals/OtherEvent';
import PipelinePassage from './modals/PipelinePassage';
import SanitationDisp from './modals/SanitationDisp';
@@ -34,7 +36,6 @@ import SignModel from './modals/SignModel';
import ToDisposed from './modals/ToDisposed';
import UrbanLighting from './modals/UrbanLighting';
import UrbanOperation from './modals/UrbanOperation';
-import BridgeManage from './modals/BridgeManage';
import BridgeMaintenanceList from './modals/BridgeMaintenanceList';
import type { ModalMapping } from './type';
@@ -468,7 +469,7 @@ export default class Registry {
defaultConfig: {
title: '道桥监管',
w: 2841,
- h: 858
+ h: 858,
},
defaultProps: {},
modal: BridgeManage,
@@ -488,6 +489,22 @@ export default class Registry {
defaultProps: {},
modal: BridgeMaintenanceList,
}
+ },
+
+ /**
+ * 市管照明故障处置情况
+ * @module IndustryOperationNew
+ * @see IndustryOperationNew.CityLighting
+ */
+ LightingFaultDisposal: {
+ defaultConfig: {
+ title: '市管照明故障处置情况',
+ w: 2106,
+ h: 858,
+ },
+ defaultProps: {},
+ modal: LightingFaultDisposal,
+ },
};
static get(modalKey: ModalKey) {
diff --git a/src/pages/GlobalModalServices/type.ts b/src/pages/GlobalModalServices/type.ts
index 3df2c3d004cba3176bec7953aa18476ed22ac35e..5ea1622812499255855fe9d0ac184891c672408f 100644
--- a/src/pages/GlobalModalServices/type.ts
+++ b/src/pages/GlobalModalServices/type.ts
@@ -74,7 +74,7 @@ export interface ChildrenModalMethods extends GlobalModalServicesModalMethods {
* 设置弹窗参数
* 仅限定 弹窗内调用
* */
- setOptions?(options: Partial): void;
+ setOptions(options: Partial): void;
/**
* 返回上一页,仅限同一维度调用
diff --git a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/CityLighting/index.tsx b/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/CityLighting/index.tsx
index 37899844bd181d1e8c19cea073bcc7b9564b84fd..eda21ac2dd26ddce34cbfd68a1250c4f3c433350 100644
--- a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/CityLighting/index.tsx
+++ b/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/CityLighting/index.tsx
@@ -105,6 +105,9 @@ const CityLighting: React.FC = memo(() => {
value={dataSource?.yesterdayFaultNum}
name="昨日故障数"
unit="件"
+ onClick={() => {
+ dispatch.push('LightingFaultDisposal', {});
+ }}
valueStyle={commonValueStyle}
labelStyle={labelStyle}
unitStyle={commonUnitStyle}
diff --git a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/MunicipalFacilities/index.css b/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/MunicipalFacilities/index.css
deleted file mode 100644
index 1cc6b5c965c614b4d70135bc525c972187ccfbd2..0000000000000000000000000000000000000000
--- a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/MunicipalFacilities/index.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.container {
- padding: 10px 20px 20px 20px;
-}
diff --git a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/MunicipalFacilities/index.tsx b/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/MunicipalFacilities/index.tsx
index ccdf1dc108e1eb86852eb9cfb4188fa75c5ca1e2..db18e7b51946ae7ef23dabeaf254ab979589127b 100644
--- a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/MunicipalFacilities/index.tsx
+++ b/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/MunicipalFacilities/index.tsx
@@ -1,9 +1,7 @@
import DescriptionItem from '@/components/DescriptionItem';
import { useGlobalModalServices } from '@/pages/GlobalModalServices/provider';
-import { Flex, Space } from 'antd';
+import { Flex } from 'antd';
import React from 'react';
-import CountUp from 'react-countup';
-import LineCharts from '../LineCharts';
import styles from './index.less';
const commonValueStyle = {
@@ -18,7 +16,7 @@ const commonValueStyle = {
const commonLabelStyle = {
color: '#BCCEE9',
-
+
fontWeight: 400,
lineHeight: 1.1,
};
@@ -32,7 +30,7 @@ const commonUnitStyle = {
};
const MunicipalFacilities: React.FC = () => {
const { dispatch } = useGlobalModalServices();
-
+
const handleBridgeClick = () => {
dispatch.push('BridgeManage', {
props: {
@@ -85,20 +83,20 @@ const MunicipalFacilities: React.FC = () => {
/>
{
- dispatch.push('PipelinePassage');
- }}
+ value={1225}
+ name="全市道路"
+ onClick={handleRoadClick}
+ // onClick={() => {
+ // dispatch.push('PipelinePassage');
+ // }}
unit="条"
valueStyle={commonValueStyle}
labelStyle={commonLabelStyle}
unitStyle={commonUnitStyle}
decimals={0}
/>
-
-
+
{
unitStyle={commonUnitStyle}
decimals={0}
/>
-
- {
- // dispatch.push('PipelinePassage');
- // }}
- unit="条"
- valueStyle={commonValueStyle}
- labelStyle={commonLabelStyle}
- unitStyle={commonUnitStyle}
- decimals={0}
- />
-
- {
- // dispatch.push('PipelinePassage');
- // }}
+ onClick={() => {
+ dispatch.push('PipelinePassage');
+ }}
unit="条"
valueStyle={commonValueStyle}
labelStyle={commonLabelStyle}
diff --git a/src/pages/SecurityServiceOverview/components/MapCantainer/DistrictMap/index.tsx b/src/pages/SecurityServiceOverview/components/MapCantainer/DistrictMap/index.tsx
index 97b7674895ce177ffb30503af7750f4ebd834702..5eb57d27b28de4386fbef6790d5f2dfa1b102ce5 100644
--- a/src/pages/SecurityServiceOverview/components/MapCantainer/DistrictMap/index.tsx
+++ b/src/pages/SecurityServiceOverview/components/MapCantainer/DistrictMap/index.tsx
@@ -108,6 +108,7 @@ const DistrictMap: React.FC = () => {
services.Physicalsign.getObjectPolygon({
physicalSignType: 1,
objectHierarchy: 1,
+ // objectId: '510107',
}).then((res) => {
setData(res.data);
});
@@ -203,7 +204,7 @@ const DistrictMap: React.FC = () => {
<>
{/**区域 */}
{data?.map((item, index) => {
- return JSON.parse(item?.multiPointStr)?.map((it, idx) => {
+ return item?.multiPoints?.map((it: any, idx: number) => {
return (