xialiang 3 years ago
commit 63932dfc39

@ -113,7 +113,7 @@ export default defineConfig({
{
name: '课程列表',
icon: 'smile',
path: '/course/list',
path: '/course/list/:msg',
component: './course/list',
},
{

@ -1,51 +1,115 @@
import { AlignLeftOutlined, LaptopOutlined, NotificationOutlined, PlusOutlined, UserOutlined } from '@ant-design/icons';
import {useEffect} from 'react';
import { Button, Card, Col, Layout, List, Menu, Progress, Row, Typography } from 'antd';
import { PageContainer } from '@ant-design/pro-layout';
import { useRequest } from 'umi';
import { queryFakeList } from './service';
import {useParams, useRequest} from 'umi';
import { viewMyLearningSubject,listMyLearningChapterCourse } from './service';
import type { CardListItemDataType } from './data.d';
import styles from './style.less';
import { Content } from 'antd/lib/layout/layout';
import Sider from 'antd/lib/layout/Sider';
import SubMenu from 'antd/lib/menu/SubMenu';
console.log('course/list')
const { Paragraph } = Typography;
import cookie from 'react-cookies';
const getList = async (subject_id,chapter_id ) => {
// const hide = message.loading('正在配置');
try {
const a=await listMyLearningChapterCourse({
identity_id:cookie.load('identity_id'),
person_id:cookie.load('person_id'),
subject_id:subject_id,
chapter_id:chapter_id,
});
// message.success('配置成功');
return a;
} catch (error) {
// message.error('配置失败请重试!');
return false;
}
};
const CardList = () => {
const { data, loading } = useRequest(() => {
return queryFakeList({
count: 8,
const params=useParams();
console.log('params',params);
const ids=params.msg.split(',');
const { data } = useRequest(() => {
return viewMyLearningSubject({
identity_id:cookie.load('identity_id'),
person_id:cookie.load('person_id'),
data_id:ids[0],
data_type:ids[1],
subject_id:ids[2]
});
},{
formatResult: (result) => {
console.log('result',result);
}
});
const list = data?.list || [];
const list = data?.list||[];
const subject_data=data?data.subject:[];
const last_data=data?data.last_learning_course:[];
const chapter_list=data?data.chapter_list:[];
useEffect(() => {
console.log('getList',getList)
// const a=await listMyLearningChapterCourse({
// identity_id:cookie.load('identity_id'),
// person_id:cookie.load('person_id'),
// subject_id:subject_id,
// chapter_id:chapter_id,
// });
},[]);
if(chapter_list.length!==0){
// const msg = useRequest(() => {
// return listMyLearningChapterCourse({
// identity_id:cookie.load('identity_id'),
// person_id:cookie.load('person_id'),
// subject_id:chapter_list?chapter_list[0].subject_id:'',
// chapter_id:chapter_list?chapter_list[0].chapter_id:'',
//
// });
// });
// console.log('msg',msg)
}
// const msg = await listMyLearningChapterCourse({
// identity_id:cookie.load('identity_id'),
// person_id:cookie.load('person_id'),
// subject_id:chapter_list[0].subject_id,
// chapter_id:chapter_list[0].chapter_id,
// });
// console.log('msg======',msg)
const content = (
<div className={styles.pageHeaderContent}>
<Card
title={<a>{'生涯规划师初级认证培训课程你收到了 14 份新周报'}</a>}
title={<a>{subject_data?subject_data.subject_name:'--'}</a>}
hoverable={false}
className={styles.card}
actions={[]}
extra={<><span style={{padding:10}}>: 2020-4-9</span><span style={{padding:10}}>300</span><span style={{padding:10}}>36</span></>}
extra={<><span style={{padding:10}}>: {subject_data?subject_data.learning_start_time:'--'}</span><span style={{padding:10}}>{subject_data?subject_data.distance_end_time:'--'}</span><span style={{padding:10}}>{subject_data?subject_data.total_course_hours:'--'}</span></>}
>
<Card.Meta
<Card.Meta
avatar={<img alt="" className={styles.cardAvatar} src={'https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png'} style={{width:'270px', height:'150px', borderRadius:'10px'}} />}
title={false}
description={
<>
<Card.Grid hoverable={false} style={{width:'100%',padding:0, boxShadow:'none'}}>
<Paragraph className={styles.item} ellipsis={{ rows: 4 }} style={{paddingLeft:10}}>
{'请大家在规定时间内完成本培训任务安排,逾期本培训任务将自动关闭。祝大家学习愉快!请大家在规定时间内完成本培训任务安排,逾期本培训任务将自动关闭。祝大家学习愉快!这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像'}
{subject_data?subject_data.subject_describe:'--'}
</Paragraph>
<Row>
<Col span={16} style={{display:'inline-block', padding:10}}><span></span><span style={{display:'inline-block', width:'80%'}}><Progress percent={75} /></span></Col>
<Col span={16} style={{display:'inline-block', padding:10}}><span></span><span style={{display:'inline-block', width:'80%'}}><Progress percent={subject_data?subject_data.subject_learning_progress*100:0} /></span></Col>
</Row>
<Row>
<Col span={10} style={{padding:10}}><span></span><span></span></Col> <Col span={10} style={{padding:10}}><span></span></Col> <Col span={4} style={{padding:10}}><Button type="primary"></Button></Col>
<Row>
<Col span={10} style={{padding:10}}><span></span><span>{last_data?last_data.course_name:'--'}</span></Col> <Col span={10} style={{padding:10}}><span>{last_data?last_data.lecture_teacher:'--'}</span></Col> <Col span={4} style={{padding:10}}><Button type="primary"></Button></Col>
</Row>
</Card.Grid>
</>
</>
}
/>
</Card>
@ -53,6 +117,7 @@ const CardList = () => {
);
console.log('iddddddd',chapter_list.length!==0?chapter_list[0].chapter_id.toString():'')
const nullData: Partial<CardListItemDataType> = {};
return (
<PageContainer content={content} extraContent={false}>
@ -60,31 +125,46 @@ const CardList = () => {
<Col span={6} style={{paddingRight:24}}>
<Menu
mode="inline"
defaultSelectedKeys={['1']}
selectedKeys={[chapter_list.length!==0?chapter_list[0].chapter_id.toString():'']}
defaultOpenKeys={['sub1']}
style={{ height: '100%', width:'100%' }}
>
<SubMenu key="sub1" icon={<AlignLeftOutlined />} title="章节目录">
<Menu.Item key="1"></Menu.Item>
<Menu.Item key="2"></Menu.Item>
<Menu.Item key="3"></Menu.Item>
<Menu.Item key="4"></Menu.Item>
<Menu.Item key="5"></Menu.Item>
<Menu.Item key="6"></Menu.Item>
<Menu.Item key="7"></Menu.Item>
<Menu.Item key="8"></Menu.Item>
<Menu.Item key="9"></Menu.Item>
<Menu.Item key="10"></Menu.Item>
<Menu.Item key="11"></Menu.Item>
<Menu.Item key="12"></Menu.Item>
</SubMenu>
{
chapter_list.length!==0?
chapter_list.map((item)=>{
return(
<Menu.Item key={item.chapter_id}
onClick={()=>{
}}
>{item.chapter_name}</Menu.Item>
)
}):''
}
{/*<Menu.Item key="1">生涯规划理论</Menu.Item>*/}
{/*<Menu.Item key="2">生涯规划基本步骤</Menu.Item>*/}
{/*<Menu.Item key="3">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="4">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="5">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="6">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="7">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="8">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="9">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="10">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="11">生涯测评的应用与实践</Menu.Item>*/}
{/*<Menu.Item key="12">生涯测评的应用与实践</Menu.Item>*/}
</SubMenu>
</Menu>
</Col>
<Col span={18} style={{background:'#ffffff', padding:24}}>
<List<Partial<CardListItemDataType>>
rowKey="id"
loading={loading}
// loading={loading}
grid={{
gutter: 1,
xs: 1,
@ -133,7 +213,7 @@ const CardList = () => {
</Card>
</List.Item>
);
}
}
}}
/>
</Col>

@ -1,10 +1,37 @@
import { request } from 'umi';
import type { CardListItemDataType } from './data.d';
import {TableListItem} from "../../../../../admin/src/pages/course/option/data";
export async function queryFakeList(params: {
count: number;
}): Promise<{ data: { list: CardListItemDataType[] } }> {
return request('/api/subjects', {
export async function viewMyLearningSubject(params: {
identity_id: number;
person_id: number;
data_id: number;
data_type: number;
subject_id: number
}){
return request(' /dsideal_yy/ypt/careerTraining/learning/viewMyLearningSubject', {
params,
});
}
export async function listMyLearningChapterCourse(params: {
chapter_id: number;
identity_id: number;
person_id: number;
subject_id: number
}){
return request(' /dsideal_yy/ypt/careerTraining/learning/listMyLearningChapterCourse', {
params,
});
}
// export async function listMyLearningChapterCourse(params: {
// chapter_id: number;
// identity_id: number;
// person_id: number;
// subject_id: number
// }){
// return request('/dsideal_yy/ypt/careerTraining/learning/listMyLearningChapterCourse', {
// params,
// });
// }

@ -1,24 +1,24 @@
import { PlusOutlined } from '@ant-design/icons';
import { Button, Card, List, Progress, Typography, Image } from 'antd';
import { PageContainer } from '@ant-design/pro-layout';
import { useRequest } from 'umi';
import { querySubjectList } from './service';
import { useRequest,history } from 'umi';
import { querySubjectList,listMyLearningSubject } from './service';
import type { SubjectListItemDataType } from './data.d';
import styles from './style.less';
import NumberInfo from './components/NumberInfo';
import cookie from 'react-cookies';
const { Paragraph } = Typography;
const SubjectList = () => {
/** 获取主题列表数据 */
const { data, loading } = useRequest(() => {
return querySubjectList({
count: 10,
return listMyLearningSubject({
identity_id: cookie.load('identity_id'),
person_id:cookie.load('person_id')
});
});
const list = data?.list || [];
const list = data?data : [];
return (
<PageContainer content={false} extraContent={false}>
@ -45,7 +45,7 @@ const SubjectList = () => {
hoverable
className={styles.card}
actions={[]}
extra={<><span style={{padding:10}}>: ---</span><span style={{padding:10}}>---</span><span style={{padding:10}}>{item?.total_course_hours}</span></>}
extra={<><span style={{padding:10}}>:{item?.learning_start_time}</span><span style={{padding:10}}>{item?.distance_end_time}</span><span style={{padding:10}}>{item?.total_course_hours}</span></>}
>
<Card.Meta
avatar={<Image preview={false} width={200} height={150} src={`${item.attachment_json.url}`} fallback="../fallback.svg" />}
@ -57,9 +57,14 @@ const SubjectList = () => {
{item.subject_describe}
</Paragraph>
</Card.Grid>
<Card.Grid hoverable={false} style={{width:'30%',textAlign:'center'}}><Progress type="circle" percent={75} /></Card.Grid>
<Card.Grid hoverable={false} style={{width:'20%',textAlign:'center'}}><Button type="primary"></Button></Card.Grid>
</>
<Card.Grid hoverable={false} style={{width:'30%',textAlign:'center'}}><Progress type="circle" percent={item?.subject_learning_progress*100} /></Card.Grid>
<Card.Grid hoverable={false} style={{width:'20%',textAlign:'center'}}>
<Button type="primary" onClick={()=>{
const info=item.data_id+','+item.data_type+','+item.subject_id;
history.push( '/course/list/'+info);
}}></Button>
</Card.Grid>
</>
}
/>
</Card>

@ -12,8 +12,8 @@ export async function queryFakeList(params: {
/**
*
* http://10.10.14.252:8080/workspace/myWorkspace.do?projectId=382#6426
* @param params
* @returns
* @param params
* @returns
*/
export async function querySubjectList(params: {
count: number;
@ -23,12 +23,26 @@ export async function querySubjectList(params: {
});
}
/**
*
* @param params
* @returns
*/
export async function listMyLearningSubject(params: {
identity_id: number;
person_id: number;
}){
return request(' /dsideal_yy/ypt/careerTraining/learning/listMyLearningSubject', {
params,
});
}
/**
*
* https://www.xiaopiu.com/web/byId?type=project&id=61c45503a4381246987496c6
* http://10.10.14.252:8080/workspace/myWorkspace.do?projectId=382#6410
* @param params
* @returns
* @param params
* @returns
*/
export async function queryTagList(params: {
count: number;
@ -36,4 +50,4 @@ export async function querySubjectList(params: {
return request('/dsideal_yy/ypt/careerTraining/tag/list', {
params,
});
}
}

@ -7,6 +7,7 @@ import ProForm, {
ProFormText,
ProFormDatePicker,
ProFormSelect,
ProFormDigit,
ProFormTextArea,
ProFormCheckbox,
ProFormDateRangePicker,
@ -53,7 +54,6 @@ export default () => {
// return result;
// }
// });
console.log('valu111111111111e',backInfo);
return (
<PageContainer content={''} extraContent={''}>
<ProCard>
@ -124,10 +124,11 @@ export default () => {
fieldProps={{
format: 'YYYY-MM',
}}
rules={[{ required: true, message: '请选择出生年月' }]}
/>
<ProFormText name="idCard" label="身份证号" />
<ProFormText name="address" label="家庭地址" />
<ProFormText name="contact" label="联系方式" width="lg" placeholder="联系方式" />
<ProFormText name="idCard" label="身份证号" width="sm" rules={[{ required: true, message: '请输入正确身份证号' }]}/>
<ProFormText name="address" label="家庭地址" rules={[{ required: true, message: '请输入家庭地址' }]}/>
<ProFormText name="contact" label="联系方式" width="lg" placeholder="联系方式" rules={[{ required: true, message: '请输入联系方式' }]} />
</Col>
<Col lg={12} md={12} sm={24}>
<ProFormText name="org" label="所在学校" width="md" placeholder="请填写" value={backInfo?.bureau_name} disabled />
@ -151,8 +152,8 @@ export default () => {
]}
placeholder="请选择"
/>
<ProFormText name="graduation" label="毕业院校" />
<ProFormText name="major" label="专业" />
<ProFormText name="graduation" label="毕业院校" rules={[{ required: true, message: '请输入毕业院校' }]}/>
<ProFormText name="major" label="专业" rules={[{ required: true, message: '请输入专业' }]}/>
<ProFormSelect
label='任教学科'
name="subject"
@ -255,51 +256,53 @@ export default () => {
description: false,
}}
onFinish={async () => {
console.log(formRef.current?.getFieldsValue());
// console.log(formRef.current?.getFieldsValue());
// 跳转到指定路由
// const success = await savePersonSignUpInfo({
// address:baseInfo?.address,
// birthday:baseInfo?.birthday,
// bureau_id:backInfo?.bureau_id,
// bureau_name:backInfo?.bureau_name,
// city_id:backInfo?.city_id,
// city_name:backInfo?.city_name,
// district_id:backInfo?.district_id,
// district_name:backInfo?.district_name,
// education:baseInfo?.qualifications,
// examination_id:1,
// gender:baseInfo?.sex,
// id_code:baseInfo?.idCard,
// identity_id:backInfo?.identity_id,
// major:baseInfo?.major,
// person_id:backInfo?.person_id,
// person_name:backInfo?.person_name,
// province_id:backInfo?.province_id,
// province_name:backInfo?.province_name,
// subject:baseInfo?.subject,
// tel:baseInfo?.contact,
// university:baseInfo?.graduation,
// });
const success = await savePersonSignUpInfo({
address:baseInfo?.address,
birthday:baseInfo?.birthday,
bureau_id:backInfo?.bureau_id,
bureau_name:backInfo?.bureau_name,
city_id:backInfo?.city_id,
city_name:backInfo?.city_name,
district_id:backInfo?.district_id,
district_name:backInfo?.district_name,
education:baseInfo?.qualifications,
examination_id:1,
gender:baseInfo?.sex,
id_code:baseInfo?.idCard,
identity_id:backInfo?.identity_id,
major:baseInfo?.major,
person_id:backInfo?.person_id,
person_name:backInfo?.person_name,
province_id:backInfo?.province_id,
province_name:backInfo?.province_name,
subject:baseInfo?.subject,
tel:baseInfo?.contact,
university:baseInfo?.graduation,
});
// console.log('success',success);
console.log('success',success);
// if (success) {
// const msg='你已报名'+testInfo.examination_start_time+'-'+testInfo.examination_end_time+' '+testInfo.examination_name+',准考证号是'+success.admission_number+',请准时参加考试!';
// const info=JSON.stringify(msg)
// console.log('msg',msg);
// console.log('info',info);
// history.push( '/registration/success/'+info);
//
// // history.push('/registration/success');
// }
if (success) {
const msg='你已报名'+testInfo.examination_start_time+'-'+testInfo.examination_end_time+' '+testInfo.examination_name+',准考证号是'+success.admission_number+',请准时参加考试!';
const info=JSON.stringify(msg)
// console.log('msg',msg);
// console.log('info',info);
history.push( '/registration/success/'+info);
// history.push('/registration/success');
}
const msg='你已报名'+testInfo.examination_start_time+'-'+testInfo.examination_end_time+' '+testInfo.examination_name+',准考证号是'+',请准时参加考试!';
const info=Base64.toByteArray(msg.toString());
console.log('info',info);
const aa=Base64.decode(info);
console.log('msg',msg);
// const msg='你已报名'+testInfo.examination_start_time+'-'+testInfo.examination_end_time+' '+testInfo.examination_name+',准考证号是'+',请准时参加考试!';
// const info=JSON.stringify(msg);
//
// console.log('info',info);
console.log('aa',aa)
//
// const aa=Base64.byteLength(info);
// console.log('msg',msg);
// // console.log('info',info);
// console.log('aa',aa)
// return true;
@ -313,8 +316,8 @@ export default () => {
column={1}
//actionRef={actionRef}
request={async () => {
console.log('testInfo---',testInfo)
console.log('baseInfo----',baseInfo)
// console.log('testInfo---',testInfo)
// console.log('baseInfo----',baseInfo)
// return Promise.resolve({
// success: true,
// data: {

Loading…
Cancel
Save