deviceList.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <template>
  2. <div class='replenishment-start-device-list'>
  3. <van-sticky :offset-top="offsetTop">
  4. <van-tabs v-model="active">
  5. <van-tab title="缺货设备"></van-tab>
  6. <van-tab title="全部设备"></van-tab>
  7. </van-tabs>
  8. </van-sticky>
  9. <CustomList
  10. ref="customList"
  11. @onLoad="onLoad">
  12. <div class="list plr15 pt10">
  13. <div v-for="(item, i) in list" :key="i" class="item bgc-fff plr15 c-333 fs-14">
  14. <div class=" ptb10 kitbox">
  15. <div class="box-flex-1 fs-14">
  16. {{item.equName}}
  17. </div>
  18. <div class="">
  19. <van-tag :type="item.networkStatus==1? 'success' : 'danger'">{{item.networkStatusName}}</van-tag>
  20. <van-tag :type="item.saleStatus==1? 'success' : 'danger'" class="ml5">{{item.saleStatusName}}</van-tag>
  21. </div>
  22. </div>
  23. <div class="lh20 ptb10 kitbox">
  24. <div class="box-flex-1">
  25. <div>设备编号:{{item.equNum}}</div>
  26. <div>上次补货时间:</div>
  27. </div>
  28. </div>
  29. <div class="operate pt10 pb10">
  30. <van-button round block @click="gotoUrl('./deviceDetail', {deviceId: item.id})" type="info" size="small" >开始补货</van-button>
  31. </div>
  32. </div>
  33. </div>
  34. </CustomList>
  35. </div>
  36. </template>
  37. <script>
  38. import medicineAbinetApi from '@/api/api-medicineAbinet'
  39. export default{
  40. name: 'replenishmentStartDeviceList',
  41. data(){
  42. return {
  43. list: [],
  44. result: [],
  45. selAll: false,
  46. active: 0
  47. }
  48. },
  49. watch:{
  50. active(){
  51. this.$refs.customList.refresh(true)
  52. }
  53. },
  54. created() {
  55. },
  56. methods:{
  57. onLoad({page, pageSize, searchText}){
  58. var p = {
  59. content: searchText,
  60. userId: this.user.id,
  61. page: page,
  62. size: pageSize
  63. }
  64. var func
  65. if(this.active === 0){
  66. func = medicineAbinetApi.getOutOfStockDeviceListByUserId
  67. } else {
  68. func = medicineAbinetApi.getDeviceListWithUserId
  69. }
  70. console.log('params', p)
  71. func(p)
  72. .then(res=>{
  73. console.log('getOutOfStockDeviceListByUserId', res)
  74. if(res.status == 200){
  75. var list = res.detailModelList
  76. this.list = page==1? list : this.list.concat(list)
  77. this.$refs.customList.endLoad(res.totalPage<=page || this.active===0, this.list.length)
  78. } else {
  79. this.list = []
  80. this.$refs.customList.endLoad(false, true)
  81. }
  82. }).catch(err=>{
  83. console.error(err)
  84. this.list = []
  85. this.$refs.customList.endLoad(false, true)
  86. })
  87. },
  88. },
  89. }
  90. </script>
  91. <style lang='scss' scoped>
  92. .replenishment-start-device-list{
  93. ::v-deep .custom-list .search{
  94. top: 50px;
  95. }
  96. .list{
  97. .item{
  98. margin-bottom: 10px;
  99. border-radius: 5px;
  100. &:last-child{
  101. margin-bottom: 0;
  102. }
  103. .van-icon{
  104. position: absolute;
  105. top: 50%;
  106. transform: translateY(calc(-50% - 15px));
  107. right: 0;
  108. color: #ccc;
  109. }
  110. }
  111. }
  112. .operate{
  113. >div{
  114. // width: 50%;
  115. }
  116. }
  117. }
  118. </style>
  119. <style lang="scss">
  120. .mainNobotHasTop{
  121. .replenishment-start-device-list{
  122. .custom-list .search{
  123. top: 96px;
  124. }
  125. }
  126. }
  127. </style>