@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
@@ -0,0 +1,1290 @@
1
+ <!--
2
+ 边拣边分
3
+ @author: 张文
4
+ @date: 2022-08-15
5
+ -->
6
+ <template>
7
+ <div>
8
+
9
+ <lw-nav-bar :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.kbenunwi','边拣边分')"/>
10
+
11
+ <div class="lw-global-page-box">
12
+
13
+ <!-- 任务看板 -->
14
+ <task-info :item="pickData">
15
+
16
+ <template>
17
+
18
+ <!-- 拣选小车 -->
19
+ <lw-input
20
+ style="margin: 10px 0 0 0"
21
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.dptuorvg','拣选小车')"
22
+ v-model="sowCar.car.value"
23
+ :get-focus.sync="sowCar.car.focus"
24
+ :rule-production-data="$lwScanRule.production('拣选小车', 'LPN')"
25
+ rule-key="sowCar"
26
+ :show-bottom-border="false"
27
+ :disabled="!sowCar.needBind"
28
+ @confirm="bindCarConfirm"
29
+ >
30
+
31
+ <template #button>
32
+ <lw-button
33
+ v-if="canUnbind"
34
+ mini
35
+ round
36
+ @click="unbindCar"
37
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.kngqtmkz','解除绑定') }}</lw-button>
38
+ </template>
39
+
40
+ </lw-input>
41
+ </template>
42
+
43
+ </task-info>
44
+
45
+ <!-- 绑定小车提示 -->
46
+ <div
47
+ v-if="sowCar.needBind"
48
+ style="text-align: center"
49
+ class="lw-global-model-box lw-global-value-bold-red"
50
+ >
51
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.kzqbuxih','请绑定拣选小车') }}
52
+ </div>
53
+
54
+ <!-- 绑定播种位 -->
55
+ <template v-if="!sowCar.needBind && needContainer">
56
+ <div
57
+ style="text-align: center"
58
+ class="lw-global-model-box lw-global-value-bold-red"
59
+ >
60
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.xxtpvmjs','请绑定容器号到拣选小车的播种位') }}
61
+ </div>
62
+
63
+ <sow-list :item="pickData.sowLineList"/>
64
+ </template>
65
+
66
+ <!-- 执行拣选tab -->
67
+ <div
68
+ v-if="!needContainer"
69
+ class="lw-global-tab-box"
70
+ >
71
+
72
+ <van-tabs
73
+ type="card"
74
+ animated
75
+ v-model="tabAction"
76
+ >
77
+
78
+ <van-tab
79
+ name="ing"
80
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.fuanucax','正在拣选')"
81
+ >
82
+
83
+ <div class="lw-global-model-box">
84
+
85
+ <sku-location-info
86
+ :item="pickLineData"
87
+ wait-pick
88
+ />
89
+
90
+ <!-- 托盘号 -->
91
+ <lw-title-value-cell
92
+ v-if="hasLpn"
93
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.icbazuab','托盘号')"
94
+ :value="pickLineData.fromLpn"
95
+ val-bold
96
+ />
97
+
98
+ <!-- 库位 -->
99
+ <lw-input
100
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.rriutzfg','拣选库位')"
101
+ v-model="locationCode.value"
102
+ :get-focus.sync="locationCode.focus"
103
+ required
104
+ :rule-production-data="$lwScanRule.production('拣选 - 边拣边分 - 拣选库位', 'LOCATION')"
105
+ rule-key="location"
106
+ @confirm="locationCodeConfirm"
107
+ />
108
+
109
+ <!-- 托盘号 -->
110
+ <lw-input
111
+ v-if="hasLpn"
112
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.icbazuab','托盘号')"
113
+ v-model="lpn.value"
114
+ :get-focus.sync="lpn.focus"
115
+ required
116
+ :rule-production-data="$lwScanRule.production('拣选 - 边拣边分 - 托盘号', 'LPN')"
117
+ rule-key="lpn"
118
+ @confirm="lpnConfirm"
119
+ />
120
+
121
+ <!-- 商品号 -->
122
+ <lw-input
123
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.bzpcrokx','商品号')"
124
+ v-model="sku.value"
125
+ :get-focus.sync="sku.focus"
126
+ required
127
+ :rule-production-data="$lwScanRule.production('拣选 - 边拣边分 - 商品号', 'SKU')"
128
+ rule-key="sku"
129
+ @confirm="skuConfirm"
130
+ />
131
+ <lw-input
132
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.busfurmf','数量')"
133
+ v-model="qty.value"
134
+ :get-focus.sync="qty.focus"
135
+ required
136
+ type="digit"
137
+ @confirm="qtyConfirm"
138
+ >
139
+ <template #button>
140
+ <lw-button
141
+ v-if="!qty.disabled"
142
+ mini
143
+ round
144
+ @click="qtyConfirm"
145
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.pbzrsvah','确认') }}</lw-button>
146
+ </template>
147
+ </lw-input>
148
+
149
+
150
+
151
+ <lw-cut-card
152
+ v-model="taskIndex"
153
+ :length="pickData.pendingPickLineList.length"
154
+ :cut-start="cutStart"
155
+ :cut-end="cutEnd"
156
+ >
157
+
158
+ <template #numLast>
159
+ <lw-button
160
+ round
161
+ mini
162
+ plain
163
+ type="last"
164
+ @click="abnClick"
165
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.saobucrh','异常') }}</lw-button>
166
+ </template>
167
+
168
+ </lw-cut-card>
169
+
170
+ </div>
171
+
172
+
173
+ </van-tab>
174
+
175
+ <van-tab
176
+ name="line"
177
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.rrpdyewp','拣选明细行')"
178
+ >
179
+
180
+ <div
181
+ class="lw-global-model-box lw-global-animation-out"
182
+ v-for="(i,k) in pickData.allLineList"
183
+ :key="k"
184
+ :style="{animationDelay: 50 * k + 'ms'}"
185
+ >
186
+
187
+ <lw-sku-info-module
188
+ :sku-name="i.skuCode"
189
+ :sku-code="i.skuCode"
190
+ is-row
191
+ >
192
+
193
+ <!-- 尺寸 -->
194
+ <lw-tag
195
+ v-if="i.skuSizeLabel"
196
+ plain
197
+ round
198
+ >{{ i.skuSizeLabel}}</lw-tag>
199
+
200
+ <!-- 拣选状态 -->
201
+ <lw-tag
202
+ plain
203
+ round
204
+ :type="pickStatus(i).type"
205
+ >{{ pickStatus(i).msg }}</lw-tag>
206
+
207
+ </lw-sku-info-module>
208
+
209
+ <div class="lw-global-flex-between lw-global-row">
210
+
211
+ <lw-title-value-cell
212
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.rriutzfg','拣选库位')"
213
+ :value="i.fromLocationCode"
214
+ val-bold
215
+ :is-row="false"
216
+ />
217
+
218
+ <lw-title-value-cell
219
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.fzrxibbu','已拣选/计划')"
220
+ :value="(i.pickQty || 0) + '/' + (i.totalQty || 0)"
221
+ val-bold
222
+ val-red
223
+ :is-row="false"
224
+ />
225
+
226
+ </div>
227
+
228
+ <div
229
+ v-if="i.groupFieldList && i.groupFieldList.length"
230
+ style="padding: 5px;border-radius: 5px;border: solid 1px #f0f0f0"
231
+ >
232
+ <lw-lot-look-module
233
+ :columns="i.groupFieldList"
234
+ title-key="title"
235
+ value-key="value"
236
+ :show-row="false"
237
+ />
238
+ </div>
239
+
240
+ </div>
241
+
242
+ </van-tab>
243
+
244
+ <van-tab
245
+ name="sow"
246
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.fhhgummc','播种位列表')"
247
+ >
248
+ <sow-list :item="pickData.sowLineList"/>
249
+ </van-tab>
250
+ </van-tabs>
251
+
252
+
253
+ </div>
254
+
255
+ </div>
256
+
257
+
258
+ <lw-bottom-bar v-if="!sowCar.needBind && needContainer">
259
+
260
+ <lw-button @click="bindContainerBtn">
261
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.hhsjgjuu','绑定周转箱') }}
262
+ </lw-button>
263
+
264
+ </lw-bottom-bar>
265
+
266
+
267
+ <!-- 拣选的底部操作按钮 -->
268
+ <template v-if="!sowCar.needBind && !needContainer">
269
+ <lw-bottom-bar v-if="tabAction==='ing'">
270
+
271
+ <lw-button
272
+ type="last"
273
+ plain
274
+ @click="pickLack"
275
+ >
276
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.jgqiivzh','拣选缺货') }}
277
+ </lw-button>
278
+
279
+ <lw-button
280
+ type="last"
281
+ @click="pickFullChangeContainer"
282
+ >
283
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.xnmcssvu','拣满换容器') }}
284
+ </lw-button>
285
+
286
+ <lw-button @click="pickConfirm">
287
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.tyssildd','确认拣选播种') }}
288
+ </lw-button>
289
+
290
+ </lw-bottom-bar>
291
+ <lw-bottom-bar v-if="tabAction==='sow'">
292
+
293
+ <lw-button
294
+ type="last"
295
+ @click="pickFullChangeContainer"
296
+ >
297
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.xnmcssvu','拣满换容器') }}
298
+ </lw-button>
299
+
300
+ </lw-bottom-bar>
301
+ </template>
302
+
303
+
304
+
305
+
306
+
307
+ <!-- 绑定周转箱弹框 -->
308
+ <lw-popup
309
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.jnvqlhev','绑定播种容器号')"
310
+ v-model="bindContainerPopup.show"
311
+ @closed="confirmBind"
312
+ >
313
+
314
+ <lw-title-value-cell
315
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.dptuorvg','拣选小车')"
316
+ :value="sowCar.car.value"
317
+ val-bold
318
+ />
319
+
320
+ <lw-title-value-cell
321
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.txqcvgff','当前绑定播种位')"
322
+ :value="bindPopupNowBindSowLoc"
323
+ val-bold
324
+ val-red
325
+ val-size="16px"
326
+ />
327
+
328
+ <lw-input
329
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.wqvqagej','周转箱号')"
330
+ v-model="bindContainerPopup.container.value"
331
+ :get-focus.sync="bindContainerPopup.container.focus"
332
+ :rule-production-data="$lwScanRule.production('周转箱号', 'CONTAINER')"
333
+ rule-key="containerBox"
334
+ input-over-blur
335
+ @confirm="sowLocationBindContainerConfirm"
336
+ >
337
+
338
+ <template #button>
339
+ <lw-button
340
+ mini
341
+ round
342
+ @click="sowLocationBindContainerConfirm"
343
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.qmcncpny','绑定') }}</lw-button>
344
+ </template>
345
+
346
+ </lw-input>
347
+
348
+ <div
349
+ class="lw-global-flex-between lw-global-row lw-global-click-style"
350
+ v-for="(i,k) in bindContainerPopup.sowList"
351
+ :key="k"
352
+ @click="selectSowLocation(k)"
353
+ >
354
+
355
+ <div class="lw-global-value-bold">{{ i.sowLineCode }}</div>
356
+ <div class="lw-global-value-bold">{{ i.containerNo }}</div>
357
+
358
+ </div>
359
+
360
+ <template #button>
361
+ <lw-button
362
+ type="normal"
363
+ plain
364
+ @click="repeatBind"
365
+ >
366
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.lioqvzcr','重绑') }}
367
+ </lw-button>
368
+ <lw-button @click="bindContainerPopup.show = false">
369
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.pbzrsvah','确认') }}
370
+ </lw-button>
371
+ </template>
372
+
373
+ </lw-popup>
374
+
375
+ <!-- 计算播种位并调整数量的弹框 -->
376
+ <lw-popup
377
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.docqgrky','拣选分拨')"
378
+ v-model="sowLocPopup.show"
379
+ @closed="sowLocPopupOff"
380
+ >
381
+
382
+ <lw-sku-info-module
383
+ :sku-name="pickLineData.skuName"
384
+ :sku-code="pickLineData.skuCode"
385
+ :qty="qty.value"
386
+ :qty-text="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.bcvasnej','当前拣选量')"
387
+ is-row-first
388
+ />
389
+
390
+ <div>
391
+ <div class="lw-global-flex-between lw-global-title lw-global-row">
392
+
393
+ <div class="col-1">
394
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.pmnizgyn','播种位') }}
395
+ </div>
396
+
397
+ <div class="col-1">
398
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.cwctmizc','待播量') }}
399
+ </div>
400
+
401
+ <div class="col-1">
402
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.nvgmqsxt','分配数量') }}
403
+ </div>
404
+
405
+ </div>
406
+
407
+ <div
408
+ class="lw-global-flex-between lw-global-animation-out lw-global-row"
409
+ v-for="(i,k) in sowLocPopup.list"
410
+ :key="k"
411
+ :style="{animationDelay: 50 * k + 'ms'}"
412
+ >
413
+ <div class="col-1 lw-global-value-bold">{{ i.sowLineCode }}</div>
414
+ <div class="col-1 lw-global-value-bold-red">{{ i.waitSowQty }}</div>
415
+ <div class="col-1">
416
+ <lw-input
417
+ v-model="i.allocateSowQty"
418
+ type="digit"
419
+ input-align="center"
420
+ :show-bottom-border="false"
421
+ />
422
+ </div>
423
+ </div>
424
+ </div>
425
+
426
+ <lw-title-value-cell
427
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.briipqfg','调整后拣选总量')"
428
+ :value="pickChangeTotal"
429
+ val-bold
430
+ val-red
431
+ is-row
432
+ val-size="18px"
433
+ />
434
+
435
+
436
+ <template #button>
437
+
438
+ <lw-button @click="confirmSow">
439
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.jhzdrrpy','确认播种拣选') }}
440
+ </lw-button>
441
+
442
+ </template>
443
+
444
+
445
+ </lw-popup>
446
+
447
+ <!-- 异常 -->
448
+ <lw-popup
449
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.saobucrh','异常')"
450
+ v-model="abnPopup.show"
451
+ @closed="abnPopup.comShow = false"
452
+ >
453
+
454
+ <lw-inner-abnormal-module
455
+ v-if="abnPopup.comShow"
456
+ ref="abnormal"
457
+ :sku-code="pickLineData.skuCode"
458
+ :sku-name="pickLineData.skuName"
459
+ :location="pickLineData.fromLocationCode"
460
+ :qty="waitPickQty"
461
+ :type="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.nmwudjru','在库')"
462
+ :ab-type="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.nzhpvyuv','拣选')"
463
+ />
464
+
465
+ <template #button>
466
+ <lw-button @click="abnConfirm"
467
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.pbzrsvah','确认') }}</lw-button>
468
+ </template>
469
+
470
+ </lw-popup>
471
+
472
+ <!-- 拣选缺货 -->
473
+ <lw-popup
474
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.jgqiivzh','拣选缺货')"
475
+ v-model="lackPopup.show"
476
+ >
477
+
478
+ <lw-sku-info-module
479
+ :sku-code="pickLineData.skuCode"
480
+ :sku-name="pickLineData.skuName"
481
+ >
482
+ <lw-tag
483
+ v-if="pickLineData.skuSizeLabel"
484
+ plain
485
+ round
486
+ >{{ pickLineData.skuSizeLabel }}</lw-tag>
487
+ </lw-sku-info-module>
488
+
489
+ <div class="lw-global-flex-between lw-global-row">
490
+
491
+ <lw-title-value-cell
492
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.rriutzfg','拣选库位')"
493
+ :value="pickLineData.fromLocationCode"
494
+ val-bold
495
+ :is-row="false"
496
+ />
497
+
498
+ <div>
499
+ <span class="lw-global-title">
500
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.mqmhprin','最小销售量') }}
501
+ </span>
502
+ <span class="lw-global-value-bold-red">
503
+ {{ pickLineData.uomQty }}
504
+ </span>
505
+ </div>
506
+
507
+ </div>
508
+
509
+ <lw-title-value-cell
510
+ class="lw-global-row"
511
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.vxauexbo','待拣量')"
512
+ :value="waitPickQty"
513
+ val-bold
514
+ val-red
515
+ :is-row="false"
516
+ />
517
+
518
+
519
+ <lw-input
520
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.btfrzivy','缺货量')"
521
+ v-model="lackPopup.lackQty"
522
+ :get-focus.sync="lackPopup.lackQtyFocus"
523
+ type="digit"
524
+ @confirm="lackConfirm"
525
+ />
526
+
527
+ <template #button>
528
+ <lw-button @click="lackConfirm"
529
+ >{{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.pbzrsvah','确认') }}</lw-button>
530
+ </template>
531
+
532
+ </lw-popup>
533
+
534
+ <!-- 拣满换容器 -->
535
+ <lw-popup
536
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.xnmcssvu','拣满换容器')"
537
+ v-model="fullContainerPopup.show"
538
+ @closed="fullContainerPopupOff"
539
+ >
540
+ <lw-input
541
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.xkmdfmdo','已满容器')"
542
+ v-model="fullContainerPopup.full.value"
543
+ :get-focus.sync="fullContainerPopup.full.focus"
544
+ :rule-production-data="$lwScanRule.production('拣选 - 边拣边分 - 拣满换容器 - 已满容器', 'CONTAINER')"
545
+ rule-key="fullContainer"
546
+ @confirm="fullContainerConfirm"
547
+ />
548
+
549
+ <template v-if="Object.keys(fullContainerPopup.sowData).length">
550
+
551
+ <lw-title-value-cell
552
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.ficfyipk','已满容器号')"
553
+ :value="fullContainerPopup.sowData.containerNo"
554
+ val-bold
555
+ />
556
+
557
+ <div class="lw-global-flex-between lw-global-row">
558
+
559
+ <lw-title-value-cell
560
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.pmnizgyn','播种位')"
561
+ :value="fullContainerPopup.sowData.sowLineCode"
562
+ val-red
563
+ val-bold
564
+ :is-row="false"
565
+ />
566
+
567
+ <div>
568
+
569
+ <span class="lw-global-title">
570
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.busfurmf','数量') }}
571
+ </span>
572
+ <span class="lw-global-value-bold">
573
+ <span class="lw-global-value-bold-red">
574
+ {{ fullContainerPopup.sowData.pickQty }}
575
+ </span>
576
+ / {{ fullContainerPopup.sowData.totalQty }}
577
+ </span>
578
+
579
+ </div>
580
+
581
+ </div>
582
+
583
+ <lw-input
584
+ :title="$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.uqcdsbxl','新容器')"
585
+ v-model="fullContainerPopup.new.value"
586
+ :get-focus.sync="fullContainerPopup.new.focus"
587
+ :rule-production-data="$lwScanRule.production('拣选 - 边拣边分 - 拣满换容器 - 新容器', 'CONTAINER')"
588
+ rule-key="newContainer"
589
+ @confirm="changeContainerConfirm"
590
+ />
591
+
592
+ <div class="lw-global-value-bold-red">
593
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.zjngylzp','拿下已播满容器号!因为没有播种完成,还需要扫码新空容器号,继续播种接货') }}
594
+ </div>
595
+
596
+ </template>
597
+
598
+ <template
599
+ v-if="Object.keys(fullContainerPopup.sowData).length"
600
+ #button
601
+ >
602
+
603
+ <lw-button @click="changeContainerConfirm">
604
+ {{ $lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.kubytulz','确认更换') }}
605
+ </lw-button>
606
+
607
+ </template>
608
+ </lw-popup>
609
+
610
+
611
+
612
+ </div>
613
+ </template>
614
+
615
+ <script>
616
+ import taskInfo from "../components/taskInfo.vue";
617
+ import sowList from "../components/sowList.vue";
618
+ import skuLocationInfo from './../components/skuLocationInfo/index.vue'
619
+ import {
620
+ projectQueryPickSowData,
621
+ projectWmsOutboundSubmitPickAbnormal,
622
+ projectWmsOutboundSubmitPickStockout,
623
+ projectWmsPickSowBind,
624
+ projectWmsPickSowBindContainer,
625
+ projectWmsPickSowChangeContainer,
626
+ projectWmsPickSowComputePosition,
627
+ projectWmsPickSowRebindContainer,
628
+ projectWmsPickSowSubmitPick,
629
+ projectWmsPickSowUnbind
630
+ } from "../../../../../api/outbound/pick/sow";
631
+ import {all} from "../mixin/all";
632
+ import {aloneAndNotAlone} from "../mixin/aloneAndNotAlone";
633
+
634
+ export default {
635
+ name: "lwOutboundPickSowPage",
636
+ components:{
637
+ taskInfo,
638
+ sowList,
639
+ skuLocationInfo
640
+ },
641
+ mixins:[all, aloneAndNotAlone],
642
+ data() {
643
+ return {
644
+ // 任务数据
645
+ pickData:{},
646
+
647
+ // 拣选小车
648
+ sowCar:{
649
+ // 是否已绑定
650
+ needBind: true,
651
+ // 小车输入框
652
+ car:{
653
+ value: '',
654
+ focus: false
655
+ },
656
+ },
657
+ // 是否需要绑定拣选容器
658
+ needContainer: true,
659
+ // 是否能解绑
660
+ canUnbind: false,
661
+
662
+ // 绑定播种容器号弹框
663
+ bindContainerPopup:{
664
+ show: false,
665
+ sowList:[],
666
+ sowIndex: 0,
667
+ container:{
668
+ value: '',
669
+ focus: false
670
+ }
671
+ },
672
+
673
+
674
+ // 拣选tab激活项
675
+ tabAction:'',
676
+
677
+ // 正在拣选的任务索引
678
+ taskIndex: 0,
679
+ // 拣选库位
680
+ locationCode:{
681
+ value: '',
682
+ focus: false
683
+ },
684
+ lpn:{
685
+ value: '',
686
+ focus: false
687
+ },
688
+ sku:{
689
+ value: '',
690
+ focus: false
691
+ },
692
+ qty:{
693
+ value: '',
694
+ focus: false
695
+ },
696
+
697
+ // 计算播种位弹框
698
+ sowLocPopup:{
699
+ show: false,
700
+ list: []
701
+ },
702
+
703
+ // 异常弹框
704
+ abnPopup:{
705
+ show: false,
706
+ comShow: false
707
+ },
708
+
709
+ // 拣选缺货
710
+ lackPopup:{
711
+ show: false,
712
+ lackQty: '',
713
+ lackQtyFocus: false
714
+ },
715
+
716
+ // 拣满换容器
717
+ fullContainerPopup:{
718
+ show: false,
719
+ full:{
720
+ value: '',
721
+ focus: false
722
+ },
723
+ new:{
724
+ value: '',
725
+ focus: false
726
+ },
727
+ sowData:{}
728
+ }
729
+ }
730
+ },
731
+ computed:{
732
+ // 当前拣选行数据
733
+ pickLineData(){
734
+ const list = this.pickData.pendingPickLineList
735
+ return list && list.length ? list[this.taskIndex] : {}
736
+ },
737
+
738
+ // 当前拣选行是否需要校验LPN
739
+ hasLpn(){
740
+ return !!this.pickLineData.fromLpn
741
+ },
742
+
743
+ // 拣选播种调整后的拣选总量
744
+ pickChangeTotal(){
745
+ let num = 0
746
+ this.sowLocPopup.list.filter(item=>{
747
+ num+=Number(item.allocateSowQty)
748
+ })
749
+ return num
750
+ },
751
+
752
+ // 待拣选量
753
+ waitPickQty(){
754
+ return Number(this.pickLineData.totalQty || 0) - Number(this.pickLineData.pickQty || 0)
755
+ },
756
+
757
+ // 绑定弹框 - 当前绑定的播种位
758
+ bindPopupNowBindSowLoc(){
759
+ const list = this.bindContainerPopup.sowList
760
+ if (list && list.length){
761
+ return list[this.bindContainerPopup.sowIndex].sowLineCode
762
+ }
763
+ return ''
764
+ },
765
+
766
+ // 调用接口时候需要的数据
767
+ actionQuery(){
768
+ return {
769
+ pickId: this.pickData.pickId,
770
+ pickNo: this.pickData.pickNo,
771
+ pickSowToolCode: this.pickData.pickSowToolCode,
772
+ fromLocationId: this.pickLineData.fromLocationId,
773
+ fromLpn: this.pickLineData.fromLpn,
774
+ ownerId: this.pickLineData.ownerId,
775
+ skuId: this.pickLineData.skuId,
776
+ uom: this.pickLineData.uom,
777
+ uomQty: this.pickLineData.uomQty,
778
+ lineGroupKey: this.pickLineData.lineGroupKey,
779
+ }
780
+ }
781
+
782
+ },
783
+ mounted() {
784
+ this.getTaskData()
785
+ },
786
+ methods: {
787
+ // 获取任务数据
788
+ getTaskData(){
789
+ projectQueryPickSowData({
790
+ pickId: this.$route.query.lwPickId
791
+ }).then(res=>{
792
+ this.sowCar.car.value = res.pickSowToolCode || ''
793
+ this.sowCar.needBind = !this.sowCar.car.value
794
+ this.canUnbind = res.canUnbind
795
+ this.needContainer = res.needBindContainer
796
+
797
+ if (this.sowCar.needBind) {
798
+ this.$nextTick(()=>{
799
+ this.sowCar.car.focus = true
800
+ })
801
+ }
802
+
803
+ this.pickData = this.formatData(res)
804
+ this.checkTaskIndex(this.pickData.pendingPickLineList.length)
805
+ })
806
+ },
807
+ // 全部拣选完成
808
+ allPickOver(){
809
+ this.$lwToast.success(
810
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.jwlhnlca','当前任务已全部拣选完成')
811
+ )
812
+ history.go(-1)
813
+ },
814
+ // 操作成功后的提示并重新请求数据
815
+ changeSuccessGetData(msg){
816
+ this.$lwToast.success(msg)
817
+ this.getTaskData()
818
+ },
819
+ // 徽标
820
+ pickStatus(item) {
821
+ switch (item.pickStatus) {
822
+ case '100':
823
+ return {
824
+ type: 'danger',
825
+ msg: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.oidxrkta','未拣选')
826
+ }
827
+ case '200':
828
+ return {
829
+ type: 'warning',
830
+ msg: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.llqymbwx','拣选中')
831
+ }
832
+ case '300':
833
+ return {
834
+ type: 'success',
835
+ msg: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.ytgzgfkn','已拣选')
836
+ }
837
+ default:
838
+ return {
839
+ type: 'primary',
840
+ msg: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.htflqesv','未知')
841
+ }
842
+ }
843
+ },
844
+
845
+ // 确认绑定小车
846
+ bindCarConfirm(){
847
+ const val = this.sowCar.car.value
848
+
849
+ if (!val){
850
+ this.sowCar.car.focus = true
851
+ this.$lwShowErrorMsg(
852
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.jzjxgygr','请输入拣选小车')
853
+ )
854
+ return
855
+ }
856
+
857
+ projectWmsPickSowBind({
858
+ pickId: this.pickData.pickId,
859
+ pickSowToolCode: val
860
+ }).then(()=>{
861
+ this.getTaskData()
862
+ })
863
+ },
864
+ // 解除绑定小车
865
+ unbindCar(){
866
+ this.$lwDialog.confirm({
867
+ title: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.ppfjowab','提示'),
868
+ message: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.vtdombtl','解除绑定后,当前绑定容器将会被清空')
869
+ }).then(()=>{
870
+
871
+ projectWmsPickSowUnbind({
872
+ pickId: this.pickData.pickId,
873
+ pickSowToolCode: this.sowCar.car.value
874
+ }).then(()=>{
875
+ this.$lwToast.success(
876
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.pgvgwclm','解绑成功')
877
+ )
878
+ this.getTaskData()
879
+ })
880
+ }).catch(()=>{})
881
+ },
882
+
883
+
884
+ // 绑定周转箱按钮点击
885
+ bindContainerBtn(){
886
+ const sowList = this.$lwDeepCopy(this.pickData.sowLineList || [])
887
+ this.bindContainerPopup.sowList = sowList
888
+ let index = 0
889
+ for (let i=0;i<sowList.length;i++){
890
+ if (!sowList[i].containerNo){
891
+ index = i
892
+ break
893
+ }
894
+ }
895
+ this.bindContainerPopup.sowIndex = index
896
+ this.bindContainerPopup.show = true
897
+ this.bindContainerPopup.container.focus = true
898
+ },
899
+ // 绑定播种容器号弹框 - 确认绑定
900
+ sowLocationBindContainerConfirm(){
901
+ const popup = this.bindContainerPopup
902
+ const sowItem = popup.sowList[popup.sowIndex]
903
+
904
+ if(!popup.container.value){
905
+ popup.container.focus = true
906
+ this.$lwShowErrorMsg(
907
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.nqbmbqkw','请输入播种位【{0}】需要绑定的周转箱',[sowItem.sowLineCode])
908
+ )
909
+ return
910
+ }
911
+
912
+ projectWmsPickSowBindContainer({
913
+ pickId: this.pickData.pickId,
914
+ pickSowToolCode: this.sowCar.car.value,
915
+ sowLineCode: sowItem.sowLineCode,
916
+ bindContainer: popup.container.value,
917
+ }).then(()=>{
918
+ sowItem.containerNo = popup.container.value
919
+ popup.container.value = ''
920
+ popup.container.focus = true
921
+ popup.sowIndex++
922
+ if (popup.sowIndex >= popup.sowList.length){
923
+ this.$lwToast.success(
924
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.rfapmpwd','所有播种位已全部绑定容器')
925
+ )
926
+ popup.sowIndex = 0
927
+ }
928
+ })
929
+ },
930
+ // 绑定播种容器号弹框 - 选择绑定
931
+ selectSowLocation(index){
932
+ this.bindContainerPopup.sowIndex = index
933
+ this.bindContainerPopup.container.focus = true
934
+ this.bindContainerPopup.container.value = ''
935
+ },
936
+ // 绑定播种容器号弹框 - 重新绑定
937
+ repeatBind(){
938
+ this.$lwDialog.confirm({
939
+ title: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.ppfjowab','提示'),
940
+ message: this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.aekhpwnr','当前绑定容器将会被全部清空')
941
+ }).then(()=>{
942
+ projectWmsPickSowRebindContainer({
943
+ pickId: this.pickData.pickId,
944
+ pickSowToolCode: this.sowCar.car.value
945
+ }).then(()=>{
946
+ this.bindContainerPopup.sowList.forEach(item=>{
947
+ item.containerNo = ''
948
+ })
949
+ this.bindContainerPopup.sowIndex = 0
950
+ this.bindContainerPopup.container.value = ''
951
+ this.bindContainerPopup.container.focus = true
952
+ })
953
+ }).catch(()=>{})
954
+ },
955
+ // 绑定播种容器号弹框 - 确认绑定
956
+ confirmBind(){
957
+ this.bindContainerPopup.container.value=''
958
+ this.getTaskData()
959
+ },
960
+
961
+
962
+ // 拣选库位确认
963
+ locationCodeConfirm(){
964
+ if (this.locationCodeCheck()){
965
+ if (this.hasLpn){
966
+ this.lpn.focus = true
967
+ }else {
968
+ this.sku.focus = true
969
+ }
970
+ }
971
+ },
972
+ // 检查拣选库位
973
+ locationCodeCheck(){
974
+
975
+ return this.inputCheck({
976
+ key: 'locationCode',
977
+ checkVal: this.pickLineData.fromLocationCode,
978
+ })
979
+ },
980
+
981
+ // 托盘号确认
982
+ lpnConfirm(){
983
+ if (this.lpnCheck()) this.sku.focus = true
984
+ },
985
+ // 托盘号校验
986
+ lpnCheck(){
987
+
988
+ if (!this.hasLpn) return true
989
+
990
+ return this.inputCheck({
991
+ key: 'lpn',
992
+ checkVal: this.pickLineData.fromLpn,
993
+ needCheck: false
994
+ })
995
+ },
996
+
997
+ // 商品确认
998
+ skuConfirm(val,{data}){
999
+
1000
+ if (!this.skuCheck()) return
1001
+
1002
+ let newQty = 0
1003
+ // 如果条码解析成功,并且能解析出数量就加法运算
1004
+ if (data.qty){
1005
+ newQty = data.qty
1006
+ }
1007
+
1008
+ newQty = Number(this.pickLineData.uomQty)
1009
+ this.qty.value = Number(this.qty.value || 0) + newQty
1010
+ this.qty.focus = true
1011
+ },
1012
+ // 商品检查
1013
+ skuCheck(){
1014
+ return this.inputCheck({
1015
+ key: 'sku',
1016
+ checkVal: this.pickLineData.skuCode,
1017
+ })
1018
+ },
1019
+
1020
+ // 数量确认
1021
+ qtyConfirm(){
1022
+ if (this.qtyCheck()) this.pickConfirm()
1023
+ },
1024
+ // 数量校验
1025
+ qtyCheck(){
1026
+ const qty = Number(this.qty.value || 0)
1027
+ if (!qty){
1028
+ this.qty.focus = true
1029
+ this.$lwShowErrorMsg(
1030
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.mvkcfove','拣选数量不能为空,且应当是大于0的整数')
1031
+ )
1032
+ this.qty.value = ''
1033
+ return false
1034
+ }
1035
+
1036
+ const item = this.pickLineData
1037
+ const uomQty = Number(item.uomQty || 0)
1038
+
1039
+ if (uomQty === 0){
1040
+ console.warn('拣选最小单位数据异常,值为:', uomQty)
1041
+ return true
1042
+ }
1043
+
1044
+ if (qty%item.uomQty !== 0){
1045
+ this.qty.focus = true
1046
+ this.$lwShowErrorMsg(
1047
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.cyjdoamc','拣选数量应当为{0}的倍数',[item.uomLabel.top])
1048
+ )
1049
+ this.qty.value = ''
1050
+ return false
1051
+ }
1052
+
1053
+ const waitQty = Number(item.totalQty || 0) - Number(item.pickQty || 0)
1054
+ if (qty > waitQty){
1055
+ this.qty.focus = true
1056
+ this.$lwShowErrorMsg(
1057
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.ommmlsnz','拣选数量不能大于待拣量')
1058
+ )
1059
+ this.qty.value = ''
1060
+ return false
1061
+ }
1062
+
1063
+ return true
1064
+ },
1065
+
1066
+ // 任务行切换前
1067
+ cutStart(){
1068
+ return this.checkInputVal(
1069
+ ['locationCode', 'lpn', 'sku', 'qty'],
1070
+ )
1071
+
1072
+ },
1073
+ // 任务行切换后
1074
+ cutEnd(){
1075
+ this.clearInputVal(
1076
+ ['locationCode', 'lpn', 'sku', 'qty'],
1077
+ )
1078
+ },
1079
+
1080
+ // 确认拣选
1081
+ pickConfirm(){
1082
+ if (!(
1083
+ this.locationCodeCheck() &&
1084
+ this.lpnCheck() &&
1085
+ this.skuCheck() &&
1086
+ this.qtyCheck()
1087
+ )) return
1088
+
1089
+ projectWmsPickSowComputePosition({
1090
+ ...this.actionQuery,
1091
+ currentPickQty: this.qty.value,
1092
+ }).then(res=>{
1093
+ this.sowLocPopup.list = res
1094
+ this.sowLocPopup.show = true
1095
+ })
1096
+ },
1097
+ // 确认播种拣选
1098
+ confirmSow(){
1099
+ if (this.pickChangeTotal === 0){
1100
+ this.$lwShowErrorMsg(
1101
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.abhnbixj','请输入分配量')
1102
+ )
1103
+ return
1104
+ }
1105
+
1106
+ if (this.pickChangeTotal > Number(this.qty.value || 0)){
1107
+ this.$lwShowErrorMsg(
1108
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.cjiegwjf','调整后的拣选量不能大于当前拣选量')
1109
+ )
1110
+ return
1111
+ }
1112
+
1113
+ const list = this.sowLocPopup.list.filter(item=>item.allocateSowQty > item.waitSowQty)
1114
+ if(list.length){
1115
+ const str = list.join(',')
1116
+ this.$lwShowErrorMsg(
1117
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.jgaepbnm','播种位:{0},调整数量不能大于待播种量',[str])
1118
+ )
1119
+ return
1120
+ }
1121
+
1122
+ projectWmsPickSowSubmitPick({
1123
+ ...this.actionQuery,
1124
+ sowLineList: this.sowLocPopup.list.filter(item=>{
1125
+ item.currentPickQty = item.allocateSowQty
1126
+ return !!Number(item.currentPickQty || 0)
1127
+ })
1128
+ }).then(res=>{
1129
+ if(res.pickOrderFinish){
1130
+ this.allPickOver()
1131
+ return
1132
+ }
1133
+
1134
+ this.changeSuccessGetData(
1135
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.rluwnhce','拣选成功')
1136
+ )
1137
+ this.sowLocPopup.show = false
1138
+ })
1139
+ },
1140
+ // 确认播种拣选弹框关闭
1141
+ sowLocPopupOff(){
1142
+ this.cutEnd()
1143
+ },
1144
+
1145
+
1146
+ // 异常
1147
+ abnClick(){
1148
+ this.abnPopup.comShow = true
1149
+ this.abnPopup.show = true
1150
+ },
1151
+ // 异常确认
1152
+ abnConfirm(){
1153
+ const {success, data} = this.$refs.abnormal.getAbnormalData()
1154
+
1155
+ if (!success) return
1156
+
1157
+ projectWmsOutboundSubmitPickAbnormal({
1158
+ ...this.actionQuery,
1159
+ ...data
1160
+ }).then(res=>{
1161
+ if (res.taskFinishStatus){
1162
+ this.allPickOver()
1163
+ return
1164
+ }
1165
+
1166
+ this.changeSuccessGetData(
1167
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.uzpvcags','异常上报成功')
1168
+ )
1169
+ this.abnPopup.show = false
1170
+ })
1171
+ },
1172
+
1173
+
1174
+ // 拣选缺货
1175
+ pickLack(){
1176
+ this.lackPopup.show = true
1177
+ this.lackPopup.lackQtyFocus = true
1178
+ },
1179
+ // 确认拣选缺货
1180
+ lackConfirm(){
1181
+ const qty = Number(this.lackPopup.lackQty || 0)
1182
+ if (!qty){
1183
+ this.lackPopup.lackQtyFocus = true
1184
+ this.$lwShowErrorMsg(
1185
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.eowiwjep','缺货量不能为空,且应当是大于0的整数')
1186
+ )
1187
+ this.lackPopup.lackQty = ''
1188
+ return
1189
+ }
1190
+
1191
+
1192
+ // 判断是否大于待拣量
1193
+ if (this.waitPickQty < qty){
1194
+ this.lackPopup.lackQtyFocus = true
1195
+ this.$lwShowErrorMsg(
1196
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.oqzvdfeq','缺货量不能大于待拣量')
1197
+ )
1198
+ this.lackPopup.lackQty = ''
1199
+ return
1200
+ }
1201
+
1202
+ projectWmsOutboundSubmitPickStockout({
1203
+ ...this.actionQuery,
1204
+ stockoutQty: qty
1205
+ }).then((res)=>{
1206
+ if (res.taskFinishStatus){
1207
+ this.allPickOver()
1208
+ return
1209
+ }
1210
+ this.changeSuccessGetData(
1211
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.kfuarlea','缺货上报成功')
1212
+ )
1213
+ this.lackPopup.show = false
1214
+ })
1215
+ },
1216
+
1217
+
1218
+ // 拣满换容器
1219
+ pickFullChangeContainer(){
1220
+ this.fullContainerPopup.show = true
1221
+ this.fullContainerPopup.full.focus = true
1222
+ },
1223
+ // 拣满换容器弹框 - 已满容器确认
1224
+ fullContainerConfirm(){
1225
+ const val = this.fullContainerPopup.full.value
1226
+ if(!val){
1227
+ this.fullContainerPopup.full.focus = true
1228
+ this.$lwShowErrorMsg(
1229
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.ochqlial','请输入已满容器')
1230
+ )
1231
+ return
1232
+ }
1233
+
1234
+ const list = this.pickData.sowLineList.filter(item=>item.containerNo === val)
1235
+
1236
+ if(!list.length){
1237
+ this.fullContainerPopup.full.value = ''
1238
+ this.fullContainerPopup.full.focus = true
1239
+ this.$lwShowErrorMsg(
1240
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.oavxgmht','输入的已满容器没有在播种容器中找到')
1241
+ )
1242
+ return
1243
+ }
1244
+
1245
+ this.fullContainerPopup.sowData = list[0]
1246
+ this.fullContainerPopup.full.value = ''
1247
+ this.fullContainerPopup.new.focus = true
1248
+
1249
+ },
1250
+ // 拣满换容器弹框 - 确认更换
1251
+ changeContainerConfirm(){
1252
+ const val = this.fullContainerPopup.new.value
1253
+ if(!val){
1254
+ this.fullContainerPopup.full.focus = true
1255
+ this.$lwShowErrorMsg(
1256
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.sujifzbk','请输入新容器')
1257
+ )
1258
+ return
1259
+ }
1260
+
1261
+ projectWmsPickSowChangeContainer({
1262
+ ...this.actionQuery,
1263
+ sowLineCode: this.fullContainerPopup.sowData.sowLineCode,
1264
+ bindContainer: this.fullContainerPopup.new.value
1265
+ }).then(()=>{
1266
+ this.changeSuccessGetData(
1267
+ this.$lwLanguage.get('wms_project.pda.components.page.outbound.pick.sow.index.wnzjpnad','更换成功')
1268
+ )
1269
+ this.fullContainerPopup.show = false
1270
+ })
1271
+ },
1272
+ // 拣满换容器弹框 - 关闭
1273
+ fullContainerPopupOff(){
1274
+ this.fullContainerPopup.full.value = ''
1275
+ this.fullContainerPopup.new.value = ''
1276
+ this.fullContainerPopup.sowData = {}
1277
+ }
1278
+ }
1279
+ }
1280
+ </script>
1281
+
1282
+ <style scoped lang="less">
1283
+
1284
+ .col-1{
1285
+ width: 33%;
1286
+ flex-shrink: 0;
1287
+ text-align: center;
1288
+ }
1289
+
1290
+ </style>