@logwire/logwire-wms-pda-ui 1.1.19 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/README.md +117 -134
  2. package/package.json +43 -69
  3. package/src/api/common/Msg.js +34 -26
  4. package/src/api/common/barcode.js +165 -165
  5. package/src/api/common/common.js +48 -33
  6. package/src/api/config/masterLocation/masterLocationConfig/action.js +61 -0
  7. package/src/api/config/masterLocation/masterLocationConfig/index.js +18 -0
  8. package/src/api/config/masterLocation/masterLocationQuery/action.js +28 -0
  9. package/src/api/{inner → config}/newProject/action.js +1 -1
  10. package/src/api/{inner → config}/newProject/index.js +0 -0
  11. package/src/api/inbound/receive.js +327 -8
  12. package/src/api/inner/borrow/index.js +51 -0
  13. package/src/api/inner/dead/action.js +24 -0
  14. package/src/api/inner/dead/large.js +78 -0
  15. package/src/api/inner/dead/small.js +96 -0
  16. package/src/api/inner/quality/action.js +51 -0
  17. package/src/api/inner/quality/sample.js +24 -0
  18. package/src/api/inner/reportAbnormal/index.js +1 -1
  19. package/src/api/inventory/inventory.js +63 -0
  20. package/src/api/outbound/bale/aloneBale/action.js +123 -0
  21. package/src/api/outbound/bale/aloneBale/index.js +24 -0
  22. package/src/api/outbound/bale/baleChange/action.js +51 -0
  23. package/src/api/outbound/bale/baleChange/addCheck.js +33 -0
  24. package/src/api/outbound/bale/checkBale/action.js +132 -123
  25. package/src/api/outbound/bale/checkBale/index.js +52 -52
  26. package/src/api/outbound/block/index.js +68 -0
  27. package/src/api/outbound/delivery/action.js +33 -1
  28. package/src/api/outbound/handover/index.js +33 -0
  29. package/src/api/outbound/handover/lpn.js +33 -0
  30. package/src/api/outbound/handover/mixin.js +42 -0
  31. package/src/api/outbound/handover/pageBox.js +24 -0
  32. package/src/api/outbound/pick/index.js +8 -0
  33. package/src/api/outbound/pick/sow.js +105 -0
  34. package/src/api/outbound/reprint-box/index.js +17 -0
  35. package/src/api/outbound/sow/action.js +1 -1
  36. package/src/api/outbound/stockout/index.js +54 -0
  37. package/src/api/outbound/transfer/index.js +23 -0
  38. package/src/api/receive/abnormal.js +1 -1
  39. package/src/api/receive/putaway.js +35 -1
  40. package/src/api/receive/receipt.js +7 -0
  41. package/src/assets/css/changeVant.less +29 -22
  42. package/src/assets/css/global.less +428 -411
  43. package/src/assets/css/var.less +99 -117
  44. package/src/assets/css//345/205/250/345/261/200/346/240/267/345/274/217.md +1 -31
  45. package/src/assets/img/close_red.png +0 -0
  46. package/src/assets/img/lwLoginModel/language.png +0 -0
  47. package/src/assets/img/lwLoginModel/timezone.png +0 -0
  48. package/src/assets/img/lwNotData/noneData.png +0 -0
  49. package/src/assets/img/menu/allotReceive.png +0 -0
  50. package/src/assets/img/menu/baleChange.png +0 -0
  51. package/src/assets/img/menu/borrowPick.png +0 -0
  52. package/src/assets/img/menu/boxTransfer.png +0 -0
  53. package/src/assets/img/menu/confirmStockOut.png +0 -0
  54. package/src/assets/img/menu/count.png +0 -0
  55. package/src/assets/img/menu/deadPutaway.png +0 -0
  56. package/src/assets/img/menu/disposeAbnormal.png +0 -0
  57. package/src/assets/img/menu/handover.png +0 -0
  58. package/src/assets/img/menu/lpnPack.png +0 -0
  59. package/src/assets/img/menu/mainData.png +0 -0
  60. package/src/assets/img/menu/mainLoc.png +0 -0
  61. package/src/assets/img/menu/mainLocSearch.png +0 -0
  62. package/src/assets/img/menu/moveUp.png +0 -0
  63. package/src/assets/img/menu/newConfig.png +0 -0
  64. package/src/assets/img/menu/outboundBlock.png +0 -0
  65. package/src/assets/img/menu/outboundReprint.png +0 -0
  66. package/src/assets/img/menu/pickContainer.png +0 -0
  67. package/src/assets/img/menu/process.png +0 -0
  68. package/src/assets/img/menu/processTable.png +0 -0
  69. package/src/assets/img/menu/quality.png +0 -0
  70. package/src/assets/img/menu/receive-case.png +0 -0
  71. package/src/assets/img/menu/receive-lpn.png +0 -0
  72. package/src/assets/img/menu/receive-sku.png +0 -0
  73. package/src/assets/img/menu/receive_random.png +0 -0
  74. package/src/assets/img/menu/stockSearch.png +0 -0
  75. package/src/assets/img/my/timezone.png +0 -0
  76. package/src/assets/img/timezone.png +0 -0
  77. package/src/components/module/AbnormalInput/index.js +11 -0
  78. package/src/components/module/AbnormalInput/index.vue +322 -0
  79. package/src/components/module/AbnormalInput//345/274/202/345/270/270/350/276/223/345/205/245/346/250/241/345/235/227.md +1 -0
  80. package/src/components/module/BoxInfo/index.js +10 -0
  81. package/src/components/module/BoxInfo/index.vue +69 -0
  82. package/src/components/{page/inbound/newProject/action/index.less → module/BoxInfo//346/237/245/347/234/213/347/256/261/344/277/241/346/201/257.md} +0 -0
  83. package/src/components/module/InnerAbnormal/index.js +11 -11
  84. package/src/components/module/InnerAbnormal/index.vue +120 -367
  85. package/src/components/module/InnerAbnormal//345/234/250/345/272/223/345/274/202/345/270/270/346/250/241/345/235/227.md +1 -0
  86. package/src/components/module/Login/index.vue +50 -19
  87. package/src/components/module/Login//347/231/273/345/275/225/346/250/241/345/235/227.md +1 -1
  88. package/src/components/module/Lot/index.vue +205 -181
  89. package/src/components/module/Lot//346/211/271/346/254/241/345/261/236/346/200/247.md +4 -2
  90. package/src/components/module/LotLook/index.vue +93 -80
  91. package/src/components/module/LotLook//346/225/260/346/215/256/346/237/245/347/234/213.md +3 -0
  92. package/src/components/module/Menu/index.vue +8 -4
  93. package/src/components/module/Menu//350/217/234/345/215/225/346/240/217.md +1 -1
  94. package/src/components/module/MsgItem/index.vue +124 -109
  95. package/src/components/module/MsgItem//346/266/210/346/201/257/345/210/227/350/241/250/345/217/212/345/210/206/351/241/265/346/250/241/345/235/227.md +1 -1
  96. package/src/components/module/OnLine/index.vue +195 -195
  97. package/src/components/module/OnLine//344/270/212/344/270/213/347/272/277/347/256/241/347/220/206/346/250/241/345/235/227.md +1 -1
  98. package/src/components/module/ReceiveAbnormal/index.vue +956 -865
  99. package/src/components/module/ReceiveAbnormal//346/224/266/350/264/247/345/274/202/345/270/270/346/250/241/345/235/227.md +1 -0
  100. package/src/components/module/ScanDataList/index.vue +333 -326
  101. package/src/components/module/ScanDataList//346/211/253/346/217/217/346/225/260/346/215/256/345/261/225/347/244/272/345/217/212/345/210/240/351/231/244.md +2 -0
  102. package/src/components/module/SkuInfo/index.vue +68 -65
  103. package/src/components/module/SkuInfo//346/237/245/347/234/213/345/225/206/345/223/201/344/277/241/346/201/257.md +4 -0
  104. package/src/components/module/SystemInfo/index.vue +227 -217
  105. package/src/components/module/SystemInfo//347/263/273/347/273/237/344/277/241/346/201/257/344/270/216/344/270/212/347/272/277/347/212/266/346/200/201/346/250/241/345/235/227.md +1 -1
  106. package/src/components/module/index.js +48 -42
  107. package/src/components/page/common/Device/index.vue +186 -186
  108. package/src/components/page/common/Language/index.vue +1 -0
  109. package/src/components/page/common/Login/index.vue +2 -4
  110. package/src/components/page/common/Menu/index.vue +16 -10
  111. package/src/components/page/common/Msg/index.vue +144 -36
  112. package/src/components/page/common/My/index.vue +47 -4
  113. package/src/components/page/common/Print/index.vue +311 -314
  114. package/src/components/page/common/Task/index.vue +18 -10
  115. package/src/components/page/common/Timezone/index.js +11 -0
  116. package/src/components/page/common/Timezone/index.vue +82 -0
  117. package/src/components/page/{inbound/newProject/index/index.less → common/Timezone//346/227/266/345/214/272/351/200/211/346/213/251/351/241/265.md} +0 -0
  118. package/src/components/page/common/Warehouse/index.vue +221 -216
  119. package/src/components/page/common/index.js +42 -39
  120. package/src/components/page/config/index.js +28 -0
  121. package/src/components/page/config/masterLocation/masterLocationConfig/action/index.js +11 -0
  122. package/src/components/page/{inbound/newProject//346/226/260/345/223/201/351/205/215/347/275/256.md → config/masterLocation/masterLocationConfig/action/index.less} +0 -0
  123. package/src/components/page/config/masterLocation/masterLocationConfig/action/index.vue +780 -0
  124. package/src/components/page/config/masterLocation/masterLocationConfig/index/index.js +11 -0
  125. package/src/components/page/{inner/lpnPutAway//344/270/212/346/236/266/347/247/273/345/212/250.md → config/masterLocation/masterLocationConfig/index/index.less} +0 -0
  126. package/src/components/page/config/masterLocation/masterLocationConfig/index/index.vue +112 -0
  127. package/src/components/page/{outbound/bale/components/mainPage//351/241/265/351/235/242/345/244/226/346/241/206/347/273/204/344/273/266.md → config/masterLocation/masterLocationConfig//344/270/273/345/272/223/344/275/215/351/205/215/347/275/256.md} +0 -0
  128. package/src/components/page/config/masterLocation/masterLocationQuery/action/index.js +18 -0
  129. package/src/components/page/config/masterLocation/masterLocationQuery/action/queryByLocationCode.vue +165 -0
  130. package/src/components/page/config/masterLocation/masterLocationQuery/action/queryBySkuCode.vue +168 -0
  131. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.js +11 -0
  132. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.less +0 -0
  133. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.vue +114 -0
  134. package/src/components/page/config/masterLocation/masterLocationQuery//344/270/273/345/272/223/344/275/215/346/237/245/350/257/242.md +0 -0
  135. package/src/components/page/config/masterLocation//344/270/273/345/272/223/344/275/215.md +0 -0
  136. package/src/components/page/{inbound → config}/newProject/action/index.js +0 -0
  137. package/src/components/page/config/newProject/action/index.less +0 -0
  138. package/src/components/page/{inbound → config}/newProject/action/index.vue +562 -436
  139. package/src/components/page/{inbound → config}/newProject/index/index.js +0 -0
  140. package/src/components/page/config/newProject/index/index.less +0 -0
  141. package/src/components/page/{inbound → config}/newProject/index/index.vue +6 -6
  142. package/src/components/page/config/newProject//346/226/260/345/223/201/351/205/215/347/275/256.md +0 -0
  143. package/src/components/page/count/components/CountBoard.vue +7 -7
  144. package/src/components/page/count/components/RandomCount.vue +154 -154
  145. package/src/components/page/count/inv/action/index.vue +52 -30
  146. package/src/components/page/count/inv/index/index.vue +15 -15
  147. package/src/components/page/count/loc/action/index.vue +546 -546
  148. package/src/components/page/count/loc/index/index.vue +11 -11
  149. package/src/components/page/inbound/components/AllocReceiveResult.vue +129 -0
  150. package/src/components/page/inbound/components/AllocScanListItem.vue +147 -0
  151. package/src/components/page/inbound/components/AllocSkuListItem.vue +148 -0
  152. package/src/components/page/inbound/components/AsnInfo.vue +91 -29
  153. package/src/components/page/inbound/components/AsnSkuInfo.vue +27 -7
  154. package/src/components/page/inbound/components/QualityCard.vue +16 -16
  155. package/src/components/page/inbound/components/QualityTaskInfo.vue +12 -12
  156. package/src/components/page/inbound/components/SearchBar.vue +85 -0
  157. package/src/components/page/inbound/components/SkuReceiveInfo.vue +69 -0
  158. package/src/components/page/inbound/components/SnsList.vue +103 -99
  159. package/src/components/page/inbound/index.js +11 -5
  160. package/src/components/page/inbound/receive/home/index.vue +88 -16
  161. package/src/components/page/inbound/receive/index/index.vue +92 -89
  162. package/src/components/page/inbound/receive/quality/LwInboundQualityExecutePage.vue +457 -425
  163. package/src/components/page/inbound/receive/quality/LwInboundQualityTaskListPage.vue +164 -164
  164. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocSkuExecutePage.vue +595 -0
  165. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocSnExecutePage.vue +233 -0
  166. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocTabListPage.vue +247 -0
  167. package/src/components/page/inbound/receive/receive-alloc/index.js +19 -0
  168. package/src/components/page/inbound/receive/receive-case/LwInboundReceiveCaseExecutePage.vue +312 -0
  169. package/src/components/page/inbound/receive/receive-case/LwInboundReceiveCaseScanPage.vue +80 -0
  170. package/src/components/page/inbound/receive/receive-case/index.js +16 -0
  171. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnBatchExecutePage.vue +386 -0
  172. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnExecutePage.vue +216 -0
  173. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnScanPage.vue +80 -0
  174. package/src/components/page/inbound/receive/receive-lpn/index.js +19 -0
  175. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuExecutePage.vue +340 -0
  176. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuScanPage.vue +111 -0
  177. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuSnExecutePage.vue +340 -0
  178. package/src/components/page/inbound/receive/receive-random/index.js +19 -0
  179. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuAdvancePage.vue +330 -321
  180. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuDirectPage.vue +424 -408
  181. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuScanPage.vue +161 -150
  182. package/src/components/page/inbound/util/InboundUtils.js +72 -0
  183. package/src/components/page/index.js +41 -33
  184. package/src/components/page/inner/abnormalMove/index/index.vue +466 -468
  185. package/src/components/page/inner/borrow/action/index.js +11 -0
  186. package/src/components/page/inner/borrow/action/index.vue +831 -0
  187. package/src/components/page/inner/borrow/index/index.js +11 -0
  188. package/src/components/page/inner/borrow/index/index.vue +249 -0
  189. package/src/components/page/inner/borrow//345/200/237/344/273/266.md +0 -0
  190. package/src/components/page/inner/dead/components/abnPopup.vue +83 -0
  191. package/src/components/page/inner/dead/components/bagItem.vue +104 -0
  192. package/src/components/page/inner/dead/components/boxListItem.vue +135 -0
  193. package/src/components/page/inner/dead/components/dataInfo.vue +94 -0
  194. package/src/components/page/inner/dead/components/lackPopup.vue +190 -0
  195. package/src/components/page/inner/dead/components/lpnListItem.vue +115 -0
  196. package/src/components/page/inner/dead/components/taskItem.vue +570 -0
  197. package/src/components/page/inner/dead/components/waitOverLpn.vue +74 -0
  198. package/src/components/page/inner/dead/large/index.js +11 -0
  199. package/src/components/page/inner/dead/large/index.vue +376 -0
  200. package/src/components/page/inner/dead/large//344/270/255/345/244/247/344/273/266 - /346/211/223/346/211/230.md +0 -0
  201. package/src/components/page/inner/dead/putaway/action/index.js +11 -0
  202. package/src/components/page/inner/dead/putaway/action/index.vue +131 -0
  203. package/src/components/page/inner/dead/putaway/components/collapseItem.vue +128 -0
  204. package/src/components/page/inner/dead/putaway/index/index.js +11 -0
  205. package/src/components/page/inner/dead/putaway/index/index.vue +63 -0
  206. package/src/components/page/inner/dead/putaway//345/221/206/346/273/236/345/223/201/344/270/212/346/236/266.md +0 -0
  207. package/src/components/page/inner/dead/small/index.js +11 -0
  208. package/src/components/page/inner/dead/small/index.vue +656 -0
  209. package/src/components/page/inner/dead/small//345/260/217/344/273/266 - /350/243/205/347/256/261.md +0 -0
  210. package/src/components/page/inner/dead/taskEntrance/index.js +11 -0
  211. package/src/components/page/inner/dead/taskEntrance/index.vue +49 -0
  212. package/src/components/page/inner/dead/taskEntrance//344/273/273/345/212/241/345/205/245/345/217/243/351/241/265/351/235/242.md +0 -0
  213. package/src/components/page/inner/dead//345/221/206/346/273/236/345/223/201/346/225/264/347/220/206.md +0 -0
  214. package/src/components/page/inner/disposeAbnormal/action/index.vue +524 -524
  215. package/src/components/page/inner/disposeAbnormal/components/abnInfo/index.vue +55 -55
  216. package/src/components/page/inner/disposeAbnormal/components/disposePopup/index.vue +229 -229
  217. package/src/components/page/inner/disposeAbnormal/components/listItem/index.vue +12 -12
  218. package/src/components/page/inner/disposeAbnormal/components/searchBar/index.vue +264 -264
  219. package/src/components/page/inner/disposeAbnormal/index/index.vue +248 -237
  220. package/src/components/page/inner/index.js +57 -0
  221. package/src/components/page/inner/lpnMove/action/index.vue +243 -222
  222. package/src/components/page/inner/lpnMove/index/index.vue +155 -155
  223. package/src/components/page/inner/materialApply/action/index.vue +555 -563
  224. package/src/components/page/inner/materialApply/generate/index.vue +385 -376
  225. package/src/components/page/inner/movePutAway/index/index.vue +363 -363
  226. package/src/components/page/inner/quality/action/index.js +11 -0
  227. package/src/components/page/inner/quality/action/index.vue +720 -0
  228. package/src/components/page/inner/quality/components/lookData.vue +109 -0
  229. package/src/components/page/inner/quality/components/sampleInfo.vue +62 -0
  230. package/src/components/page/inner/quality/sample/index.js +11 -0
  231. package/src/components/page/inner/quality/sample/index.vue +426 -0
  232. package/src/components/page/inner/quality/sample//346/212/275/346/243/200.md +0 -0
  233. package/src/components/page/inner/quality//350/264/250/346/243/200.md +0 -0
  234. package/src/components/page/inner/randomMove/components/Down/index.vue +507 -470
  235. package/src/components/page/inner/randomMove/components/Up/index.vue +587 -523
  236. package/src/components/page/inner/reportAbnormal/action/index.vue +2 -4
  237. package/src/components/page/inner/reportAbnormal/index/index.vue +251 -251
  238. package/src/components/page/inner/taskMove/index/index.vue +181 -60
  239. package/src/components/page/inventory/index.js +17 -0
  240. package/src/components/page/inventory/inventoryItem/index.vue +127 -0
  241. package/src/components/page/inventory/inventoryLotPage/index.vue +208 -0
  242. package/src/components/page/inventory/queryInventory/index/index.js +11 -0
  243. package/src/components/page/inventory/queryInventory/index/index.less +0 -0
  244. package/src/components/page/inventory/queryInventory/index/index.vue +231 -0
  245. package/src/components/page/inventory/queryInventory/page/index.js +11 -0
  246. package/src/components/page/inventory/queryInventory/page/index.less +0 -0
  247. package/src/components/page/inventory/queryInventory/page/index.vue +525 -0
  248. package/src/components/page/outbound/bale/aloneBale/action/index.vue +779 -192
  249. package/src/components/page/outbound/bale/aloneBale/index/index.vue +69 -7
  250. package/src/components/page/outbound/bale/aloneBale/newBale/index.vue +17 -3
  251. package/src/components/page/outbound/bale/baleChange/action/index.js +11 -0
  252. package/src/components/page/outbound/bale/baleChange/action/index.vue +585 -0
  253. package/src/components/page/outbound/bale/baleChange/index/index.js +11 -0
  254. package/src/components/page/outbound/bale/baleChange/index/index.vue +67 -0
  255. package/src/components/page/outbound/bale/baleChange/skuCheck/index.js +11 -0
  256. package/src/components/page/outbound/bale/baleChange/skuCheck/index.vue +351 -0
  257. package/src/components/page/outbound/bale/baleChange//346/215/206/345/214/205/347/256/261/350/260/203/346/225/264.md +0 -0
  258. package/src/components/page/outbound/bale/checkBale/action/index.vue +941 -1330
  259. package/src/components/page/outbound/bale/checkBale/allCheck/index.vue +19 -19
  260. package/src/components/page/outbound/bale/checkBale/index/index.vue +11 -9
  261. package/src/components/page/outbound/bale/checkBale/newBale/index.vue +10 -4
  262. package/src/components/page/outbound/bale/components/allBlock/index.vue +5 -5
  263. package/src/components/page/outbound/bale/components/containerInfo/index.vue +242 -237
  264. package/src/components/page/outbound/bale/components/containerSkuQty/img.png +0 -0
  265. package/src/components/page/outbound/bale/components/containerSkuQty/index.vue +3 -3
  266. package/src/components/page/outbound/bale/components/containerSkuQty//345/275/223/345/211/215/346/215/206/345/214/205/345/256/271/345/231/250/345/217/212/345/223/201/347/247/215/346/225/260.md +1 -0
  267. package/src/components/page/outbound/bale/components/delSku/index.vue +317 -0
  268. package/src/components/page/outbound/bale/components/delSku//345/211/224/351/231/244/345/225/206/345/223/201/345/274/271/346/241/206.md +0 -0
  269. package/src/components/page/outbound/bale/components/partBlock/index.vue +201 -197
  270. package/src/components/page/outbound/bale/components/planCollapse/index.vue +392 -396
  271. package/src/components/page/outbound/bale/components/repeatCheck/index.vue +101 -0
  272. package/src/components/page/outbound/bale/components/repeatCheck//351/207/215/346/226/260/345/244/215/346/240/270/345/274/271/346/241/206.md +0 -0
  273. package/src/components/page/outbound/bale/components/storeInfo/index.vue +135 -135
  274. package/src/components/page/outbound/bale/components/storeInfoSkuList/index.vue +128 -121
  275. package/src/components/page/outbound/bale/components//346/215/206/345/214/205/344/275/277/347/224/250/347/232/204/347/273/204/344/273/266.md +0 -0
  276. package/src/components/page/outbound/bale/mixins.js +212 -0
  277. package/src/components/page/outbound/bale//346/215/206/345/214/205/347/233/270/345/205/263/351/241/265/351/235/242-/345/244/215/346/240/270/346/215/206/345/214/205-/347/213/254/347/253/213/346/215/206/345/214/205-/346/215/206/345/214/205/347/256/261/350/260/203/346/225/264.md +0 -0
  278. package/src/components/page/outbound/block/LwOutboundBlockBoxListPage.vue +67 -0
  279. package/src/components/page/outbound/block/LwOutboundBlockExecutePage.vue +316 -0
  280. package/src/components/page/outbound/block/components/BlockInfo.vue +56 -0
  281. package/src/components/page/outbound/block/index.js +16 -0
  282. package/src/components/page/outbound/block//345/207/272/345/272/223/346/213/246/346/210/252.txt +0 -0
  283. package/src/components/page/outbound/boxTransfer/action/index.js +11 -0
  284. package/src/components/page/outbound/boxTransfer/action/index.vue +214 -0
  285. package/src/components/page/outbound/boxTransfer/index/index.js +11 -0
  286. package/src/components/page/outbound/boxTransfer/index/index.vue +174 -0
  287. package/src/components/page/outbound/boxTransfer//346/273/236/347/225/231/344/273/266/350/275/254/345/255/230.md +0 -0
  288. package/src/components/page/outbound/delivery/action/index.vue +784 -646
  289. package/src/components/page/outbound/delivery/addOrder/index.vue +281 -281
  290. package/src/components/page/outbound/delivery/components/boxItem/index.vue +154 -118
  291. package/src/components/page/outbound/delivery/components/orderContent/index.vue +97 -63
  292. package/src/components/page/outbound/delivery/components/orderContentTitle/index.vue +400 -114
  293. package/src/components/page/outbound/delivery/components/soAndLpnItem/index.vue +199 -161
  294. package/src/components/page/outbound/delivery/index/index.vue +205 -154
  295. package/src/components/page/outbound/handover/components/boxInfo.vue +51 -0
  296. package/src/components/page/outbound/handover/components/boxNumList.vue +158 -0
  297. package/src/components/page/outbound/handover/components/collapseItem.vue +136 -0
  298. package/src/components/page/outbound/handover/components/customerAndLine.vue +179 -0
  299. package/src/components/page/outbound/handover/components/customerList.vue +94 -0
  300. package/src/components/page/outbound/handover/components/lineInfo.vue +129 -0
  301. package/src/components/page/outbound/handover/components/lpnListItem.vue +119 -0
  302. package/src/components/page/outbound/handover/components/nowScan.vue +59 -0
  303. package/src/components/page/outbound/handover/components/pageBox.vue +524 -0
  304. package/src/components/page/outbound/handover/components/storeInfo.vue +128 -0
  305. package/src/components/page/outbound/handover/customer/index.js +11 -0
  306. package/src/components/page/outbound/handover/customer/index.vue +34 -0
  307. package/src/components/page/outbound/handover/index/index.js +11 -0
  308. package/src/components/page/outbound/handover/index/index.vue +217 -0
  309. package/src/components/page/outbound/handover/line/index.js +11 -0
  310. package/src/components/page/outbound/handover/line/index.vue +32 -0
  311. package/src/components/page/outbound/handover/lpn/index.js +11 -0
  312. package/src/components/page/outbound/handover/lpn/index.vue +262 -0
  313. package/src/components/page/outbound/handover/mixin.js +207 -0
  314. package/src/components/page/outbound/handover//345/207/272/345/272/223/344/272/244/346/216/245.md +0 -0
  315. package/src/components/page/outbound/index.js +152 -94
  316. package/src/components/page/outbound/lpnPack/action/index.js +11 -0
  317. package/src/components/page/outbound/lpnPack/action/index.vue +287 -0
  318. package/src/components/page/outbound/lpnPack/components/lpnActionInfo.vue +113 -0
  319. package/src/components/page/outbound/lpnPack/components/lpnItem.vue +126 -0
  320. package/src/components/page/outbound/lpnPack/index/index.js +11 -0
  321. package/src/components/page/outbound/lpnPack/index/index.vue +166 -0
  322. package/src/components/page/outbound/lpnPack/newLpnPack/index.js +11 -0
  323. package/src/components/page/outbound/lpnPack/newLpnPack/index.vue +80 -0
  324. package/src/components/page/outbound/lpnPack/newLpnPack//346/226/260/346/211/223/346/211/230.md +0 -0
  325. package/src/components/page/outbound/lpnPack/over/index.js +11 -0
  326. package/src/components/page/outbound/lpnPack/over/index.vue +85 -0
  327. package/src/components/page/outbound/lpnPack/over//345/267/262/346/211/223/346/211/230.md +0 -0
  328. package/src/components/page/outbound/lpnPack//346/211/223/346/211/230.md +0 -0
  329. package/src/components/page/outbound/pick/alone/index.vue +504 -497
  330. package/src/components/page/outbound/pick/box/index.vue +371 -363
  331. package/src/components/page/outbound/pick/components/dataLookAndChange/index.vue +671 -748
  332. package/src/components/page/outbound/pick/components/skuLocationInfo/index.vue +13 -12
  333. package/src/components/page/outbound/pick/components/sowList.vue +190 -0
  334. package/src/components/page/outbound/pick/components/splitPutDown/index.vue +208 -208
  335. package/src/components/page/outbound/pick/components/taskInfo.vue +129 -0
  336. package/src/components/page/outbound/pick/index/index.vue +622 -624
  337. package/src/components/page/outbound/pick/lpn/index.vue +321 -305
  338. package/src/components/page/outbound/pick/mixin/all.js +98 -100
  339. package/src/components/page/outbound/pick/mixin/aloneAndNotAlone.js +132 -132
  340. package/src/components/page/outbound/pick/notAlone/index.vue +533 -524
  341. package/src/components/page/outbound/pick/sow/index.js +11 -0
  342. package/src/components/page/outbound/pick/sow/index.vue +1290 -0
  343. package/src/components/page/outbound/pick/sow//350/276/271/346/213/243/350/276/271/345/210/206.md +0 -0
  344. package/src/components/page/outbound/pickContainer/action/index.js +11 -0
  345. package/src/components/page/outbound/pickContainer/action/index.vue +219 -0
  346. package/src/components/page/outbound/pickContainer/index/index.js +11 -0
  347. package/src/components/page/outbound/pickContainer/index/index.vue +63 -0
  348. package/src/components/page/outbound/pickContainer//346/213/243/351/200/211/345/256/271/345/231/250/346/237/245/350/257/242.md +0 -0
  349. package/src/components/page/outbound/pickMerge/action/index.vue +37 -37
  350. package/src/components/page/outbound/pickMerge/components/containerInfo/index.vue +6 -6
  351. package/src/components/page/outbound/pickMerge/components/finishPopup/index.vue +4 -4
  352. package/src/components/page/outbound/pickMerge/components/skuInfo/index.vue +6 -6
  353. package/src/components/page/outbound/pickMerge/content/index.vue +170 -170
  354. package/src/components/page/outbound/pickMerge/index/index.vue +4 -4
  355. package/src/components/page/outbound/reprint-box/LwOutboundReprintBoxListPage.vue +206 -0
  356. package/src/components/page/outbound/reprint-box/index.js +13 -0
  357. package/src/components/page/outbound/reprint-box//347/256/261/347/245/250/350/241/245/346/211/223.txt +0 -0
  358. package/src/components/page/outbound/sow/action/index.vue +98 -112
  359. package/src/components/page/outbound/sow/components/sowLocationList/index.vue +23 -9
  360. package/src/components/page/outbound/sow/components/waitSowCollapse/index.vue +4 -4
  361. package/src/components/page/outbound/sow/index/index.vue +371 -374
  362. package/src/components/page/outbound/stockout/LwOutboundStockoutExecutePage.vue +108 -0
  363. package/src/components/page/outbound/stockout/LwOutboundStockoutListPage.vue +103 -0
  364. package/src/components/page/outbound/stockout/components/StockoutInfo.vue +42 -0
  365. package/src/components/page/outbound/stockout/index.js +16 -0
  366. package/src/components/page/outbound/stockout//347/274/272/350/264/247.txt +0 -0
  367. package/src/components/page/outbound/summary/box/index/index.vue +645 -645
  368. package/src/components/page/outbound/summary/lpn/action/index.vue +254 -253
  369. package/src/components/page/process/index.js +21 -0
  370. package/src/components/page/process/prepare/index.js +11 -0
  371. package/src/components/page/process/prepare/index.vue +841 -0
  372. package/src/components/page/process/process/action/index.js +11 -0
  373. package/src/components/page/process/process/action/index.vue +158 -0
  374. package/src/components/page/process/process/components/craftCollapse.vue +130 -0
  375. package/src/components/page/process/process/components/dockInfo.vue +79 -0
  376. package/src/components/page/process/process/components/dockTaskInfo.vue +192 -0
  377. package/src/components/page/process/process/components/overCollapse.vue +376 -0
  378. package/src/components/page/process/process/components/rawCollapse.vue +113 -0
  379. package/src/components/page/process/process/components/stopPopup.vue +90 -0
  380. package/src/components/page/process/process/console/index.js +11 -0
  381. package/src/components/page/process/process/console/index.vue +525 -0
  382. package/src/components/page/process/process/content/index.js +11 -0
  383. package/src/components/page/process/process/content/index.vue +367 -0
  384. package/src/components/page/process/process/index/index.js +11 -0
  385. package/src/components/page/process/process/index/index.vue +68 -0
  386. package/src/components/page/process//345/212/240/345/267/245.md +0 -0
  387. package/src/components/page/receive/index.js +6 -2
  388. package/src/components/page/receive/putaway/caseAction/index.js +9 -0
  389. package/src/components/page/receive/putaway/caseAction/index.vue +542 -0
  390. package/src/components/page/receive/putaway/components/CaseInfo/index.vue +178 -0
  391. package/src/components/page/receive/putaway/components/SkuInfo/index.vue +135 -91
  392. package/src/components/page/receive/putaway/components/SkuPutAwayInfo/index.vue +203 -203
  393. package/src/components/page/receive/putaway/components/TaskInfo/index.vue +40 -15
  394. package/src/components/page/receive/putaway/components/lpnBatchItem.vue +112 -0
  395. package/src/components/page/receive/putaway/components/overPutawayItem.vue +119 -0
  396. package/src/components/page/receive/putaway/index/index.vue +450 -288
  397. package/src/components/page/receive/putaway/lpnAction/index.vue +362 -332
  398. package/src/components/page/receive/putaway/lpnBatchAction/index.js +11 -0
  399. package/src/components/page/receive/putaway/lpnBatchAction/index.vue +213 -0
  400. package/src/components/page/receive/putaway/lpnBatchAction//346/225/264/346/211/230/347/233/230/346/211/271/351/207/217/344/270/212/346/236/266.md +0 -0
  401. package/src/components/page/receive/putaway/skuAction/index.vue +742 -742
  402. package/src/components/page/receive/receipt/action/index.vue +276 -260
  403. package/src/components/page/receive/receipt/index/index.vue +132 -124
  404. package/src/components/ui/BottomBar/index.vue +98 -72
  405. package/src/components/ui/BottomBarBtnHidden/index.vue +91 -91
  406. package/src/components/ui/BottomBarBtnHidden//345/272/225/351/203/250/346/214/211/351/222/256/346/240/217/351/232/220/350/227/217/345/244/232/344/275/231/346/214/211/351/222/256.md +1 -0
  407. package/src/components/ui/Button/index.vue +183 -183
  408. package/src/components/ui/CarPlate/index.vue +495 -378
  409. package/src/components/ui/Cell/index.vue +259 -259
  410. package/src/components/ui/CellPopupDate/index.vue +212 -167
  411. package/src/components/ui/CellPopupRadio/index.vue +136 -136
  412. package/src/components/ui/CutCard/index.vue +11 -0
  413. package/src/components/ui/DataLookBg/index.vue +72 -42
  414. package/src/components/ui/DataLookBg//346/225/260/346/215/256/347/234/213/346/235/277.md +1 -0
  415. package/src/components/ui/ErrorMsg/index.vue +1 -1
  416. package/src/components/ui/ImgLook/index.vue +105 -96
  417. package/src/components/ui/ImgUpload/index.vue +120 -120
  418. package/src/components/ui/ImgUpload/request.js +39 -39
  419. package/src/components/ui/Input/index.vue +581 -554
  420. package/src/components/ui/Loading/index.js +49 -49
  421. package/src/components/ui/NotData/index.vue +9 -3
  422. package/src/components/ui/Pages/index.vue +3 -2
  423. package/src/components/ui/Pagination/index.js +11 -0
  424. package/src/components/ui/Pagination/index.vue +274 -0
  425. package/src/components/ui/Pagination//345/210/206/351/241/265V2.md +1 -0
  426. package/src/components/ui/Popup/index.vue +242 -245
  427. package/src/components/ui/TitleValueCell/index.vue +88 -61
  428. package/src/components/ui/TitleValueCell//346/240/207/351/242/230/345/200/274/350/241/214.md +2 -0
  429. package/src/components/ui/index.js +87 -84
  430. package/src/mixins/loginAndInit/index.js +31 -27
  431. package/src/router/index.js +742 -405
  432. package/src/router/menu.js +638 -367
  433. package/src/test/file/index.js +11 -11
  434. package/src/utils/ApiUtils.js +59 -48
  435. package/src/utils/AppBack.js +43 -44
  436. package/src/utils/AppPower.js +191 -183
  437. package/src/utils/Axios.js +8 -4
  438. package/src/utils/BarcodeResolve.js +53 -12
  439. package/src/utils/DateTime.js +233 -219
  440. package/src/utils/DeepCopy.js +61 -61
  441. package/src/utils/Dialog.js +58 -0
  442. package/src/utils/Dict.js +73 -73
  443. package/src/utils/GetImgSrc.js +54 -53
  444. package/src/utils/Language.js +79 -59
  445. package/src/utils/LocalStorage.js +66 -30
  446. package/src/utils/Permissions.js +65 -51
  447. package/src/utils/Print.js +177 -179
  448. package/src/utils/README.md +60 -2
  449. package/src/utils/ScanRule.js +39 -150
  450. package/src/utils/SetColor.js +57 -22
  451. package/src/utils/TabBar.js +31 -30
  452. package/src/utils/Timezone.js +179 -0
  453. package/src/utils/Tip.js +26 -26
  454. package/src/utils/UUID.js +39 -33
  455. package/src/utils/Utils.js +34 -0
  456. package/src/utils/Warehouse.js +30 -26
  457. package/src/utils/index.js +8 -2
  458. package/src/utils/windowGlobalData.js +114 -88
  459. package/src/views/common/init/index.vue +138 -128
  460. package/src/views/common/my/timezone.vue +23 -0
  461. package/src/views/config/masterLocation/masterLocationConfig/action.vue +23 -0
  462. package/src/views/config/masterLocation/masterLocationConfig/index.vue +23 -0
  463. package/src/views/config/masterLocation/masterLocationQuery/index.vue +23 -0
  464. package/src/views/config/masterLocation/masterLocationQuery/queryByLocationCode.vue +23 -0
  465. package/src/views/config/masterLocation/masterLocationQuery/queryBySkuCode.vue +23 -0
  466. package/src/views/{inbound → config}/newProject/action.vue +0 -0
  467. package/src/views/{inbound → config}/newProject/index.vue +0 -0
  468. package/src/views/count/index.vue +2 -2
  469. package/src/views/inbound/quality/InboundQualityExecuteView.vue +2 -2
  470. package/src/views/inbound/quality/InboundQualityTaskListView.vue +2 -2
  471. package/src/views/inbound/receive/alloc/InboundReceiveAllocSkuExecuteView.vue +13 -0
  472. package/src/views/inbound/receive/alloc/InboundReceiveAllocSnExecuteView.vue +13 -0
  473. package/src/views/inbound/receive/alloc/InboundReceiveAllocTabListView.vue +13 -0
  474. package/src/views/inbound/receive/case/InboundReceiveCaseExecuteView.vue +13 -0
  475. package/src/views/inbound/receive/case/InboundReceiveCaseScanView.vue +13 -0
  476. package/src/views/inbound/receive/lpn/InboundReceiveLpnBatchExecuteView.vue +13 -0
  477. package/src/views/inbound/receive/lpn/InboundReceiveLpnExecuteView.vue +13 -0
  478. package/src/views/inbound/receive/lpn/InboundReceiveLpnScanView.vue +13 -0
  479. package/src/views/inbound/receive/random/InboundReceiveRandomSkuExecuteView.vue +13 -0
  480. package/src/views/inbound/receive/random/InboundReceiveRandomSkuScanView.vue +13 -0
  481. package/src/views/inbound/receive/random/InboundReceiveRandomSkuSnExecuteView.vue +13 -0
  482. package/src/views/inbound/receive/sku/InboundReceiveSkuAdvanceView.vue +1 -1
  483. package/src/views/inbound/receive/sku/InboundReceiveSkuDirectView.vue +1 -1
  484. package/src/views/inbound/receive/sku/InboundReceiveSkuScanView.vue +1 -1
  485. package/src/views/inner/borrow/action.vue +23 -0
  486. package/src/views/inner/borrow/index.vue +23 -0
  487. package/src/views/inner/dead/large.vue +23 -0
  488. package/src/views/inner/dead/putaway/action.vue +23 -0
  489. package/src/views/inner/dead/putaway/index.vue +23 -0
  490. package/src/views/inner/dead/smallPage.vue +23 -0
  491. package/src/views/inner/dead/taskEntrance.vue +23 -0
  492. package/src/views/inner/quality/action.vue +23 -0
  493. package/src/views/inner/quality/sample.vue +23 -0
  494. package/src/views/inventory/queryInventory/index.vue +23 -0
  495. package/src/views/inventory/queryInventory/page.vue +23 -0
  496. package/src/views/outbound/baleChange/action.vue +23 -0
  497. package/src/views/outbound/baleChange/index.vue +23 -0
  498. package/src/views/outbound/baleChange/skuCheck.vue +23 -0
  499. package/src/views/outbound/block/OutboundBlockBoxListView.vue +12 -0
  500. package/src/views/outbound/block/OutboundBlockExecuteView.vue +12 -0
  501. package/src/views/outbound/boxTransfer/action.vue +23 -0
  502. package/src/views/outbound/boxTransfer/index.vue +23 -0
  503. package/src/views/outbound/handover/customer.vue +23 -0
  504. package/src/views/outbound/handover/index.vue +23 -0
  505. package/src/views/outbound/handover/line.vue +23 -0
  506. package/src/views/outbound/handover/lpn.vue +23 -0
  507. package/src/views/outbound/lpnPack/action.vue +23 -0
  508. package/src/views/outbound/lpnPack/index.vue +23 -0
  509. package/src/views/outbound/lpnPack/newLpn.vue +23 -0
  510. package/src/views/outbound/lpnPack/over.vue +23 -0
  511. package/src/views/outbound/pick/sowAction.vue +23 -0
  512. package/src/views/outbound/pickContainer/action.vue +23 -0
  513. package/src/views/outbound/pickContainer/index.vue +23 -0
  514. package/src/views/outbound/reprint-box/LwOutboundReprintBoxView.vue +13 -0
  515. package/src/views/outbound/stockout/LwOutboundStockoutExecuteView.vue +12 -0
  516. package/src/views/outbound/stockout/LwOutboundStockoutListView.vue +12 -0
  517. package/src/views/process/action/action.vue +23 -0
  518. package/src/views/process/action/consoleInfo.vue +23 -0
  519. package/src/views/process/action/contentInfo.vue +23 -0
  520. package/src/views/process/action/index.vue +23 -0
  521. package/src/views/process/prepare/index.vue +23 -0
  522. package/src/views/receive/putaway/caseAction.vue +21 -0
  523. package/src/views/receive/putaway/lpnBatchAction.vue +23 -0
  524. package/src/components/page/outbound/bale/components/mainPage/index.vue +0 -620
  525. package/src/components/ui/DataLookBg//346/225/260/346/215/256/347/234/213/346/235/277/350/203/214/346/231/257/345/233/276.md +0 -1
@@ -1,748 +1,671 @@
1
- <!--
2
- 数据看板及底部操作
3
- @author: 张文
4
- @date: 2022-06-16
5
- -->
6
- <template>
7
- <div>
8
-
9
- <lw-nav-bar :title="$lwLanguage.get('','执行拣选')"/>
10
-
11
- <!-- 页主体 -->
12
- <div class="lw-global-page-box">
13
-
14
- <!-- 头部数据看板 -->
15
- <div
16
- class="lw-global-model-box"
17
- style="border-radius: 10px 10px 0 0"
18
- >
19
- <div class="lw-global-flex-start">
20
-
21
- <img
22
- :src="require('./../../../../../../assets/img/taskOrder.png')"
23
- alt=""
24
- style="width: 50px;"
25
- >
26
-
27
- <div style="margin-left: 10px">
28
- <div class="lw-global-value-bold" style="font-size: 16px">{{ pickData.pickNo }}</div>
29
-
30
- <!-- 捆包类型 -->
31
- <lw-tag
32
- v-if="pickData.pickPackTypeLabel"
33
- style="margin-left: 0"
34
- plain
35
- round
36
- >{{ pickData.pickPackTypeLabel }}</lw-tag>
37
- <!-- 拣选方式 -->
38
- <lw-tag
39
- v-if="pickData.pickMethodLabel"
40
- type="warning"
41
- plain
42
- round
43
- >{{ pickMethod }}</lw-tag>
44
- </div>
45
-
46
- </div>
47
- </div>
48
- <lw-data-look-bg type="not">
49
-
50
- <!-- 计划量 -->
51
- <div>
52
- <div>{{ pickData.totalQty || 0 }}</div>
53
- <div class="lw-data-look-bg-title">
54
- {{ $lwLanguage.get('','计划量') }}
55
- </div>
56
- </div>
57
-
58
- <!-- 已拣量 -->
59
- <div>
60
- <div>{{ pickData.pickQty || 0 }}</div>
61
- <div class="lw-data-look-bg-title">
62
- {{ $lwLanguage.get('','已拣量') }}
63
- </div>
64
- </div>
65
-
66
- <!-- 待拣量 -->
67
- <div>
68
- <div>{{ pickData.waitPickQty || 0 }}</div>
69
- <div class="lw-data-look-bg-title">
70
- {{ $lwLanguage.get('','待拣量') }}
71
- </div>
72
- </div>
73
-
74
- <!-- 异常量 -->
75
- <div class="lw-data-last-item">
76
- <div>{{ pickData.abnormalQty || 0 }}</div>
77
- <div class="lw-data-look-bg-title">
78
- {{ $lwLanguage.get('','异常量') }}
79
- </div>
80
- </div>
81
-
82
- </lw-data-look-bg>
83
- <div
84
- class="lw-global-model-box"
85
- style="border-radius: 0 0 10px 10px;margin-bottom: 10px"
86
- >
87
- <!--进度条-->
88
- <van-progress
89
- style="margin: 5px 0"
90
- stroke-width="8"
91
- :percentage="percentage"
92
- color="linear-gradient(90deg, #FF8E8F 0%, #C5000A 100%)"
93
- />
94
-
95
- <div style="margin-top: 15px">
96
- <lw-tag
97
- v-if="pickData.allocationOrder"
98
- type="danger"
99
- round
100
- plain
101
- >{{ $lwLanguage.get('','调拨出库') }}</lw-tag>
102
- <lw-tag
103
- v-if="pickData.multiInOne"
104
- round
105
- plain
106
- >{{ $lwLanguage.get('','多件一票') }}</lw-tag>
107
- </div>
108
- <slot name="look-bottom"></slot>
109
- </div>
110
-
111
- <!-- 业务自定义 -->
112
- <slot></slot>
113
-
114
- </div>
115
-
116
- <div :style="{height: hasPrint ? '50px' : 0}"></div>
117
- <div
118
- :style="{height: hasPrint ? '50px' : 0}"
119
- class="lw-global-flex-between lw-data-loot-adn-change-print"
120
- >
121
- <div style="text-align: center;">
122
- <div class="lw-global-value-bold">A00001</div>
123
- <div class="lw-global-title">{{ $lwLanguage.get('','已打印出库票') }}</div>
124
- </div>
125
-
126
- <div style="text-align: center;">
127
- <div class="lw-global-value-bold">2</div>
128
- <div class="lw-global-title">最小销售数</div>
129
- </div>
130
-
131
- <div style="text-align: center;">
132
- <div class="lw-global-value-bold-red">4</div>
133
- <div class="lw-global-title">{{ $lwLanguage.get('','商品数') }}</div>
134
- </div>
135
-
136
- <lw-button
137
- style="flex-shrink: 0"
138
- mini
139
- round
140
- >{{ $lwLanguage.get('','补打票') }}</lw-button>
141
-
142
- </div>
143
-
144
- <!-- 底部按钮 -->
145
- <lw-bottom-bar v-if="showBottomBar">
146
-
147
- <lw-button
148
- type="last"
149
- @click="lackBtn"
150
- >{{ $lwLanguage.get('','拣选缺货') }}</lw-button>
151
-
152
- <lw-button
153
- type="normal"
154
- plain
155
- @click="abnBtn"
156
- >{{ $lwLanguage.get('','异常') }}</lw-button>
157
-
158
- <lw-button
159
- @click="confirmBtn"
160
- >{{ $lwLanguage.get('','确认拣选') }}</lw-button>
161
-
162
- </lw-bottom-bar>
163
-
164
- <!-- 多零件选择 -->
165
- <lw-popup
166
- :title="$lwLanguage.get('','选择商品')"
167
- v-model="skuSelectPopup.show"
168
- >
169
-
170
- <div
171
- class="lw-global-row lw-global-click-style lw-global-flex-start-start"
172
- v-for="(i,k) in skuSelectPopup.list"
173
- :key="k"
174
- @click="skuSelectClick(i)"
175
- >
176
-
177
- <div style="flex: 1">
178
- <lw-sku-info-module v-bind="i"/>
179
- </div>
180
-
181
- <van-icon
182
- style="margin-left: 10px;"
183
- name="arrow"
184
- size="18px"
185
- color="#ccc"
186
- />
187
- </div>
188
-
189
- </lw-popup>
190
-
191
- <!-- 拣选缺货 -->
192
- <lw-popup
193
- :title="$lwLanguage.get('','拣选缺货')"
194
- v-model="lackPopup.show"
195
- >
196
-
197
-
198
- <!-- 箱、托盘显示 -->
199
- <template v-if="isBoxOrLpn">
200
- <lw-sku-info-module v-bind="lackPopup.skuInfo"/>
201
- </template>
202
- <!-- 独立件、非独立件显示 -->
203
- <template v-else>
204
- <div class="lw-global-flex-start-start lw-global-row">
205
-
206
- <div style="flex: 1">
207
- <div class="lw-global-value-bold">{{ lackPopup.skuInfo.skuCode }}</div>
208
- <div class="lw-global-title">{{ lackPopup.skuInfo.skuName }}</div>
209
- </div>
210
-
211
- <lw-tag
212
- plain
213
- round
214
- >{{ lackPopup.skuInfo.skuSizeLabel }}</lw-tag>
215
-
216
- </div>
217
-
218
- <div class="lw-global-flex-between lw-global-row">
219
-
220
- <lw-title-value-cell
221
- :title="$lwLanguage.get('','拣选库位')"
222
- :value="lackPopup.skuInfo.fromLocationCode"
223
- val-bold
224
- :is-row="false"
225
- />
226
-
227
- <div>
228
- <span class="lw-global-title">
229
- {{ $lwLanguage.get('','最小销售量') }}
230
- </span>
231
- <span class="lw-global-value-bold-red">
232
- {{ lackPopup.skuInfo.uomQty }}
233
- </span>
234
- </div>
235
-
236
- </div>
237
-
238
- <lw-title-value-cell
239
- class="lw-global-row"
240
- :title="$lwLanguage.get('','待拣量')"
241
- :value="lackPopup.skuInfo.qty || 0"
242
- val-bold
243
- :is-row="false"
244
- />
245
-
246
- </template>
247
-
248
-
249
- <lw-input
250
- :title="$lwLanguage.get('','缺货量')"
251
- v-model="lackPopup.lackQty"
252
- :get-focus.sync="lackPopup.lackQtyFocus"
253
- type="digit"
254
- @confirm="lackConfirm"
255
- />
256
-
257
- <template #button>
258
- <lw-button @click="lackConfirm"
259
- >{{ $lwLanguage.get('','确认') }}</lw-button>
260
- </template>
261
-
262
- </lw-popup>
263
-
264
- <!-- 异常 -->
265
- <lw-popup
266
- :title="$lwLanguage.get('','异常')"
267
- v-model="abnPopup.show"
268
- @closed="abnPopup.comShow = false"
269
- >
270
-
271
- <lw-inner-abnormal-module
272
- v-if="abnPopup.comShow"
273
- ref="abnormal"
274
- v-bind="abnPopup.skuInfo"
275
- :location="abnPopup.skuInfo.fromLocationCode"
276
- :type="$lwLanguage.get('','在库')"
277
- :ab-type="$lwLanguage.get('','拣选')"
278
- />
279
-
280
- <template #button>
281
- <lw-button @click="abnConfirm"
282
- >{{ $lwLanguage.get('','确认') }}</lw-button>
283
- </template>
284
-
285
- </lw-popup>
286
-
287
- <!-- 去播种 -->
288
- <lw-popup
289
- :title="$lwLanguage.get('','拣选完成 - 提总')"
290
- v-model="sowShow"
291
- :off-btn-fn="backPage"
292
- >
293
-
294
- <div class="lw-global-row lw-data-loot-adn-change-success">
295
- {{ $lwLanguage.get('','当前任务已拣选完成,请移动到播种墙进行播种分拣') }}
296
- </div>
297
-
298
- <lw-title-value-cell
299
- :title="$lwLanguage.get('','拣选容器号')"
300
- :value="pickContainer"
301
- val-red
302
- val-bold
303
- :val-size="16"
304
- />
305
-
306
- <lw-title-value-cell
307
- :title="$lwLanguage.get('','播种墙')"
308
- :value="pickData.sowCode"
309
- val-bold
310
- :val-size="16"
311
- />
312
-
313
- </lw-popup>
314
-
315
- <!-- 集合 -->
316
- <lw-popup
317
- :title="$lwLanguage.get('','拣选完成')"
318
- v-model="summaryShow"
319
- :off-btn-fn="backPage"
320
- >
321
-
322
- <div class="lw-global-row lw-data-loot-adn-change-success">
323
- {{ $lwLanguage.get('','当前任务已拣选完成,请移动到集合口进行分区拣选集合') }}
324
- </div>
325
-
326
- <lw-title-value-cell
327
- :title="$lwLanguage.get('','拣选容器号')"
328
- :value="pickContainer"
329
- val-red
330
- val-bold
331
- :val-size="16"
332
- />
333
-
334
- <div class="lw-global-flex-between">
335
- <lw-title-value-cell
336
- :title="$lwLanguage.get('','集合口')"
337
- :value="pickData.summaryCode"
338
- val-bold
339
- :val-size="16"
340
- />
341
-
342
- <lw-title-value-cell
343
- :title="$lwLanguage.get('','集合位')"
344
- :value="pickData.summaryLineCode"
345
- val-bold
346
- :val-size="16"
347
- />
348
- </div>
349
-
350
- </lw-popup>
351
-
352
- <!-- 独立件 - 集货 -->
353
- <lw-popup
354
- :title="$lwLanguage.get('','拣选完成')"
355
- v-model="aloneShow"
356
- :off-btn-fn="backPage"
357
- >
358
-
359
- <div class="lw-global-row lw-data-loot-adn-change-success">
360
- {{ $lwLanguage.get('','当前任务已拣选完成,请移动到集货位进行集货') }}
361
- </div>
362
-
363
- </lw-popup>
364
-
365
- <!-- 非独立件 -->
366
- <lw-popup
367
- :title="$lwLanguage.get('','拣选完成')"
368
- v-model="notAloneShow"
369
- :off-btn-fn="backPage"
370
- >
371
-
372
- <div class="lw-global-row lw-data-loot-adn-change-success">
373
- {{ $lwLanguage.get('','当前任务已拣选完成,请移动到捆包区:') }}
374
- <span
375
- class="lw-global-value-bold-red"
376
- style="font-size: 16px"
377
- >{{ pickData.pickPackTypeLabel }}</span>
378
- </div>
379
-
380
- <!-- 独立捆包件不显示 -->
381
- <lw-title-value-cell
382
- v-if="pickData.pickMethod !== 'ALONE_PACK'"
383
- :title="$lwLanguage.get('','拣选容器号')"
384
- :value="pickContainer"
385
- val-red
386
- val-bold
387
- :val-size="16"
388
- />
389
-
390
- <div style="text-align: center;margin-top: 10px">
391
- <lw-tag size="large">{{ pickData.pickPackTypeLabel }}</lw-tag>
392
- </div>
393
-
394
- </lw-popup>
395
-
396
-
397
- </div>
398
- </template>
399
-
400
- <script>
401
-
402
- export default {
403
- name: "index",
404
- props:{
405
-
406
- // 当前拣选类型: box-按箱、lpn-按托盘、alone-独立件、notAlone-非独立件
407
- type:{
408
- type: String,
409
- required: true
410
- },
411
-
412
- // 拣选数据
413
- pickData: Object,
414
-
415
- // 当前拣选行的索引
416
- taskIndex:{
417
- type: Number,
418
- default: 0
419
- },
420
-
421
- // 异常提交的函数 - 必须是异步的
422
- abnConfirmFn:{
423
- type: Function,
424
- required: true
425
- },
426
-
427
- // 缺货拣选的函数 - 必须是异步的
428
- lackConfirmFn:{
429
- type: Function,
430
- required: true
431
- },
432
-
433
- // 拣选容器号
434
- pickContainer: String,
435
-
436
- // 获取数据
437
- getData:{
438
- type: Function,
439
- required: true
440
- },
441
-
442
- // 是否显示底部操作按钮
443
- showBottomBar:{
444
- type: Boolean,
445
- default: true
446
- }
447
- },
448
- computed:{
449
- // 完成百分比
450
- percentage(){
451
- return Math.floor(
452
- (this.pickData.pickQty + this.pickData.abnormalQty) /
453
- this.pickData.totalQty * 100
454
- ) || 0
455
- },
456
-
457
- // 当前类型是否为整箱或整托
458
- isBoxOrLpn(){
459
- return ['box', 'lpn'].includes(this.type)
460
- },
461
-
462
- // 拣选方式
463
- pickMethod(){
464
- if (this.pickData.pickUom === 'CASE'){
465
- return this.$lwLanguage.get('','按箱拣选')
466
- }
467
- if (this.pickData.pickUom === 'LPN'){
468
- return this.$lwLanguage.get('','整托盘拣选')
469
- }
470
-
471
- return this.pickData.pickMethodLabel
472
- }
473
- },
474
- data() {
475
- return {
476
- // 选择零件的弹框
477
- skuSelectPopup:{
478
- // 调用选择零件的父类型:缺货-lack,异常-abn
479
- type:'',
480
- show: false,
481
- list:[]
482
- },
483
-
484
- // 拣选缺货的弹框
485
- lackPopup:{
486
- show: false,
487
- skuInfo: [],
488
- lackQty:'',
489
- lackQtyFocus:false,
490
- },
491
-
492
- // 异常的弹框
493
- abnPopup:{
494
- show: false,
495
- comShow:false,
496
- skuInfo: []
497
- },
498
-
499
- // 播种墙
500
- sowShow: false,
501
-
502
- // 集合
503
- summaryShow: false,
504
-
505
- // 独立件
506
- aloneShow: false,
507
-
508
- // 非独立件
509
- notAloneShow: false,
510
-
511
- // 有无打印数据
512
- hasPrint: false
513
- }
514
- },
515
- mounted() {
516
- // TODO 检查是否配置了打印机
517
- },
518
- methods: {
519
-
520
- // 缺货、异常上报成功后状态判断
521
- lackAbnSuccess(res){
522
- if (res.generateStatus){
523
- this.$lwToast.success(
524
- this.$lwLanguage.get('','上报缺货成功')
525
- )
526
- }
527
-
528
- if (res.taskFinishStatus){
529
- this.openPickSuccessPopup()
530
- return
531
- }
532
-
533
- this.getData()
534
- },
535
- // 拣选完成的弹出框
536
- openPickSuccessPopup(){
537
- if (this.pickData.sowCode){
538
- this.sowShow = true
539
- return
540
- }
541
-
542
- if (this.pickData.summaryCode){
543
- this.summaryShow = true
544
- return
545
- }
546
-
547
- if (this.pickData.pickPackType === 'ALONE'){
548
- this.aloneShow = true
549
- return
550
- }
551
-
552
- this.notAloneShow = true
553
- },
554
-
555
-
556
- // 缺货拣选或者异常上报时候是否存在多零件
557
- checkSkuMore(type){
558
-
559
- let data
560
- switch (this.type) {
561
- case 'box':
562
- data = this.pickData.pendingPickCaseList[this.taskIndex]
563
- break;
564
- case 'lpn':
565
- data = this.pickData.pendingPickLpnList[this.taskIndex]
566
- break;
567
- default:
568
- data = {
569
- ...this.pickData.pendingPickLineList[this.taskIndex],
570
- qty:Number(this.pickData.pendingPickLineList[this.taskIndex].totalQty || 0) -
571
- Number(this.pickData.pendingPickLineList[this.taskIndex].pickQty || 0)
572
- }
573
- }
574
-
575
- let skuInfo = []
576
- if (this.isBoxOrLpn){
577
- skuInfo = data.skuList.map(item=>{
578
- item.fromLocationCode = data.fromLocationCode
579
- item.qty = Number(item.qty || 0)
580
- return item
581
- })
582
- }else {
583
- skuInfo = [data]
584
- }
585
-
586
-
587
- if (skuInfo.length === 1){
588
- return {
589
- success: true,
590
- data: skuInfo[0]
591
- }
592
- }else {
593
- this.showSkuSelect(skuInfo, type)
594
- return {
595
- success: false,
596
- data: {}
597
- }
598
- }
599
- },
600
- // 显示需要选择零件的弹框
601
- showSkuSelect(list, type){
602
- this.skuSelectPopup.list = list
603
- this.skuSelectPopup.type = type
604
- this.skuSelectPopup.show = true
605
- },
606
- // 选中零件
607
- skuSelectClick(item){
608
- if (this.skuSelectPopup.type === 'abn'){
609
- this.showAbnPopup(item)
610
- }else {
611
- this.showLackPopup(item)
612
- }
613
- this.skuSelectPopup.show = false
614
- },
615
-
616
-
617
- // 拣选缺货按钮
618
- lackBtn(){
619
- const {success, data} = this.checkSkuMore('lack')
620
-
621
- if (!success) return
622
-
623
- this.showLackPopup(data)
624
- },
625
- // 显示拣选缺货弹框
626
- showLackPopup(data){
627
- this.lackPopup.skuInfo = data
628
- this.lackPopup.show = true
629
- this.lackPopup.lackQtyFocus = true
630
- },
631
- // 确认拣选缺货
632
- lackConfirm(){
633
- const qty = Number(this.lackPopup.lackQty || 0)
634
- if (!qty){
635
- this.lackPopup.lackQtyFocus = true
636
- this.$lwShowErrorMsg(
637
- this.$lwLanguage.get('','缺货量不能为空,且应当是大于0的整数')
638
- )
639
- this.lackPopup.lackQty = ''
640
- return
641
- }
642
-
643
- const sku = this.lackPopup.skuInfo
644
-
645
- // 判断是否大于待拣量
646
- if (Number(sku.qty || 0) < qty){
647
- this.lackPopup.lackQtyFocus = true
648
- this.$lwShowErrorMsg(
649
- this.$lwLanguage.get('','缺货量不能大于待拣量')
650
- )
651
- this.lackPopup.lackQty = ''
652
- return
653
- }
654
-
655
- this.lackConfirmFn({
656
- ...this.lackPopup.skuInfo,
657
- lackQty: qty
658
- }).then((res)=>{
659
-
660
- this.lackAbnSuccess(res)
661
-
662
- this.lackPopup.lackQty = ''
663
- this.lackPopup.show = false
664
- })
665
- },
666
-
667
-
668
- // 异常按钮
669
- abnBtn(){
670
- const {success, data} = this.checkSkuMore('abn')
671
-
672
- if (!success) return
673
-
674
- this.showAbnPopup(data)
675
- },
676
- // 显示拣选缺货弹框
677
- showAbnPopup(data){
678
- this.abnPopup.skuInfo = data
679
- this.abnPopup.comShow = true
680
- this.$nextTick(()=>{
681
- this.abnPopup.show = true
682
- })
683
- },
684
- // 确认异常
685
- abnConfirm(){
686
- const {success, data} = this.$refs.abnormal.getAbnormalData()
687
-
688
- if (!success) return
689
-
690
- this.abnConfirmFn({
691
- ...this.abnPopup.skuInfo,
692
- data
693
- }).then((res)=>{
694
- this.lackAbnSuccess(res)
695
- this.abnPopup.show = false
696
- })
697
- },
698
-
699
-
700
- // 确认拣选按钮
701
- confirmBtn(){
702
- this.$emit('pickConfirm')
703
- },
704
-
705
-
706
- // 返回页面
707
- backPage(){
708
- history.go(-1)
709
- },
710
-
711
-
712
- // 打印箱票
713
- print(res){
714
- // TODO 调用接口获取打印数据
715
- console.log(res)
716
- }
717
-
718
- }
719
- }
720
- </script>
721
-
722
- <style scoped lang="less">
723
- .lw-data-loot-adn-change-success{
724
- font-size: 16px;
725
- text-align: center;
726
- font-weight: bold;
727
- letter-spacing: 1px;
728
- }
729
-
730
-
731
- .lw-data-loot-adn-change-print{
732
- position: fixed;
733
- bottom: 50px;
734
- left: 0;
735
- width: 100%;
736
- height: 50px;
737
- background: #ccc;
738
- padding: 0 5px;
739
- box-sizing: border-box;
740
- overflow: hidden;
741
- transition: all .3s;
742
-
743
- .lw-global-title{
744
- font-size: 12px;
745
- }
746
- }
747
-
748
- </style>
1
+ <!--
2
+ 数据看板及底部操作
3
+ @author: 张文
4
+ @date: 2022-06-16
5
+ -->
6
+ <template>
7
+ <div>
8
+
9
+ <lw-nav-bar :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.gmmvhnxt','执行拣选')"/>
10
+
11
+ <!-- 页主体 -->
12
+ <div class="lw-global-page-box">
13
+
14
+ <!-- 头部数据看板 -->
15
+ <task-info
16
+ :item="pickData"
17
+ >
18
+ <div style="margin-top: 15px">
19
+ <lw-tag
20
+ v-if="pickData.allocationOrder"
21
+ type="danger"
22
+ round
23
+ plain
24
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.tflazism','调拨出库') }}</lw-tag>
25
+ <lw-tag
26
+ v-if="pickData.multiInOne"
27
+ round
28
+ plain
29
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.jzgvyidm','多件一票') }}</lw-tag>
30
+ </div>
31
+ <slot name="look-bottom"></slot>
32
+ </task-info>
33
+
34
+ <!-- 业务自定义 -->
35
+ <slot></slot>
36
+
37
+ </div>
38
+
39
+ <div :style="{height: hasPrint ? '50px' : 0}"></div>
40
+ <div
41
+ :style="{height: hasPrint ? '50px' : 0}"
42
+ class="lw-global-flex-between lw-data-loot-adn-change-print"
43
+ >
44
+ <div style="text-align: center;">
45
+ <div class="lw-global-value-bold">A00001</div>
46
+ <div class="lw-global-title">{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.czojjcua','已打印出库票') }}</div>
47
+ </div>
48
+
49
+ <div style="text-align: center;">
50
+ <div class="lw-global-value-bold">2</div>
51
+ <div class="lw-global-title">{{$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.xuaisfpz', '最小销售数')}}</div>
52
+ </div>
53
+
54
+ <div style="text-align: center;">
55
+ <div class="lw-global-value-bold-red">4</div>
56
+ <div class="lw-global-title">{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.rzgcodrm','商品数') }}</div>
57
+ </div>
58
+
59
+ <lw-button
60
+ style="flex-shrink: 0"
61
+ mini
62
+ round
63
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.jladlkga','补打票') }}</lw-button>
64
+
65
+ </div>
66
+
67
+ <!-- 底部按钮 -->
68
+ <lw-bottom-bar v-if="showBottomBar">
69
+
70
+ <lw-button
71
+ type="last"
72
+ @click="lackBtn"
73
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.odduxuax','拣选缺货') }}</lw-button>
74
+
75
+ <lw-button
76
+ type="normal"
77
+ plain
78
+ @click="abnBtn"
79
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.wrhgkhxs','异常') }}</lw-button>
80
+
81
+ <lw-button
82
+ @click="confirmBtn"
83
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.ubkjkecw','确认拣选') }}</lw-button>
84
+
85
+ </lw-bottom-bar>
86
+
87
+ <!-- 多商品选择 -->
88
+ <lw-popup
89
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.kvpwvbms','选择商品')"
90
+ v-model="skuSelectPopup.show"
91
+ >
92
+
93
+ <div
94
+ class="lw-global-row lw-global-click-style lw-global-flex-start-start"
95
+ v-for="(i,k) in skuSelectPopup.list"
96
+ :key="k"
97
+ @click="skuSelectClick(i)"
98
+ >
99
+
100
+ <div style="flex: 1">
101
+ <lw-sku-info-module v-bind="i"/>
102
+ </div>
103
+
104
+ <van-icon
105
+ style="margin-left: 10px;"
106
+ name="arrow"
107
+ size="18px"
108
+ color="#ccc"
109
+ />
110
+ </div>
111
+
112
+ </lw-popup>
113
+
114
+ <!-- 拣选缺货 -->
115
+ <lw-popup
116
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.odduxuax','拣选缺货')"
117
+ v-model="lackPopup.show"
118
+ >
119
+
120
+
121
+ <!-- 箱、托盘显示 -->
122
+ <template v-if="isBoxOrLpn">
123
+ <lw-sku-info-module v-bind="lackPopup.skuInfo"/>
124
+ </template>
125
+ <!-- 独立件、非独立件显示 -->
126
+ <template v-else>
127
+ <div class="lw-global-flex-start-start lw-global-row">
128
+
129
+ <div style="flex: 1">
130
+ <div class="lw-global-value-bold">{{ lackPopup.skuInfo.skuCode }}</div>
131
+ <div class="lw-global-title">{{ lackPopup.skuInfo.skuName }}</div>
132
+ </div>
133
+
134
+ <lw-tag
135
+ plain
136
+ round
137
+ >{{ lackPopup.skuInfo.skuSizeLabel }}</lw-tag>
138
+
139
+ </div>
140
+
141
+ <div class="lw-global-flex-between lw-global-row">
142
+
143
+ <lw-title-value-cell
144
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.jphugkrl','拣选库位')"
145
+ :value="lackPopup.skuInfo.fromLocationCode"
146
+ val-bold
147
+ :is-row="false"
148
+ />
149
+
150
+ <div>
151
+ <span class="lw-global-title">
152
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.ahlgyadg','最小销售量') }}
153
+ </span>
154
+ <span class="lw-global-value-bold-red">
155
+ {{ lackPopup.skuInfo.uomQty }}
156
+ </span>
157
+ </div>
158
+
159
+ </div>
160
+
161
+ <lw-title-value-cell
162
+ class="lw-global-row"
163
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.nbwstigk','待拣量')"
164
+ :value="lackPopup.skuInfo.qty || 0"
165
+ val-bold
166
+ :is-row="false"
167
+ />
168
+
169
+ </template>
170
+
171
+
172
+ <lw-input
173
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.mcywreph','缺货量')"
174
+ v-model="lackPopup.lackQty"
175
+ :get-focus.sync="lackPopup.lackQtyFocus"
176
+ type="digit"
177
+ @confirm="lackConfirm"
178
+ />
179
+
180
+ <template #button>
181
+ <lw-button @click="lackConfirm"
182
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.pwuturyd','确认') }}</lw-button>
183
+ </template>
184
+
185
+ </lw-popup>
186
+
187
+ <!-- 异常 -->
188
+ <lw-popup
189
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.wrhgkhxs','异常')"
190
+ v-model="abnPopup.show"
191
+ @closed="abnPopup.comShow = false"
192
+ >
193
+
194
+ <lw-inner-abnormal-module
195
+ v-if="abnPopup.comShow"
196
+ ref="abnormal"
197
+ v-bind="abnPopup.skuInfo"
198
+ :location="abnPopup.skuInfo.fromLocationCode"
199
+ :type="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.jguajwtw','在库')"
200
+ :ab-type="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.sveqfqie','拣选')"
201
+ />
202
+
203
+ <template #button>
204
+ <lw-button @click="abnConfirm"
205
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.pwuturyd','确认') }}</lw-button>
206
+ </template>
207
+
208
+ </lw-popup>
209
+
210
+ <!-- 去播种 -->
211
+ <lw-popup
212
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.wkhikwpx','拣选完成 - 提总')"
213
+ v-model="sowShow"
214
+ @closed="backPage"
215
+ >
216
+
217
+ <div class="lw-global-row lw-data-loot-adn-change-success">
218
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.tiqcxxpm','当前任务已拣选完成,请移动到播种墙进行播种分拣') }}
219
+ </div>
220
+
221
+ <lw-title-value-cell
222
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.adpgbpey','拣选容器号')"
223
+ :value="pickContainer"
224
+ val-red
225
+ val-bold
226
+ :val-size="16"
227
+ />
228
+
229
+ <lw-title-value-cell
230
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.nonxcofj','播种墙')"
231
+ :value="pickData.sowCode"
232
+ val-bold
233
+ :val-size="16"
234
+ />
235
+
236
+ </lw-popup>
237
+
238
+ <!-- 集合 -->
239
+ <lw-popup
240
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.ocnaieum','拣选完成')"
241
+ v-model="summaryShow"
242
+ @closed="backPage"
243
+ >
244
+
245
+ <div class="lw-global-row lw-data-loot-adn-change-success">
246
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.iotrhdno','当前任务已拣选完成,请移动到集合口进行分区拣选集合') }}
247
+ </div>
248
+
249
+ <lw-title-value-cell
250
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.adpgbpey','拣选容器号')"
251
+ :value="pickContainer"
252
+ val-red
253
+ val-bold
254
+ :val-size="16"
255
+ />
256
+
257
+ <div class="lw-global-flex-between">
258
+ <lw-title-value-cell
259
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.nicfndjc','集合口')"
260
+ :value="pickData.summaryCode"
261
+ val-bold
262
+ :val-size="16"
263
+ />
264
+
265
+ <lw-title-value-cell
266
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.rnlhotsx','集合位')"
267
+ :value="pickData.summaryLineCode"
268
+ val-bold
269
+ :val-size="16"
270
+ />
271
+ </div>
272
+
273
+ </lw-popup>
274
+
275
+ <!-- 独立件 - 集货 -->
276
+ <lw-popup
277
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.ocnaieum','拣选完成')"
278
+ v-model="aloneShow"
279
+ @closed="backPage"
280
+ >
281
+
282
+ <div class="lw-global-row lw-data-loot-adn-change-success">
283
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.yxomdpgj','当前任务已拣选完成,请移动到集货位进行集货') }}
284
+ </div>
285
+
286
+ </lw-popup>
287
+
288
+ <!-- 非独立件 -->
289
+ <lw-popup
290
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.ocnaieum','拣选完成')"
291
+ v-model="notAloneShow"
292
+ @closed="backPage"
293
+ >
294
+
295
+ <div class="lw-global-row lw-data-loot-adn-change-success">
296
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.usntgvja','当前任务已拣选完成,请移动到捆包区:') }}
297
+ <span
298
+ class="lw-global-value-bold-red"
299
+ style="font-size: 16px"
300
+ >{{ pickData.pickPackTypeLabel }}</span>
301
+ </div>
302
+
303
+ <!-- 独立捆包件不显示 -->
304
+ <lw-title-value-cell
305
+ v-if="pickData.pickMethod !== 'ALONE_PACK'"
306
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.adpgbpey','拣选容器号')"
307
+ :value="pickContainer"
308
+ val-red
309
+ val-bold
310
+ :val-size="16"
311
+ />
312
+
313
+ </lw-popup>
314
+
315
+
316
+ </div>
317
+ </template>
318
+
319
+ <script>
320
+ import taskInfo from "../taskInfo.vue";
321
+
322
+ export default {
323
+ name: "index",
324
+ components:{
325
+ taskInfo
326
+ },
327
+ props:{
328
+
329
+ // 当前拣选类型: box-按箱、lpn-按托盘、alone-独立件、notAlone-非独立件
330
+ type:{
331
+ type: String,
332
+ required: true
333
+ },
334
+
335
+ // 拣选数据
336
+ pickData: Object,
337
+
338
+ // 当前拣选行的索引
339
+ taskIndex:{
340
+ type: Number,
341
+ default: 0
342
+ },
343
+
344
+ // 异常提交的函数 - 必须是异步的
345
+ abnConfirmFn:{
346
+ type: Function,
347
+ required: true
348
+ },
349
+
350
+ // 缺货拣选的函数 - 必须是异步的
351
+ lackConfirmFn:{
352
+ type: Function,
353
+ required: true
354
+ },
355
+
356
+ // 拣选容器号
357
+ pickContainer: String,
358
+
359
+ // 获取数据
360
+ getData:{
361
+ type: Function,
362
+ required: true
363
+ },
364
+
365
+ // 是否显示底部操作按钮
366
+ showBottomBar:{
367
+ type: Boolean,
368
+ default: true
369
+ }
370
+ },
371
+ computed:{
372
+ // 完成百分比
373
+ percentage(){
374
+ return Math.floor(
375
+ (this.pickData.pickQty + this.pickData.abnormalQty) /
376
+ this.pickData.totalQty * 100
377
+ ) || 0
378
+ },
379
+
380
+ // 当前类型是否为整箱或整托
381
+ isBoxOrLpn(){
382
+ return ['box', 'lpn'].includes(this.type)
383
+ },
384
+
385
+ // 拣选方式
386
+ pickMethod(){
387
+ if (this.pickData.pickUom === 'CASE'){
388
+ return this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.gjxccjvg','按箱拣选')
389
+ }
390
+ if (this.pickData.pickUom === 'LPN'){
391
+ return this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.htxwnpou','整托盘拣选')
392
+ }
393
+
394
+ return this.pickData.pickMethodLabel
395
+ }
396
+ },
397
+ data() {
398
+ return {
399
+ // 选择商品的弹框
400
+ skuSelectPopup:{
401
+ // 调用选择商品的父类型:缺货-lack,异常-abn
402
+ type:'',
403
+ show: false,
404
+ list:[]
405
+ },
406
+
407
+ // 拣选缺货的弹框
408
+ lackPopup:{
409
+ show: false,
410
+ skuInfo: [],
411
+ lackQty:'',
412
+ lackQtyFocus:false,
413
+ },
414
+
415
+ // 异常的弹框
416
+ abnPopup:{
417
+ show: false,
418
+ comShow:false,
419
+ skuInfo: []
420
+ },
421
+
422
+ // 播种墙
423
+ sowShow: false,
424
+
425
+ // 集合
426
+ summaryShow: false,
427
+
428
+ // 独立件
429
+ aloneShow: false,
430
+
431
+ // 非独立件
432
+ notAloneShow: false,
433
+
434
+ // 有无打印数据
435
+ hasPrint: false
436
+ }
437
+ },
438
+ mounted() {
439
+ // TODO 检查是否配置了打印机
440
+ },
441
+ methods: {
442
+
443
+ // 缺货、异常上报成功后状态判断
444
+ lackAbnSuccess(res){
445
+ if (res.generateStatus){
446
+ this.$lwToast.success(
447
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.eknxrtel','上报缺货成功')
448
+ )
449
+ }
450
+
451
+ if (res.taskFinishStatus){
452
+ this.openPickSuccessPopup()
453
+ return
454
+ }
455
+
456
+ this.getData()
457
+ },
458
+ // 拣选完成的弹出框
459
+ openPickSuccessPopup(){
460
+ if (this.pickData.sowCode){
461
+ this.sowShow = true
462
+ return
463
+ }
464
+
465
+ if (this.pickData.summaryCode){
466
+ this.summaryShow = true
467
+ return
468
+ }
469
+
470
+ if (this.pickData.pickPackType === 'ALONE'){
471
+ this.aloneShow = true
472
+ return
473
+ }
474
+
475
+ this.notAloneShow = true
476
+ },
477
+
478
+
479
+ // 缺货拣选或者异常上报时候是否存在多商品
480
+ checkSkuMore(type){
481
+
482
+ let data
483
+ switch (this.type) {
484
+ case 'box':
485
+ data = this.pickData.pendingPickCaseList[this.taskIndex]
486
+ break;
487
+ case 'lpn':
488
+ data = this.pickData.pendingPickLpnList[this.taskIndex]
489
+ break;
490
+ default:
491
+ data = {
492
+ ...this.pickData.pendingPickLineList[this.taskIndex],
493
+ qty:Number(this.pickData.pendingPickLineList[this.taskIndex].totalQty || 0) -
494
+ Number(this.pickData.pendingPickLineList[this.taskIndex].pickQty || 0)
495
+ }
496
+ }
497
+
498
+ let skuInfo = []
499
+ if (this.isBoxOrLpn){
500
+ skuInfo = data.skuList.map(item=>{
501
+ item.fromLocationCode = data.fromLocationCode
502
+ item.qty = Number(item.qty || 0)
503
+ return item
504
+ })
505
+ }else {
506
+ skuInfo = [data]
507
+ }
508
+
509
+
510
+ if (skuInfo.length === 1){
511
+ return {
512
+ success: true,
513
+ data: skuInfo[0]
514
+ }
515
+ }else {
516
+ this.showSkuSelect(skuInfo, type)
517
+ return {
518
+ success: false,
519
+ data: {}
520
+ }
521
+ }
522
+ },
523
+ // 显示需要选择商品的弹框
524
+ showSkuSelect(list, type){
525
+ this.skuSelectPopup.list = list
526
+ this.skuSelectPopup.type = type
527
+ this.skuSelectPopup.show = true
528
+ },
529
+ // 选中商品
530
+ skuSelectClick(item){
531
+ if (this.skuSelectPopup.type === 'abn'){
532
+ this.showAbnPopup(item)
533
+ }else {
534
+ this.showLackPopup(item)
535
+ }
536
+ this.skuSelectPopup.show = false
537
+ },
538
+
539
+
540
+ // 拣选缺货按钮
541
+ lackBtn(){
542
+ const {success, data} = this.checkSkuMore('lack')
543
+
544
+ if (!success) return
545
+
546
+ this.showLackPopup(data)
547
+ },
548
+ // 显示拣选缺货弹框
549
+ showLackPopup(data){
550
+ this.lackPopup.skuInfo = data
551
+ this.lackPopup.show = true
552
+ this.lackPopup.lackQtyFocus = true
553
+ },
554
+ // 确认拣选缺货
555
+ lackConfirm(){
556
+ const qty = Number(this.lackPopup.lackQty || 0)
557
+ if (!qty){
558
+ this.lackPopup.lackQtyFocus = true
559
+ this.$lwShowErrorMsg(
560
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.vgtttoca','缺货量不能为空,且应当是大于0的整数')
561
+ )
562
+ this.lackPopup.lackQty = ''
563
+ return
564
+ }
565
+
566
+ const sku = this.lackPopup.skuInfo
567
+
568
+ // 判断是否大于待拣量
569
+ if (Number(sku.qty || 0) < qty){
570
+ this.lackPopup.lackQtyFocus = true
571
+ this.$lwShowErrorMsg(
572
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.components.dataLookAndChange.lqqjxrxd','缺货量不能大于待拣量')
573
+ )
574
+ this.lackPopup.lackQty = ''
575
+ return
576
+ }
577
+
578
+ this.lackConfirmFn({
579
+ ...this.lackPopup.skuInfo,
580
+ lackQty: qty
581
+ }).then((res)=>{
582
+
583
+ this.lackAbnSuccess(res)
584
+
585
+ this.lackPopup.lackQty = ''
586
+ this.lackPopup.show = false
587
+ })
588
+ },
589
+
590
+
591
+ // 异常按钮
592
+ abnBtn(){
593
+ const {success, data} = this.checkSkuMore('abn')
594
+
595
+ if (!success) return
596
+
597
+ this.showAbnPopup(data)
598
+ },
599
+ // 显示拣选缺货弹框
600
+ showAbnPopup(data){
601
+ this.abnPopup.skuInfo = data
602
+ this.abnPopup.comShow = true
603
+ this.$nextTick(()=>{
604
+ this.abnPopup.show = true
605
+ })
606
+ },
607
+ // 确认异常
608
+ abnConfirm(){
609
+ const {success, data} = this.$refs.abnormal.getAbnormalData()
610
+
611
+ if (!success) return
612
+
613
+ this.abnConfirmFn({
614
+ ...this.abnPopup.skuInfo,
615
+ data
616
+ }).then((res)=>{
617
+ this.lackAbnSuccess(res)
618
+ this.abnPopup.show = false
619
+ })
620
+ },
621
+
622
+
623
+ // 确认拣选按钮
624
+ confirmBtn(){
625
+ this.$emit('pickConfirm')
626
+ },
627
+
628
+
629
+ // 返回页面
630
+ backPage(){
631
+ history.go(-1)
632
+ },
633
+
634
+
635
+ // 打印箱票
636
+ print(res){
637
+ // TODO 调用接口获取打印数据
638
+ console.log(res)
639
+ }
640
+
641
+ }
642
+ }
643
+ </script>
644
+
645
+ <style scoped lang="less">
646
+ .lw-data-loot-adn-change-success{
647
+ font-size: 16px;
648
+ text-align: center;
649
+ font-weight: bold;
650
+ letter-spacing: 1px;
651
+ }
652
+
653
+
654
+ .lw-data-loot-adn-change-print{
655
+ position: fixed;
656
+ bottom: 50px;
657
+ left: 0;
658
+ width: 100%;
659
+ height: 50px;
660
+ background: #ccc;
661
+ padding: 0 5px;
662
+ box-sizing: border-box;
663
+ overflow: hidden;
664
+ transition: all .3s;
665
+
666
+ .lw-global-title{
667
+ font-size: 12px;
668
+ }
669
+ }
670
+
671
+ </style>