xialiang 3 years ago
parent 7b66d0c2ad
commit a808f0a2d3

@ -26,34 +26,35 @@ const TrainingRow = () => {
<Row>
<Col {...topColResponsiveProps}>
<div className={styles.salesBar}>
<ChartCard loading={courseBrowseTimesLoading} bordered={false} bodyStyle={{ padding:'20px 24px 8px', marginBottom:'24px' }} title="课程浏览量">
<div className={styles.salesBar}>
<Column
height={300}
forceFit
data={courseBrowseTimesData as any}
xField="course_name"
yField="browse_times"
tooltip={{
formatter: (name, value: number) => {
// const {name, value} = args;
console.log('args', name)
return { name: '浏览量', value: value };
}
}}
xAxis={{
visible: true,
title: {
visible: false,
},
}}
yAxis={{
visible: true,
title: {
text: '课程浏览量',
visible: false,
},
}}
<ChartCard loading={courseBrowseTimesLoading} bordered={false} bodyStyle={{ padding: '20px 24px 8px', marginBottom: '24px' }} title="课程浏览量">
<div className={styles.salesBar}>
<Column
height={300}
forceFit
data={courseBrowseTimesData as any}
xField="course_name"
yField="browse_times"
tooltip={{
formatter: (name, value: number) => {
// const {name, value} = args;
console.log('args', name)
return { name: '浏览量', value: value };
}
}}
xAxis={{
visible: true,
title: {
text: '课程名称',
visible: false,
},
}}
yAxis={{
visible: true,
title: {
text: '课程浏览量',
visible: false,
},
}}
/*
title={{
visible: true,
@ -62,16 +63,12 @@ const TrainingRow = () => {
fontSize: 14,
},
}}*/
meta={{
y: {
alias: '次',
},
}}
/>
</div>
</ChartCard>
/>
</div>
</ChartCard>
</div>
</Col>
</Col>
</Row>
);
}

@ -1,9 +1,9 @@
//import { InfoCircleOutlined } from '@ant-design/icons';
import { Column } from '@ant-design/charts';
import { Col, Row,} from 'antd';
import { Column } from '@ant-design/charts';
import { Col, Row, } from 'antd';
import numeral from 'numeral';
import { ChartCard, } from './Charts';
import { ChartCard, } from './Charts';
// import type { SubjectAndCourseNumberStatistics } from '../data.d';
//import styles from '../style.less';
import { useRequest } from 'umi';
@ -25,7 +25,7 @@ const IntroduceRow = () => {
total={numeral(subjectAndCourseData?.subject_numbers || 0).format('0,0')}
footer={false}
//contentHeight={150}
style={{flex:1, marginBottom: 24, height:120}}
style={{ flex: 1, marginBottom: 24, height: 120 }}
/>
<ChartCard
bordered={false}
@ -35,7 +35,7 @@ const IntroduceRow = () => {
total={numeral(subjectAndCourseData?.course_numbers || 0).format('0,0')}
footer={false}
//contentHeight={150}
style={{flex:1, marginBottom: 24, height:120}}
style={{ flex: 1, marginBottom: 24, height: 120 }}
/>
</Col>
<Col xs={18} sm={18} md={18} lg={18} xl={18}>
@ -47,7 +47,7 @@ const IntroduceRow = () => {
total={false}
footer={false}
// contentHeight={300}
style={{marginBottom: 24}}
style={{ marginBottom: 24 }}
>
<Column
height={202}
@ -65,27 +65,24 @@ const IntroduceRow = () => {
xAxis={{
visible: true,
title: {
text: '主题名称',
visible: false,
},
}}
yAxis={{
visible: true,
title: {
text: '数量',
visible: false,
},
}}
title={{
visible: false,
text: '课程浏览量',
style: {
fontSize: 14,
},
}}
meta={{
y: {
alias: '培训数',
},
}}
/>
</ChartCard>
</Col>

@ -101,7 +101,7 @@ const CourseList: React.FC = () => {
width: 48,
},
{
title: '证件名称',
title: '考试名称',
dataIndex: 'examination_name',
valueType: 'text',
hideInTable: false,
@ -221,6 +221,7 @@ const CourseList: React.FC = () => {
},
];
return (
<PageContainer>
<ProTable<TableListItem, TableListPagination>

@ -525,11 +525,7 @@ export default () => {
console.log('v::::', values.name);
const rows = selectorRef?.current?.getSelectedRows()
console.log('rows::::', rows);
<<<<<<< HEAD
const { code, data: paper, msg } = await handleAppend(Number(params?.id), rows)
=======
const {code, data: paper, msg} = await handleAppend(Number(params?.id || rulesId), rows)
>>>>>>> 49ed2a82efcf921baec6deb67be90df4ffd3b34a
const { code, data: paper, msg } = await handleAppend(Number(params?.id || rulesId), rows)
console.log('paper', paper)
setUuidPaper(paper?.paper_uuid)
console.log('paper_uuid', paper?.paper_uuid)

@ -54,13 +54,23 @@ const SalesCard = () => {
geometry: 'column',
},
{
geometry: 'line',
lineStyle: {
lineWidth: 2,
},
},
],
meta: {
city: {
alias: '类别',
},
count: {
alias: '资质证书人数',
},
credential_rate: {
alias: '证书比例',
},
}
};
return (<Card bordered={false} bodyStyle={{ padding: 0, marginBottom: '24px' }}>
<div className={styles.salesCard}>

@ -158,10 +158,21 @@ const CardList = () => {
}
}
// 根据题型返回题数、分数、总分
const showQuestionTypeSocore = (questionType) => {
let num = 0
let name = 0
questionTypeList.map((e) => {
e.question_type === questionType ? name = e.question_type_name : "";
e.question_type === questionType ? num = e.question_list.length : ""
})
return `${name} (共${num}题)`
}
return (
<PageContainer content={content} extraContent={false}>
<Row>
{/* {console.log("试题列表:", paperInfo, "答题卡:", questionTypeList, "当前试题", questionNow)} */}
{console.log("试题列表:", paperInfo, "答题卡:", questionTypeList, "当前试题", questionNow)}
{/* {console.log(questionTypeList, 'uestionTypeList')} */}
<Col span={6} style={{ paddingRight: 24 }}>
@ -220,11 +231,11 @@ const CardList = () => {
</div>
</ProCard>
</Col>
{console.log(questionNow, 'questionNow.index[1]')}
<Col span={13} style={{ background: '#ffffff', padding: 0 }}>
<ProCard
title={
questionNow.question_type === 0 ? "一、单选题" : questionNow.question_type === 1 ? "二、多选题" : questionNow.question_type === 2 ? "判断题" : ""
}
title={showQuestionTypeSocore(questionNow.question_type)}
extra={false}
split='vertical'
bordered
@ -232,7 +243,7 @@ const CardList = () => {
>
<Space direction="vertical" style={{ width: '100%', padding: '24px 48px' }}>
<Typography style={{ marginBottom: 16, fontSize: 18 }}>
{questionNow.id ? questionNow.index[0] + 1 : ""} {questionNow?.question_stem}
{JSON.stringify(questionNow) !== {} ? questionNow.index[1] + 1 : ""} {questionNow?.question_stem}
</Typography>
<Space direction="vertical" style={{ fontSize: 16 }}>
@ -357,12 +368,6 @@ const CardList = () => {
// runSavePersonAnswer({
// answer_ids: e.target.value,
// question_id: questionNow.question_id,
// record_id: rulesPaperInfo.record_id
// })
// console.log("答题:", questionAnswer, qArr, questionNow)
// 修改答题卡状态 写入答案以及修改答题状态
const qX = questionNow?.question_type;
const qI = questionNow?.index;
questionList[questionNow.index[0]].question_list[questionNow.index[1]].answerSelect = questionAnswer;
if (questionAnswer === questionNow.answertrue) {
questionList[questionNow.index[0]].question_list[questionNow.index[1]].state = 0
@ -380,88 +385,71 @@ const CardList = () => {
})}</Space></Radio.Group>
) : ""
}
</Form.Item>
</Form>
</Space>
<Radio.Group onChange={() => { return true }} value={0} size="large">
<Space direction="vertical" style={{ fontSize: 16 }}>
<Button type="primary" onClick={() => {
setParsingShow(!parsingShow)
}}></Button>
<div style={{ display: (parsingShow ? 'block' : 'none') }} dangerouslySetInnerHTML={{ __html: questionNow.parsing }} />
</Space>
</Radio.Group>
</Space>
</ProCard>
</Col>
<Col span={5} style={{ paddingLeft: 24 }}>
<div style={{ background: '#ffffff', padding: 24 }}>
<Space direction="vertical" style={{ width: '100%' }}>
<Divider style={{ margin: '6px 0', opacity: 0.5 }} />
<strong></strong>
<Typography>{questionNowNum}/{questionNum}</Typography>
<Divider style={{ margin: '6px 0', opacity: 0.5 }} />
<Button
size="large"
disabled={lastBtnShow}
onClick={() => {
paperInfo.map((e, i) => {
if (e.question_id === questionNow.question_id) {
const nextTemp = paperInfo[i - 1]
const questionList = questionTypeList
let nextData = {}
questionList[nextTemp.index[0]].question_list.map((item, index) => {
if (item.question_id === nextTemp.question_id) {
nextData = item
}
})
setQuestionNow(nextData)
}
})
}}
block></Button>
} <div style={{ background: '#ffffff', padding: 24 }}>
<Space direction="vertical" style={{ width: '100%' }}>
<Divider style={{ margin: '6px 0', opacity: 0.5 }} />
<strong></strong>
<Typography>{questionNowNum}/{questionNum}</Typography>
<Divider style={{ margin: '6px 0', opacity: 0.5 }} />
<Button
size="large"
disabled={lastBtnShow}
onClick={() => {
paperInfo.map((e, i) => {
if (e.question_id === questionNow.question_id) {
const nextTemp = paperInfo[i - 1]
const questionList = questionTypeList
let nextData = {}
questionList[nextTemp.index[0]].question_list.map((item, index) => {
if (item.question_id === nextTemp.question_id) {
nextData = item
}
})
setQuestionNow(nextData)
}
<Button size="large"
disabled={nextBtnShow}
block onClick={() => {
})
paperInfo.map((e, i) => {
}}
if (e.question_id === questionNow.question_id) {
const nextTemp = paperInfo[i + 1]
const questionList = questionTypeList
let nextData = {}
questionList[nextTemp.index[0]].question_list.map((item, index) => {
if (item.question_id === nextTemp.question_id) {
nextData = item
}
})
setQuestionNow(nextData)
}
block></Button>
})
<Button size="large"
disabled={nextBtnShow}
block onClick={() => {
}}></Button>
<Button size="large" type="primary"
onClick={() => {
paperInfo.map((e, i) => {
history.goBack();
}}
block></Button>
</Space>
</div>
</Col>
</Row >
</PageContainer >
);
if (e.question_id === questionNow.question_id) {
const nextTemp = paperInfo[i + 1]
const questionList = questionTypeList
let nextData = {}
questionList[nextTemp.index[0]].question_list.map((item, index) => {
if (item.question_id === nextTemp.question_id) {
nextData = item
}
})
setQuestionNow(nextData)
}
})
}}></Button>
<Button size="large" type="primary"
onClick={() => {
history.goBack();
}}
block></Button>
</Space>
</div>
</Col>
</Row >
</PageContainer >
);
};
export default CardList;
export default CardList;

@ -189,13 +189,23 @@ const CardList = () => {
}
// 计算试题总数以及已答题数
// 根据题型返回题数、分数、总分
const showQuestionTypeSocore = (questionType) => {
let num = 0
let name = 0
questionTypeList.map((e) => {
console.log(e, 'eee')
e.question_type === questionType ? name = e.question_type_name : "";
e.question_type === questionType ? num = e.question_list.length : ""
})
return `${name} (共${num}题)`
}
return (
<PageContainer content={content} extraContent={false}>
<Row>
{console.log("试题列表:", paperInfo, "答题卡:", questionTypeList, "当前试题", questionNow)}
{/* {console.log(questionTypeList, 'uestionTypeList')} */}
<Col span={6} style={{ paddingRight: 24 }}>
<ProCard
@ -256,9 +266,7 @@ const CardList = () => {
</Col>
<Col span={13} style={{ background: '#ffffff', padding: 0 }}>
<ProCard
title={
questionNow.question_type === 0 ? "一、单选题" : questionNow.question_type === 1 ? "二、多选题" : questionNow.question_type === 2 ? "判断题" : ""
}
title={showQuestionTypeSocore(questionNow.question_type)}
extra={false}
split='vertical'
bordered
@ -266,7 +274,7 @@ const CardList = () => {
>
<Space direction="vertical" style={{ width: '100%', padding: '24px 48px' }}>
<Typography style={{ marginBottom: 16, fontSize: 18 }}>
{questionNow.id ? questionNow.index[0] + 1 : ""} {questionNow?.question_stem}
{questionNow.id ? questionNow.index[1] + 1 : ""} {questionNow?.question_stem}
{console.log("question", questionNow)}
</Typography>
<Space direction="vertical" style={{ fontSize: 16 }}>
@ -424,7 +432,7 @@ const CardList = () => {
<Space direction="vertical" style={{ fontSize: 16 }}>
<Button type="primary" onClick={() => {
setParsingShow(!parsingShow)
}}></Button>
}}></Button>
<div style={{ display: (parsingShow ? 'block' : 'none') }} dangerouslySetInnerHTML={{ __html: questionNow.parsing }} />
</Space>
</Radio.Group>

@ -402,7 +402,7 @@ const CardList = () => {
}
onClick={() => {
// 查看解析关闭
// 查看答案关闭
setParsingShow(false)
paperInfo.map((e) => {
@ -556,7 +556,7 @@ const CardList = () => {
<Space direction="vertical" style={{ fontSize: 16 }}>
<Button type="primary" onClick={() => {
setParsingShow(!parsingShow)
}}></Button>
}}></Button>
<div style={{ display: (parsingShow ? 'block' : 'none') }} dangerouslySetInnerHTML={{ __html: questionNow.parsing }} />
</Space>
</Radio.Group>

Loading…
Cancel
Save