@logwire/logwire-wms-pda-ui 1.1.17 → 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 (753) hide show
  1. package/README.md +4 -21
  2. package/dist/logwire-wms-pda-ui.js +7 -0
  3. package/package.json +16 -42
  4. package/src/api/common/Device.js +43 -43
  5. package/src/api/common/Dict.js +19 -19
  6. package/src/api/common/GetImgSrc.js +20 -20
  7. package/src/api/common/Language.js +31 -31
  8. package/src/api/common/Lot.js +20 -20
  9. package/src/api/common/Msg.js +8 -0
  10. package/src/api/common/Permissions.js +22 -22
  11. package/src/api/common/Print.js +65 -65
  12. package/src/api/common/Task.js +61 -61
  13. package/src/api/common/UUID.js +28 -28
  14. package/src/api/common/User.js +53 -53
  15. package/src/api/common/Waerhouse.js +28 -28
  16. package/src/api/common/common.js +16 -1
  17. package/src/api/common/index.js +37 -37
  18. package/src/api/config/masterLocation/masterLocationConfig/action.js +61 -0
  19. package/src/api/config/masterLocation/masterLocationConfig/index.js +18 -0
  20. package/src/api/config/masterLocation/masterLocationQuery/action.js +28 -0
  21. package/src/api/{inner → config}/newProject/action.js +88 -88
  22. package/src/api/{inner → config}/newProject/index.js +17 -17
  23. package/src/api/inbound/index.js +6 -6
  24. package/src/api/inbound/quality.js +109 -99
  25. package/src/api/inbound/receive.js +438 -119
  26. package/src/api/inner/borrow/index.js +51 -0
  27. package/src/api/inner/count/index.js +97 -97
  28. package/src/api/inner/dead/action.js +24 -0
  29. package/src/api/inner/dead/large.js +78 -0
  30. package/src/api/inner/dead/small.js +96 -0
  31. package/src/api/inner/disposeAbnormal/action.js +69 -69
  32. package/src/api/inner/disposeAbnormal/index.js +33 -33
  33. package/src/api/inner/materialApply/index.js +51 -51
  34. package/src/api/inner/move/abnormalMove.js +25 -25
  35. package/src/api/inner/move/lpnMove.js +25 -25
  36. package/src/api/inner/move/taskMove.js +57 -57
  37. package/src/api/inner/quality/action.js +51 -0
  38. package/src/api/inner/quality/sample.js +24 -0
  39. package/src/api/inner/reportAbnormal/index.js +34 -34
  40. package/src/api/inventory/inventory.js +63 -0
  41. package/src/api/outbound/bale/aloneBale/action.js +123 -0
  42. package/src/api/outbound/bale/aloneBale/index.js +24 -0
  43. package/src/api/outbound/bale/baleChange/action.js +51 -0
  44. package/src/api/outbound/bale/baleChange/addCheck.js +33 -0
  45. package/src/api/outbound/bale/checkBale/action.js +9 -0
  46. package/src/api/outbound/bale/checkBale/allCheck.js +25 -25
  47. package/src/api/outbound/bale/checkBale/index.js +2 -2
  48. package/src/api/outbound/block/index.js +68 -0
  49. package/src/api/outbound/delivery/action.js +181 -149
  50. package/src/api/outbound/delivery/addOrder.js +32 -32
  51. package/src/api/outbound/delivery/index.js +25 -25
  52. package/src/api/outbound/handover/index.js +33 -0
  53. package/src/api/outbound/handover/lpn.js +33 -0
  54. package/src/api/outbound/handover/mixin.js +42 -0
  55. package/src/api/outbound/handover/pageBox.js +24 -0
  56. package/src/api/outbound/pick/alone.js +60 -60
  57. package/src/api/outbound/pick/box.js +42 -42
  58. package/src/api/outbound/pick/index.js +68 -60
  59. package/src/api/outbound/pick/lpn.js +42 -42
  60. package/src/api/outbound/pick/notAlone.js +33 -33
  61. package/src/api/outbound/pick/sow.js +105 -0
  62. package/src/api/outbound/pickMerge/index.js +69 -69
  63. package/src/api/outbound/reprint-box/index.js +17 -0
  64. package/src/api/outbound/sow/action.js +123 -123
  65. package/src/api/outbound/sow/index.js +24 -24
  66. package/src/api/outbound/stockout/index.js +54 -0
  67. package/src/api/outbound/summary/box.js +33 -33
  68. package/src/api/outbound/summary/lpn.js +23 -23
  69. package/src/api/outbound/transfer/index.js +23 -0
  70. package/src/api/receive/abnormal.js +34 -34
  71. package/src/api/receive/putaway.js +116 -82
  72. package/src/api/receive/randomMove.js +43 -43
  73. package/src/api/receive/receipt.js +32 -25
  74. package/src/assets/css/changeVant.less +7 -0
  75. package/src/assets/css/global.less +27 -10
  76. package/src/assets/css/index.less +4 -4
  77. package/src/assets/css/var.less +11 -29
  78. package/src/assets/css//345/205/250/345/261/200/346/240/267/345/274/217.md +1 -31
  79. package/src/assets/img/close_red.png +0 -0
  80. package/src/assets/img/lwLoginModel/language.png +0 -0
  81. package/src/assets/img/lwLoginModel/timezone.png +0 -0
  82. package/src/assets/img/lwNotData/noneData.png +0 -0
  83. package/src/assets/img/menu/allotReceive.png +0 -0
  84. package/src/assets/img/menu/baleChange.png +0 -0
  85. package/src/assets/img/menu/borrowPick.png +0 -0
  86. package/src/assets/img/menu/boxTransfer.png +0 -0
  87. package/src/assets/img/menu/confirmStockOut.png +0 -0
  88. package/src/assets/img/menu/count.png +0 -0
  89. package/src/assets/img/menu/deadPutaway.png +0 -0
  90. package/src/assets/img/menu/disposeAbnormal.png +0 -0
  91. package/src/assets/img/menu/handover.png +0 -0
  92. package/src/assets/img/menu/lpnPack.png +0 -0
  93. package/src/assets/img/menu/mainData.png +0 -0
  94. package/src/assets/img/menu/mainLoc.png +0 -0
  95. package/src/assets/img/menu/mainLocSearch.png +0 -0
  96. package/src/assets/img/menu/moveUp.png +0 -0
  97. package/src/assets/img/menu/newConfig.png +0 -0
  98. package/src/assets/img/menu/outboundBlock.png +0 -0
  99. package/src/assets/img/menu/outboundReprint.png +0 -0
  100. package/src/assets/img/menu/pickContainer.png +0 -0
  101. package/src/assets/img/menu/process.png +0 -0
  102. package/src/assets/img/menu/processTable.png +0 -0
  103. package/src/assets/img/menu/quality.png +0 -0
  104. package/src/assets/img/menu/receive-case.png +0 -0
  105. package/src/assets/img/menu/receive-lpn.png +0 -0
  106. package/src/assets/img/menu/receive-sku.png +0 -0
  107. package/src/assets/img/menu/receive_random.png +0 -0
  108. package/src/assets/img/menu/stockSearch.png +0 -0
  109. package/src/assets/img/my/timezone.png +0 -0
  110. package/src/assets/img/timezone.png +0 -0
  111. package/src/components/module/AbnormalInput/index.js +11 -0
  112. package/src/components/module/AbnormalInput/index.vue +322 -0
  113. 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
  114. package/src/components/module/BoxInfo/index.js +10 -0
  115. package/src/components/module/BoxInfo/index.vue +69 -0
  116. 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
  117. package/src/components/module/InnerAbnormal/index.js +1 -1
  118. package/src/components/module/InnerAbnormal/index.vue +12 -259
  119. 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
  120. package/src/components/module/Login/index.js +11 -11
  121. package/src/components/module/Login/index.vue +355 -328
  122. package/src/components/module/Login//347/231/273/345/275/225/346/250/241/345/235/227.md +1 -1
  123. package/src/components/module/Lot/index.js +11 -11
  124. package/src/components/module/Lot/index.vue +28 -4
  125. package/src/components/module/Lot//346/211/271/346/254/241/345/261/236/346/200/247.md +4 -2
  126. package/src/components/module/LotLook/index.js +11 -11
  127. package/src/components/module/LotLook/index.vue +36 -23
  128. package/src/components/module/LotLook//346/225/260/346/215/256/346/237/245/347/234/213.md +3 -0
  129. package/src/components/module/Menu/index.js +12 -12
  130. package/src/components/module/Menu/index.vue +122 -118
  131. package/src/components/module/Menu//350/217/234/345/215/225/346/240/217.md +1 -1
  132. package/src/components/module/MsgItem/index.js +11 -11
  133. package/src/components/module/MsgItem/index.vue +42 -27
  134. 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
  135. package/src/components/module/OnLine/index.js +11 -11
  136. package/src/components/module/OnLine/index.vue +1 -1
  137. 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
  138. package/src/components/module/ReceiveAbnormal/index.js +11 -11
  139. package/src/components/module/ReceiveAbnormal/index.vue +123 -32
  140. 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
  141. package/src/components/module/ScanDataList/index.js +11 -11
  142. package/src/components/module/ScanDataList/index.vue +34 -27
  143. 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
  144. package/src/components/module/SkuInfo/index.js +11 -11
  145. package/src/components/module/SkuInfo/index.vue +6 -3
  146. 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
  147. package/src/components/module/SystemInfo/index.js +11 -11
  148. package/src/components/module/SystemInfo/index.vue +20 -10
  149. 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
  150. package/src/components/module/index.js +20 -14
  151. package/src/components/page/common/Device/index.js +11 -11
  152. package/src/components/page/common/Device/index.vue +2 -2
  153. package/src/components/page/common/Device//350/256/276/345/244/207/347/256/241/347/220/206/351/241/265.md +1 -1
  154. package/src/components/page/common/Home/index.js +11 -11
  155. package/src/components/page/common/Home/index.vue +113 -113
  156. package/src/components/page/common/Home//344/270/273/351/241/265.md +1 -1
  157. package/src/components/page/common/Language/index.js +11 -11
  158. package/src/components/page/common/Language/index.vue +143 -142
  159. package/src/components/page/common/Language//350/257/255/350/250/200.md +1 -1
  160. package/src/components/page/common/Login/index.js +11 -11
  161. package/src/components/page/common/Login/index.vue +155 -157
  162. package/src/components/page/common/Login//347/231/273/345/275/225/351/241/265.md +1 -1
  163. package/src/components/page/common/Menu/index.js +11 -11
  164. package/src/components/page/common/Menu/index.vue +77 -71
  165. package/src/components/page/common/Menu//350/217/234/345/215/225/351/241/265.md +1 -1
  166. package/src/components/page/common/Msg/index.js +11 -11
  167. package/src/components/page/common/Msg/index.vue +260 -152
  168. package/src/components/page/common/Msg//346/266/210/346/201/257/351/241/265.md +1 -1
  169. package/src/components/page/common/My/index.js +11 -11
  170. package/src/components/page/common/My/index.vue +520 -477
  171. package/src/components/page/common/My//346/210/221/347/232/204/347/256/241/347/220/206/351/241/265.md +1 -1
  172. package/src/components/page/common/Print/index.js +11 -11
  173. package/src/components/page/common/Print/index.vue +7 -10
  174. package/src/components/page/common/Print//346/211/223/345/215/260/346/234/272/350/256/276/347/275/256/351/241/265.md +1 -1
  175. package/src/components/page/common/Task/index.js +11 -11
  176. package/src/components/page/common/Task/index.vue +707 -699
  177. package/src/components/page/common/Task//344/273/273/345/212/241/351/241/265.md +1 -1
  178. package/src/components/page/common/Timezone/index.js +11 -0
  179. package/src/components/page/common/Timezone/index.vue +82 -0
  180. 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
  181. package/src/components/page/common/Warehouse/index.js +11 -11
  182. package/src/components/page/common/Warehouse/index.vue +11 -3
  183. package/src/components/page/common/Warehouse//344/273/223/345/272/223/351/200/211/346/213/251/351/241/265.md +1 -1
  184. package/src/components/page/common/index.js +4 -1
  185. package/src/components/page/config/index.js +28 -0
  186. package/src/components/page/config/masterLocation/masterLocationConfig/action/index.js +11 -0
  187. 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
  188. package/src/components/page/config/masterLocation/masterLocationConfig/action/index.vue +780 -0
  189. package/src/components/page/config/masterLocation/masterLocationConfig/index/index.js +11 -0
  190. 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
  191. package/src/components/page/config/masterLocation/masterLocationConfig/index/index.vue +112 -0
  192. 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
  193. package/src/components/page/config/masterLocation/masterLocationQuery/action/index.js +18 -0
  194. package/src/components/page/config/masterLocation/masterLocationQuery/action/queryByLocationCode.vue +165 -0
  195. package/src/components/page/config/masterLocation/masterLocationQuery/action/queryBySkuCode.vue +168 -0
  196. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.js +11 -0
  197. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.less +0 -0
  198. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.vue +114 -0
  199. 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
  200. package/src/components/page/config/masterLocation//344/270/273/345/272/223/344/275/215.md +0 -0
  201. package/src/components/page/{inbound → config}/newProject/action/index.js +13 -13
  202. package/src/components/page/config/newProject/action/index.less +0 -0
  203. package/src/components/page/{inbound → config}/newProject/action/index.vue +1595 -1469
  204. package/src/components/page/{inbound → config}/newProject/index/index.js +13 -13
  205. package/src/components/page/config/newProject/index/index.less +0 -0
  206. package/src/components/page/{inbound → config}/newProject/index/index.vue +122 -122
  207. package/src/components/page/config/newProject//346/226/260/345/223/201/351/205/215/347/275/256.md +0 -0
  208. package/src/components/page/count/components/CountBoard.vue +115 -115
  209. package/src/components/page/count/components/RandomCount.vue +16 -16
  210. package/src/components/page/count/index.js +21 -21
  211. package/src/components/page/count/inv/action/index.js +5 -5
  212. package/src/components/page/count/inv/action/index.vue +294 -272
  213. package/src/components/page/count/inv/index/index.js +5 -5
  214. package/src/components/page/count/inv/index/index.vue +190 -190
  215. package/src/components/page/count/loc/action/index.js +5 -5
  216. package/src/components/page/count/loc/action/index.vue +53 -53
  217. package/src/components/page/count/loc/index/index.js +5 -5
  218. package/src/components/page/count/loc/index/index.vue +184 -184
  219. package/src/components/page/inbound/components/AllocReceiveResult.vue +129 -0
  220. package/src/components/page/inbound/components/AllocScanListItem.vue +147 -0
  221. package/src/components/page/inbound/components/AllocSkuListItem.vue +148 -0
  222. package/src/components/page/inbound/components/AsnInfo.vue +243 -181
  223. package/src/components/page/inbound/components/AsnSkuInfo.vue +66 -46
  224. package/src/components/page/inbound/components/QualityCard.vue +230 -230
  225. package/src/components/page/inbound/components/QualityTaskInfo.vue +88 -88
  226. package/src/components/page/inbound/components/SearchBar.vue +85 -0
  227. package/src/components/page/inbound/components/SkuReceiveInfo.vue +69 -0
  228. package/src/components/page/inbound/components/SnsList.vue +10 -6
  229. package/src/components/page/inbound/index.js +23 -17
  230. package/src/components/page/inbound/receive/home/index.js +5 -5
  231. package/src/components/page/inbound/receive/home/index.vue +145 -73
  232. package/src/components/page/inbound/receive/index/index.js +5 -5
  233. package/src/components/page/inbound/receive/index/index.vue +17 -14
  234. package/src/components/page/inbound/receive/quality/LwInboundQualityExecutePage.vue +110 -59
  235. package/src/components/page/inbound/receive/quality/LwInboundQualityTaskListPage.vue +19 -19
  236. package/src/components/page/inbound/receive/quality/index.js +16 -16
  237. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocSkuExecutePage.vue +595 -0
  238. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocSnExecutePage.vue +233 -0
  239. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocTabListPage.vue +247 -0
  240. package/src/components/page/inbound/receive/receive-alloc/index.js +19 -0
  241. package/src/components/page/inbound/receive/receive-case/LwInboundReceiveCaseExecutePage.vue +312 -0
  242. package/src/components/page/inbound/receive/receive-case/LwInboundReceiveCaseScanPage.vue +80 -0
  243. package/src/components/page/inbound/receive/receive-case/index.js +16 -0
  244. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnBatchExecutePage.vue +386 -0
  245. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnExecutePage.vue +216 -0
  246. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnScanPage.vue +80 -0
  247. package/src/components/page/inbound/receive/receive-lpn/index.js +19 -0
  248. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuExecutePage.vue +340 -0
  249. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuScanPage.vue +111 -0
  250. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuSnExecutePage.vue +340 -0
  251. package/src/components/page/inbound/receive/receive-random/index.js +19 -0
  252. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuAdvancePage.vue +85 -76
  253. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuDirectPage.vue +103 -87
  254. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuScanPage.vue +65 -54
  255. package/src/components/page/inbound/receive/receive-sku/index.js +19 -19
  256. package/src/components/page/inbound/util/InboundUtils.js +72 -0
  257. package/src/components/page/index.js +8 -0
  258. package/src/components/page/inner/abnormalMove/index/index.js +11 -11
  259. package/src/components/page/inner/abnormalMove/index/index.vue +9 -11
  260. package/src/components/page/inner/borrow/action/index.js +11 -0
  261. package/src/components/page/inner/borrow/action/index.vue +831 -0
  262. package/src/components/page/inner/borrow/index/index.js +11 -0
  263. package/src/components/page/inner/borrow/index/index.vue +249 -0
  264. package/src/components/page/inner/borrow//345/200/237/344/273/266.md +0 -0
  265. package/src/components/page/inner/dead/components/abnPopup.vue +83 -0
  266. package/src/components/page/inner/dead/components/bagItem.vue +104 -0
  267. package/src/components/page/inner/dead/components/boxListItem.vue +135 -0
  268. package/src/components/page/inner/dead/components/dataInfo.vue +94 -0
  269. package/src/components/page/inner/dead/components/lackPopup.vue +190 -0
  270. package/src/components/page/inner/dead/components/lpnListItem.vue +115 -0
  271. package/src/components/page/inner/dead/components/taskItem.vue +570 -0
  272. package/src/components/page/inner/dead/components/waitOverLpn.vue +74 -0
  273. package/src/components/page/inner/dead/large/index.js +11 -0
  274. package/src/components/page/inner/dead/large/index.vue +376 -0
  275. 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
  276. package/src/components/page/inner/dead/putaway/action/index.js +11 -0
  277. package/src/components/page/inner/dead/putaway/action/index.vue +131 -0
  278. package/src/components/page/inner/dead/putaway/components/collapseItem.vue +128 -0
  279. package/src/components/page/inner/dead/putaway/index/index.js +11 -0
  280. package/src/components/page/inner/dead/putaway/index/index.vue +63 -0
  281. 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
  282. package/src/components/page/inner/dead/small/index.js +11 -0
  283. package/src/components/page/inner/dead/small/index.vue +656 -0
  284. package/src/components/page/inner/dead/small//345/260/217/344/273/266 - /350/243/205/347/256/261.md +0 -0
  285. package/src/components/page/inner/dead/taskEntrance/index.js +11 -0
  286. package/src/components/page/inner/dead/taskEntrance/index.vue +49 -0
  287. 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
  288. package/src/components/page/inner/dead//345/221/206/346/273/236/345/223/201/346/225/264/347/220/206.md +0 -0
  289. package/src/components/page/inner/disposeAbnormal/action/index.js +11 -11
  290. package/src/components/page/inner/disposeAbnormal/action/index.vue +37 -37
  291. package/src/components/page/inner/disposeAbnormal/components/abnInfo/index.vue +655 -655
  292. package/src/components/page/inner/disposeAbnormal/components/disposePopup/index.vue +17 -17
  293. package/src/components/page/inner/disposeAbnormal/components/listItem/index.vue +213 -213
  294. package/src/components/page/inner/disposeAbnormal/components/searchBar/index.vue +13 -13
  295. package/src/components/page/inner/disposeAbnormal/index/index.js +11 -11
  296. package/src/components/page/inner/disposeAbnormal/index/index.vue +16 -5
  297. package/src/components/page/inner/index.js +119 -62
  298. package/src/components/page/inner/lpnMove/action/index.js +11 -11
  299. package/src/components/page/inner/lpnMove/action/index.vue +24 -3
  300. package/src/components/page/inner/lpnMove/index/index.js +11 -11
  301. package/src/components/page/inner/materialApply/action/index.js +10 -10
  302. package/src/components/page/inner/materialApply/action/index.vue +10 -18
  303. package/src/components/page/inner/materialApply/generate/index.js +10 -10
  304. package/src/components/page/inner/materialApply/generate/index.vue +10 -1
  305. package/src/components/page/inner/movePutAway/index/index.js +11 -11
  306. package/src/components/page/inner/movePutAway/index/index.vue +5 -5
  307. package/src/components/page/inner/quality/action/index.js +11 -0
  308. package/src/components/page/inner/quality/action/index.vue +720 -0
  309. package/src/components/page/inner/quality/components/lookData.vue +109 -0
  310. package/src/components/page/inner/quality/components/sampleInfo.vue +62 -0
  311. package/src/components/page/inner/quality/sample/index.js +11 -0
  312. package/src/components/page/inner/quality/sample/index.vue +426 -0
  313. package/src/components/page/inner/quality/sample//346/212/275/346/243/200.md +0 -0
  314. package/src/components/page/inner/quality//350/264/250/346/243/200.md +0 -0
  315. package/src/components/page/inner/randomMove/components/Down/index.vue +61 -24
  316. package/src/components/page/inner/randomMove/components/Up/index.vue +100 -36
  317. package/src/components/page/inner/randomMove/index/index.js +11 -11
  318. package/src/components/page/inner/randomMove/index/index.vue +152 -152
  319. package/src/components/page/inner/reportAbnormal/action/index.js +11 -11
  320. package/src/components/page/inner/reportAbnormal/action/index.vue +244 -246
  321. package/src/components/page/inner/reportAbnormal/index/index.js +11 -11
  322. package/src/components/page/inner/reportAbnormal/index/index.vue +9 -1
  323. package/src/components/page/inner/taskMove/index/index.js +11 -11
  324. package/src/components/page/inner/taskMove/index/index.vue +1495 -1374
  325. package/src/components/page/inventory/index.js +17 -0
  326. package/src/components/page/inventory/inventoryItem/index.vue +127 -0
  327. package/src/components/page/inventory/inventoryLotPage/index.vue +208 -0
  328. package/src/components/page/inventory/queryInventory/index/index.js +11 -0
  329. package/src/components/page/inventory/queryInventory/index/index.less +0 -0
  330. package/src/components/page/inventory/queryInventory/index/index.vue +231 -0
  331. package/src/components/page/inventory/queryInventory/page/index.js +11 -0
  332. package/src/components/page/inventory/queryInventory/page/index.less +0 -0
  333. package/src/components/page/inventory/queryInventory/page/index.vue +525 -0
  334. package/src/components/page/outbound/bale/aloneBale/action/index.js +11 -11
  335. package/src/components/page/outbound/bale/aloneBale/action/index.vue +699 -112
  336. package/src/components/page/outbound/bale/aloneBale/index/index.js +11 -11
  337. package/src/components/page/outbound/bale/aloneBale/index/index.vue +148 -86
  338. package/src/components/page/outbound/bale/aloneBale/newBale/index.js +11 -11
  339. package/src/components/page/outbound/bale/aloneBale/newBale/index.vue +67 -53
  340. package/src/components/page/outbound/bale/baleChange/action/index.js +11 -0
  341. package/src/components/page/outbound/bale/baleChange/action/index.vue +585 -0
  342. package/src/components/page/outbound/bale/baleChange/index/index.js +11 -0
  343. package/src/components/page/outbound/bale/baleChange/index/index.vue +67 -0
  344. package/src/components/page/outbound/bale/baleChange/skuCheck/index.js +11 -0
  345. package/src/components/page/outbound/bale/baleChange/skuCheck/index.vue +351 -0
  346. 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
  347. package/src/components/page/outbound/bale/checkBale/action/index.js +11 -11
  348. package/src/components/page/outbound/bale/checkBale/action/index.vue +247 -636
  349. package/src/components/page/outbound/bale/checkBale/allCheck/index.js +11 -11
  350. package/src/components/page/outbound/bale/checkBale/allCheck/index.vue +119 -119
  351. package/src/components/page/outbound/bale/checkBale/index/index.js +11 -11
  352. package/src/components/page/outbound/bale/checkBale/index/index.vue +261 -259
  353. package/src/components/page/outbound/bale/checkBale/newBale/index.js +11 -11
  354. package/src/components/page/outbound/bale/checkBale/newBale/index.vue +68 -62
  355. package/src/components/page/outbound/bale/components/allBlock/index.vue +97 -97
  356. package/src/components/page/outbound/bale/components/containerInfo/index.vue +43 -38
  357. package/src/components/page/outbound/bale/components/containerInfo//346/215/206/345/214/205/345/256/271/345/231/250/344/277/241/346/201/257.md +2 -2
  358. package/src/components/page/outbound/bale/components/containerSkuQty/img.png +0 -0
  359. package/src/components/page/outbound/bale/components/containerSkuQty/index.vue +58 -58
  360. 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
  361. package/src/components/page/outbound/bale/components/delSku/index.vue +317 -0
  362. 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
  363. package/src/components/page/outbound/bale/components/partBlock/index.vue +17 -13
  364. package/src/components/page/outbound/bale/components/planCollapse/index.vue +21 -25
  365. package/src/components/page/outbound/bale/components/repeatCheck/index.vue +101 -0
  366. 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
  367. package/src/components/page/outbound/bale/components/storeInfo/index.vue +9 -9
  368. package/src/components/page/outbound/bale/components/storeInfo//345/256/242/346/210/267/346/215/206/345/214/205/344/277/241/346/201/257.md +1 -1
  369. package/src/components/page/outbound/bale/components/storeInfoSkuList/index.vue +18 -11
  370. 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
  371. package/src/components/page/outbound/bale/mixins.js +212 -0
  372. 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
  373. package/src/components/page/outbound/block/LwOutboundBlockBoxListPage.vue +67 -0
  374. package/src/components/page/outbound/block/LwOutboundBlockExecutePage.vue +316 -0
  375. package/src/components/page/outbound/block/components/BlockInfo.vue +56 -0
  376. package/src/components/page/outbound/block/index.js +16 -0
  377. package/src/components/page/outbound/block//345/207/272/345/272/223/346/213/246/346/210/252.txt +0 -0
  378. package/src/components/page/outbound/boxTransfer/action/index.js +11 -0
  379. package/src/components/page/outbound/boxTransfer/action/index.vue +214 -0
  380. package/src/components/page/outbound/boxTransfer/index/index.js +11 -0
  381. package/src/components/page/outbound/boxTransfer/index/index.vue +174 -0
  382. package/src/components/page/outbound/boxTransfer//346/273/236/347/225/231/344/273/266/350/275/254/345/255/230.md +0 -0
  383. package/src/components/page/outbound/delivery/action/index.js +11 -11
  384. package/src/components/page/outbound/delivery/action/index.vue +383 -245
  385. package/src/components/page/outbound/delivery/addOrder/index.js +11 -11
  386. package/src/components/page/outbound/delivery/addOrder/index.vue +24 -24
  387. package/src/components/page/outbound/delivery/components/boxItem/index.vue +68 -32
  388. package/src/components/page/outbound/delivery/components/orderContent/index.vue +177 -143
  389. package/src/components/page/outbound/delivery/components/orderContentTitle/index.vue +525 -239
  390. package/src/components/page/outbound/delivery/components/soAndLpnItem/index.vue +91 -44
  391. package/src/components/page/outbound/delivery/index/index.js +11 -11
  392. package/src/components/page/outbound/delivery/index/index.vue +63 -12
  393. package/src/components/page/outbound/handover/components/boxInfo.vue +51 -0
  394. package/src/components/page/outbound/handover/components/boxNumList.vue +158 -0
  395. package/src/components/page/outbound/handover/components/collapseItem.vue +136 -0
  396. package/src/components/page/outbound/handover/components/customerAndLine.vue +179 -0
  397. package/src/components/page/outbound/handover/components/customerList.vue +94 -0
  398. package/src/components/page/outbound/handover/components/lineInfo.vue +129 -0
  399. package/src/components/page/outbound/handover/components/lpnListItem.vue +119 -0
  400. package/src/components/page/outbound/handover/components/nowScan.vue +59 -0
  401. package/src/components/page/outbound/handover/components/pageBox.vue +524 -0
  402. package/src/components/page/outbound/handover/components/storeInfo.vue +128 -0
  403. package/src/components/page/outbound/handover/customer/index.js +11 -0
  404. package/src/components/page/outbound/handover/customer/index.vue +34 -0
  405. package/src/components/page/outbound/handover/index/index.js +11 -0
  406. package/src/components/page/outbound/handover/index/index.vue +217 -0
  407. package/src/components/page/outbound/handover/line/index.js +11 -0
  408. package/src/components/page/outbound/handover/line/index.vue +32 -0
  409. package/src/components/page/outbound/handover/lpn/index.js +11 -0
  410. package/src/components/page/outbound/handover/lpn/index.vue +262 -0
  411. package/src/components/page/outbound/handover/mixin.js +207 -0
  412. package/src/components/page/outbound/handover//345/207/272/345/272/223/344/272/244/346/216/245.md +0 -0
  413. package/src/components/page/outbound/index.js +58 -0
  414. package/src/components/page/outbound/lpnPack/action/index.js +11 -0
  415. package/src/components/page/outbound/lpnPack/action/index.vue +287 -0
  416. package/src/components/page/outbound/lpnPack/components/lpnActionInfo.vue +113 -0
  417. package/src/components/page/outbound/lpnPack/components/lpnItem.vue +126 -0
  418. package/src/components/page/outbound/lpnPack/index/index.js +11 -0
  419. package/src/components/page/outbound/lpnPack/index/index.vue +166 -0
  420. package/src/components/page/outbound/lpnPack/newLpnPack/index.js +11 -0
  421. package/src/components/page/outbound/lpnPack/newLpnPack/index.vue +80 -0
  422. package/src/components/page/outbound/lpnPack/newLpnPack//346/226/260/346/211/223/346/211/230.md +0 -0
  423. package/src/components/page/outbound/lpnPack/over/index.js +11 -0
  424. package/src/components/page/outbound/lpnPack/over/index.vue +85 -0
  425. package/src/components/page/outbound/lpnPack/over//345/267/262/346/211/223/346/211/230.md +0 -0
  426. package/src/components/page/outbound/lpnPack//346/211/223/346/211/230.md +0 -0
  427. package/src/components/page/outbound/pick/alone/index.js +11 -11
  428. package/src/components/page/outbound/pick/alone/index.vue +34 -27
  429. package/src/components/page/outbound/pick/box/index.js +11 -11
  430. package/src/components/page/outbound/pick/box/index.vue +34 -26
  431. package/src/components/page/outbound/pick/components/dataLookAndChange/index.vue +57 -134
  432. package/src/components/page/outbound/pick/components/skuLocationInfo/index.vue +209 -208
  433. package/src/components/page/outbound/pick/components/sowList.vue +190 -0
  434. package/src/components/page/outbound/pick/components/splitPutDown/index.vue +13 -13
  435. package/src/components/page/outbound/pick/components/taskInfo.vue +129 -0
  436. package/src/components/page/outbound/pick/index/index.js +11 -11
  437. package/src/components/page/outbound/pick/index/index.vue +76 -78
  438. package/src/components/page/outbound/pick/lpn/index.js +11 -11
  439. package/src/components/page/outbound/pick/lpn/index.vue +36 -20
  440. package/src/components/page/outbound/pick/mixin/all.js +14 -16
  441. package/src/components/page/outbound/pick/mixin/aloneAndNotAlone.js +13 -13
  442. package/src/components/page/outbound/pick/notAlone/index.js +11 -11
  443. package/src/components/page/outbound/pick/notAlone/index.vue +39 -30
  444. package/src/components/page/outbound/pick/sow/index.js +11 -0
  445. package/src/components/page/outbound/pick/sow/index.vue +1290 -0
  446. package/src/components/page/outbound/pick/sow//350/276/271/346/213/243/350/276/271/345/210/206.md +0 -0
  447. package/src/components/page/outbound/pickContainer/action/index.js +11 -0
  448. package/src/components/page/outbound/pickContainer/action/index.vue +219 -0
  449. package/src/components/page/outbound/pickContainer/index/index.js +11 -0
  450. package/src/components/page/outbound/pickContainer/index/index.vue +63 -0
  451. 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
  452. package/src/components/page/outbound/pickMerge/action/index.js +11 -11
  453. package/src/components/page/outbound/pickMerge/action/index.vue +543 -543
  454. package/src/components/page/outbound/pickMerge/components/containerInfo/index.vue +89 -89
  455. package/src/components/page/outbound/pickMerge/components/finishPopup/index.vue +88 -88
  456. package/src/components/page/outbound/pickMerge/components/skuInfo/index.vue +132 -132
  457. package/src/components/page/outbound/pickMerge/content/index.js +11 -11
  458. package/src/components/page/outbound/pickMerge/content/index.vue +9 -9
  459. package/src/components/page/outbound/pickMerge/index/index.js +11 -11
  460. package/src/components/page/outbound/pickMerge/index/index.vue +77 -77
  461. package/src/components/page/outbound/reprint-box/LwOutboundReprintBoxListPage.vue +206 -0
  462. package/src/components/page/outbound/reprint-box/index.js +13 -0
  463. package/src/components/page/outbound/reprint-box//347/256/261/347/245/250/350/241/245/346/211/223.txt +0 -0
  464. package/src/components/page/outbound/sow/action/index.js +11 -11
  465. package/src/components/page/outbound/sow/action/index.vue +1406 -1420
  466. package/src/components/page/outbound/sow/components/sowLocationList/index.vue +94 -80
  467. package/src/components/page/outbound/sow/components/waitSowCollapse/index.vue +105 -105
  468. package/src/components/page/outbound/sow/index/index.js +11 -11
  469. package/src/components/page/outbound/sow/index/index.vue +23 -26
  470. package/src/components/page/outbound/stockout/LwOutboundStockoutExecutePage.vue +108 -0
  471. package/src/components/page/outbound/stockout/LwOutboundStockoutListPage.vue +103 -0
  472. package/src/components/page/outbound/stockout/components/StockoutInfo.vue +42 -0
  473. package/src/components/page/outbound/stockout/index.js +16 -0
  474. package/src/components/page/outbound/stockout//347/274/272/350/264/247.txt +0 -0
  475. package/src/components/page/outbound/summary/box/index/index.js +11 -11
  476. package/src/components/page/outbound/summary/box/index/index.vue +39 -39
  477. package/src/components/page/outbound/summary/lpn/action/index.js +12 -12
  478. package/src/components/page/outbound/summary/lpn/action/index.vue +13 -12
  479. package/src/components/page/outbound/summary/lpn/index/index.js +12 -12
  480. package/src/components/page/outbound/summary/lpn/index/index.vue +70 -70
  481. package/src/components/page/process/index.js +21 -0
  482. package/src/components/page/process/prepare/index.js +11 -0
  483. package/src/components/page/process/prepare/index.vue +841 -0
  484. package/src/components/page/process/process/action/index.js +11 -0
  485. package/src/components/page/process/process/action/index.vue +158 -0
  486. package/src/components/page/process/process/components/craftCollapse.vue +130 -0
  487. package/src/components/page/process/process/components/dockInfo.vue +79 -0
  488. package/src/components/page/process/process/components/dockTaskInfo.vue +192 -0
  489. package/src/components/page/process/process/components/overCollapse.vue +376 -0
  490. package/src/components/page/process/process/components/rawCollapse.vue +113 -0
  491. package/src/components/page/process/process/components/stopPopup.vue +90 -0
  492. package/src/components/page/process/process/console/index.js +11 -0
  493. package/src/components/page/process/process/console/index.vue +525 -0
  494. package/src/components/page/process/process/content/index.js +11 -0
  495. package/src/components/page/process/process/content/index.vue +367 -0
  496. package/src/components/page/process/process/index/index.js +11 -0
  497. package/src/components/page/process/process/index/index.vue +68 -0
  498. package/src/components/page/process//345/212/240/345/267/245.md +0 -0
  499. package/src/components/page/receive/abnormal/action/index.js +11 -11
  500. package/src/components/page/receive/abnormal/action/index.vue +45 -45
  501. package/src/components/page/receive/abnormal/index/index.js +11 -11
  502. package/src/components/page/receive/abnormal/index/index.vue +73 -73
  503. package/src/components/page/receive/index.js +40 -36
  504. package/src/components/page/receive/putaway/caseAction/index.js +9 -0
  505. package/src/components/page/receive/putaway/caseAction/index.vue +542 -0
  506. package/src/components/page/receive/putaway/components/CaseInfo/index.vue +178 -0
  507. package/src/components/page/receive/putaway/components/SkuInfo/index.vue +291 -247
  508. package/src/components/page/receive/putaway/components/SkuPutAwayInfo/index.vue +5 -5
  509. package/src/components/page/receive/putaway/components/TaskInfo/index.vue +241 -216
  510. package/src/components/page/receive/putaway/components/lpnBatchItem.vue +112 -0
  511. package/src/components/page/receive/putaway/components/overPutawayItem.vue +119 -0
  512. package/src/components/page/receive/putaway/index/index.js +11 -11
  513. package/src/components/page/receive/putaway/index/index.vue +254 -92
  514. package/src/components/page/receive/putaway/lpnAction/index.js +11 -11
  515. package/src/components/page/receive/putaway/lpnAction/index.vue +42 -12
  516. package/src/components/page/receive/putaway/lpnBatchAction/index.js +11 -0
  517. package/src/components/page/receive/putaway/lpnBatchAction/index.vue +213 -0
  518. 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
  519. package/src/components/page/receive/putaway/skuAction/index.js +11 -11
  520. package/src/components/page/receive/putaway/skuAction/index.vue +4 -3
  521. package/src/components/page/receive/receipt/action/index.js +11 -11
  522. package/src/components/page/receive/receipt/action/index.vue +60 -44
  523. package/src/components/page/receive/receipt/index/index.js +11 -11
  524. package/src/components/page/receive/receipt/index/index.vue +11 -3
  525. package/src/components/ui/BottomBar/index.js +5 -5
  526. package/src/components/ui/BottomBar/index.vue +31 -5
  527. package/src/components/ui/BottomBarBtnHidden/index.js +11 -11
  528. package/src/components/ui/BottomBarBtnHidden/index.vue +1 -1
  529. 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
  530. package/src/components/ui/Button/index.js +5 -5
  531. package/src/components/ui/Button/index.vue +8 -8
  532. package/src/components/ui/CarPlate/index.js +11 -11
  533. package/src/components/ui/CarPlate/index.vue +202 -85
  534. package/src/components/ui/CarPlate//350/275/246/347/211/214/345/217/267.md +1 -1
  535. package/src/components/ui/Cell/index.js +5 -5
  536. package/src/components/ui/CellPopupDate/index.js +11 -11
  537. package/src/components/ui/CellPopupDate/index.vue +57 -12
  538. package/src/components/ui/CellPopupDate//345/215/225/345/205/203/350/241/214/345/212/240/346/227/266/351/227/264/351/200/211/346/213/251/345/231/250.md +1 -1
  539. package/src/components/ui/CellPopupRadio/index.js +11 -11
  540. package/src/components/ui/CellPopupRadio//350/241/214/345/212/240/345/215/225/351/200/211/345/274/271/345/207/272/346/241/206.md +1 -1
  541. package/src/components/ui/CutCard/index.js +11 -11
  542. package/src/components/ui/CutCard/index.vue +143 -132
  543. package/src/components/ui/CutCard//345/215/241/347/211/207/351/241/265/351/235/242/345/210/207/346/215/242.md +1 -1
  544. package/src/components/ui/DataLookBg/index.js +11 -11
  545. package/src/components/ui/DataLookBg/index.vue +134 -104
  546. package/src/components/ui/DataLookBg//346/225/260/346/215/256/347/234/213/346/235/277.md +1 -0
  547. package/src/components/ui/ErrorMsg/index.js +59 -59
  548. package/src/components/ui/ErrorMsg/index.vue +141 -141
  549. package/src/components/ui/Form/index.js +5 -5
  550. package/src/components/ui/Form/index.vue +36 -36
  551. package/src/components/ui/ImgLook/index.js +5 -5
  552. package/src/components/ui/ImgLook/index.vue +12 -3
  553. package/src/components/ui/ImgUpload/index.js +12 -12
  554. package/src/components/ui/ImgUpload/index.vue +1 -1
  555. package/src/components/ui/ImgUpload/request.js +39 -39
  556. package/src/components/ui/Input/index.js +5 -5
  557. package/src/components/ui/Input/index.vue +51 -16
  558. package/src/components/ui/Input//350/276/223/345/205/245/346/241/206.md +1 -1
  559. package/src/components/ui/Loading/index.js +1 -1
  560. package/src/components/ui/Loading/index.vue +61 -61
  561. package/src/components/ui/MenuItem/index.js +5 -5
  562. package/src/components/ui/MenuItem/index.vue +170 -170
  563. package/src/components/ui/NavBar/index.js +5 -5
  564. package/src/components/ui/NavBar/index.vue +143 -143
  565. package/src/components/ui/NavBar//351/241/266/351/203/250/345/257/274/350/210/252/346/240/217.md +1 -1
  566. package/src/components/ui/NotData/index.js +5 -5
  567. package/src/components/ui/NotData/index.vue +81 -75
  568. package/src/components/ui/Pages/index.js +5 -5
  569. package/src/components/ui/Pages/index.vue +187 -186
  570. package/src/components/ui/Pagination/index.js +11 -0
  571. package/src/components/ui/Pagination/index.vue +274 -0
  572. package/src/components/ui/Pagination//345/210/206/351/241/265V2.md +1 -0
  573. package/src/components/ui/Popup/index.js +5 -5
  574. package/src/components/ui/Popup/index.vue +3 -6
  575. package/src/components/ui/PopupCheckbox/index.js +5 -5
  576. package/src/components/ui/PopupCheckbox/index.vue +207 -207
  577. package/src/components/ui/PopupRadio/index.js +5 -5
  578. package/src/components/ui/PopupRadio/index.vue +124 -124
  579. package/src/components/ui/TabBar/index.js +11 -11
  580. package/src/components/ui/TabBar/index.vue +132 -132
  581. package/src/components/ui/TabBar//345/272/225/351/203/250/345/257/274/350/210/252/346/240/217.md +1 -1
  582. package/src/components/ui/Table/index.js +5 -5
  583. package/src/components/ui/Table/index.vue +213 -213
  584. package/src/components/ui/Tag/index.js +5 -5
  585. package/src/components/ui/Tag/index.vue +142 -142
  586. package/src/components/ui/TitleValueCell/index.js +11 -11
  587. package/src/components/ui/TitleValueCell/index.vue +33 -6
  588. package/src/components/ui/TitleValueCell//346/240/207/351/242/230/345/200/274/350/241/214.md +2 -0
  589. package/src/components/ui/index.js +3 -0
  590. package/src/directive/Permissions.js +35 -35
  591. package/src/directive/index.js +12 -12
  592. package/src/index.js +67 -67
  593. package/src/mixins/loginAndInit/index.js +31 -0
  594. package/src/mixins/loginAndInit//346/234/211token/346/227/266/345/200/231/345/222/214/346/234/211/344/273/223/345/272/223id/346/227/266/351/234/200/350/246/201/345/210/235/345/247/213/345/214/226/347/232/204/346/225/260/346/215/256.md +0 -0
  595. package/src/mixins//346/267/267/345/205/245.md +0 -0
  596. package/src/router/index.js +342 -5
  597. package/src/router/menu.js +316 -45
  598. package/src/test/file/index.js +1 -1
  599. package/src/test/file/index.vue +25 -25
  600. package/src/utils/ApiUtils.js +17 -6
  601. package/src/utils/AppBack.js +5 -6
  602. package/src/utils/AppPower.js +191 -183
  603. package/src/utils/Axios.js +164 -160
  604. package/src/utils/BarcodeResolve.js +322 -281
  605. package/src/utils/DateTime.js +22 -8
  606. package/src/utils/DeepCopy.js +1 -1
  607. package/src/utils/Dialog.js +58 -0
  608. package/src/utils/Dict.js +7 -7
  609. package/src/utils/GetImgSrc.js +1 -0
  610. package/src/utils/Init.js +12 -12
  611. package/src/utils/Language.js +41 -21
  612. package/src/utils/LocalStorage.js +41 -5
  613. package/src/utils/Permissions.js +21 -7
  614. package/src/utils/Print.js +13 -15
  615. package/src/utils/README.md +60 -2
  616. package/src/utils/RouteInit.js +14 -14
  617. package/src/utils/ScanRule.js +23 -134
  618. package/src/utils/SetColor.js +46 -11
  619. package/src/utils/TabBar.js +4 -3
  620. package/src/utils/Timezone.js +179 -0
  621. package/src/utils/Tip.js +6 -6
  622. package/src/utils/Toast.js +41 -41
  623. package/src/utils/UUID.js +7 -1
  624. package/src/utils/Utils.js +34 -0
  625. package/src/utils/Warehouse.js +6 -2
  626. package/src/utils/index.js +69 -63
  627. package/src/utils/windowGlobalData.js +27 -1
  628. package/src/views/common/home/index.vue +67 -67
  629. package/src/views/common/init/index.vue +25 -11
  630. package/src/views/common/login/index.vue +23 -23
  631. package/src/views/common/menu/menuOne.vue +36 -36
  632. package/src/views/common/menu/menuTwo.vue +33 -33
  633. package/src/views/common/my/device.vue +23 -23
  634. package/src/views/common/my/index.vue +23 -23
  635. package/src/views/common/my/language.vue +23 -23
  636. package/src/views/common/my/msg.vue +23 -23
  637. package/src/views/common/my/print.vue +23 -23
  638. package/src/views/common/my/timezone.vue +23 -0
  639. package/src/views/common/my/warehouse.vue +25 -25
  640. package/src/views/common/task/index.vue +23 -23
  641. package/src/views/config/masterLocation/masterLocationConfig/action.vue +23 -0
  642. package/src/views/config/masterLocation/masterLocationConfig/index.vue +23 -0
  643. package/src/views/config/masterLocation/masterLocationQuery/index.vue +23 -0
  644. package/src/views/config/masterLocation/masterLocationQuery/queryByLocationCode.vue +23 -0
  645. package/src/views/config/masterLocation/masterLocationQuery/queryBySkuCode.vue +23 -0
  646. package/src/views/{inbound → config}/newProject/action.vue +23 -23
  647. package/src/views/{inbound → config}/newProject/index.vue +23 -23
  648. package/src/views/count/index.vue +88 -88
  649. package/src/views/count/inv/action.vue +12 -12
  650. package/src/views/count/inv/index.vue +12 -12
  651. package/src/views/count/loc/action.vue +12 -12
  652. package/src/views/count/loc/index.vue +12 -12
  653. package/src/views/inbound/quality/InboundQualityExecuteView.vue +12 -12
  654. package/src/views/inbound/quality/InboundQualityTaskListView.vue +12 -12
  655. package/src/views/inbound/receive/alloc/InboundReceiveAllocSkuExecuteView.vue +13 -0
  656. package/src/views/inbound/receive/alloc/InboundReceiveAllocSnExecuteView.vue +13 -0
  657. package/src/views/inbound/receive/alloc/InboundReceiveAllocTabListView.vue +13 -0
  658. package/src/views/inbound/receive/case/InboundReceiveCaseExecuteView.vue +13 -0
  659. package/src/views/inbound/receive/case/InboundReceiveCaseScanView.vue +13 -0
  660. package/src/views/inbound/receive/home.vue +14 -14
  661. package/src/views/inbound/receive/index.vue +13 -13
  662. package/src/views/inbound/receive/lpn/InboundReceiveLpnBatchExecuteView.vue +13 -0
  663. package/src/views/inbound/receive/lpn/InboundReceiveLpnExecuteView.vue +13 -0
  664. package/src/views/inbound/receive/lpn/InboundReceiveLpnScanView.vue +13 -0
  665. package/src/views/inbound/receive/random/InboundReceiveRandomSkuExecuteView.vue +13 -0
  666. package/src/views/inbound/receive/random/InboundReceiveRandomSkuScanView.vue +13 -0
  667. package/src/views/inbound/receive/random/InboundReceiveRandomSkuSnExecuteView.vue +13 -0
  668. package/src/views/inbound/receive/sku/InboundReceiveSkuAdvanceView.vue +13 -13
  669. package/src/views/inbound/receive/sku/InboundReceiveSkuDirectView.vue +13 -13
  670. package/src/views/inbound/receive/sku/InboundReceiveSkuScanView.vue +13 -13
  671. package/src/views/inner/abnormalMove/index.vue +23 -23
  672. package/src/views/inner/borrow/action.vue +23 -0
  673. package/src/views/inner/borrow/index.vue +23 -0
  674. package/src/views/inner/dead/large.vue +23 -0
  675. package/src/views/inner/dead/putaway/action.vue +23 -0
  676. package/src/views/inner/dead/putaway/index.vue +23 -0
  677. package/src/views/inner/dead/smallPage.vue +23 -0
  678. package/src/views/inner/dead/taskEntrance.vue +23 -0
  679. package/src/views/inner/disposeAbnormal/action.vue +23 -23
  680. package/src/views/inner/disposeAbnormal/index.vue +23 -23
  681. package/src/views/inner/lpnMove/action.vue +23 -23
  682. package/src/views/inner/lpnMove/index.vue +23 -23
  683. package/src/views/inner/materialApply/action.vue +22 -22
  684. package/src/views/inner/materialApply/generate.vue +22 -22
  685. package/src/views/inner/movePutAway/index.vue +22 -22
  686. package/src/views/inner/quality/action.vue +23 -0
  687. package/src/views/inner/quality/sample.vue +23 -0
  688. package/src/views/inner/randomMove/index.vue +23 -23
  689. package/src/views/inner/reportAbnormal/action.vue +23 -23
  690. package/src/views/inner/reportAbnormal/index.vue +23 -23
  691. package/src/views/inner/taskMove/index.vue +23 -23
  692. package/src/views/inventory/queryInventory/index.vue +23 -0
  693. package/src/views/inventory/queryInventory/page.vue +23 -0
  694. package/src/views/outbound/aloneBale/action.vue +23 -23
  695. package/src/views/outbound/aloneBale/index.vue +23 -23
  696. package/src/views/outbound/aloneBale/newBale.vue +23 -23
  697. package/src/views/outbound/bale/action.vue +23 -23
  698. package/src/views/outbound/bale/allCheck.vue +23 -23
  699. package/src/views/outbound/bale/index.vue +23 -23
  700. package/src/views/outbound/bale/newBale.vue +23 -23
  701. package/src/views/outbound/baleChange/action.vue +23 -0
  702. package/src/views/outbound/baleChange/index.vue +23 -0
  703. package/src/views/outbound/baleChange/skuCheck.vue +23 -0
  704. package/src/views/outbound/block/OutboundBlockBoxListView.vue +12 -0
  705. package/src/views/outbound/block/OutboundBlockExecuteView.vue +12 -0
  706. package/src/views/outbound/boxTransfer/action.vue +23 -0
  707. package/src/views/outbound/boxTransfer/index.vue +23 -0
  708. package/src/views/outbound/delivery/action.vue +23 -23
  709. package/src/views/outbound/delivery/addOrder.vue +23 -23
  710. package/src/views/outbound/delivery/index.vue +23 -23
  711. package/src/views/outbound/handover/customer.vue +23 -0
  712. package/src/views/outbound/handover/index.vue +23 -0
  713. package/src/views/outbound/handover/line.vue +23 -0
  714. package/src/views/outbound/handover/lpn.vue +23 -0
  715. package/src/views/outbound/lpnPack/action.vue +23 -0
  716. package/src/views/outbound/lpnPack/index.vue +23 -0
  717. package/src/views/outbound/lpnPack/newLpn.vue +23 -0
  718. package/src/views/outbound/lpnPack/over.vue +23 -0
  719. package/src/views/outbound/pick/aloneAction.vue +23 -23
  720. package/src/views/outbound/pick/boxAction.vue +23 -23
  721. package/src/views/outbound/pick/index.vue +23 -23
  722. package/src/views/outbound/pick/lpnAction.vue +23 -23
  723. package/src/views/outbound/pick/notAloneAction.vue +23 -23
  724. package/src/views/outbound/pick/sowAction.vue +23 -0
  725. package/src/views/outbound/pickContainer/action.vue +23 -0
  726. package/src/views/outbound/pickContainer/index.vue +23 -0
  727. package/src/views/outbound/pickMerge/action.vue +23 -23
  728. package/src/views/outbound/pickMerge/content.vue +23 -23
  729. package/src/views/outbound/pickMerge/index.vue +23 -23
  730. package/src/views/outbound/reprint-box/LwOutboundReprintBoxView.vue +13 -0
  731. package/src/views/outbound/sow/action.vue +23 -23
  732. package/src/views/outbound/sow/index.vue +23 -23
  733. package/src/views/outbound/stockout/LwOutboundStockoutExecuteView.vue +12 -0
  734. package/src/views/outbound/stockout/LwOutboundStockoutListView.vue +12 -0
  735. package/src/views/outbound/summary/box/index.vue +23 -23
  736. package/src/views/outbound/summary/lpn/action.vue +23 -23
  737. package/src/views/outbound/summary/lpn/index.vue +23 -23
  738. package/src/views/process/action/action.vue +23 -0
  739. package/src/views/process/action/consoleInfo.vue +23 -0
  740. package/src/views/process/action/contentInfo.vue +23 -0
  741. package/src/views/process/action/index.vue +23 -0
  742. package/src/views/process/prepare/index.vue +23 -0
  743. package/src/views/receive/abnormal/action.vue +23 -23
  744. package/src/views/receive/abnormal/index.vue +24 -24
  745. package/src/views/receive/putaway/caseAction.vue +21 -0
  746. package/src/views/receive/putaway/index.vue +23 -23
  747. package/src/views/receive/putaway/lpnAction.vue +23 -23
  748. package/src/views/receive/putaway/lpnBatchAction.vue +23 -0
  749. package/src/views/receive/putaway/skuAction.vue +23 -23
  750. package/src/views/receive/receipt/action.vue +25 -25
  751. package/src/views/receive/receipt/index.vue +25 -25
  752. package/src/components/page/outbound/bale/components/mainPage/index.vue +0 -620
  753. 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,1374 +1,1495 @@
1
- <!--
2
- 标准移动 - 任务界面进入
3
- @author: 张文
4
- @date: 2022-05-16
5
- -->
6
- <template>
7
- <div>
8
-
9
- <lw-nav-bar :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.title','库存移动')"/>
10
- <div id="lw-task-move-top"></div>
11
-
12
- <div class="lw-global-page-box">
13
-
14
- <!-- 看板 -->
15
- <div>
16
- <div style="padding: 10px;border-radius: 10px 10px 0 0;background: #fff">
17
- <span class="lw-global-title">
18
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.taskNo','任务号') }}
19
- </span>
20
- <span class="lw-global-value-bold">{{ taskData.taskNo }}</span>
21
- </div>
22
- <lw-data-look-bg type="bottom">
23
-
24
- <!-- 品种数 -->
25
- <div>
26
- <div>{{ taskData.skuCount || 0 }}</div>
27
- <div class="lw-data-look-bg-title">{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.skuCount','品种数') }}</div>
28
- </div>
29
-
30
- <!-- 计划量 -->
31
- <div>
32
- <div>{{ taskData.planQty || 0 }}</div>
33
- <div class="lw-data-look-bg-title">
34
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.planQty','计划量') }}
35
- </div>
36
- </div>
37
-
38
- <!-- 已上架 -->
39
- <div>
40
- <div>{{ taskData.putUpQty || 0 }}</div>
41
- <div class="lw-data-look-bg-title">
42
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.putUpQty','已上架') }}
43
- </div>
44
- </div>
45
-
46
- <!-- 待上架 -->
47
- <div>
48
- <div>{{ taskData.toPutUpQty || 0 }}</div>
49
- <div class="lw-data-look-bg-title">
50
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.toPutUpQty','待上架') }}
51
- </div>
52
- </div>
53
-
54
- <!-- 异常量 -->
55
- <div>
56
- <div>{{ taskData.abnQty || 0 }}</div>
57
- <div class="lw-data-look-bg-title">
58
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abnQty','异常量') }}
59
- </div>
60
- </div>
61
-
62
- </lw-data-look-bg>
63
- </div>
64
-
65
- <!-- tab -->
66
- <div class="lw-global-tab-box" style="margin-top: 10px">
67
- <van-tabs
68
- type="card"
69
- animated
70
- v-model="tabActive"
71
- @change="tabChange"
72
- >
73
-
74
- <!-- 下架 -->
75
- <van-tab name="down" title="下架">
76
-
77
- <div
78
- v-if="taskData.putDownMoveTaskLines.length"
79
- class="lw-global-model-box"
80
- >
81
- <!-- 商品信息 -->
82
- <div class="lw-global-row-start">
83
- <div class="lw-global-value-bold">
84
- {{ taskData.putDownMoveTaskLines[downData.index].skuCode }}
85
- </div>
86
- <div class="lw-global-title">
87
- {{ taskData.putDownMoveTaskLines[downData.index].skuName }}
88
- </div>
89
- </div>
90
-
91
- <!-- 内装数 -->
92
- <div class="lw-global-row">
93
- <span class="lw-global-title">
94
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.innerQty','内装数') }}
95
- </span>
96
- <span class="lw-global-value-bold">
97
- {{ taskData.putDownMoveTaskLines[downData.index].innerQty }}
98
- </span>
99
- </div>
100
-
101
- <!-- 下架库位 -->
102
- <div class="lw-global-row">
103
- <span class="lw-global-title">
104
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.downLocal','下架库位') }}
105
- </span>
106
- <span class="lw-global-value-bold">
107
- {{ taskData.putDownMoveTaskLines[downData.index].fromLocationCode }}
108
- </span>
109
- </div>
110
-
111
- <!-- 下架托盘号 -->
112
- <div class="lw-global-row" v-if="hasDownLpn()">
113
- <span class="lw-global-title">
114
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.downLpn','下架托盘号') }}
115
- </span>
116
- <span class="lw-global-value-bold">
117
- {{ taskData.putDownMoveTaskLines[downData.index].fromLpn }}
118
- </span>
119
- </div>
120
-
121
- <!-- 数据看板 -->
122
- <div class="lw-global-row lw-global-flex-around">
123
- <!-- 待下架 -->
124
- <div class="lw-task-move-look-item">
125
- <div class="lw-global-value-bold">{{ taskData.putDownMoveTaskLines[downData.index].todoQty || 0 }}</div>
126
- <div class="lw-global-title">
127
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.todoQty','待下架') }}
128
- </div>
129
- </div>
130
-
131
- <!-- 已下架 -->
132
- <div class="lw-task-move-look-item">
133
- <div class="lw-global-value-bold">{{ taskData.putDownMoveTaskLines[downData.index].doneQty || 0 }}</div>
134
- <div class="lw-global-title">
135
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.doneQty','已下架') }}
136
- </div>
137
- </div>
138
-
139
- <!-- 异常量 -->
140
- <div class="lw-task-move-look-item">
141
- <div class="lw-global-value-bold" style="color: #D50000">
142
- {{ taskData.putDownMoveTaskLines[downData.index].abnQty || 0 }}
143
- </div>
144
- <div class="lw-global-title" style="color: #D50000">
145
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abnQty','异常量') }}
146
- </div>
147
- </div>
148
- </div>
149
-
150
- <lw-lot-look-module :columns="taskData.putDownMoveTaskLines[downData.index].groupKeyItemList"
151
- title-key="label" value-key="value"/>
152
-
153
- <!-- 库位 -->
154
- <lw-input
155
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.downLocal','下架库位')"
156
- v-model="downData.input.local.value"
157
- :get-focus.sync="downData.input.local.focus"
158
- required
159
- rule-key="downLocal"
160
- @confirm="downDataLocalConfirm"
161
- />
162
-
163
- <!-- LPN -->
164
- <lw-input
165
- v-if="hasDownLpn()"
166
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.downLpn','下架托盘号')"
167
- v-model="downData.input.downLpn.value"
168
- :get-focus.sync="downData.input.downLpn.focus"
169
- required
170
- rule-key="downLpn"
171
- @confirm="downDataDownLpnConfirm"
172
- />
173
-
174
- <!-- 商品条码 -->
175
- <lw-input
176
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.skuCode','商品条码')"
177
- v-model="downData.input.sku.value"
178
- :get-focus.sync="downData.input.sku.focus"
179
- required
180
- rule-key="sku"
181
- @confirm="downDataSkuCodeConfirm"
182
- />
183
-
184
- <!-- 数量 -->
185
- <lw-input
186
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.qty','数量')"
187
- v-model="downData.input.num.value"
188
- :get-focus.sync="downData.input.num.focus"
189
- type="digit"
190
- required
191
- @confirm="downDataNumConfirm"
192
- />
193
-
194
- <!-- 托盘号 -->
195
- <lw-input
196
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.lpn','中转容器号')"
197
- v-model="downData.input.lpn.value"
198
- :get-focus.sync="downData.input.lpn.focus"
199
- required
200
- rule-key="container"
201
- @confirm="actionDown"
202
- />
203
-
204
- <!-- 切换按钮 -->
205
- <lw-cut-card
206
- v-model="downData.index"
207
- :length="taskData.putDownMoveTaskLines.length"
208
- :cut-end="downClearInput"
209
- >
210
- <template #numLast>
211
- <!-- 异常按钮 -->
212
- <lw-button
213
- type="last"
214
- plain
215
- round
216
- mini
217
- @click="downDataAbnormal"
218
- >
219
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abn','异常') }}
220
- </lw-button>
221
- </template>
222
- </lw-cut-card>
223
-
224
- </div>
225
-
226
- <lw-not-data v-else/>
227
-
228
- </van-tab>
229
-
230
-
231
- <!-- 上架 -->
232
- <van-tab name="up" title="上架">
233
-
234
- <div
235
- v-if="taskData.putUpMoveTaskLines.length"
236
- class="lw-global-model-box"
237
- >
238
-
239
- <!-- 商品信息 -->
240
- <div class="lw-global-row-start">
241
- <div class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].skuCode }}</div>
242
- <div class="lw-global-title">{{ taskData.putUpMoveTaskLines[upData.index].skuName }}</div>
243
- </div>
244
-
245
- <!-- 中转容器号 -->
246
- <div class="lw-global-row">
247
- <span class="lw-global-title">
248
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.lpn','中转容器号') }}
249
- </span>
250
- <span class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].curLpn }}</span>
251
- </div>
252
-
253
- <!-- 内装数 -->
254
- <div class="lw-global-row">
255
- <span class="lw-global-title">
256
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.innerQty','内装数') }}
257
- </span>
258
- <span class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].innerQty }}</span>
259
- </div>
260
-
261
- <!-- 上架库位 -->
262
- <div class="lw-global-row">
263
- <span class="lw-global-title">
264
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.upLocal','上架库位') }}
265
- </span>
266
- <span class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].toLocationCode || '-' }}</span>
267
- </div>
268
-
269
- <!-- 数据看板 -->
270
- <div class="lw-global-row lw-global-flex-around">
271
- <!-- 待上架 -->
272
- <div class="lw-task-move-look-item">
273
- <div class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].todoQty || 0 }}</div>
274
- <div class="lw-global-title">
275
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.waitUp','待上架') }}
276
- </div>
277
- </div>
278
-
279
- <!-- 已上架 -->
280
- <div class="lw-task-move-look-item">
281
- <div class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].doneQty || 0 }}</div>
282
- <div class="lw-global-title">
283
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.overUp','已上架') }}
284
- </div>
285
- </div>
286
-
287
- <!-- 异常量 -->
288
- <div class="lw-task-move-look-item">
289
- <div class="lw-global-value-bold" style="color: #D50000">
290
- {{ taskData.putUpMoveTaskLines[upData.index].abnQty || 0 }}
291
- </div>
292
- <div class="lw-global-title" style="color: #D50000">
293
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abnNum','异常量') }}
294
- </div>
295
- </div>
296
- </div>
297
-
298
- <lw-lot-look-module :columns="taskData.putUpMoveTaskLines[upData.index].groupKeyItemList"
299
- title-key="label" value-key="value"/>
300
-
301
- <!-- 商品条码 -->
302
- <lw-input
303
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.skuCode','商品条码')"
304
- v-model="upData.input.sku.value"
305
- :get-focus.sync="upData.input.sku.focus"
306
- required
307
- rule-key="sku"
308
- @confirm="upDataSkuCodeConfirm"
309
- />
310
-
311
- <!-- 数量 -->
312
- <lw-input
313
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.qty','数量')"
314
- v-model="upData.input.num.value"
315
- :get-focus.sync="upData.input.num.focus"
316
- type="digit"
317
- required
318
- @confirm="upDataNumConfirm"
319
- />
320
-
321
- <!-- 接力上架 -->
322
- <lw-cell
323
- style="padding: 0"
324
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.relay','接力上架')"
325
- :is-link="false"
326
- required
327
- >
328
- <template #value>
329
- <van-switch
330
- v-model="upData.input.wait"
331
- size="22px"
332
- @change="upDataWaitChange"
333
- />
334
- </template>
335
- </lw-cell>
336
-
337
- <!-- 非接力上架 -->
338
- <div v-if="!upData.input.wait">
339
- <!-- 目标库位 -->
340
- <lw-input
341
- class="lw-global-animation-rotate"
342
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.toLocal','目标库位')"
343
- v-model="upData.input.local.value"
344
- :get-focus.sync="upData.input.local.focus"
345
- required
346
- rule-key="upLocal"
347
- @confirm="upDataLocalConfirm"
348
- />
349
-
350
- <!-- 目标托盘 -->
351
- <lw-input
352
- class="lw-global-animation-rotate"
353
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.toLpn','目标托盘')"
354
- v-model="upData.input.lpn.value"
355
- :get-focus.sync="upData.input.lpn.focus"
356
- rule-key="upLpn"
357
- @confirm="upDataLpnConfirm"
358
- />
359
- </div>
360
-
361
- <!-- 接力上架 -->
362
- <div
363
- class="lw-global-animation-rotate"
364
- v-else
365
- >
366
- <!-- 通道库位 -->
367
- <lw-input
368
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.wayLocal','通道库位')"
369
- v-model="upData.input.local.value"
370
- :get-focus.sync="upData.input.local.focus"
371
- required
372
- rule-key="waitLocal"
373
- @confirm="upDataLocalConfirm"
374
- />
375
- <!-- 暂存容器号 -->
376
- <lw-input
377
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.waitLpn','暂存容器号')"
378
- v-model="upData.input.lpn.value"
379
- :get-focus.sync="upData.input.lpn.focus"
380
- required
381
- rule-key="waitContainer"
382
- @confirm="upDataLpnConfirm"
383
- />
384
- </div>
385
-
386
- <!-- 切换按钮 -->
387
- <lw-cut-card
388
- v-model="upData.index"
389
- :length="taskData.putUpMoveTaskLines.length"
390
- :cut-end="upClearInput"
391
- >
392
- <template #numLast>
393
- <!-- 异常按钮 -->
394
- <lw-button
395
- type="last"
396
- plain
397
- round
398
- mini
399
- @click="upDataAbnormal"
400
- >
401
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abn','异常') }}
402
- </lw-button>
403
- </template>
404
- </lw-cut-card>
405
-
406
- </div>
407
-
408
- <lw-not-data v-else/>
409
-
410
- </van-tab>
411
-
412
-
413
- </van-tabs>
414
- </div>
415
-
416
- </div>
417
-
418
- <!-- 下架状态时底部按钮 -->
419
- <lw-bottom-bar v-if="tabActive === 'down' && taskData.putDownMoveTaskLines.length">
420
- <lw-button
421
- type="last"
422
- plain
423
- @click="downLess"
424
- >{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.littleDown','缺货下架') }}</lw-button>
425
-
426
-
427
- <lw-button @click="actionDown">
428
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmDown','确认下架') }}
429
- </lw-button>
430
- </lw-bottom-bar>
431
- <!-- 上架状态时底部按钮 -->
432
- <lw-bottom-bar v-if="tabActive === 'up' && taskData.putUpMoveTaskLines.length">
433
- <lw-button
434
- type="last"
435
- plain
436
- @click="upLess"
437
- >{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.littleUp','缺货上架') }}</lw-button>
438
-
439
- <lw-button
440
- type="normal"
441
- plain
442
- @click="upSkuSeo"
443
- >{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.seoSku','扫描商品定位') }}</lw-button>
444
-
445
- <lw-button @click="actionUp">
446
- {{
447
- upData.input.wait ?
448
- $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmRelay','确认接力') :
449
- $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmUp','确认上架')
450
- }}
451
- </lw-button>
452
- </lw-bottom-bar>
453
-
454
-
455
- <!-- 上架 - 扫描商品定位任务行 -->
456
- <lw-popup
457
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.localSku','定位商品')"
458
- v-model="upSkuSeoPopup.show"
459
- @closed="upSkuSeoPopup.sku.value=''"
460
- >
461
- <lw-input
462
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.skuCode','商品条码')"
463
- v-model="upSkuSeoPopup.sku.value"
464
- :get-focus.sync="upSkuSeoPopup.sku.focus"
465
- required
466
- rule-key="sku"
467
- @confirm="upSkuSeoPopupSkuConfirm"
468
- />
469
-
470
- <template #button>
471
- <lw-button @click="upSkuSeoPopupSkuConfirm">
472
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirm','确认') }}
473
- </lw-button>
474
- </template>
475
- </lw-popup>
476
-
477
-
478
- <!-- 缺货 -->
479
- <lw-popup
480
- :title="
481
- lessPopup.type === 'up' ?
482
- $lwLanguage.get('wms_project.pda.inbound.taskMove.littleUp','缺货上架') :
483
- $lwLanguage.get('wms_project.pda.inbound.taskMove.littleDown','缺货下架')
484
- "
485
- v-model="lessPopup.show"
486
- @closed="lessPopupOff"
487
- >
488
-
489
- <div class="lw-global-row">
490
- <div class="lw-global-value-bold">{{ lessPopup.item.skuCode }}</div>
491
- <div class="lw-global-title">{{ lessPopup.item.skuName }}</div>
492
- </div>
493
-
494
- <div class="lw-global-row lw-global-flex-between">
495
-
496
- <div>
497
- <span class="lw-global-title">
498
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.waitQty', '待处理量') }}
499
- </span>
500
- <span class="lw-global-value-bold" style="color:#D50000;">
501
- {{ lessPopup.item.todoQty }}
502
- </span>
503
- </div>
504
-
505
- <div>
506
- <span class="lw-global-title">
507
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.innerQty', '内装数') }}
508
- </span>
509
- <span class="lw-global-value-bold">
510
- {{ lessPopup.item.innerQty }}
511
- </span>
512
- </div>
513
-
514
- </div>
515
-
516
- <lw-input
517
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.confirmSku','确认商品')"
518
- v-model="lessPopup.input.sku.value"
519
- :get-focus.sync="lessPopup.input.sku.focus"
520
- required
521
- rule-key="sku"
522
- @confirm="lessSkuConfirm"
523
- />
524
-
525
- <lw-input
526
- :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.littleQty','缺货量')"
527
- v-model="lessPopup.input.num.value"
528
- :get-focus.sync="lessPopup.input.num.focus"
529
- type="digit"
530
- required
531
- @confirm="lessNumConfirm"
532
- />
533
-
534
- <template #button>
535
- <lw-button @click="lessPartConfirm">
536
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmPartLess','确认部分缺货') }}
537
- </lw-button>
538
- <lw-button @click="lessConfirm">
539
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmLess','确认全部缺货') }}
540
- </lw-button>
541
- </template>
542
-
543
- </lw-popup>
544
-
545
-
546
- <!-- 异常 -->
547
- <lw-popup
548
- :title="
549
- abnormalPopup.type === 'up' ?
550
- $lwLanguage.get('wms_project.pda.inbound.taskMove.upAbn','上架异常') :
551
- $lwLanguage.get('wms_project.pda.inbound.taskMove.downAbn','下架异常')
552
- "
553
- v-model="abnormalPopup.show"
554
- @closed="abnormalPopup.comShow = false"
555
- >
556
-
557
- <lw-inner-abnormal-module
558
- v-if="abnormalPopup.comShow"
559
- ref="abnormal"
560
- v-bind="abnormalPopup.item"
561
- />
562
-
563
- <template #button>
564
- <lw-button @click="abnormalConfirm">
565
- {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirm','确认') }}
566
- </lw-button>
567
- </template>
568
-
569
- </lw-popup>
570
-
571
- </div>
572
- </template>
573
-
574
- <script>
575
-
576
- import {
577
- wmsExecMobileMove,
578
- wmsGetMoveTaskInfo,
579
- wmsMoveTaskAbnormalSubmit,
580
- wmsMoveTaskLessQtyAbnormalSubmit
581
- } from "../../../../../api/inner/move/taskMove";
582
-
583
- export default {
584
- name: "lwTaskMovePage",
585
- data() {
586
- return {
587
- // 任务数据
588
- taskData:{
589
- putDownMoveTaskLines:[],
590
- putUpMoveTaskLines:[],
591
- },
592
-
593
- // tab集货项
594
- tabActive: 'down',
595
-
596
- // 缺货
597
- lessPopup:{
598
- type:'',
599
- show: false,
600
- // 当前缺货的商品
601
- item:{},
602
- // 输入框
603
- input:{
604
- sku:{
605
- value:'',
606
- focus: false
607
- },
608
- num:{
609
- value:'',
610
- focus: false
611
- }
612
- }
613
- },
614
-
615
- // 异常
616
- abnormalPopup:{
617
- show: false,
618
- // 是否加载异常组件
619
- comShow: false,
620
- type: 'up',
621
- item:{}
622
- },
623
-
624
- // 下架数据集合
625
- downData:{
626
- // 任务行索引
627
- index:0,
628
- // 输入框
629
- input:{
630
- // 库位
631
- local:{
632
- value:'',
633
- focus: false
634
- },
635
- // 下架托盘
636
- downLpn:{
637
- value:'',
638
- focus: false
639
- },
640
- // 商品
641
- sku:{
642
- value:'',
643
- focus: false
644
- },
645
- // 数量
646
- num:{
647
- value:'',
648
- focus: false
649
- },
650
- // 托盘
651
- lpn:{
652
- value:'',
653
- focus: false
654
- },
655
- }
656
- },
657
-
658
- // 上架数据集
659
- upData:{
660
- // 任务行索引
661
- index:0,
662
- // 输入框
663
- input:{
664
- // 商品
665
- sku:{
666
- value:'',
667
- focus: false
668
- },
669
- // 数量
670
- num:{
671
- value:'',
672
- focus: false
673
- },
674
- // 是否接力上架
675
- wait: false,
676
- // 目标库位 / 通道库位
677
- local:{
678
- value:'',
679
- focus: false
680
- },
681
- // 目标托盘 / 通道托盘
682
- lpn:{
683
- value:'',
684
- focus: false
685
- },
686
- }
687
- },
688
- // 上架 - 扫描商品定位
689
- upSkuSeoPopup:{
690
- show: false,
691
- sku:{
692
- value:'',
693
- focus: false
694
- }
695
- }
696
- }
697
- },
698
- mounted() {
699
- if (this.$route.query.tabActive) {
700
- this.tabActive = this.$route.query.tabActive
701
- }
702
-
703
- this.getData()
704
- },
705
- methods: {
706
- // 获取数据
707
- getData(){
708
- wmsGetMoveTaskInfo({
709
- taskId: this.$route.query.lwTaskId
710
- }).then(res=>{
711
- this.taskData = res
712
-
713
- if ((this.downData.index + 1) > this.taskData.putDownMoveTaskLines.length){
714
- this.downData.index > 0 ? this.downData.index-- : this.downData.index = 0
715
- }
716
-
717
- if ((this.upData.index + 1) > this.taskData.putUpMoveTaskLines.length){
718
- this.upData.index > 0 ? this.upData.index-- : this.upData.index = 0
719
- }
720
-
721
- // 滚动到页面顶部
722
- document.querySelector('#lw-task-move-top').scrollIntoView({
723
- behavior: "smooth",
724
- block:'start',
725
- })
726
-
727
- // 如果当前在上架任务且还有待作业的任务就切换到上架tab
728
- if (this.tabActive === 'up' && this.taskData.putUpMoveTaskLines.length) {
729
- this.tabActive = 'up'
730
- this.upData.input.sku.focus = true
731
- return
732
- }
733
-
734
- // 如果有下架任务就切换到下架tab
735
- if (this.taskData.putDownMoveTaskLines.length) {
736
- this.tabActive = 'down'
737
- this.downData.input.local.focus = true
738
- return
739
- }
740
-
741
- // 如果有上架任务就切换到上架tab
742
- if (this.taskData.putUpMoveTaskLines.length){
743
- this.tabActive = 'up'
744
- this.upData.input.sku.focus = true
745
- return
746
- }
747
-
748
- // 什么任务都没有就返回上级页面
749
- this.$lwToast.success(
750
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.taskOver','当前任务已完成')
751
- )
752
- history.go(-1)
753
- }).catch(()=>history.go(-1))
754
- },
755
-
756
- // tab切换
757
- tabChange(){
758
- if(this.tabActive === 'up'){
759
- this.upData.input.sku.focus = true
760
- }else {
761
- this.downData.input.local.focus = true
762
- }
763
- },
764
-
765
- // 打开缺货弹框
766
- openLess(item, type){
767
- this.lessPopup.type = type
768
- this.lessPopup.item = item
769
- this.lessPopup.show = true
770
- this.lessPopup.input.sku.focus = true
771
- },
772
-
773
- // 缺货 - 商品确认
774
- lessSkuConfirm(){
775
- if (this.lessSkuCheck()){
776
- this.lessPopup.input.num.focus = true
777
- }
778
- },
779
- // 缺货 - 商品校验
780
- lessSkuCheck(){
781
- const sku = this.lessPopup.input.sku
782
- if (!sku.value){
783
- sku.focus = true
784
- this.$lwShowErrorMsg(
785
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuNull','商品不能为空')
786
- )
787
- return false
788
- }
789
-
790
- if (sku.value !== this.lessPopup.item.skuCode){
791
- sku.focus = true
792
- this.$lwShowErrorMsg(
793
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuError','商品号与当前商品不一致')
794
- )
795
- sku.value = ''
796
- return false
797
- }
798
-
799
- return true
800
-
801
- },
802
-
803
- // 缺货 - 缺货量确认
804
- lessNumConfirm(){
805
- if (this.lessNumCheck()){
806
- this.lessConfirm()
807
- }
808
- },
809
- // 缺货 - 缺货量检查
810
- lessNumCheck(){
811
- const num = this.lessPopup.input.num
812
- const numVal = Number(num.value || 0)
813
- if (!numVal){
814
- num.focus = true
815
- this.$lwShowErrorMsg(
816
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.littleNumZero','缺货量不能为空,且应当是大于0的整数')
817
- )
818
- return false
819
- }
820
-
821
- if (numVal > this.lessPopup.item.todoQty){
822
- num.focus = true
823
- this.$lwShowErrorMsg(
824
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.littleNumMore','缺货量不能大于待处理量')
825
- )
826
- num.value = ''
827
- return false
828
- }
829
-
830
- return true
831
- },
832
-
833
- // 全部缺货
834
- lessConfirm(){
835
- const item = this.lessPopup.item
836
- wmsMoveTaskLessQtyAbnormalSubmit({
837
- taskId: this.$route.query.lwTaskId,
838
- taskLineKey: item.lineKey,
839
- abnQty: item.todoQty,
840
- moveMethod: this.lessPopup.type === 'up' ? '2' : '1', // 1-下架,2-上架
841
- abnLocationCode: item.fromLocationCode,
842
- abnLpn: item.fromLpn,
843
- }).then(()=>{
844
- this.$lwToast.success(
845
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.upSuccess','上报成功')
846
- )
847
- this.lessPopup.show = false
848
- this.getData()
849
- })
850
- },
851
-
852
- // 确认部分缺货
853
- lessPartConfirm(){
854
- if (
855
- !(this.lessSkuCheck() && this.lessNumCheck())
856
- ) return
857
-
858
- const item = this.lessPopup.item
859
- wmsMoveTaskLessQtyAbnormalSubmit({
860
- taskId: this.$route.query.lwTaskId,
861
- taskLineKey: item.lineKey,
862
- abnQty: this.lessPopup.input.num.value,
863
- moveMethod: this.lessPopup.type === 'up' ? '2' : '1', // 1-下架,2-上架
864
- abnLocationCode: item.fromLocationCode,
865
- abnLpn: item.fromLpn,
866
- }).then(()=>{
867
-
868
- this.$lwToast.success(
869
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.upSuccess','上报成功')
870
- )
871
- this.lessPopup.show = false
872
- this.getData()
873
- })
874
- },
875
-
876
- // 缺货弹框关闭
877
- lessPopupOff(){
878
- const input = this.lessPopup.input
879
- input.sku.value = ''
880
- input.num.value = ''
881
- },
882
-
883
- // 打开异常弹框
884
- openAbnormal(item, type){
885
- this.abnormalPopup.item= item
886
- this.abnormalPopup.type = type
887
- this.abnormalPopup.comShow = true
888
- this.abnormalPopup.show = true
889
- },
890
-
891
- // 异常上报确认
892
- abnormalConfirm(){
893
-
894
- const {success, data} = this.$refs.abnormal.getAbnormalData()
895
-
896
- if (!success) return
897
-
898
- const item = this.abnormalPopup.item
899
- wmsMoveTaskAbnormalSubmit({
900
- taskId: this.$route.query.taskId,
901
- taskLineKey: item.lineKey,
902
- fromLocationId: item.fromLocationId,
903
- fromLpn: item.fromLpn,
904
- abnBelongType:'STOCK',
905
- abnDiscoveryPoint: this.abnormalPopup.type === 'down' ? 'MV_PUTDOWN' : 'MV_PUTAWAY',
906
- ...data
907
- }).then(()=>{
908
- this.$lwToast.success(
909
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.abnSuccess','异常上报成功')
910
- )
911
-
912
- this.abnormalPopup.show = false
913
- this.abnormalPopup.comShow = false
914
-
915
- this.getData()
916
- })
917
- },
918
-
919
- // 确认移动
920
- moveConfirm(item, callback){
921
- wmsExecMobileMove({
922
- taskId: this.$route.query.lwTaskId,
923
- ...item
924
- }).then(()=>{
925
-
926
- this.$lwToast.success(
927
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.changSuccess','操作成功')
928
- )
929
-
930
- callback && callback()
931
-
932
- this.getData()
933
- })
934
- },
935
-
936
-
937
-
938
- /* ---------- 下架 ----------*/
939
-
940
- // 清空下架输入框
941
- downClearInput(){
942
- const input = this.downData.input
943
- input.local.value = ''
944
- input.local.focus = true
945
- input.sku.value = ''
946
- input.num.value = ''
947
- input.lpn.value = ''
948
- },
949
-
950
- // 是否有下架托盘
951
- hasDownLpn(){
952
- let item = this.taskData.putDownMoveTaskLines[this.downData.index]
953
- console.log(item.fromLpn && item.fromLpn !== '')
954
- return item.fromLpn && item.fromLpn !== ''
955
- },
956
-
957
- // 库位确认
958
- downDataLocalConfirm(){
959
- if (this.downDataLocalCheck()){
960
- if (this.hasDownLpn()) {
961
- this.downData.input.downLpn.focus = true
962
- } else {
963
- this.downData.input.sku.focus = true
964
- }
965
- }
966
- },
967
- // 库位校验
968
- downDataLocalCheck(){
969
- const local = this.downData.input.local
970
- if (!local.value) {
971
- local.focus = true
972
- this.$lwShowErrorMsg(
973
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.localNull','库位不能为空')
974
- )
975
- return false
976
- }
977
-
978
- if (local.value !== this.taskData.putDownMoveTaskLines[this.downData.index].fromLocationCode){
979
- local.focus = true
980
- this.$lwShowErrorMsg(
981
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.localError','下架库位与任务库位不一致')
982
- )
983
-
984
- local.value = ''
985
-
986
- return false
987
- }
988
-
989
- return true
990
- },
991
-
992
- // 下架托盘确认
993
- downDataDownLpnConfirm() {
994
- if (this.downDataDownLpnCheck()){
995
- this.downData.input.sku.focus = true
996
- }
997
- },
998
- // 下架托盘校验
999
- downDataDownLpnCheck(){
1000
- const downLpn = this.downData.input.downLpn
1001
- if (!downLpn.value) {
1002
- downLpn.focus = true
1003
- this.$lwShowErrorMsg(
1004
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.downLpnNull','下架托盘不能为空')
1005
- )
1006
- return false
1007
- }
1008
-
1009
- if (downLpn.value !== this.taskData.putDownMoveTaskLines[this.downData.index].fromLpn){
1010
- downLpn.focus = true
1011
- this.$lwShowErrorMsg(
1012
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.downLpnNotMatch','下架托盘号与任务托盘号不一致')
1013
- )
1014
-
1015
- downLpn.value = ''
1016
-
1017
- return false
1018
- }
1019
-
1020
- return true
1021
- },
1022
-
1023
- // 商品号确认
1024
- downDataSkuCodeConfirm(){
1025
- if (this.downDataSkuCodeCheck()){
1026
- this.downData.input.num.focus = true
1027
- }
1028
- },
1029
- // 商品号输入校验
1030
- downDataSkuCodeCheck(){
1031
- const sku = this.downData.input.sku
1032
- // 非空校验
1033
- if (!sku.value){
1034
- sku.focus = true
1035
- this.$lwShowErrorMsg(
1036
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuNull','商品号不能为空')
1037
- )
1038
- return false
1039
- }
1040
-
1041
- // 是否输入正确
1042
- if (sku.value !== this.taskData.putDownMoveTaskLines[this.downData.index].skuCode){
1043
- sku.focus = true
1044
- this.$lwShowErrorMsg(
1045
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.nowSkuNull','当前商品与下架商品不一致')
1046
- )
1047
- sku.value = ''
1048
- return false
1049
- }
1050
-
1051
- return true
1052
- },
1053
-
1054
- // 数量确认
1055
- downDataNumConfirm(){
1056
- if (this.downDataNumCheck()){
1057
- this.downData.input.lpn.focus = true
1058
- }
1059
- },
1060
- // 数量校验
1061
- downDataNumCheck(){
1062
- const num = Number(this.downData.input.num.value || 0)
1063
- if (!num){
1064
- this.downData.input.num.focus = true
1065
- this.$lwShowErrorMsg(
1066
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.qtyNull','数量不能为空,且应当是大于0的整数')
1067
- )
1068
- this.downData.input.num.value = ''
1069
- return false
1070
- }
1071
-
1072
- if (num > this.taskData.putDownMoveTaskLines[this.downData.index].todoQty){
1073
- this.downData.input.num.focus = true
1074
- this.$lwShowErrorMsg(
1075
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.qtyMoer','数量不能大于待下架量')
1076
- )
1077
- this.downData.input.num.value = ''
1078
- return false
1079
- }
1080
-
1081
- return true
1082
- },
1083
-
1084
- // 托盘号校验
1085
- downDataLpnConfirm(){
1086
- if(this.downDataLpnCheck()){
1087
- this.actionDown()
1088
- }
1089
- },
1090
- // 托盘号校验
1091
- downDataLpnCheck(){
1092
- if (this.downData.input.lpn.value) return true
1093
-
1094
- this.downData.input.lpn.focus = true
1095
- this.$lwShowErrorMsg(
1096
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.lpnNull','托盘号不能为空')
1097
- )
1098
- return false
1099
- },
1100
-
1101
- // 下架异常
1102
- downDataAbnormal(){
1103
- const item = this.taskData.putDownMoveTaskLines[this.downData.index]
1104
- this.openAbnormal({
1105
- ...item,
1106
- qty: item.todoQty,
1107
- location: item.fromLocationCode,
1108
- type:this.$lwLanguage.get('wms_project.pda.inbound.taskMove.inbound','在库'),
1109
- abType: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.moveDown','移动下架')
1110
- }, 'down')
1111
- },
1112
-
1113
- // 缺货下架
1114
- downLess(){
1115
- this.openLess(this.taskData.putDownMoveTaskLines[this.downData.index], 'down')
1116
- },
1117
-
1118
- // 确认下架
1119
- actionDown(){
1120
- if (
1121
- !(this.downDataLocalCheck() &&
1122
- this.downDataSkuCodeCheck() &&
1123
- this.downDataNumCheck() &&
1124
- this.downDataLpnCheck())
1125
- ) return
1126
-
1127
- const item = this.taskData.putDownMoveTaskLines[this.downData.index]
1128
- this.moveConfirm({
1129
- taskLineKey: item.lineKey,
1130
- fromLocationId: item.fromLocationId,
1131
- fromLpn: item.fromLpn,
1132
- fromCase: item.fromCase,
1133
- skuId: item.skuId,
1134
- toLocationCode: this.downData.input.local.value,
1135
- toLpn: this.downData.input.lpn.value,
1136
- moveQty: this.downData.input.num.value,
1137
- moveMethod: '1' // 1-下架,2-上架
1138
- }, this.downClearInput)
1139
- },
1140
-
1141
-
1142
-
1143
- /* ---------- 上架 ----------*/
1144
- // 清空输入框
1145
- upClearInput(){
1146
- this.upData.input.sku.value = ''
1147
- this.upData.input.sku.focus = true
1148
- this.upData.input.num.value = ''
1149
- this.upData.input.wait = false
1150
- this.upData.input.local.value = ''
1151
- this.upData.input.lpn.value = ''
1152
- },
1153
-
1154
- // 商品号确认
1155
- upDataSkuCodeConfirm(){
1156
- if (this.upDataSkuCodeCheck()){
1157
- this.upData.input.num.focus = true
1158
- }
1159
- },
1160
- // 商品号输入校验
1161
- upDataSkuCodeCheck(){
1162
- const sku = this.upData.input.sku
1163
- // 非空校验
1164
- if (!sku.value){
1165
- sku.focus = true
1166
- this.$lwShowErrorMsg(
1167
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuNull','商品号不能为空')
1168
- )
1169
- return false
1170
- }
1171
-
1172
- // 是否输入正确
1173
- if (sku.value !== this.taskData.putUpMoveTaskLines[this.upData.index].skuCode){
1174
- sku.focus = true
1175
- this.$lwShowErrorMsg(
1176
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuUpError','当前商品与上架商品不一致')
1177
- )
1178
- sku.value = ''
1179
- return false
1180
- }
1181
-
1182
- return true
1183
- },
1184
-
1185
- // 数量确认
1186
- upDataNumConfirm(){
1187
- if (this.upDataNumCheck()){
1188
- this.upData.input.local.focus = true
1189
- }
1190
- },
1191
- // 数量校验
1192
- upDataNumCheck(){
1193
- const num = Number(this.upData.input.num.value || 0)
1194
- if (!num){
1195
- this.upData.input.num.focus = true
1196
- this.$lwShowErrorMsg(
1197
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.numZero','数量不能为空,且应当是大于0的整数')
1198
- )
1199
- this.upData.input.num.value = ''
1200
- return false
1201
- }
1202
-
1203
- if (num > this.taskData.putUpMoveTaskLines[this.upData.index].todoQty){
1204
- this.upData.input.num.focus = true
1205
- this.$lwShowErrorMsg(
1206
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.upNumMoer','数量不能大于待上架量')
1207
- )
1208
- this.upData.input.num.value = ''
1209
- return false
1210
- }
1211
-
1212
- return true
1213
- },
1214
-
1215
- // 接力上架切换
1216
- upDataWaitChange(){
1217
- this.upData.input.local.value = ''
1218
- this.upData.input.local.focus = true
1219
- this.upData.input.lpn.value = ''
1220
- },
1221
-
1222
- // 库位确认
1223
- upDataLocalConfirm(){
1224
- if (this.upDataLocalCheck()){
1225
- this.upData.input.lpn.focus = true
1226
- }
1227
- },
1228
- // 库位校验
1229
- upDataLocalCheck(){
1230
- const local = this.upData.input.local
1231
- if (!local.value) {
1232
-
1233
- local.focus = true
1234
- this.$lwShowErrorMsg(
1235
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.localNull','库位不能为空')
1236
- )
1237
- return false
1238
- }
1239
-
1240
- return true
1241
- },
1242
-
1243
- // 托盘号校验
1244
- upDataLpnConfirm(){
1245
- if(this.upDataLpnCheck()){
1246
- this.actionUp()
1247
- }
1248
- },
1249
- // 托盘号校验
1250
- upDataLpnCheck(){
1251
- if (!this.upData.input.wait || this.upData.input.lpn.value) return true
1252
-
1253
- this.upData.input.lpn.focus = true
1254
- this.$lwShowErrorMsg(
1255
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.lpnNull','托盘号不能为空')
1256
- )
1257
- return false
1258
- },
1259
-
1260
- // 确认上架
1261
- actionUp(){
1262
-
1263
- if (
1264
- !(this.upDataSkuCodeCheck() &&
1265
- this.upDataNumCheck() &&
1266
- this.upDataLocalCheck() &&
1267
- this.upDataLpnCheck())
1268
- ) return
1269
-
1270
- const item = this.taskData.putUpMoveTaskLines[this.upData.index]
1271
-
1272
- // 检验库位是否正确
1273
- const upLocal = this.taskData.putUpMoveTaskLines[this.upData.index].toLocationCode
1274
- if(!this.upData.input.wait && upLocal && this.upData.input.local.value !== upLocal) {
1275
- this.$dialog.confirm({
1276
- title: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.total', '提示'),
1277
- message: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.toLocalError', '目标库位与上架库位不一致,确认继续?')
1278
- }).then(() => {
1279
- this.moveConfirm({
1280
- taskLineKey: item.lineKey,
1281
- fromLocationId: item.fromLocationId,
1282
- fromLpn: item.fromLpn,
1283
- fromCase: item.fromCase,
1284
- skuId: item.skuId,
1285
- toLocationCode: this.upData.input.local.value,
1286
- toLpn: this.upData.input.lpn.value,
1287
- moveQty: this.upData.input.num.value,
1288
- relay: this.upData.input.wait,
1289
- moveMethod: '2' // 1-下架,2-上架
1290
- }, this.upClearInput)
1291
- }).catch(() => {})
1292
-
1293
- return
1294
- }
1295
- this.moveConfirm({
1296
- taskLineKey: item.lineKey,
1297
- fromLocationId: item.fromLocationId,
1298
- fromLpn: item.fromLpn,
1299
- fromCase: item.fromCase,
1300
- skuId: item.skuId,
1301
- toLocationCode: this.upData.input.local.value,
1302
- toLpn: this.upData.input.lpn.value,
1303
- moveQty: this.upData.input.num.value,
1304
- relay: this.upData.input.wait,
1305
- moveMethod: '2' // 1-下架,2-上架
1306
- }, this.upClearInput)
1307
- },
1308
-
1309
- // 缺货上架
1310
- upLess(){
1311
-
1312
- this.openLess(this.taskData.putUpMoveTaskLines[this.upData.index], 'up')
1313
-
1314
- },
1315
-
1316
- // 扫描商品定位
1317
- upSkuSeo(){
1318
- this.upSkuSeoPopup.show = true
1319
- this.upSkuSeoPopup.sku.focus = true
1320
- },
1321
-
1322
- // 上架异常
1323
- upDataAbnormal(){
1324
- const item = this.taskData.putUpMoveTaskLines[this.upData.index]
1325
- this.openAbnormal({
1326
- ...item,
1327
- qty: item.todoQty,
1328
- location: item.toLocationCode,
1329
- type:this.$lwLanguage.get('wms_project.pda.inbound.taskMove.inbound','在库'),
1330
- abType: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.moveUp','移动上架')
1331
- }, 'up')
1332
- },
1333
-
1334
- // 扫描商品定位
1335
- upSkuSeoPopupSkuConfirm(){
1336
- if(!this.upSkuSeoPopup.sku.value){
1337
- this.upSkuSeoPopup.sku.focus = true
1338
- this.$lwShowErrorMsg(
1339
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.scanSku','请扫描或输入需要定位的商品号')
1340
- )
1341
- return
1342
- }
1343
-
1344
- for (let i=0;i<this.taskData.putUpMoveTaskLines.length;i++){
1345
-
1346
- if (this.taskData.putUpMoveTaskLines[i].skuCode === this.upSkuSeoPopup.sku.value){
1347
- this.upData.index = i
1348
- this.$lwToast.success(
1349
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.cutCell','已切换至任务行')+ ':' + (i + 1)
1350
- )
1351
- this.upSkuSeoPopup.show = false
1352
- this.upClearInput()
1353
- return
1354
- }
1355
- }
1356
-
1357
- this.$lwShowErrorMsg(
1358
- this.$lwLanguage.get('wms_project.pda.inbound.taskMove.taskNullSku','在当前任务中没有查询到商品任务行,请确认商品号是否输入正确')
1359
- )
1360
- this.upSkuSeoPopup.sku.focus = true
1361
- this.upSkuSeoPopup.sku.value = ''
1362
- }
1363
- }
1364
- }
1365
- </script>
1366
-
1367
- <style scoped lang="less">
1368
-
1369
- .lw-task-move-look-item{
1370
- text-align: center;
1371
- }
1372
-
1373
-
1374
- </style>
1
+ <!--
2
+ 标准移动 - 任务界面进入
3
+ @author: 张文
4
+ @date: 2022-05-16
5
+ -->
6
+ <template>
7
+ <div>
8
+
9
+ <lw-nav-bar :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.title','库存移动')"/>
10
+ <div id="lw-task-move-top"></div>
11
+
12
+ <div class="lw-global-page-box">
13
+
14
+ <!-- 看板 -->
15
+ <div>
16
+ <div class="lw-global-model-top-radius">
17
+ <span class="lw-global-title">
18
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.taskNo','任务号') }}
19
+ </span>
20
+ <span class="lw-global-value-bold">{{ taskData.taskNo }}</span>
21
+ </div>
22
+ <lw-data-look-bg type="bottom">
23
+
24
+ <!-- 品种数 -->
25
+ <div>
26
+ <div>{{ taskData.skuCount || 0 }}</div>
27
+ <div>{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.skuCount','品种数') }}</div>
28
+ </div>
29
+
30
+ <!-- 计划量 -->
31
+ <div>
32
+ <div>{{ taskData.planQty || 0 }}</div>
33
+ <div>
34
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.planQty','计划量') }}
35
+ </div>
36
+ </div>
37
+
38
+ <!-- 已上架 -->
39
+ <div>
40
+ <div>{{ taskData.putUpQty || 0 }}</div>
41
+ <div>
42
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.putUpQty','已上架') }}
43
+ </div>
44
+ </div>
45
+
46
+ <!-- 待上架 -->
47
+ <div>
48
+ <div>{{ taskData.toPutUpQty || 0 }}</div>
49
+ <div>
50
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.toPutUpQty','待上架') }}
51
+ </div>
52
+ </div>
53
+
54
+ <!-- 异常量 -->
55
+ <div>
56
+ <div>{{ taskData.abnQty || 0 }}</div>
57
+ <div>
58
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abnQty','异常量') }}
59
+ </div>
60
+ </div>
61
+
62
+ </lw-data-look-bg>
63
+ </div>
64
+
65
+ <!-- tab -->
66
+ <div class="lw-global-tab-box" style="margin-top: 10px">
67
+ <van-tabs
68
+ type="card"
69
+ animated
70
+ v-model="tabActive"
71
+ @change="tabChange"
72
+ >
73
+
74
+ <!-- 下架 -->
75
+ <van-tab
76
+ name="down"
77
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.down','下架')"
78
+ >
79
+
80
+ <div
81
+ v-if="taskData.putDownMoveTaskLines.length"
82
+ class="lw-global-model-box"
83
+ >
84
+ <!-- 商品信息 -->
85
+ <div class="lw-global-row-start">
86
+ <div class="lw-global-value-bold">
87
+ {{ taskData.putDownMoveTaskLines[downData.index].skuCode }}
88
+ </div>
89
+ <div class="lw-global-title">
90
+ {{ taskData.putDownMoveTaskLines[downData.index].skuName }}
91
+ </div>
92
+ </div>
93
+
94
+ <!-- 内装数 -->
95
+ <div class="lw-global-row">
96
+ <span class="lw-global-title">
97
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.innerQty','内装数') }}
98
+ </span>
99
+ <span class="lw-global-value-bold">
100
+ {{ taskData.putDownMoveTaskLines[downData.index].innerQty }}
101
+ </span>
102
+ </div>
103
+
104
+ <!-- 下架库位 -->
105
+ <div class="lw-global-row">
106
+ <span class="lw-global-title">
107
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.downLocal','下架库位') }}
108
+ </span>
109
+ <span class="lw-global-value-bold">
110
+ {{ taskData.putDownMoveTaskLines[downData.index].fromLocationCode }}
111
+ </span>
112
+ </div>
113
+
114
+ <!-- 下架托盘号 -->
115
+ <div class="lw-global-row" v-if="hasDownLpn()">
116
+ <span class="lw-global-title">
117
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.downLpn','下架托盘号') }}
118
+ </span>
119
+ <span class="lw-global-value-bold">
120
+ {{ taskData.putDownMoveTaskLines[downData.index].fromLpn }}
121
+ </span>
122
+ </div>
123
+
124
+ <!-- 数据看板 -->
125
+ <div class="lw-global-row lw-global-flex-around">
126
+ <!-- 待下架 -->
127
+ <div class="lw-task-move-look-item">
128
+ <div class="lw-global-value-bold">{{ taskData.putDownMoveTaskLines[downData.index].todoQty || 0 }}</div>
129
+ <div class="lw-global-title">
130
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.todoQty','待下架') }}
131
+ </div>
132
+ </div>
133
+
134
+ <!-- 已下架 -->
135
+ <div class="lw-task-move-look-item">
136
+ <div class="lw-global-value-bold">{{ taskData.putDownMoveTaskLines[downData.index].doneQty || 0 }}</div>
137
+ <div class="lw-global-title">
138
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.doneQty','已下架') }}
139
+ </div>
140
+ </div>
141
+
142
+ <!-- 异常量 -->
143
+ <div class="lw-task-move-look-item">
144
+ <div class="lw-global-value-bold" style="color: #D50000">
145
+ {{ taskData.putDownMoveTaskLines[downData.index].abnQty || 0 }}
146
+ </div>
147
+ <div class="lw-global-title" style="color: #D50000">
148
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abnQty','异常量') }}
149
+ </div>
150
+ </div>
151
+ </div>
152
+
153
+ <lw-lot-look-module :columns="taskData.putDownMoveTaskLines[downData.index].groupKeyItemList"
154
+ title-key="label" value-key="value"/>
155
+
156
+ <!-- 库位 -->
157
+ <lw-input
158
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.downLocal','下架库位')"
159
+ v-model="downData.input.local.value"
160
+ :get-focus.sync="downData.input.local.focus"
161
+ required
162
+ rule-key="downLocal"
163
+ @confirm="downDataLocalConfirm"
164
+ />
165
+
166
+ <!-- LPN -->
167
+ <lw-input
168
+ v-if="hasDownLpn()"
169
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.downLpn','下架托盘号')"
170
+ v-model="downData.input.downLpn.value"
171
+ :get-focus.sync="downData.input.downLpn.focus"
172
+ required
173
+ rule-key="downLpn"
174
+ @confirm="downDataDownLpnConfirm"
175
+ />
176
+
177
+ <div v-if="taskData.putDownMoveTaskLines[downData.index].needHandleSn">
178
+
179
+ <lw-input
180
+ :title="$lwLanguage.get('','扫描序列号')"
181
+ v-model="downData.input.sn.value"
182
+ :get-focus.sync="downData.input.sn.focus"
183
+ :rule-production-data="$lwScanRule.production('标准移动-SN','SN')"
184
+ rule-key="sn"
185
+ required
186
+ @confirm="moveDownTaskSnConfirm"
187
+ />
188
+ <lw-scan-data-list-module
189
+ title="已扫描序列号"
190
+ v-model="downData.input.snList"
191
+ />
192
+
193
+ </div>
194
+ <div v-else>
195
+ <!-- 商品条码 -->
196
+ <lw-input
197
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.skuCode','商品条码')"
198
+ v-model="downData.input.sku.value"
199
+ :get-focus.sync="downData.input.sku.focus"
200
+ required
201
+ rule-key="sku"
202
+ @confirm="downDataSkuCodeConfirm"
203
+ />
204
+
205
+ <!-- 数量 -->
206
+ <lw-input
207
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.qty','数量')"
208
+ v-model="downData.input.num.value"
209
+ :get-focus.sync="downData.input.num.focus"
210
+ type="digit"
211
+ required
212
+ @confirm="downDataNumConfirm"
213
+ />
214
+ </div>
215
+
216
+
217
+ <!-- 托盘号 -->
218
+ <lw-input
219
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.lpn','中转容器号')"
220
+ v-model="downData.input.lpn.value"
221
+ :get-focus.sync="downData.input.lpn.focus"
222
+ required
223
+ rule-key="container"
224
+ @confirm="actionDown"
225
+ />
226
+
227
+ <!-- 切换按钮 -->
228
+ <lw-cut-card
229
+ v-model="downData.index"
230
+ :length="taskData.putDownMoveTaskLines.length"
231
+ :cut-end="downClearInput"
232
+ >
233
+ <template #numLast>
234
+ <!-- 异常按钮 -->
235
+ <lw-button
236
+ type="last"
237
+ plain
238
+ round
239
+ mini
240
+ @click="downDataAbnormal"
241
+ >
242
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abn','异常') }}
243
+ </lw-button>
244
+ </template>
245
+ </lw-cut-card>
246
+
247
+ </div>
248
+
249
+ <lw-not-data v-else/>
250
+
251
+ </van-tab>
252
+
253
+
254
+ <!-- 上架 -->
255
+ <van-tab
256
+ name="up"
257
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.up','上架')">
258
+
259
+ <div
260
+ v-if="taskData.putUpMoveTaskLines.length"
261
+ class="lw-global-model-box"
262
+ >
263
+
264
+ <!-- 商品信息 -->
265
+ <div class="lw-global-row-start">
266
+ <div class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].skuCode }}</div>
267
+ <div class="lw-global-title">{{ taskData.putUpMoveTaskLines[upData.index].skuName }}</div>
268
+ </div>
269
+
270
+ <!-- 中转容器号 -->
271
+ <div class="lw-global-row">
272
+ <span class="lw-global-title">
273
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.lpn','中转容器号') }}
274
+ </span>
275
+ <span class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].curLpn }}</span>
276
+ </div>
277
+
278
+ <!-- 内装数 -->
279
+ <div class="lw-global-row">
280
+ <span class="lw-global-title">
281
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.innerQty','内装数') }}
282
+ </span>
283
+ <span class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].innerQty }}</span>
284
+ </div>
285
+
286
+ <!-- 上架库位 -->
287
+ <div class="lw-global-row">
288
+ <span class="lw-global-title">
289
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.upLocal','上架库位') }}
290
+ </span>
291
+ <span class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].toLocationCode || '-' }}</span>
292
+ </div>
293
+
294
+ <!-- 数据看板 -->
295
+ <div class="lw-global-row lw-global-flex-around">
296
+ <!-- 待上架 -->
297
+ <div class="lw-task-move-look-item">
298
+ <div class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].todoQty || 0 }}</div>
299
+ <div class="lw-global-title">
300
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.waitUp','待上架') }}
301
+ </div>
302
+ </div>
303
+
304
+ <!-- 已上架 -->
305
+ <div class="lw-task-move-look-item">
306
+ <div class="lw-global-value-bold">{{ taskData.putUpMoveTaskLines[upData.index].doneQty || 0 }}</div>
307
+ <div class="lw-global-title">
308
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.overUp','已上架') }}
309
+ </div>
310
+ </div>
311
+
312
+ <!-- 异常量 -->
313
+ <div class="lw-task-move-look-item">
314
+ <div class="lw-global-value-bold" style="color: #D50000">
315
+ {{ taskData.putUpMoveTaskLines[upData.index].abnQty || 0 }}
316
+ </div>
317
+ <div class="lw-global-title" style="color: #D50000">
318
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abnNum','异常量') }}
319
+ </div>
320
+ </div>
321
+ </div>
322
+
323
+ <lw-lot-look-module
324
+ :columns="taskData.putUpMoveTaskLines[upData.index].groupKeyItemList"
325
+ title-key="label" value-key="value"
326
+ />
327
+
328
+ <div v-if="taskData.putUpMoveTaskLines[upData.index].needHandleSn">
329
+
330
+ <lw-input
331
+ :title="$lwLanguage.get('','扫描序列号')"
332
+ v-model="upData.input.sn.value"
333
+ :get-focus.sync="upData.input.sn.focus"
334
+ :rule-production-data="$lwScanRule.production('标准移动-SN','SN')"
335
+ rule-key="sn"
336
+ required
337
+ @confirm="moveUpTaskSnConfirm"
338
+ />
339
+ <lw-scan-data-list-module
340
+ title="已扫描序列号"
341
+ v-model="upData.input.snList"
342
+ />
343
+
344
+ </div>
345
+
346
+ <div v-else>
347
+ <!-- 商品条码 -->
348
+ <lw-input
349
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.skuCode','商品条码')"
350
+ v-model="upData.input.sku.value"
351
+ :get-focus.sync="upData.input.sku.focus"
352
+ required
353
+ rule-key="sku"
354
+ @confirm="upDataSkuCodeConfirm"
355
+ />
356
+
357
+ <!-- 数量 -->
358
+ <lw-input
359
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.qty','数量')"
360
+ v-model="upData.input.num.value"
361
+ :get-focus.sync="upData.input.num.focus"
362
+ type="digit"
363
+ required
364
+ @confirm="upDataNumConfirm"
365
+ />
366
+ </div>
367
+
368
+ <!-- 接力上架 -->
369
+ <lw-cell
370
+ style="padding: 0"
371
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.relay','接力上架')"
372
+ :is-link="false"
373
+ required
374
+ >
375
+ <template #value>
376
+ <van-switch
377
+ v-model="upData.input.wait"
378
+ size="22px"
379
+ @change="upDataWaitChange"
380
+ />
381
+ </template>
382
+ </lw-cell>
383
+
384
+ <!-- 非接力上架 -->
385
+ <div v-if="!upData.input.wait">
386
+ <!-- 目标库位 -->
387
+ <lw-input
388
+ class="lw-global-animation-rotate"
389
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.toLocal','目标库位')"
390
+ v-model="upData.input.local.value"
391
+ :get-focus.sync="upData.input.local.focus"
392
+ required
393
+ rule-key="upLocal"
394
+ @confirm="upDataLocalConfirm"
395
+ />
396
+
397
+ <!-- 目标托盘 -->
398
+ <lw-input
399
+ class="lw-global-animation-rotate"
400
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.toLpn','目标托盘')"
401
+ v-model="upData.input.lpn.value"
402
+ :get-focus.sync="upData.input.lpn.focus"
403
+ rule-key="upLpn"
404
+ @confirm="upDataLpnConfirm"
405
+ />
406
+ </div>
407
+
408
+ <!-- 接力上架 -->
409
+ <div
410
+ class="lw-global-animation-rotate"
411
+ v-else
412
+ >
413
+ <!-- 通道库位 -->
414
+ <lw-input
415
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.wayLocal','通道库位')"
416
+ v-model="upData.input.local.value"
417
+ :get-focus.sync="upData.input.local.focus"
418
+ required
419
+ rule-key="waitLocal"
420
+ @confirm="upDataLocalConfirm"
421
+ />
422
+ <!-- 暂存容器号 -->
423
+ <lw-input
424
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.waitLpn','暂存容器号')"
425
+ v-model="upData.input.lpn.value"
426
+ :get-focus.sync="upData.input.lpn.focus"
427
+ required
428
+ rule-key="waitContainer"
429
+ @confirm="upDataLpnConfirm"
430
+ />
431
+ </div>
432
+
433
+ <!-- 切换按钮 -->
434
+ <lw-cut-card
435
+ v-model="upData.index"
436
+ :length="taskData.putUpMoveTaskLines.length"
437
+ :cut-end="upClearInput"
438
+ >
439
+ <template #numLast>
440
+ <!-- 异常按钮 -->
441
+ <lw-button
442
+ type="last"
443
+ plain
444
+ round
445
+ mini
446
+ @click="upDataAbnormal"
447
+ >
448
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.abn','异常') }}
449
+ </lw-button>
450
+ </template>
451
+ </lw-cut-card>
452
+
453
+ </div>
454
+
455
+ <lw-not-data v-else/>
456
+
457
+ </van-tab>
458
+
459
+
460
+ </van-tabs>
461
+ </div>
462
+
463
+ </div>
464
+
465
+ <!-- 下架状态时底部按钮 -->
466
+ <lw-bottom-bar v-if="tabActive === 'down' && taskData.putDownMoveTaskLines.length">
467
+ <lw-button
468
+ type="last"
469
+ plain
470
+ @click="downLess"
471
+ >{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.littleDown','缺货下架') }}</lw-button>
472
+
473
+
474
+ <lw-button @click="actionDown">
475
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmDown','确认下架') }}
476
+ </lw-button>
477
+ </lw-bottom-bar>
478
+ <!-- 上架状态时底部按钮 -->
479
+ <lw-bottom-bar v-if="tabActive === 'up' && taskData.putUpMoveTaskLines.length">
480
+ <lw-button
481
+ type="last"
482
+ plain
483
+ @click="upLess"
484
+ >{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.littleUp','缺货上架') }}</lw-button>
485
+
486
+ <lw-button
487
+ type="normal"
488
+ plain
489
+ @click="upSkuSeo"
490
+ >{{ $lwLanguage.get('wms_project.pda.inbound.taskMove.seoSku','扫描商品定位') }}</lw-button>
491
+
492
+ <lw-button @click="actionUp">
493
+ {{
494
+ upData.input.wait ?
495
+ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmRelay','确认接力') :
496
+ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmUp','确认上架')
497
+ }}
498
+ </lw-button>
499
+ </lw-bottom-bar>
500
+
501
+
502
+ <!-- 上架 - 扫描商品定位任务行 -->
503
+ <lw-popup
504
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.localSku','定位商品')"
505
+ v-model="upSkuSeoPopup.show"
506
+ @closed="upSkuSeoPopup.sku.value=''"
507
+ >
508
+ <lw-input
509
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.skuCode','商品条码')"
510
+ v-model="upSkuSeoPopup.sku.value"
511
+ :get-focus.sync="upSkuSeoPopup.sku.focus"
512
+ required
513
+ rule-key="sku"
514
+ @confirm="upSkuSeoPopupSkuConfirm"
515
+ />
516
+
517
+ <template #button>
518
+ <lw-button @click="upSkuSeoPopupSkuConfirm">
519
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirm','确认') }}
520
+ </lw-button>
521
+ </template>
522
+ </lw-popup>
523
+
524
+
525
+ <!-- 缺货 -->
526
+ <lw-popup
527
+ :title="
528
+ lessPopup.type === 'up' ?
529
+ $lwLanguage.get('wms_project.pda.inbound.taskMove.littleUp','缺货上架') :
530
+ $lwLanguage.get('wms_project.pda.inbound.taskMove.littleDown','缺货下架')
531
+ "
532
+ v-model="lessPopup.show"
533
+ @closed="lessPopupOff"
534
+ >
535
+
536
+ <div class="lw-global-row">
537
+ <div class="lw-global-value-bold">{{ lessPopup.item.skuCode }}</div>
538
+ <div class="lw-global-title">{{ lessPopup.item.skuName }}</div>
539
+ </div>
540
+
541
+ <div class="lw-global-row lw-global-flex-between">
542
+
543
+ <div>
544
+ <span class="lw-global-title">
545
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.waitQty', '待处理量') }}
546
+ </span>
547
+ <span class="lw-global-value-bold" style="color:#D50000;">
548
+ {{ lessPopup.item.todoQty }}
549
+ </span>
550
+ </div>
551
+
552
+ <div>
553
+ <span class="lw-global-title">
554
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.innerQty', '内装数') }}
555
+ </span>
556
+ <span class="lw-global-value-bold">
557
+ {{ lessPopup.item.innerQty }}
558
+ </span>
559
+ </div>
560
+
561
+ </div>
562
+
563
+ <lw-input
564
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.confirmSku','确认商品')"
565
+ v-model="lessPopup.input.sku.value"
566
+ :get-focus.sync="lessPopup.input.sku.focus"
567
+ required
568
+ rule-key="sku"
569
+ @confirm="lessSkuConfirm"
570
+ />
571
+
572
+ <lw-input
573
+ :title="$lwLanguage.get('wms_project.pda.inbound.taskMove.littleQty','缺货量')"
574
+ v-model="lessPopup.input.num.value"
575
+ :get-focus.sync="lessPopup.input.num.focus"
576
+ type="digit"
577
+ required
578
+ @confirm="lessNumConfirm"
579
+ />
580
+
581
+ <template #button>
582
+ <lw-button @click="lessPartConfirm">
583
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmPartLess','确认部分缺货') }}
584
+ </lw-button>
585
+ <lw-button @click="lessConfirm">
586
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirmLess','确认全部缺货') }}
587
+ </lw-button>
588
+ </template>
589
+
590
+ </lw-popup>
591
+
592
+
593
+ <!-- 异常 -->
594
+ <lw-popup
595
+ :title="
596
+ abnormalPopup.type === 'up' ?
597
+ $lwLanguage.get('wms_project.pda.inbound.taskMove.upAbn','上架异常') :
598
+ $lwLanguage.get('wms_project.pda.inbound.taskMove.downAbn','下架异常')
599
+ "
600
+ v-model="abnormalPopup.show"
601
+ @closed="abnormalPopup.comShow = false"
602
+ >
603
+
604
+ <lw-inner-abnormal-module
605
+ v-if="abnormalPopup.comShow"
606
+ ref="abnormal"
607
+ v-bind="abnormalPopup.item"
608
+ />
609
+
610
+ <template #button>
611
+ <lw-button @click="abnormalConfirm">
612
+ {{ $lwLanguage.get('wms_project.pda.inbound.taskMove.confirm','确认') }}
613
+ </lw-button>
614
+ </template>
615
+
616
+ </lw-popup>
617
+
618
+ </div>
619
+ </template>
620
+
621
+ <script>
622
+
623
+ import {
624
+ wmsExecMobileMove,
625
+ wmsGetMoveTaskInfo,
626
+ wmsMoveTaskAbnormalSubmit,
627
+ wmsMoveTaskLessQtyAbnormalSubmit
628
+ } from "../../../../../api/inner/move/taskMove";
629
+
630
+ export default {
631
+ name: "lwTaskMovePage",
632
+ data() {
633
+ return {
634
+ // 任务数据
635
+ taskData:{
636
+ putDownMoveTaskLines:[],
637
+ putUpMoveTaskLines:[],
638
+ },
639
+
640
+ // tab集货项
641
+ tabActive: 'down',
642
+
643
+ // 缺货
644
+ lessPopup:{
645
+ type:'',
646
+ show: false,
647
+ // 当前缺货的商品
648
+ item:{},
649
+ // 输入框
650
+ input:{
651
+ sku:{
652
+ value:'',
653
+ focus: false
654
+ },
655
+ num:{
656
+ value:'',
657
+ focus: false
658
+ }
659
+ }
660
+ },
661
+
662
+ // 异常
663
+ abnormalPopup:{
664
+ show: false,
665
+ // 是否加载异常组件
666
+ comShow: false,
667
+ type: 'up',
668
+ item:{}
669
+ },
670
+
671
+ // 下架数据集合
672
+ downData:{
673
+ // 任务行索引
674
+ index:0,
675
+ // 输入框
676
+ input:{
677
+ // 库位
678
+ local:{
679
+ value:'',
680
+ focus: false
681
+ },
682
+ // 下架托盘
683
+ downLpn:{
684
+ value:'',
685
+ focus: false
686
+ },
687
+ // 商品
688
+ sku:{
689
+ value:'',
690
+ focus: false
691
+ },
692
+ // sn
693
+ sn:{
694
+ value:'',
695
+ focus: false
696
+ },
697
+ // 数量
698
+ num:{
699
+ value:'',
700
+ focus: false
701
+ },
702
+ // 托盘
703
+ lpn:{
704
+ value:'',
705
+ focus: false
706
+ },
707
+ // sn扫描列表
708
+ snList:[]
709
+ }
710
+ },
711
+
712
+ // 上架数据集
713
+ upData:{
714
+ // 任务行索引
715
+ index:0,
716
+ // 输入框
717
+ input:{
718
+ // 商品
719
+ sku:{
720
+ value:'',
721
+ focus: false
722
+ },
723
+ // 数量
724
+ num:{
725
+ value:'',
726
+ focus: false
727
+ },
728
+ // 是否接力上架
729
+ wait: false,
730
+ // 目标库位 / 通道库位
731
+ local:{
732
+ value:'',
733
+ focus: false
734
+ },
735
+ // 目标托盘 / 通道托盘
736
+ lpn:{
737
+ value:'',
738
+ focus: false
739
+ },
740
+ // sn
741
+ sn:{
742
+ value:'',
743
+ focus: false
744
+ },
745
+ // sn扫描列表
746
+ snList:[]
747
+
748
+ }
749
+ },
750
+ // 上架 - 扫描商品定位
751
+ upSkuSeoPopup:{
752
+ show: false,
753
+ sku:{
754
+ value:'',
755
+ focus: false
756
+ }
757
+ }
758
+ }
759
+ },
760
+ mounted() {
761
+ if (this.$route.query.tabActive) {
762
+ this.tabActive = this.$route.query.tabActive
763
+ }
764
+
765
+ this.getData()
766
+ },
767
+ methods: {
768
+ // 获取数据
769
+ getData(){
770
+ wmsGetMoveTaskInfo({
771
+ taskId: this.$route.query.lwTaskId
772
+ }).then(res=>{
773
+
774
+ this.downData.index = this.$lwUtils.cutCardIndexCount(this.downData.index, res.putDownMoveTaskLines.length)
775
+ this.upData.index = this.$lwUtils.cutCardIndexCount(this.upData.index, res.putUpMoveTaskLines.length)
776
+
777
+ this.taskData = res
778
+
779
+ // 滚动到页面顶部
780
+ document.querySelector('#lw-task-move-top').scrollIntoView({
781
+ behavior: "smooth",
782
+ block:'start',
783
+ })
784
+
785
+ // 如果当前在上架任务且还有待作业的任务就切换到上架tab
786
+ if (this.tabActive === 'up' && this.taskData.putUpMoveTaskLines.length) {
787
+ this.tabActive = 'up'
788
+ this.upData.input.sku.focus = true
789
+ return
790
+ }
791
+
792
+ // 如果有下架任务就切换到下架tab
793
+ if (this.taskData.putDownMoveTaskLines.length) {
794
+ this.tabActive = 'down'
795
+ this.downData.input.local.focus = true
796
+ return
797
+ }
798
+
799
+ // 如果有上架任务就切换到上架tab
800
+ if (this.taskData.putUpMoveTaskLines.length){
801
+ this.tabActive = 'up'
802
+ this.upData.input.sku.focus = true
803
+ return
804
+ }
805
+
806
+ // 什么任务都没有就返回上级页面
807
+ this.$lwToast.success(
808
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.taskOver','当前任务已完成')
809
+ )
810
+ history.go(-1)
811
+ }).catch(()=>history.go(-1))
812
+ },
813
+
814
+ // tab切换
815
+ tabChange(){
816
+ if(this.tabActive === 'up'){
817
+ this.upData.input.sku.focus = true
818
+ }else {
819
+ this.downData.input.local.focus = true
820
+ }
821
+ },
822
+
823
+ // 打开缺货弹框
824
+ openLess(item, type){
825
+ this.lessPopup.type = type
826
+ this.lessPopup.item = item
827
+ this.lessPopup.show = true
828
+ this.lessPopup.input.sku.focus = true
829
+ },
830
+
831
+ // 缺货 - 商品确认
832
+ lessSkuConfirm(){
833
+ if (this.lessSkuCheck()){
834
+ this.lessPopup.input.num.focus = true
835
+ }
836
+ },
837
+ // 缺货 - 商品校验
838
+ lessSkuCheck(){
839
+ const sku = this.lessPopup.input.sku
840
+ if (!sku.value){
841
+ sku.focus = true
842
+ this.$lwShowErrorMsg(
843
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuNull','商品不能为空')
844
+ )
845
+ return false
846
+ }
847
+
848
+ if (sku.value !== this.lessPopup.item.skuCode){
849
+ sku.focus = true
850
+ this.$lwShowErrorMsg(
851
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuError','商品号与当前商品不一致')
852
+ )
853
+ sku.value = ''
854
+ return false
855
+ }
856
+
857
+ return true
858
+
859
+ },
860
+
861
+ // 缺货 - 缺货量确认
862
+ lessNumConfirm(){
863
+ if (this.lessNumCheck()){
864
+ this.lessConfirm()
865
+ }
866
+ },
867
+ // 缺货 - 缺货量检查
868
+ lessNumCheck(){
869
+ const num = this.lessPopup.input.num
870
+ const numVal = Number(num.value || 0)
871
+ if (!numVal){
872
+ num.focus = true
873
+ this.$lwShowErrorMsg(
874
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.littleNumZero','缺货量不能为空,且应当是大于0的整数')
875
+ )
876
+ return false
877
+ }
878
+
879
+ if (numVal > this.lessPopup.item.todoQty){
880
+ num.focus = true
881
+ this.$lwShowErrorMsg(
882
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.littleNumMore','缺货量不能大于待处理量')
883
+ )
884
+ num.value = ''
885
+ return false
886
+ }
887
+
888
+ return true
889
+ },
890
+
891
+ // 全部缺货
892
+ lessConfirm(){
893
+ const item = this.lessPopup.item
894
+ wmsMoveTaskLessQtyAbnormalSubmit({
895
+ taskId: this.$route.query.lwTaskId,
896
+ taskLineKey: item.lineKey,
897
+ abnQty: item.todoQty,
898
+ moveMethod: this.lessPopup.type === 'up' ? '2' : '1', // 1-下架,2-上架
899
+ abnLocationCode: item.fromLocationCode,
900
+ abnLpn: item.fromLpn,
901
+ }).then(()=>{
902
+ this.$lwToast.success(
903
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.upSuccess','上报成功')
904
+ )
905
+ this.lessPopup.show = false
906
+ this.getData()
907
+ })
908
+ },
909
+
910
+ // 确认部分缺货
911
+ lessPartConfirm(){
912
+ if (
913
+ !(this.lessSkuCheck() && this.lessNumCheck())
914
+ ) return
915
+
916
+ const item = this.lessPopup.item
917
+ wmsMoveTaskLessQtyAbnormalSubmit({
918
+ taskId: this.$route.query.lwTaskId,
919
+ taskLineKey: item.lineKey,
920
+ abnQty: this.lessPopup.input.num.value,
921
+ moveMethod: this.lessPopup.type === 'up' ? '2' : '1', // 1-下架,2-上架
922
+ abnLocationCode: item.fromLocationCode,
923
+ abnLpn: item.fromLpn,
924
+ }).then(()=>{
925
+
926
+ this.$lwToast.success(
927
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.upSuccess','上报成功')
928
+ )
929
+ this.lessPopup.show = false
930
+ this.getData()
931
+ })
932
+ },
933
+
934
+ // 缺货弹框关闭
935
+ lessPopupOff(){
936
+ const input = this.lessPopup.input
937
+ input.sku.value = ''
938
+ input.num.value = ''
939
+ },
940
+
941
+ // 打开异常弹框
942
+ openAbnormal(item, type){
943
+ this.abnormalPopup.item= item
944
+ this.abnormalPopup.type = type
945
+ this.abnormalPopup.comShow = true
946
+ this.abnormalPopup.show = true
947
+ },
948
+
949
+ // 异常上报确认
950
+ abnormalConfirm(){
951
+
952
+ const {success, data} = this.$refs.abnormal.getAbnormalData()
953
+
954
+ if (!success) return
955
+
956
+ const item = this.abnormalPopup.item
957
+ wmsMoveTaskAbnormalSubmit({
958
+ taskId: this.$route.query.lwTaskId,
959
+ taskLineKey: item.lineKey,
960
+ fromLocationId: item.fromLocationId,
961
+ fromLpn: item.fromLpn,
962
+ abnBelongType:'STOCK',
963
+ abnDiscoveryPoint: this.abnormalPopup.type === 'down' ? 'MV_PUTDOWN' : 'MV_PUTAWAY',
964
+ ...data
965
+ }).then(()=>{
966
+ this.$lwToast.success(
967
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.abnSuccess','异常上报成功')
968
+ )
969
+
970
+ this.abnormalPopup.show = false
971
+ this.abnormalPopup.comShow = false
972
+
973
+ this.getData()
974
+ })
975
+ },
976
+
977
+ // 确认移动
978
+ moveConfirm(item, callback){
979
+ wmsExecMobileMove({
980
+ taskId: this.$route.query.lwTaskId,
981
+ ...item
982
+ }).then(()=>{
983
+
984
+ this.$lwToast.success(
985
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.changSuccess','操作成功')
986
+ )
987
+
988
+ callback && callback()
989
+
990
+ this.getData()
991
+ })
992
+ },
993
+
994
+
995
+
996
+ /* ---------- 下架 ----------*/
997
+
998
+ // 清空下架输入框
999
+ downClearInput(){
1000
+ const input = this.downData.input
1001
+ input.local.value = ''
1002
+ input.local.focus = true
1003
+ input.sku.value = ''
1004
+ input.num.value = ''
1005
+ input.lpn.value = ''
1006
+ input.snList=[]
1007
+ input.sn=''
1008
+ },
1009
+
1010
+ // 是否有下架托盘
1011
+ hasDownLpn(){
1012
+ let item = this.taskData.putDownMoveTaskLines[this.downData.index]
1013
+
1014
+ return item.fromLpn && item.fromLpn !== ''
1015
+ },
1016
+
1017
+ // 库位确认
1018
+ downDataLocalConfirm(){
1019
+ if (this.downDataLocalCheck()){
1020
+ if (this.hasDownLpn()) {
1021
+ this.downData.input.downLpn.focus = true
1022
+ } else {
1023
+ this.downData.input.sku.focus = true
1024
+ }
1025
+ }
1026
+ },
1027
+ // 库位校验
1028
+ downDataLocalCheck(){
1029
+ const local = this.downData.input.local
1030
+ if (!local.value) {
1031
+ local.focus = true
1032
+ this.$lwShowErrorMsg(
1033
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.localNull','库位不能为空')
1034
+ )
1035
+ return false
1036
+ }
1037
+
1038
+ if (local.value !== this.taskData.putDownMoveTaskLines[this.downData.index].fromLocationCode){
1039
+ local.focus = true
1040
+ this.$lwShowErrorMsg(
1041
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.localError','下架库位与任务库位不一致')
1042
+ )
1043
+
1044
+ local.value = ''
1045
+
1046
+ return false
1047
+ }
1048
+
1049
+ return true
1050
+ },
1051
+
1052
+ // 下架托盘确认
1053
+ downDataDownLpnConfirm() {
1054
+ if (this.downDataDownLpnCheck()){
1055
+ this.downData.input.sku.focus = true
1056
+ }
1057
+ },
1058
+ // 下架托盘校验
1059
+ downDataDownLpnCheck(){
1060
+ const downLpn = this.downData.input.downLpn
1061
+ if (!downLpn.value) {
1062
+ downLpn.focus = true
1063
+ this.$lwShowErrorMsg(
1064
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.downLpnNull','下架托盘不能为空')
1065
+ )
1066
+ return false
1067
+ }
1068
+
1069
+ if (downLpn.value !== this.taskData.putDownMoveTaskLines[this.downData.index].fromLpn){
1070
+ downLpn.focus = true
1071
+ this.$lwShowErrorMsg(
1072
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.downLpnNotMatch','下架托盘号与任务托盘号不一致')
1073
+ )
1074
+
1075
+ downLpn.value = ''
1076
+
1077
+ return false
1078
+ }
1079
+
1080
+ return true
1081
+ },
1082
+
1083
+ // 商品号确认
1084
+ downDataSkuCodeConfirm(){
1085
+ if (this.downDataSkuCodeCheck()){
1086
+ this.downData.input.num.focus = true
1087
+ }
1088
+ },
1089
+ // 商品号输入校验
1090
+ downDataSkuCodeCheck(){
1091
+
1092
+
1093
+ if(this.taskData.putDownMoveTaskLines[this.downData.index].needHandleSn){
1094
+ if(this.downData.input.snList.length<=0){
1095
+ this.$lwShowErrorMsg(
1096
+ this.$lwLanguage.get('','请扫描SN')
1097
+ )
1098
+ return false
1099
+ }
1100
+ return true
1101
+ }
1102
+
1103
+ const sku = this.downData.input.sku
1104
+ // 非空校验
1105
+ if (!sku.value){
1106
+ sku.focus = true
1107
+ this.$lwShowErrorMsg(
1108
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuNull','商品号不能为空')
1109
+ )
1110
+ return false
1111
+ }
1112
+
1113
+ // 是否输入正确
1114
+ if (sku.value !== this.taskData.putDownMoveTaskLines[this.downData.index].skuCode){
1115
+ sku.focus = true
1116
+ this.$lwShowErrorMsg(
1117
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.nowSkuNull','当前商品与下架商品不一致')
1118
+ )
1119
+ sku.value = ''
1120
+ return false
1121
+ }
1122
+
1123
+ return true
1124
+ },
1125
+
1126
+ // 数量确认
1127
+ downDataNumConfirm(){
1128
+ if (this.downDataNumCheck()){
1129
+ this.downData.input.lpn.focus = true
1130
+ }
1131
+ },
1132
+ // 数量校验
1133
+ downDataNumCheck(){
1134
+
1135
+ if(this.taskData.putDownMoveTaskLines[this.downData.index].needHandleSn){
1136
+ if(this.downData.input.snList.length<=0){
1137
+ this.$lwShowErrorMsg(
1138
+ this.$lwLanguage.get('','请扫描SN')
1139
+ )
1140
+ return false
1141
+ }
1142
+ return true
1143
+ }
1144
+
1145
+ const num = Number(this.downData.input.num.value || 0)
1146
+ if (!num){
1147
+ this.downData.input.num.focus = true
1148
+ this.$lwShowErrorMsg(
1149
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.qtyNull','数量不能为空,且应当是大于0的整数')
1150
+ )
1151
+ this.downData.input.num.value = ''
1152
+ return false
1153
+ }
1154
+
1155
+ if (num > this.taskData.putDownMoveTaskLines[this.downData.index].todoQty){
1156
+ this.downData.input.num.focus = true
1157
+ this.$lwShowErrorMsg(
1158
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.qtyMoer','数量不能大于待下架量')
1159
+ )
1160
+ this.downData.input.num.value = ''
1161
+ return false
1162
+ }
1163
+
1164
+ return true
1165
+ },
1166
+
1167
+ // 托盘号校验
1168
+ downDataLpnConfirm(){
1169
+ if(this.downDataLpnCheck()){
1170
+ this.actionDown()
1171
+ }
1172
+ },
1173
+ // 托盘号校验
1174
+ downDataLpnCheck(){
1175
+ if (this.downData.input.lpn.value) return true
1176
+
1177
+ this.downData.input.lpn.focus = true
1178
+ this.$lwShowErrorMsg(
1179
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.lpnNull','托盘号不能为空')
1180
+ )
1181
+ return false
1182
+ },
1183
+
1184
+ // 下架异常
1185
+ downDataAbnormal(){
1186
+ const item = this.taskData.putDownMoveTaskLines[this.downData.index]
1187
+ this.openAbnormal({
1188
+ ...item,
1189
+ qty: item.todoQty,
1190
+ location: item.fromLocationCode,
1191
+ type:this.$lwLanguage.get('wms_project.pda.inbound.taskMove.inbound','在库'),
1192
+ abType: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.moveDown','移动下架')
1193
+ }, 'down')
1194
+ },
1195
+
1196
+ // 缺货下架
1197
+ downLess(){
1198
+ this.openLess(this.taskData.putDownMoveTaskLines[this.downData.index], 'down')
1199
+ },
1200
+
1201
+ // 确认下架
1202
+ actionDown(){
1203
+ if (
1204
+ !(this.downDataLocalCheck() &&
1205
+ this.downDataSkuCodeCheck() &&
1206
+ this.downDataNumCheck() &&
1207
+ this.downDataLpnCheck())
1208
+ ) return
1209
+
1210
+ const item = this.taskData.putDownMoveTaskLines[this.downData.index]
1211
+ this.moveConfirm({
1212
+ taskLineKey: item.lineKey,
1213
+ fromLocationId: item.fromLocationId,
1214
+ fromLpn: item.fromLpn,
1215
+ fromCase: item.fromCase,
1216
+ skuId: item.skuId,
1217
+ toLocationCode: this.downData.input.local.value,
1218
+ toLpn: this.downData.input.lpn.value,
1219
+ moveQty: this.downData.input.num.value,
1220
+ moveMethod: '1', // 1-下架,2-上架
1221
+ snParamList:this.downData.input.snList,
1222
+ }, this.downClearInput)
1223
+ },
1224
+
1225
+
1226
+
1227
+ /* ---------- 上架 ----------*/
1228
+ // 清空输入框
1229
+ upClearInput(){
1230
+ this.upData.input.sku.value = ''
1231
+ this.upData.input.sku.focus = true
1232
+ this.upData.input.num.value = ''
1233
+ this.upData.input.wait = false
1234
+ this.upData.input.local.value = ''
1235
+ this.upData.input.lpn.value = ''
1236
+ this.upData.input.snList=[]
1237
+ this.upData.input.sn=''
1238
+ },
1239
+
1240
+ // 商品号确认
1241
+ upDataSkuCodeConfirm(){
1242
+ if (this.upDataSkuCodeCheck()){
1243
+ this.upData.input.num.focus = true
1244
+ }
1245
+ },
1246
+ // 商品号输入校验
1247
+ upDataSkuCodeCheck(){
1248
+
1249
+ if(this.taskData.putUpMoveTaskLines[this.upData.index].needHandleSn){
1250
+ if(this.upData.input.snList.length<=0){
1251
+ this.$lwShowErrorMsg(
1252
+ this.$lwLanguage.get('','请扫描SN')
1253
+ )
1254
+ return false
1255
+ }
1256
+ return true;
1257
+ }
1258
+
1259
+ const sku = this.upData.input.sku
1260
+ // 非空校验
1261
+ if (!sku.value){
1262
+ sku.focus = true
1263
+ this.$lwShowErrorMsg(
1264
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuNull','商品号不能为空')
1265
+ )
1266
+ return false
1267
+ }
1268
+
1269
+ // 是否输入正确
1270
+ if (sku.value !== this.taskData.putUpMoveTaskLines[this.upData.index].skuCode){
1271
+ sku.focus = true
1272
+ this.$lwShowErrorMsg(
1273
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.skuUpError','当前商品与上架商品不一致')
1274
+ )
1275
+ sku.value = ''
1276
+ return false
1277
+ }
1278
+
1279
+ return true
1280
+ },
1281
+
1282
+ // 数量确认
1283
+ upDataNumConfirm(){
1284
+ if (this.upDataNumCheck()){
1285
+ this.upData.input.local.focus = true
1286
+ }
1287
+ },
1288
+ // 数量校验
1289
+ upDataNumCheck(){
1290
+
1291
+ if(this.taskData.putUpMoveTaskLines[this.upData.index].needHandleSn){
1292
+ return true;
1293
+ }
1294
+
1295
+ const num = Number(this.upData.input.num.value || 0)
1296
+ if (!num){
1297
+ this.upData.input.num.focus = true
1298
+ this.$lwShowErrorMsg(
1299
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.numZero','数量不能为空,且应当是大于0的整数')
1300
+ )
1301
+ this.upData.input.num.value = ''
1302
+ return false
1303
+ }
1304
+
1305
+ if (num > this.taskData.putUpMoveTaskLines[this.upData.index].todoQty){
1306
+ this.upData.input.num.focus = true
1307
+ this.$lwShowErrorMsg(
1308
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.upNumMoer','数量不能大于待上架量')
1309
+ )
1310
+ this.upData.input.num.value = ''
1311
+ return false
1312
+ }
1313
+
1314
+ return true
1315
+ },
1316
+
1317
+ // 接力上架切换
1318
+ upDataWaitChange(){
1319
+ this.upData.input.local.value = ''
1320
+ this.upData.input.local.focus = true
1321
+ this.upData.input.lpn.value = ''
1322
+ },
1323
+
1324
+ // 库位确认
1325
+ upDataLocalConfirm(){
1326
+ if (this.upDataLocalCheck()){
1327
+ this.upData.input.lpn.focus = true
1328
+ }
1329
+ },
1330
+ // 库位校验
1331
+ upDataLocalCheck(){
1332
+ const local = this.upData.input.local
1333
+ if (!local.value) {
1334
+
1335
+ local.focus = true
1336
+ this.$lwShowErrorMsg(
1337
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.localNull','库位不能为空')
1338
+ )
1339
+ return false
1340
+ }
1341
+
1342
+ return true
1343
+ },
1344
+
1345
+ // 托盘号校验
1346
+ upDataLpnConfirm(){
1347
+ if(this.upDataLpnCheck()){
1348
+ this.actionUp()
1349
+ }
1350
+ },
1351
+ // 托盘号校验
1352
+ upDataLpnCheck(){
1353
+ if (!this.upData.input.wait || this.upData.input.lpn.value) return true
1354
+
1355
+ this.upData.input.lpn.focus = true
1356
+ this.$lwShowErrorMsg(
1357
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.lpnNull','托盘号不能为空')
1358
+ )
1359
+ return false
1360
+ },
1361
+
1362
+ // 确认上架
1363
+ actionUp(){
1364
+
1365
+ if (
1366
+ !(this.upDataSkuCodeCheck() &&
1367
+ this.upDataNumCheck() &&
1368
+ this.upDataLocalCheck() &&
1369
+ this.upDataLpnCheck())
1370
+ ) return
1371
+
1372
+ const item = this.taskData.putUpMoveTaskLines[this.upData.index]
1373
+
1374
+ // 检验库位是否正确
1375
+ const upLocal = this.taskData.putUpMoveTaskLines[this.upData.index].toLocationCode
1376
+ if(!this.upData.input.wait && upLocal && this.upData.input.local.value !== upLocal) {
1377
+ this.$lwDialog.confirm({
1378
+ title: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.total', '提示'),
1379
+ message: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.toLocalError', '目标库位与上架库位不一致,确认继续?')
1380
+ }).then(() => {
1381
+ this.moveConfirm({
1382
+ taskLineKey: item.lineKey,
1383
+ fromLocationId: item.fromLocationId,
1384
+ fromLpn: item.fromLpn,
1385
+ fromCase: item.fromCase,
1386
+ skuId: item.skuId,
1387
+ toLocationCode: this.upData.input.local.value,
1388
+ toLpn: this.upData.input.lpn.value,
1389
+ moveQty: this.upData.input.num.value,
1390
+ relay: this.upData.input.wait,
1391
+ moveMethod: '2', // 1-下架,2-上架
1392
+ snParamList:this.upData.input.snList
1393
+ }, this.upClearInput)
1394
+ }).catch(() => {})
1395
+
1396
+ return
1397
+ }
1398
+ this.moveConfirm({
1399
+ taskLineKey: item.lineKey,
1400
+ fromLocationId: item.fromLocationId,
1401
+ fromLpn: item.fromLpn,
1402
+ fromCase: item.fromCase,
1403
+ skuId: item.skuId,
1404
+ toLocationCode: this.upData.input.local.value,
1405
+ toLpn: this.upData.input.lpn.value,
1406
+ moveQty: this.upData.input.num.value,
1407
+ relay: this.upData.input.wait,
1408
+ moveMethod: '2' ,// 1-下架,2-上架
1409
+ snParamList:this.upData.input.snList
1410
+ }, this.upClearInput)
1411
+ },
1412
+
1413
+ // 缺货上架
1414
+ upLess(){
1415
+
1416
+ this.openLess(this.taskData.putUpMoveTaskLines[this.upData.index], 'up')
1417
+
1418
+ },
1419
+
1420
+ // 扫描商品定位
1421
+ upSkuSeo(){
1422
+ this.upSkuSeoPopup.show = true
1423
+ this.upSkuSeoPopup.sku.focus = true
1424
+ },
1425
+
1426
+ // 上架异常
1427
+ upDataAbnormal(){
1428
+ const item = this.taskData.putUpMoveTaskLines[this.upData.index]
1429
+ this.openAbnormal({
1430
+ ...item,
1431
+ qty: item.todoQty,
1432
+ location: item.toLocationCode,
1433
+ type:this.$lwLanguage.get('wms_project.pda.inbound.taskMove.inbound','在库'),
1434
+ abType: this.$lwLanguage.get('wms_project.pda.inbound.taskMove.moveUp','移动上架')
1435
+ }, 'up')
1436
+ },
1437
+
1438
+ // 扫描商品定位
1439
+ upSkuSeoPopupSkuConfirm(){
1440
+ if(!this.upSkuSeoPopup.sku.value){
1441
+ this.upSkuSeoPopup.sku.focus = true
1442
+ this.$lwShowErrorMsg(
1443
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.scanSku','请扫描或输入需要定位的商品号')
1444
+ )
1445
+ return
1446
+ }
1447
+
1448
+ for (let i=0;i<this.taskData.putUpMoveTaskLines.length;i++){
1449
+
1450
+ if (this.taskData.putUpMoveTaskLines[i].skuCode === this.upSkuSeoPopup.sku.value){
1451
+ this.upData.index = i
1452
+ this.$lwToast.success(
1453
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.cutCell','已切换至任务行')+ ':' + (i + 1)
1454
+ )
1455
+ this.upSkuSeoPopup.show = false
1456
+ this.upClearInput()
1457
+ return
1458
+ }
1459
+ }
1460
+
1461
+ this.$lwShowErrorMsg(
1462
+ this.$lwLanguage.get('wms_project.pda.inbound.taskMove.taskNullSku','在当前任务中没有查询到商品任务行,请确认商品号是否输入正确')
1463
+ )
1464
+ this.upSkuSeoPopup.sku.focus = true
1465
+ this.upSkuSeoPopup.sku.value = ''
1466
+ },
1467
+ moveDownTaskSnConfirm(value, {data}){
1468
+ let snkey = data.key;
1469
+ let snQty = data.qty;
1470
+ this.downData.input.snList.unshift({
1471
+ sn:snkey,
1472
+ qty: snQty
1473
+ })
1474
+ },
1475
+
1476
+ moveUpTaskSnConfirm(value, {data}){
1477
+ let snkey = data.key;
1478
+ let snQty = data.qty;
1479
+ this.upData.input.snList.unshift({
1480
+ sn:snkey,
1481
+ qty: snQty
1482
+ })
1483
+ },
1484
+ }
1485
+ }
1486
+ </script>
1487
+
1488
+ <style scoped lang="less">
1489
+
1490
+ .lw-task-move-look-item{
1491
+ text-align: center;
1492
+ }
1493
+
1494
+
1495
+ </style>