OrderListTable.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <template>
  2. <van-dialog v-model:show="orderTrueFalseBy"
  3. :title="title"
  4. close-on-click-overlay
  5. :show-cancel-button="false"
  6. :show-confirm-button="false">
  7. <div class="order-list">
  8. <div class="list-item">
  9. <div class="barcode">条码</div>
  10. <div class="barcode">商品名称</div>
  11. <div class="number" >数量</div>
  12. </div>
  13. <div v-for="(value,key) in orderMap">
  14. <div v-for="item in value" class="list-item van-hairline--bottom">
  15. <div class="barcode"> {{item.barcode}}</div>
  16. <div class="barcode"> {{item.skuName}}</div>
  17. <div class="number" > {{item.qtyOrdered}}</div>
  18. </div>
  19. </div>
  20. </div>
  21. </van-dialog>
  22. </template>
  23. <script setup>
  24. import {ref } from 'vue'
  25. const orderTrueFalseBy = ref(false)
  26. const title=ref('取消单')
  27. const orderMap=ref([])
  28. const show=(type,order)=>{
  29. const typeMap={
  30. cancel:'取消单列表',
  31. freeze:'冻结单列表',
  32. }
  33. orderTrueFalseBy.value=true
  34. title.value=typeMap[type]
  35. orderMap.value=order
  36. }
  37. defineExpose({show})
  38. </script>
  39. <style scoped lang="sass">
  40. .order-list
  41. width: 100%
  42. overflow-y: auto
  43. max-height: 60vh
  44. .list-item
  45. display: flex
  46. font-size: 14px
  47. line-height: 30px
  48. .barcode
  49. flex: 1
  50. .number
  51. width: 80px
  52. </style>