deviceLog.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <template>
  2. <div class='deviceLog'>
  3. <TimePicker @onSearch="onSearch"/>
  4. <CustomList
  5. ref="customList"
  6. :searchfun="false"
  7. @onLoad="onLoad">
  8. <div class="list plr15 mt10">
  9. <van-collapse v-model="activeNames">
  10. <van-collapse-item
  11. v-for='(item) in list' :key="item.id"
  12. :title="item.orderNum+'('+ item.name +')'" :name="item.id" :value="item.shippingTime">
  13. <div v-for='(citem) in item.shipmentLogs' :key="citem.id" class='item bgc-fff plr10 c-333 c-f14 '>
  14. <div class=''>
  15. <div>药品名称:{{citem.drugName}}</div>
  16. <div v-if="isDrugCode==1">药品追溯码:{{citem.traceabilityCode}}</div>
  17. <div>出货状态:<span>{{citem.status==1? '未出货' : citem.status==2? '已出货' : citem.status==3? '出货故障' : ""}}</span></div>
  18. <div>货道信息:{{citem.layerNo}}层 {{citem.wayerNo}}道</div>
  19. <div>出货时间:{{citem.outTime}}</div>
  20. <div>出货日志详情:{{citem.description}}</div>
  21. <div>出货图片:<span v-if="!citem.pic">无出货照片</span>
  22. <van-image
  23. v-else
  24. width="100"
  25. height="100"
  26. :src="setImgUrl(citem.pic)"/>
  27. </div>
  28. </div>
  29. </div>
  30. </van-collapse-item>
  31. </van-collapse>
  32. </div>
  33. </CustomList>
  34. </div>
  35. </template>
  36. <script>
  37. import TimePicker from './TimePicker'
  38. import medicineAbinetApi from '@/api/api-medicineAbinet'
  39. export default{
  40. name: 'deviceLog',
  41. components: {
  42. TimePicker
  43. },
  44. props: ['deviceId', 'equNum'],
  45. data(){
  46. return {
  47. list: [],
  48. startDate: '',
  49. endDate: '',
  50. activeNames: [],
  51. isDrugCode: this.$route.query.isDrugCode,
  52. }
  53. },
  54. methods:{
  55. onLoad({page, pageSize, searchText}){
  56. var { startDate, endDate } = this
  57. var p = {
  58. deviceId: this.deviceId,
  59. // idDevice: '',
  60. // lowT: this.min,
  61. // heightT: this.max,
  62. // equType: searchForm.equType,
  63. // networkStatus: searchForm.networkStatusName,
  64. // content: searchForm.deviceSearch,
  65. // community: len? this.community[len-1] : '',
  66. startTime: startDate? this.$moment(startDate).format('YYYY-MM-DD 00:00:00') : '',
  67. endTime: endDate? this.$moment(endDate).format('YYYY-MM-DD 23:59:59') : '',
  68. page: page,
  69. size: 12
  70. }
  71. medicineAbinetApi
  72. .getDeviceOrderInfoPage(p)
  73. .then(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(list.length===0 || res.totalPage<=page, this.list.length)
  78. } else {
  79. this.onLoadError()
  80. }
  81. }).catch(err=>{
  82. console.error(err)
  83. this.onLoadError()
  84. })
  85. },
  86. onSearch(data){
  87. if(data){
  88. this.startDate = data.startDate
  89. this.endDate = data.endDate
  90. }
  91. this.$refs.customList.refresh(true)
  92. },
  93. onLoadError(){
  94. this.$refs.customList.endLoad(false, true)
  95. },
  96. },
  97. }
  98. </script>
  99. <style scoped lang='scss'>
  100. .deviceLog{
  101. .item{
  102. border-bottom: 1px solid #e1e1e1;
  103. padding: 10px 0;
  104. .van-image{
  105. vertical-align: text-top;
  106. }
  107. &:last-child{
  108. padding-bottom: 0;
  109. border-bottom: 0;
  110. }
  111. &:first-child{
  112. padding-top: 0;
  113. }
  114. }
  115. }
  116. </style>