zkTaskList.vue 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <!-- 首页-组长 -->
  2. <template>
  3. <view>
  4. <yui-tabs :tabs="pageInfo.tabs" :offsetTop="25" v-model="pageInfo.activeIndex" @change="tabChange" color="rgba(190, 163, 117, 1)"
  5. titleActiveColor="rgba(190, 163, 117, 1)" sticky swipeable line-width="60rpx" line-height="2px" animated>
  6. <template #pane0>
  7. <view class="view_container leaderIndex">
  8. <!-- 列表 -->
  9. <view class="leaderIndex_list">
  10. <uni-card v-for="(item,index) in pageData.taskList" padding="10rpx 0">
  11. <view class="list_title">
  12. <image :src="item.taskStatusIcon" class="statusIcon"></image>
  13. <view>{{item.name}}</view>
  14. <image :src="showIcon.nowIcon" class="showIcon" @click="changeState('list')"></image>
  15. </view>
  16. <view class="list_content">
  17. <text class="list_item">任务编号<text class="list_item_text">{{item.taskNumber}}</text></text>
  18. <text class="list_item">组长<text class="list_item_text">{{item.zzName}}</text></text>
  19. <text class="list_item">待质控代煎企业<text class="list_item_text">{{item.bzkOrgName}}</text></text>
  20. <text class="list_item">地址<text class="list_item_text">{{item.address}}</text></text>
  21. <text class="list_item">完成日期<text class="list_item_text">{{item.finishTime}}</text></text>
  22. </view>
  23. <view class="list_button">
  24. <view class="button_group">
  25. <view class="button_item" @click="signTask">签收</view>
  26. <view class="button_item" @click="starTask">开始质控</view>
  27. </view>
  28. </view>
  29. </uni-card>
  30. </view>
  31. </view>
  32. </template>
  33. <template #pane1>
  34. <view class="view_container leaderIndex">
  35. <!-- 列表 -->
  36. <view class="leaderIndex_list">
  37. <uni-card v-for="(item,index) in pageData.waitTaskList" padding="10rpx 0">
  38. <view class="list_title">
  39. <image :src="item.taskStatusIcon" class="statusIcon"></image>
  40. <view>{{item.name}}</view>
  41. <image :src="showIcon.nowIcon" class="showIcon" @click="changeState('list')"></image>
  42. </view>
  43. <view class="list_content">
  44. <text class="list_item">任务编号<text class="list_item_text">{{item.taskNumber}}</text></text>
  45. <text class="list_item">组长<text class="list_item_text">{{item.zzName}}</text></text>
  46. <text class="list_item">待质控代煎企业<text class="list_item_text">{{item.bzkOrgName}}</text></text>
  47. <text class="list_item">地址<text class="list_item_text">{{item.address}}</text></text>
  48. <text class="list_item">完成日期<text class="list_item_text">{{item.finishTime}}</text></text>
  49. </view>
  50. <view class="list_button">
  51. <view class="button_group">
  52. <view class="button_item" @click="signTask">签收</view>
  53. <view class="button_item" @click="starTask">开始质控</view>
  54. </view>
  55. </view>
  56. </uni-card>
  57. </view>
  58. </view>
  59. </template>
  60. <template #pane2>
  61. <view class="view_container leaderIndex">
  62. <!-- 列表 -->
  63. <view class="leaderIndex_list">
  64. <uni-card v-for="(item,index) in pageData.inTaskList" padding="10rpx 0">
  65. <view class="list_title">
  66. <image :src="item.taskStatusIcon" class="statusIcon"></image>
  67. <view>{{item.name}}</view>
  68. <image :src="showIcon.nowIcon" class="showIcon" @click="changeState('list')"></image>
  69. </view>
  70. <view class="list_content">
  71. <text class="list_item">任务编号<text class="list_item_text">{{item.taskNumber}}</text></text>
  72. <text class="list_item">组长<text class="list_item_text">{{item.zzName}}</text></text>
  73. <text class="list_item">待质控代煎企业<text class="list_item_text">{{item.bzkOrgName}}</text></text>
  74. <text class="list_item">地址<text class="list_item_text">{{item.address}}</text></text>
  75. <text class="list_item">完成日期<text class="list_item_text">{{item.finishTime}}</text></text>
  76. </view>
  77. <view class="list_button">
  78. <view class="button_group">
  79. <view class="button_item" @click="signTask">签收</view>
  80. <view class="button_item" @click="starTask">开始质控</view>
  81. </view>
  82. </view>
  83. </uni-card>
  84. </view>
  85. </view>
  86. </template>
  87. <template #pane3>
  88. <view class="view_container leaderIndex">
  89. <!-- 列表 -->
  90. <view class="leaderIndex_list">
  91. <uni-card v-for="(item,index) in pageData.completeTaskList" padding="10rpx 0">
  92. <view class="list_title">
  93. <image :src="item.taskStatusIcon" class="statusIcon"></image>
  94. <view>{{item.name}}</view>
  95. <image :src="showIcon.nowIcon" class="showIcon" @click="changeState('list')"></image>
  96. </view>
  97. <view class="list_content">
  98. <text class="list_item">任务编号<text class="list_item_text">{{item.taskNumber}}</text></text>
  99. <text class="list_item">组长<text class="list_item_text">{{item.zzName}}</text></text>
  100. <text class="list_item">待质控代煎企业<text class="list_item_text">{{item.bzkOrgName}}</text></text>
  101. <text class="list_item">地址<text class="list_item_text">{{item.address}}</text></text>
  102. <text class="list_item">完成日期<text class="list_item_text">{{item.finishTime}}</text></text>
  103. </view>
  104. <view class="list_button">
  105. <view class="button_group">
  106. <view class="button_item" @click="signTask">签收</view>
  107. <view class="button_item" @click="starTask">开始质控</view>
  108. </view>
  109. </view>
  110. </uni-card>
  111. </view>
  112. </view>
  113. </template>
  114. </yui-tabs>
  115. </view>
  116. </template>
  117. <script setup>
  118. import http from '@/utils/request';
  119. import {
  120. reactive
  121. } from "vue";
  122. import {
  123. onLoad,
  124. onShow,
  125. onUnload,
  126. onPullDownRefresh
  127. } from "@dcloudio/uni-app";
  128. const pageInfo = reactive({
  129. // 判断列表是否为空
  130. isEmpty: true,
  131. total: 0,
  132. value: 0,
  133. orderList: [],
  134. tabs: ["所有", "待质控", "质控中", "完成"],
  135. activeIndex: 0,
  136. orderId: '',
  137. detailStatus: ''
  138. });
  139. const pageData = reactive({
  140. headImg: '/static/logo.png',
  141. userName: '王军',
  142. taskNum: 2,
  143. taskList: [],
  144. waitTaskList: [],
  145. inTaskList: [],
  146. completeTaskList: []
  147. })
  148. const eyeIcon = reactive({
  149. nowIcon: '',
  150. showIcon: '/static/whiteDisplay.png',
  151. hideIcon: '/static/whiteHide.png'
  152. })
  153. const showIcon = reactive({
  154. nowIcon: '',
  155. showIcon: '/static/blackDisplay.png',
  156. hideIcon: '/static/blackHide.png'
  157. })
  158. const statusIcon = reactive({
  159. daiIcon: '/static/dai_icon.png',
  160. wanIcon: '/static/wan_icon.png',
  161. zhiIcon: '/static/zhi_icon.png'
  162. })
  163. // 切换显示与隐藏
  164. const changeState = (type) => {
  165. if (type == 'header') {
  166. console.log("头部切换")
  167. if (eyeIcon.nowIcon == eyeIcon.hideIcon) {
  168. eyeIcon.nowIcon = eyeIcon.showIcon
  169. } else {
  170. eyeIcon.nowIcon = eyeIcon.hideIcon
  171. }
  172. } else if (type == 'list') {
  173. console.log("列表切换")
  174. if (showIcon.nowIcon == showIcon.hideIcon) {
  175. showIcon.nowIcon = showIcon.showIcon
  176. } else {
  177. showIcon.nowIcon = showIcon.hideIcon
  178. }
  179. }
  180. }
  181. // 跳转到任务详情
  182. const toDetail = () => {
  183. console.log("跳转到任务详情")
  184. }
  185. // 签收
  186. const starTask = () => {
  187. console.log("签收")
  188. }
  189. // 开始质控
  190. const signTask = () => {
  191. console.log("开始质控")
  192. }
  193. onPullDownRefresh(() => {
  194. console.log("下拉刷新")
  195. setTimeout(uni.stopPullDownRefresh(), 2000)
  196. })
  197. const getTaskData = () => {
  198. http.get("app-api/findList").then(res => {
  199. console.log(res)
  200. pageData.taskList = res
  201. pageData.taskList.forEach(item => {
  202. item.finishTime = item.wcrq1.slice(2) + ' ~ ' + item.wcrq2.slice(0, -2)
  203. if (item.status == '7003') {
  204. item.taskStatusIcon = statusIcon.daiIcon
  205. pageData.waitTaskList.push(item)
  206. } else if (item.status == '7004') {
  207. item.taskStatusIcon = statusIcon.wanIcon
  208. pageData.completeTaskList.push(item)
  209. } else {
  210. item.taskStatusIcon = statusIcon.zhiIcon
  211. pageData.inTaskList.push(item)
  212. }
  213. })
  214. console.log(pageData.taskList)
  215. })
  216. }
  217. onShow(() => {
  218. eyeIcon.nowIcon = eyeIcon.hideIcon
  219. showIcon.nowIcon = showIcon.hideIcon
  220. getTaskData()
  221. })
  222. </script>
  223. <style lang="scss" scoped>
  224. @import 'indexList.scss';
  225. .yui-tabs {
  226. position: relative;
  227. }
  228. ::v-deep.uni-view.yui-tabs__wrap {
  229. margin-top: 25px!important;
  230. }
  231. .yui-tabs__wrap{
  232. top: 50px !important;
  233. }
  234. </style>