ksfx.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <template>
  2. <div class="">
  3. <NavHeader />
  4. <bread-crumb />
  5. <div class="w-1200px m-auto h-auto mastMain">
  6. <div class="my-4 searchInput">
  7. <el-input
  8. class="w-200px "
  9. v-model="input3"
  10. placeholder="请输入检索内容"
  11. >
  12. <template #append>
  13. <el-button :icon="Search" />
  14. </template>
  15. </el-input>
  16. </div>
  17. <div class="min-h-600px groupExamMian">
  18. <div class="demo-collapse">
  19. <el-collapse accordion>
  20. <el-collapse-item :name="index + 1" v-for="(item, index) in examArrlist" :key="index"
  21. :class="{ 'bg-cusblue': (index+1) % 2 == 0 }">
  22. <template #title>
  23. <div class="w-full h-60px flex flex-row justify-between examSingleT">
  24. <div>{{ item.examN }}</div>
  25. <div>参考人数:??</div>
  26. <div>满分:??</div>
  27. <div>最高分:??</div>
  28. <div class="singleColor">考试分析</div>
  29. </div>
  30. </template>
  31. <div>
  32. <div class="px-90px py-10px flex flex-row justify-start flex-wrap examList" v-if="item.examPaperList">
  33. <div class="h-149px p-5px mt-10px flex flex-row justify-start examListSingle"
  34. v-for="(secItem, secIndex) in item.examPaperList" :key="secIndex" @click="linkTo('cjfx_cjd')">
  35. <div class="w-2/5 relative examListSingle_left">
  36. <img :src="examIcon" class="w-full h-full" alt="">
  37. <div class="w-full absolute top-0 left-0 text-right text-red-500 text-3xl font-bold pr-2 scoreNum"
  38. v-if="secItem.scoreN != 0">{{ secItem.scoreN }}</div>
  39. <div class=" absolute top-7px left-0 text-3xl font-bold lockExam" v-else>
  40. 缺考</div>
  41. <div
  42. class="w-full absolute left-0 bottom-2 text-center text-red-500 text-2xl font-bold subjectName">{{
  43. secItem.subName }}</div>
  44. </div>
  45. <div class="w-3/5 py-5px px-10px examListSingle_right">
  46. <p class="h-1/4">学科:{{ secItem.scoreN }}</p>
  47. <p class="h-1/4">总分:{{ secItem.scoreN }}</p>
  48. <p class="h-1/4">客观题:{{ secItem.ObjectiveQuestion }}</p>
  49. <p class="h-1/4">主观题:{{ secItem.SubjectiveQuestions }}</p>
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. </el-collapse-item>
  55. </el-collapse>
  56. </div>
  57. </div>
  58. </div>
  59. <commonFooter />
  60. </div>
  61. </template>
  62. <route lang="json">
  63. {
  64. "meta": {
  65. "title": "考试分析",
  66. "breadcrumb": true
  67. }
  68. }
  69. </route>
  70. <script setup>
  71. import { InfoFilled,Search } from '@element-plus/icons-vue';
  72. import examIcon from '@/assets/ksfx/examIcon.png';
  73. import { student_ksfx_list, ksjh_list } from "@/pages/ksfx/apiItem";
  74. import { useRouter } from "vue-router";
  75. import { skeletonProps } from 'element-plus';
  76. const router = useRouter();
  77. const input3 = ref('');
  78. const scoreMarkSwitch = $ref(true);
  79. let examArrlist = ref();
  80. onMounted(() => {
  81. initData();
  82. });
  83. //初始化
  84. const initData = () => {
  85. //接口模拟
  86. // let transObj1 = {
  87. // sm_id: 267,
  88. // ykj_kslx: 7,
  89. // }
  90. // ksjh_list(transObj1)
  91. // .then(res => {
  92. // if (res.code == "1") {
  93. // console.log(res, "887878");
  94. // examArrlist.value = res.data.page_data;
  95. // }
  96. // })
  97. // .catch(error => { console.log(error) })
  98. let transObj = {
  99. xueke_id: '',
  100. grade_id: '',
  101. school_id: ''
  102. }
  103. student_ksfx_list(transObj)
  104. .then(res => {
  105. if (res.code == "1") {
  106. console.log(res,"8989")
  107. examArrlist.value = res.data.data.examArrlist;
  108. }
  109. })
  110. .catch(error => { console.log(error) })
  111. }
  112. //跳转
  113. const linkTo = (item) => {
  114. router.push(item);
  115. }
  116. </script>
  117. <style lang="scss" scoped>
  118. @import '@/styles/ksfx.css';
  119. ::v-deep .el-collapse-item__header {
  120. height: 60px;
  121. border: 1px dashed grey;
  122. background-color: #F1F7FF;
  123. }
  124. .searchInput{
  125. padding-left:80%;
  126. }
  127. .mastMain {
  128. background-color: #ffffff;
  129. box-sizing: border-box;
  130. padding: 2px;
  131. }
  132. .bg-cusblue {
  133. background-color: #F1F7FF;
  134. }
  135. .singleColor{
  136. color: #1658E8;
  137. }
  138. .examSingleT {
  139. line-height: 60px;
  140. box-sizing: border-box;
  141. padding: 0 30px;
  142. }
  143. .examListSingle {
  144. width: 24%;
  145. background: #ffffff;
  146. border: 2px solid #0148e5;
  147. border-radius: 10px;
  148. margin-right: 1%;
  149. cursor: pointer;
  150. }
  151. .examListSingle:last-child {
  152. margin-right: 0 !important;
  153. }
  154. .examListSingle_left {}
  155. .lockExam {
  156. width: 70%;
  157. transform: translate(25%, 0%);
  158. background-color: red;
  159. border-radius: 50%;
  160. color: #ffffff;
  161. font-size: 14px;
  162. text-align: center;
  163. }</style>