在线监督和事后监督,查看详情,增加签到状态和签到时间

This commit is contained in:
袁帅
2022-09-08 09:36:35 +08:00
parent 5710e80cde
commit 744978b25f
2 changed files with 81 additions and 58 deletions

View File

@ -1,27 +1,28 @@
import { Spin, Modal, Descriptions, Table, message } from 'antd'; import { Spin, Modal, Descriptions, message } from 'antd';
import type { ColumnsType } from 'antd/es/table'; // import type { ColumnsType } from 'antd/es/table';
import React, { useState, useImperativeHandle, forwardRef } from 'react'; import React, { useState, useImperativeHandle, forwardRef } from 'react';
import { getReservationInfo, getReportInfo } from './service'; import { getReservationInfo, getReportInfo } from './service';
import ProTable from '@ant-design/pro-table';
interface ViewDetailsProps { interface ViewDetailsProps {
modalVisible: boolean; //开启关闭控制 modalVisible: boolean; //开启关闭控制
onCancel: () => void; //关闭方法传入 onCancel: () => void; //关闭方法传入
} }
interface ReportInfo { // interface ReportInfo {
expertAmount ?: string; // expertAmount ?: string;
purchaseExpertAmount ?: string; // purchaseExpertAmount ?: string;
manageAmount ?: string; // manageAmount ?: string;
userList ?: DataType[]; // userList ?: DataType[];
} // }
interface DataType { // interface DataType {
key ?: string; // key ?: string;
userName ?: string; // userName ?: string;
status: number; // status: number;
reportStatus ?: string; // reportStatus ?: string;
signDate ?: string; // signDate ?: string;
} // }
interface ReservationInfo { interface ReservationInfo {
projectName ?: string; projectName ?: string;
@ -35,26 +36,48 @@ interface ReservationInfo {
realEndDate ?: string; realEndDate ?: string;
} }
const columns: ColumnsType<DataType> = [ const columns: any = [
{ {
title: '序号', title: '序号',
dataIndex: 'key', valueType: 'index',
key: 'key', width: 80,
hideInSearch: true,
}, },
{ {
title: '人员', title: '人员',
dataIndex: 'userName', dataIndex: 'userName',
key: 'userName', hideInSearch: true,
}, },
{ {
title: '报状态', title: '报状态',
dataIndex: 'reportStatus', dataIndex: 'status',
key: 'reportStatus', hideInSearch: true,
valueEnum: {
0: { text: '未报道' },
1: { text: '已报道' },
},
}, },
{ {
title: '报时间', title: '报时间',
dataIndex: 'signDate', dataIndex: 'signDate',
key: 'signDate', valueType: 'dateTime',
hideInSearch: true,
},
{
title: '签到状态',
dataIndex: 'loginStatus',
hideInSearch: true,
valueEnum: {
1: { text: '未签到' },
2: { text: '已签到' },
3: { text: '已申请回避' },
},
},
{
title: '签到时间',
dataIndex: 'loginDate',
valueType: 'dateTime',
hideInSearch: true,
}, },
]; ];
@ -67,7 +90,7 @@ const columns: ColumnsType<DataType> = [
const [initReservationInfo, setInitReservationInfo] = useState<boolean>(false); const [initReservationInfo, setInitReservationInfo] = useState<boolean>(false);
const [initReportInfo, setInitReportInfo] = useState<boolean>(false); const [initReportInfo, setInitReportInfo] = useState<boolean>(false);
const [reservationInfo, setReservationInfo] = useState<ReservationInfo>(); const [reservationInfo, setReservationInfo] = useState<ReservationInfo>();
const [reportInfo, setReportInfo] = useState<ReportInfo>(); const [reportInfo, setReportInfo] = useState<any>({});
const InitData = (id:string) => { const InitData = (id:string) => {
setInitReservationInfo(true); setInitReservationInfo(true);
setInitReportInfo(true); setInitReportInfo(true);
@ -88,19 +111,13 @@ const columns: ColumnsType<DataType> = [
}); });
//获取报道信息 //获取报道信息
getReportInfo(id) getReportInfo(id)
.then((res) => { .then(res => {
if (res.code == 200) { if (res.code == 200) {
let _data: DataType[] = res.data.userList;
_data?.forEach((item, index) =>{
item.key = (index + 1).toString();
item.reportStatus = getReportStatus(item.status);
})
setReportInfo(res.data); setReportInfo(res.data);
}else{ } else {
message.error(res.message); message.error(res.message);
} }
}) }).catch(res => {
.catch(res => {
message.error(res.message); message.error(res.message);
}) })
.finally(() => { .finally(() => {
@ -134,18 +151,18 @@ const columns: ColumnsType<DataType> = [
} }
return result; return result;
} }
const getReportStatus = (state:number) => { // const getReportStatus = (state:number) => {
let result = ''; // let result = '';
switch(state){ // switch(state){
case 0: // case 0:
result = '未报道'; // result = '未报道';
break; // break;
case 1: // case 1:
result = '已报道'; // result = '已报道';
break; // break;
} // }
return result; // return result;
} // }
return (<Modal return (<Modal
destroyOnClose = {true} destroyOnClose = {true}
visible = {modalVisible} visible = {modalVisible}
@ -173,7 +190,13 @@ const columns: ColumnsType<DataType> = [
<Descriptions.Item label="招标代理机构">{reportInfo?.manageAmount}</Descriptions.Item> <Descriptions.Item label="招标代理机构">{reportInfo?.manageAmount}</Descriptions.Item>
</Descriptions> </Descriptions>
<h3></h3> <h3></h3>
<Table columns={columns} dataSource={reportInfo?.userList} /> <ProTable
options={false}
size='small'
search={false}
pagination={false}
columns={columns}
dataSource={reportInfo?.userList} />
</Spin> </Spin>
</Modal>) </Modal>)
}) })

View File

@ -25,7 +25,7 @@ export async function getPage(params?: any) {
* @param params * @param params
*/ */
export async function getReportInfo(params?: string) { export async function getReportInfo(params?: string) {
return request('/api/biz-service-ebtp-evaluation/v1/eleceval/user/number/report/' + params, { return request('/api/biz-service-ebtp-evaluation/v1/eleceval/expert/number/report/' + params, {
method: 'GET' method: 'GET'
}); });
} }