2.7 修改弹窗

This commit is contained in:
jl-zhoujl2
2023-02-07 15:34:20 +08:00
parent e58d05bbca
commit 585471d9a1
5 changed files with 172 additions and 96 deletions

View File

@ -14,9 +14,9 @@ const MonitorException: React.FC<{}> = () => {
//开启评审后3日未结束评标-数量
const [threeDayNoEndCount, setThreeDayNoEndCount] = useState<any>(0);
//超过1小时未开标数量-列表
const [noOpenListData, setNoOpenListData] = useState<any[]>([]);
const [noOpenListData, setNoOpenListData] = useState<any>();
//开标后超过6小时未开启评审室-列表
const [noOpenAssessListData, setNoOpenAssessListData] = useState<any[]>([]);
const [noOpenAssessListData, setNoOpenAssessListData] = useState<any>();
//开标后超过6小时未开启评审室-数量
const [noOpenAssessNumber, setNoOpenAssessNumber] = useState<string | number>(0);
//异常监控-解密异常
@ -60,18 +60,26 @@ const MonitorException: React.FC<{}> = () => {
})
}
//超过1小时未开标数量-列表
const getNoOpenList = () => {
getNoOpenListAPI({ "timeLimit": "1", "dayNumber": "30" }).then(res => {
const getNoOpenList = (params: any, type: number) => {
getNoOpenListAPI({ "timeLimit": "1", "dayNumber": "30", ...params }).then(res => {
if (res?.code == 200) {
setNoOpenListData(res?.data?.records);
if (type == 0) {
setNoOpenListData(res?.data);
} else {
setModalListData(res?.data);
}
}
})
}
//开标后超过6小时未开启评审室-列表
const getNoOpenAssessList = () => {
getNoOpenAssessListAPI({ "timeLimit": "6", "dayNumber": "30" }).then(res => {
const getNoOpenAssessList = (params: any, type: number) => {
getNoOpenAssessListAPI({ "timeLimit": "6", "dayNumber": "30", ...params }).then(res => {
if (res?.code == 200) {
setNoOpenAssessListData(res?.data);
if (type == 0) {
setNoOpenAssessListData(res?.data);
} else {
setModalListData(res?.data);
}
}
})
}
@ -171,8 +179,8 @@ const MonitorException: React.FC<{}> = () => {
const params = { pageNo: 1, pageSize: 10 };
getNoOpenNumber();
getThreeDayNoEnd(params, 0);
getNoOpenList();
getNoOpenAssessList();
getNoOpenList(params, 0);
getNoOpenAssessList(params, 0);
getNoOpenAssessNumber();
getDecryptExceptionList(params, 0);
getMacSameList(params, 0);
@ -269,7 +277,7 @@ const MonitorException: React.FC<{}> = () => {
onHeaderCell,
render: (_: any, record: any) => {
return (
<a onClick={() => { setExceptionType(null); setModalListData([record]); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
<a onClick={() => { setExceptionType(null); setModalListData({ records: [record] }); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
)
},
},
@ -332,7 +340,7 @@ const MonitorException: React.FC<{}> = () => {
onHeaderCell,
render: (_: any, record: any) => {
return (
<a onClick={() => { setExceptionType("解密异常"); setModalListData([record]); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
<a onClick={() => { setExceptionType("解密异常"); setModalListData({ records: [record] }); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
)
},
},
@ -395,7 +403,7 @@ const MonitorException: React.FC<{}> = () => {
onHeaderCell,
render: (_: any, record: any) => {
return (
<a onClick={() => { setExceptionType("评标结束后3日内未发布公示"); setModalListData([record]); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
<a onClick={() => { setExceptionType("评标结束后3日内未发布公示"); setModalListData({ records: [record] }); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
)
},
},
@ -458,7 +466,7 @@ const MonitorException: React.FC<{}> = () => {
onHeaderCell,
render: (_: any, record: any) => {
return (
<a onClick={() => { setExceptionType("开启评审后3日未结束评标"); setModalListData([record]); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
<a onClick={() => { setExceptionType("开启评审后3日未结束评标"); setModalListData({ records: [record] }); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
)
},
},
@ -521,7 +529,7 @@ const MonitorException: React.FC<{}> = () => {
onHeaderCell,
render: (_: any, record: any) => {
return (
<a onClick={() => { setExceptionType("MAC地址重复"); setModalListData([record]); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
<a onClick={() => { setExceptionType("MAC地址重复"); setModalListData({ records: [record] }); setModalListVisible(true); }} className='monitor-extra-pointer' style={{ color: "#1b7ef2" }}></a>
)
},
},
@ -544,11 +552,11 @@ const MonitorException: React.FC<{}> = () => {
<div className="monitor-left-main">
<ScreenLabel title="1小时未开标项目列表" extra={<span className='monitor-extra-pointer' onClick={() => { setExceptionType(null); setModalListData(noOpenListData); dataType.current = "1"; setModalListVisible(true); }}>more</span>} />
<div className="monitor-exception-card">
<ScrollTable dataSource={noOpenListData} columns={columns} ynum={260} rowKey="sectionId" rowClassName="scroll-select-bg0" tableKey={0} isScroll />
<ScrollTable dataSource={noOpenListData?.records} columns={columns} ynum={260} rowKey="sectionId" rowClassName="scroll-select-bg0" tableKey={0} isScroll />
</div>
<ScreenLabel title="开标后六小时未开启评审" extra={<span className='monitor-extra-pointer' onClick={() => { setExceptionType(null); setModalListData(noOpenAssessListData); dataType.current = "4"; setModalListVisible(true); }}>more</span>} />
<div className="monitor-exception-card">
<ScrollTable dataSource={noOpenAssessListData} columns={columns} ynum={260} rowKey="sectionId" rowClassName="scroll-select-bg1" tableKey={1} isScroll />
<ScrollTable dataSource={noOpenAssessListData?.records} columns={columns} ynum={260} rowKey="sectionId" rowClassName="scroll-select-bg1" tableKey={1} isScroll />
</div>
</div>
</Col>
@ -577,7 +585,7 @@ const MonitorException: React.FC<{}> = () => {
</div>
</Col>
</Row>
<ModalList modalVisible={modalListVisible} onCancel={() => { setModalListVisible(false); setModalListData([]); }} exceptionData={modalListData} exceptionType={exceptionType} onCallBack={(current, projectName, ownerContactName) => {
<ModalList modalVisible={modalListVisible} onCancel={() => { setModalListVisible(false); setModalListData({}); }} exceptionData={modalListData} exceptionType={exceptionType} onCallBack={(current, projectName, ownerContactName) => {
const params = {
pageNo: current,
pageSize: 10,
@ -585,13 +593,13 @@ const MonitorException: React.FC<{}> = () => {
projectName != "" ? params["projectName"] = projectName : null;
ownerContactName != "" ? params["ownerContactName"] = ownerContactName : null;
if (dataType.current == "1") {
getNoOpenList(params, 1);
} else if (dataType.current == "2") {
getDecryptExceptionList(params, 1);
} else if (dataType.current == "3") {
getMacSameList(params, 1);
} else if (dataType.current == "4") {
getNoOpenAssessList(params, 1);
} else if (dataType.current == "5") {
getThreeDayNoEnd(params, 1);
} else if (dataType.current == "6") {

View File

@ -14,7 +14,7 @@ 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 { CaretRightOutlined, DownOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons';
import './china';
import * as echarts from 'echarts';
import { getActiveSupplierAPI, getAnnoCountAPI, getAnnualAndTenderAgentAPI, getExpertNumberAPI, getMonitorListAPI, getOpeningListAPI, getReviewDistributionAPI, getSupplierCountAPI, getTodayInfoAPI, getTodayOpeningAPI } from '../service';
@ -696,11 +696,17 @@ export const ModalList = (props: { modalVisible: boolean, onCancel: () => void,
onCallBack(page, project.current, owner.current);
};
const itemRender: PaginationProps['itemRender'] = (_, type, originalElement) => {
// if (type === 'prev') {
// return <a><img src={arrowLeftCircleFill} alt="" /></a>;
// }
// if (type === 'next') {
// return <a><img src={arrowRightCircleFill} alt="" /></a>;
// }
if (type === 'prev') {
return <a><img src={arrowLeftCircleFill} alt="" /></a>;
return <a><LeftOutlined style={{ color: "#FFFFFF" }} /></a>;
}
if (type === 'next') {
return <a><img src={arrowRightCircleFill} alt="" /></a>;
return <a><RightOutlined style={{ color: "#FFFFFF" }} /></a>;
}
return originalElement;
};
@ -737,7 +743,7 @@ export const ModalList = (props: { modalVisible: boolean, onCancel: () => void,
footer={null}
>
<h3 style={titleStyle}>{isNotEmpty(title) ? title : "重点监测异常明细单"}</h3>
<div className='modal-list-search'>
{exceptionData?.total && <div className='modal-list-search'>
<div>
<Input style={{ width: 200 }} onChange={onProjectChange} />
</div>
@ -747,7 +753,7 @@ export const ModalList = (props: { modalVisible: boolean, onCancel: () => void,
<div>
<Button type="primary" onClick={() => { onSearchClick() }}></Button>
</div>
</div>
</div>}
<div className='modal-list-content-g'>
{exceptionData?.records?.length > 0 ? exceptionData?.records?.map((item: any, index: any) => {
return (
@ -780,9 +786,9 @@ export const ModalList = (props: { modalVisible: boolean, onCancel: () => void,
)
}) : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} className="monitor-modal-empty" />}
</div>
<div className='modal-list-pagination'>
<Pagination current={current} pageSize={10} showSizeChanger={false} onChange={onChange} total={total} itemRender={itemRender} />
</div>
{exceptionData?.total && <div className='modal-list-pagination'>
<Pagination current={current} pageSize={10} showSizeChanger={false} onChange={onChange} total={total} itemRender={itemRender} showTotal={(total, range) => `${total}`} />
</div>}
{/* <div className='monitor-modal-btn'>
<div className='modal-list-btn' onClick={() => onCancel()}>
<span>确 定</span>

View File

@ -24,13 +24,13 @@ const OpenToday: React.FC<{}> = () => {
//超过5小时未开标数量
const [noOpenNumberFive, setNoOpenNumberFive] = useState<string>("0");
//超过2小时未开标列表
const [noOpenListTwo, setNoOpenListTwo] = useState<any[]>([]);
const [noOpenListTwo, setNoOpenListTwo] = useState<any>();
//超过5小时未开标列表
const [noOpenListFive, setNoOpenListFive] = useState<any[]>([]);
const [noOpenListFive, setNoOpenListFive] = useState<any>();
//ModalList visible
const [modalListVisible, setModalListVisible] = useState<boolean>(false);
//ModalList Data
const [modalListData, setModalListData] = useState<any[]>([]);
const [modalListData, setModalListData] = useState<any>();
//ModalList Type
const [exceptionType, setExceptionType] = useState<any>();
//selectKey
@ -41,6 +41,10 @@ const OpenToday: React.FC<{}> = () => {
const auth = useRef<boolean>(authCheck(["ebtp-watcher"]));
//定时器描述
const _time = 60000;
//modal弹窗数据类型
const dataType = useRef<string>("");
//
const isInterval = useRef<boolean>(true);
//初始化字典
let dic: any = getDicData();
let dicData: any = JSON.parse(dic);
@ -157,23 +161,27 @@ const OpenToday: React.FC<{}> = () => {
})
}
//今日开标-解密成功率
const getDecryptSuccessRateToday = () => {
getDecryptSuccessRateTodayAPI().then(res => {
const getDecryptSuccessRateToday = (params: any, type: number) => {
getDecryptSuccessRateTodayAPI({ ...params }).then(res => {
if (res?.code == 200) {
const data = res?.data;
if (data?.decryptFailProjectList?.length > 0) {
for (let i = 0, length = data.decryptFailProjectList.length; i < length; i++) {
data.decryptFailProjectList[i]["regionDictName"] = data.decryptFailProjectList[i].projectRecord?.regionDictName;
data.decryptFailProjectList[i]["projectName"] = data.decryptFailProjectList[i].projectRecord?.projectName;
data.decryptFailProjectList[i]["ownerContactName"] = data.decryptFailProjectList[i].projectRecord?.ownerContactName;
data.decryptFailProjectList[i]["ownerContactTel"] = data.decryptFailProjectList[i].projectRecord?.ownerContactTel;
data.decryptFailProjectList[i]["appManagerName"] = data.decryptFailProjectList[i].projectRecord?.appManagerName;
data.decryptFailProjectList[i]["appManagerTel"] = data.decryptFailProjectList[i].projectRecord?.appManagerTel;
data.decryptFailProjectList[i]["recruitStartTime"] = data.decryptFailProjectList[i].projectRecord?.recruitStartTime;
data.decryptFailProjectList[i]["bidMethodDict"] = data.decryptFailProjectList[i].projectRecord?.bidMethodDict;
if (data?.decryptFailProjectList?.records?.length > 0) {
for (let i = 0, length = data.decryptFailProjectList.records.length; i < length; i++) {
data.decryptFailProjectList.records[i]["regionDictName"] = data.decryptFailProjectList.records[i].projectRecord?.regionDictName;
data.decryptFailProjectList.records[i]["projectName"] = data.decryptFailProjectList.records[i].projectRecord?.projectName;
data.decryptFailProjectList.records[i]["ownerContactName"] = data.decryptFailProjectList.records[i].projectRecord?.ownerContactName;
data.decryptFailProjectList.records[i]["ownerContactTel"] = data.decryptFailProjectList.records[i].projectRecord?.ownerContactTel;
data.decryptFailProjectList.records[i]["appManagerName"] = data.decryptFailProjectList.records[i].projectRecord?.appManagerName;
data.decryptFailProjectList.records[i]["appManagerTel"] = data.decryptFailProjectList.records[i].projectRecord?.appManagerTel;
data.decryptFailProjectList.records[i]["recruitStartTime"] = data.decryptFailProjectList.records[i].projectRecord?.recruitStartTime;
data.decryptFailProjectList.records[i]["bidMethodDict"] = data.decryptFailProjectList.records[i].projectRecord?.bidMethodDict;
}
}
setDecryptSuccessRateTodayData(data);
if (type == 0) {
setDecryptSuccessRateTodayData(data);
} else {
setModalListData(data?.decryptFailProjectList);
}
}
})
}
@ -186,18 +194,26 @@ const OpenToday: React.FC<{}> = () => {
})
}
//评标阶段6小时未评标
const getUnopenSix = () => {
getUnopenSixAPI().then(res => {
const getUnopenSix = (params: any, type: number) => {
getUnopenSixAPI({ ...params }).then(res => {
if (res?.code == 200) {
setUnopenSixData(res?.data);
if (type == 0) {
setUnopenSixData(res?.data);
} else {
setModalListData(res?.data);
}
}
})
}
//评标阶段10小时未评标
const getUnopenTen = () => {
getUnopenTenAPI().then(res => {
const getUnopenTen = (params: any, type: number) => {
getUnopenTenAPI({ ...params }).then(res => {
if (res?.code == 200) {
setUnopenTenData(res?.data);
if (type == 0) {
setUnopenTenData(res?.data);
} else {
setModalListData(res?.data);
}
}
})
}
@ -215,35 +231,59 @@ const OpenToday: React.FC<{}> = () => {
})
}
//超n小时未开标列表
const getNoOpenList = () => {
getNoOpenListAPI({ "timeLimit": "2", "dayNumber": "1" }).then(res => {
const getNoOpenListTwo = (params: any, type: number) => {
getNoOpenListAPI({ "timeLimit": "2", "dayNumber": "1", ...params }).then(res => {
if (res?.code == 200) {
setNoOpenListTwo(res?.data?.records);
if (type == 0) {
setNoOpenListTwo(res?.data);
} else {
setModalListData(res?.data);
}
}
})
getNoOpenListAPI({ "timeLimit": "5", "dayNumber": "1" }).then(res => {
}
//超n小时未开标列表
const getNoOpenListFive = (params: any, type: number) => {
getNoOpenListAPI({ "timeLimit": "5", "dayNumber": "1", ...params }).then(res => {
if (res?.code == 200) {
setNoOpenListFive(res?.data?.records);
if (type == 0) {
setNoOpenListFive(res?.data);
} else {
setModalListData(res?.data);
}
}
})
}
//页面数据获取
const getPageData = () => {
getTodayInfo();
getDecryptSuccessRateToday();
getTodayOpening();
getUnopenSix();
getUnopenTen();
getNoOpenNumber();
getNoOpenList();
}
//分页数据
const getCurrentData = () => {
const params = { pageSize: 10, pageNo: 1 };
getDecryptSuccessRateToday(params, 0);
getNoOpenListTwo(params, 0);
getNoOpenListFive(params, 0);
getUnopenSix(params, 0);
getUnopenTen(params, 0);
}
useEffect(() => {
let interval: any;
if (auth.current) {
getPageData();
getCurrentData();
interval = setInterval(() => {
getPageData();
if (isInterval.current) {
getPageData();
getCurrentData();
}
}, _time);
}
return () => {
@ -296,9 +336,9 @@ const OpenToday: React.FC<{}> = () => {
<OverviewItem icon={Circle3199} title="已评标" number={isNotEmpty(todayInfoData?.openAssessNumber) ? todayInfoData?.openAssessNumber : 0} unit="个" />
</div>
<div className="monitor-top-space-flex">
<ProgressItem progress={isNotEmpty(decryptSuccessRateTodayData?.successRate) ? Number(Number(decryptSuccessRateTodayData?.successRate).toFixed(0)) : 100} title="解密成功率" leftTitle='解密成功' rightTitle='解密失败' leftNumber={isNotEmpty(decryptSuccessRateTodayData?.successNum) ? Number(decryptSuccessRateTodayData?.successNum) : 0} rightNumber={isNotEmpty(decryptSuccessRateTodayData?.failNum) ? Number(decryptSuccessRateTodayData?.failNum) : 0} leftClick={() => { }} rightClick={() => { setExceptionType("解密异常"); setModalTitle(null); setModalListData(isNotEmpty(decryptSuccessRateTodayData?.decryptFailProjectList) ? decryptSuccessRateTodayData?.decryptFailProjectList : []); setModalListVisible(true); }} />
<ProgressItem progress={isNotEmpty(todayOpeningData?.sectionNumber) ? todayOpeningData?.sectionNumber != 0 ? Number((((todayOpeningData?.sectionNumber - Number(noOpenNumberTwo)) / Number(todayOpeningData?.sectionNumber)) * 100).toFixed(0)) : 100 : 100} title="开标及时率" leftTitle='2小时未开标' rightTitle='5小时未开标' leftNumber={noOpenNumberTwo} rightNumber={noOpenNumberFive} leftClick={() => { setExceptionType("2小时未开标"); setModalTitle(null); setModalListData(noOpenListTwo); setModalListVisible(true); }} rightClick={() => { setExceptionType("5小时未开标"); setModalTitle(null); setModalListData(noOpenListFive); setModalListVisible(true); }} />
<ProgressItem progress={isNotEmpty(todayInfoData?.sectionNumber) ? todayInfoData?.sectionNumber != 0 ? Number((((todayInfoData?.sectionNumber - Number(todayInfoData?.sixTimelyRate)) / Number(todayInfoData?.sectionNumber)) * 100).toFixed(0)) : 100 : 100} title="评标及时率" leftTitle='6小时未评标' rightTitle='10小时未评标' leftNumber={todayInfoData?.sixTimelyRate} rightNumber={todayInfoData?.tenTimelyRate} leftClick={() => { setExceptionType("6小时未评标"); setModalTitle(null); setModalListData(unopenSixData); setModalListVisible(true); }} rightClick={() => { setExceptionType("10小时未评标"); setModalTitle(null); setModalListData(unopenTenData); setModalListVisible(true); }} />
<ProgressItem progress={isNotEmpty(decryptSuccessRateTodayData?.successRate) ? Number(Number(decryptSuccessRateTodayData?.successRate).toFixed(0)) : 100} title="解密成功率" leftTitle='解密成功' rightTitle='解密失败' leftNumber={isNotEmpty(decryptSuccessRateTodayData?.successNum) ? Number(decryptSuccessRateTodayData?.successNum) : 0} rightNumber={isNotEmpty(decryptSuccessRateTodayData?.failNum) ? Number(decryptSuccessRateTodayData?.failNum) : 0} leftClick={() => { }} rightClick={() => { setExceptionType("解密异常"); setModalTitle(null); setModalListData(decryptSuccessRateTodayData?.decryptFailProjectList); dataType.current = "1"; isInterval.current = false; setModalListVisible(true); }} />
<ProgressItem progress={isNotEmpty(todayOpeningData?.sectionNumber) ? todayOpeningData?.sectionNumber != 0 ? Number((((todayOpeningData?.sectionNumber - Number(noOpenNumberTwo)) / Number(todayOpeningData?.sectionNumber)) * 100).toFixed(0)) : 100 : 100} title="开标及时率" leftTitle='2小时未开标' rightTitle='5小时未开标' leftNumber={noOpenNumberTwo} rightNumber={noOpenNumberFive} leftClick={() => { setExceptionType("2小时未开标"); setModalTitle(null); setModalListData(noOpenListTwo?.records); dataType.current = "2"; isInterval.current = false; setModalListVisible(true); }} rightClick={() => { setExceptionType("5小时未开标"); setModalTitle(null); setModalListData(noOpenListFive?.records); dataType.current = "3"; isInterval.current = false; setModalListVisible(true); }} />
<ProgressItem progress={isNotEmpty(todayInfoData?.sectionNumber) ? todayInfoData?.sectionNumber != 0 ? Number((((todayInfoData?.sectionNumber - Number(todayInfoData?.sixTimelyRate)) / Number(todayInfoData?.sectionNumber)) * 100).toFixed(0)) : 100 : 100} title="评标及时率" leftTitle='6小时未评标' rightTitle='10小时未评标' leftNumber={todayInfoData?.sixTimelyRate} rightNumber={todayInfoData?.tenTimelyRate} leftClick={() => { setExceptionType("6小时未评标"); setModalTitle(null); setModalListData(unopenSixData); dataType.current = "4"; isInterval.current = false; setModalListVisible(true); }} rightClick={() => { setExceptionType("10小时未评标"); setModalTitle(null); setModalListData(unopenTenData); dataType.current = "5"; isInterval.current = false; setModalListVisible(true); }} />
</div>
</Col>
<Col span={7}>
@ -315,17 +355,35 @@ const OpenToday: React.FC<{}> = () => {
<Col span={12}>
<ScreenLabel title="今日开标明细" />
<div className='monitor-tender-card'>
<ScrollTable dataSource={todayOpeningData?.todayList} columns={columns} ynum={540} rowKey="sectionId" isScroll tableKey={0} rollNum={14} onDoubleClick={(record: any) => { setModalTitle("今日开标明细"); setModalListData([record]); setModalListVisible(true); }} />
<ScrollTable dataSource={todayOpeningData?.todayList} columns={columns} ynum={540} rowKey="sectionId" isScroll tableKey={0} rollNum={14} onDoubleClick={(record: any) => { setModalTitle("今日开标明细"); setModalListData({ records: [record] }); setModalListVisible(true); }} />
</div>
</Col>
<Col span={12}>
<ScreenLabel title="重保项目" />
<div className='monitor-tender-card'>
<ScrollTable dataSource={isNotEmpty(todayOpeningData?.importantList) ? todayOpeningData?.importantList : []} columns={reiColumns} ynum={540} rowKey="id" isScroll tableKey={1} rollNum={14} onDoubleClick={(record: any) => { setModalTitle("重保项目明细"); setModalListData([record]); setModalListVisible(true); }} />
<ScrollTable dataSource={isNotEmpty(todayOpeningData?.importantList) ? todayOpeningData?.importantList : []} columns={reiColumns} ynum={540} rowKey="id" isScroll tableKey={1} rollNum={14} onDoubleClick={(record: any) => { setModalTitle("重保项目明细"); setModalListData({ records: [record] }); setModalListVisible(true); }} />
</div>
</Col>
</Row>
<ModalList modalVisible={modalListVisible} onCancel={() => { setModalListVisible(false); setModalListData([]); }} exceptionData={modalListData} exceptionType={exceptionType} title={modalTitle} />
<ModalList modalVisible={modalListVisible} onCancel={() => { setModalListVisible(false); setModalListData({}); isInterval.current = true; }} exceptionData={modalListData} exceptionType={exceptionType} title={modalTitle} onCallBack={(current, projectName, ownerContactName) => {
const params = {
pageNo: current,
pageSize: 10,
}
projectName != "" ? params["projectName"] = projectName : null;
ownerContactName != "" ? params["ownerContactName"] = ownerContactName : null;
if (dataType.current == "1") {
getDecryptSuccessRateToday(params, 1);
} else if (dataType.current == "2") {
getNoOpenListTwo(params, 1);
} else if (dataType.current == "3") {
getNoOpenListFive(params, 1);
} else if (dataType.current == "4") {
getUnopenSix(params, 1);
} else if (dataType.current == "5") {
getUnopenTen(params, 1);
}
}} />
</ScreenTitle>
);
};

View File

@ -193,25 +193,28 @@ export async function getTodayInfoAPI() {
/**
* 今日开标-评标阶段10小时未评标
*/
export async function getUnopenTenAPI() {
export async function getUnopenTenAPI(data: any) {
return request('/api/biz-service-ebtp-statistics/api/evaluation/today/unopen/ten', {
method: 'GET',
method: 'POST',
data: { ...data },
});
}
/**
* 今日开标-评标阶段6小时未评标
*/
export async function getUnopenSixAPI() {
export async function getUnopenSixAPI(data: any) {
return request('/api/biz-service-ebtp-statistics/api/evaluation/today/unopen/six', {
method: 'GET',
method: 'POST',
data: { ...data },
});
}
/**
* 今日开标-解密成功率
*/
export async function getDecryptSuccessRateTodayAPI() {
export async function getDecryptSuccessRateTodayAPI(data: any) {
return request('/api/biz-service-ebtp-statistics/exceptionMonitor/getDecryptSuccessRateToday', {
method: 'GET',
method: 'POST',
data: { ...data }
});
}

View File

@ -2013,15 +2013,15 @@
width: 200px;
color: #FFFFFF;
background-color: transparent;
border: 1px solid #1B7DF2;
border: 1px solid #01C2FF;
&:hover {
border-color: #1B7DF2;
border-color: #01C2FF;
}
&:focus {
border-color: #1B7DF2;
box-shadow: 0 0 0 2px #1B7DF2;
border-color: #01C2FF;
box-shadow: 0 0 0 2px #01C2FF;
}
&::-webkit-input-placeholder {
@ -2034,18 +2034,19 @@
}
.ant-btn-primary {
background: #1B7EF2;
border-color: #1B7EF2;
background: #01C2FF;
border-color: #01C2FF;
&:hover &:focus &:active {
background: #1B7EF2;
border-color: #1B7EF2;
background: #01C2FF;
border-color: #01C2FF;
}
}
}
.modal-list-pagination {
text-align: center;
text-align: right;
margin-top: 16px;
.ant-pagination-item {
// border: none;
@ -2055,33 +2056,33 @@
margin: 0 0.5rem 0 0;
&>a {
color: #45a2ff;
color: #FFFFFF;
}
&:hover>a {
color: #ffd502;
color: #45a2ff;
}
}
.ant-pagination-item:hover {
border-color: #ffd502;
border-color: #45a2ff;
}
.ant-pagination-item:focus-visible {
border-color: #ffd502;
border-color: #45a2ff;
}
.ant-pagination-item-active {
border-color: #ffd502;
border-color: #45a2ff;
a {
color: #ffd502;
color: #45a2ff;
}
&:hover &:focus-visible {
border-color: #ffd502;
border-color: #45a2ff;
}
}
@ -2089,26 +2090,26 @@
.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;
border-color: #FFFFFF;
color: #FFFFFF;
}
.ant-pagination-prev .ant-pagination-item-link,
.ant-pagination-next .ant-pagination-item-link {
background: none;
border-color: #45a2ff;
color: #45a2ff;
border-color: #FFFFFF;
color: #FFFFFF;
}
.pagination-icon {
font-size: 20px;
vertical-align: middle;
color: #45a2ff;
color: #FFFFFF;
height: 24px;
}
.ant-pagination-total-text {
color: #45a2ff;
color: #FFFFFF;
}
.ant-pagination-prev {
@ -2128,12 +2129,12 @@
}
.ant-pagination-item-ellipsis {
color: #45a2ff;
color: #FFFFFF;
}
.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;
color: #FFFFFF;
}
.ant-pagination-jump-prev .ant-pagination-item-container,