stockDetail.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <view class="stockDetail-wrap">
  3. <!-- 查询结果 -->
  4. <view class="stockDetail-info" v-if="productData">
  5. <view class="info-item flex align_center justify_between">
  6. <view class="info-name">产品编码</view>
  7. <view>{{productData && productData.dealerProductEntity.code || '--'}} <copyText :text="productData.dealerProductEntity.code" label="产品编码"></copyText></view>
  8. </view>
  9. <view class="info-item flex align_center justify_between">
  10. <view class="info-name">产品名称</view>
  11. <view style="width: 50%;">{{productData && productData.dealerProductEntity.name || '--'}} <copyText :text="productData.dealerProductEntity.name" label="产品名称"></copyText></view>
  12. </view>
  13. <view class="info-item flex align_center justify_between">
  14. <view class="info-name">条形码</view>
  15. <view>{{productData && productData.dealerProductEntity.qrCode || '--'}} <copyText :text="productData.dealerProductEntity.qrCode" label="条形码"></copyText></view>
  16. </view>
  17. <view class="info-item flex align_center justify_between">
  18. <view class="info-name">库存数量</view>
  19. <view>{{toThousands(productData.currentQty||0)}}{{productData.dealerProductEntity.unit}}</view>
  20. </view>
  21. <view class="info-item flex align_center justify_between">
  22. <view class="info-name">仓库/仓位</view>
  23. <view style="width: 50%;">{{productData && productData.warehouseName || '--'}}>{{productData && productData.warehouseLocationName || '--'}}</view>
  24. </view>
  25. <view class="info-item flex align_center justify_between">
  26. <view class="info-name">产品分类</view>
  27. <view style="width: 50%;">{{productData.dealerProductEntity.productTypeName1 }} > {{productData.dealerProductEntity.productTypeName2 }} > {{productData.dealerProductEntity.productTypeName3 }} </view>
  28. </view>
  29. <view class="info-item flex align_center justify_between">
  30. <view class="info-name">单位</view>
  31. <view>{{productData && productData.dealerProductEntity.unit || '--'}}</view>
  32. </view>
  33. <view class="info-item flex align_center justify_between">
  34. <view class="info-name">产品图片</view>
  35. <view @click="viewImgs()">
  36. <u-image :src="productData.productMainImage?productData.productMainImage:`../../static/def_img@2x.png`" width="80" height="80" border-radius="10"></u-image>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. </template>
  42. <script>
  43. import { toThousands } from '@/libs/tools'
  44. import { stockfindGroupPage } from '@/config/api'
  45. import copyText from '@/pages/common/copyText.vue'
  46. export default{
  47. components: { copyText },
  48. data(){
  49. return {
  50. productData: null,
  51. theme: '',
  52. toThousands
  53. }
  54. },
  55. onLoad(option) {
  56. this.getData()
  57. },
  58. methods: {
  59. getData(){
  60. const data = this.$store.state.vuex_tempData
  61. const params = {
  62. "productSn":data.productSn,
  63. "warehouseSn":data.warehouseSn,
  64. "warehouseLocationSn":data.warehouseLocationSn,
  65. "minCurrentQty":1
  66. }
  67. stockfindGroupPage(params).then(res => {
  68. console.log(res.data)
  69. if(res.status == 200){
  70. this.productData = res.data
  71. }
  72. })
  73. },
  74. viewImgs(){
  75. const imgUrls = []
  76. this.productData.productPicList && this.productData.productPicList.map(item => {
  77. imgUrls.push(item.imageUrl)
  78. })
  79. if(imgUrls.length){
  80. uni.previewImage({
  81. urls: imgUrls
  82. })
  83. }
  84. }
  85. }
  86. }
  87. </script>
  88. <style lang="scss">
  89. page{
  90. background: #f8f8f8;
  91. }
  92. .stockDetail-wrap{
  93. padding: 30upx;
  94. .panel-box {
  95. background-color: #ffffff;
  96. padding: 20upx 20upx;
  97. border-radius: 20upx;
  98. box-shadow: 3upx 2upx 6upx #eee;
  99. margin-bottom: 30upx;
  100. display: flex;
  101. justify-content: space-between;
  102. align-items: center;
  103. .info-con{
  104. margin-left: 20upx;
  105. .padding_7{
  106. padding: 14upx 0 0;
  107. font-size: 14px;
  108. }
  109. }
  110. }
  111. .stockDetail-info{
  112. background-color: #ffffff;
  113. padding: 10upx 20upx 20upx;
  114. border-radius: 20upx;
  115. box-shadow: 3upx 2upx 6upx #eee;
  116. .info-item{
  117. border-bottom: 1px dashed #e4e7ed;
  118. padding: 20upx 0;
  119. .info-name{
  120. color: #464646;
  121. }
  122. }
  123. }
  124. }
  125. </style>