stockPutDetail.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. <template>
  2. <view class="orderDetail-digitalShel flex flex_column">
  3. <view class="contHead">
  4. <view class="statusH">
  5. <view class="flex flex_column align_center" v-if="pageInfo&&pageInfo.billState=='WAIT_CHECK'">
  6. <view class="status-row">
  7. <u-icon name="hourglass-half-fill" size="48" color="#333"> </u-icon>
  8. <text>待入库</text>
  9. </view>
  10. <view style="width: 100%;">
  11. <view class="messageText"><text>配送发送:</text>{{pageInfo&&pageInfo.dispatchTypeValue?pageInfo.dispatchTypeValue:'--'}}</view>
  12. <view class="messageText"><text>出库备注:</text>{{pageInfo&&pageInfo.remarks?pageInfo.remarks:'--'}}</view>
  13. </view>
  14. </view>
  15. <view class="flex flex_column align_center" v-else>
  16. <view class="status-row">
  17. <u-icon name="checkmark-circle" size="48" color="#2196F3"> </u-icon>
  18. <text style="color: #2196F3;">已入库</text>
  19. </view>
  20. <view style="width: 100%;">
  21. <view class="messageText"><text>入库人员:</text>{{pageInfo&&pageInfo.confirmPersonName?pageInfo.confirmPersonName:'--'}}</view>
  22. <view class="messageText"><text>入库时间:</text>{{pageInfo&&pageInfo.putStockTime?pageInfo.putStockTime:'--'}}</view>
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. <view class="order-body">
  28. <view class="info partList">
  29. <!-- <view class="infoList">
  30. <view class="title">配件列表</view>
  31. <view>
  32. 2款,共<text class="redText">11</text>
  33. </view>
  34. </view> -->
  35. <view v-for="item in partList" :key="item.id" class="flex align-center item-list">
  36. <view>
  37. <u-image border-radius="16" width="130" height="130" bg-color="#EBEBEB" :src="item.images"></u-image>
  38. </view>
  39. <view>
  40. <view class="item-name">
  41. <text>{{item.productName||'--'}}</text>
  42. </view>
  43. <view class="item-nums flex align-center justify_between">
  44. <text>{{item.productCode||'--'}}</text>
  45. <!-- <view>
  46. <u-number-box :min="0" :max="999999"></u-number-box>
  47. </view> -->
  48. <view v-if="pageInfo&&pageInfo.billState=='FINISH'">
  49. <text>入库数量:{{item.putQty||item.putQty==0?item.putQty:'--'}}</text>
  50. </view>
  51. <view v-else>
  52. <text>待入库数量:{{item.confirmQty||item.confirmQty==0?item.confirmQty:'--'}}</text>
  53. </view>
  54. </view>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. </view>
  60. </template>
  61. <script>
  62. import uniIcons from "@/components/uni-icons/uni-icons.vue"
  63. import moment from 'moment'
  64. import { findShelfReplenishBill } from '@/api/shelf.js'
  65. export default {
  66. name: 'orderDetail-digitalShel',
  67. components: {
  68. uniIcons,
  69. },
  70. data() {
  71. return {
  72. info: null,
  73. statusText: '',
  74. statusIcon: '', // 结算状态icon
  75. partList: [], // 配件列表
  76. pageInfo:null
  77. }
  78. },
  79. onReady() {
  80. },
  81. onLoad(option) {
  82. console.log(option,option.sn)
  83. let sn = option.sn
  84. this.getPageInfo(sn)
  85. },
  86. computed: {
  87. },
  88. methods: {
  89. // 复制
  90. copyVin(){
  91. uni.setClipboardData({
  92. data: this.vinNumber||'',
  93. })
  94. },
  95. message(title){
  96. uni.showToast({
  97. icon:'none',
  98. title: title
  99. })
  100. },
  101. // 查询详情
  102. getPageInfo(val){
  103. uni.showLoading({
  104. title: "正在加载..."
  105. })
  106. findShelfReplenishBill({sn:val}).then(res=>{
  107. if(res.status==200){
  108. this.pageInfo=res.data||null
  109. this.partList=res.data.clzReplenishBillDetailApiEntityList||[]
  110. }
  111. uni.hideLoading()
  112. })
  113. }
  114. }
  115. }
  116. </script>
  117. <style lang="less">
  118. page{
  119. height: 100%;
  120. background-color: #F8F8F8;
  121. }
  122. .orderDetail-digitalShel{
  123. width: 100%;
  124. height: 100%;
  125. .redText{
  126. color: #FB1E1E;
  127. }
  128. .order-body{
  129. flex-grow: 1;
  130. overflow: auto;
  131. }
  132. .contHead {
  133. .statusH{
  134. > view{
  135. padding: 20upx 5%;
  136. font-size: 34upx;
  137. }
  138. .status-row{
  139. font-size: 42upx;
  140. text{
  141. margin-left: 10rpx;
  142. }
  143. margin-bottom: 20rpx;
  144. }
  145. .messageText{
  146. font-size: 30upx;
  147. padding: 10rpx 0;
  148. color: #666;
  149. text{
  150. color: #333;
  151. }
  152. }
  153. }
  154. }
  155. .info{
  156. padding: 0 30upx;
  157. font-size: 32rpx;
  158. .infoList{
  159. display: flex;
  160. justify-content: space-between;
  161. align-items: center;
  162. padding: 20rpx 0;
  163. border-bottom: 2rpx solid #f2f2f2;
  164. &:last-child{
  165. border: 0;
  166. }
  167. .title{
  168. font-weight: bold;
  169. }
  170. > text{
  171. &:first-child{
  172. color: #666E75;
  173. }
  174. }
  175. }
  176. .item-list{
  177. background-color: #FFFFFF;
  178. border-bottom: 2rpx solid #f2f2f2;
  179. padding: 25rpx;
  180. margin-bottom: 20rpx;
  181. border-radius: 20rpx;
  182. box-shadow: 2rpx 3rpx 5rpx #eee;
  183. &:last-child{
  184. border: none;
  185. }
  186. > view{
  187. &:first-child{
  188. margin-right: 20rpx;
  189. }
  190. &:last-child{
  191. flex-grow: 1;
  192. }
  193. }
  194. .item-name{
  195. word-wrap: break-word;
  196. font-size: 32rpx;
  197. color: #333;
  198. font-weight: bold;
  199. margin-top: 10rpx;
  200. }
  201. .item-nums{
  202. margin-top: 10rpx;
  203. padding: 10rpx 0;
  204. text{
  205. font-size: 32rpx;
  206. color: #222222;
  207. }
  208. }
  209. }
  210. }
  211. .footer{
  212. padding: 20upx 30upx;
  213. background: #FFFFFF;
  214. uni-button{
  215. &:after{
  216. border: 0;
  217. }
  218. width: 100%;
  219. color: #585858;
  220. font-size: 32rpx;
  221. }
  222. }
  223. }
  224. </style>