taskarrment.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <!-- 临时任务首页 -->
  3. <view class=" u-relative u-flex u-p-l-30 u-p-r-30 f-d-c">
  4. <navigator hover-class="none" url="../guarantee/guarantee" class="m-w u-m-t-30 u-flex u-row-right ">
  5. <u-image :src="feij" width="40" height="40" />
  6. <view class="u-m-l-8">派发任务</view>
  7. </navigator>
  8. <!-- guarantee -->
  9. <view class="m-w">
  10. <view style="width: 300rpx;">
  11. <u-tabs bar-width="80" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs>
  12. </view>
  13. </view>
  14. <view class="u-flex u-m-t-30 u-flex-wrap u-row-between">
  15. <navigator hover-class="none" :url="`./tasklist/tasklist?staus=${current}&id=${1}`"
  16. class="u-relative u-com-ite ">
  17. <image class="back-img" :src="imgs.chaos"></image>
  18. <view class="item-pdi u-flex f-d-c u-clo-vew">
  19. <view class="m-w">处理中</view>
  20. <view class="item-center"></view>
  21. <view class="u-text-right m-w">{{count1}}</view>
  22. </view>
  23. </navigator>
  24. <navigator hover-class="none" :url="`./tasklist/tasklist?staus=${current}&id=${4}`"
  25. class="u-relative u-com-ite " style=" width: 335rpx;height: 129rpx; ;">
  26. <image class="back-img" :src="imgs.chuli"></image>
  27. <view class="item-pdi u-flex f-d-c u-clo-vew">
  28. <view class="m-w">已超时</view>
  29. <view class="item-center"></view>
  30. <view class="u-text-right m-w">{{count4}}</view>
  31. </view>
  32. </navigator>
  33. <navigator hover-class="none" :url="`./tasklist/tasklist?staus=${current}&id=${2}`"
  34. class="u-relative u-m-t-30 u-com-ite " style=" width: 335rpx;height: 129rpx; ;">
  35. <image class="back-img" :src="imgs.quxiao"></image>
  36. <view class="item-pdi u-flex f-d-c u-clo-vew">
  37. <view class="m-w">已完成</view>
  38. <view class="item-center"></view>
  39. <view class="u-text-right m-w">{{count2}}</view>
  40. </view>
  41. </navigator>
  42. <navigator hover-class="none" :url="`./tasklist/tasklist?staus=${current}&id=${3}`"
  43. class="u-relative u-m-t-30 u-com-ite " style=" width: 335rpx;height: 129rpx; ;">
  44. <image class="back-img" :src="imgs.wanchen"></image>
  45. <view class="item-pdi u-flex f-d-c u-clo-vew">
  46. <view class="m-w">已取消</view>
  47. <view class="item-center"></view>
  48. <view class="u-text-right m-w">{{count3}}</view>
  49. </view>
  50. </navigator>
  51. </view>
  52. </view>
  53. </template>
  54. <script>
  55. import feij from "@/static/img/feij.png";
  56. import chaos from "@/static/img/renwu/chaos.png";
  57. import chuli from "@/static/img/renwu/chuli.png";
  58. import quxiao from "@/static/img/renwu/quxiao.png";
  59. import wanchen from "@/static/img/renwu/wanchen.png";
  60. import {
  61. taskecl,
  62. publishcl
  63. } from "@/api/index.js";
  64. export default {
  65. data() {
  66. return {
  67. ifOnShow:false,
  68. feij: feij,
  69. list: [{
  70. name: "我收到的",
  71. },
  72. {
  73. name: "我发布的",
  74. },
  75. ],
  76. imgs: {
  77. chaos,
  78. chuli,
  79. quxiao,
  80. wanchen,
  81. },
  82. userId: "",
  83. current: 0,
  84. count1: 0,
  85. count2: 0,
  86. count3: 0,
  87. count4: 0,
  88. };
  89. },
  90. onHide(){
  91. this.ifOnShow=true
  92. },
  93. onShow(){
  94. if(this.ifOnShow){
  95. this.change(this.current);
  96. }
  97. },
  98. onLoad() {
  99. this.change(0);
  100. },
  101. methods: {
  102. change(index) {
  103. this.current = index;
  104. if (index == 0) {
  105. taskecl().then(({
  106. data
  107. }) => {
  108. this.count1=0;
  109. this.count2=0;
  110. this.count3=0;
  111. this.count4=0;
  112. data.forEach(Element => {
  113. if (Element.status == 1) {
  114. this.count1 = Element.count
  115. } else if (Element.status == 2) {
  116. this.count2 = Element.count
  117. } else if (Element.status == 3) {
  118. this.count3 = Element.count
  119. } else if (Element.status == 4) {
  120. this.count4 = Element.count
  121. }
  122. })
  123. });
  124. } else {
  125. publishcl().then(({
  126. data
  127. }) => {
  128. this.count1=0;
  129. this.count2=0;
  130. this.count3=0;
  131. this.count4=0;
  132. data.forEach(Element => {
  133. if (Element.status == 1) {
  134. this.count1 = Element.count
  135. } else if (Element.status == 2) {
  136. this.count2 = Element.count
  137. } else if (Element.status == 3) {
  138. this.count3 = Element.count
  139. } else if (Element.status == 4) {
  140. this.count4 = Element.count
  141. }
  142. })
  143. });
  144. }
  145. },
  146. },
  147. };
  148. </script>
  149. <style lang="scss">
  150. .back-img {
  151. position: absolute;
  152. width: 335rpx;
  153. height: 129rpx;
  154. z-index: -1; // 设置z-index层级,将image标签置于底层
  155. }
  156. .u-com-ite {
  157. width: 335rpx;
  158. height: 129rpx;
  159. display: flex;
  160. align-items: center;
  161. justify-content: center;
  162. }
  163. .item-pdi {
  164. color: #ffffff;
  165. font-size: 28rpx;
  166. font-family: Microsoft YaHei-3970(82674968);
  167. font-weight: 400;
  168. align-items: inherit;
  169. display: flex;
  170. flex-direction: column;
  171. align-items: center;
  172. line-height: 1;
  173. view {
  174. line-height: 1;
  175. }
  176. }
  177. .item-center {
  178. width: 270rpx;
  179. height: 1rpx;
  180. margin-top: 20rpx;
  181. margin-bottom: 20rpx;
  182. background: #e6e6e6;
  183. }
  184. </style>