12.29 大屏第三版
This commit is contained in:
File diff suppressed because one or more lines are too long
@ -3,19 +3,19 @@ import React, { useEffect, useRef, useState } from 'react';
|
|||||||
import '../style.less'
|
import '../style.less'
|
||||||
import { authCheck, onCell, onHeaderCell, OverviewItem, ProgressItem, proviceEnum, ScreenLabel, ScreenTitle, ScrollTable, StageCard } from '../Home';
|
import { authCheck, onCell, onHeaderCell, OverviewItem, ProgressItem, proviceEnum, ScreenLabel, ScreenTitle, ScrollTable, StageCard } from '../Home';
|
||||||
import Circle3199 from '@/assets/monitor/circle-3199.png';
|
import Circle3199 from '@/assets/monitor/circle-3199.png';
|
||||||
import { getDecryptSuccessRateTodayAPI, getTodayInfoAPI } from '../service';
|
import { getDecryptSuccessRateTodayAPI, getTodayInfoAPI, getTodayOpeningAPI } from '../service';
|
||||||
import { isNotEmpty } from '@/utils/CommonUtils';
|
import { isNotEmpty } from '@/utils/CommonUtils';
|
||||||
|
|
||||||
const columns: any[] = [
|
const columns: any[] = [
|
||||||
{
|
{
|
||||||
title: '省分',
|
title: '省分',
|
||||||
dataIndex: 'provinceDictId',
|
dataIndex: 'provinceName',
|
||||||
key: 'provinceDictId',
|
key: 'provinceName',
|
||||||
width: '20%',
|
width: '20%',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
onCell,
|
onCell,
|
||||||
onHeaderCell,
|
onHeaderCell,
|
||||||
render: (_: any, record: any) => proviceEnum[record.provinceDictId],
|
// render: (_: any, record: any) => proviceEnum[record.provinceDictId],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '项目名称',
|
title: '项目名称',
|
||||||
@ -28,16 +28,16 @@ const columns: any[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '采购预算',
|
title: '采购预算',
|
||||||
dataIndex: 'number',
|
dataIndex: 'bidSectContractPrice',
|
||||||
key: 'number',
|
key: 'bidSectContractPrice',
|
||||||
width: '30%',
|
width: '30%',
|
||||||
onCell,
|
onCell,
|
||||||
onHeaderCell,
|
onHeaderCell,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '开标时间',
|
title: '开标时间',
|
||||||
dataIndex: 'time',
|
dataIndex: 'openTime',
|
||||||
key: 'time',
|
key: 'openTime',
|
||||||
width: '20%',
|
width: '20%',
|
||||||
onCell,
|
onCell,
|
||||||
onHeaderCell,
|
onHeaderCell,
|
||||||
@ -180,6 +180,8 @@ const OpenToday: React.FC<{}> = () => {
|
|||||||
const [todayInfoData, setTodayInfoData] = useState<any>();
|
const [todayInfoData, setTodayInfoData] = useState<any>();
|
||||||
//今日开标-解密成功率
|
//今日开标-解密成功率
|
||||||
const [decryptSuccessRateTodayData, setDecryptSuccessRateTodayData] = useState<any>();
|
const [decryptSuccessRateTodayData, setDecryptSuccessRateTodayData] = useState<any>();
|
||||||
|
//今日开标-首页开标数据
|
||||||
|
const [todayOpeningData, setTodayOpeningData] = useState<any>();
|
||||||
//权限校验
|
//权限校验
|
||||||
const auth = useRef<boolean>(authCheck());
|
const auth = useRef<boolean>(authCheck());
|
||||||
//今日开标-评标阶段,评标及时率
|
//今日开标-评标阶段,评标及时率
|
||||||
@ -198,10 +200,19 @@ const OpenToday: React.FC<{}> = () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//获取今日开标
|
||||||
|
const getTodayOpening = () => {
|
||||||
|
getTodayOpeningAPI({ pageSize: 1000, pageNo: 1 }).then(res => {
|
||||||
|
if (res?.code == 200) {
|
||||||
|
setTodayOpeningData(res?.data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (auth.current) {
|
if (auth.current) {
|
||||||
getTodayInfo();
|
getTodayInfo();
|
||||||
getDecryptSuccessRateToday();
|
getDecryptSuccessRateToday();
|
||||||
|
getTodayOpening();
|
||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
return (
|
return (
|
||||||
@ -218,9 +229,9 @@ const OpenToday: React.FC<{}> = () => {
|
|||||||
</Col>
|
</Col>
|
||||||
<Col span={10}>
|
<Col span={10}>
|
||||||
<div className="monitor-top-space-flex monitor-today-overview-width">
|
<div className="monitor-top-space-flex monitor-today-overview-width">
|
||||||
<OverviewItem icon={Circle3199} title="标段总数" number={todayInfoData?.sectionNumber} unit="个" />
|
<OverviewItem icon={Circle3199} title="标段总数" number={isNotEmpty(todayOpeningData?.sectionNumber) ? todayOpeningData?.sectionNumber : 0} unit="个" />
|
||||||
<OverviewItem icon={Circle3199} title="已完成" number={73185} unit="个" />
|
<OverviewItem icon={Circle3199} title="已完成" number={isNotEmpty(todayOpeningData?.complete) ? todayOpeningData?.complete : 0} unit="个" />
|
||||||
<OverviewItem icon={Circle3199} title="完成率" number={90} unit="%" />
|
<OverviewItem icon={Circle3199} title="完成率" number={isNotEmpty(todayOpeningData?.rate) ? todayOpeningData?.rate.slice(0, todayOpeningData?.rate.length - 1) : 0} unit="%" />
|
||||||
</div>
|
</div>
|
||||||
<div className="monitor-top-space-flex ">
|
<div className="monitor-top-space-flex ">
|
||||||
<ProgressItem progress={isNotEmpty(decryptSuccessRateTodayData?.successRate) ? Number(decryptSuccessRateTodayData?.successRate) : 0} title="解密成功率" leftTitle='解密成功' rightTitle='解密失败' leftNumber={isNotEmpty(decryptSuccessRateTodayData?.successNum) ? Number(decryptSuccessRateTodayData?.successNum) : 0} rightNumber={isNotEmpty(decryptSuccessRateTodayData?.failNum) ? Number(decryptSuccessRateTodayData?.failNum) : 0} />
|
<ProgressItem progress={isNotEmpty(decryptSuccessRateTodayData?.successRate) ? Number(decryptSuccessRateTodayData?.successRate) : 0} title="解密成功率" leftTitle='解密成功' rightTitle='解密失败' leftNumber={isNotEmpty(decryptSuccessRateTodayData?.successNum) ? Number(decryptSuccessRateTodayData?.successNum) : 0} rightNumber={isNotEmpty(decryptSuccessRateTodayData?.failNum) ? Number(decryptSuccessRateTodayData?.failNum) : 0} />
|
||||||
@ -242,7 +253,7 @@ const OpenToday: React.FC<{}> = () => {
|
|||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<ScreenLabel title="今日开标明细" />
|
<ScreenLabel title="今日开标明细" />
|
||||||
<div className='monitor-tender-card'>
|
<div className='monitor-tender-card'>
|
||||||
<ScrollTable dataSource={dataSource} columns={columns} ynum={530} />
|
<ScrollTable dataSource={todayOpeningData?.todayList} columns={columns} ynum={530} />
|
||||||
</div>
|
</div>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
|
File diff suppressed because one or more lines are too long
@ -411,6 +411,8 @@
|
|||||||
|
|
||||||
.monitor-tender-select {
|
.monitor-tender-select {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
.monitor-tender-select-radio {
|
.monitor-tender-select-radio {
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
@ -460,6 +462,14 @@
|
|||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
height: 760px;
|
height: 760px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.monitor-label-pointer {
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.15);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user