checkList.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <template>
  2. <view class="phone-kscx-page">
  3. <view class="icon-title-navBar-box">
  4. <view @click="goUpPage" class="nav-bar-icon"></view>
  5. <text class="nav-bar-title">考试查询</text>
  6. </view>
  7. <view class="jiazheng-search-box">
  8. <uni-datetime-picker v-model="data.range" type="daterange" @change="onDateSelect" style="flex: 1" start-placeholder="录入开始时间" end-placeholder="录入结束时间"
  9. class="yishou-date-box" />
  10. </view>
  11. <view class="no-data-tip-box" v-if="!(data.showA || data.showB || data.showC || data.showD)">请选择时间段进行查询</view>
  12. <view v-show="data.showA||data.showB||data.showC||data.showD" class="phone-head-tab-box kscx-tab-box">
  13. <view class="tab-item-box" :class="{active: data.showA}" @click="handleShow(1)">需要考试:{{data.listA.length}}</view>
  14. <view class="tab-item-box" :class="{active: data.showB}" @click="handleShow(2)">考试通过:{{data.listB.length}}</view>
  15. <view class="tab-item-box" :class="{active: data.showC}" @click="handleShow(3)">考试未通过:{{data.listC.length}}</view>
  16. <view class="tab-item-box" :class="{active: data.showD}" @click="handleShow(4)">未考试:{{data.listD.length}}</view>
  17. </view>
  18. <view v-show="data.showA" class="kscx-body-box">
  19. <view class="kscx-card-list">
  20. <view v-for="item in data.listA" :key="item.userName" class="kscx-card-box">
  21. <view class="kscx-card-row"><icon class="user-icon"></icon>{{item.realName}}</view>
  22. <view class="kscx-card-row"><icon class="tel-icon"></icon>{{item.userName}}</view>
  23. <view class="kscx-card-row"><icon class="idcard-icon"></icon>职业名称:{{item.zyName}}</view>
  24. <view class="kscx-card-row"><icon class="zy-icon"></icon>职业等级:{{item.zyLevel}}</view>
  25. </view>
  26. </view>
  27. </view>
  28. <view v-show="data.showB" class="kscx-body-box">
  29. <view class="kscx-card-list">
  30. <view v-for="item in data.listB" :key="item.userName" class="kscx-card-box">
  31. <view class="kscx-card-row"><icon class="user-icon"></icon>{{item.realName}}</view>
  32. <view class="kscx-card-row"><icon class="tel-icon"></icon>{{item.userName}}</view>
  33. <view class="kscx-card-row"><icon class="idcard-icon"></icon>职业名称:{{item.zyName}}</view>
  34. <view class="kscx-card-row"><icon class="zy-icon"></icon>职业等级:{{item.zyLevel}}</view>
  35. </view>
  36. </view>
  37. </view>
  38. <view v-show="data.showC" class="kscx-body-box">
  39. <view class="kscx-card-list">
  40. <view v-for="item in data.listC" :key="item.userName" class="kscx-card-box">
  41. <view class="kscx-card-row"><icon class="user-icon"></icon>{{item.realName}}</view>
  42. <view class="kscx-card-row"><icon class="tel-icon"></icon>{{item.userName}}</view>
  43. <view class="kscx-card-row"><icon class="idcard-icon"></icon>职业名称:{{item.zyName}}</view>
  44. <view class="kscx-card-row"><icon class="zy-icon"></icon>职业等级:{{item.zyLevel}}</view>
  45. </view>
  46. </view>
  47. </view>
  48. <view v-show="data.showD" class="kscx-body-box">
  49. <view class="kscx-card-list">
  50. <view v-for="item in data.listD" :key="item.userName" class="kscx-card-box">
  51. <view class="kscx-card-row"><icon class="user-icon"></icon>{{item.realName}}</view>
  52. <view class="kscx-card-row"><icon class="tel-icon"></icon>{{item.userName}}</view>
  53. <view class="kscx-card-row"><icon class="idcard-icon"></icon>职业名称:{{item.zyName}}</view>
  54. <view class="kscx-card-row"><icon class="zy-icon"></icon>职业等级:{{item.zyLevel}}</view>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. </template>
  60. <script setup>
  61. import * as httpApi from "@/api/zijiazhenggongsi"
  62. import {
  63. reactive,
  64. ref
  65. } from "vue";
  66. import {
  67. onLoad
  68. } from "@dcloudio/uni-app"
  69. import {toast} from "../../../utils/common";
  70. const data = reactive({
  71. list: [], // 办证列表
  72. range: [],
  73. showA: false,
  74. showB: false,
  75. showC: false,
  76. showD: false,
  77. listA: [],
  78. listB: [],
  79. listC: [],
  80. listD: [],
  81. })
  82. function onDateSelect(data1) {
  83. if (!data1[0] || !data1[1]) {
  84. data.listA = [];
  85. data.listB = [];
  86. data.listC = [];
  87. data.listD = [];
  88. data.showA = false;
  89. data.showB = false;
  90. data.showC = false;
  91. data.showD = false;
  92. toast('请选择录入时间')
  93. return;
  94. }
  95. data.range = data1;
  96. httpApi.getKzchaxunInfo({
  97. endDate: data.range[1],
  98. startDate: data.range[0]
  99. }).then(res => {
  100. data.listA = res.data.list;
  101. data.listB = res.data.ytgList;
  102. data.listC = res.data.wtgList;
  103. data.listD = res.data.wksList;
  104. data.showA = true;
  105. data.showB = false;
  106. data.showC = false;
  107. data.showD = false;
  108. })
  109. }
  110. function handleShow(code) {
  111. if (code == 1) {
  112. data.showA = true;
  113. data.showB = false;
  114. data.showC = false;
  115. data.showD = false;
  116. }
  117. if (code == 2) {
  118. data.showA = false;
  119. data.showB = true;
  120. data.showC = false;
  121. data.showD = false;
  122. }
  123. if (code == 3) {
  124. data.showA = false;
  125. data.showB = false;
  126. data.showC = true;
  127. data.showD = false;
  128. }
  129. if (code == 4) {
  130. data.showA = false;
  131. data.showB = false;
  132. data.showC = false;
  133. data.showD = true;
  134. }
  135. }
  136. function goUpPage() {
  137. uni.redirectTo({
  138. url: `/pages/admin/ShouYe/shouye`
  139. })
  140. }
  141. </script>
  142. <style>
  143. </style>