index.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887
  1. <template>
  2. <view class="threeExam">
  3. <view class="topad">
  4. <ad
  5. class="wxad"
  6. :ad-intervals="100"
  7. unit-id="adunit-f9ac1a546be5b3f0"
  8. ></ad>
  9. </view>
  10. <view class="problem">
  11. <!-- <text class="problem-type"> 判断题 </text> -->
  12. <!-- <text class="problem-issue"
  13. >{{ problemListIndex + 1 }}、{{
  14. problemList[problemListIndex].question
  15. }}</text
  16. > -->
  17. <rich-text
  18. style="font-size: 42rpx; vertical-align: top"
  19. :nodes="
  20. createProblemTypeHtml(problemList[problemListIndex].type) +
  21. (problemListIndex + 1) +
  22. '、' +
  23. problemList[problemListIndex].question
  24. "
  25. ></rich-text>
  26. <view class="problem-radio">
  27. <van-radio-group
  28. v-if="!problemList[problemListIndex].isComplete"
  29. @change="changeUserAnswer"
  30. :value="problemList[problemListIndex].userAnswer"
  31. >
  32. <view :key="index" v-for="(item, index) in anLength">
  33. <van-radio
  34. v-if="problemList[problemListIndex]['an' + (index + 1)]"
  35. label-class="pl0"
  36. custom-class="mt40"
  37. use-icon-slot
  38. :name="index + 1"
  39. >
  40. <view class="problem-radio-flex">
  41. <view class="problem-radio-icon">
  42. <view class="problem-radio-letter">{{
  43. numberToLetter(index)
  44. }}</view>
  45. </view>
  46. <text
  47. style="
  48. font-size: 42rpx;
  49. font-weight: bold;
  50. margin-left: 20rpx;
  51. "
  52. >{{ problemList[problemListIndex]["an" + (index + 1)] }}</text
  53. >
  54. </view>
  55. </van-radio>
  56. </view>
  57. <!-- <van-radio
  58. v-if="problemList[problemListIndex].an2"
  59. label-class="pl0"
  60. custom-class="mt40"
  61. use-icon-slot
  62. :name="problemList[problemListIndex].an2"
  63. >
  64. <view class="problem-radio-flex">
  65. <view class="problem-radio-icon">
  66. <view class="problem-radio-letter">{{
  67. numberToLetter(1)
  68. }}</view>
  69. </view>
  70. <text
  71. style="font-size: 42rpx; font-weight: bold; margin-left: 20rpx"
  72. >{{ problemList[problemListIndex].an2 }}</text
  73. >
  74. </view>
  75. </van-radio>
  76. <van-radio
  77. v-if="problemList[problemListIndex].an3"
  78. label-class="pl0"
  79. custom-class="mt40"
  80. use-icon-slot
  81. :name="problemList[problemListIndex].an3"
  82. >
  83. <view class="problem-radio-flex">
  84. <view class="problem-radio-icon">
  85. <view class="problem-radio-letter">{{
  86. numberToLetter(2)
  87. }}</view>
  88. </view>
  89. <text
  90. style="font-size: 42rpx; font-weight: bold; margin-left: 20rpx"
  91. >{{ problemList[problemListIndex].an3 }}</text
  92. >
  93. </view>
  94. </van-radio>
  95. <van-radio
  96. v-if="problemList[problemListIndex].an4"
  97. label-class="pl0"
  98. custom-class="mt40"
  99. use-icon-slot
  100. :name="problemList[problemListIndex].an4"
  101. >
  102. <view class="problem-radio-flex">
  103. <view class="problem-radio-icon">
  104. <view class="problem-radio-letter">{{
  105. numberToLetter(3)
  106. }}</view>
  107. </view>
  108. <text
  109. style="font-size: 42rpx; font-weight: bold; margin-left: 20rpx"
  110. >{{ problemList[problemListIndex].an4 }}</text
  111. >
  112. </view>
  113. </van-radio>
  114. <van-radio
  115. v-if="problemList[problemListIndex].an5"
  116. label-class="pl0"
  117. custom-class="mt40"
  118. use-icon-slot
  119. :name="problemList[problemListIndex].an5"
  120. >
  121. <view class="problem-radio-flex">
  122. <view class="problem-radio-icon">
  123. <view class="problem-radio-letter">{{
  124. numberToLetter(4)
  125. }}</view>
  126. </view>
  127. <text
  128. style="font-size: 42rpx; font-weight: bold; margin-left: 20rpx"
  129. >{{ problemList[problemListIndex].an5 }}</text
  130. >
  131. </view>
  132. </van-radio>
  133. <van-radio
  134. v-if="problemList[problemListIndex].an6"
  135. label-class="pl0"
  136. custom-class="mt40"
  137. use-icon-slot
  138. :name="problemList[problemListIndex].an6"
  139. >
  140. <view class="problem-radio-flex">
  141. <view class="problem-radio-icon">
  142. <view class="problem-radio-letter">{{
  143. numberToLetter(5)
  144. }}</view>
  145. </view>
  146. <text
  147. style="font-size: 42rpx; font-weight: bold; margin-left: 20rpx"
  148. >{{ problemList[problemListIndex].an6 }}</text
  149. >
  150. </view>
  151. </van-radio>
  152. <van-radio
  153. v-if="problemList[problemListIndex].an7"
  154. label-class="pl0"
  155. custom-class="mt40"
  156. use-icon-slot
  157. :name="problemList[problemListIndex].an7"
  158. >
  159. <view class="problem-radio-flex">
  160. <view class="problem-radio-icon">
  161. <view class="problem-radio-letter">{{
  162. numberToLetter(6)
  163. }}</view>
  164. </view>
  165. <text
  166. style="font-size: 42rpx; font-weight: bold; margin-left: 20rpx"
  167. >{{ problemList[problemListIndex].an7 }}</text
  168. >
  169. </view>
  170. </van-radio> -->
  171. </van-radio-group>
  172. <van-radio-group
  173. v-if="problemList[problemListIndex].isComplete"
  174. :value="problemList[problemListIndex].userAnswer"
  175. >
  176. <view :key="index" v-for="(item, index) in anLength">
  177. <van-radio
  178. v-if="problemList[problemListIndex]['an' + (index + 1)]"
  179. label-class="pl0"
  180. custom-class="mt40"
  181. use-icon-slot
  182. :name="index + 1"
  183. >
  184. <view class="problem-radio-flex">
  185. <view class="problem-radio-icon">
  186. <icon
  187. type="clear"
  188. v-if="
  189. index + 1 ==
  190. problemList[problemListIndex].userAnswerIndex &&
  191. problemList[problemListIndex].userAnswerIndex !=
  192. problemList[problemListIndex].answertrue
  193. "
  194. class="problem-radio-letter"
  195. color="red"
  196. size="60rpx"
  197. ></icon>
  198. <icon
  199. type="success"
  200. v-else-if="
  201. index + 1 ==
  202. problemList[problemListIndex].userAnswerIndex &&
  203. problemList[problemListIndex].userAnswerIndex ==
  204. problemList[problemListIndex].answertrue
  205. "
  206. class="problem-radio-letter"
  207. color="#33CDA4"
  208. size="60rpx"
  209. ></icon>
  210. <view v-else class="problem-radio-letter">{{
  211. numberToLetter(index)
  212. }}</view>
  213. </view>
  214. <text
  215. style="
  216. font-size: 42rpx;
  217. font-weight: bold;
  218. margin-left: 20rpx;
  219. "
  220. >{{ problemList[problemListIndex]["an" + (index + 1)] }}</text
  221. >
  222. </view>
  223. </van-radio>
  224. </view>
  225. </van-radio-group>
  226. </view>
  227. <view class="problem-media">
  228. <image
  229. mode="widthFix"
  230. v-if="getFileType(problemList[problemListIndex].mediaUrl) == 'image'"
  231. :src="problemList[problemListIndex].mediaUrl"
  232. ></image>
  233. <video
  234. :controls="false"
  235. autoplay
  236. loop
  237. v-if="getFileType(problemList[problemListIndex].mediaUrl) == 'video'"
  238. :src="problemList[problemListIndex].mediaUrl"
  239. ></video>
  240. </view>
  241. </view>
  242. <view class="bottom">
  243. <view class="switch">
  244. <view @click="prePage" class="pre"> 上一题</view>
  245. <view @click="nextPage" class="next"> 下一题</view>
  246. </view>
  247. <view class="submit">
  248. <view>
  249. <view
  250. v-if="query.showSubmit == '1'"
  251. @click="
  252. () => {
  253. submitExamVisible = true;
  254. }
  255. "
  256. class="submit-button"
  257. ><text>交卷</text
  258. ><countDown
  259. @change="getThreeExamTime"
  260. @end="submitExam"
  261. background=""
  262. :time="examTime"
  263. ></countDown>
  264. </view>
  265. </view>
  266. <view class="count">
  267. <view class="col">
  268. <icon type="success" size="26rpx" color="#33CDA4"></icon>
  269. <text style="font-size: 24rpx; color: #8a9099; margin-left: 8rpx">{{
  270. trueNum
  271. }}</text>
  272. </view>
  273. <view class="col">
  274. <icon type="clear" size="26rpx" color="#FF4D53"></icon>
  275. <text style="font-size: 24rpx; color: #8a9099; margin-left: 8rpx">{{
  276. falseNum
  277. }}</text>
  278. </view>
  279. <view class="col">
  280. <van-icon name="description" />
  281. <text style="font-size: 24rpx; color: #8a9099; margin-left: 8rpx"
  282. >{{ problemListIndex + 1 }}/{{ problemList.length }}</text
  283. >
  284. </view>
  285. </view>
  286. </view>
  287. </view>
  288. <van-popup :zIndex="1005" round :show="submitExamVisible">
  289. <view class="tip1">
  290. <view class="title"> 确认交卷 </view>
  291. <view class="score">
  292. <view class="score-list">
  293. <view class="score-dont">
  294. {{ problemList.length - trueNum - falseNum }}</view
  295. >
  296. <view style="font-size: 28rpx; color: #8a9099">未答题数</view>
  297. </view>
  298. <view class="score-list"
  299. ><view class="score-rest" style="margin: 0 auto">
  300. {{ restTime }}</view
  301. >
  302. <view style="font-size: 28rpx; color: #8a9099">剩余时间</view></view
  303. >
  304. <view class="score-list"
  305. ><view class="score-exam"> {{ score }}</view>
  306. <view style="font-size: 28rpx; color: #8a9099">考试得分</view></view
  307. >
  308. </view>
  309. <view class="bottom">
  310. <view
  311. @click="
  312. () => {
  313. submitExamVisible = false;
  314. }
  315. "
  316. class="left"
  317. >继续答题</view
  318. >
  319. <view
  320. @click="
  321. () => {
  322. resultExamVisible = true;
  323. submitExamVisible = false;
  324. }
  325. "
  326. class="right"
  327. >现在交卷</view
  328. >
  329. </view>
  330. </view>
  331. </van-popup>
  332. <van-popup :zIndex="1006" round :show="resultExamVisible">
  333. <view class="tip2">
  334. <view style="position: relative">
  335. <image
  336. mode="widthFix"
  337. style="width: 628rpx"
  338. src="https://ndata.zzxcx.net/ctjk/mp-wx/threeExam/bg_dialog.png"
  339. ></image>
  340. <image
  341. mode="widthFix"
  342. v-if="score < 90"
  343. class="tip2-cry"
  344. style="width: 187rpx"
  345. src="https://ndata.zzxcx.net/ctjk/mp-wx/threeExam/cry.png"
  346. ></image>
  347. <image
  348. mode="widthFix"
  349. v-if="score >= 90"
  350. class="tip2-cry"
  351. style="width: 187rpx"
  352. src="https://ndata.zzxcx.net/ctjk/mp-wx/threeExam/laugh.png"
  353. ></image>
  354. <view class="tip2-text">
  355. <view>恭喜您</view>
  356. <view
  357. >您的成绩<text style="color: #01c18d" v-if="score >= 90"
  358. >合格</text
  359. ><text style="color: #ff4d53" v-if="score < 90"
  360. >不合格</text
  361. ></view
  362. >
  363. <view class="tip2-text-line3"
  364. >当前已答错<text style="color: #ff4d53; padding: 0 8rpx">{{
  365. falseNum
  366. }}</text>
  367. 题</view
  368. >
  369. <view class="tip2-bottom">
  370. <!-- <view class="tip2-bottom-1">试试答题技巧,提分更快</view> -->
  371. <view
  372. @click="goPath('/otherPages/threeExamScore/index?score='+score)"
  373. class="tip2-bottom-2"
  374. >现在交卷</view
  375. >
  376. <view
  377. @click="
  378. () => {
  379. resultExamVisible = false;
  380. submitExamVisible = false;
  381. }
  382. "
  383. class="tip2-bottom-3"
  384. >继续答题</view
  385. >
  386. </view>
  387. </view>
  388. </view>
  389. </view>
  390. </van-popup>
  391. </view>
  392. </template>
  393. <script>
  394. import api from "@/api";
  395. import utils from "@/utils";
  396. import countDown from "@/components/countDown/index";
  397. export default {
  398. data() {
  399. return {
  400. query: {
  401. showSubmit: true,
  402. },
  403. anLength: 7,
  404. problemList: [
  405. {
  406. an1: "红色",
  407. an2: "黄色",
  408. an3: "紫色",
  409. an4: "绿色",
  410. an5: "",
  411. an6: "",
  412. an7: "",
  413. answertrue: "1",
  414. bestExplainNew: "图中信号灯亮的是红灯。",
  415. bestanswerid: "1351372021270892544",
  416. chapterid: 0,
  417. cityid: 0,
  418. diffDegree: 3,
  419. errorRate: 0,
  420. explain: "图中信号灯亮的是红灯。",
  421. gs: "test",
  422. id: 26852,
  423. intnumber: "",
  424. jieshiFrom: "",
  425. kemu: 1,
  426. keyword: "",
  427. licensetype: "",
  428. mediaUrl:
  429. "https://t1-1305573081.file.myqcloud.com/yd/app/media/26852-1606813820528.webp",
  430. moretypes: "",
  431. question: "下图中指示灯的颜色是什么?",
  432. questionSource: 3,
  433. showOptionType: 0,
  434. sinaimg: "26852-1606813820528.webp",
  435. strtppe: "87",
  436. strtypeL: "8701",
  437. type: 2,
  438. videoUrl: "",
  439. },
  440. {
  441. id: 26855,
  442. type: 2,
  443. intnumber: "",
  444. strtppe: "87",
  445. strtypeL: "8701",
  446. licensetype: "",
  447. question: "100-6-6-6=?",
  448. an1: "82",
  449. an2: "60",
  450. an3: "76",
  451. an4: "48",
  452. an5: "",
  453. an6: "",
  454. an7: "",
  455. answertrue: "1",
  456. explain: "100-6-6-6=82",
  457. bestanswerid: "1333679685615247360",
  458. kemu: 1,
  459. jieshiFrom: "",
  460. moretypes: "",
  461. chapterid: 0,
  462. sinaimg: "",
  463. videoUrl: "",
  464. diffDegree: 1,
  465. cityid: 0,
  466. gs: "test",
  467. keyword: "",
  468. errorRate: 0,
  469. mediaUrl: "",
  470. showOptionType: 0,
  471. questionSource: 3,
  472. bestExplainNew: "100-6-6-6=82",
  473. },
  474. ],
  475. trueNum: 0,
  476. falseNum: 0,
  477. problemListIndex: 0,
  478. submitExamVisible: false,
  479. resultExamVisible: false,
  480. examTime: 1000 * 60 * 20,
  481. restTime: "",
  482. useTime: "",
  483. };
  484. },
  485. computed: {
  486. score() {
  487. return this.trueNum * 5;
  488. },
  489. },
  490. onLoad(query) {
  491. this.query = query;
  492. if (this.query.showSubmit == "1") {
  493. api.exam.studentThreeForceSelectTestQuestionInfoList().then((res) => {
  494. if (Array.isArray(res.rows) && res.rows.length > 0) {
  495. res.rows.forEach((element) => {
  496. element.userAnswerIndex = -1;
  497. element.isComplete = false;
  498. });
  499. this.problemList = res.rows;
  500. } else {
  501. Toast({
  502. type: "fail",
  503. message: "加载失败",
  504. });
  505. }
  506. });
  507. } else if (this.query.showSubmit == "0") {
  508. api.exam.studentThreeForceList().then((res) => {
  509. if (Array.isArray(res.rows) && res.rows.length > 0) {
  510. res.rows.forEach((element) => {
  511. element.userAnswerIndex = -1;
  512. element.isComplete = false;
  513. });
  514. this.problemList = res.rows;
  515. } else {
  516. Toast({
  517. type: "fail",
  518. message: "加载失败",
  519. });
  520. }
  521. });
  522. }
  523. },
  524. methods: {
  525. goPath(url) {
  526. console.log(url);
  527. uni.navigateTo({
  528. url,
  529. });
  530. },
  531. getThreeExamTime(a, b) {
  532. this.restTime = a;
  533. this.useTime = b;
  534. },
  535. submitExam(e) {
  536. let that = this;
  537. console.log(e);
  538. uni.showModal({
  539. title: "是否交卷",
  540. success(res) {
  541. if (res.confirm) {
  542. uni.navigateTo({
  543. url: "/otherPages/threeExamScore/index?score=" + that.score,
  544. });
  545. }
  546. },
  547. });
  548. },
  549. getFileType(src) {
  550. let suffix = src.substring(src.lastIndexOf(".") + 1);
  551. let type = "";
  552. switch (suffix) {
  553. case "mp4":
  554. case "WebM":
  555. case "Ogg":
  556. type = "video";
  557. break;
  558. case "png":
  559. case "jpg":
  560. case "webp":
  561. type = "image";
  562. break;
  563. case "pdf":
  564. type = "pdf";
  565. break;
  566. default:
  567. type = "other";
  568. }
  569. return type;
  570. },
  571. changeUserAnswer(e) {
  572. console.log(e);
  573. this.problemList[this.problemListIndex].userAnswerIndex = e.detail;
  574. this.problemList[this.problemListIndex].userAnswer =
  575. this.problemList[this.problemListIndex]["an" + e.detail];
  576. this.problemList[this.problemListIndex].isComplete = true;
  577. this.problemList[this.problemListIndex].userAnswerIndex ==
  578. this.problemList[this.problemListIndex].answertrue
  579. ? this.trueNum++
  580. : this.falseNum++;
  581. },
  582. prePage(e) {
  583. if (this.problemListIndex <= 0) {
  584. uni.showToast({
  585. icon: "none",
  586. title: "到底了",
  587. });
  588. } else {
  589. this.problemListIndex = this.problemListIndex - 1;
  590. }
  591. },
  592. nextPage(e) {
  593. if (this.problemListIndex >= this.problemList.length - 1) {
  594. uni.showToast({
  595. icon: "none",
  596. title: "到底了",
  597. });
  598. } else {
  599. this.problemListIndex = this.problemListIndex + 1;
  600. }
  601. },
  602. numberToLetter(index) {
  603. index = Number(index);
  604. return String.fromCharCode(index + 65);
  605. },
  606. createProblemTypeHtml(index) {
  607. if (index == 1) {
  608. return '<span style="font-size: 11px;color: #fff;background: #2878ff;padding: 3px 10px;border-radius: 4px;margin-right: 5px;vertical-align: middle;">判断题</span>';
  609. } else {
  610. return '<span style="font-size: 11px;color: #fff;background: #2878ff;padding: 3px 10px;border-radius: 4px;margin-right: 5px;vertical-align: middle;">选择题</span>';
  611. }
  612. },
  613. },
  614. components: {
  615. countDown,
  616. },
  617. };
  618. </script>
  619. <style lang="scss" scoped>
  620. .topad {
  621. padding: 0 30rpx;
  622. }
  623. .threeExam {
  624. background: #fff;
  625. width: 100%;
  626. height: 100vh;
  627. display: flex;
  628. flex-direction: column;
  629. }
  630. .wxad {
  631. border: none;
  632. }
  633. .problem {
  634. padding: 0 30rpx;
  635. height: 500rpx;
  636. flex-grow: 1;
  637. overflow-y: scroll;
  638. .problem-type {
  639. font-size: 22rpx;
  640. color: #fff;
  641. background: #2878ff;
  642. width: 94rpx;
  643. height: 40rpx;
  644. padding: 6rpx 20rpx;
  645. border-radius: 8rpx;
  646. margin-right: 10rpx;
  647. vertical-align: middle;
  648. }
  649. .problem-issue {
  650. font-size: 42rpx;
  651. vertical-align: middle;
  652. font-weight: bold;
  653. color: #0a1a33;
  654. }
  655. .problem-radio {
  656. .problem-radio-flex {
  657. display: flex;
  658. width: 100%;
  659. flex-wrap: wrap;
  660. align-items: center;
  661. }
  662. .problem-radio-icon {
  663. width: 70rpx;
  664. height: 70rpx;
  665. display: flex;
  666. justify-content: center;
  667. align-items: center;
  668. .problem-radio-letter {
  669. width: 60rpx;
  670. height: 60rpx;
  671. line-height: 60rpx;
  672. font-size: 42rpx;
  673. color: #333;
  674. box-shadow: 0px 4rpx 12rpx 0rpx rgba(0, 0, 0, 0.26);
  675. text-align: center;
  676. border-radius: 50%;
  677. }
  678. }
  679. }
  680. .problem-media {
  681. width: 100%;
  682. display: flex;
  683. justify-content: center;
  684. padding-top: 15rpx;
  685. > image {
  686. width: 100%;
  687. }
  688. }
  689. }
  690. .bottom {
  691. // position: absolute;
  692. // bottom: 0;
  693. width: 100%;
  694. padding-bottom: constant(safe-area-inset-bottom);
  695. padding-bottom: env(safe-area-inset-bottom);
  696. .switch {
  697. bottom: 48rpx;
  698. padding: 0 30rpx;
  699. display: flex;
  700. justify-content: space-between;
  701. width: 100%;
  702. .pre {
  703. width: 156rpx;
  704. height: 76rpx;
  705. line-height: 76rpx;
  706. background: #ffffff;
  707. color: #8a9099;
  708. border-radius: 40rpx 40rpx 40rpx 40rpx;
  709. opacity: 1;
  710. border: 2rpx solid #707070;
  711. text-align: center;
  712. }
  713. .next {
  714. width: 156rpx;
  715. height: 76rpx;
  716. line-height: 76rpx;
  717. color: #8a9099;
  718. background: #ffffff;
  719. border-radius: 40rpx 40rpx 40rpx 40rpx;
  720. opacity: 1;
  721. border: 2rpx solid #707070;
  722. text-align: center;
  723. }
  724. }
  725. .submit {
  726. margin-top: 50rpx;
  727. width: 100%;
  728. height: 98rpx;
  729. box-shadow: 2rpx -2rpx 6rpx 2rpx rgba(0, 0, 0, 0.16);
  730. display: flex;
  731. justify-content: space-between;
  732. align-content: center;
  733. align-items: center;
  734. padding: 0 30rpx;
  735. .submit-button {
  736. width: 180rpx;
  737. line-height: 68rpx;
  738. background: #498ef5;
  739. border-radius: 34rpx 34rpx 34rpx 34rpx;
  740. opacity: 1;
  741. color: #fff;
  742. text-align: center;
  743. display: flex;
  744. font-size: 24rpx;
  745. padding: 0 16rpx;
  746. justify-content: space-evenly;
  747. }
  748. }
  749. .count {
  750. width: 390rpx;
  751. display: flex;
  752. justify-content: space-between;
  753. .col {
  754. display: flex;
  755. }
  756. }
  757. }
  758. .tip1 {
  759. width: 580rpx;
  760. height: 402rpx;
  761. padding: 0 30rpx;
  762. .title {
  763. color: #0a1a33;
  764. width: 100%;
  765. font-size: 42rpx;
  766. font-weight: bold;
  767. margin-top: 48rpx;
  768. text-align: center;
  769. }
  770. .score {
  771. display: flex;
  772. justify-content: space-between;
  773. font-size: 0;
  774. width: 100%;
  775. .score-list {
  776. text-align: center;
  777. color: #ff4d53;
  778. font-size: 28rpx;
  779. display: inline-block;
  780. margin-top: 64rpx;
  781. }
  782. .score-dont {
  783. font-size: 42rpx;
  784. text-align: center;
  785. }
  786. .score-rest {
  787. text-align: center;
  788. font-size: 42rpx;
  789. color: #0a1a33;
  790. }
  791. .score-exam {
  792. text-align: center;
  793. font-size: 42rpx;
  794. color: #0a1a33;
  795. }
  796. }
  797. .bottom {
  798. width: 100%;
  799. display: flex;
  800. justify-content: space-between;
  801. margin-top: 48rpx;
  802. .left {
  803. width: 250rpx;
  804. line-height: 80rpx;
  805. border-radius: 40rpx 40rpx 40rpx 40rpx;
  806. opacity: 1;
  807. border: 2rpx solid #707070;
  808. text-align: center;
  809. font-size: 30rpx;
  810. }
  811. .right {
  812. width: 250rpx;
  813. line-height: 80rpx;
  814. background: #498ef5;
  815. border-radius: 40rpx 40rpx 40rpx 40rpx;
  816. opacity: 1;
  817. color: #fff;
  818. text-align: center;
  819. font-size: 30rpx;
  820. }
  821. }
  822. }
  823. .tip2 {
  824. .tip2-cry {
  825. position: absolute;
  826. z-index: 1002;
  827. left: 50%;
  828. top: 48rpx;
  829. transform: translate(-50%, 0);
  830. }
  831. .tip2-text {
  832. position: absolute;
  833. top: 284rpx;
  834. width: 100%;
  835. color: #0a1a33;
  836. font-size: 42rpx;
  837. text-align: center;
  838. font-weight: bold;
  839. line-height: 1.5;
  840. }
  841. .tip2-text-line3 {
  842. color: #0a1a33;
  843. font-size: 30rpx;
  844. margin-top: 25rpx;
  845. }
  846. .tip2-bottom {
  847. width: 100%;
  848. .tip2-bottom-1 {
  849. width: 480rpx;
  850. line-height: 80rpx;
  851. background: #498ef5;
  852. border-radius: 40rpx 40rpx 40rpx 40rpx;
  853. opacity: 1;
  854. margin: 0 auto;
  855. font-size: 30rpx;
  856. color: #ffffff;
  857. margin-top: 60rpx;
  858. }
  859. .tip2-bottom-2 {
  860. width: 480rpx;
  861. line-height: 80rpx;
  862. border-radius: 40rpx 40rpx 40rpx 40rpx;
  863. opacity: 1;
  864. border: 2rpx solid #707070;
  865. margin: 0 auto;
  866. font-size: 30rpx;
  867. margin-top: 30rpx;
  868. }
  869. .tip2-bottom-3 {
  870. margin-top: 30rpx;
  871. color: #5c6066;
  872. font-size: 30rpx;
  873. }
  874. }
  875. }
  876. </style>