master
xialiang 3 years ago
parent 2b698813be
commit 8ee12c8b86

@ -1,4 +1,5 @@
import { FC, Suspense } from 'react'; import type { FC } from 'react';
import { Suspense } from 'react';
import { Avatar, Card, Col, List, Skeleton, Row, Statistic, Descriptions, Progress, Table, Button } from 'antd'; import { Avatar, Card, Col, List, Skeleton, Row, Statistic, Descriptions, Progress, Table, Button } from 'antd';
import { Line, Radar } from '@ant-design/charts'; import { Line, Radar } from '@ant-design/charts';
import { Link, history, useRequest } from 'umi'; import { Link, history, useRequest } from 'umi';
@ -7,10 +8,11 @@ import moment from 'moment';
import EditableLinkGroup from './components/EditableLinkGroup'; import EditableLinkGroup from './components/EditableLinkGroup';
import styles from './style.less'; import styles from './style.less';
import type { ActivitiesType, CurrentUser } from './data.d'; import type { ActivitiesType, CurrentUser } from './data.d';
import { queryProjectNotice, queryActivities, fakeChartData } from './service'; import { personLastLearning, queryActivities, fakeChartData } from './service';
import dataSource from 'mock/dataSource'; import cookie from 'react-cookies';
import OfflineData from './components/OfflineData'; import OfflineData from './components/OfflineData';
const examinations = [ const examinations = [
{ {
key: '1', key: '1',
@ -71,7 +73,7 @@ const examinationColumns = [
dataIndex: 'option', dataIndex: 'option',
key: 'option', key: 'option',
render: (_, record, index, action) => { render: (_, record, index, action) => {
return record?.status === 0 ? <Button type="primary" onClick={()=>{ history.push('/registration')}} style={{minWidth:88}}></Button> : <Button type="primary" onClick={()=>{ history.push('/examination/paper')}} style={{minWidth:88}}></Button> return record?.status === 0 ? <Button type="primary" onClick={() => { history.push('/registration') }} style={{ minWidth: 88 }}></Button> : <Button type="primary" onClick={() => { history.push('/examination/paper') }} style={{ minWidth: 88 }}></Button>
}, },
}, },
]; ];
@ -139,11 +141,17 @@ const certificates = [
]; ];
const Workplace: FC = () => { const Workplace: FC = () => {
// const { loading: lastLearningLoading, data: lastLearningList = [] } = useRequest(
// personLastLearning(
// {
// identity_id: cookie.load('identity_id'),
// person_id: cookie.load('person_id')
// }));
const { loading: activitiesLoading, data: activities = [] } = useRequest(queryActivities); const { loading: activitiesLoading, data: activities = [] } = useRequest(queryActivities);
const { loading: offlineChartLoading, data: offlineChartData = [] } = useRequest(fakeChartData); const { loading: offlineChartLoading, data: offlineChartData = [] } = useRequest(fakeChartData);
const { data } = useRequest(fakeChartData); // 证书
const { data } = useRequest(fakeChartData); // 证书
console.log('lastLearningList', lastLearningList)
return ( return (
<> <>
<Row gutter={24}> <Row gutter={24}>
@ -159,18 +167,18 @@ const Workplace: FC = () => {
> >
<div className={styles.extraContent}> <div className={styles.extraContent}>
<div className={styles.statItem}> <div className={styles.statItem}>
<Statistic title="今日学习" value={56} suffix=" 分钟"/> <Statistic title="今日学习" value={56} suffix=" 分钟" />
</div> </div>
<div className={styles.statItem}> <div className={styles.statItem}>
<Statistic title="累计登录天数" value={8} suffix=" 天" /> <Statistic title="累计登录天数" value={8} suffix=" 天" />
</div> </div>
</div> </div>
<div style={{ width:'100%',padding:24}}> <div style={{ width: '100%', padding: 24 }}>
<Line <Line
color={'#1859ff'} color={'#1859ff'}
forceFit forceFit
height={400} height={400}
data={[{date:'2022/10/20', value:50},{date:'2022/10/21', value:300},{date:'2022/10/22', value:480},{date:'2022/10/23', value:210},{date:'2022/10/24', value:250},{date:'2022/10/25', value:240}]} data={[{ date: '2022/10/20', value: 50 }, { date: '2022/10/21', value: 300 }, { date: '2022/10/22', value: 480 }, { date: '2022/10/23', value: 210 }, { date: '2022/10/24', value: 250 }, { date: '2022/10/25', value: 240 }]}
//responsive //responsive
xField="date" xField="date"
yField="value" yField="value"
@ -178,7 +186,7 @@ const Workplace: FC = () => {
legend={{ legend={{
position: 'top-center', position: 'top-center',
}} }}
point={{size:5}} point={{ size: 5 }}
/> />
</div> </div>
</Card> </Card>
@ -207,7 +215,7 @@ const Workplace: FC = () => {
bodyStyle={{ padding: 0 }} bodyStyle={{ padding: 0 }}
> >
<div className={styles.chart}><Table dataSource={examinations} columns={examinationColumns} pagination={false} /></div> <div className={styles.chart}><Table dataSource={examinations} columns={examinationColumns} pagination={false} /></div>
</Card> </Card>
<Card <Card
style={{ marginBottom: 24 }} style={{ marginBottom: 24 }}
@ -216,9 +224,9 @@ const Workplace: FC = () => {
loading={data?.radarData?.length === 0} loading={data?.radarData?.length === 0}
> >
<div className={styles.chart}> <div className={styles.chart}>
<Table dataSource={certificates} columns={certificateColumns} pagination={false} /> <Table dataSource={certificates} columns={certificateColumns} pagination={false} />
</div> </div>
</Card> </Card>
</Col> </Col>
</Row> </Row>
</> </>

@ -1,6 +1,34 @@
import { request } from 'umi'; import { request } from 'umi';
import type { NoticeType, ActivitiesType, AnalysisData } from './data'; import type { NoticeType, ActivitiesType, AnalysisData } from './data';
/**
* 6.5
* /dsideal_yy/ypt/careerTraining/report/personLastLearning
* @param params
* @returns
*/
export async function personLastLearning(params: {
page_size: number;
//count: number;
}): Promise<{ data: { list: CardListItemDataType[] } }> {
return request('/dsideal_yy/ypt/careerTraining/report/personLastLearning', {
params,
});
}
export async function queryProjectNotice(): Promise<{ data: NoticeType[] }> { export async function queryProjectNotice(): Promise<{ data: NoticeType[] }> {
return request('/api/project/notice'); return request('/api/project/notice');
} }

Loading…
Cancel
Save