exam3.vue 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. <template>
  2. <div class="app-container">
  3. <div>
  4. <div class="djs">得分成绩/满分成绩: <span class="df">0</span>/100</div>
  5. </div>
  6. <el-table
  7. :data="tableData"
  8. :span-method="arraySpanMethod"
  9. border
  10. style="width: 100%;margin-top:1%">
  11. <el-table-column
  12. prop="id"
  13. label="序号"
  14. width="180">
  15. </el-table-column>
  16. <el-table-column
  17. prop="name"
  18. label="评分标准">
  19. </el-table-column>
  20. <el-table-column
  21. prop="name2"
  22. label="扣分">
  23. </el-table-column>
  24. <el-table-column
  25. prop="name3"
  26. label="维修情况">
  27. <template scope="scope">
  28. <span v-if="scope.row.name3==='排除'" style="color: green">排除</span>
  29. <span v-else-if="scope.row.name3==='未排除'" style="color: red">未排除</span>
  30. <span v-else-if="scope.row.name3==='初始化'" style="color: gray">初始化</span>
  31. </template>
  32. </el-table-column>
  33. <el-table-column
  34. prop="name4"
  35. label="题目">
  36. </el-table-column>
  37. </el-table>
  38. <el-table
  39. :data="tableData1"
  40. :span-method="arraySpanMethod"
  41. border
  42. style="width: 100%;">
  43. <el-table-column
  44. prop="id"
  45. label="序号"
  46. width="180">
  47. </el-table-column>
  48. <el-table-column
  49. prop="name"
  50. label="评分标准">
  51. </el-table-column>
  52. <el-table-column
  53. prop="name2"
  54. label="扣分">
  55. </el-table-column>
  56. <el-table-column
  57. prop="name3"
  58. label="报告情况">
  59. <template scope="scope">
  60. <span v-if="scope.row.name3==='正确'" style="color: green">正确</span>
  61. <span v-else-if="scope.row.name3==='错误'" style="color: red">错误</span>
  62. </template>
  63. </el-table-column>
  64. <el-table-column
  65. prop="name4"
  66. label="学生答题情况">
  67. </el-table-column>
  68. </el-table>
  69. <el-form ref="elForm" size="medium" label-width="100px" style="margin-top: 2%;text-align: center;">
  70. <el-form-item size="large">
  71. <el-button type="primary" @click="submitForm" style="width: 8%;">结束</el-button>
  72. </el-form-item>
  73. </el-form>
  74. </div>
  75. </template>
  76. <style>
  77. .djs{
  78. margin-right: 5%;
  79. text-align: right;
  80. line-height:8px;
  81. font-size:20px;
  82. }
  83. .df {
  84. color:red;
  85. }
  86. </style>
  87. <script>
  88. import {examStudentReport } from "@/api/sim/exam";
  89. export default {
  90. data() {
  91. return {
  92. examId:'',
  93. tableData: [{
  94. id:'一.故障排除(75分)',
  95. name: '',
  96. name2: '',
  97. name3: '',
  98. name4: '',
  99. },{
  100. id:1,
  101. name: '故障一未排除扣25分',
  102. name2: '',
  103. name3: '',
  104. name4: '',
  105. }, {
  106. id:2,
  107. name: '故障二未排除扣25分',
  108. name2: '',
  109. name3: '',
  110. name4: '',
  111. }, {
  112. id:3,
  113. name: '故障三未排除扣25分',
  114. name2: '',
  115. name3: '',
  116. name4: '',
  117. }],
  118. tableData1: [{
  119. id:'二.修理报告表(15分)',
  120. name: '',
  121. name2: '',
  122. name3: '',
  123. name4: '',
  124. },{
  125. id:1,
  126. name: '故障现象少写或错写1条扣1分',
  127. name2: '',
  128. name3: '',
  129. name4: '',
  130. }, {
  131. id:2,
  132. name: '可能原因少写或错写1条扣1分',
  133. name2: '',
  134. name3: '',
  135. name4: '',
  136. }, {
  137. id:3,
  138. name: '故障部位少写或错写1条扣1分',
  139. name2: '',
  140. name3: '',
  141. name4: '',
  142. }, {
  143. id:4,
  144. name: '排除方法少写或错写1条扣1分',
  145. name2: '',
  146. name3: '',
  147. name4: '',
  148. }, {
  149. id:5,
  150. name: '修复结论错扣2分',
  151. name2: '',
  152. name3: '',
  153. name4: '',
  154. }, {
  155. id:'三.维修时间(10分)',
  156. name: '',
  157. name2: '',
  158. name3: '',
  159. name4: '',
  160. }, {
  161. id:'按没超过1分钟扣1分的比例扣分',
  162. name: '',
  163. name2: '',
  164. name3: '',
  165. name4: '',
  166. }, {
  167. id:'扣分小计',
  168. name: '',
  169. name2: '超时:',
  170. name3: '',
  171. name4: '',
  172. }, {
  173. id:'五.成绩',
  174. name: '',
  175. name2: '',
  176. name3: '',
  177. name4: '',
  178. }, {
  179. id:'说明',
  180. name: '',
  181. name2: '',
  182. name3: '',
  183. name4: '',
  184. }],
  185. };
  186. },
  187. created() {
  188. this.getList();
  189. },
  190. mounted() {
  191. this.examId = this.$route.params.examId;
  192. let timer = setInterval(() => {
  193. this.getList();
  194. }, 5000);
  195. },
  196. methods: {
  197. getList() {
  198. this.loading = true;
  199. const examId = this.$route.params.examId;
  200. examStudentReport(examId).then(response => {
  201. console.log(response);
  202. let minus1 = response.data.listPart1[0].minus;
  203. let minus2 = response.data.listPart1[1].minus;
  204. let minus3 = response.data.listPart1[2].minus;
  205. let text11 = '';
  206. if(response.data.listPart1[0].answerRight ==0){
  207. text11 = '初始化';
  208. }else if(response.data.listPart1[0].answerRight ==1){
  209. text11 = '排除';
  210. }else{
  211. text11 = '未排除';
  212. }
  213. console.log(text11);
  214. console.log('text11');
  215. let text12 = '';
  216. if(response.data.listPart1[1].answerRight==0){
  217. text12 = '初始化';
  218. }else if(response.data.listPart1[1].answerRight==1){
  219. text12 = '排除';
  220. }else{
  221. text12 = '未排除';
  222. }
  223. let text13 = '';
  224. if(response.data.listPart1[2].answerRight==0){
  225. text13 = '初始化';
  226. }else if(response.data.listPart1[2].answerRight==1){
  227. text13 = '排除';
  228. }else{
  229. text13 = '未排除';
  230. }
  231. let topic1 = response.data.listPart1[0].fault.name;
  232. let topic2 = response.data.listPart1[1].fault.name;
  233. let topic3 = response.data.listPart1[2].fault.name;
  234. this.tableData = [{
  235. id:'一.故障排除(75分)',
  236. },{
  237. id:1,
  238. name: '故障一未排除扣25分',
  239. name2: minus1,
  240. name3: text11,
  241. name4: topic1,
  242. }, {
  243. id:2,
  244. name: '故障二未排除扣25分',
  245. name2: minus2,
  246. name3: text12,
  247. name4: topic2,
  248. }, {
  249. id:3,
  250. name: '故障三未排除扣25分',
  251. name2: minus3,
  252. name3: text13,
  253. name4: topic3,
  254. }];
  255. });
  256. },
  257. //首页合并
  258. arraySpanMethod({ row, column, rowIndex, columnIndex }) {
  259. if (rowIndex === 0) {
  260. if (columnIndex === 0) {
  261. return [1, 5];
  262. } else {
  263. return [0, 0];
  264. }
  265. }
  266. if (rowIndex === 6) {
  267. if (columnIndex === 0) {
  268. return [1, 5];
  269. } else {
  270. return [0, 0];
  271. }
  272. }
  273. //按每超时1分钟扣分的比例扣分
  274. if (rowIndex>6) {
  275. if (columnIndex === 0) {
  276. return [1, 2];
  277. }else if(columnIndex ===2){
  278. return [1, 3];
  279. } else {
  280. return [0, 0];
  281. }
  282. }
  283. },
  284. /** 结束按钮 */
  285. submitForm() {
  286. this.$router.push("/exam/exam");
  287. },
  288. }
  289. };
  290. </script>