From e58d05bbcaee210827901bbc8e31ab6667db2d68 Mon Sep 17 00:00:00 2001 From: jl-zhoujl2 Date: Mon, 6 Feb 2023 08:58:35 +0800 Subject: [PATCH] 2.6 --- .../Monitor/Exception/index.tsx | 217 +++++++++++------- .../ElecEvaluation/Monitor/Home/index.tsx | 125 +++++++--- .../Monitor/OpenToday/index.tsx | 44 ++-- src/pages/ElecEvaluation/Monitor/service.ts | 29 ++- src/pages/ElecEvaluation/Monitor/style.less | 156 +++++++++++++ 5 files changed, 423 insertions(+), 148 deletions(-) diff --git a/src/pages/ElecEvaluation/Monitor/Exception/index.tsx b/src/pages/ElecEvaluation/Monitor/Exception/index.tsx index 7bbef03..55444d5 100644 --- a/src/pages/ElecEvaluation/Monitor/Exception/index.tsx +++ b/src/pages/ElecEvaluation/Monitor/Exception/index.tsx @@ -3,14 +3,14 @@ import React, { useEffect, useRef, useState } from 'react'; import '../style.less' import { authCheck, ModalList, onCell, onHeaderCell, OverviewItem, ScreenLabel, ScreenTitle, ScrollTable } from '../Home'; import Circle3199 from '@/assets/monitor/circle-3199.png'; -import { getDecryptDataAPI, getNoOpenAssessListAPI, getNoOpenAssessNumberAPI, getNoOpenListAPI, getNoOpenNumberAPI, getThreeDayNoEndAPI, getThreeDayNoEndCountAPI, getThreeDaysUnSendAnnoCountAPI, getThreeDaysUnSendAnnoListAPI } from '../service'; +import { getMacSameListAPI, getDecryptExceptionListAPI, getNoOpenAssessListAPI, getNoOpenAssessNumberAPI, getNoOpenListAPI, getNoOpenNumberAPI, getThreeDayNoEndAPI, getThreeDayNoEndCountAPI, getThreeDaysUnSendAnnoCountAPI, getThreeDaysUnSendAnnoListAPI } from '../service'; import { isNotEmpty } from '@/utils/CommonUtils'; const MonitorException: React.FC<{}> = () => { //超过1小时未开标数量 const [noOpenNumberData, setNoOpenNumberData] = useState(""); //开启评审后3日未结束评标-列表 - const [threeDayNoEndData, setThreeDayNoEndData] = useState([]); + const [threeDayNoEndData, setThreeDayNoEndData] = useState(); //开启评审后3日未结束评标-数量 const [threeDayNoEndCount, setThreeDayNoEndCount] = useState(0); //超过1小时未开标数量-列表 @@ -19,20 +19,24 @@ const MonitorException: React.FC<{}> = () => { const [noOpenAssessListData, setNoOpenAssessListData] = useState([]); //开标后超过6小时未开启评审室-数量 const [noOpenAssessNumber, setNoOpenAssessNumber] = useState(0); - //异常监控-解密异常、mac地址相同及相关项目列表 - const [decryptData, setDecryptData] = useState(); + //异常监控-解密异常 + const [decryptExceptionList, setDecryptExceptionList] = useState(); + //异常监控-mac地址相同 + const [macSameList, setMacSameList] = useState(); //评审室关闭3日内未发布公示数 const [threeDaysUnSendAnnoCount, setThreeDaysUnSendAnnoCount] = useState(""); //评审室关闭3日内未发布公示列表 - const [threeDaysUnSendAnnoList, setThreeDaysUnSendAnnoList] = useState([]); + const [threeDaysUnSendAnnoList, setThreeDaysUnSendAnnoList] = useState(); //ModalList visible const [modalListVisible, setModalListVisible] = useState(false); //ModalList Data - const [modalListData, setModalListData] = useState([]); + const [modalListData, setModalListData] = useState(); //ModalList Type const [exceptionType, setExceptionType] = useState(); //selectKey - const [selectKey, setSelectKey] = useState(-1); + // const [selectKey, setSelectKey] = useState(-1); + //modal弹窗数据类型 + const dataType = useRef(""); //权限校验 const auth = useRef(authCheck(["ebtp-watcher"])); //超过1小时未开标数量 @@ -44,10 +48,14 @@ const MonitorException: React.FC<{}> = () => { }) } //开启评审后3日未结束评标 - const getThreeDayNoEnd = () => { - getThreeDayNoEndAPI().then(res => { + const getThreeDayNoEnd = (params: any, type: number) => { + getThreeDayNoEndAPI({ ...params }).then(res => { if (res?.code == 200) { - setThreeDayNoEndData(res?.data); + if (type == 0) { + setThreeDayNoEndData(res?.data); + } else { + setModalListData(res?.data); + } } }) } @@ -76,37 +84,54 @@ const MonitorException: React.FC<{}> = () => { } }) } - //异常监控-解密异常、mac地址相同及相关项目列表jectRecord? - const getDecryptData = () => { - getDecryptDataAPI().then(res => { + //异常监控-解密异常 + const getDecryptExceptionList = (params: any, type: number) => { + getDecryptExceptionListAPI({ ...params }).then(res => { if (res?.code == 200) { const data = res?.data; - if (data?.decryptExceptionList?.length > 0) { - for (let i = 0, length = data.decryptExceptionList.length; i < length; i++) { - data.decryptExceptionList[i]["regionDictName"] = data.decryptExceptionList[i].projectRecord?.regionDictName; - data.decryptExceptionList[i]["projectName"] = data.decryptExceptionList[i].projectRecord?.projectName; - data.decryptExceptionList[i]["ownerContactName"] = data.decryptExceptionList[i].projectRecord?.ownerContactName; - data.decryptExceptionList[i]["ownerContactTel"] = data.decryptExceptionList[i].projectRecord?.ownerContactTel; - data.decryptExceptionList[i]["appManagerName"] = data.decryptExceptionList[i].projectRecord?.appManagerName; - data.decryptExceptionList[i]["appManagerTel"] = data.decryptExceptionList[i].projectRecord?.appManagerTel; - data.decryptExceptionList[i]["recruitStartTime"] = data.decryptExceptionList[i].projectRecord?.recruitStartTime; - data.decryptExceptionList[i]["bidMethodDict"] = data.decryptExceptionList[i].projectRecord?.bidMethodDict; + if (data?.decryptExceptionList?.records?.length > 0) { + for (let i = 0, length = data.decryptExceptionList.records.length; i < length; i++) { + data.decryptExceptionList.records[i]["regionDictName"] = data.decryptExceptionList.records[i].projectRecord?.regionDictName; + data.decryptExceptionList.records[i]["projectName"] = data.decryptExceptionList.records[i].projectRecord?.projectName; + data.decryptExceptionList.records[i]["ownerContactName"] = data.decryptExceptionList.records[i].projectRecord?.ownerContactName; + data.decryptExceptionList.records[i]["ownerContactTel"] = data.decryptExceptionList.records[i].projectRecord?.ownerContactTel; + data.decryptExceptionList.records[i]["appManagerName"] = data.decryptExceptionList.records[i].projectRecord?.appManagerName; + data.decryptExceptionList.records[i]["appManagerTel"] = data.decryptExceptionList.records[i].projectRecord?.appManagerTel; + data.decryptExceptionList.records[i]["recruitStartTime"] = data.decryptExceptionList.records[i].projectRecord?.recruitStartTime; + data.decryptExceptionList.records[i]["bidMethodDict"] = data.decryptExceptionList.records[i].projectRecord?.bidMethodDict; } } - if (data?.macSameList?.length > 0) { - for (let i = 0, length = data.macSameList.length; i < length; i++) { - data.macSameList[i]["regionDictName"] = data.macSameList[i].projectRecord?.regionDictName; - data.macSameList[i]["projectName"] = data.macSameList[i].projectRecord?.projectName; - data.macSameList[i]["ownerContactName"] = data.macSameList[i].projectRecord?.ownerContactName; - data.macSameList[i]["ownerContactTel"] = data.macSameList[i].projectRecord?.ownerContactTel; - data.macSameList[i]["appManagerName"] = data.macSameList[i].projectRecord?.appManagerName; - data.macSameList[i]["appManagerTel"] = data.macSameList[i].projectRecord?.appManagerTel; - data.macSameList[i]["recruitStartTime"] = data.macSameList[i].projectRecord?.recruitStartTime; - data.macSameList[i]["bidMethodDict"] = data.macSameList[i].projectRecord?.bidMethodDict; + if (type == 0) { + setDecryptExceptionList(data); + } else { + setModalListData(data?.decryptExceptionList); + } + } + }) + } + //异常监控-mac地址相同 + const getMacSameList = (params: any, type: number) => { + getMacSameListAPI({ ...params }).then(res => { + if (res?.code == 200) { + const data = res?.data; + if (data?.macSameList?.records?.length > 0) { + for (let i = 0, length = data.macSameList.records.length; i < length; i++) { + data.macSameList.records[i]["regionDictName"] = data.macSameList.records[i].projectRecord?.regionDictName; + data.macSameList.records[i]["projectName"] = data.macSameList.records[i].projectRecord?.projectName; + data.macSameList.records[i]["ownerContactName"] = data.macSameList.records[i].projectRecord?.ownerContactName; + data.macSameList.records[i]["ownerContactTel"] = data.macSameList.records[i].projectRecord?.ownerContactTel; + data.macSameList.records[i]["appManagerName"] = data.macSameList.records[i].projectRecord?.appManagerName; + data.macSameList.records[i]["appManagerTel"] = data.macSameList.records[i].projectRecord?.appManagerTel; + data.macSameList.records[i]["recruitStartTime"] = data.macSameList.records[i].projectRecord?.recruitStartTime; + data.macSameList.records[i]["bidMethodDict"] = data.macSameList.records[i].projectRecord?.bidMethodDict; } } - setDecryptData(data); + if (type == 0) { + setMacSameList(data); + } else { + setModalListData(data?.macSameList); + } } }) } @@ -121,10 +146,14 @@ const MonitorException: React.FC<{}> = () => { } //异常监控-评审室关闭3日内未发布公示列表 - const getThreeDaysUnSendAnnoList = () => { - getThreeDaysUnSendAnnoListAPI().then(res => { + const getThreeDaysUnSendAnnoList = (params: any, type: number) => { + getThreeDaysUnSendAnnoListAPI({ ...params }).then(res => { if (res?.code == 200) { - setThreeDaysUnSendAnnoList(res?.data); + if (type == 0) { + setThreeDaysUnSendAnnoList(res?.data); + } else { + setModalListData(res?.data); + } } }) } @@ -139,47 +168,49 @@ const MonitorException: React.FC<{}> = () => { } useEffect(() => { if (auth.current) { + const params = { pageNo: 1, pageSize: 10 }; getNoOpenNumber(); - getThreeDayNoEnd(); + getThreeDayNoEnd(params, 0); getNoOpenList(); getNoOpenAssessList(); getNoOpenAssessNumber(); - getDecryptData(); + getDecryptExceptionList(params, 0); + getMacSameList(params, 0); getThreeDaysUnSendAnnoCount(); - getThreeDaysUnSendAnnoList(); + getThreeDaysUnSendAnnoList(params, 0); getThreeDayNoEndCount(); } }, []) - useEffect(() => { - let interval: any = null; - let count = 0; - let lengthMap = [noOpenListData.length, noOpenAssessListData.length, isNotEmpty(decryptData?.decryptExceptionList) ? decryptData?.decryptExceptionList.length : 0, threeDayNoEndData.length, isNotEmpty(decryptData?.macSameList) ? decryptData?.macSameList.length : 0, threeDaysUnSendAnnoList.length].sort((a, b) => b - a); - if (lengthMap[0] > 1) {//至少2条才能滚动 - interval = setInterval(() => { - if (count < lengthMap[0]) { - setSelectKey(count); - const v0 = document.getElementsByClassName("scroll-select-bg")[0]; - const v1 = document.getElementsByClassName("scroll-select-bg")[1]; - const v2 = document.getElementsByClassName("scroll-select-bg")[2]; - const v3 = document.getElementsByClassName("scroll-select-bg")[3]; - const v4 = document.getElementsByClassName("scroll-select-bg")[4]; - const v5 = document.getElementsByClassName("scroll-select-bg")[5]; - v0?.scrollIntoView(false); - v1?.scrollIntoView(false); - v2?.scrollIntoView(false); - v3?.scrollIntoView(false); - v4?.scrollIntoView(false); - v5?.scrollIntoView(false); - count++; - } else { - count = 0; - } - }, 3000) - } - return () => { - clearInterval(interval); - } - }, [noOpenListData, noOpenAssessListData, decryptData?.decryptExceptionList, threeDayNoEndData, decryptData?.macSameList, threeDaysUnSendAnnoList]) + // useEffect(() => { + // let interval: any = null; + // let count = 0; + // let lengthMap = [noOpenListData.length, noOpenAssessListData.length, isNotEmpty(decryptData?.decryptExceptionList) ? decryptData?.decryptExceptionList.length : 0, threeDayNoEndData.length, isNotEmpty(decryptData?.macSameList) ? decryptData?.macSameList.length : 0, threeDaysUnSendAnnoList.length].sort((a, b) => b - a); + // if (lengthMap[0] > 1) {//至少2条才能滚动 + // interval = setInterval(() => { + // if (count < lengthMap[0]) { + // setSelectKey(count); + // const v0 = document.getElementsByClassName("scroll-select-bg")[0]; + // const v1 = document.getElementsByClassName("scroll-select-bg")[1]; + // const v2 = document.getElementsByClassName("scroll-select-bg")[2]; + // const v3 = document.getElementsByClassName("scroll-select-bg")[3]; + // const v4 = document.getElementsByClassName("scroll-select-bg")[4]; + // const v5 = document.getElementsByClassName("scroll-select-bg")[5]; + // v0?.scrollIntoView(false); + // v1?.scrollIntoView(false); + // v2?.scrollIntoView(false); + // v3?.scrollIntoView(false); + // v4?.scrollIntoView(false); + // v5?.scrollIntoView(false); + // count++; + // } else { + // count = 0; + // } + // }, 3000) + // } + // return () => { + // clearInterval(interval); + // } + // }, [noOpenListData, noOpenAssessListData, decryptData?.decryptExceptionList, threeDayNoEndData, decryptData?.macSameList, threeDaysUnSendAnnoList]) const columns: any[] = [ { @@ -500,8 +531,8 @@ const MonitorException: React.FC<{}> = () => {
- - + + @@ -511,11 +542,11 @@ const MonitorException: React.FC<{}> = () => {
- { setExceptionType(null); setModalListData(noOpenListData); setModalListVisible(true); }}>more} /> + { setExceptionType(null); setModalListData(noOpenListData); dataType.current = "1"; setModalListVisible(true); }}>more} />
- { setExceptionType(null); setModalListData(noOpenAssessListData); setModalListVisible(true); }}>more} /> + { setExceptionType(null); setModalListData(noOpenAssessListData); dataType.current = "4"; setModalListVisible(true); }}>more} />
@@ -523,30 +554,50 @@ const MonitorException: React.FC<{}> = () => {
- { setExceptionType("解密异常"); setModalListData(decryptData?.decryptExceptionList ? decryptData?.decryptExceptionList : []); setModalListVisible(true); }}>more} /> + { setExceptionType("解密异常"); setModalListData(decryptExceptionList?.decryptExceptionList); dataType.current = "2"; setModalListVisible(true); }}>more} />
- +
- { setExceptionType("开启评审后3日未结束评标"); setModalListData(threeDayNoEndData); setModalListVisible(true); }}>more} /> + { setExceptionType("开启评审后3日未结束评标"); setModalListData(threeDayNoEndData); dataType.current = "5"; setModalListVisible(true); }}>more} />
- +
- { setExceptionType("MAC地址重复"); setModalListData(decryptData?.macSameList ? decryptData?.macSameList : []); setModalListVisible(true); }}>more} /> + { setExceptionType("MAC地址重复"); setModalListData(macSameList?.macSameList); dataType.current = "3"; setModalListVisible(true); }}>more} />
- +
- { setExceptionType("评标结束后3日内未发布公示"); setModalListData(threeDaysUnSendAnnoList); setModalListVisible(true); }}>more} /> + { setExceptionType("评标结束后3日内未发布公示"); setModalListData(threeDaysUnSendAnnoList); dataType.current = "6"; setModalListVisible(true); }}>more} />
- +
- { setModalListVisible(false); setModalListData([]); }} exceptionData={modalListData} exceptionType={exceptionType} /> + { setModalListVisible(false); setModalListData([]); }} exceptionData={modalListData} exceptionType={exceptionType} onCallBack={(current, projectName, ownerContactName) => { + const params = { + pageNo: current, + pageSize: 10, + } + projectName != "" ? params["projectName"] = projectName : null; + ownerContactName != "" ? params["ownerContactName"] = ownerContactName : null; + if (dataType.current == "1") { + + } else if (dataType.current == "2") { + getDecryptExceptionList(params, 1); + } else if (dataType.current == "3") { + getMacSameList(params, 1); + } else if (dataType.current == "4") { + + } else if (dataType.current == "5") { + getThreeDayNoEnd(params, 1); + } else if (dataType.current == "6") { + getThreeDaysUnSendAnnoList(params, 1); + } + }} /> ); }; diff --git a/src/pages/ElecEvaluation/Monitor/Home/index.tsx b/src/pages/ElecEvaluation/Monitor/Home/index.tsx index 54eb67f..bff3c07 100644 --- a/src/pages/ElecEvaluation/Monitor/Home/index.tsx +++ b/src/pages/ElecEvaluation/Monitor/Home/index.tsx @@ -1,4 +1,4 @@ -import { Button, Col, Descriptions, Divider, Dropdown, Empty, Input, Menu, MenuProps, message, Modal, Progress, Row, Space, Table, Typography } from 'antd'; +import { Button, Col, Descriptions, Divider, Dropdown, Empty, Input, Menu, MenuProps, message, Modal, Pagination, PaginationProps, Progress, Row, Space, Table, Typography } from 'antd'; import { debounce } from 'lodash'; import React, { useEffect, useMemo, useRef, useState } from 'react'; import '../style.less' @@ -12,6 +12,8 @@ import Frame10121 from '@/assets/monitor/Frame-10121.png'; import titleIcon from '@/assets/monitor/title-icon.png'; import left from '@/assets/monitor/left.png'; import right from '@/assets/monitor/right.png'; +import arrowLeftCircleFill from '@/assets/monitor/arrow-left-circle-fill.png' +import arrowRightCircleFill from '@/assets/monitor/arrow-right-circle-fill.png' import { CaretRightOutlined, DownOutlined } from '@ant-design/icons'; import './china'; import * as echarts from 'echarts'; @@ -675,9 +677,9 @@ export const ScreenTitle = (props: { title: string, children: any }) => { } //modal大弹窗 -export const ModalList = (props: { modalVisible: boolean, onCancel: () => void, exceptionType?: string, exceptionData: any[], title?: string | null }) => { - const { modalVisible, onCancel, exceptionType, exceptionData, title } = props; - const modalHeight = window.innerHeight * 96 / 100; +export const ModalList = (props: { modalVisible: boolean, onCancel: () => void, exceptionType?: string, exceptionData: any, title?: string | null, onCallBack?: (current: number, projectName: string, ownerContactName: string) => void }) => { + const { modalVisible, onCancel, exceptionType, exceptionData, title, onCallBack = () => { } } = props; + // const modalHeight = window.innerHeight * 96 / 100; const labelStyle = { color: "#29F0F9", fontWeight: "bold", width: "100px" }; const contentStyle = { color: "#fff", paddingLeft: "14px" }; const titleStyle = { color: "#01C2FF", fontWeight: 700, marginBottom: 0 }; @@ -685,49 +687,102 @@ export const ModalList = (props: { modalVisible: boolean, onCancel: () => void, //初始化字典 let dic: any = getDicData(); let dicData: any = JSON.parse(dic); + const [current, setCurrent] = useState(1); + const [total, setTotal] = useState(0); + const project = useRef(""); + const owner = useRef(""); + const onChange: PaginationProps['onChange'] = page => { + setCurrent(page); + onCallBack(page, project.current, owner.current); + }; + const itemRender: PaginationProps['itemRender'] = (_, type, originalElement) => { + if (type === 'prev') { + return ; + } + if (type === 'next') { + return ; + } + return originalElement; + }; + const onProjectChange = (e: any) => { + project.current = e.target.value; + } + const onOwnerChange = (e: any) => { + owner.current = e.target.value; + } + const onSearchClick = () => { + setCurrent(1); + onCallBack(1, project.current, owner.current); + } + + useEffect(() => { + setTotal(exceptionData?.total || 0); + setCurrent(exceptionData?.currnet || 1); + }, [exceptionData]) return ( onCancel()} + onCancel={() => { + project.current = ""; + owner.current = ""; + onCancel() + }} width={"60%"} - style={{ maxHeight: modalHeight }} - bodyStyle={{ maxHeight: modalHeight - 107, overflowY: 'auto', padding: "20px 24px 24px" }} + // style={{ maxHeight: modalHeight }} + // bodyStyle={{ maxHeight: modalHeight - 107, overflowY: 'auto', padding: "20px 24px 24px" }} + bodyStyle={{ padding: "20px 24px 24px" }} centered footer={null} >

{isNotEmpty(title) ? title : "重点监测异常明细单"}

- {exceptionData.length > 0 ? exceptionData.map((item, index) => { - return ( -
1 ? 'modal-list-block' : 'modal-list-block modal-list-block-border0'}> -
-
- {item?.projectName} -
{item?.bidSectName || item?.sectionName}
-
- {isEmpty(title) &&
-
- 采购方式:{changeDict(dicData['procurement_mode=entrust'], item?.bidMethodDict)} +
+
+ 项目名称: +
+
+ 采购经理: +
+
+ +
+
+
+ {exceptionData?.records?.length > 0 ? exceptionData?.records?.map((item: any, index: any) => { + return ( +
1 ? 'modal-list-block' : 'modal-list-block modal-list-block-border0'}> +
+
+ {item?.projectName} +
{item?.bidSectName || item?.sectionName}
-
} + {isEmpty(title) &&
+
+ 采购方式:{changeDict(dicData['procurement_mode=entrust'], item?.bidMethodDict)} +
+
} +
+
+ + {isNotEmpty(title) ? changeDict(dicData['procurement_mode=entrust'], item?.bidMethodDict) : isNotEmpty(exceptionType) ? exceptionType : item?.exType} + {item?.openTime || item?.recruitStartTime || item?.openingTime} + {isNotEmpty(item?.budgetAmount) ? Number(item?.budgetAmount).toFixed(2) : isNotEmpty(item?.bidSectContractPrice) ? typeof item?.bidSectContractPrice == "number" ? Number(item?.bidSectContractPrice).toFixed(2) : item?.bidSectContractPrice : "0"}元 + {item?.provinceName || item?.regionDictName || item?.province} + {item?.ownerContactName} + {item?.ownerContactTel} + {(item?.sectionState || item?.sectionStatus || item?.state) == 9 ? "异常处理" : changeDict(item?.bidMethodDict ? dicData[`business_module=${item?.bidMethodDict}`] : [], item?.businessModule)} + {item?.appManagerName} + {item?.appManagerTel} + +
-
- - {isNotEmpty(title) ? changeDict(dicData['procurement_mode=entrust'], item?.bidMethodDict) : isNotEmpty(exceptionType) ? exceptionType : item?.exType} - {item?.openTime || item?.recruitStartTime || item?.openingTime} - {isNotEmpty(item?.budgetAmount) ? Number(item?.budgetAmount).toFixed(2) : isNotEmpty(item?.bidSectContractPrice) ? typeof item?.bidSectContractPrice == "number" ? Number(item?.bidSectContractPrice).toFixed(2) : item?.bidSectContractPrice : "0"}元 - {item?.provinceName || item?.regionDictName || item?.province} - {item?.ownerContactName} - {item?.ownerContactTel} - {(item?.sectionState || item?.sectionStatus || item?.state) == 9 ? "异常处理" : changeDict(item?.bidMethodDict ? dicData[`business_module=${item?.bidMethodDict}`] : [], item?.businessModule)} - {item?.appManagerName} - {item?.appManagerTel} - -
-
- ) - }) : } + ) + }) : } +
+
+ +
{/*
onCancel()}> 确 定 diff --git a/src/pages/ElecEvaluation/Monitor/OpenToday/index.tsx b/src/pages/ElecEvaluation/Monitor/OpenToday/index.tsx index ac646a1..a307f09 100644 --- a/src/pages/ElecEvaluation/Monitor/OpenToday/index.tsx +++ b/src/pages/ElecEvaluation/Monitor/OpenToday/index.tsx @@ -250,28 +250,28 @@ const OpenToday: React.FC<{}> = () => { clearInterval(interval); } }, []) - useEffect(() => { - let interval: any = null; - let count = 0; - let lengthMap = [isNotEmpty(todayOpeningData?.todayList) ? todayOpeningData?.todayList.length : 0, isNotEmpty(todayOpeningData?.importantList) ? todayOpeningData?.importantList.length : 0].sort((a, b) => b - a); - if (lengthMap[0] > 1) {//至少2条才能滚动 - interval = setInterval(() => { - if (count < lengthMap[0]) { - setSelectKey(count); - const v0 = document.getElementsByClassName("scroll-select-bg")[0]; - const v1 = document.getElementsByClassName("scroll-select-bg")[1]; - v0?.scrollIntoView(false); - v1?.scrollIntoView(false); - count++; - } else { - count = 0; - } - }, 3000) - } - return () => { - clearInterval(interval); - } - }, [todayOpeningData?.todayList, todayOpeningData?.importantList]) + // useEffect(() => { + // let interval: any = null; + // let count = 0; + // let lengthMap = [isNotEmpty(todayOpeningData?.todayList) ? todayOpeningData?.todayList.length : 0, isNotEmpty(todayOpeningData?.importantList) ? todayOpeningData?.importantList.length : 0].sort((a, b) => b - a); + // if (lengthMap[0] > 1) {//至少2条才能滚动 + // interval = setInterval(() => { + // if (count < lengthMap[0]) { + // setSelectKey(count); + // const v0 = document.getElementsByClassName("scroll-select-bg")[0]; + // const v1 = document.getElementsByClassName("scroll-select-bg")[1]; + // v0?.scrollIntoView(false); + // v1?.scrollIntoView(false); + // count++; + // } else { + // count = 0; + // } + // }, 3000) + // } + // return () => { + // clearInterval(interval); + // } + // }, [todayOpeningData?.todayList, todayOpeningData?.importantList]) return (
diff --git a/src/pages/ElecEvaluation/Monitor/service.ts b/src/pages/ElecEvaluation/Monitor/service.ts index aea2ead..542c119 100644 --- a/src/pages/ElecEvaluation/Monitor/service.ts +++ b/src/pages/ElecEvaluation/Monitor/service.ts @@ -93,9 +93,10 @@ export async function getNoOpenNumberAPI(data: any) { /** * 异常监控-开启评审后3日未结束评标 */ -export async function getThreeDayNoEndAPI() { +export async function getThreeDayNoEndAPI(data: any) { return request('/api/biz-service-ebtp-statistics/api/evaluation/exception/threedaynoend', { - method: 'GET', + method: 'POST', + data: { ...data }, }); } @@ -142,11 +143,22 @@ export async function getNoOpenAssessNumberAPI(data: any) { } /** - * 异常监控-解密异常、mac地址相同及相关项目列表 + * 异常监控-解密异常列表、解密异常数量 */ -export async function getDecryptDataAPI() { - return request('/api/biz-service-ebtp-statistics/exceptionMonitor/getDecryptDataNow', { - method: 'GET', +export async function getDecryptExceptionListAPI(data: any) { + return request('/api/biz-service-ebtp-statistics/exceptionMonitor/getDecryptExceptionList', { + method: 'POST', + data: { ...data } + }); +} + +/** + * 异常监控-mac地址相同列表,mac地址相同数量 + */ +export async function getMacSameListAPI(data: any) { + return request('/api/biz-service-ebtp-statistics/exceptionMonitor/getMacSameList', { + method: 'POST', + data: { ...data } }); } @@ -162,9 +174,10 @@ export async function getThreeDaysUnSendAnnoCountAPI() { /** * 异常监控-评审室关闭3日内未发布公示列表 */ -export async function getThreeDaysUnSendAnnoListAPI() { +export async function getThreeDaysUnSendAnnoListAPI(data: any) { return request('/api/biz-service-ebtp-statistics/exceptionMonitor/threeDaysUnSendAnnoList', { - method: 'GET', + method: 'POST', + data: { ...data } }); } diff --git a/src/pages/ElecEvaluation/Monitor/style.less b/src/pages/ElecEvaluation/Monitor/style.less index b527b4d..6f1e767 100644 --- a/src/pages/ElecEvaluation/Monitor/style.less +++ b/src/pages/ElecEvaluation/Monitor/style.less @@ -1987,6 +1987,162 @@ justify-content: flex-end; } + .modal-list-content-g { + max-height: calc(84vh - 130px); + overflow-y: auto; + + &::-webkit-scrollbar { + display: none; + } + } + + .modal-list-search { + display: flex; + justify-content: flex-start; + margin-top: 16px; + + &>div { + color: #FFFFFF; + } + + &>div:not(:last-child) { + padding-right: 16px; + } + + .ant-input { + width: 200px; + color: #FFFFFF; + background-color: transparent; + border: 1px solid #1B7DF2; + + &:hover { + border-color: #1B7DF2; + } + + &:focus { + border-color: #1B7DF2; + box-shadow: 0 0 0 2px #1B7DF2; + } + + &::-webkit-input-placeholder { + color: #29F1FA; + } + + &:-ms-input-placeholder { + color: #29F1FA; + } + } + + .ant-btn-primary { + background: #1B7EF2; + border-color: #1B7EF2; + + &:hover &:focus &:active { + background: #1B7EF2; + border-color: #1B7EF2; + } + } + } + + .modal-list-pagination { + text-align: center; + + .ant-pagination-item { + // border: none; + background: none; + border: 0; + // margin-right: 0.5rem; + margin: 0 0.5rem 0 0; + + &>a { + color: #45a2ff; + } + + &:hover>a { + color: #ffd502; + } + + + } + + .ant-pagination-item:hover { + border-color: #ffd502; + } + + .ant-pagination-item:focus-visible { + border-color: #ffd502; + } + + .ant-pagination-item-active { + border-color: #ffd502; + + a { + color: #ffd502; + } + + &:hover &:focus-visible { + border-color: #ffd502; + } + } + + .ant-pagination-prev:focus-visible .ant-pagination-item-link, + .ant-pagination-next:focus-visible .ant-pagination-item-link, + .ant-pagination-prev:hover .ant-pagination-item-link, + .ant-pagination-next:hover .ant-pagination-item-link { + border-color: #45a2ff; + color: #45a2ff; + } + + .ant-pagination-prev .ant-pagination-item-link, + .ant-pagination-next .ant-pagination-item-link { + background: none; + border-color: #45a2ff; + color: #45a2ff; + } + + .pagination-icon { + font-size: 20px; + vertical-align: middle; + color: #45a2ff; + height: 24px; + } + + .ant-pagination-total-text { + color: #45a2ff; + } + + .ant-pagination-prev { + margin-right: 0.5rem; + + &>a>img { + position: relative; + top: -2px; + } + } + + .ant-pagination-next { + &>a>img { + position: relative; + top: -2px; + } + } + + .ant-pagination-item-ellipsis { + color: #45a2ff; + } + + .ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, + .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon { + color: #45a2ff; + } + + .ant-pagination-jump-prev .ant-pagination-item-container, + .ant-pagination-jump-next .ant-pagination-item-container { + position: relative; + top: -2px; + } + } + .modal-list-block { padding: 20px 0 16px; box-sizing: border-box;