list.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <div class='replenishment-picking-list'>
  3. <van-sticky>
  4. <van-tabs v-model="active" @change="onChange">
  5. <van-tab title="全部"></van-tab>
  6. <van-tab title="备货中"></van-tab>
  7. <van-tab title="">
  8. <div slot="title">
  9. <van-badge v-if="waitCount" :content="waitCount">待领料</van-badge>
  10. <span v-else>待领料</span>
  11. </div>
  12. </van-tab>
  13. <van-tab title="已领料"></van-tab>
  14. <van-tab title="已驳回"></van-tab>
  15. </van-tabs>
  16. </van-sticky>
  17. <CustomList
  18. ref="customList"
  19. :searchfun="false"
  20. @onLoad="onLoad">
  21. <div class="list plr15 pt10">
  22. <div @click="gotoUrl('./detail', {idUp: item.id})" v-for="(item, i) in list" :key="i" class="item bgc-fff plr15 c-333 fs-14">
  23. <div class=" ptb10 kitbox bb-e1e1e1">
  24. <div class="box-flex-1 fs-14">备货单号:{{item.docNum}}</div>
  25. <div class="">
  26. <span class="c-ff9526">备货中</span>
  27. <!-- <span class="c-17b3ec">待领料</span>
  28. <span class="c-999">已领料</span>
  29. <span class="c-ff5e6c">已驳回</span> -->
  30. </div>
  31. </div>
  32. <div class="lh20 ptb10 kitbox">
  33. <div class="box-flex-1">
  34. <div class="row">
  35. <div>补货员</div>
  36. <div>{{item.replenishEr}}</div>
  37. </div>
  38. <div class="row">
  39. <div>待补设备</div>
  40. <div>{{item.replenishEqu}}</div>
  41. </div>
  42. <div class="row">
  43. <div>待补品类</div>
  44. <div>{{item.replenishCateName}}</div>
  45. </div>
  46. <div class="row">
  47. <div>待补库存</div>
  48. <div>{{item.replenishInventory}}</div>
  49. </div>
  50. <div class="row">
  51. <div>单据日期</div>
  52. <div>{{formatDatetime(item.docTime)}}</div>
  53. </div>
  54. </div>
  55. <div class="fs-20 c-pr">
  56. <van-icon name="arrow" />
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. </CustomList>
  62. </div>
  63. </template>
  64. <script>
  65. import medicineAbinetApi from '@/api/api-medicineAbinet'
  66. export default{
  67. name: 'replenishmentDeviceList',
  68. data(){
  69. return {
  70. list: [],
  71. active: 0,
  72. waitCount: 0
  73. }
  74. },
  75. created() {
  76. },
  77. methods:{
  78. onLoad({page, pageSize, searchText}){
  79. var p = {
  80. // startTime: startDate? this.$moment(startDate).format('YYYY-MM-DD 00:00:00') : '',
  81. // endTime: endDate? this.$moment(endDate).format('YYYY-MM-DD 23:59:59') : '',
  82. // content: searchForm.content,
  83. // community: len? this.community[len-1] : '',
  84. // sellState: searchForm.sellStatus,
  85. page: page,
  86. size: pageSize
  87. }
  88. console.log('params', p)
  89. medicineAbinetApi
  90. .replenishList(p)
  91. .then(res=>{
  92. if(res.status == 200){
  93. var list = res.detailModelList
  94. this.list = page==1? list : this.list.concat(list)
  95. this.$refs.customList.endLoad(!res.detailModelList || res.detailModelList.length==0, this.list.length)
  96. } else {
  97. this.list = []
  98. this.$refs.customList.endLoad(false, true)
  99. }
  100. }).catch(err=>{
  101. console.error(err)
  102. this.list = []
  103. this.$refs.customList.endLoad(false, true)
  104. })
  105. },
  106. onChange(){
  107. this.$refs.customList.refresh(true)
  108. }
  109. },
  110. }
  111. </script>
  112. <style lang='scss' scoped>
  113. .replenishment-picking-list{
  114. ::v-deep .van-tab{
  115. &:nth-child(3){
  116. .van-tab__text{
  117. overflow: visible;
  118. }
  119. }
  120. }
  121. .list{
  122. .item{
  123. margin-bottom: 10px;
  124. border-radius: 5px;
  125. &:last-child{
  126. margin-bottom: 0;
  127. }
  128. .van-icon{
  129. position: absolute;
  130. top: 50%;
  131. transform: translateY(calc(-50% - 15px));
  132. right: 0;
  133. color: #ccc;
  134. }
  135. .row{
  136. display: -webkit-box;
  137. div{
  138. &:first-child{
  139. width: 60px;
  140. position: relative;
  141. text-align: justify;
  142. text-align-last: justify;
  143. margin-right: 12px;
  144. &::after{
  145. content: ":";
  146. display: inline-block;
  147. position: absolute;
  148. right: -14px;
  149. top: 0;
  150. }
  151. }
  152. }
  153. }
  154. }
  155. }
  156. }
  157. </style>