Merge branch 'master' of http://10.10.14.176:3000/web/syzx
commit
135848c759
@ -0,0 +1,154 @@
|
||||
import { PlusOutlined } from '@ant-design/icons';
|
||||
import { Button, Card, Descriptions, Alert, Typography } from 'antd';
|
||||
import { PageContainer } from '@ant-design/pro-layout';
|
||||
import { useRequest, useParams } from 'umi';
|
||||
import { getExaminationById, getRulesById } from './service';
|
||||
import type { CardListItemDataType } from './data.d';
|
||||
import styles from './style.less';
|
||||
import { useEffect, useRef } from 'react';
|
||||
import type { ProDescriptionsActionType } from '@ant-design/pro-descriptions';
|
||||
import ProDescriptions from '@ant-design/pro-descriptions';
|
||||
const { Paragraph } = Typography;
|
||||
import ProCard from '@ant-design/pro-card';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const CardList = () => {
|
||||
const params = useParams();
|
||||
|
||||
|
||||
// 获取考试详情
|
||||
// const { loading: personExaminationLoading, data: examinationInfo = [] } = useRequest(
|
||||
// () => getExaminationById(
|
||||
// {
|
||||
// examination_id: params.examination_id
|
||||
// }), {
|
||||
// formatResult: (result) => {
|
||||
// return result.bean;
|
||||
// }
|
||||
// });
|
||||
|
||||
// useEffect(() => {
|
||||
// console.log('examinationInfo', examinationInfo)
|
||||
|
||||
// })
|
||||
|
||||
|
||||
|
||||
const actionRef = useRef<ProDescriptionsActionType>();
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<PageContainer content={''} extraContent={''}>
|
||||
<ProCard>
|
||||
<ProDescriptions
|
||||
actionRef={actionRef}
|
||||
title="考试详情"
|
||||
request={async () => {
|
||||
const examinationInfo = await getExaminationById({ examination_id: params.examination_id })
|
||||
|
||||
const rulesInfo = await getRulesById({ id: examinationInfo.bean.rules_id })
|
||||
|
||||
const exData = { data: { ...examinationInfo.bean, ...rulesInfo.bean } }
|
||||
console.log("exData", exData);
|
||||
|
||||
return exData;
|
||||
}}
|
||||
layout='horizontal'
|
||||
columns={[
|
||||
{
|
||||
title: '考试项目',
|
||||
key: 'text',
|
||||
dataIndex: 'examination_name',
|
||||
},
|
||||
|
||||
{
|
||||
title: '考试时间',
|
||||
key: 'state2',
|
||||
render: (dom, entity, index, action) => {
|
||||
return entity.examination_start_time + " - " + entity.examination_end_time
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '考试时长',
|
||||
key: 'examination_time',
|
||||
dataIndex: 'examination_time',
|
||||
valueType: 'text',
|
||||
render: (dom, entity, index, action) => {
|
||||
// return entity.examination_start_time + " - " + entity.examination_start_time
|
||||
const d1 = new Date(entity.examination_start_time);
|
||||
const d2 = new Date(entity.examination_end_time);
|
||||
const examination_time = parseInt((d2 - d1) / 1000 / 60)
|
||||
return examination_time + "分钟"
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '满分',
|
||||
key: 'sum_score',
|
||||
dataIndex: 'sum_score',
|
||||
valueType: 'text',
|
||||
|
||||
},
|
||||
{
|
||||
title: '通过标准',
|
||||
key: 'pass_score',
|
||||
dataIndex: 'pass_score',
|
||||
valueType: 'text',
|
||||
},
|
||||
|
||||
{
|
||||
title: '操作',
|
||||
valueType: 'option',
|
||||
render: () => [
|
||||
<a target="_blank" rel="noopener noreferrer" key="link">
|
||||
链路
|
||||
</a>,
|
||||
<a target="_blank" rel="noopener noreferrer" key="warning">
|
||||
报警
|
||||
</a>,
|
||||
<a target="_blank" rel="noopener noreferrer" key="view">
|
||||
查看
|
||||
</a>,
|
||||
],
|
||||
},
|
||||
]}
|
||||
column={1}
|
||||
>
|
||||
<ProDescriptions.Item >
|
||||
<Button type="primary">开始考试</Button>
|
||||
</ProDescriptions.Item>
|
||||
<ProDescriptions.Item >
|
||||
<Alert message="考试开始后,不可随意离开,离开答题页,依然记录时间。" showIcon type="error" style={{ width: "100%" }} />
|
||||
</ProDescriptions.Item>
|
||||
|
||||
{/* <ProDescriptions.Item dataIndex="考试项目" layout='horizontal' />
|
||||
<ProDescriptions.Item label="考试时间" dataIndex="examination_name" >
|
||||
{this.data.id}
|
||||
</ProDescriptions.Item>
|
||||
<ProDescriptions.Item label="考试时长" dataIndex="examination_name" />
|
||||
<ProDescriptions.Item label="满分" dataIndex="sum_score" />
|
||||
<ProDescriptions.Item label="通过标准" dataIndex="pass_score" />
|
||||
<ProDescriptions.Item label="操作">
|
||||
<Button
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
actionRef.current?.reload();
|
||||
}}
|
||||
key="reload"
|
||||
>
|
||||
刷新
|
||||
</Button>
|
||||
<Button key="rest">重置</Button>
|
||||
</ProDescriptions.Item> */}
|
||||
</ProDescriptions >
|
||||
</ProCard>
|
||||
</PageContainer >
|
||||
|
||||
);
|
||||
};
|
||||
|
||||
export default CardList;
|
@ -1,10 +1,31 @@
|
||||
import { request } from 'umi';
|
||||
import type { CardListItemDataType } from './data.d';
|
||||
|
||||
export async function queryFakeList(params: {
|
||||
count: number;
|
||||
/**
|
||||
* 获取考试详情
|
||||
* /dsideal_yy/zygh/training/examination/getExaminationById
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export async function getExaminationById(params: {
|
||||
page_size: number;
|
||||
//count: number;
|
||||
}): Promise<{ data: { list: CardListItemDataType[] } }> {
|
||||
return request('/api/card_fake_list', {
|
||||
return request('/dsideal_yy/zygh/training/examination/getExaminationById', {
|
||||
params,
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 获取考试规则详情
|
||||
* /dsideal_yy/zygh/training/rules/getRulesById
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export async function getRulesById(params: {
|
||||
page_size: number;
|
||||
//count: number;
|
||||
}): Promise<{ data: { list: CardListItemDataType[] } }> {
|
||||
return request('/dsideal_yy/zygh/training/rules/getRulesById', {
|
||||
params,
|
||||
});
|
||||
}
|
Loading…
Reference in new issue