@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,1330 +1,941 @@
1
- ;<!--
2
- 复核捆包执行页
3
- @author: 张文
4
- @date: 2022-06-30
5
- -->
6
- <template>
7
-
8
- <div>
9
- <lw-nav-bar :title="$lwLanguage.get('','复核捆包')"/>
10
-
11
- <div class="lw-global-page-box">
12
-
13
- <!-- 门店信息 -->
14
- <store-info-sku-list
15
- :item="checkData.boxData"
16
- :customer-code="checkData.containerData.customerCode"
17
- :customer-name="checkData.containerData.customerName"
18
- show-bale-info
19
- >
20
- <div
21
- style="text-align: center"
22
- class="lw-global-row-end lw-global-value-bold-red"
23
- >
24
- {{ $lwLanguage.get('','当前还未执行捆包,请扫描商品号执行捆包') }}
25
- </div>
26
- </store-info-sku-list>
27
-
28
- <!-- 复核操作 -->
29
- <template v-if="!fromAllCheck">
30
-
31
- <div
32
- style="border: solid 2px #D50000"
33
- class="lw-global-model-box"
34
- >
35
-
36
- <lw-input
37
- :title="$lwLanguage.get('','商品号')"
38
- v-model="actionCheck.sku.value"
39
- :get-focus.sync="actionCheck.sku.focus"
40
- auto-clear-val
41
- @confirm="actionCheckSkuConfirm"
42
- />
43
-
44
- <template v-if="Object.keys(actionCheck.skuInfo).length">
45
-
46
- <lw-input
47
- :title="$lwLanguage.get('','复核数量')"
48
- v-model="actionCheck.qty.value"
49
- :get-focus.sync="actionCheck.qty.focus"
50
- type="digit"
51
- @confirm="actionCheckQtyConfirm"
52
- >
53
-
54
- <template #button>
55
- <lw-button
56
- mini
57
- round
58
- @click="actionCheckQtyConfirm"
59
- >{{ $lwLanguage.get('','确认复核') }}</lw-button>
60
- </template>
61
-
62
- </lw-input>
63
-
64
- <lw-sku-info-module
65
- :sku-name="actionCheck.skuInfo.skuName"
66
- :sku-code="actionCheck.skuInfo.skuCode"
67
- :show-right="false"
68
- />
69
-
70
- <div class="lw-global-flex-between lw-global-row-end">
71
-
72
- <lw-title-value-cell
73
- :title="$lwLanguage.get('','最小销售数')"
74
- :value="actionCheck.skuInfo.minSellQty"
75
- val-bold
76
- val-red
77
- :is-row="false"
78
- />
79
-
80
- <div>
81
- <span class="lw-global-title">
82
- {{ $lwLanguage.get('','数量') }}
83
- </span>
84
- <span class="lw-global-value">
85
- <span class="lw-global-value-bold-red">
86
- {{ actionCheck.skuInfo.packQty }}
87
- </span>
88
- / {{ actionCheck.skuInfo.totalQty }}
89
- </span>
90
- </div>
91
-
92
- </div>
93
- </template>
94
-
95
- </div>
96
-
97
- </template>
98
-
99
- <!-- 容器信息 -->
100
- <container-info
101
- style="margin-top: 10px"
102
- :container="checkData.containerData.pickContainer"
103
- :sku-count="checkData.containerData.skuTypeCount"
104
- :over-count="checkData.containerData.packQty"
105
- :wait-count="checkData.containerData.waitPackQty"
106
- :abnormal-count="checkData.containerData.abnormalQty"
107
- :sku-list="checkData.containerData.packSkuList"
108
- :show-abn-btn="!fromAllCheck"
109
- :show-all-check="!fromAllCheck && allowAllCheck"
110
- :abn-confirm="abnConfirm"
111
- />
112
-
113
- </div>
114
-
115
- <lw-bottom-bar-btn-hidden
116
- v-if="checkData.boxData && Object.keys(checkData.boxData).length"
117
- :btn-list="btnList"
118
- />
119
-
120
- <!-- 复核序列号 -->
121
- <lw-popup
122
- :title="$lwLanguage.get('','复核序列号')"
123
- v-model="checkPopup.show"
124
- @closed="checkPopupOff"
125
- >
126
-
127
- <lw-sku-info-module
128
- :sku-name="actionCheck.skuInfo.skuName"
129
- :sku-code="actionCheck.skuInfo.skuCode"
130
- :qty="actionCheck.skuInfo.minSellQty"
131
- :qty-text="$lwLanguage.get('','最小销售量')"
132
- />
133
-
134
- <div class="lw-global-row lw-global-flex-between">
135
-
136
- <lw-title-value-cell
137
- :title="$lwLanguage.get('','待复核量')"
138
- :value="actionCheck.skuInfo.totalQty - actionCheck.skuInfo.packQty"
139
- val-red
140
- val-bold
141
- :is-row="false"
142
- />
143
-
144
- <lw-title-value-cell
145
- :title="$lwLanguage.get('','当前扫描数量')"
146
- :value="checkPopup.nowScanNum"
147
- val-red
148
- val-bold
149
- :is-row="false"
150
- />
151
-
152
- </div>
153
-
154
- <lw-input
155
- :title="$lwLanguage.get('','序列号')"
156
- v-model="checkPopup.sn.value"
157
- :get-focus.sync="checkPopup.sn.focus"
158
- auto-clear-val
159
- @confirm="checkPopupSnConfirm"
160
- />
161
-
162
- <div
163
- class="lw-global-flex-between lw-global-row"
164
- v-for="(i,k) in checkPopup.snList"
165
- :key="k"
166
- >
167
- <div class="col-2">{{ i.sn }}</div>
168
- <div class="col-1">{{ i.qty }}</div>
169
- <div class="col-3">
170
- <van-icon
171
- color="#D50000"
172
- name="clear"
173
- size="20"
174
- @click="checkPopupSnDel(k)"
175
- />
176
- </div>
177
- </div>
178
-
179
- <template #button>
180
-
181
- <lw-button
182
- type="last"
183
- plain
184
- @click="checkPopupRepeatScan"
185
- >
186
- {{ $lwLanguage.get('','重新扫描') }}
187
- </lw-button>
188
-
189
-
190
- <lw-button @click="checkPopupSubmit">
191
- {{ $lwLanguage.get('','确认复核') }}
192
- </lw-button>
193
-
194
- </template>
195
- </lw-popup>
196
-
197
- <!-- 完成捆包弹框 -->
198
- <lw-popup
199
- :title="$lwLanguage.get('','完成捆包')"
200
- v-model="overBalePopup.show"
201
- @closed="overBaleOff"
202
- >
203
- <container-sku-qty
204
- :box-no="checkData.boxData.boxNo"
205
- :pack-qty="checkData.boxData.packQty"
206
- :type-count="checkData.boxData.skuTypeCount"
207
- />
208
-
209
- <lw-title-value-cell
210
- :title="$lwLanguage.get('','标准重量') + '(KG)'"
211
- :value="overBalePopup.data.standardWeight"
212
- val-bold
213
- />
214
-
215
- <lw-input
216
- :title="$lwLanguage.get('','实际重量') + '(KG)'"
217
- v-model="overBalePopup.real.value"
218
- :get-focus.sync="overBalePopup.real.focus"
219
- type="number"
220
- @confirm="realConfirm"
221
- />
222
-
223
- <lw-input
224
- :title="$lwLanguage.get('','捆包包材')"
225
- v-model="overBalePopup.materials.value"
226
- :get-focus.sync="overBalePopup.materials.focus"
227
- :show-bottom-border="false"
228
- @confirm="materialsConfirm"
229
- />
230
-
231
- <div
232
- v-if="overBalePopup.materials.list.length"
233
- class="materials-box"
234
- >
235
- <div
236
- class="lw-global-flex-between lw-global-row-start"
237
- style="padding: 5px 0"
238
- >
239
-
240
- <div class="lw-global-title col-1">
241
- {{ $lwLanguage.get('','包材编码') }}
242
- </div>
243
-
244
- <div class="lw-global-title col-2">
245
- {{ $lwLanguage.get('','包材规格') }}
246
- </div>
247
-
248
- <div class="col-3"></div>
249
-
250
- </div>
251
-
252
- <div style="max-height: 84px;overflow-y: scroll">
253
- <div
254
- class="lw-global-flex-between lw-global-row"
255
- style="padding: 5px 0"
256
- v-for="(i,k) in overBalePopup.materials.list"
257
- :key="k"
258
- >
259
-
260
- <!-- 包材编码 -->
261
- <div class="lw-global-value-bold col-1">{{ i.packMaterialCode }}</div>
262
-
263
- <!-- 尺寸 -->
264
- <div class="lw-global-value-bold col-2">
265
- {{ i.length || '-' }} *
266
- {{ i.width || '-' }} *
267
- {{ i.height || '-' }}
268
- </div>
269
-
270
- <!-- 删除按钮 -->
271
- <div class="col-3">
272
- <van-icon
273
- color="#D50000"
274
- name="clear"
275
- size="20"
276
- @click="delMaterials(k)"
277
- />
278
- </div>
279
-
280
- </div>
281
- </div>
282
-
283
-
284
- </div>
285
-
286
- <template #button>
287
- <lw-button
288
- v-if="overBalePopup.materials.list.length"
289
- @click="overBaleConfirm"
290
- >
291
- {{ $lwLanguage.get('','完成复核(封箱)') }}
292
- </lw-button>
293
- <lw-button
294
- v-else
295
- @click="overBaleConfirm"
296
- >
297
- {{ $lwLanguage.get('','无需包材(封箱)') }}
298
- </lw-button>
299
- </template>
300
-
301
- </lw-popup>
302
-
303
- <!-- 重新复核弹框 -->
304
- <lw-popup
305
- :title="$lwLanguage.get('','重新复核')"
306
- v-model="repeatPopup.show"
307
- @closed="repeatPopup.container.value=''"
308
- >
309
-
310
- <container-sku-qty
311
- :box-no="checkData.boxData.boxNo"
312
- :pack-qty="checkData.boxData.packQty"
313
- :type-count="checkData.boxData.skuTypeCount"
314
- />
315
-
316
- <lw-input
317
- :title="$lwLanguage.get('','商品撤回容器')"
318
- v-model="repeatPopup.container.value"
319
- :get-focus.sync="repeatPopup.container.focus"
320
- :show-bottom-border="false"
321
- required
322
- @confirm="repeatConfirm"
323
- />
324
-
325
- <template #button>
326
- <lw-button @click="repeatConfirm">
327
- {{ $lwLanguage.get('','确认重新复核') }}
328
- </lw-button>
329
- </template>
330
-
331
- </lw-popup>
332
-
333
- <!-- 追加弹框 -->
334
- <lw-popup
335
- :title="$lwLanguage.get('','追加')"
336
- v-model="addPopup.show"
337
- @closed="addPopupOff"
338
- >
339
-
340
- <container-sku-qty
341
- :box-no="checkData.boxData.boxNo"
342
- :pack-qty="checkData.boxData.packQty"
343
- :type-count="checkData.boxData.skuTypeCount"
344
- />
345
-
346
- <lw-input
347
- :title="$lwLanguage.get('','拣选容器号')"
348
- v-model="addPopup.container.value"
349
- :get-focus.sync="addPopup.container.focus"
350
- required
351
- @confirm="addContainerConfirm"
352
- />
353
-
354
- <div
355
- v-if="Object.keys(addPopup.data).length"
356
- class="lw-global-flex-between lw-global-row-end"
357
- >
358
-
359
- <lw-title-value-cell
360
- :title="$lwLanguage.get('','品种数')"
361
- :value="addPopup.data.skuTypeCount"
362
- val-bold
363
- :is-row="false"
364
- />
365
-
366
- <lw-title-value-cell
367
- :title="$lwLanguage.get('','待复核')"
368
- :value="addPopup.data.waitPackQty"
369
- val-bold
370
- :is-row="false"
371
- />
372
-
373
- </div>
374
-
375
- <template #button>
376
-
377
- <lw-button @click="addConfirm">
378
- {{ $lwLanguage.get('','确认追加') }}
379
- </lw-button>
380
-
381
- </template>
382
-
383
- </lw-popup>
384
-
385
- <!-- 剔除商品 -->
386
- <lw-popup
387
- :title="$lwLanguage.get('','剔除商品')"
388
- v-model="delSkuPopup.show"
389
- @closed="delSkuOff"
390
- >
391
-
392
- <container-sku-qty
393
- :box-no="checkData.boxData.boxNo"
394
- :pack-qty="checkData.boxData.packQty"
395
- :type-count="checkData.boxData.skuTypeCount"
396
- />
397
-
398
- <!-- 商品条码 -->
399
- <lw-input
400
- :title="$lwLanguage.get('','商品条码')"
401
- v-model="delSkuPopup.sku.value"
402
- :get-focus.sync="delSkuPopup.sku.focus"
403
- required
404
- @confirm="delSkuSkuCodeConfirm"
405
- />
406
-
407
- <!-- 序列号 -->
408
- <lw-input
409
- v-if="delSkuPopup.isSn"
410
- :title="$lwLanguage.get('','序列号')"
411
- v-model="delSkuPopup.sn.value"
412
- :get-focus.sync="delSkuPopup.sn.focus"
413
- required
414
- rule-key="delSkuSn"
415
- rule-value-key="sn"
416
- @confirm="delSkuSnConfirm"
417
- />
418
-
419
- <!-- 剔除数量 -->
420
- <lw-input
421
- :title="$lwLanguage.get('','剔除数量')"
422
- v-model="delSkuPopup.qty.value"
423
- :get-focus.sync="delSkuPopup.qty.focus"
424
- type="digit"
425
- :disabled="delSkuPopup.isSn"
426
- required
427
- @confirm="delSkuQtyConfirm"
428
- >
429
- <template #button>
430
- <lw-tag
431
- v-if="delSkuPopup.isSn"
432
- type="danger"
433
- plain
434
- round
435
- >{{ $lwLanguage.get('','不可修改') }}</lw-tag>
436
- </template>
437
- </lw-input>
438
-
439
- <!-- 商品信息 -->
440
- <lw-sku-info-module
441
- :sku-code="delSkuPopup.data.skuCode"
442
- :sku-name="delSkuPopup.data.skuName"
443
- :qty="delSkuPopup.data.minSellQty"
444
- :qty-text="$lwLanguage.get('','最小销售数')"
445
- is-row
446
- />
447
-
448
- <!-- 剔除容器号 -->
449
- <lw-input
450
- :title="$lwLanguage.get('','容器号')"
451
- v-model="delSkuPopup.container.value"
452
- :get-focus="delSkuPopup.container.focus"
453
- :show-bottom-border="false"
454
- :placeholder="$lwLanguage.get('','剔除商品放入的容器号')"
455
- required
456
- @confirm="delSkuConfirm"
457
- />
458
-
459
- <template #button>
460
-
461
- <lw-button @click="delSkuConfirm">
462
- {{ $lwLanguage.get('','确认剔除') }}
463
- </lw-button>
464
-
465
- </template>
466
-
467
- </lw-popup>
468
-
469
- <!-- 全部拦截 -->
470
- <all-block
471
- v-model="allBlockShow"
472
- :container="checkData.containerData.pickContainer"
473
- :type-count="checkData.containerData.skuTypeCount"
474
- :qty="checkData.containerData.blockQty"
475
- @confirm="allBlockConfirm"
476
- />
477
-
478
- <!-- 部分拦截 -->
479
- <part-block
480
- v-model="partBlockPopup.show"
481
- :pick-container="partBlockPopup.data.pickContainer"
482
- :type-count="partBlockPopup.data.skuTypeCount"
483
- :sku-qty="partBlockPopup.data.skuQty"
484
- :block-data="partBlockPopup.data.blockData"
485
- @confirm="partBlockConfirm"
486
- />
487
-
488
- </div>
489
-
490
- </template>
491
-
492
- <script>
493
- import containerInfo from './../../components/containerInfo/index.vue'
494
- import storeInfoSkuList from './../../components/storeInfoSkuList/index.vue'
495
- import containerSkuQty from './../../components/containerSkuQty/index.vue'
496
- import allBlock from './../../components/allBlock/index.vue'
497
- import partBlock from './../../components/partBlock/index.vue'
498
- import {
499
- projectWmsContainerWholePack,
500
- projectWmsMixPackQueryPackData
501
- } from "../../../../../../api/outbound/bale/checkBale/allCheck";
502
- import {
503
- projectWmsMixPackAddContainerCheck,
504
- projectWmsMixPackCheckSn,
505
- projectWmsMixPackCloseBox,
506
- projectWmsMixPackComputeBoxSuggest,
507
- projectWmsMixPackContainerSkuBlock,
508
- projectWmsMixPackContainerWholeBlock,
509
- projectWmsMixPackDeleteSku,
510
- projectWmsMixPackDeleteSkuWithSn,
511
- projectWmsMixPackRePack, projectWmsMixPackSubmitAbnormal,
512
- projectWmsMixPackSubmitSku,
513
- projectWmsMixPackSubmitWithSn,
514
- projectWmsOutbondQueryPackMaterial
515
- } from "../../../../../../api/outbound/bale/checkBale/action";
516
-
517
- export default {
518
- name: "lwOutboundBaleActionPage",
519
- components:{
520
- containerInfo,
521
- storeInfoSkuList,
522
- containerSkuQty,
523
- allBlock,
524
- partBlock,
525
- },
526
- data() {
527
- return {
528
-
529
- // 复核的数据
530
- checkData:{
531
- "boxData": {
532
- "boxNo": "BOX-001",
533
- "boxId": 0,
534
- "customerCode": "KH001",
535
- "customerName": "客户001",
536
- "skuTypeCount": 0,
537
- "packQty": 10,
538
- "skuList": [
539
- {
540
- "skuId": 0,
541
- "skuCode": "LJ-001",
542
- "skuName": "零件001",
543
- "qty": 5,
544
- "minSellQty": 0,
545
- "needHandleSn": false
546
- }
547
- ],
548
- "packSnList": [
549
- {
550
- "sn": "",
551
- "qty": 0
552
- }
553
- ]
554
- },
555
- "containerData": {
556
- "pickContainer": "RQ-001",
557
- "canWholePack": false,
558
- "skuTypeCount": 2,
559
- "packQty": 4,
560
- "waitPackQty": 6,
561
- "abnormalQty": 0,
562
- "blockStatus": "",
563
- "blockQty": 0,
564
- "packSkuList": [
565
- {
566
- "skuId": 0,
567
- "skuCode": "LJ-001",
568
- "skuName": "零件001",
569
- "minSellQty": 0,
570
- "totalQty": 10,
571
- "packQty": 4,
572
- "locationId": 0,
573
- "locationCode": "",
574
- "needHandleSn": false
575
- }
576
- ]
577
- }
578
- },
579
-
580
- // 是否是全部复核进入
581
- fromAllCheck: true,
582
-
583
- // 允许全部复核
584
- allowAllCheck: false,
585
-
586
- // 开始复核
587
- actionCheck:{
588
- sku:{
589
- value: '',
590
- focus: false
591
- },
592
- qty:{
593
- value: '',
594
- focus: false
595
- },
596
-
597
- skuInfo:{}
598
- },
599
-
600
- // 序列号复核弹框
601
- checkPopup:{
602
- show: true,
603
- // 当前扫描量
604
- nowScanNum: 0,
605
- sn:{
606
- value:'',
607
- focus: false
608
- },
609
- snList: []
610
- },
611
-
612
-
613
- // 完成捆包弹框
614
- overBalePopup:{
615
- show: false,
616
- // 实际重量
617
- real:{
618
- value: '',
619
- focus: false
620
- },
621
- // 包材输入框
622
- materials:{
623
- value:'',
624
- focus:false,
625
- list:[]
626
- },
627
- data:{}
628
- },
629
-
630
- // 重新复核
631
- repeatPopup:{
632
- show: false,
633
- container:{
634
- value: '',
635
- focus: false
636
- }
637
- },
638
-
639
- // 追加
640
- addPopup:{
641
- show: false,
642
- container:{
643
- value: '',
644
- focus: false
645
- },
646
- data:{}
647
- },
648
-
649
- // 剔除商品
650
- delSkuPopup:{
651
- show: false,
652
- // 是否需要扫描sn
653
- isSn: false,
654
- // 商品号
655
- sku: {
656
- value: '',
657
- focus: false
658
- },
659
- // 序列号
660
- sn: {
661
- value: '',
662
- focus: false
663
- },
664
- // 数量
665
- qty: {
666
- value: '',
667
- focus: false
668
- },
669
- // 剔除容器号
670
- container: {
671
- value: '',
672
- focus: false
673
- },
674
- data:{}
675
- },
676
-
677
- // 是否全部拦截
678
- allBlockShow: true,
679
-
680
- // 部分拦截弹框
681
- partBlockPopup:{
682
- show: false,
683
- data:{
684
- pickContainer:'',
685
- skuTypeCount:'',
686
- skuQty:'',
687
- blockData:{}
688
- }
689
- },
690
- }
691
- },
692
- computed:{
693
- // 底部按钮
694
- btnList(){
695
- return [
696
- {
697
- text: this.$lwLanguage.get('','完成复核(封箱)'),
698
- click: this.overBaleOpen
699
- },
700
- {
701
- text: this.$lwLanguage.get('','重新复核'),
702
- click: this.repeatOpen
703
- },
704
- {
705
- text: this.$lwLanguage.get('','剔除商品'),
706
- click: this.delSkuOpen
707
- },
708
- {
709
- text: this.$lwLanguage.get('','追加'),
710
- click: this.addSkuOpen
711
- }
712
- ]
713
-
714
- // 是否显示追加商品按钮
715
- /*if (this.showAddBtn){
716
- list.push({
717
- text: this.$lwLanguage.get('','追加'),
718
- click: this.addSkuOpen
719
- })
720
- }*/
721
-
722
- // return list
723
- }
724
- },
725
- mounted() {
726
- const query = this.$route.query
727
- if (query.lwType === 'allCheck'){
728
- this.fromAllCheck = true
729
- this.allowAllCheck = false
730
-
731
- projectWmsContainerWholePack({
732
- pickContainer: query.lwContainer
733
- }).then(res=>{
734
- this.checkBlock(res)
735
-
736
- this.checkData = res
737
- })
738
- return
739
- }
740
-
741
- this.getData()
742
- },
743
- methods: {
744
- // 获取数据
745
- getData(){
746
- return new Promise((PR,PE)=>{
747
-
748
- projectWmsMixPackQueryPackData({
749
- queryContainer: this.$route.query.lwContainer
750
- }).then(res=>{
751
-
752
- if (res.containerData.blockStatus === '200') this.allBlockShow = true
753
-
754
- this.checkData = res
755
-
756
- PR()
757
- }).catch(()=>{
758
- PE()
759
- history.go(-1)
760
- })
761
- })
762
- },
763
-
764
- // 开始复核 - 商品号确认
765
- actionCheckSkuConfirm(val,{data}){
766
-
767
- if (
768
- Object.keys(this.actionCheck.skuInfo).length &&
769
- data.key !== this.actionCheck.skuInfo.skuCode
770
- ){
771
- this.actionCheck.sku.focus = true
772
- this.$lwShowErrorMsg(
773
- this.$lwLanguage.get(
774
- '',
775
- '当前扫描商品与上一次扫描商品不一致!如需更换商品,请完成上次商品复核或点击重新扫描按钮')
776
- )
777
- return
778
- }
779
-
780
- for (let i of this.checkData.containerData.packSkuList){
781
-
782
- if (i.skuCode === data.key){
783
-
784
- this.actionCheck.skuInfo = {
785
- ...i,
786
- waitQty: i.totalQty - i.packQty
787
- }
788
-
789
- if(i.needHandleSn){
790
- this.checkPopup.show = true
791
- this.checkPopup.sn.focus = true
792
- this.getCheckPopupNum()
793
- }else {
794
- this.actionCheck.qty.value += Number(data.qty || 0)
795
-
796
- if (this.actionCheck.qty.value === this.actionCheck.skuInfo.waitQty){
797
- this.actionCheckQtyConfirm()
798
- }
799
- }
800
- return
801
- }
802
-
803
- }
804
-
805
- this.actionCheck.sku.focus = true
806
- this.$lwShowErrorMsg(
807
- this.$lwLanguage.get('','当前商品不在拣选容器中')
808
- )
809
- this.actionCheck.sku.value = ''
810
-
811
- },
812
- // 开始复核 - 商品数量确认
813
- actionCheckQtyConfirm(){
814
-
815
- const qty = Number(this.actionCheck.qty.value ||0)
816
-
817
- if (!qty){
818
- this.actionCheck.qty.focus = true
819
- this.$lwShowErrorMsg(
820
- this.$lwLanguage.get('','复核数不能为空,且应当是大于0的整数')
821
- )
822
- return
823
- }
824
-
825
- if (qty > this.actionCheck.skuInfo.waitQty){
826
- this.actionCheck.qty.focus = true
827
- this.$lwShowErrorMsg(
828
- this.$lwLanguage.get('','复核数不能大于待复核数')
829
- )
830
- return
831
- }
832
-
833
-
834
- projectWmsMixPackSubmitSku({
835
- boxId: this.checkData.containerData.boxId,
836
- pickContainer: this.checkData.containerData.pickContainer,
837
- skuId: this.actionCheck.skuInfo.skuId,
838
- currentPackQty: qty
839
- }).then(res=>{
840
-
841
- this.checkData = res
842
-
843
- if (res.containerPackFinish){
844
- this.$lwToast.success(
845
- this.$lwLanguage.get('','当前容器已复核完毕')
846
- )
847
-
848
- this.overBaleOpen()
849
-
850
- }
851
-
852
- this.actionCheck.sku.value = ''
853
- this.actionCheck.sku.focus = true
854
- this.actionCheck.qty.focus = ''
855
- this.actionCheck.skuInfo = {}
856
-
857
- this.checkBlock(res)
858
- })
859
- },
860
-
861
- // 复核序列号 - 当前复核量
862
- getCheckPopupNum(){
863
- let num = 0
864
- this.checkPopup.snList.forEach(item=>{
865
- num += Number(item.qty || 0)
866
- })
867
- this.checkPopup.nowScanNum = num
868
-
869
- if (num === this.actionCheck.skuInfo.waitQty){
870
- this.checkPopupSubmit()
871
- }
872
-
873
- },
874
- // 复核序列号 - 确认
875
- checkPopupSnConfirm(val,{data}){
876
- const sn = data.key
877
- if (!sn){
878
- this.checkPopup.sn.focus = true
879
- this.$lwShowErrorMsg(
880
- this.$lwLanguage.get('','序列号不能为空')
881
- )
882
- return
883
- }
884
-
885
- projectWmsMixPackCheckSn({
886
- pickContainer:'',
887
- skuId: this.actionCheck.skuInfo.skuId,
888
- sn,
889
- qty: data.qty || 0
890
- }).then(res=>{
891
- this.checkPopup.snList.unshift(res)
892
- this.getCheckPopupNum()
893
- })
894
- },
895
- // 复核序列号 - 删除
896
- checkPopupSnDel(index){
897
-
898
- this.checkPopup.snList.splice(index, 1)
899
- this.getCheckPopupNum()
900
-
901
- },
902
- // 复核序列号 - 提交数据
903
- checkPopupSubmit(){
904
-
905
- const snList = this.checkPopup.snList
906
- if (!snList.length){
907
- this.checkPopup.sn.focus = true
908
- this.$lwShowErrorMsg(
909
- this.$lwLanguage.get('','请输入或扫描需要复核的序列号')
910
- )
911
- return
912
- }
913
-
914
- projectWmsMixPackSubmitWithSn({
915
- boxId: this.checkData.containerData.boxId,
916
- pickContainer: this.checkData.containerData.pickContainer,
917
- skuId: this.actionCheck.skuInfo.skuId,
918
- snList
919
- }).then(res=>{
920
- this.checkData = res
921
-
922
- if (res.containerPackFinish){
923
- this.$lwToast.success(
924
- this.$lwLanguage.get('','当前容器已复核完毕')
925
- )
926
-
927
- this.overBaleOpen()
928
- }
929
-
930
- this.checkPopup.show = false
931
-
932
- this.checkBlock(res)
933
- })
934
- },
935
- // 复核序列号 - 重新扫描
936
- checkPopupRepeatScan(){
937
- this.$dialog.confirm({
938
- title: this.$lwLanguage.get('','警告'),
939
- message: this.$lwLanguage.get('','当前扫描数据将会被清空')
940
- }).then(()=>{
941
- this.checkPopup.sn = ''
942
- this.snList = []
943
- this.getCheckPopupNum()
944
- }).catch(()=>{})
945
- },
946
- // 复核序列号 - 弹框关闭
947
- checkPopupOff(){
948
- this.checkPopup.sn = ''
949
- this.snList = []
950
- this.actionCheck.sku.value = ''
951
- this.actionCheck.skuInfo = {}
952
- },
953
-
954
-
955
- // 完成捆包 - 打开弹框
956
- overBaleOpen(){
957
- projectWmsMixPackComputeBoxSuggest({
958
- boxId: this.checkData.boxData.boxId
959
- }).then(res=>{
960
- this.overBalePopup.data = res
961
- this.overBalePopup.show = true
962
- this.overBalePopup.real.focus = true
963
- })
964
- },
965
- // 完成捆包 - 实际重量确认
966
- realConfirm(){
967
- if (this.realCheck()) this.overBalePopup.materials.focus = true
968
- },
969
- // 完成捆包 - 实际重量校验
970
- realCheck(){
971
- const num = Number(this.overBalePopup.real.value || 0)
972
-
973
- if (!num) return true
974
-
975
- const data = this.overBalePopup.data
976
- if (data.weightFloor > num){
977
- this.overBalePopup.real.focus = true
978
- this.$lwShowErrorMsg(
979
- this.$lwLanguage.get('','实际重量不能低于标准重量下限') + ':' + data.weightFloor
980
- )
981
- return false
982
- }
983
- if (data.weightLimit < num){
984
- this.overBalePopup.real.focus = true
985
- this.$lwShowErrorMsg(
986
- this.$lwLanguage.get('','实际重量不能大于标准重量上限') + ':' + data.weightLimit
987
- )
988
- return false
989
- }
990
-
991
- return true
992
- },
993
- // 完成捆包 - 包材确认
994
- materialsConfirm(){
995
- const materials = this.overBalePopup.materials.value
996
- if (!materials){
997
- this.overBalePopup.materials.focus = true
998
- this.$lwShowErrorMsg(
999
- this.$lwLanguage.get('','捆包包材不能为空')
1000
- )
1001
- return
1002
- }
1003
-
1004
-
1005
- projectWmsOutbondQueryPackMaterial({
1006
- packMaterialCode: materials
1007
- }).then(res=>{
1008
- this.overBalePopup.materials.list.unshift(res)
1009
- })
1010
- },
1011
- // 完成捆包 - 删除包材
1012
- delMaterials(index){
1013
- this.overBalePopup.materials.list.splice(index, 1)
1014
- },
1015
- // 完成捆包 - 封箱
1016
- overBaleConfirm(){
1017
- if (!this.realCheck()) return
1018
-
1019
- // 通过包材长度判断是否是有包材还是无包材封箱
1020
- const list = this.overBalePopup.materials.list
1021
-
1022
- // 获取每一个包材的使用量
1023
- let obj = {}
1024
- list.forEach(item=>{
1025
- if (obj[item.packMaterialId]){
1026
- obj[item.packMaterialId] = obj[item.packMaterialId] + 1
1027
- }else {
1028
- obj[item.packMaterialId] = 1
1029
- }
1030
- })
1031
- let packMaterialList = []
1032
- for (let i in obj){
1033
- packMaterialList.push({
1034
- packMaterialId: i,
1035
- qty: obj[i]
1036
- })
1037
- }
1038
-
1039
- projectWmsMixPackCloseBox({
1040
- boxId: this.boxId,
1041
- packWeight: this.overBalePopup.real.value || this.overBalePopup.data.standardWeight,
1042
- packMaterialList
1043
- }).then(()=>{
1044
- this.$lwToast.success(
1045
- this.$lwLanguage.get('','捆包成功')
1046
- )
1047
- history.go(-1)
1048
- })
1049
-
1050
- },
1051
- // 完成捆包 - 弹框关闭
1052
- overBaleOff(){
1053
- this.overBalePopup.materials.value = ''
1054
- this.overBalePopup.materials.list = []
1055
- this.overBalePopup.real.value = ''
1056
- this.overBalePopup.data = {}
1057
- },
1058
-
1059
- // 重新复核 - 打开弹框
1060
- repeatOpen(){
1061
- this.repeatPopup.show = true
1062
- this.repeatPopup.container.focus = true
1063
- },
1064
- // 重新复核 - 确认
1065
- repeatConfirm(){
1066
- const container = this.repeatPopup.container.value
1067
- if (!container){
1068
- this.repeatPopup.container.focus = true
1069
- this.$lwShowErrorMsg(
1070
- this.$lwLanguage.get('','商品撤回容器号不能为空')
1071
- )
1072
- return
1073
- }
1074
-
1075
- projectWmsMixPackRePack({
1076
- boxId: this.checkData.boxData.boxId,
1077
- toPickContainer: container
1078
- }).then(()=>{
1079
- this.$lwToast.success(
1080
- this.$lwLanguage.get('','操作成功')
1081
- )
1082
- history.go(-1)
1083
- })
1084
- },
1085
-
1086
- // 追加 - 弹框打开
1087
- addSkuOpen(){
1088
- this.addPopup.container.focus = true
1089
- this.addPopup.show = true
1090
- },
1091
- // 追加 - 确认拣选容器号
1092
- addContainerConfirm(){
1093
- const container = this.addPopup.container.value
1094
- if (!container){
1095
- this.addPopup.container.focus = true
1096
- this.$lwShowErrorMsg(
1097
- this.$lwLanguage.get('','拣选容器号不能为空')
1098
- )
1099
- return
1100
- }
1101
-
1102
- projectWmsMixPackAddContainerCheck({
1103
- boxId: this.checkData.boxData.boxId,
1104
- addPickContainer: container
1105
- }).then(res=>{
1106
- this.addPopup.data = res
1107
- })
1108
- },
1109
- // 追加 - 确认追加
1110
- addConfirm(){
1111
- this.checkData.containerData = this.$lwDeepCopy(this.addPopup.data)
1112
- this.addPopup.show = false
1113
- },
1114
- // 追加 - 弹框关闭
1115
- addPopupOff(){
1116
- this.addPopup.container.value = ''
1117
- this.addPopup.data = {}
1118
- },
1119
-
1120
- // 剔除商品 - 打开弹框
1121
- delSkuOpen(){
1122
- this.delSkuPopup.show = true
1123
- this.delSkuPopup.sku.focus = true
1124
- },
1125
- // 剔除商品 - 商品号确认
1126
- delSkuSkuCodeConfirm(val, {data}){
1127
-
1128
- for (let i of this.checkData.boxData.skuList) {
1129
- if (i.skuCode === data.key){
1130
- this.delSkuPopup.data = i
1131
-
1132
- // 判断是否需要sn
1133
- if (i.needHandleSn){
1134
- this.delSkuPopup.isSn = true
1135
-
1136
- // 看看条码是否解析出了sn
1137
- if (data.sn){
1138
- this.delSkuPopup.sn.value = data.sn
1139
- this.delSkuSnConfirm(data.sn,{data:{key:data.sn}})
1140
- }else {
1141
- this.delSkuPopup.sn.focus = ''
1142
- }
1143
-
1144
- }else {
1145
- this.delSkuPopup.isSn = false
1146
- this.delSkuPopup.qty.focus = true
1147
- }
1148
- return
1149
- }
1150
- }
1151
-
1152
-
1153
- this.delSkuPopup.sku.focus = true
1154
- this.$lwShowErrorMsg(
1155
- this.$lwLanguage.get('','当前商品不在捆包箱中')
1156
- )
1157
- this.delSkuPopup.sku.value = ''
1158
- },
1159
- // 剔除商品 - 序列号确认
1160
- delSkuSnConfirm(val, {data}){
1161
-
1162
- for (let i of this.checkData.boxData.packSnList) {
1163
- if (i.sn === data.key){
1164
- this.delSkuPopup.qty.value = i.qty
1165
- this.delSkuQtyConfirm()
1166
- return
1167
- }
1168
- }
1169
-
1170
- this.delSkuPopup.sn.focus = true
1171
- this.$lwShowErrorMsg(
1172
- this.$lwLanguage.get('','当前商品序列号不在捆包箱中')
1173
- )
1174
- this.delSkuPopup.sn.value = ''
1175
-
1176
- },
1177
- // 剔除商品 - 剔除数量确认
1178
- delSkuQtyConfirm(){
1179
- if(this.delSkuQtyCheck()) this.delSkuPopup.container.focus = true
1180
- },
1181
- // 剔除商品 - 剔除数量校验
1182
- delSkuQtyCheck(){
1183
- const qty = Number(this.delSkuPopup.qty.value || 0)
1184
-
1185
- if(!qty){
1186
- this.delSkuPopup.qty.focus = true
1187
- this.$lwShowErrorMsg(
1188
- this.$lwLanguage.get('','剔除数量不能为空,且应当是大于0的整数')
1189
- )
1190
- return false
1191
- }
1192
-
1193
- if (qty%this.delSkuPopup.data.minSellQty !== 0){
1194
- this.delSkuPopup.qty.focus = true
1195
- this.$lwShowErrorMsg(
1196
- this.$lwLanguage.get('','剔除数量必须是最小销售数的整数倍')
1197
- )
1198
- this.delSkuPopup.qty.value = ''
1199
- return false
1200
- }
1201
-
1202
- return true
1203
-
1204
- },
1205
- // 剔除商品 - 确认剔除
1206
- delSkuConfirm(){
1207
- const data = this.delSkuPopup
1208
- const container = data.container.value
1209
-
1210
- if (!container){
1211
- this.delSkuPopup.container.focus = true
1212
- this.$lwShowErrorMsg(
1213
- this.$lwLanguage.get('','剔除容器号不能为空')
1214
- )
1215
- return
1216
- }
1217
-
1218
- // 判断当前是需要sn还是不需要
1219
- const fn = this.delSkuPopup.isSn ?
1220
- projectWmsMixPackDeleteSkuWithSn :
1221
- projectWmsMixPackDeleteSku
1222
-
1223
- fn({
1224
- boxId: this.checkData.boxData.boxId,
1225
- deleteToContainer: container,
1226
- skuId: data.data.skuId,
1227
- // 按唯一号剔除需要
1228
- snList:[{sn: data.sn.value, qty: data.qty.value}],
1229
- // 按商品剔除需要
1230
- currentDeleteQty: data.qty.value
1231
- }).then(res=>{
1232
- if (res.boxDelAll){
1233
- this.$lwToast.success(
1234
- this.$lwLanguage.get('','当前箱已全部剔除')
1235
- )
1236
- history.go(-1)
1237
- return
1238
- }
1239
-
1240
- this.$lwToast.success(
1241
- this.$lwLanguage.get('','剔除成功')
1242
- )
1243
- this.getData()
1244
- this.delSkuPopup.show = false
1245
- })
1246
- },
1247
- // 剔除商品 - 弹框关闭
1248
- delSkuOff(){
1249
- this.delSkuPopup.sku.value = ''
1250
- this.delSkuPopup.sn.value = ''
1251
- this.delSkuPopup.qty.value = ''
1252
- this.delSkuPopup.container.value = ''
1253
- this.delSkuPopup.isSn = false
1254
- this.delSkuPopup.data = {}
1255
- },
1256
-
1257
- // 校验是否拦截
1258
- checkBlock(res){
1259
- if (res.containerBlockData.blockStatus === '200') this.allBlockShow = true
1260
- if (res.containerBlockData.blockStatus === '100') {
1261
- this.partBlockPopup.data={
1262
- pickContainer: res.containerData.pickContainer,
1263
- skuTypeCount:res.containerData.skuTypeCount,
1264
- skuQty:res.containerData.packQty,
1265
- blockData:res.containerBlockData.blockSkuList[0]
1266
- }
1267
- }
1268
- },
1269
- // 全部拦截
1270
- allBlockConfirm(){
1271
- projectWmsMixPackContainerWholeBlock({
1272
- pickContainer: this.checkData.containerData.pickContainer
1273
- }).then(()=>{
1274
- this.$lwToast.success(
1275
- this.$lwLanguage.get('','已拦截')
1276
- )
1277
- history.go(-1)
1278
- })
1279
- },
1280
- // 部分拦截
1281
- async partBlockConfirm(data){
1282
-
1283
- const res = await projectWmsMixPackContainerSkuBlock({
1284
- pickContainer: data.container,
1285
- currentBlockQty: data.qty,
1286
- skuId: ''
1287
- })
1288
-
1289
- await this.getData()
1290
-
1291
- if (res.containerPackFinish){
1292
- this.$lwToast.success(
1293
- this.$lwLanguage.get('','当前容器已全部捆包')
1294
- )
1295
- this.overBaleOpen()
1296
- }
1297
- },
1298
-
1299
- // 异常确认
1300
- abnConfirm(data){
1301
- return projectWmsMixPackSubmitAbnormal({
1302
- pickContainer: this.checkData.containerData.pickContainer,
1303
- ...data
1304
- })
1305
- }
1306
- }
1307
- }
1308
- </script>
1309
-
1310
- <style scoped lang="less">
1311
- .materials-box{
1312
- margin-top: 5px;
1313
- padding: 0 5px;
1314
- border-radius: 5px;
1315
- border: solid 1px #f0f0f0;
1316
- }
1317
-
1318
- .col-1{
1319
- width: 35%;
1320
- flex-shrink: 0;
1321
- }
1322
- .col-2{
1323
- width: 55%;
1324
- flex-shrink: 0;
1325
- }
1326
- .col-3{
1327
- width: 24px;
1328
- flex-shrink: 0;
1329
- }
1330
- </style>
1
+ ;<!--
2
+ 复核捆包执行页
3
+ @author: 张文
4
+ @date: 2022-06-30
5
+ -->
6
+ <template>
7
+
8
+ <div>
9
+ <lw-nav-bar :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.vbefbsau','复核捆包')"/>
10
+
11
+ <div class="lw-global-page-box">
12
+
13
+ <!-- 门店信息 -->
14
+ <store-info-sku-list
15
+ v-if="Object.keys(packBox).length || Object.keys(packContainer).length"
16
+ :item="packBox"
17
+ :customer-code="customerCode"
18
+ :customer-name="customerName"
19
+ >
20
+ <div
21
+ style="text-align: center"
22
+ class="lw-global-row-end lw-global-value-bold-red"
23
+ >
24
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.iqtdtjed','当前还未执行捆包,请扫描商品号执行捆包') }}
25
+ </div>
26
+ </store-info-sku-list>
27
+
28
+ <!-- 复核操作 -->
29
+ <template v-if="!fromAllCheck">
30
+
31
+ <div
32
+ v-if="Object.keys(packContainer).length"
33
+ class="lw-global-model-box lw-global-border-2px"
34
+ >
35
+
36
+ <lw-input
37
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.mfghjxey','商品号')"
38
+ v-model="actionCheck.sku.value"
39
+ :get-focus.sync="actionCheck.sku.focus"
40
+ auto-clear-val
41
+ rule-key="sku"
42
+ @confirm="actionCheckSkuConfirm"
43
+ />
44
+
45
+ <template v-if="Object.keys(actionCheck.skuInfo).length">
46
+
47
+ <lw-input
48
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.exgcjfus','复核数量')"
49
+ v-model="actionCheck.qty.value"
50
+ :get-focus.sync="actionCheck.qty.focus"
51
+ type="digit"
52
+ @confirm="actionCheckQtyConfirm"
53
+ >
54
+
55
+ <template #button>
56
+ <lw-button
57
+ mini
58
+ round
59
+ @click="actionCheckQtyConfirm"
60
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.xlsgeumr','确认复核') }}
61
+ </lw-button>
62
+ </template>
63
+
64
+ </lw-input>
65
+
66
+ <lw-sku-info-module
67
+ :sku-name="actionCheck.skuInfo.skuName"
68
+ :sku-code="actionCheck.skuInfo.skuCode"
69
+ :show-right="false"
70
+ />
71
+
72
+ <div class="lw-global-flex-between lw-global-row-end">
73
+
74
+ <lw-title-value-cell
75
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.fsqjrrbv','最小销售数')"
76
+ :value="actionCheck.skuInfo.minSellQty"
77
+ val-bold
78
+ val-red
79
+ :is-row="false"
80
+ />
81
+
82
+ <lw-title-value-cell
83
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.zekjwfre','数量')"
84
+ :value="actionCheck.skuInfo.waitQty"
85
+ val-red
86
+ val-bold
87
+ :is-row="false"
88
+ />
89
+
90
+ </div>
91
+ </template>
92
+
93
+ </div>
94
+
95
+ <div
96
+ v-else
97
+ style="text-align: center;letter-spacing: 1px"
98
+ class="lw-global-model-box lw-global-value-bold-red"
99
+ >
100
+ {{ $lwLanguage.get(
101
+ '',
102
+ '当前捆包箱没有可用的拣选容器,如需继续捆包请点击追加按钮,或封箱完成')
103
+ }}
104
+ </div>
105
+
106
+ </template>
107
+
108
+ <!-- 容器信息 -->
109
+ <container-info
110
+ v-if="Object.keys(packContainer).length"
111
+ style="margin-top: 10px"
112
+ :container="packContainer.pickContainer"
113
+ :sku-count="packContainer.skuTypeCount"
114
+ :over-count="packContainer.packQty"
115
+ :wait-count="packContainer.waitPackQty"
116
+ :abnormal-count="packContainer.abnormalQty"
117
+ :sku-list="packContainer.packSkuList"
118
+ :show-abn-btn="!fromAllCheck"
119
+ :show-all-check="!fromAllCheck && allowAllCheck"
120
+ :abn-confirm="abnConfirm"
121
+ @abnSuccess="mixinAbnSuccess"
122
+ />
123
+
124
+ </div>
125
+
126
+ <lw-bottom-bar-btn-hidden :btn-list="btnList"/>
127
+
128
+ <!-- 复核序列号 -->
129
+ <lw-popup
130
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.agvbvelf','复核序列号')"
131
+ v-model="checkPopup.show"
132
+ @closed="checkPopupOff"
133
+ >
134
+
135
+ <lw-sku-info-module
136
+ :sku-name="actionCheck.skuInfo.skuName"
137
+ :sku-code="actionCheck.skuInfo.skuCode"
138
+ :qty="actionCheck.skuInfo.minSellQty"
139
+ :qty-text="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.ugretxll','最小销售量')"
140
+ />
141
+
142
+ <div class="lw-global-row lw-global-flex-between">
143
+
144
+ <lw-title-value-cell
145
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.ownspubo','待复核量')"
146
+ :value="actionCheck.skuInfo.waitQty"
147
+ val-red
148
+ val-bold
149
+ :is-row="false"
150
+ />
151
+
152
+ <lw-title-value-cell
153
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.pisatdcc','当前扫描数量')"
154
+ :value="checkPopup.nowScanNum"
155
+ val-red
156
+ val-bold
157
+ :is-row="false"
158
+ />
159
+
160
+ </div>
161
+
162
+ <lw-input
163
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.wyjevgpl','序列号')"
164
+ v-model="checkPopup.sn.value"
165
+ :get-focus.sync="checkPopup.sn.focus"
166
+ auto-clear-val
167
+ rule-key="sn"
168
+ @confirm="checkPopupSnConfirm"
169
+ />
170
+
171
+ <div
172
+ class="lw-global-flex-between lw-global-row"
173
+ v-for="(i,k) in checkPopup.snList"
174
+ :key="k"
175
+ >
176
+ <div class="col-2">{{ i.sn }}</div>
177
+ <div class="col-1">{{ i.qty }}</div>
178
+ <div class="col-3">
179
+ <van-icon
180
+ color="#D50000"
181
+ name="clear"
182
+ size="20"
183
+ @click="checkPopupSnDel(k)"
184
+ />
185
+ </div>
186
+ </div>
187
+
188
+ <template #button>
189
+
190
+ <lw-button
191
+ type="last"
192
+ plain
193
+ @click="checkPopupRepeatScan"
194
+ >
195
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.hirjtmqc','重新扫描') }}
196
+ </lw-button>
197
+
198
+
199
+ <lw-button @click="checkPopupSubmit">
200
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.xlsgeumr','确认复核') }}
201
+ </lw-button>
202
+
203
+ </template>
204
+ </lw-popup>
205
+
206
+ <!-- 完成捆包弹框 -->
207
+ <lw-popup
208
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.aqugjfcu','完成捆包')"
209
+ v-model="overBalePopup.show"
210
+ @closed="mixinOverBaleOff"
211
+ >
212
+ <container-sku-qty
213
+ :box-no="packBox.boxNo"
214
+ :pack-qty="packBox.packQty"
215
+ :type-count="packBox.skuTypeCount"
216
+ />
217
+
218
+ <lw-title-value-cell
219
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.nzkqhshe','标准重量') + '(KG)'"
220
+ :value="overBalePopup.data.standardWeight"
221
+ val-bold
222
+ />
223
+
224
+ <lw-input
225
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.eisrswcv','实际重量') + '(KG)'"
226
+ v-model="overBalePopup.real.value"
227
+ :get-focus.sync="overBalePopup.real.focus"
228
+ type="number"
229
+ @confirm="mixinRealConfirm"
230
+ />
231
+
232
+ <lw-input
233
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.pepgmjjv','捆包包材')"
234
+ v-model="overBalePopup.materials.value"
235
+ :get-focus.sync="overBalePopup.materials.focus"
236
+ :show-bottom-border="false"
237
+ rule-key="skuPack"
238
+ @confirm="mixinMaterialsConfirm"
239
+ />
240
+
241
+ <div
242
+ v-if="overBalePopup.materials.list.length"
243
+ class="materials-box"
244
+ >
245
+ <div
246
+ class="lw-global-flex-between lw-global-row-start"
247
+ style="padding: 5px 0"
248
+ >
249
+
250
+ <div class="lw-global-title col-1">
251
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.iezednfo','包材编码') }}
252
+ </div>
253
+
254
+ <div class="lw-global-title col-2">
255
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.qlpuvxgs','包材规格') }}
256
+ </div>
257
+
258
+ <div class="col-3"></div>
259
+
260
+ </div>
261
+
262
+ <div style="max-height: 84px;overflow-y: scroll">
263
+ <div
264
+ class="lw-global-flex-between lw-global-row"
265
+ style="padding: 5px 0"
266
+ v-for="(i,k) in overBalePopup.materials.list"
267
+ :key="k"
268
+ >
269
+
270
+ <!-- 包材编码 -->
271
+ <div class="lw-global-value-bold col-1">{{ i.packMaterialCode }}</div>
272
+
273
+ <!-- 尺寸 -->
274
+ <div class="lw-global-value-bold col-2">
275
+ {{ i.length || '-' }} *
276
+ {{ i.width || '-' }} *
277
+ {{ i.height || '-' }}
278
+ </div>
279
+
280
+ <!-- 删除按钮 -->
281
+ <div class="col-3">
282
+ <van-icon
283
+ color="#D50000"
284
+ name="clear"
285
+ size="20"
286
+ @click="mixinDelMaterials(k)"
287
+ />
288
+ </div>
289
+
290
+ </div>
291
+ </div>
292
+
293
+
294
+ </div>
295
+
296
+ <template #button>
297
+ <lw-button
298
+ v-if="overBalePopup.materials.list.length"
299
+ @click="overBaleConfirm"
300
+ >
301
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.bjabixrx','完成复核(封箱)') }}
302
+ </lw-button>
303
+ <lw-button
304
+ v-else
305
+ @click="overBaleConfirm"
306
+ >
307
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.wwetygri','无需包材(封箱)') }}
308
+ </lw-button>
309
+ </template>
310
+
311
+ </lw-popup>
312
+
313
+ <!-- 重新复核弹框 -->
314
+ <repeat-check
315
+ v-model="repeatPopupShow"
316
+ :box-data="packBox"
317
+ @repeatConfirm="repeatConfirm"
318
+ />
319
+
320
+ <!-- 追加弹框 -->
321
+ <lw-popup
322
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.daocvnkk','追加')"
323
+ v-model="addPopup.show"
324
+ @closed="addPopupOff"
325
+ >
326
+
327
+ <container-sku-qty
328
+ :box-no="packBox.boxNo"
329
+ :pack-qty="packBox.packQty"
330
+ :type-count="packBox.skuTypeCount"
331
+ />
332
+
333
+ <lw-input
334
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.ipqzcucf','拣选容器号')"
335
+ v-model="addPopup.container.value"
336
+ :get-focus.sync="addPopup.container.focus"
337
+ required
338
+ rule-key="container"
339
+ @confirm="addContainerConfirm"
340
+ />
341
+
342
+ <div
343
+ v-if="Object.keys(addPopup.data).length"
344
+ class="lw-global-flex-between lw-global-row-end"
345
+ >
346
+
347
+ <lw-title-value-cell
348
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.mvbzrrkd','品种数')"
349
+ :value="addPopup.data.skuTypeCount"
350
+ val-bold
351
+ :is-row="false"
352
+ />
353
+
354
+ <lw-title-value-cell
355
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.vjsyivfg','待复核')"
356
+ :value="addPopup.data.waitPackQty"
357
+ val-bold
358
+ :is-row="false"
359
+ />
360
+
361
+ </div>
362
+
363
+ <template #button>
364
+
365
+ <lw-button @click="addConfirm">
366
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.fljefeua','确认追加') }}
367
+ </lw-button>
368
+
369
+ </template>
370
+
371
+ </lw-popup>
372
+
373
+ <!-- 剔除商品 -->
374
+ <del-sku
375
+ v-model="delPopupShow"
376
+ :box-data="packBox"
377
+ :sku-list="packBox.skuList"
378
+ :sku-sn-list="packBox.packSnList"
379
+ need-sn
380
+ @delConfirm="delSkuConfirm"
381
+ />
382
+
383
+ <!-- 全部拦截 -->
384
+ <all-block
385
+ v-model="allBlockShow"
386
+ :container="packContainer.pickContainer"
387
+ :type-count="packContainer.skuTypeCount"
388
+ :qty="packContainer.blockQty"
389
+ @confirm="allBlockConfirm"
390
+ />
391
+
392
+ <!-- 部分拦截 -->
393
+ <part-block
394
+ v-model="partBlockPopup.show"
395
+ :pick-container="partBlockPopup.data.pickContainer"
396
+ :type-count="partBlockPopup.data.skuTypeCount"
397
+ :sku-qty="partBlockPopup.data.skuQty"
398
+ :block-data="partBlockPopup.data.blockData"
399
+ @confirm="partBlockConfirm"
400
+ />
401
+
402
+ </div>
403
+
404
+ </template>
405
+
406
+ <script>
407
+ import storeInfoSkuList from './../../components/storeInfoSkuList/index.vue'
408
+ import {
409
+ projectWmsContainerWholePack,
410
+ projectWmsMixPackQueryPackData
411
+ } from "../../../../../../api/outbound/bale/checkBale/allCheck";
412
+ import {
413
+ projectWmsMixPackAddContainerCheck,
414
+ projectWmsMixPackCheckSn,
415
+ projectWmsMixPackCloseBox,
416
+ projectWmsMixPackComputeBoxSuggest,
417
+ projectWmsMixPackContainerSkuBlock,
418
+ projectWmsMixPackContainerWholeBlock,
419
+ projectWmsMixPackDeleteSku,
420
+ projectWmsMixPackDeleteSkuWithSn,
421
+ projectWmsMixPackRePack,
422
+ projectWmsMIxPackScanQuery,
423
+ projectWmsMixPackSubmitAbnormal,
424
+ projectWmsMixPackSubmitSku,
425
+ projectWmsMixPackSubmitWithSn
426
+ } from "../../../../../../api/outbound/bale/checkBale/action";
427
+ import {baleMixins} from "../../mixins";
428
+
429
+ export default {
430
+ name: "lwOutboundBaleActionPage",
431
+ components:{
432
+ storeInfoSkuList,
433
+ },
434
+ mixins:[baleMixins],
435
+ data() {
436
+ return {
437
+ // 捆包箱数据
438
+ packBox:{},
439
+ // 拣选容器数据
440
+ packContainer:{},
441
+
442
+ // 是否是全部复核进入
443
+ fromAllCheck: false,
444
+
445
+ // 允许全部复核
446
+ allowAllCheck: false,
447
+
448
+ // 开始复核
449
+ actionCheck:{
450
+ sku:{
451
+ value: '',
452
+ focus: false
453
+ },
454
+ qty:{
455
+ value: '',
456
+ focus: false
457
+ },
458
+
459
+ skuInfo:{}
460
+ },
461
+
462
+ // 序列号复核弹框
463
+ checkPopup:{
464
+ show: false,
465
+ // 当前扫描量
466
+ nowScanNum: 0,
467
+ sn:{
468
+ value:'',
469
+ focus: false
470
+ },
471
+ snList: []
472
+ },
473
+
474
+
475
+ // 追加
476
+ addPopup:{
477
+ show: false,
478
+ container:{
479
+ value: '',
480
+ focus: false
481
+ },
482
+ data:{}
483
+ },
484
+ }
485
+ },
486
+ computed:{
487
+ customerName(){
488
+
489
+ if (this.packContainer.customerName)return this.packContainer.customerName
490
+
491
+ if (this.packBox.customerName)return this.packBox.customerName
492
+
493
+ return '-'
494
+ },
495
+ customerCode(){
496
+
497
+ if (this.packContainer.customerCode)return this.packContainer.customerCode
498
+
499
+ if (this.packBox.customerCode)return this.packBox.customerCode
500
+
501
+ return '-'
502
+ },
503
+
504
+ // 是否需要显示追加按钮
505
+ showAddBtn(){
506
+ return !(this.packContainer && this.packContainer.waitPackQty > 0);
507
+ },
508
+ },
509
+ mounted() {
510
+ const query = this.$route.query
511
+ if (query.lwType === 'allCheck'){
512
+ this.fromAllCheck = true
513
+ this.allowAllCheck = false
514
+
515
+ projectWmsContainerWholePack({
516
+ pickContainer: query.lwContainer
517
+ }).then(res=>{
518
+ this.mixinCheckBlock(res)
519
+
520
+ this.formatDat(res)
521
+ })
522
+ return
523
+ }
524
+
525
+ this.getData(true)
526
+ },
527
+ methods: {
528
+ // 数据处理
529
+ formatDat(res){
530
+ this.packBox = res.packBox || {}
531
+ this.packContainer = res.packContainer || {}
532
+ },
533
+
534
+ // 获取数据
535
+ getData(first){
536
+ return new Promise((PR,PE)=>{
537
+
538
+ let queryContainer = ''
539
+ if (this.packBox.boxId){
540
+ queryContainer = this.packBox.boxId
541
+ }else {
542
+ queryContainer = this.$route.query.lwContainer
543
+ }
544
+ projectWmsMixPackQueryPackData({
545
+ queryContainer
546
+ }).then(res=>{
547
+
548
+ this.formatDat(res)
549
+ if (res.packContainer && res.packContainer.blockStatus === '200') this.allBlockShow = true
550
+
551
+ first ? this.actionCheck.sku.focus = true : ''
552
+ PR()
553
+ }).catch(()=>{
554
+ PE()
555
+ history.go(-1)
556
+ })
557
+ })
558
+ },
559
+
560
+ // 查找当前扫描商品是否在拣选容器内
561
+ checkPickContainerHasSkuCode(skuCode){
562
+ for (let i of this.packContainer.packSkuList){
563
+
564
+ if (i.skuCode === skuCode){
565
+ return {success: true, skuInfo:i}
566
+ }
567
+
568
+ }
569
+
570
+ return {success: false, skuInfo: {}}
571
+
572
+ },
573
+ // 开始复核 - 商品号确认
574
+ actionCheckSkuConfirm(val,{data}){
575
+ const {success, skuInfo} = this.checkPickContainerHasSkuCode(data.key || val)
576
+
577
+ if (success){
578
+
579
+ // 查看当前是否存在记录数据
580
+ if (Object.keys(this.actionCheck.skuInfo).length){
581
+
582
+ // 如果存在历史记录就判断是否和上次扫描的数据一直
583
+ if (skuInfo.skuCode !== this.actionCheck.skuInfo.skuCode){
584
+ this.actionCheck.sku.focus = true
585
+ this.$lwShowErrorMsg(
586
+ this.$lwLanguage.get(
587
+ '',
588
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.nhcgbeqa', '当前扫描商品与上一次扫描商品不一致!')
589
+ )
590
+ )
591
+ return
592
+ }
593
+
594
+ }
595
+
596
+ // 校验是否需要sn
597
+ this.checkNeedSn({
598
+ ...skuInfo,
599
+ waitQty: skuInfo.totalQty - skuInfo.packQty
600
+ })
601
+ return
602
+ }
603
+
604
+ projectWmsMIxPackScanQuery({
605
+ pickContainer: this.packContainer.pickContainer,
606
+ boxId: this.packBox.boxId,
607
+ currentSkuId: this.actionCheck.skuInfo.skuId,
608
+ sn: data.key,
609
+ qty: data.qty
610
+ }).then(res=>{
611
+ this.checkNeedSn(res, 'add')
612
+ })
613
+
614
+ },
615
+ // 校验是否需要处理sn
616
+ checkNeedSn(data, type){
617
+
618
+ this.actionCheck.skuInfo = data
619
+
620
+ // 判断是否需要处理sn
621
+ if (data.needHandleSn){
622
+ this.checkPopup.show = true
623
+ this.checkPopup.sn.focus = true
624
+ // 判断是否需要增加一条数据
625
+ type === 'add' && this.checkPopup.snList.unshift({sn: data.sn, qty: data.qty})
626
+ this.getCheckPopupNum()
627
+ return
628
+ }
629
+
630
+ this.actionCheck.qty.value = Number(this.actionCheck.qty.value) + Number(data.qty || 0)
631
+ if (this.actionCheck.qty.value === this.actionCheck.skuInfo.waitQty){
632
+ this.actionCheckQtyConfirm()
633
+ }
634
+ },
635
+ // 开始复核 - 商品数量确认
636
+ actionCheckQtyConfirm(){
637
+
638
+ const qty = Number(this.actionCheck.qty.value ||0)
639
+
640
+ if (!qty){
641
+ this.actionCheck.qty.focus = true
642
+ this.$lwShowErrorMsg(
643
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.sesxkxyt','复核数不能为空,且应当是大于0的整数')
644
+ )
645
+ return
646
+ }
647
+
648
+ if (qty > this.actionCheck.skuInfo.waitQty){
649
+ this.actionCheck.qty.focus = true
650
+ this.$lwShowErrorMsg(
651
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.cbitnesb','复核数不能大于待复核数')
652
+ )
653
+ this.actionCheck.qty.value = ''
654
+ return
655
+ }
656
+
657
+
658
+ projectWmsMixPackSubmitSku({
659
+ boxId: this.packBox.boxId,
660
+ pickContainer: this.packContainer.pickContainer,
661
+ skuId: this.actionCheck.skuInfo.skuId,
662
+ currentPackQty: qty
663
+ }).then(res=>{
664
+
665
+ this.formatDat(res)
666
+
667
+ if (res.containerPackFinish){
668
+ this.$lwToast.success(
669
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.fzaqeggt','当前容器已复核完毕')
670
+ )
671
+
672
+ this.overBaleOpen()
673
+
674
+ }
675
+
676
+ this.actionCheck.sku.value = ''
677
+ this.actionCheck.sku.focus = true
678
+ this.actionCheck.qty.focus = false
679
+ this.actionCheck.qty.value = ''
680
+ this.actionCheck.skuInfo = {}
681
+
682
+ this.mixinCheckBlock(res)
683
+ })
684
+ },
685
+
686
+ // 复核序列号 - 当前复核量
687
+ getCheckPopupNum(){
688
+ let num = 0
689
+ this.checkPopup.snList.forEach(item=>{
690
+ num += Number(item.qty || 0)
691
+ })
692
+ this.checkPopup.nowScanNum = num
693
+
694
+ if (num === this.actionCheck.skuInfo.waitQty){
695
+ this.checkPopupSubmit()
696
+ }
697
+
698
+ },
699
+ // 复核序列号 - 确认
700
+ checkPopupSnConfirm(val,{data}){
701
+ const sn = data.key
702
+ if (!sn){
703
+ this.checkPopup.sn.focus = true
704
+ this.$lwShowErrorMsg(
705
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.zturbxlj','序列号不能为空')
706
+ )
707
+ return
708
+ }
709
+
710
+ projectWmsMixPackCheckSn({
711
+ pickContainer:'',
712
+ skuId: this.actionCheck.skuInfo.skuId,
713
+ sn,
714
+ qty: data.qty || 0
715
+ }).then(res=>{
716
+ this.checkPopup.snList.unshift(res)
717
+ this.getCheckPopupNum()
718
+ })
719
+ },
720
+ // 复核序列号 - 删除
721
+ checkPopupSnDel(index){
722
+
723
+ this.checkPopup.snList.splice(index, 1)
724
+ this.getCheckPopupNum()
725
+
726
+ },
727
+ // 复核序列号 - 提交数据
728
+ checkPopupSubmit(){
729
+
730
+ const snList = this.checkPopup.snList
731
+ if (!snList.length){
732
+ this.checkPopup.sn.focus = true
733
+ this.$lwShowErrorMsg(
734
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.agienozq','请输入或扫描需要复核的序列号')
735
+ )
736
+ return
737
+ }
738
+
739
+ projectWmsMixPackSubmitWithSn({
740
+ boxId: this.packBox.boxId,
741
+ pickContainer: this.packContainer.pickContainer,
742
+ skuId: this.actionCheck.skuInfo.skuId,
743
+ snList
744
+ }).then(res=>{
745
+ this.formatDat(res)
746
+
747
+ if (res.containerPackFinish){
748
+ this.$lwToast.success(
749
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.fzaqeggt','当前容器已复核完毕')
750
+ )
751
+
752
+ this.overBaleOpen()
753
+ }
754
+
755
+ this.checkPopup.show = false
756
+
757
+ this.mixinCheckBlock(res)
758
+ })
759
+ },
760
+ // 复核序列号 - 重新扫描
761
+ checkPopupRepeatScan(){
762
+ this.$lwDialog.confirm({
763
+ title: this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.tyoupcga','警告'),
764
+ message: this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.aviijbed','当前扫描数据将会被清空')
765
+ }).then(()=>{
766
+ this.checkPopup.sn = ''
767
+ this.snList = []
768
+ this.getCheckPopupNum()
769
+ }).catch(()=>{})
770
+ },
771
+ // 复核序列号 - 弹框关闭
772
+ checkPopupOff(){
773
+ this.checkPopup.sn = ''
774
+ this.snList = []
775
+ this.actionCheck.sku.value = ''
776
+ this.actionCheck.skuInfo = {}
777
+ },
778
+
779
+
780
+ // 完成捆包 - 打开弹框
781
+ overBaleOpen(){
782
+ projectWmsMixPackComputeBoxSuggest({
783
+ boxId: this.packBox.boxId
784
+ }).then(res=>{
785
+ this.overBalePopup.data = res
786
+ this.overBalePopup.show = true
787
+ this.overBalePopup.real.focus = true
788
+ })
789
+ },
790
+ // 完成捆包 - 封箱
791
+ overBaleConfirm(){
792
+
793
+ projectWmsMixPackCloseBox({
794
+ boxId: this.packBox.boxId,
795
+ packWeight: this.overBalePopup.real.value || this.overBalePopup.data.standardWeight,
796
+ packMaterialList: this.mixinGetMaterials()
797
+ }).then(()=>{
798
+ this.$lwToast.success(
799
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.bqbzdkbu','捆包成功')
800
+ )
801
+ history.go(-1)
802
+ })
803
+
804
+ },
805
+ // 重新复核 - 确认
806
+ repeatConfirm(container){
807
+ projectWmsMixPackRePack({
808
+ boxId: this.packBox.boxId,
809
+ toPickContainer: container
810
+ }).then(()=>{
811
+ this.$lwToast.success(
812
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.vecsyyxh','操作成功')
813
+ )
814
+ history.go(-1)
815
+ })
816
+ },
817
+
818
+ // 追加 - 弹框打开
819
+ addSkuOpen(){
820
+ this.addPopup.container.focus = true
821
+ this.addPopup.show = true
822
+ },
823
+ // 追加 - 确认拣选容器号
824
+ addContainerConfirm(){
825
+ const container = this.addPopup.container.value
826
+ if (!container){
827
+ this.addPopup.container.focus = true
828
+ this.$lwShowErrorMsg(
829
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.wmwodaqc','拣选容器号不能为空')
830
+ )
831
+ return
832
+ }
833
+
834
+ projectWmsMixPackAddContainerCheck({
835
+ boxId: this.packBox.boxId,
836
+ addPickContainer: container
837
+ }).then(res=>{
838
+ this.addPopup.data = res
839
+ })
840
+ },
841
+ // 追加 - 确认追加
842
+ addConfirm(){
843
+ this.packContainer = this.$lwDeepCopy(this.addPopup.data)
844
+ this.addPopup.show = false
845
+ },
846
+ // 追加 - 弹框关闭
847
+ addPopupOff(){
848
+ this.addPopup.container.value = ''
849
+ this.addPopup.data = {}
850
+ },
851
+
852
+ // 剔除商品 - 确认剔除
853
+ delSkuConfirm(data){
854
+
855
+ // 判断当前是需要sn还是不需要
856
+ const fn = data.isSn ?
857
+ projectWmsMixPackDeleteSkuWithSn :
858
+ projectWmsMixPackDeleteSku
859
+
860
+ fn({
861
+ ...data,
862
+ boxId: this.packBox.boxId
863
+ }).then(res=>{
864
+ if (res.boxDelAll){
865
+ this.$lwToast.success(
866
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.bheqtugt','当前箱已全部剔除')
867
+ )
868
+ history.go(-1)
869
+ return
870
+ }
871
+
872
+ this.$lwToast.success(
873
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.vkvtsjoo','剔除成功')
874
+ )
875
+ this.getData()
876
+ this.delPopupShow = false
877
+ })
878
+ },
879
+
880
+ // 全部拦截
881
+ allBlockConfirm(){
882
+ projectWmsMixPackContainerWholeBlock({
883
+ pickContainer: this.packContainer.pickContainer
884
+ }).then(()=>{
885
+ this.$lwToast.success(
886
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.bncgywex','已拦截')
887
+ )
888
+ history.go(-1)
889
+ })
890
+ },
891
+ // 部分拦截
892
+ async partBlockConfirm(data){
893
+
894
+ const res = await projectWmsMixPackContainerSkuBlock({
895
+ pickContainer: data.container,
896
+ currentBlockQty: data.qty,
897
+ skuId: this.partBlockPopup.data.blockData.skuId
898
+ })
899
+
900
+ await this.getData()
901
+
902
+ if (res.containerPackFinish){
903
+ this.$lwToast.success(
904
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.bale.checkBale.action.jfmhrzqh','当前容器已全部捆包')
905
+ )
906
+ this.overBaleOpen()
907
+ }
908
+ },
909
+
910
+ // 异常确认
911
+ abnConfirm(data){
912
+ return projectWmsMixPackSubmitAbnormal({
913
+ pickContainer: this.packContainer.pickContainer,
914
+ ...data
915
+ })
916
+ }
917
+ }
918
+ }
919
+ </script>
920
+
921
+ <style scoped lang="less">
922
+ .materials-box{
923
+ margin-top: 5px;
924
+ padding: 0 5px;
925
+ border-radius: 5px;
926
+ border: solid 1px #f0f0f0;
927
+ }
928
+
929
+ .col-1{
930
+ width: 35%;
931
+ flex-shrink: 0;
932
+ }
933
+ .col-2{
934
+ width: 55%;
935
+ flex-shrink: 0;
936
+ }
937
+ .col-3{
938
+ width: 24px;
939
+ flex-shrink: 0;
940
+ }
941
+ </style>