diff --git a/src/api/examination.js b/src/api/examination.js index 52225e08..8282a8f4 100644 --- a/src/api/examination.js +++ b/src/api/examination.js @@ -12,5 +12,25 @@ export const startTraExamPapersInfo = (data) => { data }); }; +// 提交试卷 +export const commitPaperExam = (data) => { + return request({ + url: base_url + '/traExamPapers/commitPaperExam', + method: 'post', + toastErrors: true, + data + }); +}; + +// 试卷考试查分 +export const queryPaperExamScore = (data) => { + return request({ + url: base_url + '/traExamPapers/queryPaperExamScore', + method: 'post', + toastErrors: true, + data + }); +}; + diff --git a/src/api/request.js b/src/api/request.js index d78bf0f1..5fd6a9cb 100644 --- a/src/api/request.js +++ b/src/api/request.js @@ -50,7 +50,7 @@ export const goto_login_fun = (from = 'http') => { } else { common.navigateTo('/pages/login/login') } - + }).finally(() => { no_login_show_modal_state = false }) diff --git a/src/api/testingHall.js b/src/api/testingHall.js index 7e0b47c1..01062cba 100644 --- a/src/api/testingHall.js +++ b/src/api/testingHall.js @@ -9,4 +9,5 @@ export const queryTraExamPapersPage = (data) => { method: 'post', data }); -}; \ No newline at end of file +}; + diff --git a/src/common/imgSvg.ts b/src/common/imgSvg.ts index 267ad39f..b759e79b 100644 --- a/src/common/imgSvg.ts +++ b/src/common/imgSvg.ts @@ -5,9 +5,9 @@ export const optionSuccessIcon = (color : string) : string => { return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`; }; -export const optionErrorIcon = () : string => { +export const optionErrorIcon = (color: string='#F5212D') : string => { const svgXml = ` - + `.trim(); return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`; }; @@ -17,4 +17,18 @@ export const examinationSheetIcon = () : string => { `.trim(); return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`; -}; \ No newline at end of file +}; + +export const markIcon = (color: string='#ABABAB') : string => { + const svgXml = ` + + `.trim(); + return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`; +}; + +export const feedbackIcon = () : string => { + const svgXml = ` + + `.trim(); + return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`; +}; diff --git a/src/components/examination/characters-subject.vue b/src/components/examination/characters-subject.vue index 8bf1c12e..19223c3c 100644 --- a/src/components/examination/characters-subject.vue +++ b/src/components/examination/characters-subject.vue @@ -11,6 +11,10 @@ + + + + @@ -36,6 +40,9 @@ } from 'vue' import questionVue from './question.vue'; import radioSubjectItem from './radio-subject-item.vue' + import { + markIcon,feedbackIcon + } from '@/common/imgSvg' import { SUBJECT_TYPE } from '@/enum.js' @@ -59,7 +66,7 @@ }, }); - + const emit = defineEmits(['subject_click']) const talkingInfo = ref({ id: '3', intrctWay: "", @@ -79,11 +86,12 @@ } } }) - // "chatId": "CHAT025018122068202508081709060000000000000000000000000000000098", - // "fileId": "S3F0250181220722025080817090600000476885", - // "ossFileAddr": "http://25.18.122.66::9786/traoss/show//S3F0250181220722025080817090600000476885", - // "transContent": "一二三四。" - // const activeVoiceId = ref() + const feedback_click = () =>{ + emit('subject_click', 'feedback', props.item) + } + const mark_click = () =>{ + emit('subject_click', 'mark', props.item) + } const customStyle = { borderRadius: '16rpx', @@ -91,9 +99,7 @@ backgroundColor: '#0066FF', border: '1rpx solid rgb(12, 123, 245)', } - const emit = defineEmits(['click_option']) - - + const subject_data = reactive({ qnsId: '', qnsContent: '', @@ -114,6 +120,18 @@ \ No newline at end of file diff --git a/src/pages/examination/components/feedback.vue b/src/pages/examination/components/feedback.vue new file mode 100644 index 00000000..9240de2a --- /dev/null +++ b/src/pages/examination/components/feedback.vue @@ -0,0 +1,176 @@ + + + + + \ No newline at end of file diff --git a/src/pages/examination/index.vue b/src/pages/examination/index.vue index 8af7d10f..fee54ac3 100644 --- a/src/pages/examination/index.vue +++ b/src/pages/examination/index.vue @@ -2,7 +2,7 @@ - + {{paperData.papersName}} @@ -23,7 +23,6 @@ :height="8"> - @@ -31,12 +30,12 @@ - + + :activeVoiceId="activeVoiceId" :voicePathValue="voicePathValue" + @subject_click="subject_click"> @@ -46,7 +45,7 @@ - + 答题卡 @@ -55,7 +54,7 @@ custom-style="color:#0066FF;borderRadius:16rpx;height:92rpx;" @click="button_tab(-1)"> - @@ -66,18 +65,22 @@ - + 答题卡 - - + + - + {{index + 1}} @@ -86,14 +89,22 @@ + @click="hand_in_paper_button_click()"> + + + + + + \ No newline at end of file diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 58edb5d9..caa9409f 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -89,7 +89,7 @@ AI问答 - + AI陪练 diff --git a/src/pages/testingHall/details.vue b/src/pages/testingHall/details.vue index b7f66dd4..a9cbe84d 100644 --- a/src/pages/testingHall/details.vue +++ b/src/pages/testingHall/details.vue @@ -11,7 +11,6 @@ 已完成 {{detailData.papersName}} - 起止时间: - 20 + {{allNumber}} - 100 + {{allGrade}} @@ -162,7 +161,8 @@ onLoad } from '@dcloudio/uni-app'; import { - reactive + reactive, + computed } from 'vue' import { startTraExamPapersInfo @@ -177,33 +177,38 @@ examEndTm: '', execPersionNumer: '', planPersionNumber: '', + judgeNumber: 0, + singleNumber: 0, + multiNumber: 0, + essayNumber: 0, + judgeGrade: 0, + singleGrade: 0, + multiGrade: 0, + essayGrade: 0, }) const customStyle = { backgroundColor: '#0066FF', border: '1px solid rgb(12, 123, 245)', } + const allNumber = computed(() => detailData.judgeNumber + detailData.singleNumber + detailData.multiNumber + detailData.essayNumber) + const allGrade = computed(() => detailData.judgeGrade + detailData.singleGrade + detailData.multiGrade + detailData.essayGrade) const goto_examination = async () => { common.loading() startTraExamPapersInfo({ - examId : "1" + examId : detailData.examId }).then(res => { - setPageCache('examination', res.body) + setPageCache('examination', {...res.body, examId:detailData.examId}) common.navigateTo('/pages/examination/index') }).finally(() => { common.hideLoading() }) - // papersId.value = e.papersId - // paperData.value = setPageCache('examination_'+papersId.value) - // if (!papersId.value || !paperData.value) { - // common.navigateBack() - // return - // } } onLoad((e) => { const testing_hall_details = getPageCache('testing_hall_details') Object.assign(detailData, { ...testing_hall_details }) + console.log('detailData', detailData); }) diff --git a/src/pagesA.json b/src/pagesA.json index 9b2725d7..bca0102f 100644 --- a/src/pagesA.json +++ b/src/pagesA.json @@ -135,6 +135,15 @@ } } }, + { + "path": "pages/examination/result", + "style": { + "navigationBarTitleText": "考试结果", + "app-plus": { + "titleNView": false + } + } + }, { "path": "pages/practice/index", "style": { diff --git a/src/static/images/examination/bg2@2x.png b/src/static/images/examination/bg2@2x.png new file mode 100644 index 00000000..b237623a Binary files /dev/null and b/src/static/images/examination/bg2@2x.png differ diff --git a/src/static/images/examination/duration-icon.png b/src/static/images/examination/duration-icon.png new file mode 100644 index 00000000..464f0bd5 Binary files /dev/null and b/src/static/images/examination/duration-icon.png differ diff --git a/src/static/images/examination/examination-icon.png b/src/static/images/examination/examination-icon.png new file mode 100644 index 00000000..2b93e371 Binary files /dev/null and b/src/static/images/examination/examination-icon.png differ diff --git a/src/static/images/examination/getting_in.gif b/src/static/images/examination/getting_in.gif new file mode 100644 index 00000000..5937cebe Binary files /dev/null and b/src/static/images/examination/getting_in.gif differ diff --git a/src/static/images/examination/getting_robot.png b/src/static/images/examination/getting_robot.png new file mode 100644 index 00000000..4404c935 Binary files /dev/null and b/src/static/images/examination/getting_robot.png differ diff --git a/src/static/images/examination/qualified.png b/src/static/images/examination/qualified.png new file mode 100644 index 00000000..dfb3e5a2 Binary files /dev/null and b/src/static/images/examination/qualified.png differ diff --git a/src/static/images/examination/unqualified.png b/src/static/images/examination/unqualified.png new file mode 100644 index 00000000..61f3315f Binary files /dev/null and b/src/static/images/examination/unqualified.png differ