1.2 第八版修改

This commit is contained in:
jl-zhoujl2
2023-01-02 23:54:07 +08:00
parent 32cad1e497
commit 4076caf2c6
5 changed files with 35 additions and 16 deletions

View File

@ -453,7 +453,7 @@ const MonitorException: React.FC<{}> = () => {
</Col>
<Col span={8}>
<div className="monitor-center-main">
<ScreenLabel title="解密异常项目列表" extra={<span className='monitor-extra-pointer' onClick={() => { setExceptionType("解密异常"); setModalListData(decryptData?.decryptExceptionList); setModalListVisible(true); }}>more</span>} />
<ScreenLabel title="解密异常项目列表" extra={<span className='monitor-extra-pointer' onClick={() => { setExceptionType("解密异常"); setModalListData(decryptData?.decryptExceptionList ? decryptData?.decryptExceptionList : []); setModalListVisible(true); }}>more</span>} />
<div className="monitor-exception-card">
<ScrollTable dataSource={decryptData?.decryptExceptionList} columns={columnsSecond} ynum={266} />
</div>
@ -465,7 +465,7 @@ const MonitorException: React.FC<{}> = () => {
</Col>
<Col span={8}>
<div className="monitor-right-main">
<ScreenLabel title="MAC地址重复项目列表" extra={<span className='monitor-extra-pointer' onClick={() => { setExceptionType("MAC地址重复"); setModalListData(decryptData?.macSameList); setModalListVisible(true); }}>more</span>} />
<ScreenLabel title="MAC地址重复项目列表" extra={<span className='monitor-extra-pointer' onClick={() => { setExceptionType("MAC地址重复"); setModalListData(decryptData?.macSameList ? decryptData?.macSameList : []); setModalListVisible(true); }}>more</span>} />
<div className="monitor-exception-card">
<ScrollTable dataSource={decryptData?.macSameList} columns={columnsFifth} ynum={266} />
</div>

View File

@ -16,7 +16,7 @@ import './china';
import * as echarts from 'echarts';
import { getActiveSupplierAPI, getAnnoCountAPI, getAnnualAndTenderAgentAPI, getExpertNumberAPI, getMonitorListAPI, getOpeningListAPI, getReviewDistributionAPI, getSupplierCountAPI, getTodayOpeningAPI } from '../service';
import moment from 'moment';
import { isNotEmpty } from '@/utils/CommonUtils';
import { isEmpty, isNotEmpty } from '@/utils/CommonUtils';
import { getSessionUserData } from '@/utils/session';
import { history } from 'umi';
@ -600,7 +600,7 @@ export const GraphChart = (props: { type: string, chartData: any[], chartColor?:
},
axisLabel: { color: '#FFFFFF' },
// prettier-ignore
data: ['2022-8', '2022-9', '2022-10', '2022-11', '2022-12'],
data: chartData?.[3],
}
],
yAxis: [
@ -1260,8 +1260,11 @@ export const GraphChart = (props: { type: string, chartData: any[], chartColor?:
//角色校验
export const authCheck = () => {
//获取角色列表
const authorityList: any[] = getSessionUserData()?.authorityList;
if (authorityList.findIndex(item => item.roleCode == "ebtp-watcher") == -1) {//监看人员校验
const authorityList: any[] | undefined = getSessionUserData()?.authorityList;
if (isEmpty(authorityList)) {
return false;
}
if (authorityList?.findIndex(item => item.roleCode == "ebtp-watcher") == -1) {//监看人员校验
history.replace({ pathname: "/401", query: { code: "405" } });
return false;
}
@ -1288,11 +1291,11 @@ const MonitorHome: React.FC<{}> = () => {
//年度&月度 year-年度 month-月度
const [ymChange, setYmChange] = useState<string>("year");
//评标室监控
const [monitorList, setMonitorList] = useState<any[]>([]);
const [monitorList, setMonitorList] = useState<any[]>([{ status: "3" }, { status: "3" }, { status: "3" }]);
//权限校验
const auth = useRef<boolean>(authCheck());
const bidStatusMap = ["准备评标", "正在评标", "评标结束"];
const statusColorMap = ["card-text-orange", "card-text-green", "card-text-purple"];
const bidStatusMap = ["准备评标", "正在评标", "评标结束", "暂无数据"];
const statusColorMap = ["card-text-orange", "card-text-green", "card-text-purple", "card-text-white"];
const mapChart = useMemo(() => {
return reviewDistributionData.length > 0 && <GraphChart type="map" chartData={reviewDistributionData} />
}, [reviewDistributionData])
@ -1391,6 +1394,9 @@ const MonitorHome: React.FC<{}> = () => {
}
//监控室点击事件
const onCardClick = (item: any) => {
if (item.status == "3") {
return;
}
if (item.status == "0") {
message.info("当前评标室未开启,请等待开启后查看");
return;
@ -1467,14 +1473,14 @@ const MonitorHome: React.FC<{}> = () => {
{/* <div> */}
<Row gutter={16}>
{monitorList.map((item, index) => (
<Col span={8}>
<Col span={8} key={index}>
{/* <div> */}
<div className="card-default-01" onClick={() => onCardClick(item)}>
<img src={default_play}></img>
<div className={statusColorMap[item.status]}>{bidStatusMap[item.status]}</div>
</div>
<div className="evaluation-text">
<span>{item.projectName}</span>
<span>{item?.projectName}</span>
</div>
{/* </div> */}

View File

@ -227,15 +227,15 @@ const OpenToday: React.FC<{}> = () => {
</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("解密异常"); setModalListData(isNotEmpty(decryptSuccessRateTodayData?.decryptFailProjectList) ? decryptSuccessRateTodayData?.decryptFailProjectList : []); setModalListVisible(true); }} />
<ProgressItem progress={isNotEmpty(todayOpeningData?.sectionNumber) ? todayOpeningData?.sectionNumber != 0 ? Number((((todayOpeningData?.sectionNumber - Number(noOpenNumberTwo) - Number(noOpenNumberFive)) / Number(todayOpeningData?.sectionNumber)) * 100).toFixed(0)) : 100 : 100} title="开标及时率" leftTitle='2小时未开标' rightTitle='5小时未开标' leftNumber={noOpenNumberTwo} rightNumber={noOpenNumberFive} leftClick={() => { setExceptionType(null); setModalListData(noOpenListTwo); setModalListVisible(true); }} rightClick={() => { setExceptionType(null); setModalListData(noOpenListFive); setModalListVisible(true); }} />
<ProgressItem progress={isNotEmpty(todayInfoData?.sectionNumber) ? todayInfoData?.sectionNumber != 0 ? Number((((todayInfoData?.sectionNumber - Number(todayInfoData?.sixTimelyRate) - Number(todayInfoData?.tenTimelyRate)) / Number(todayInfoData?.sectionNumber)) * 100).toFixed(0)) : 100 : 100} title="评标及时率" leftTitle='6小时未评标' rightTitle='10小时未评标' leftNumber={todayInfoData?.sixTimelyRate} rightNumber={todayInfoData?.tenTimelyRate} leftClick={() => { setExceptionType(null); setModalListData(unopenSixData); setModalListVisible(true); }} rightClick={() => { setExceptionType(null); setModalListData(unopenTenData); 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(null); setModalListData(noOpenListTwo); setModalListVisible(true); }} rightClick={() => { setExceptionType(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(null); setModalListData(unopenSixData); setModalListVisible(true); }} rightClick={() => { setExceptionType(null); setModalListData(unopenTenData); setModalListVisible(true); }} />
</div>
</Col>
<Col span={7}>
<div className='monitor-tender-card'>
<ScreenLabel title="评标阶段" />
<div className='monitor-tender-card'>
<StageCard percentage={isNotEmpty(todayInfoData?.timelyRate) ? Number(todayInfoData?.timelyRate) : 0} total={isNotEmpty(todayInfoData?.sectionNumber) ? todayInfoData?.sectionNumber : 0} firstTitle="开启评审" firstNumber={`${isNotEmpty(todayInfoData?.openAssessNumber) ? todayInfoData?.openAssessNumber : 0}`} secondTitle="专家签到" secondNumber={`${isNotEmpty(todayInfoData?.signExpertNumber) ? todayInfoData?.signExpertNumber : 0}/${isNotEmpty(todayInfoData?.totalExpertNumber) ? todayInfoData?.totalExpertNumber : 0}`} thirdTitle="评审汇总" thirdNumber={`${isNotEmpty(todayInfoData?.resultNumber) ? todayInfoData?.resultNumber : 0}`} />
<StageCard percentage={isNotEmpty(todayInfoData?.sectionNumber) && todayInfoData?.sectionNumber != "0" ? Number(((Number(todayInfoData?.resultNumber) / todayInfoData?.sectionNumber) * 100).toFixed(0)) : 0} total={isNotEmpty(todayInfoData?.sectionNumber) ? todayInfoData?.sectionNumber : 0} firstTitle="开启评审" firstNumber={`${isNotEmpty(todayInfoData?.openAssessNumber) ? todayInfoData?.openAssessNumber : 0}`} secondTitle="专家签到" secondNumber={`${isNotEmpty(todayInfoData?.signExpertNumber) ? todayInfoData?.signExpertNumber : 0}/${isNotEmpty(todayInfoData?.totalExpertNumber) ? todayInfoData?.totalExpertNumber : 0}`} thirdTitle="评审汇总" thirdNumber={`${isNotEmpty(todayInfoData?.resultNumber) ? todayInfoData?.resultNumber : 0}`} />
</div>
</div>
</Col>

View File

@ -102,12 +102,14 @@ const TenderAgent: React.FC<{}> = () => {
const wclList: any[] = [];
const dlxmsList: any[] = [];
const dlxmysList: any[] = [];
data.slice(7, 12).forEach((item: any) => {
const monthList: any[] = [];
data.slice(1, 6).forEach((item: any) => {
wclList.push(Number((item.wcl * 100).toFixed(1)));
dlxmsList.push(item.dlxms);
dlxmysList.push(Number(item.dlxmys.toFixed(2)));
monthList.push(item.monthDate);
});
const monthDataMap = [wclList, dlxmsList, dlxmysList];
const monthDataMap = [wclList, dlxmsList, dlxmysList, monthList];
setMonthData(monthDataMap)
const selectData: any[] = res?.data.agencyList.map((item: any) => ({ label: item.agencyName, value: item.agencyId }));//右侧代理机构下拉

View File

@ -288,6 +288,11 @@
.card-text-orange;
color: rgb(189, 16, 224);
}
.card-text-white {
.card-text-orange;
color: #fff;
}
}
.evaluation-text {
@ -1007,6 +1012,12 @@
}
.monitor-select-dropdown {
&>ul {
height: 99vh;
overflow-y: scroll;
}
.ant-dropdown-menu {
background-color: #081a30;
}