From bec18e434e5fb990db713f036abd53705f14b746 Mon Sep 17 00:00:00 2001 From: Administrator <123456> Date: Tue, 22 Feb 2022 16:26:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=AD=A6=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/pages/course/list/index.tsx | 146 ++++++++++++++++++------ web/src/pages/course/list/service.ts | 35 +++++- web/src/pages/course/subject/index.tsx | 27 +++-- web/src/pages/course/subject/service.ts | 24 +++- web/src/pages/registration/index.tsx | 99 ++++++++-------- 5 files changed, 230 insertions(+), 101 deletions(-) diff --git a/web/src/pages/course/list/index.tsx b/web/src/pages/course/list/index.tsx index 5423ee7..bddb271 100644 --- a/web/src/pages/course/list/index.tsx +++ b/web/src/pages/course/list/index.tsx @@ -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 = (
{'生涯规划师初级认证培训课程你收到了 14 份新周报'}} + title={{subject_data?subject_data.subject_name:'--'}} hoverable={false} className={styles.card} actions={[]} - extra={<>开始学习时间: 2020-4-9距离结束时间:300天考核学时:36学时} + extra={<>开始学习时间: {subject_data?subject_data.learning_start_time:'--'}距离结束时间:{subject_data?subject_data.distance_end_time:'--'}考核学时:{subject_data?subject_data.total_course_hours:'--'}小时} > - } title={false} description={ <> - {'请大家在规定时间内完成本培训任务安排,逾期本培训任务将自动关闭。祝大家学习愉快!请大家在规定时间内完成本培训任务安排,逾期本培训任务将自动关闭。祝大家学习愉快!这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像'} + {subject_data?subject_data.subject_describe:'--'} - 学习进度: + 学习进度: - - 上次学习:生涯规划之升学路径知多少 主讲人:盖笑松 + + 上次学习:{last_data?last_data.course_name:'--'} 主讲人:{last_data?last_data.lecture_teacher:'--'} - + } /> @@ -53,6 +117,7 @@ const CardList = () => { ); + console.log('iddddddd',chapter_list.length!==0?chapter_list[0].chapter_id.toString():'') const nullData: Partial = {}; return ( @@ -60,31 +125,46 @@ const CardList = () => { } title="章节目录"> - 生涯规划理论 - 生涯规划基本步骤 - 生涯测评的应用与实践 - 生涯测评的应用与实践 - 生涯测评的应用与实践 - 生涯测评的应用与实践 - 生涯测评的应用与实践 - 生涯测评的应用与实践 - - 生涯测评的应用与实践 - 生涯测评的应用与实践 - 生涯测评的应用与实践 - 生涯测评的应用与实践 - + { + chapter_list.length!==0? + chapter_list.map((item)=>{ + return( + { + + + }} + + >{item.chapter_name} + ) + + }):'' + } + {/*生涯规划理论*/} + {/*生涯规划基本步骤*/} + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + {/*生涯测评的应用与实践*/} + > rowKey="id" - loading={loading} + // loading={loading} grid={{ gutter: 1, xs: 1, @@ -133,7 +213,7 @@ const CardList = () => { ); - } + } }} /> diff --git a/web/src/pages/course/list/service.ts b/web/src/pages/course/list/service.ts index 0867c5c..6576581 100644 --- a/web/src/pages/course/list/service.ts +++ b/web/src/pages/course/list/service.ts @@ -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, +// }); +// } diff --git a/web/src/pages/course/subject/index.tsx b/web/src/pages/course/subject/index.tsx index 9e02d5a..32f6d2a 100644 --- a/web/src/pages/course/subject/index.tsx +++ b/web/src/pages/course/subject/index.tsx @@ -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 ( @@ -45,7 +45,7 @@ const SubjectList = () => { hoverable className={styles.card} actions={[]} - extra={<>开始学习时间: ---距离结束时间:---天考核学时:{item?.total_course_hours}} + extra={<>开始学习时间:{item?.learning_start_time}距离结束时间:{item?.distance_end_time}考核学时:{item?.total_course_hours}小时} > } @@ -57,9 +57,14 @@ const SubjectList = () => { {item.subject_describe} - - - + + + + + } /> diff --git a/web/src/pages/course/subject/service.ts b/web/src/pages/course/subject/service.ts index 4cd4775..d6da30a 100644 --- a/web/src/pages/course/subject/service.ts +++ b/web/src/pages/course/subject/service.ts @@ -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, }); -} \ No newline at end of file +} diff --git a/web/src/pages/registration/index.tsx b/web/src/pages/registration/index.tsx index f23ce44..93529d4 100644 --- a/web/src/pages/registration/index.tsx +++ b/web/src/pages/registration/index.tsx @@ -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 ( @@ -124,10 +124,11 @@ export default () => { fieldProps={{ format: 'YYYY-MM', }} + rules={[{ required: true, message: '请选择出生年月' }]} /> - - - + + + @@ -151,8 +152,8 @@ export default () => { ]} placeholder="请选择" /> - - + + { 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: { From cf045a61e2d8083b88f0f9b097e44b0ef95aa083 Mon Sep 17 00:00:00 2001 From: Administrator <123456> Date: Tue, 22 Feb 2022 16:32:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=AD=A6=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/config/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/config/config.ts b/web/config/config.ts index 845566b..f91f810 100644 --- a/web/config/config.ts +++ b/web/config/config.ts @@ -113,7 +113,7 @@ export default defineConfig({ { name: '课程列表', icon: 'smile', - path: '/course/list', + path: '/course/list/:msg', component: './course/list', }, {