createList.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <template>
  2. <view class="qbox adffc">
  3. <div class="list" v-if="list.length">
  4. <up-list @scrolltolower="scrolltolower" style="height: 100%;">
  5. <up-list-item class="list-item" v-for="(item, index) in list" :key="index">
  6. <image class="expand" :src="imgBase+'questionnaire_icon_down.png'"></image>
  7. <div class="title">{{item.title||''}}</div>
  8. <div class="name">团队名称:{{item.teamName||''}}</div>
  9. <div class="progress adfacjb">
  10. <div class="progress-left adfac">
  11. <div class="progress-left-text">作答进度:</div>
  12. <div class="progress-left-box">
  13. <div class="progress-left-box-current" :style="{'width':(item.yzdNum/item.sum*100)+'%'}"></div>
  14. </div>
  15. </div>
  16. <div class="progress-right"><span>{{item.yzdNum}}/</span>{{item.sum}}</div>
  17. </div>
  18. <div class="bottom adfacjb">
  19. <div class="bottom-left">截止时间:{{item.endTime}}</div>
  20. <div class="bottom-right" v-if="item.status===0">立即作答</div>
  21. <div class="bottom-right" v-else-if="item.status===1">生成报告</div>
  22. <div class="bottom-right" v-else-if="item.status===2">发送报告</div>
  23. </div>
  24. </up-list-item>
  25. </up-list>
  26. </div>
  27. <div class="empty" v-else>
  28. <page-empty></page-empty>
  29. </div>
  30. </view>
  31. </template>
  32. <script>
  33. import PageEmpty from '@/components/pageEmpty/index.vue'
  34. export default {
  35. components:{ PageEmpty },
  36. props:{
  37. list:{
  38. typeof:Array,
  39. default:[]
  40. }
  41. },
  42. data(){
  43. return {
  44. }
  45. },
  46. methods:{
  47. scrolltolower(){
  48. this.$emit('scrolltolower')
  49. }
  50. }
  51. }
  52. </script>
  53. <style scoped lang="scss">
  54. .qbox{
  55. width: 100%;
  56. height: 100%;
  57. flex: 1;
  58. .list{
  59. flex: 1;
  60. margin-top: 20rpx;
  61. overflow: hidden;
  62. &-item{
  63. width: 100%;
  64. background: #FFFFFF;
  65. border-radius: 24rpx;
  66. margin-top: 20rpx;
  67. padding: 36rpx 24rpx 19rpx;
  68. box-sizing: border-box;
  69. position: relative;
  70. display: block;
  71. .expand{
  72. width: 32rpx;
  73. height: 32rpx;
  74. position: absolute;
  75. top: 36rpx;
  76. right: 32rpx;
  77. }
  78. .title{
  79. width: calc(100% - 128rpx);
  80. font-family: PingFang-SC, PingFang-SC;
  81. font-weight: bold;
  82. font-size: 32rpx;
  83. color: #002846;
  84. line-height: 32rpx;
  85. }
  86. .name{
  87. font-family: PingFangSC, PingFang SC;
  88. font-weight: 400;
  89. font-size: 24rpx;
  90. color: #667E90;
  91. line-height: 24rpx;
  92. margin-top: 35rpx;
  93. }
  94. .progress{
  95. margin-top: 36rpx;
  96. &-left{
  97. width: calc(100% - 95rpx);
  98. &-text{
  99. font-family: PingFangSC, PingFang SC;
  100. font-weight: 400;
  101. font-size: 24rpx;
  102. color: #667E90;
  103. line-height: 24rpx;
  104. }
  105. &-box{
  106. flex: 1;
  107. position: relative;
  108. height: 12rpx;
  109. background: #F0F2F8;
  110. border-radius: 6rpx;
  111. &-current{
  112. height: 12rpx;
  113. background: #7CC5C5;
  114. border-radius: 6rpx;
  115. position: absolute;
  116. top: 0;
  117. left: 0;
  118. }
  119. }
  120. }
  121. &-right{
  122. font-size: 24rpx;
  123. line-height: 24rpx;
  124. color: #95A5B1;
  125. span{
  126. font-size: 24rpx;
  127. line-height: 24rpx;
  128. color: #002846;
  129. }
  130. }
  131. }
  132. .bottom{
  133. margin-top: 30rpx;
  134. border-top: 1rpx solid #EFEFEF;
  135. padding-top: 20rpx;
  136. &-left{
  137. font-family: PingFangSC, PingFang SC;
  138. font-weight: 400;
  139. font-size: 24rpx;
  140. color: #667E90;
  141. line-height: 24rpx;
  142. }
  143. &-right{
  144. border-radius: 32rpx;
  145. background: rgba(144, 74, 135, .11);
  146. padding: 19rpx 22rpx;
  147. font-family: PingFangSC, PingFang SC;
  148. font-weight: 400;
  149. font-size: 26rpx;
  150. color: #761E6A;
  151. line-height: 26rpx;
  152. letter-spacing: 2rpx;
  153. }
  154. }
  155. }
  156. }
  157. .empty{
  158. flex: 1;
  159. }
  160. }
  161. </style>