From dbaa4a4579c12585de85de44e6bb0b2da1f80dcd Mon Sep 17 00:00:00 2001 From: lijingqi <1437862981@qq.com> Date: Mon, 30 Dec 2024 18:00:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=8E=E7=AE=A1=E6=89=A7=E6=B3=95=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/administPunish/cfIcon.png | Bin 0 -> 1359 bytes src/assets/images/administPunish/fkIcon.png | Bin 0 -> 1255 bytes src/components/PieChart/index.tsx | 18 +- .../AdministPunishDetails/index.tsx | 117 +++++++ .../AdministPunishDetails/inedx.less | 8 + .../AdministPunishList/index.less | 0 .../AdministPunishList/index.tsx | 109 +++++++ .../AdministPunish/LineCharts/index.tsx | 76 +++++ .../modals/AdministPunish/TopSarch/index.less | 24 ++ .../modals/AdministPunish/TopSarch/index.tsx | 42 +++ .../modals/AdministPunish/index.less | 185 +++++++++++ .../modals/AdministPunish/index.tsx | 287 ++++++++++++++++++ .../modals/AreaSynergy/TopSarch/index.less | 24 ++ .../modals/AreaSynergy/TopSarch/index.tsx | 46 +++ .../modals/AreaSynergy/index.less | 8 + .../modals/AreaSynergy/index.tsx | 31 ++ src/pages/GlobalModalServices/registry.tsx | 51 +++- .../components/LawEnforcement/index.tsx | 52 +++- 18 files changed, 1058 insertions(+), 20 deletions(-) create mode 100644 src/assets/images/administPunish/cfIcon.png create mode 100644 src/assets/images/administPunish/fkIcon.png create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/index.tsx create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/inedx.less create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishList/index.less create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishList/index.tsx create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/LineCharts/index.tsx create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.less create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.tsx create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/index.less create mode 100644 src/pages/GlobalModalServices/modals/AdministPunish/index.tsx create mode 100644 src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.less create mode 100644 src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.tsx create mode 100644 src/pages/GlobalModalServices/modals/AreaSynergy/index.less create mode 100644 src/pages/GlobalModalServices/modals/AreaSynergy/index.tsx diff --git a/src/assets/images/administPunish/cfIcon.png b/src/assets/images/administPunish/cfIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..e2caad2b2c7cc5b023cafbf095a4107758b1bb39 GIT binary patch literal 1359 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-V9?@VV_;x7XeOD)z`(##?Bp53!NI{%!;#X# zz`)Ap>Eaj?(YiOnFh|x^pmy^=p(PvE@Gn}hpq)vPg+nprZ>iv}E1a=PEmPQ1IE5pX z9=#K2;?UV35U_Ny=X@nrr|t6Z;#f|0~0n!G88zzRSi}(I2F2w-^*KI5eabTK8`>|epXR@I zE3@4hy?=YyIVMF;Y1^s0;&lW2hW9Gn2J5!Xo;kfRZ#w%yp;My1?@f*z`1vTVN+w6V z{?=uc8C&xB%d>y9M$OURc9G|)nt0uPf3}rdw*NV^z$EBr&P1Nj%=ty>GE7X(LCd&8 z1(IgnR(fgub3&5Mb}!Z6Z)Q%tlDF^Q<5+>~3UA{kY9-Z+As< zqPM(rTO3;#)p(&)!Njxn>RH!J_p@E6n>c(!uBhbL?-#lkYn)@OA7mi(Um+`Q>al+g zOSi5RI{UlTBw5X5p$=)hhP$px=^RMI|wjsG`o;gn-`LR+`}eX}X@|3g1NCr7?X9&OFf zs!wxpWY7J+W`=2tkiEbwjVWezoL#GhX5HGk?t_tP^y=izTdmBx7VdP>bKrAiYEzpu zN8#ku%gMs#q6tP?Z*-J?#l*Fl^XhQSK9P`Hyy7)m)$iL*dcNIX7N4{zZPb|9m>6Jd zy{p-w;dNe`!qT;2_e!tl90_EZ(DAdP^o`X0v-w?DxEviM7!&OK_wHqAa0o6H@oK&l zl54@(uy*<}wHewIy)MdBl>{tpOXj&(E_?n;phoU2u9Ye37q+!D9KBJrRAN>GOH(Iv zz{M_Wb~sx^-+?TlWcZGV}zLsvZ2ZY1cM83tKC_7(@{2?ht_Z9?Js_OUZ&~D zs*slJER#xI*R$=axP6AZH>ij^Mq=6O!Vk)-6F6V-|71x~=MrEr+po7p=wx;Df4R>G z=V~}CSQMgA8L%!bf@j^gxqD*w?VBy6C0IIJqA}(D{K_*&l>c)(WWSHQ?|YPS?Y{c& djGMp7M=6|tl^(P79RmXcgQu&X%Q~loCIBu2YYqSa literal 0 HcmV?d00001 diff --git a/src/assets/images/administPunish/fkIcon.png b/src/assets/images/administPunish/fkIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b588d10f6f51f159a705b55daa71add8d34689 GIT binary patch literal 1255 zcmeAS@N?(olHy`uVBq!ia0y~yU{GOTV9?-TV_;yIb|~U80|Ns~v6E*A2L}g74M$1` z0|U!EPZ!6Kh}N?azTGmRBDULixmqtYb?(`%(4@>GrN}L=WVF8Sz#DeS$3GYsnIuZw z37=XhnRwtBkD~!M@4xQ4M^359G)XdqNB^b8xU5?;UQeIbY(iqAsjKor-(_79 zb|;h$N96>~Z%?`{rIfMjM>Efs8A*vJwSwDE3K`F{nf&-oPh1Y3;{k#)&cZ@%Iz&YOyF7_`KP)IB0EBqW-kdRlPpx zPWO4)44-+diVnOgP$RLjy0~p_+&=G1*K|UiTv8ueOv8S+R2$Kzog4y%H)kETV#st_GcYpYEIc>*3<9%;*v@4QG->v zAG>NdL}{)+E3iQ2aroaQds_5lmu$SCl>9Tme9hf7hZpPP>bG606m`1IzEa6@5FV+gptv>A8%%93{x==#JuUkBcZ~a<6SDuo-pP$4kwiLg1xGHq( z-|LS{cC38j+#3Hf{~Z668`nzVIq(6ME@mU*K#*p*lRiI*iU0f`>{h_spU=12eD+qPVso8c;D{{{6pYV@M6yI_aZLt-tU*(5SSb1z9zool={B1o@sR~|IV!u-K?&E zV*lMNVq8bj(th|j&+5Hk9z3Nzcb(W$dqN-z3p4OuB>X%U%&FLxTEZs zzD?(6Z`wWEY|WpYlS2<2yt7Jd^6jlFQaPTuGd5hjyZ@%f9kVmn&&hr|RhasCjn1AN zz0T{!QHJH#GHW!?JG*W8q3%-mXGcxCRI^a&U%&NV)zVW!tS^f*sm#xx(<|%5u%WnG z>afD6pHZv%OAq{UtWACVv*uGc-_PCKml<}h_!w~YYMM`NC_{t6LviWnB`c%;{dn^{ zlP8(MgTe~DWM4fUzbBD literal 0 HcmV?d00001 diff --git a/src/components/PieChart/index.tsx b/src/components/PieChart/index.tsx index 3ef0a307..943eb562 100644 --- a/src/components/PieChart/index.tsx +++ b/src/components/PieChart/index.tsx @@ -22,7 +22,13 @@ const PieChart: React.FC = ({ data = [], labelClassName, labelStyle, - color = ['rgb(150, 216, 129)', 'rgb(83, 214, 255)', 'rgb(159, 159, 255)', 'rgb(247, 161, 91)', '#B5B42F'], + color = [ + 'rgb(150, 216, 129)', + 'rgb(83, 214, 255)', + 'rgb(159, 159, 255)', + 'rgb(247, 161, 91)', + '#B5B42F', + ], }) => { return ( @@ -45,7 +51,7 @@ const PieChart: React.FC = ({ title={it.name} textColor={'rgb(188, 206, 233)'} /> -

+

{it.value} = ({

- {/*

- {parseFloat(Number(it.percent).toFixed(1))}% -

*/} + {it.percent ? ( +

+ {parseFloat(Number(it.percent).toFixed(1))}% +

+ ) : null}
))} diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/index.tsx b/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/index.tsx new file mode 100644 index 00000000..02ca4238 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/index.tsx @@ -0,0 +1,117 @@ +import { Descriptions, DescriptionsProps } from 'antd'; +import styles from './inedx.less'; +const AdministPunishList = () => { + const items: DescriptionsProps['items'] = [ + { + key: '1', + label: '行政处罚决定书文号', + children: 202409079563211, + }, + { + key: '2', + label: '违法事实', + children: xx公司在天府新区正兴街道云龙路保利天府和颂花园 2-4号楼、13号楼、总平及装饰装修工程项目未落实重污染天气应急预案规定,橙色预警天气期间违规露天焊接作业案, + }, + { + key: '3', + label: '违法行为类型', + children: 扬尘类, + }, + { + key: '4', + label: '处罚依据', + children: 《成都市建设施工现场管理条例》第四十五条第三款:“违反本条例第三十五条规定的,责令停止施工,并处五万元以上十万元以下的罚款。"之规定。鉴于当事人不具备从轻、从重处罚情节,依据《成都市规范行政执法自由裁量权实施办法》第十二条、《成都市城市管理综合执法领域行政处罚裁量权适用规定》第十七条第一款“不具有从轻、从重情形的,认定为一般违法情形,按照《行政处罚裁量基准》,依法选择一般情形的处罚种类或罚款幅度"和《成都市城市管理综合执法领域行政处罚裁量基准》(扬尘类)第 13 项, + }, + { + key: '5', + label: '行政相对人类别', + children: ( + xxxxx + ), + }, + { + key: '52', + label: '证件类型', + children: ( + xxxxx + ), + }, + { + key: '6', + label: '处罚有效期', + children: ( + xxxxx + ), + }, + { + key: '7', + label: '公示截止期', + children: ( + xxxxx + ), + }, + { + key: '8', + label: '没收违法所得', + children: ( + xxxxx + ), + }, + { + key: '9', + label: '处罚类别', + children: ( + xxxxx + ), + }, + { + key: '10', + label: '处罚内容', + children: ( + xxxxx + ), + }, + { + key: '11', + label: '罚款金额(万元)', + children: ( + xxxxx + ), + }, + { + key: '12', + label: '处罚决定日期', + children: ( + xxxxx + ), + }, + { + key: '13', + label: '没收非法财物的金额(万元)', + children: ( + xxxxx + ), + }, + ]; + + return ( +
+ +
+ ); +}; +export default AdministPunishList; diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/inedx.less b/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/inedx.less new file mode 100644 index 00000000..e9bf27d0 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishDetails/inedx.less @@ -0,0 +1,8 @@ +.container{ + width: 1399px; + height: 684px; + overflow: auto; + background-color: #1748755a; + border-radius: 14px; + padding:20px; +} \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishList/index.less b/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishList/index.less new file mode 100644 index 00000000..e69de29b diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishList/index.tsx b/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishList/index.tsx new file mode 100644 index 00000000..ce588c19 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/AdministPunishList/index.tsx @@ -0,0 +1,109 @@ +import BlueTable from '@/components/BlueTable'; +import { useGlobalModalServices } from '@/pages/GlobalModalServices/provider'; +import { useMemo, useState } from 'react'; + +const AdministPunishList = () => { + const [fetchParams, setFetchParams] = useState({ + data: { + pageNo: 1, + pageSize: 10, + }, + }); + const { dispatch } = useGlobalModalServices(); + const columns = useMemo(() => { + return [ + { + title: '行政处罚决定书文号', + dataIndex: 'wh', + key: 'descgldw', + width: 300, + ellipsis: true, + }, + { + title: '违法行为类型', + dataIndex: 'type', + key: 'descgldw', + width: 150, + ellipsis: true, + }, + { + title: '违法事实', + dataIndex: 'ss', + key: 'descgldw', + width: 650, + ellipsis: true, + }, + { + title: '处罚决定日期', + dataIndex: 'rq', + key: 'descgldw', + width: 150, + ellipsis: true, + }, + { + title: '操作', + dataIndex: 'c', + key: 'dictdldj_name', + width: 100, + ellipsis: true, + render: (val: string, record: any) => { + return ( +
{ + dispatch.push('AdministPunishDetails', { + title:'行政处罚详情' + // props: { + // data: selected, + // indexs: indexs, + // }, + }); + }} + style={{ + color: 'rgb(36, 164, 255)', + fontSize: 20, + fontWeight: 700, + cursor: 'pointer', + }} + > + 详情 +
+ ); + }, + }, + ]; + }, []); + return ( +
+ { + setFetchParams({ + ...fetchParams, + data: { + pageNo: page - 1, + pageSize: pageSize, + }, + }); + }, + // hideOnSinglePage: true, + }} + /> +
+ ); +}; +export default AdministPunishList; diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/LineCharts/index.tsx b/src/pages/GlobalModalServices/modals/AdministPunish/LineCharts/index.tsx new file mode 100644 index 00000000..a85452c5 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/LineCharts/index.tsx @@ -0,0 +1,76 @@ +import { CSSProperties, useMemo } from 'react' +import ReactEcharts from 'echarts-for-react'; +const LineCharts = ({ data,style }: { data: any[],style:CSSProperties }) => { + + const option = useMemo(() => { + const chartData: any = [60, 50, 60, 70, 50, 70, 50, 60, 70, 50, 80, 50, 60, 70, 50, 60, 50, 60, 70, 50] + const showXAis = true + return { + xAxis: { + type: 'category', + boundaryGap: false, + show: showXAis, + data: showXAis ? data?.map(item => item.name) : [], + axisLabel: { + color: '#CBEDFF', + interval: 3 // 设置为0以显示所有坐标点 + }, + axisLine: { + show: false, + }, + }, + yAxis: { + type: 'value', + show: false, + }, + grid: { + left: '0', // 左边距 + right: '0', // 右边距 + top: '0', // 上边距 + bottom: '0' // 下边距 + }, + series: [ + { + data: chartData, + symbol: "none", + type: 'line', + lineStyle: { + color: "#57EFE5", + }, + + areaStyle: { + // 区域填充样式。设置后显示成区域面积图。 + color: { + type: 'linear', + x: 0, + y: 1, + x2: 0, + y2: 0.2, + colorStops: [ + { + offset: 0, + color: 'rgba(87, 239, 229, 0)', // 0% 处的颜色 + }, + + { + offset: 1, + color: 'rgba(87, 239, 229, 0.4)', // 100% 处的颜色 + }, + ], + global: false, // 缺省为 false + }, + }, + }, + ], + } + }, [data]) + + return ( + + ) +} + +export default LineCharts \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.less b/src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.less new file mode 100644 index 00000000..1dbbc6ad --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.less @@ -0,0 +1,24 @@ +.container { + display: flex; + align-items: center; + height: 70px; + + .rangWarp { + height: 100%; + display: flex; + align-items: center; + margin-left: 10px; + } + + :global { + .ant-picker-outlined { + background: rgb(50, 111, 167); + border-radius: 25px; + border-color: transparent; + } + + .ant-picker-outlined:focus-within { + background-color: rgb(50, 111, 167); + } + } +} \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.tsx b/src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.tsx new file mode 100644 index 00000000..bdca86a3 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/TopSarch/index.tsx @@ -0,0 +1,42 @@ +import Tabs from '@/components/Tabs' +import styles from './index.less' +import { DatePicker } from 'antd'; +const { RangePicker } = DatePicker; +const TopSarch=({onChange}:{onChange:(val:any)=>void})=>{ + return
+ { + onChange(e) + }} + itemkey={'key'} + items={[ + { + key: 'mainClass', + label: '本月', + }, + { + key: 'subClass', + label: '本年', + }, + + ]} + /> +
+ +
+ +
+} + +export default TopSarch \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/index.less b/src/pages/GlobalModalServices/modals/AdministPunish/index.less new file mode 100644 index 00000000..6751b54c --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/index.less @@ -0,0 +1,185 @@ +.container { + + width: 100%; + height: 695px; + + + .topWarp { + display: flex; + justify-content: space-between; + width: 100%; + + .totalWarp { + background-color: rgba(57, 122, 183, 0.2); + width: 356px; + height: 271px; + border-radius: 20px; + padding: 20px; + + .title { + font-size: 22px; + color: rgb(203, 237, 255); + font-family: '钉钉进步体'; + } + + .content { + margin-top: 10px; + + .item { + display: flex; + justify-content: space-between; + height: 90px; + padding: 10px; + background-color: rgb(57, 122, 183, 0.1); + border-radius: 10px; + + .label { + display: flex; + align-items: center; + color: rgb(188, 206, 233); + font-size: 20px; + + .icon { + margin-right: 11px; + width: 21px; + height: 20px; + } + } + + .desc { + display: flex; + flex-direction: column; + align-items: flex-end; + + .count { + font-size: 18px; + color: rgb(29, 187, 138); + } + } + } + } + } + + .tendency { + background-color: rgba(57, 122, 183, 0.2); + width: 1040px; + height: 271px; + border-radius: 20px; + padding: 20px; + + .title { + font-size: 22px; + color: rgb(203, 237, 255); + font-family: '钉钉进步体'; + } + + .unit { + color: rgb(188, 206, 233); + margin-top: 20px; + } + } + } + + .bottomWarp { + display: flex; + justify-content: space-between; + margin-top: 20px; + + .breakTop { + background-color: rgba(57, 122, 183, 0.2); + width: 457px; + height: 430px; + border-radius: 20px; + padding: 20px; + + .title { + font-size: 22px; + color: rgb(203, 237, 255); + font-family: '钉钉进步体'; + } + + .content { + width: 100%; + height: 330px; + overflow: auto; + + margin-top: 20px; + + } + } + + .hightTop { + background-color: rgba(57, 122, 183, 0.2); + width: 457px; + height: 430px; + border-radius: 20px; + padding: 20px; + + .title { + font-size: 22px; + color: rgb(203, 237, 255); + font-family: '钉钉进步体'; + } + + .content { + width: 100%; + height: 260px; + overflow: auto; + + margin-top: 20px; + + } + } + + .transaction { + background-color: rgba(57, 122, 183, 0.2); + width: 457px; + height: 430px; + border-radius: 20px; + padding: 20px; + + .title { + font-size: 22px; + color: rgb(203, 237, 255); + font-family: '钉钉进步体'; + } + } + } + + + .litsItem { + margin-bottom: 18px; + + &:last-child { + margin-bottom: 0px; + } + } + + .name { + color: rgb(228, 237, 255); + font-family: 微软雅黑; + font-size: 20px; + font-weight: 400; + line-height: 1; + } + + .num { + :first-child { + color: rgb(89, 238, 255); + font-family: D-DIN; + font-size: 26px; + font-weight: 700; + line-height: 1; + } + + :last-child { + color: rgb(228, 237, 255); + font-size: 18px; + line-height: 1; + } + } + + .labelClassName { + width: 293px !important; + } +} \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AdministPunish/index.tsx b/src/pages/GlobalModalServices/modals/AdministPunish/index.tsx new file mode 100644 index 00000000..38d666c5 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AdministPunish/index.tsx @@ -0,0 +1,287 @@ +import DescriptionItem from '@/components/DescriptionItem'; +import PieChart from '@/components/PieChart'; +import Tabs from '@/components/Tabs'; +import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons'; +import { Flex, Progress, Space } from 'antd'; +import { memo, useMemo } from 'react'; +import { useGlobalModalServices } from '../../provider'; +import styles from './index.less'; +import LineCharts from './LineCharts'; +/**行政处罚modal */ +const AdministPunish = () => { + const { dispatch } = useGlobalModalServices(); + const commonValueStyle = { + background: 'linear-gradient(180deg, #AAFFF6 0%, #25BBFF 100%)', + WebkitBackgroundClip: 'text', + WebkitTextFillColor: 'transparent', + fontFamily: 'D-DIN', + fontSize: '36px', + fontWeight: 700, + lineHeight: 1.1, + }; + + const commonLabelStyle = { + color: '#BCCEE9', + // fontFamily: '微软雅黑', + fontSize: '20px', + fontWeight: 400, + lineHeight: 1.1, + }; + + const commonUnitStyle = { + color: 'rgb(188, 206, 233)', + // fontFamily: '微软雅黑', + fontSize: '14px', + fontWeight: 400, + lineHeight: 1.1, + }; + const pieData = useMemo(() => { + return [ + { + name: '简易程序', + value: 1234, + percent: '16', + }, + { + name: '普通程序', + value: 1234, + percent: '16', + }, + ]; + }, []); + return ( +
+
+
+
总体情况
+
+
{ + dispatch.push('AdministPunishList', { + headerLeft: () => { + return ( +
+ 备注:简易程序的案件不在此列表 +
+ ); + }, + // props: { + // data: selected, + // indexs: indexs, + // }, + }); + }} + > +
+ + 行政处罚件数 +
+
+
+ 187 +
+
+ 环比 + + + + + 0.25 + % +
+
+
+
{ + dispatch.push('AdministPunishList', { + headerLeft: () => { + return ( +
+ 备注:简易程序的案件不在此列表 +
+ ); + }, + // props: { + // data: selected, + // indexs: indexs, + // }, + }); + }} + > +
+ + 罚款金额 +
+
+
+ 187万元 +
+
+ 环比 + + + + + 0.25 + % +
+
+
+
+
+
+
行政处罚趋势
+
单位:件
+
+ +
+
+
+
+
+
违法行为类型TOP5
+
+ {[{ percent: 80, value: 20, name: '占到经营' }].map( + (item, index) => { + return ( +
+ +
{item.name}
+ +
+ {item?.value} + +
+
+ {Number(item?.percent ?? 0).toFixed(2)} + % +
+
+
+ + +
+ ); + }, + )} +
+
+ +
+
办案数量TOP5
+ {}} + itemkey={'key'} + items={[ + { + key: 'mainClass', + label: '全部', + }, + { + key: 'subClass', + label: '中心城区', + }, + { + key: 'subdivisionClass', + label: '城市新区', + }, + { + key: 'subdiv2sionClass', + label: '郊区新区', + }, + ]} + /> +
+ {[{ percent: 80, value: 20, name: '高新区' }].map((item, index) => { + return ( +
+ +
{item.name}
+ +
+ {item?.value} + +
+
+ {Number(item?.percent ?? 0).toFixed(2)} + % +
+
+
+ + +
+ ); + })} +
+
+ +
+
程序类型
+ +
+
+
+ ); +}; +export default memo(AdministPunish); diff --git a/src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.less b/src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.less new file mode 100644 index 00000000..1dbbc6ad --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.less @@ -0,0 +1,24 @@ +.container { + display: flex; + align-items: center; + height: 70px; + + .rangWarp { + height: 100%; + display: flex; + align-items: center; + margin-left: 10px; + } + + :global { + .ant-picker-outlined { + background: rgb(50, 111, 167); + border-radius: 25px; + border-color: transparent; + } + + .ant-picker-outlined:focus-within { + background-color: rgb(50, 111, 167); + } + } +} \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.tsx b/src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.tsx new file mode 100644 index 00000000..f73c3cad --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AreaSynergy/TopSarch/index.tsx @@ -0,0 +1,46 @@ +import Tabs from '@/components/Tabs' +import styles from './index.less' +import { DatePicker } from 'antd'; +const { RangePicker } = DatePicker; +const TopSarch=({onChange}:{onChange:(val:any)=>void})=>{ + return
+ { + onChange(e) + }} + itemkey={'key'} + items={[ + { + key: 'mainClass', + label: '今日', + }, + { + key: 'subClass', + label: '本月', + }, + { + key: 'subClass', + label: '本年', + }, + + ]} + /> +
+ +
+ +
+} + +export default TopSarch \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AreaSynergy/index.less b/src/pages/GlobalModalServices/modals/AreaSynergy/index.less new file mode 100644 index 00000000..cebc3a34 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AreaSynergy/index.less @@ -0,0 +1,8 @@ +.container { + + width: 100%; + height: 695px; + + + +} \ No newline at end of file diff --git a/src/pages/GlobalModalServices/modals/AreaSynergy/index.tsx b/src/pages/GlobalModalServices/modals/AreaSynergy/index.tsx new file mode 100644 index 00000000..8c3e0f72 --- /dev/null +++ b/src/pages/GlobalModalServices/modals/AreaSynergy/index.tsx @@ -0,0 +1,31 @@ +import DescriptionItem from '@/components/DescriptionItem'; +import PieChart from '@/components/PieChart'; +import Tabs from '@/components/Tabs'; +import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons'; +import { Flex, Progress, Space } from 'antd'; +import { memo, useMemo } from 'react'; +import { useGlobalModalServices } from '../../provider'; +import styles from './index.less'; +import LineCharts from '../AdministPunish/LineCharts'; + +/**行政处罚modal */ +const AreaSynergy = () => { + const { dispatch } = useGlobalModalServices(); + const commonValueStyle = { + background: 'linear-gradient(180deg, #AAFFF6 0%, #25BBFF 100%)', + WebkitBackgroundClip: 'text', + WebkitTextFillColor: 'transparent', + fontFamily: 'D-DIN', + fontSize: '36px', + fontWeight: 700, + lineHeight: 1.1, + }; + + + return ( +
+ +
+ ); +}; +export default memo(AreaSynergy); diff --git a/src/pages/GlobalModalServices/registry.tsx b/src/pages/GlobalModalServices/registry.tsx index 031fff72..a20c66b8 100644 --- a/src/pages/GlobalModalServices/registry.tsx +++ b/src/pages/GlobalModalServices/registry.tsx @@ -1,13 +1,16 @@ //@ts-nocheck import React from 'react'; +import AdministPunish from './modals/AdministPunish'; +import AdministPunishDetails from './modals/AdministPunish/AdministPunishDetails'; +import AdministPunishList from './modals/AdministPunish/AdministPunishList'; +import DataActivity from './modals/DataActivity'; +import DataBase from './modals/DataBase'; +import DataGovernance from './modals/DataGovernance'; import DistrictIndex from './modals/DistrictIndex'; import KeyArea from './modals/KeyArea'; import KeyAreaDetail from './modals/KeyAreaDetail'; -import DataBase from './modals/DataBase'; -import DataActivity from './modals/DataActivity'; -import DataGovernance from './modals/DataGovernance'; import { ModalMapping } from './type'; - +import AreaSynergy from './modals/AreaSynergy'; export type ModalKey = keyof typeof Registry; /** @see ModalMapping 弹窗注册在这里 */ @@ -67,7 +70,45 @@ const Registry = { }, defaultProps: {}, render: (props: any) => React.cloneElement(, props), - } + }, + AdministPunish: { + defaultConfig: { + w: 1480, + h: 858, + title: '行政处罚', + }, + defaultProps: {}, + render: (props: any) => React.cloneElement(, props), + }, + AdministPunishList: { + defaultConfig: { + w: 1480, + h: 858, + title: '行政处罚列表', + }, + defaultProps: {}, + render: (props: any) => React.cloneElement(, props), + }, + AdministPunishDetails: { + defaultConfig: { + w: 1480, + h: 858, + title: '行政处罚详情', + }, + defaultProps: {}, + render: (props: any) => + React.cloneElement(, props), + }, + AreaSynergy: { + defaultConfig: { + w: 1480, + h: 858, + title: '日常巡查', + }, + defaultProps: {}, + render: (props: any) => + React.cloneElement(, props), + }, }; export default Registry; diff --git a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/LawEnforcement/index.tsx b/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/LawEnforcement/index.tsx index 67b27735..a70ee33c 100644 --- a/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/LawEnforcement/index.tsx +++ b/src/pages/NewHome/NewRightContent/IndustryOperationNew/components/LawEnforcement/index.tsx @@ -1,9 +1,13 @@ import DescriptionItem from '@/components/DescriptionItem'; +import TopSarch from '@/pages/GlobalModalServices/modals/AdministPunish/TopSarch'; +import AreaTopSarch from '@/pages/GlobalModalServices/modals/AreaSynergy/TopSarch'; +import { useGlobalModalServices } from '@/pages/GlobalModalServices/provider'; import { Flex } from 'antd'; import React from 'react'; import styles from './index.less'; const LawEnforcement: React.FC = () => { + const { dispatch } = useGlobalModalServices(); const commonValueStyle = { background: 'linear-gradient(180deg, #AAFFF6 0%, #25BBFF 100%)', WebkitBackgroundClip: 'text', @@ -33,18 +37,46 @@ const LawEnforcement: React.FC = () => { return (
- +
{ + dispatch.push('AdministPunish', { + headerLeft: () => { + return {}} />; + }, + // props: { + // data: selected, + // indexs: indexs, + // }, + }); + }} + > + +
+
- + { + dispatch.push('AreaSynergy', { + headerLeft: () => { + return {}} />; + }, + // props: { + // data: selected, + // indexs: indexs, + // }, + }); + }} + >
487
701.32
-- GitLab