scoreQuery.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <template>
  2. <page-meta :root-font-size="fontsize+'px'" style="display: block;">
  3. <view>
  4. <Headers></Headers>
  5. <view class="project">
  6. <view style="width: 12rem;margin: auto;">职业技能在线考试系统</view>
  7. </view>
  8. <view class="project-content ddflex">
  9. <!-- 成绩区域 -->
  10. <view class="test-box">
  11. <view class="test-title">{{examResult.title}}</view>
  12. <view class="test-time">
  13. <text style="color: #999999;margin-right: 0.1rem;">考试时间</text>
  14. <text>{{examResult.createDate}}</text>
  15. </view>
  16. <!-- 用户考试状态 0未交卷 1已交卷 2阅卷中 3缺考 4 阅卷完成 -->
  17. <view v-if="examResult.state!=4">
  18. <image class="yj-icon" src="/static/images/yuejuan.png"></image>
  19. <view class="yj-label">
  20. <block v-if="examResult.state==0">未交卷</block>
  21. <block v-if="examResult.state==1">已交卷,等待阅卷中</block>
  22. <block v-if="examResult.state==3">缺考</block>
  23. </view>
  24. </view>
  25. <view v-else class="chufen-number" :style="examResult.score>=paper.passScore?'color:green;':''">
  26. {{examResult.score}}<text style="font-size: 0.18rem;margin-left: 0.1rem;">分</text>
  27. <view style="font-size: 0.16rem;">
  28. {{examResult.score>=paper.passScore?'考试合格':'考试不合格'}}
  29. </view>
  30. </view>
  31. <view class="score ddflex" >
  32. <view>
  33. <view class="score-label">总题数</view>
  34. <view class="score-value">{{examResult.questionCount?examResult.questionCount:0}}</view>
  35. </view>
  36. <view class="line"></view>
  37. <view>
  38. <view class="score-label">考试用时</view>
  39. <view class="score-value">{{examResult.time?timeChangeHMS(examResult.time):'00:00:00'}}</view>
  40. </view>
  41. </view>
  42. <navigator class="back-btn ddflex" hover-class="none" open-type="navigateBack">
  43. <image src="/static/images/back3.png"></image>
  44. <text>返回上一页</text>
  45. </navigator>
  46. </view>
  47. <!-- 答题卡区域 -->
  48. <view class="test-info ddflex">
  49. <view class="test-people ddflex">
  50. <image :src="examResult.avatar"></image>
  51. <view class="test-people-info ddflex">
  52. <view class="ddflex">
  53. <view class="test-people-label">考生姓名</view>
  54. <view class="fflex">{{examResult.userName}}</view>
  55. </view>
  56. <view class="ddflex">
  57. <view class="test-people-label">身份证号</view>
  58. <view class="fflex" style="word-break: break-all;">{{examResult.idNumber}}</view>
  59. </view>
  60. <view class="ddflex">
  61. <view class="test-people-label">考试科目</view>
  62. <view class="fflex">{{examResult.title}}</view>
  63. </view>
  64. </view>
  65. </view>
  66. <view class="note-box">
  67. <view class="note-title ddflex">
  68. <image class="note-title-icon" src="/static/images/ksgg.png"></image>
  69. <view>考试公告</view>
  70. </view>
  71. <view>
  72. <view class="note-item ddflex" v-for="item,index in otherInfo" :key="index" @click="jumpUrl('/pages/contentDetail/contentDetail?id='+item.id)">
  73. <view class="note-item-content">{{item.title}}</view>
  74. </view>
  75. </view>
  76. </view>
  77. <!-- 注意事项 -->
  78. <view class="note-box">
  79. <view class="note-title ddflex">
  80. <image class="note-title-icon" src="/static/images/zysx.png"></image>
  81. <view>注意事项</view>
  82. </view>
  83. <view>
  84. <view class="note-item ddflex" v-for="item,index in noteInfo" :key="index+'zy'" @click="jumpUrl('/pages/contentDetail/contentDetail?id='+item.id)">
  85. <view class="note-item-content">{{item.title}}</view>
  86. </view>
  87. </view>
  88. </view>
  89. </view>
  90. </view>
  91. <Foot></Foot>
  92. </view>
  93. </page-meta>
  94. </template>
  95. <script>
  96. const app = getApp();
  97. const req = require('../../utils/request.js');
  98. const utils = require('../../utils/util.js');
  99. const api = require('../../utils/api.js')
  100. export default {
  101. data() {
  102. return {
  103. paperId:null,
  104. admissionNo:null,
  105. paper: '', //试卷详情
  106. examResult:{},//考试详情
  107. otherInfo:[],
  108. noteInfo:[],
  109. fontsize:'100px'
  110. }
  111. },
  112. onReady() {},
  113. onLoad(options) {
  114. let srceenNunber = 19.2; //因设计图是1920所有把设计图分为19.2份,所以html字体大小为100px
  115. let that = this;
  116. //窗体改变大小触发事件
  117. uni.onWindowResize((res) => {
  118. console.log('变化后的窗口宽度=', res.size.windowWidth);
  119. that.fontsize = parseFloat(res.size.windowWidth) / srceenNunber;
  120. })
  121. //打开获取屏幕大小
  122. uni.getSystemInfo({
  123. success(res) {
  124. console.log('设备信息:', res);
  125. that.fontsize = res.screenWidth / srceenNunber;
  126. console.log('字体大小:', that.fontsize);
  127. }
  128. })
  129. this.paperId = options.paperId;
  130. this.admissionNo = options.admissionNo;
  131. this.getPaper()
  132. this.getTextOtherInfo()
  133. this.getTextNoteInfo()
  134. },
  135. methods: {
  136. jumpUrl(url){
  137. uni.navigateTo({
  138. url:url
  139. })
  140. },
  141. //获取考试对象
  142. getPaper() {
  143. var _ts = this;
  144. req.getRequest(api.paper_detail + _ts.paperId, {}, res => {
  145. _ts.paper = res;
  146. this.getResult()
  147. });
  148. },
  149. // 获取考试对象的答题记录
  150. getResult(){
  151. req.getRequest('/api/v3/exam/user/manager/result', {admission:this.admissionNo,paperId:this.paperId}, res => {
  152. this.examResult = res;
  153. });
  154. },
  155. // 考试公告
  156. getTextOtherInfo(){
  157. let form={
  158. code:req.public.ksggCode,
  159. page:1,
  160. limit:3
  161. }
  162. req.getRequest('/api/content/list',form,res=>{
  163. this.otherInfo = res
  164. })
  165. },
  166. // 注意事项
  167. getTextNoteInfo(){
  168. let form={
  169. code:req.public.zysxCode,
  170. page:1,
  171. limit:3
  172. }
  173. req.getRequest('/api/content/list',form,res=>{
  174. this.noteInfo = res
  175. })
  176. },
  177. // 秒转换时分秒
  178. timeChangeHMS(time){
  179. let _ts = this
  180. var times = {};
  181. times.hour = _ts.cut22(Math.floor(time / 3600));
  182. var leave2 = time % 3600;
  183. times.minutes = _ts.cut22(Math.floor(leave2 / 60));
  184. var leave3 = leave2 % 60;
  185. times.seconds = _ts.cut22(Math.round(leave3));
  186. return times.hour+":"+times.minutes+":"+times.seconds
  187. },
  188. cut22(n) {
  189. n = n.toString();
  190. return n[1] ? n : '0' + n;
  191. },
  192. }
  193. }
  194. </script>
  195. <style>
  196. @import url('./scoreQuery.css');
  197. </style>