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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/README.md +117 -134
  2. package/package.json +43 -69
  3. package/src/api/common/Msg.js +34 -26
  4. package/src/api/common/barcode.js +165 -165
  5. package/src/api/common/common.js +48 -33
  6. package/src/api/config/masterLocation/masterLocationConfig/action.js +61 -0
  7. package/src/api/config/masterLocation/masterLocationConfig/index.js +18 -0
  8. package/src/api/config/masterLocation/masterLocationQuery/action.js +28 -0
  9. package/src/api/{inner → config}/newProject/action.js +1 -1
  10. package/src/api/{inner → config}/newProject/index.js +0 -0
  11. package/src/api/inbound/receive.js +327 -8
  12. package/src/api/inner/borrow/index.js +51 -0
  13. package/src/api/inner/dead/action.js +24 -0
  14. package/src/api/inner/dead/large.js +78 -0
  15. package/src/api/inner/dead/small.js +96 -0
  16. package/src/api/inner/quality/action.js +51 -0
  17. package/src/api/inner/quality/sample.js +24 -0
  18. package/src/api/inner/reportAbnormal/index.js +1 -1
  19. package/src/api/inventory/inventory.js +63 -0
  20. package/src/api/outbound/bale/aloneBale/action.js +123 -0
  21. package/src/api/outbound/bale/aloneBale/index.js +24 -0
  22. package/src/api/outbound/bale/baleChange/action.js +51 -0
  23. package/src/api/outbound/bale/baleChange/addCheck.js +33 -0
  24. package/src/api/outbound/bale/checkBale/action.js +132 -123
  25. package/src/api/outbound/bale/checkBale/index.js +52 -52
  26. package/src/api/outbound/block/index.js +68 -0
  27. package/src/api/outbound/delivery/action.js +33 -1
  28. package/src/api/outbound/handover/index.js +33 -0
  29. package/src/api/outbound/handover/lpn.js +33 -0
  30. package/src/api/outbound/handover/mixin.js +42 -0
  31. package/src/api/outbound/handover/pageBox.js +24 -0
  32. package/src/api/outbound/pick/index.js +8 -0
  33. package/src/api/outbound/pick/sow.js +105 -0
  34. package/src/api/outbound/reprint-box/index.js +17 -0
  35. package/src/api/outbound/sow/action.js +1 -1
  36. package/src/api/outbound/stockout/index.js +54 -0
  37. package/src/api/outbound/transfer/index.js +23 -0
  38. package/src/api/receive/abnormal.js +1 -1
  39. package/src/api/receive/putaway.js +35 -1
  40. package/src/api/receive/receipt.js +7 -0
  41. package/src/assets/css/changeVant.less +29 -22
  42. package/src/assets/css/global.less +428 -411
  43. package/src/assets/css/var.less +99 -117
  44. package/src/assets/css//345/205/250/345/261/200/346/240/267/345/274/217.md +1 -31
  45. package/src/assets/img/close_red.png +0 -0
  46. package/src/assets/img/lwLoginModel/language.png +0 -0
  47. package/src/assets/img/lwLoginModel/timezone.png +0 -0
  48. package/src/assets/img/lwNotData/noneData.png +0 -0
  49. package/src/assets/img/menu/allotReceive.png +0 -0
  50. package/src/assets/img/menu/baleChange.png +0 -0
  51. package/src/assets/img/menu/borrowPick.png +0 -0
  52. package/src/assets/img/menu/boxTransfer.png +0 -0
  53. package/src/assets/img/menu/confirmStockOut.png +0 -0
  54. package/src/assets/img/menu/count.png +0 -0
  55. package/src/assets/img/menu/deadPutaway.png +0 -0
  56. package/src/assets/img/menu/disposeAbnormal.png +0 -0
  57. package/src/assets/img/menu/handover.png +0 -0
  58. package/src/assets/img/menu/lpnPack.png +0 -0
  59. package/src/assets/img/menu/mainData.png +0 -0
  60. package/src/assets/img/menu/mainLoc.png +0 -0
  61. package/src/assets/img/menu/mainLocSearch.png +0 -0
  62. package/src/assets/img/menu/moveUp.png +0 -0
  63. package/src/assets/img/menu/newConfig.png +0 -0
  64. package/src/assets/img/menu/outboundBlock.png +0 -0
  65. package/src/assets/img/menu/outboundReprint.png +0 -0
  66. package/src/assets/img/menu/pickContainer.png +0 -0
  67. package/src/assets/img/menu/process.png +0 -0
  68. package/src/assets/img/menu/processTable.png +0 -0
  69. package/src/assets/img/menu/quality.png +0 -0
  70. package/src/assets/img/menu/receive-case.png +0 -0
  71. package/src/assets/img/menu/receive-lpn.png +0 -0
  72. package/src/assets/img/menu/receive-sku.png +0 -0
  73. package/src/assets/img/menu/receive_random.png +0 -0
  74. package/src/assets/img/menu/stockSearch.png +0 -0
  75. package/src/assets/img/my/timezone.png +0 -0
  76. package/src/assets/img/timezone.png +0 -0
  77. package/src/components/module/AbnormalInput/index.js +11 -0
  78. package/src/components/module/AbnormalInput/index.vue +322 -0
  79. package/src/components/module/AbnormalInput//345/274/202/345/270/270/350/276/223/345/205/245/346/250/241/345/235/227.md +1 -0
  80. package/src/components/module/BoxInfo/index.js +10 -0
  81. package/src/components/module/BoxInfo/index.vue +69 -0
  82. package/src/components/{page/inbound/newProject/action/index.less → module/BoxInfo//346/237/245/347/234/213/347/256/261/344/277/241/346/201/257.md} +0 -0
  83. package/src/components/module/InnerAbnormal/index.js +11 -11
  84. package/src/components/module/InnerAbnormal/index.vue +120 -367
  85. package/src/components/module/InnerAbnormal//345/234/250/345/272/223/345/274/202/345/270/270/346/250/241/345/235/227.md +1 -0
  86. package/src/components/module/Login/index.vue +50 -19
  87. package/src/components/module/Login//347/231/273/345/275/225/346/250/241/345/235/227.md +1 -1
  88. package/src/components/module/Lot/index.vue +205 -181
  89. package/src/components/module/Lot//346/211/271/346/254/241/345/261/236/346/200/247.md +4 -2
  90. package/src/components/module/LotLook/index.vue +93 -80
  91. package/src/components/module/LotLook//346/225/260/346/215/256/346/237/245/347/234/213.md +3 -0
  92. package/src/components/module/Menu/index.vue +8 -4
  93. package/src/components/module/Menu//350/217/234/345/215/225/346/240/217.md +1 -1
  94. package/src/components/module/MsgItem/index.vue +124 -109
  95. package/src/components/module/MsgItem//346/266/210/346/201/257/345/210/227/350/241/250/345/217/212/345/210/206/351/241/265/346/250/241/345/235/227.md +1 -1
  96. package/src/components/module/OnLine/index.vue +195 -195
  97. package/src/components/module/OnLine//344/270/212/344/270/213/347/272/277/347/256/241/347/220/206/346/250/241/345/235/227.md +1 -1
  98. package/src/components/module/ReceiveAbnormal/index.vue +956 -865
  99. package/src/components/module/ReceiveAbnormal//346/224/266/350/264/247/345/274/202/345/270/270/346/250/241/345/235/227.md +1 -0
  100. package/src/components/module/ScanDataList/index.vue +333 -326
  101. package/src/components/module/ScanDataList//346/211/253/346/217/217/346/225/260/346/215/256/345/261/225/347/244/272/345/217/212/345/210/240/351/231/244.md +2 -0
  102. package/src/components/module/SkuInfo/index.vue +68 -65
  103. package/src/components/module/SkuInfo//346/237/245/347/234/213/345/225/206/345/223/201/344/277/241/346/201/257.md +4 -0
  104. package/src/components/module/SystemInfo/index.vue +227 -217
  105. package/src/components/module/SystemInfo//347/263/273/347/273/237/344/277/241/346/201/257/344/270/216/344/270/212/347/272/277/347/212/266/346/200/201/346/250/241/345/235/227.md +1 -1
  106. package/src/components/module/index.js +48 -42
  107. package/src/components/page/common/Device/index.vue +186 -186
  108. package/src/components/page/common/Language/index.vue +1 -0
  109. package/src/components/page/common/Login/index.vue +2 -4
  110. package/src/components/page/common/Menu/index.vue +16 -10
  111. package/src/components/page/common/Msg/index.vue +144 -36
  112. package/src/components/page/common/My/index.vue +47 -4
  113. package/src/components/page/common/Print/index.vue +311 -314
  114. package/src/components/page/common/Task/index.vue +18 -10
  115. package/src/components/page/common/Timezone/index.js +11 -0
  116. package/src/components/page/common/Timezone/index.vue +82 -0
  117. package/src/components/page/{inbound/newProject/index/index.less → common/Timezone//346/227/266/345/214/272/351/200/211/346/213/251/351/241/265.md} +0 -0
  118. package/src/components/page/common/Warehouse/index.vue +221 -216
  119. package/src/components/page/common/index.js +42 -39
  120. package/src/components/page/config/index.js +28 -0
  121. package/src/components/page/config/masterLocation/masterLocationConfig/action/index.js +11 -0
  122. package/src/components/page/{inbound/newProject//346/226/260/345/223/201/351/205/215/347/275/256.md → config/masterLocation/masterLocationConfig/action/index.less} +0 -0
  123. package/src/components/page/config/masterLocation/masterLocationConfig/action/index.vue +780 -0
  124. package/src/components/page/config/masterLocation/masterLocationConfig/index/index.js +11 -0
  125. package/src/components/page/{inner/lpnPutAway//344/270/212/346/236/266/347/247/273/345/212/250.md → config/masterLocation/masterLocationConfig/index/index.less} +0 -0
  126. package/src/components/page/config/masterLocation/masterLocationConfig/index/index.vue +112 -0
  127. package/src/components/page/{outbound/bale/components/mainPage//351/241/265/351/235/242/345/244/226/346/241/206/347/273/204/344/273/266.md → config/masterLocation/masterLocationConfig//344/270/273/345/272/223/344/275/215/351/205/215/347/275/256.md} +0 -0
  128. package/src/components/page/config/masterLocation/masterLocationQuery/action/index.js +18 -0
  129. package/src/components/page/config/masterLocation/masterLocationQuery/action/queryByLocationCode.vue +165 -0
  130. package/src/components/page/config/masterLocation/masterLocationQuery/action/queryBySkuCode.vue +168 -0
  131. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.js +11 -0
  132. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.less +0 -0
  133. package/src/components/page/config/masterLocation/masterLocationQuery/index/index.vue +114 -0
  134. package/src/components/page/config/masterLocation/masterLocationQuery//344/270/273/345/272/223/344/275/215/346/237/245/350/257/242.md +0 -0
  135. package/src/components/page/config/masterLocation//344/270/273/345/272/223/344/275/215.md +0 -0
  136. package/src/components/page/{inbound → config}/newProject/action/index.js +0 -0
  137. package/src/components/page/config/newProject/action/index.less +0 -0
  138. package/src/components/page/{inbound → config}/newProject/action/index.vue +562 -436
  139. package/src/components/page/{inbound → config}/newProject/index/index.js +0 -0
  140. package/src/components/page/config/newProject/index/index.less +0 -0
  141. package/src/components/page/{inbound → config}/newProject/index/index.vue +6 -6
  142. package/src/components/page/config/newProject//346/226/260/345/223/201/351/205/215/347/275/256.md +0 -0
  143. package/src/components/page/count/components/CountBoard.vue +7 -7
  144. package/src/components/page/count/components/RandomCount.vue +154 -154
  145. package/src/components/page/count/inv/action/index.vue +52 -30
  146. package/src/components/page/count/inv/index/index.vue +15 -15
  147. package/src/components/page/count/loc/action/index.vue +546 -546
  148. package/src/components/page/count/loc/index/index.vue +11 -11
  149. package/src/components/page/inbound/components/AllocReceiveResult.vue +129 -0
  150. package/src/components/page/inbound/components/AllocScanListItem.vue +147 -0
  151. package/src/components/page/inbound/components/AllocSkuListItem.vue +148 -0
  152. package/src/components/page/inbound/components/AsnInfo.vue +91 -29
  153. package/src/components/page/inbound/components/AsnSkuInfo.vue +27 -7
  154. package/src/components/page/inbound/components/QualityCard.vue +16 -16
  155. package/src/components/page/inbound/components/QualityTaskInfo.vue +12 -12
  156. package/src/components/page/inbound/components/SearchBar.vue +85 -0
  157. package/src/components/page/inbound/components/SkuReceiveInfo.vue +69 -0
  158. package/src/components/page/inbound/components/SnsList.vue +103 -99
  159. package/src/components/page/inbound/index.js +11 -5
  160. package/src/components/page/inbound/receive/home/index.vue +88 -16
  161. package/src/components/page/inbound/receive/index/index.vue +92 -89
  162. package/src/components/page/inbound/receive/quality/LwInboundQualityExecutePage.vue +457 -425
  163. package/src/components/page/inbound/receive/quality/LwInboundQualityTaskListPage.vue +164 -164
  164. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocSkuExecutePage.vue +595 -0
  165. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocSnExecutePage.vue +233 -0
  166. package/src/components/page/inbound/receive/receive-alloc/LwInboundReceiveAllocTabListPage.vue +247 -0
  167. package/src/components/page/inbound/receive/receive-alloc/index.js +19 -0
  168. package/src/components/page/inbound/receive/receive-case/LwInboundReceiveCaseExecutePage.vue +312 -0
  169. package/src/components/page/inbound/receive/receive-case/LwInboundReceiveCaseScanPage.vue +80 -0
  170. package/src/components/page/inbound/receive/receive-case/index.js +16 -0
  171. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnBatchExecutePage.vue +386 -0
  172. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnExecutePage.vue +216 -0
  173. package/src/components/page/inbound/receive/receive-lpn/LwInboundReceiveLpnScanPage.vue +80 -0
  174. package/src/components/page/inbound/receive/receive-lpn/index.js +19 -0
  175. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuExecutePage.vue +340 -0
  176. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuScanPage.vue +111 -0
  177. package/src/components/page/inbound/receive/receive-random/LwInboundReceiveRandomSkuSnExecutePage.vue +340 -0
  178. package/src/components/page/inbound/receive/receive-random/index.js +19 -0
  179. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuAdvancePage.vue +330 -321
  180. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuDirectPage.vue +424 -408
  181. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuScanPage.vue +161 -150
  182. package/src/components/page/inbound/util/InboundUtils.js +72 -0
  183. package/src/components/page/index.js +41 -33
  184. package/src/components/page/inner/abnormalMove/index/index.vue +466 -468
  185. package/src/components/page/inner/borrow/action/index.js +11 -0
  186. package/src/components/page/inner/borrow/action/index.vue +831 -0
  187. package/src/components/page/inner/borrow/index/index.js +11 -0
  188. package/src/components/page/inner/borrow/index/index.vue +249 -0
  189. package/src/components/page/inner/borrow//345/200/237/344/273/266.md +0 -0
  190. package/src/components/page/inner/dead/components/abnPopup.vue +83 -0
  191. package/src/components/page/inner/dead/components/bagItem.vue +104 -0
  192. package/src/components/page/inner/dead/components/boxListItem.vue +135 -0
  193. package/src/components/page/inner/dead/components/dataInfo.vue +94 -0
  194. package/src/components/page/inner/dead/components/lackPopup.vue +190 -0
  195. package/src/components/page/inner/dead/components/lpnListItem.vue +115 -0
  196. package/src/components/page/inner/dead/components/taskItem.vue +570 -0
  197. package/src/components/page/inner/dead/components/waitOverLpn.vue +74 -0
  198. package/src/components/page/inner/dead/large/index.js +11 -0
  199. package/src/components/page/inner/dead/large/index.vue +376 -0
  200. package/src/components/page/inner/dead/large//344/270/255/345/244/247/344/273/266 - /346/211/223/346/211/230.md +0 -0
  201. package/src/components/page/inner/dead/putaway/action/index.js +11 -0
  202. package/src/components/page/inner/dead/putaway/action/index.vue +131 -0
  203. package/src/components/page/inner/dead/putaway/components/collapseItem.vue +128 -0
  204. package/src/components/page/inner/dead/putaway/index/index.js +11 -0
  205. package/src/components/page/inner/dead/putaway/index/index.vue +63 -0
  206. package/src/components/page/inner/dead/putaway//345/221/206/346/273/236/345/223/201/344/270/212/346/236/266.md +0 -0
  207. package/src/components/page/inner/dead/small/index.js +11 -0
  208. package/src/components/page/inner/dead/small/index.vue +656 -0
  209. package/src/components/page/inner/dead/small//345/260/217/344/273/266 - /350/243/205/347/256/261.md +0 -0
  210. package/src/components/page/inner/dead/taskEntrance/index.js +11 -0
  211. package/src/components/page/inner/dead/taskEntrance/index.vue +49 -0
  212. package/src/components/page/inner/dead/taskEntrance//344/273/273/345/212/241/345/205/245/345/217/243/351/241/265/351/235/242.md +0 -0
  213. package/src/components/page/inner/dead//345/221/206/346/273/236/345/223/201/346/225/264/347/220/206.md +0 -0
  214. package/src/components/page/inner/disposeAbnormal/action/index.vue +524 -524
  215. package/src/components/page/inner/disposeAbnormal/components/abnInfo/index.vue +55 -55
  216. package/src/components/page/inner/disposeAbnormal/components/disposePopup/index.vue +229 -229
  217. package/src/components/page/inner/disposeAbnormal/components/listItem/index.vue +12 -12
  218. package/src/components/page/inner/disposeAbnormal/components/searchBar/index.vue +264 -264
  219. package/src/components/page/inner/disposeAbnormal/index/index.vue +248 -237
  220. package/src/components/page/inner/index.js +57 -0
  221. package/src/components/page/inner/lpnMove/action/index.vue +243 -222
  222. package/src/components/page/inner/lpnMove/index/index.vue +155 -155
  223. package/src/components/page/inner/materialApply/action/index.vue +555 -563
  224. package/src/components/page/inner/materialApply/generate/index.vue +385 -376
  225. package/src/components/page/inner/movePutAway/index/index.vue +363 -363
  226. package/src/components/page/inner/quality/action/index.js +11 -0
  227. package/src/components/page/inner/quality/action/index.vue +720 -0
  228. package/src/components/page/inner/quality/components/lookData.vue +109 -0
  229. package/src/components/page/inner/quality/components/sampleInfo.vue +62 -0
  230. package/src/components/page/inner/quality/sample/index.js +11 -0
  231. package/src/components/page/inner/quality/sample/index.vue +426 -0
  232. package/src/components/page/inner/quality/sample//346/212/275/346/243/200.md +0 -0
  233. package/src/components/page/inner/quality//350/264/250/346/243/200.md +0 -0
  234. package/src/components/page/inner/randomMove/components/Down/index.vue +507 -470
  235. package/src/components/page/inner/randomMove/components/Up/index.vue +587 -523
  236. package/src/components/page/inner/reportAbnormal/action/index.vue +2 -4
  237. package/src/components/page/inner/reportAbnormal/index/index.vue +251 -251
  238. package/src/components/page/inner/taskMove/index/index.vue +181 -60
  239. package/src/components/page/inventory/index.js +17 -0
  240. package/src/components/page/inventory/inventoryItem/index.vue +127 -0
  241. package/src/components/page/inventory/inventoryLotPage/index.vue +208 -0
  242. package/src/components/page/inventory/queryInventory/index/index.js +11 -0
  243. package/src/components/page/inventory/queryInventory/index/index.less +0 -0
  244. package/src/components/page/inventory/queryInventory/index/index.vue +231 -0
  245. package/src/components/page/inventory/queryInventory/page/index.js +11 -0
  246. package/src/components/page/inventory/queryInventory/page/index.less +0 -0
  247. package/src/components/page/inventory/queryInventory/page/index.vue +525 -0
  248. package/src/components/page/outbound/bale/aloneBale/action/index.vue +779 -192
  249. package/src/components/page/outbound/bale/aloneBale/index/index.vue +69 -7
  250. package/src/components/page/outbound/bale/aloneBale/newBale/index.vue +17 -3
  251. package/src/components/page/outbound/bale/baleChange/action/index.js +11 -0
  252. package/src/components/page/outbound/bale/baleChange/action/index.vue +585 -0
  253. package/src/components/page/outbound/bale/baleChange/index/index.js +11 -0
  254. package/src/components/page/outbound/bale/baleChange/index/index.vue +67 -0
  255. package/src/components/page/outbound/bale/baleChange/skuCheck/index.js +11 -0
  256. package/src/components/page/outbound/bale/baleChange/skuCheck/index.vue +351 -0
  257. package/src/components/page/outbound/bale/baleChange//346/215/206/345/214/205/347/256/261/350/260/203/346/225/264.md +0 -0
  258. package/src/components/page/outbound/bale/checkBale/action/index.vue +941 -1330
  259. package/src/components/page/outbound/bale/checkBale/allCheck/index.vue +19 -19
  260. package/src/components/page/outbound/bale/checkBale/index/index.vue +11 -9
  261. package/src/components/page/outbound/bale/checkBale/newBale/index.vue +10 -4
  262. package/src/components/page/outbound/bale/components/allBlock/index.vue +5 -5
  263. package/src/components/page/outbound/bale/components/containerInfo/index.vue +242 -237
  264. package/src/components/page/outbound/bale/components/containerSkuQty/img.png +0 -0
  265. package/src/components/page/outbound/bale/components/containerSkuQty/index.vue +3 -3
  266. package/src/components/page/outbound/bale/components/containerSkuQty//345/275/223/345/211/215/346/215/206/345/214/205/345/256/271/345/231/250/345/217/212/345/223/201/347/247/215/346/225/260.md +1 -0
  267. package/src/components/page/outbound/bale/components/delSku/index.vue +317 -0
  268. package/src/components/page/outbound/bale/components/delSku//345/211/224/351/231/244/345/225/206/345/223/201/345/274/271/346/241/206.md +0 -0
  269. package/src/components/page/outbound/bale/components/partBlock/index.vue +201 -197
  270. package/src/components/page/outbound/bale/components/planCollapse/index.vue +392 -396
  271. package/src/components/page/outbound/bale/components/repeatCheck/index.vue +101 -0
  272. package/src/components/page/outbound/bale/components/repeatCheck//351/207/215/346/226/260/345/244/215/346/240/270/345/274/271/346/241/206.md +0 -0
  273. package/src/components/page/outbound/bale/components/storeInfo/index.vue +135 -135
  274. package/src/components/page/outbound/bale/components/storeInfoSkuList/index.vue +128 -121
  275. package/src/components/page/outbound/bale/components//346/215/206/345/214/205/344/275/277/347/224/250/347/232/204/347/273/204/344/273/266.md +0 -0
  276. package/src/components/page/outbound/bale/mixins.js +212 -0
  277. package/src/components/page/outbound/bale//346/215/206/345/214/205/347/233/270/345/205/263/351/241/265/351/235/242-/345/244/215/346/240/270/346/215/206/345/214/205-/347/213/254/347/253/213/346/215/206/345/214/205-/346/215/206/345/214/205/347/256/261/350/260/203/346/225/264.md +0 -0
  278. package/src/components/page/outbound/block/LwOutboundBlockBoxListPage.vue +67 -0
  279. package/src/components/page/outbound/block/LwOutboundBlockExecutePage.vue +316 -0
  280. package/src/components/page/outbound/block/components/BlockInfo.vue +56 -0
  281. package/src/components/page/outbound/block/index.js +16 -0
  282. package/src/components/page/outbound/block//345/207/272/345/272/223/346/213/246/346/210/252.txt +0 -0
  283. package/src/components/page/outbound/boxTransfer/action/index.js +11 -0
  284. package/src/components/page/outbound/boxTransfer/action/index.vue +214 -0
  285. package/src/components/page/outbound/boxTransfer/index/index.js +11 -0
  286. package/src/components/page/outbound/boxTransfer/index/index.vue +174 -0
  287. package/src/components/page/outbound/boxTransfer//346/273/236/347/225/231/344/273/266/350/275/254/345/255/230.md +0 -0
  288. package/src/components/page/outbound/delivery/action/index.vue +784 -646
  289. package/src/components/page/outbound/delivery/addOrder/index.vue +281 -281
  290. package/src/components/page/outbound/delivery/components/boxItem/index.vue +154 -118
  291. package/src/components/page/outbound/delivery/components/orderContent/index.vue +97 -63
  292. package/src/components/page/outbound/delivery/components/orderContentTitle/index.vue +400 -114
  293. package/src/components/page/outbound/delivery/components/soAndLpnItem/index.vue +199 -161
  294. package/src/components/page/outbound/delivery/index/index.vue +205 -154
  295. package/src/components/page/outbound/handover/components/boxInfo.vue +51 -0
  296. package/src/components/page/outbound/handover/components/boxNumList.vue +158 -0
  297. package/src/components/page/outbound/handover/components/collapseItem.vue +136 -0
  298. package/src/components/page/outbound/handover/components/customerAndLine.vue +179 -0
  299. package/src/components/page/outbound/handover/components/customerList.vue +94 -0
  300. package/src/components/page/outbound/handover/components/lineInfo.vue +129 -0
  301. package/src/components/page/outbound/handover/components/lpnListItem.vue +119 -0
  302. package/src/components/page/outbound/handover/components/nowScan.vue +59 -0
  303. package/src/components/page/outbound/handover/components/pageBox.vue +524 -0
  304. package/src/components/page/outbound/handover/components/storeInfo.vue +128 -0
  305. package/src/components/page/outbound/handover/customer/index.js +11 -0
  306. package/src/components/page/outbound/handover/customer/index.vue +34 -0
  307. package/src/components/page/outbound/handover/index/index.js +11 -0
  308. package/src/components/page/outbound/handover/index/index.vue +217 -0
  309. package/src/components/page/outbound/handover/line/index.js +11 -0
  310. package/src/components/page/outbound/handover/line/index.vue +32 -0
  311. package/src/components/page/outbound/handover/lpn/index.js +11 -0
  312. package/src/components/page/outbound/handover/lpn/index.vue +262 -0
  313. package/src/components/page/outbound/handover/mixin.js +207 -0
  314. package/src/components/page/outbound/handover//345/207/272/345/272/223/344/272/244/346/216/245.md +0 -0
  315. package/src/components/page/outbound/index.js +152 -94
  316. package/src/components/page/outbound/lpnPack/action/index.js +11 -0
  317. package/src/components/page/outbound/lpnPack/action/index.vue +287 -0
  318. package/src/components/page/outbound/lpnPack/components/lpnActionInfo.vue +113 -0
  319. package/src/components/page/outbound/lpnPack/components/lpnItem.vue +126 -0
  320. package/src/components/page/outbound/lpnPack/index/index.js +11 -0
  321. package/src/components/page/outbound/lpnPack/index/index.vue +166 -0
  322. package/src/components/page/outbound/lpnPack/newLpnPack/index.js +11 -0
  323. package/src/components/page/outbound/lpnPack/newLpnPack/index.vue +80 -0
  324. package/src/components/page/outbound/lpnPack/newLpnPack//346/226/260/346/211/223/346/211/230.md +0 -0
  325. package/src/components/page/outbound/lpnPack/over/index.js +11 -0
  326. package/src/components/page/outbound/lpnPack/over/index.vue +85 -0
  327. package/src/components/page/outbound/lpnPack/over//345/267/262/346/211/223/346/211/230.md +0 -0
  328. package/src/components/page/outbound/lpnPack//346/211/223/346/211/230.md +0 -0
  329. package/src/components/page/outbound/pick/alone/index.vue +504 -497
  330. package/src/components/page/outbound/pick/box/index.vue +371 -363
  331. package/src/components/page/outbound/pick/components/dataLookAndChange/index.vue +671 -748
  332. package/src/components/page/outbound/pick/components/skuLocationInfo/index.vue +13 -12
  333. package/src/components/page/outbound/pick/components/sowList.vue +190 -0
  334. package/src/components/page/outbound/pick/components/splitPutDown/index.vue +208 -208
  335. package/src/components/page/outbound/pick/components/taskInfo.vue +129 -0
  336. package/src/components/page/outbound/pick/index/index.vue +622 -624
  337. package/src/components/page/outbound/pick/lpn/index.vue +321 -305
  338. package/src/components/page/outbound/pick/mixin/all.js +98 -100
  339. package/src/components/page/outbound/pick/mixin/aloneAndNotAlone.js +132 -132
  340. package/src/components/page/outbound/pick/notAlone/index.vue +533 -524
  341. package/src/components/page/outbound/pick/sow/index.js +11 -0
  342. package/src/components/page/outbound/pick/sow/index.vue +1290 -0
  343. package/src/components/page/outbound/pick/sow//350/276/271/346/213/243/350/276/271/345/210/206.md +0 -0
  344. package/src/components/page/outbound/pickContainer/action/index.js +11 -0
  345. package/src/components/page/outbound/pickContainer/action/index.vue +219 -0
  346. package/src/components/page/outbound/pickContainer/index/index.js +11 -0
  347. package/src/components/page/outbound/pickContainer/index/index.vue +63 -0
  348. package/src/components/page/outbound/pickContainer//346/213/243/351/200/211/345/256/271/345/231/250/346/237/245/350/257/242.md +0 -0
  349. package/src/components/page/outbound/pickMerge/action/index.vue +37 -37
  350. package/src/components/page/outbound/pickMerge/components/containerInfo/index.vue +6 -6
  351. package/src/components/page/outbound/pickMerge/components/finishPopup/index.vue +4 -4
  352. package/src/components/page/outbound/pickMerge/components/skuInfo/index.vue +6 -6
  353. package/src/components/page/outbound/pickMerge/content/index.vue +170 -170
  354. package/src/components/page/outbound/pickMerge/index/index.vue +4 -4
  355. package/src/components/page/outbound/reprint-box/LwOutboundReprintBoxListPage.vue +206 -0
  356. package/src/components/page/outbound/reprint-box/index.js +13 -0
  357. package/src/components/page/outbound/reprint-box//347/256/261/347/245/250/350/241/245/346/211/223.txt +0 -0
  358. package/src/components/page/outbound/sow/action/index.vue +98 -112
  359. package/src/components/page/outbound/sow/components/sowLocationList/index.vue +23 -9
  360. package/src/components/page/outbound/sow/components/waitSowCollapse/index.vue +4 -4
  361. package/src/components/page/outbound/sow/index/index.vue +371 -374
  362. package/src/components/page/outbound/stockout/LwOutboundStockoutExecutePage.vue +108 -0
  363. package/src/components/page/outbound/stockout/LwOutboundStockoutListPage.vue +103 -0
  364. package/src/components/page/outbound/stockout/components/StockoutInfo.vue +42 -0
  365. package/src/components/page/outbound/stockout/index.js +16 -0
  366. package/src/components/page/outbound/stockout//347/274/272/350/264/247.txt +0 -0
  367. package/src/components/page/outbound/summary/box/index/index.vue +645 -645
  368. package/src/components/page/outbound/summary/lpn/action/index.vue +254 -253
  369. package/src/components/page/process/index.js +21 -0
  370. package/src/components/page/process/prepare/index.js +11 -0
  371. package/src/components/page/process/prepare/index.vue +841 -0
  372. package/src/components/page/process/process/action/index.js +11 -0
  373. package/src/components/page/process/process/action/index.vue +158 -0
  374. package/src/components/page/process/process/components/craftCollapse.vue +130 -0
  375. package/src/components/page/process/process/components/dockInfo.vue +79 -0
  376. package/src/components/page/process/process/components/dockTaskInfo.vue +192 -0
  377. package/src/components/page/process/process/components/overCollapse.vue +376 -0
  378. package/src/components/page/process/process/components/rawCollapse.vue +113 -0
  379. package/src/components/page/process/process/components/stopPopup.vue +90 -0
  380. package/src/components/page/process/process/console/index.js +11 -0
  381. package/src/components/page/process/process/console/index.vue +525 -0
  382. package/src/components/page/process/process/content/index.js +11 -0
  383. package/src/components/page/process/process/content/index.vue +367 -0
  384. package/src/components/page/process/process/index/index.js +11 -0
  385. package/src/components/page/process/process/index/index.vue +68 -0
  386. package/src/components/page/process//345/212/240/345/267/245.md +0 -0
  387. package/src/components/page/receive/index.js +6 -2
  388. package/src/components/page/receive/putaway/caseAction/index.js +9 -0
  389. package/src/components/page/receive/putaway/caseAction/index.vue +542 -0
  390. package/src/components/page/receive/putaway/components/CaseInfo/index.vue +178 -0
  391. package/src/components/page/receive/putaway/components/SkuInfo/index.vue +135 -91
  392. package/src/components/page/receive/putaway/components/SkuPutAwayInfo/index.vue +203 -203
  393. package/src/components/page/receive/putaway/components/TaskInfo/index.vue +40 -15
  394. package/src/components/page/receive/putaway/components/lpnBatchItem.vue +112 -0
  395. package/src/components/page/receive/putaway/components/overPutawayItem.vue +119 -0
  396. package/src/components/page/receive/putaway/index/index.vue +450 -288
  397. package/src/components/page/receive/putaway/lpnAction/index.vue +362 -332
  398. package/src/components/page/receive/putaway/lpnBatchAction/index.js +11 -0
  399. package/src/components/page/receive/putaway/lpnBatchAction/index.vue +213 -0
  400. package/src/components/page/receive/putaway/lpnBatchAction//346/225/264/346/211/230/347/233/230/346/211/271/351/207/217/344/270/212/346/236/266.md +0 -0
  401. package/src/components/page/receive/putaway/skuAction/index.vue +742 -742
  402. package/src/components/page/receive/receipt/action/index.vue +276 -260
  403. package/src/components/page/receive/receipt/index/index.vue +132 -124
  404. package/src/components/ui/BottomBar/index.vue +98 -72
  405. package/src/components/ui/BottomBarBtnHidden/index.vue +91 -91
  406. package/src/components/ui/BottomBarBtnHidden//345/272/225/351/203/250/346/214/211/351/222/256/346/240/217/351/232/220/350/227/217/345/244/232/344/275/231/346/214/211/351/222/256.md +1 -0
  407. package/src/components/ui/Button/index.vue +183 -183
  408. package/src/components/ui/CarPlate/index.vue +495 -378
  409. package/src/components/ui/Cell/index.vue +259 -259
  410. package/src/components/ui/CellPopupDate/index.vue +212 -167
  411. package/src/components/ui/CellPopupRadio/index.vue +136 -136
  412. package/src/components/ui/CutCard/index.vue +11 -0
  413. package/src/components/ui/DataLookBg/index.vue +72 -42
  414. package/src/components/ui/DataLookBg//346/225/260/346/215/256/347/234/213/346/235/277.md +1 -0
  415. package/src/components/ui/ErrorMsg/index.vue +1 -1
  416. package/src/components/ui/ImgLook/index.vue +105 -96
  417. package/src/components/ui/ImgUpload/index.vue +120 -120
  418. package/src/components/ui/ImgUpload/request.js +39 -39
  419. package/src/components/ui/Input/index.vue +581 -554
  420. package/src/components/ui/Loading/index.js +49 -49
  421. package/src/components/ui/NotData/index.vue +9 -3
  422. package/src/components/ui/Pages/index.vue +3 -2
  423. package/src/components/ui/Pagination/index.js +11 -0
  424. package/src/components/ui/Pagination/index.vue +274 -0
  425. package/src/components/ui/Pagination//345/210/206/351/241/265V2.md +1 -0
  426. package/src/components/ui/Popup/index.vue +242 -245
  427. package/src/components/ui/TitleValueCell/index.vue +88 -61
  428. package/src/components/ui/TitleValueCell//346/240/207/351/242/230/345/200/274/350/241/214.md +2 -0
  429. package/src/components/ui/index.js +87 -84
  430. package/src/mixins/loginAndInit/index.js +31 -27
  431. package/src/router/index.js +742 -405
  432. package/src/router/menu.js +638 -367
  433. package/src/test/file/index.js +11 -11
  434. package/src/utils/ApiUtils.js +59 -48
  435. package/src/utils/AppBack.js +43 -44
  436. package/src/utils/AppPower.js +191 -183
  437. package/src/utils/Axios.js +8 -4
  438. package/src/utils/BarcodeResolve.js +53 -12
  439. package/src/utils/DateTime.js +233 -219
  440. package/src/utils/DeepCopy.js +61 -61
  441. package/src/utils/Dialog.js +58 -0
  442. package/src/utils/Dict.js +73 -73
  443. package/src/utils/GetImgSrc.js +54 -53
  444. package/src/utils/Language.js +79 -59
  445. package/src/utils/LocalStorage.js +66 -30
  446. package/src/utils/Permissions.js +65 -51
  447. package/src/utils/Print.js +177 -179
  448. package/src/utils/README.md +60 -2
  449. package/src/utils/ScanRule.js +39 -150
  450. package/src/utils/SetColor.js +57 -22
  451. package/src/utils/TabBar.js +31 -30
  452. package/src/utils/Timezone.js +179 -0
  453. package/src/utils/Tip.js +26 -26
  454. package/src/utils/UUID.js +39 -33
  455. package/src/utils/Utils.js +34 -0
  456. package/src/utils/Warehouse.js +30 -26
  457. package/src/utils/index.js +8 -2
  458. package/src/utils/windowGlobalData.js +114 -88
  459. package/src/views/common/init/index.vue +138 -128
  460. package/src/views/common/my/timezone.vue +23 -0
  461. package/src/views/config/masterLocation/masterLocationConfig/action.vue +23 -0
  462. package/src/views/config/masterLocation/masterLocationConfig/index.vue +23 -0
  463. package/src/views/config/masterLocation/masterLocationQuery/index.vue +23 -0
  464. package/src/views/config/masterLocation/masterLocationQuery/queryByLocationCode.vue +23 -0
  465. package/src/views/config/masterLocation/masterLocationQuery/queryBySkuCode.vue +23 -0
  466. package/src/views/{inbound → config}/newProject/action.vue +0 -0
  467. package/src/views/{inbound → config}/newProject/index.vue +0 -0
  468. package/src/views/count/index.vue +2 -2
  469. package/src/views/inbound/quality/InboundQualityExecuteView.vue +2 -2
  470. package/src/views/inbound/quality/InboundQualityTaskListView.vue +2 -2
  471. package/src/views/inbound/receive/alloc/InboundReceiveAllocSkuExecuteView.vue +13 -0
  472. package/src/views/inbound/receive/alloc/InboundReceiveAllocSnExecuteView.vue +13 -0
  473. package/src/views/inbound/receive/alloc/InboundReceiveAllocTabListView.vue +13 -0
  474. package/src/views/inbound/receive/case/InboundReceiveCaseExecuteView.vue +13 -0
  475. package/src/views/inbound/receive/case/InboundReceiveCaseScanView.vue +13 -0
  476. package/src/views/inbound/receive/lpn/InboundReceiveLpnBatchExecuteView.vue +13 -0
  477. package/src/views/inbound/receive/lpn/InboundReceiveLpnExecuteView.vue +13 -0
  478. package/src/views/inbound/receive/lpn/InboundReceiveLpnScanView.vue +13 -0
  479. package/src/views/inbound/receive/random/InboundReceiveRandomSkuExecuteView.vue +13 -0
  480. package/src/views/inbound/receive/random/InboundReceiveRandomSkuScanView.vue +13 -0
  481. package/src/views/inbound/receive/random/InboundReceiveRandomSkuSnExecuteView.vue +13 -0
  482. package/src/views/inbound/receive/sku/InboundReceiveSkuAdvanceView.vue +1 -1
  483. package/src/views/inbound/receive/sku/InboundReceiveSkuDirectView.vue +1 -1
  484. package/src/views/inbound/receive/sku/InboundReceiveSkuScanView.vue +1 -1
  485. package/src/views/inner/borrow/action.vue +23 -0
  486. package/src/views/inner/borrow/index.vue +23 -0
  487. package/src/views/inner/dead/large.vue +23 -0
  488. package/src/views/inner/dead/putaway/action.vue +23 -0
  489. package/src/views/inner/dead/putaway/index.vue +23 -0
  490. package/src/views/inner/dead/smallPage.vue +23 -0
  491. package/src/views/inner/dead/taskEntrance.vue +23 -0
  492. package/src/views/inner/quality/action.vue +23 -0
  493. package/src/views/inner/quality/sample.vue +23 -0
  494. package/src/views/inventory/queryInventory/index.vue +23 -0
  495. package/src/views/inventory/queryInventory/page.vue +23 -0
  496. package/src/views/outbound/baleChange/action.vue +23 -0
  497. package/src/views/outbound/baleChange/index.vue +23 -0
  498. package/src/views/outbound/baleChange/skuCheck.vue +23 -0
  499. package/src/views/outbound/block/OutboundBlockBoxListView.vue +12 -0
  500. package/src/views/outbound/block/OutboundBlockExecuteView.vue +12 -0
  501. package/src/views/outbound/boxTransfer/action.vue +23 -0
  502. package/src/views/outbound/boxTransfer/index.vue +23 -0
  503. package/src/views/outbound/handover/customer.vue +23 -0
  504. package/src/views/outbound/handover/index.vue +23 -0
  505. package/src/views/outbound/handover/line.vue +23 -0
  506. package/src/views/outbound/handover/lpn.vue +23 -0
  507. package/src/views/outbound/lpnPack/action.vue +23 -0
  508. package/src/views/outbound/lpnPack/index.vue +23 -0
  509. package/src/views/outbound/lpnPack/newLpn.vue +23 -0
  510. package/src/views/outbound/lpnPack/over.vue +23 -0
  511. package/src/views/outbound/pick/sowAction.vue +23 -0
  512. package/src/views/outbound/pickContainer/action.vue +23 -0
  513. package/src/views/outbound/pickContainer/index.vue +23 -0
  514. package/src/views/outbound/reprint-box/LwOutboundReprintBoxView.vue +13 -0
  515. package/src/views/outbound/stockout/LwOutboundStockoutExecuteView.vue +12 -0
  516. package/src/views/outbound/stockout/LwOutboundStockoutListView.vue +12 -0
  517. package/src/views/process/action/action.vue +23 -0
  518. package/src/views/process/action/consoleInfo.vue +23 -0
  519. package/src/views/process/action/contentInfo.vue +23 -0
  520. package/src/views/process/action/index.vue +23 -0
  521. package/src/views/process/prepare/index.vue +23 -0
  522. package/src/views/receive/putaway/caseAction.vue +21 -0
  523. package/src/views/receive/putaway/lpnBatchAction.vue +23 -0
  524. package/src/components/page/outbound/bale/components/mainPage/index.vue +0 -620
  525. package/src/components/ui/DataLookBg//346/225/260/346/215/256/347/234/213/346/235/277/350/203/214/346/231/257/345/233/276.md +0 -1
@@ -1,865 +1,956 @@
1
- <!--
2
- 收货异常
3
- @author: 张文
4
- @date: 2022-05-09
5
- -->
6
- <template>
7
- <div>
8
-
9
- <div v-if="show">
10
-
11
- <!-- ERP单号 -->
12
- <div class="lw-global-model-box lw-receive-abnormal-boss">
13
-
14
- <lw-input
15
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.order','订单号')"
16
- v-model="abnormalInfo.orderNo"
17
- input-align="right"
18
- required
19
- disabled
20
- rule-prefix="receiveAbn"
21
- rule-key="orderNo"
22
- />
23
-
24
- <lw-input
25
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.erp','ERP单号')"
26
- v-model="abnormalInfo.erpOrderNo"
27
- input-align="right"
28
- :disabled="!!asnData.extNo"
29
- rule-prefix="receiveAbn"
30
- rule-key="erpOrderNo"
31
- />
32
-
33
- <lw-input
34
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.evidenceNo','凭证单号')"
35
- v-model="abnormalInfo.evidenceNo"
36
- input-align="right"
37
- rule-prefix="receiveAbn"
38
- rule-key="evidenceNo"
39
- />
40
-
41
- <lw-input
42
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.supplierCode','供应商编码')"
43
- v-model="abnormalInfo.supplierCode"
44
- input-align="right"
45
- :disabled="!!asnData.supplierCode"
46
- />
47
-
48
- <lw-input
49
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.supplierName','供应商名称')"
50
- v-model="abnormalInfo.supplierName"
51
- input-align="right"
52
- :disabled="!!asnData.supplierName"
53
- />
54
-
55
- </div>
56
-
57
- <!-- 更多单据信息 -->
58
- <div class="lw-global-model-box lw-global-collapse-box">
59
- <van-collapse
60
- v-model="moreInfoCollapse"
61
- :border="false"
62
- >
63
- <van-collapse-item
64
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.more','更多单据信息')"
65
- name="1"
66
- >
67
-
68
- <lw-input
69
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.carrierCode','承运商编号')"
70
- v-model="abnormalInfo.carrierCode"
71
- input-align="right"
72
- />
73
-
74
- <lw-input
75
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.carrierName','承运商名称')"
76
- v-model="abnormalInfo.carrierName"
77
- input-align="right"
78
- />
79
-
80
- <lw-input
81
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.plateNumber','车牌号')"
82
- v-model="abnormalInfo.plateNumber"
83
- input-align="right"
84
- />
85
-
86
- <lw-input
87
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.extBizNo','业务单号1')"
88
- v-model="abnormalInfo.extBizNo"
89
- input-align="right"
90
- rule-prefix="receiveAbn"
91
- rule-key="extBizNo"
92
- />
93
-
94
- <lw-input
95
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.extBizNo2','业务单号2')"
96
- v-model="abnormalInfo.extBizNo2"
97
- input-align="right"
98
- rule-prefix="receiveAbn"
99
- rule-key="extBizNo2"
100
- />
101
-
102
- <lw-input
103
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.extBizNo3','业务单号3')"
104
- v-model="abnormalInfo.extBizNo3"
105
- input-align="right"
106
- rule-prefix="receiveAbn"
107
- rule-key="extBizNo3"
108
- />
109
-
110
- <!-- <lw-input
111
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.wms','WMS单据号')"
112
- v-model="abnormalInfo.bizOrderNo"
113
- input-align="right"
114
- :disabled="moreDisabled"
115
- />
116
-
117
- <lw-input
118
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.wmsNum','WMS单据行号')"
119
- v-model="abnormalInfo.bizOrderLineNo"
120
- input-align="right"
121
- :disabled="moreDisabled"
122
- />-->
123
-
124
- </van-collapse-item>
125
- </van-collapse>
126
- </div>
127
-
128
- <!-- 所属类型 -->
129
- <div class="lw-global-model-box">
130
-
131
- <!-- 所属类型 -->
132
- <lw-cell
133
- style="padding-top: 0"
134
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.type','所属类型')"
135
- :value="belongType"
136
- value-align="right"
137
- :is-link="false"
138
- />
139
-
140
- <!-- 作业环节 -->
141
- <lw-cell-popup-radio
142
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.discoveryPoint','作业环节')"
143
- v-model="abnormalType.discoveryPoint"
144
- dict-key="abnormal_discovery_point_choice"
145
- required
146
- />
147
-
148
- <!-- 异常类型 -->
149
- <lw-cell-popup-radio
150
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnType','异常类型')"
151
- v-model="abnormalType.abnType"
152
- dict-key="abnormal_type_choice"
153
- required
154
- @confirm="typeConfirm"
155
- @clear="typeClear"
156
- />
157
-
158
- <!-- 异常子类型 -->
159
- <lw-cell-popup-radio
160
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnSubType','异常子类型')"
161
- v-model="abnormalType.abnSubType"
162
- :columns="subTypeList"
163
- required
164
- />
165
-
166
- <!-- 货主 -->
167
- <lw-cell-popup-radio
168
- style="padding-bottom: 0"
169
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.owner','货主')"
170
- v-model="abnormalType.ownerId"
171
- value-key="id"
172
- label-key="name"
173
- :columns="ownerList"
174
- required
175
- :disabled="!!asnData.ownerId"
176
- />
177
-
178
- </div>
179
-
180
- <!-- 增加商品信息按钮 -->
181
- <div
182
- v-if="showAddBtn"
183
- class="lw-global-model-box lw-global-flex-between"
184
- >
185
- <div class="lw-global-value" style="font-size: 16px">
186
- {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.skuInfo','商品信息') }}
187
- </div>
188
-
189
- <van-icon
190
- name="add-o"
191
- size="24px"
192
- color="#409eff"
193
- @click="addSku"
194
- />
195
- </div>
196
-
197
- <!-- 商品信息录入模块 -->
198
- <div
199
- v-else
200
- class="lw-global-model-box lw-global-row"
201
- style="padding-bottom: 0"
202
- >
203
-
204
- <div class="lw-global-row-start lw-global-flex-between">
205
-
206
- <div class="lw-global-value" style="font-size: 16px">
207
- {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.skuInfo','商品信息') }}
208
- </div>
209
-
210
- <lw-button
211
- v-if="multiple"
212
- mini
213
- round
214
- @click="saveSku"
215
- >
216
- <van-icon name="certificate" />
217
- {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.save','保存') }}
218
- </lw-button>
219
-
220
- </div>
221
-
222
- <lw-input
223
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.sku','商品号')"
224
- v-model="skuInfo.skuCode"
225
- :get-focus.sync="skuInfoFocus.skuCode"
226
- input-align="right"
227
- required
228
- :disabled="skuDisabled"
229
- rule-prefix="receiveAbn"
230
- rule-key="sku"
231
- @confirm="skuCodeConfirm()"
232
- >
233
- <template #button>
234
- <lw-button
235
- v-if="!skuDisabled"
236
- type="last"
237
- round
238
- mini
239
- @click="skuCodeConfirm()"
240
- >
241
- {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.confirm','确认') }}
242
- </lw-button>
243
- </template>
244
- </lw-input>
245
-
246
- <lw-cell
247
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.skuName','商品名称')"
248
- :value="skuInfo.sku.skuName"
249
- value-align="right"
250
- :is-link="false"
251
- />
252
-
253
-
254
- <!-- 批次组件信息 -->
255
- <lw-lot-module
256
- v-if="lot.show"
257
- ref="lot"
258
- :query="lot.query"
259
- :must-required="false"
260
- />
261
-
262
-
263
- <lw-input
264
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.anbQty','异常数量')"
265
- v-model="skuInfo.abnQty"
266
- :get-focus.sync="skuInfoFocus.qty"
267
- type="digit"
268
- input-align="right"
269
- required
270
- />
271
-
272
- <lw-input
273
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.abnLocal','异常库位')"
274
- v-model="skuInfo.abnLocationCode"
275
- :get-focus.sync="skuInfoFocus.abnormalLocationCode"
276
- input-align="right"
277
- required
278
- rule-prefix="receiveAbn"
279
- rule-key="location"
280
- />
281
-
282
- <lw-input
283
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.lpn','托盘号')"
284
- v-model="skuInfo.abnLpn"
285
- input-align="right"
286
- rule-prefix="receiveAbn"
287
- rule-key="lpn"
288
- />
289
-
290
- <!-- 处理方式 -->
291
- <lw-cell-popup-radio
292
- :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.handleMethod','处理方式')"
293
- v-model="skuInfo.handleMethod"
294
- dict-key="abnormal_handle_method_choice"
295
- />
296
-
297
- <lw-input
298
- :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.remark','备注')"
299
- v-model="skuInfo.abnRemark"
300
- type="textarea"
301
- input-align="right"
302
- :rows="4"
303
- />
304
-
305
- <!-- 图片 -->
306
- <div class="lw-global-title" style="padding: 8px 0">
307
- {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.img','图片') }}
308
- </div>
309
- <lw-img-upload v-model="skuInfo.imagesArr"/>
310
-
311
-
312
- </div>
313
-
314
- <!-- 已经录入了的商品信息 -->
315
- <div
316
- class="lw-global-model-box lw-global-flex-between"
317
- v-for="(i,k) in skuList"
318
- :key="k"
319
- >
320
- <div
321
- style="flex: 1"
322
- class="lw-global-flex-between"
323
- >
324
- <div style="flex: 1">
325
- <div class="lw-global-value">{{ i.skuCode }}</div>
326
- <div class="lw-global-title">{{ i.sku.skuName }}</div>
327
- </div>
328
-
329
- <div style="width: 56px;flex-shrink: 0;text-align: center">
330
- <div class="lw-global-value-bold" style="color: #D50000;">{{ i.abnQty }}</div>
331
- <div class="lw-global-title">
332
- {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.abnQty','异常量') }}
333
- </div>
334
- </div>
335
- </div>
336
-
337
- <van-icon
338
- style="width: 24px;flex-shrink: 0;margin-left: 5px"
339
- name="close"
340
- size="24px"
341
- color="#D50000"
342
- @click="delSku(k)"
343
- />
344
- </div>
345
-
346
- </div>
347
-
348
- <lw-not-data
349
- v-else
350
- :content="$lwLanguage.get('wms_project.pda.module.receiveAbn.error','基础数据异常')"
351
- />
352
-
353
- <lw-bottom-bar v-if="showBottomBar">
354
- <lw-button @click="confirm">
355
- {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.submit','确认上报') }}
356
- </lw-button>
357
- </lw-bottom-bar>
358
- </div>
359
- </template>
360
-
361
- <script>
362
-
363
- import {
364
- wmsMobileFoundAsn,
365
- wmsMobileFoundAsnLineSku,
366
- wmsMobileSubmitAbnormalReceive
367
- } from "../../../api/receive/abnormal";
368
-
369
- export default {
370
- name: "lwReceiveAbnormalModule",
371
- props:{
372
- // 订单号
373
- asnNo: String,
374
-
375
- // 所属类型
376
- belongType: {
377
- type: String,
378
- default: '收货'
379
- },
380
-
381
- // 是否允许多条保存
382
- multiple:{
383
- type: Boolean,
384
- default: true
385
- },
386
-
387
- // 商品信息是否禁用
388
- skuDisabled:{
389
- type: Boolean,
390
- default: false
391
- },
392
-
393
- // 商品号
394
- skuCode: String,
395
-
396
- // 是否显示底部导航栏模块
397
- showBottomBar:{
398
- type: Boolean,
399
- default: true
400
- }
401
- },
402
- /*computed:{
403
- moreDisabled(){
404
- return !!Object.keys(this.asnData).length
405
- }
406
- },*/
407
- data() {
408
- return {
409
- // 是否显示异常模块
410
- show: false,
411
-
412
- // 订单信息
413
- asnData:{},
414
-
415
- // 更多信息展开项
416
- moreInfoCollapse:[],
417
-
418
- // 异常子类型的选择项目
419
- subTypeList:[],
420
-
421
- // 货主的选择项目
422
- ownerList:[],
423
-
424
- // 更多信息
425
- abnormalInfo:{
426
- // ERP单号
427
- erpOrderNo:'',
428
- // 凭证号
429
- evidenceNo:'',
430
- // 订单号
431
- orderNo:'',
432
- // 供应商编码
433
- supplierCode:'',
434
- // 供应商名称
435
- supplierName:'',
436
- // 承运商编码
437
- carrierCode:'',
438
- // 承运商名称
439
- carrierName:'',
440
- // 车牌号
441
- plateNumber:'',
442
- // 外部业务单号
443
- extBizNo:'',
444
- // 外部业务单号2
445
- extBizNo2:'',
446
- // 外部业务单号3
447
- extBizNo3:'',
448
-
449
- /*// WMS 单据号
450
- bizOrderNo:'',
451
- // WMS 单据行号
452
- bizOrderLineNo:'',*/
453
- },
454
-
455
- // 异常类型
456
- abnormalType:{
457
- // 所属类型
458
- belongType:'RECEIVE',
459
- // 作业环节
460
- discoveryPoint:'',
461
- // 异常类型
462
- abnType:'',
463
- // 异常子类型
464
- abnSubType:'',
465
- // 货主id
466
- ownerId:'',
467
- },
468
-
469
- // 商品信息
470
- skuInfo:{
471
- skuCode:'',
472
- // 当前扫描零件得到的零件基础信息
473
- sku:{
474
- skuName:''
475
- },
476
- abnQty:'',
477
- abnLocationCode:'',
478
- abnLpn:'',
479
- handleMethod:'',
480
- remark:'',
481
- imagesArr:[],
482
- },
483
-
484
- // 零件信息获取焦点
485
- skuInfoFocus:{
486
- skuCode: false,
487
- qty: false,
488
- abnormalLocationCode: false,
489
- },
490
-
491
- // 批次组件
492
- lot: {
493
- show: false,
494
- query: {}
495
- },
496
-
497
- // 是否显示增加按钮
498
- showAddBtn: false,
499
-
500
- // 用于储存多条商品信息
501
- skuList:[],
502
-
503
- }
504
- },
505
- watch:{
506
- 'skuInfo.skuCode':{
507
- handler(n){
508
- // 如果零件信息为空就清除批次数据、零件数据
509
- if (!n){
510
- this.skuInfo.sku = {}
511
- this.lot.show = false
512
- this.lot.query = {}
513
- }
514
- }
515
- }
516
- },
517
- mounted() {
518
-
519
- this.init()
520
-
521
- },
522
- methods: {
523
- // 初始化
524
- async init(){
525
- try{
526
-
527
- // 获取货主信息
528
- this.ownerList = await this.$lwApi.common.getOwnerList()
529
- const asnData = await wmsMobileFoundAsn({
530
- asnNo: this.asnNo
531
- })
532
-
533
- this.asnData = asnData || {}
534
- this.abnormalInfo.orderNo = this.asnData.asnNo || ''
535
- this.skuInfo.skuCode = this.skuCode || ''
536
- this.abnormalInfo.extNo = this.asnData.erpOrderNo || ''
537
- this.abnormalInfo.supplierCode = this.asnData.supplierCode || ''
538
- this.abnormalInfo.supplierName = this.asnData.supplierName || ''
539
- this.abnormalInfo.carrierCode = this.asnData.carrierCode || ''
540
- this.abnormalInfo.carrierName = this.asnData.carrierName || ''
541
- this.abnormalInfo.carrierPlateNum = this.asnData.plateNumber || ''
542
- this.abnormalType.ownerId = this.asnData.ownerId || ''
543
- /*this.abnormalInfo.bizOrderNo = this.asnData.bizOrderNo || ''
544
- this.abnormalInfo.bizOrderLineNo = this.asnData.bizOrderLineNo || ''*/
545
-
546
-
547
- // 是否存在商品数据,如果存在就获取商品信息
548
- if (this.skuInfo.skuCode){
549
-
550
- await this.skuCodeConfirm(true)
551
- }
552
-
553
- this.show = true
554
-
555
- }catch (err){
556
- console.error('收货异常模块初始化失败:', err)
557
- }
558
- },
559
-
560
- // 异常类型确认
561
- typeConfirm({value}){
562
-
563
- // 判断异常类型是否变化,变化了就要改子类型的值
564
- if (!value || value !== this.abnormalType.abnSubType.split('_')[0]){
565
- this.abnormalType.abnSubType = ''
566
- const subType = this.$lwDict.get('abnormal_sub_type_choice')
567
- this.subTypeList = subType.filter(item=>item.value.split('_')[0] === value)
568
- }
569
- },
570
- // 异常类型清空
571
- typeClear(){
572
- this.abnormalType.abnSubType = ''
573
- this.subTypeList = []
574
- },
575
-
576
- // 商品号确认
577
- async skuCodeConfirm(first = false){
578
- if (!this.skuInfo.skuCode){
579
- this.skuInfoFocus.skuCode = true
580
- this.$lwShowErrorMsg(
581
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuNull','商品号不能为空')
582
- )
583
- this.skuInfo.skuCode = ''
584
- return
585
- }
586
-
587
- if (!this.abnormalType.ownerId){
588
- this.$lwShowErrorMsg(
589
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.selectWoner','请选择货主')
590
- )
591
- return
592
- }
593
-
594
- let query = {
595
- skuCode: this.skuInfo.skuCode
596
- }
597
-
598
- if (this.asnData.ownerId){
599
- query.asnId = this.asnData.id
600
- }else {
601
- query.ownerId = this.abnormalType.ownerId
602
- }
603
-
604
- const res = await wmsMobileFoundAsnLineSku(query)
605
-
606
- this.skuInfo.sku = {
607
- ...res,
608
- skuCode: res.sku.code,
609
- skuName: res.sku.name,
610
- skuOwner: res.sku.owner,
611
- skuId: res.sku.id,
612
- }
613
-
614
- this.lot.query = {
615
- type:1,
616
- lotType:'inventory',
617
- lotRuleId:'',
618
- editable:true,
619
- needHandleRequire:true,
620
- ownerId:this.skuInfo.sku.ownerId,
621
- skuId:this.skuInfo.sku.skuId,
622
- header: this.asnData.map,
623
- line: this.skuInfo.sku.map,
624
- }
625
-
626
- this.lot.show = true
627
- !first ? this.skuInfoFocus.qty = true : ''
628
- },
629
-
630
- // 储存单条异常信息
631
- formatAbnSkuData(){
632
- let skuData = this.$lwDeepCopy(this.skuInfo)
633
-
634
- if (this.lot.show){
635
- const {success, data} = this.$refs.lot.getData()
636
-
637
- if (!success) return;
638
-
639
- skuData.lotAttributes = data
640
- }
641
-
642
- return {
643
- ...skuData,
644
- skuId: skuData.sku.sku.id,
645
- abnImg: this.skuInfo.imagesArr.join('|')
646
- }
647
- },
648
-
649
- // 保存商品信息按钮
650
- saveSku(){
651
- // 校验作业环节
652
- if (!this.abnormalType.discoveryPoint){
653
- this.$lwShowErrorMsg(
654
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.discoveryPointNull','作业环节不能为空')
655
- )
656
- return false
657
- }
658
-
659
- // 校验异常类型
660
- if (!this.abnormalType.abnType){
661
- this.$lwShowErrorMsg(
662
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnTypeNull','异常类型不能为空')
663
- )
664
- return false
665
- }
666
-
667
- // 异常子类型
668
- if (!this.abnormalType.abnSubType){
669
- this.$lwShowErrorMsg(
670
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnSubTypeNull','异常子类型不能为空')
671
- )
672
- return false
673
- }
674
-
675
- // 货主
676
- if (!this.abnormalType.ownerId){
677
- this.$lwShowErrorMsg(
678
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.ownerNull','货主不能为空')
679
- )
680
- return false
681
- }
682
-
683
- // 校验是否输入商品
684
- if (!this.skuInfo.skuCode){
685
-
686
- this.skuInfoFocus.skuCode = true
687
- this.$lwShowErrorMsg(
688
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuInfoNull','商品信息不能为空')
689
- )
690
- return false
691
- }
692
-
693
- // 校验商品信息是否被修改
694
- if (this.skuInfo.skuCode !== this.skuInfo.sku.skuCode){
695
- this.skuInfoFocus.skuCode = true
696
- this.$lwShowErrorMsg(
697
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuError','当前输入商品与已获取的商品信息不一致!请点击商品输入框的确认按钮,重新获取当前输入的商品信息!')
698
- )
699
- return false
700
- }
701
-
702
- // 校验当前商品货主是否符合已选货主
703
- if (this.skuInfo.sku.skuOwner !== this.abnormalType.ownerId){
704
- this.skuInfoFocus.skuCode = true
705
- this.$lwShowErrorMsg(
706
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.ownerError','所选货主与当前商品所属货主不一致')
707
- )
708
- return false
709
- }
710
-
711
- // 校验是否输入异常量
712
- if (!this.skuInfo.abnQty){
713
-
714
- this.skuInfoFocus.qty = true
715
- this.$lwShowErrorMsg(
716
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.qtyNull','异常量不能为空且应当时大于0的整数')
717
- )
718
- return false
719
- }
720
-
721
- // 校验异常量是否大于商品可用量
722
- /*if (this.skuInfo.abnQty > this.skuInfo.sku.qty){
723
- this.skuInfoFocus.qty = true
724
- this.$lwShowErrorMsg(
725
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.qtyMore','异常量不能大于商品可用量')
726
- )
727
- return false
728
- }*/
729
-
730
- // 校验是否输入异常库位
731
- if (!this.skuInfo.abnLocationCode){
732
-
733
- this.skuInfoFocus.abnormalLocationCode = true
734
- this.$lwShowErrorMsg(
735
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.localNull','异常库位不能为空')
736
- )
737
- return false
738
- }
739
-
740
- // 是否是多条保存
741
- if (this.multiple){
742
-
743
- this.skuList.push(this.formatAbnSkuData())
744
-
745
- // 让所有输入框失去焦点
746
- for (let i in this.skuInfoFocus){
747
- this.skuInfoFocus[i] = false
748
- }
749
-
750
- // 清空商品信息数据
751
- for (let i in this.skuInfo){
752
- if(i === 'sku'){
753
- this.skuInfo[i] = {}
754
- continue
755
- }
756
- if(i === 'imagesArr'){
757
- this.skuInfo[i] = []
758
- continue
759
- }
760
-
761
- this.skuInfo[i] = ''
762
- }
763
-
764
- this.showAddBtn = true
765
- }
766
-
767
- return true
768
- },
769
-
770
- // 增加零件信息按钮被点击
771
- addSku(){
772
- this.showAddBtn = false
773
- this.skuInfoFocus.skuCode = true
774
- },
775
-
776
- // 删除零件按钮被点击
777
- delSku(index){
778
- this.$dialog.confirm({
779
- title: this.$lwLanguage.get('wms_project.pda.module.receiveAbn.warning','警告'),
780
- message: this.$lwLanguage.get('wms_project.pda.module.receiveAbn.del','确认删除该商品?')
781
- }).then(()=>{
782
- this.skuList.splice(index, 1)
783
- }).catch(()=>{})
784
- },
785
-
786
- // 获取当前异常模块的数据
787
- getAbnormalData(){
788
- // 校验是否允许多条保存
789
- if (this.multiple){
790
-
791
- // 多条保存是否有数据
792
- if (this.skuList.length){
793
- return {
794
- success: true,
795
- data: this.skuList
796
- }
797
- }
798
-
799
- // 没有数据就报错
800
- this.$lwShowErrorMsg(
801
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuListNull','没有保存任何商品信息,请先点击商品信息的保存按钮,保存录入的信息')
802
- )
803
- return {
804
- success: false,
805
- data: []
806
- }
807
- }
808
-
809
- // 如果是单条数据就触发保存按钮
810
- if (this.saveSku()){
811
- return {
812
- success: true,
813
- data: [this.formatAbnSkuData()]
814
- }
815
- }
816
-
817
- // 否则报错
818
- return {
819
- success: false,
820
- data: []
821
- }
822
- },
823
-
824
- // 确认上报
825
- confirm(){
826
- const {success, data} = this.getAbnormalData()
827
-
828
- if (!success) return
829
-
830
- wmsMobileSubmitAbnormalReceive({
831
- order: this.abnormalInfo,
832
- lines: data,
833
- ...this.abnormalType,
834
- asnId: this.asnData.id
835
- }).then(()=>{
836
- this.$lwToast.success(
837
- this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnSuccess','异常上报成功')
838
- )
839
-
840
- this.$emit('success')
841
- })
842
- }
843
- }
844
- }
845
- </script>
846
-
847
- <style scoped lang="less">
848
-
849
-
850
- .lw-receive-abnormal-boss{
851
-
852
- >.lw-input-box{
853
-
854
- &:first-child{
855
- padding-top: 0;
856
- }
857
-
858
- &:last-child{
859
- padding-bottom: 0;
860
- border-bottom: none;
861
- }
862
- }
863
- }
864
-
865
- </style>
1
+ <!--
2
+ 收货异常
3
+ @author: 张文
4
+ @date: 2022-05-09
5
+ -->
6
+ <template>
7
+ <div>
8
+
9
+ <div v-if="show">
10
+
11
+ <!-- ERP单号 -->
12
+ <div class="lw-global-model-box lw-receive-abnormal-boss" v-if="!moreAsnDisabled">
13
+
14
+ <lw-input
15
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.order','订单号')"
16
+ v-model="abnormalInfo.orderNo"
17
+ input-align="right"
18
+ :required="!!asnNo"
19
+ :disabled="!!asnNo"
20
+ rule-prefix="receiveAbn"
21
+ rule-key="orderNo"
22
+ />
23
+
24
+ <lw-input
25
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.erp','ERP单号')"
26
+ v-model="abnormalInfo.erpOrderNo"
27
+ input-align="right"
28
+ :disabled="!!asnData.extNo"
29
+ rule-prefix="receiveAbn"
30
+ rule-key="erpOrderNo"
31
+ />
32
+
33
+ <lw-input
34
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.evidenceNo','凭证单号')"
35
+ v-model="abnormalInfo.evidenceNo"
36
+ input-align="right"
37
+ rule-prefix="receiveAbn"
38
+ rule-key="evidenceNo"
39
+ />
40
+
41
+ <lw-input
42
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.supplierCode','供应商编码')"
43
+ v-model="abnormalInfo.supplierCode"
44
+ input-align="right"
45
+ :disabled="!!asnData.supplierCode"
46
+ />
47
+
48
+ <lw-input
49
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.supplierName','供应商名称')"
50
+ v-model="abnormalInfo.supplierName"
51
+ input-align="right"
52
+ :disabled="!!asnData.supplierName"
53
+ />
54
+
55
+ </div>
56
+
57
+ <!-- 更多单据信息 -->
58
+ <div class="lw-global-model-box lw-global-collapse-box" v-if="!moreInfoDisabled">
59
+ <van-collapse
60
+ v-model="moreInfoCollapse"
61
+ :border="false"
62
+ >
63
+ <van-collapse-item
64
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.more','更多单据信息')"
65
+ name="1"
66
+ >
67
+
68
+ <lw-input
69
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.carrierCode','承运商编号')"
70
+ v-model="abnormalInfo.carrierCode"
71
+ input-align="right"
72
+ />
73
+
74
+ <lw-input
75
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.carrierName','承运商名称')"
76
+ v-model="abnormalInfo.carrierName"
77
+ input-align="right"
78
+ />
79
+
80
+ <lw-input
81
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.plateNumber','车牌号')"
82
+ v-model="abnormalInfo.plateNumber"
83
+ input-align="right"
84
+ />
85
+
86
+ <lw-input
87
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.extBizNo','业务单号1')"
88
+ v-model="abnormalInfo.extBizNo"
89
+ input-align="right"
90
+ rule-prefix="receiveAbn"
91
+ rule-key="extBizNo"
92
+ />
93
+
94
+ <lw-input
95
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.extBizNo2','业务单号2')"
96
+ v-model="abnormalInfo.extBizNo2"
97
+ input-align="right"
98
+ rule-prefix="receiveAbn"
99
+ rule-key="extBizNo2"
100
+ />
101
+
102
+ <lw-input
103
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.extBizNo3','业务单号3')"
104
+ v-model="abnormalInfo.extBizNo3"
105
+ input-align="right"
106
+ rule-prefix="receiveAbn"
107
+ rule-key="extBizNo3"
108
+ />
109
+
110
+ <!-- <lw-input
111
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.wms','WMS单据号')"
112
+ v-model="abnormalInfo.bizOrderNo"
113
+ input-align="right"
114
+ :disabled="moreDisabled"
115
+ />
116
+
117
+ <lw-input
118
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.wmsNum','WMS单据行号')"
119
+ v-model="abnormalInfo.bizOrderLineNo"
120
+ input-align="right"
121
+ :disabled="moreDisabled"
122
+ />-->
123
+
124
+ </van-collapse-item>
125
+ </van-collapse>
126
+ </div>
127
+
128
+ <!-- 所属类型 -->
129
+ <div class="lw-global-model-box">
130
+
131
+ <!-- 所属类型 -->
132
+ <lw-cell
133
+ style="padding-top: 0"
134
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.type','所属类型')"
135
+ :value="belongType || $lwLanguage.get('wms_project.pda.module.receiveAbn.title', '收货')"
136
+ value-align="right"
137
+ :is-link="false"
138
+ />
139
+
140
+ <!-- 作业环节 -->
141
+ <lw-cell-popup-radio
142
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.discoveryPoint','作业环节')"
143
+ v-model="abnormalType.discoveryPoint"
144
+ dict-key="abnormal_discovery_point_choice"
145
+ required
146
+ />
147
+
148
+ <!-- 异常类型 -->
149
+ <lw-cell-popup-radio
150
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnType','异常类型')"
151
+ v-model="abnormalType.abnType"
152
+ dict-key="abnormal_type_choice"
153
+ required
154
+ @confirm="typeConfirm"
155
+ @clear="typeClear"
156
+ />
157
+
158
+ <!-- 异常子类型 -->
159
+ <lw-cell-popup-radio
160
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnSubType','异常子类型')"
161
+ v-model="abnormalType.abnSubType"
162
+ :columns="subTypeList"
163
+ required
164
+ />
165
+
166
+ <!-- 货主 -->
167
+ <lw-cell-popup-radio
168
+ style="padding-bottom: 0"
169
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.owner','货主')"
170
+ v-model="abnormalType.ownerId"
171
+ value-key="id"
172
+ label-key="name"
173
+ :columns="ownerList"
174
+ required
175
+ :disabled="!!asnData.ownerId"
176
+ />
177
+
178
+ </div>
179
+
180
+ <!-- 增加商品信息按钮 -->
181
+ <div
182
+ v-if="showAddBtn"
183
+ class="lw-global-model-box lw-global-flex-between"
184
+ >
185
+ <div class="lw-global-value" style="font-size: 16px">
186
+ {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.skuInfo','商品信息') }}
187
+ </div>
188
+
189
+ <van-icon
190
+ name="add-o"
191
+ size="24px"
192
+ color="#409eff"
193
+ @click="addSku"
194
+ />
195
+ </div>
196
+
197
+ <!-- 商品信息录入模块 -->
198
+ <div
199
+ v-else
200
+ class="lw-global-model-box lw-global-row"
201
+ style="padding-bottom: 0"
202
+ >
203
+
204
+ <div class="lw-global-row-start lw-global-flex-between">
205
+
206
+ <div class="lw-global-value" style="font-size: 16px">
207
+ {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.skuInfo','商品信息') }}
208
+ </div>
209
+
210
+ <lw-button
211
+ v-if="multiple"
212
+ mini
213
+ round
214
+ @click="saveSku"
215
+ >
216
+ <van-icon name="certificate" />
217
+ {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.save','保存') }}
218
+ </lw-button>
219
+
220
+ </div>
221
+
222
+ <lw-input
223
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.sku','商品号')"
224
+ v-model="skuInfo.skuCode"
225
+ :get-focus.sync="skuInfoFocus.skuCode"
226
+ input-align="right"
227
+ required
228
+ :disabled="skuDisabled"
229
+ rule-prefix="receiveAbn"
230
+ rule-key="sku"
231
+ @confirm="skuCodeConfirm()"
232
+ >
233
+ <template #button>
234
+ <lw-button
235
+ v-if="!skuDisabled"
236
+ type="last"
237
+ round
238
+ mini
239
+ @click="skuCodeConfirm()"
240
+ >
241
+ {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.confirm','确认') }}
242
+ </lw-button>
243
+ </template>
244
+ </lw-input>
245
+
246
+ <lw-cell
247
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.skuName','商品名称')"
248
+ :value="skuInfo.sku.skuName"
249
+ value-align="right"
250
+ :is-link="false"
251
+ />
252
+
253
+
254
+ <!-- 批次组件信息 -->
255
+ <lw-lot-module
256
+ v-if="lot.show"
257
+ ref="lot"
258
+ :query="lot.query"
259
+ :must-required="false"
260
+ />
261
+
262
+ <!-- 待处理量 -->
263
+ <div class="lw-global-row lw-global-flex-between" v-if="qty>-1">
264
+ <div class="lw-global-title">
265
+ {{ $lwLanguage.get('wms_project.pda.module.inboundAbn.wait','待处理量') }}
266
+ </div>
267
+
268
+ <div class="lw-global-value-bold" style="color: #D50000">{{ qty }}</div>
269
+ </div>
270
+
271
+ <lw-input
272
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.anbQty','异常数量')"
273
+ v-model="skuInfo.abnQty"
274
+ :get-focus.sync="skuInfoFocus.qty"
275
+ type="digit"
276
+ input-align="right"
277
+ required
278
+ />
279
+
280
+ <lw-input
281
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.abnLocal','异常库位')"
282
+ v-model="skuInfo.abnLocationCode"
283
+ :get-focus.sync="skuInfoFocus.abnormalLocationCode"
284
+ input-align="right"
285
+ required
286
+ rule-prefix="receiveAbn"
287
+ rule-key="location"
288
+ />
289
+
290
+ <lw-input
291
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.lpn','托盘号')"
292
+ v-model="skuInfo.abnLpn"
293
+ input-align="right"
294
+ rule-prefix="receiveAbn"
295
+ rule-key="lpn"
296
+ />
297
+
298
+ <lw-input
299
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.originalLocal','原库位')"
300
+ v-if="originalLocationCode"
301
+ v-model="skuInfo.originalLocationCode"
302
+ input-align="right"
303
+ rule-prefix="receiveAbn"
304
+ rule-key="location"
305
+ />
306
+
307
+ <lw-input
308
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.originalLpn','原托盘号')"
309
+ v-if="originalLpn"
310
+ v-model="skuInfo.originalLpn"
311
+ input-align="right"
312
+ rule-prefix="receiveAbn"
313
+ rule-key="lpn"
314
+ />
315
+
316
+ <lw-input
317
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.originalCaseNum','原箱号')"
318
+ v-if="originalCaseNum"
319
+ v-model="skuInfo.originalCaseNum"
320
+ input-align="right"
321
+ />
322
+
323
+ <!-- 处理方式 -->
324
+ <lw-cell-popup-radio
325
+ :title="this.$lwLanguage.get('wms_project.pda.module.receiveAbn.handleMethod','处理方式')"
326
+ v-model="skuInfo.handleMethod"
327
+ dict-key="abnormal_handle_method_choice"
328
+ />
329
+
330
+ <lw-input
331
+ :title="$lwLanguage.get('wms_project.pda.module.receiveAbn.remark','备注')"
332
+ v-model="skuInfo.abnRemark"
333
+ type="textarea"
334
+ input-align="right"
335
+ :rows="4"
336
+ />
337
+
338
+ <!-- 图片 -->
339
+ <div class="lw-global-title" style="padding: 8px 0">
340
+ {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.img','图片') }}
341
+ </div>
342
+ <lw-img-upload v-model="skuInfo.imagesArr"/>
343
+
344
+
345
+ </div>
346
+
347
+ <!-- 已经录入了的商品信息 -->
348
+ <div
349
+ class="lw-global-model-box lw-global-flex-between"
350
+ v-for="(i,k) in skuList"
351
+ :key="k"
352
+ >
353
+ <div
354
+ style="flex: 1"
355
+ class="lw-global-flex-between"
356
+ >
357
+ <div style="flex: 1">
358
+ <div class="lw-global-value">{{ i.skuCode }}</div>
359
+ <div class="lw-global-title">{{ i.sku.skuName }}</div>
360
+ </div>
361
+
362
+ <div style="width: 56px;flex-shrink: 0;text-align: center">
363
+ <div class="lw-global-value-bold" style="color: #D50000;">{{ i.abnQty }}</div>
364
+ <div class="lw-global-title">
365
+ {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.abnQty','异常量') }}
366
+ </div>
367
+ </div>
368
+ </div>
369
+
370
+ <van-icon
371
+ style="width: 24px;flex-shrink: 0;margin-left: 5px"
372
+ name="close"
373
+ size="24px"
374
+ color="#D50000"
375
+ @click="delSku(k)"
376
+ />
377
+ </div>
378
+
379
+ </div>
380
+
381
+ <lw-not-data
382
+ v-else
383
+ :content="$lwLanguage.get('wms_project.pda.module.receiveAbn.error','基础数据异常')"
384
+ />
385
+
386
+ <lw-bottom-bar v-if="showBottomBar">
387
+ <lw-button @click="confirm">
388
+ {{ $lwLanguage.get('wms_project.pda.module.receiveAbn.submit','确认上报') }}
389
+ </lw-button>
390
+ </lw-bottom-bar>
391
+ </div>
392
+ </template>
393
+
394
+ <script>
395
+
396
+ import {
397
+ wmsMobileFoundAsn,
398
+ wmsMobileFoundAsnLineSku,
399
+ wmsMobileSubmitAbnormalReceive
400
+ } from "../../../api/receive/abnormal";
401
+
402
+ export default {
403
+ name: "lwReceiveAbnormalModule",
404
+ props:{
405
+ // 订单号
406
+ asnNo: String,
407
+
408
+ // 所属类型
409
+ belongType: String,
410
+
411
+ // 是否允许多条保存
412
+ multiple:{
413
+ type: Boolean,
414
+ default: true
415
+ },
416
+
417
+ // 商品信息是否禁用
418
+ skuDisabled:{
419
+ type: Boolean,
420
+ default: false
421
+ },
422
+ moreInfoDisabled:{
423
+ type: Boolean,
424
+ default: false
425
+ },
426
+ moreAsnDisabled:{
427
+ type: Boolean,
428
+ default: false
429
+ },
430
+
431
+ // 商品号
432
+ skuCode: String,
433
+ ownerId: String ,
434
+ qty:{
435
+ type: Number,
436
+ default: -1
437
+ },
438
+ originalLocationCode:{
439
+ type: Boolean,
440
+ default: false
441
+ },
442
+ originalLpn:{
443
+ type: Boolean,
444
+ default: true
445
+ },
446
+ originalCaseNum:{
447
+ type: Boolean,
448
+ default: true
449
+ },
450
+
451
+ // 是否显示底部导航栏模块
452
+ showBottomBar:{
453
+ type: Boolean,
454
+ default: true
455
+ }
456
+ },
457
+ /*computed:{
458
+ moreDisabled(){
459
+ return !!Object.keys(this.asnData).length
460
+ }
461
+ },*/
462
+ data() {
463
+ return {
464
+ // 是否显示异常模块
465
+ show: false,
466
+
467
+ // 订单信息
468
+ asnData:{},
469
+
470
+ // 更多信息展开项
471
+ moreInfoCollapse:[],
472
+
473
+ // 异常子类型的选择项目
474
+ subTypeList:[],
475
+
476
+ // 货主的选择项目
477
+ ownerList:[],
478
+
479
+ // 更多信息
480
+ abnormalInfo:{
481
+ // ERP单号
482
+ erpOrderNo:'',
483
+ // 凭证号
484
+ evidenceNo:'',
485
+ // 订单号
486
+ orderNo:'',
487
+ // 供应商编码
488
+ supplierCode:'',
489
+ // 供应商名称
490
+ supplierName:'',
491
+ // 承运商编码
492
+ carrierCode:'',
493
+ // 承运商名称
494
+ carrierName:'',
495
+ // 车牌号
496
+ plateNumber:'',
497
+ // 外部业务单号
498
+ extBizNo:'',
499
+ // 外部业务单号2
500
+ extBizNo2:'',
501
+ // 外部业务单号3
502
+ extBizNo3:'',
503
+
504
+ /*// WMS 单据号
505
+ bizOrderNo:'',
506
+ // WMS 单据行号
507
+ bizOrderLineNo:'',*/
508
+ },
509
+
510
+ // 异常类型
511
+ abnormalType:{
512
+ // 所属类型
513
+ belongType:'RECEIVE',
514
+ // 作业环节
515
+ discoveryPoint:'',
516
+ // 异常类型
517
+ abnType:'',
518
+ // 异常子类型
519
+ abnSubType:'',
520
+ // 货主id
521
+ ownerId:'',
522
+ },
523
+
524
+ // 商品信息
525
+ skuInfo:{
526
+ skuCode:'',
527
+ // 当前扫描商品得到的商品基础信息
528
+ sku:{
529
+ skuName:''
530
+ },
531
+ abnQty:'',
532
+ abnLocationCode:'',
533
+ abnLpn:'',
534
+ originalLocationCode:'',
535
+ originalLpn:'',
536
+ originalCaseNum:'',
537
+ handleMethod:'',
538
+ remark:'',
539
+ imagesArr:[],
540
+ },
541
+
542
+ // 商品信息获取焦点
543
+ skuInfoFocus:{
544
+ skuCode: false,
545
+ qty: false,
546
+ abnormalLocationCode: false,
547
+ },
548
+
549
+ // 批次组件
550
+ lot: {
551
+ show: false,
552
+ query: {}
553
+ },
554
+
555
+ // 是否显示增加按钮
556
+ showAddBtn: false,
557
+
558
+ // 用于储存多条商品信息
559
+ skuList:[],
560
+
561
+ }
562
+ },
563
+ watch:{
564
+ 'skuInfo.skuCode':{
565
+ handler(n){
566
+ // 如果商品信息为空就清除批次数据、商品数据
567
+ if (!n){
568
+ this.skuInfo.sku = {}
569
+ this.lot.show = false
570
+ this.lot.query = {}
571
+ }
572
+ }
573
+ }
574
+ },
575
+ mounted() {
576
+ this.init()
577
+ },
578
+ methods: {
579
+ // 初始化
580
+ async init(){
581
+ try{
582
+
583
+ // 获取货主信息
584
+ this.ownerList = await this.$lwApi.common.getOwnerList()
585
+ if(this.asnNo){
586
+ const asnData = await wmsMobileFoundAsn({
587
+ asnNo: this.asnNo
588
+ })
589
+ this.asnData = asnData || {}
590
+ } else {
591
+ this.asnData = {}
592
+ }
593
+
594
+ this.skuInfo.skuCode = this.skuCode || ''
595
+
596
+ this.abnormalInfo.orderNo = this.asnData.asnNo || this.asnNo
597
+ this.abnormalInfo.extNo = this.asnData.erpOrderNo || ''
598
+ this.abnormalInfo.supplierCode = this.asnData.supplierCode || ''
599
+ this.abnormalInfo.supplierName = this.asnData.supplierName || ''
600
+ this.abnormalInfo.carrierCode = this.asnData.carrierCode || ''
601
+ this.abnormalInfo.carrierName = this.asnData.carrierName || ''
602
+ this.abnormalInfo.carrierPlateNum = this.asnData.plateNumber || ''
603
+ this.abnormalType.ownerId = this.asnData.ownerId || this.ownerId || ''
604
+ /*this.abnormalInfo.bizOrderNo = this.asnData.bizOrderNo || ''
605
+ this.abnormalInfo.bizOrderLineNo = this.asnData.bizOrderLineNo || ''*/
606
+
607
+ // 是否存在商品数据,如果存在就获取商品信息
608
+ if(this.skuInfo.skuCode){
609
+ await this.skuCodeConfirm(true)
610
+ }
611
+
612
+ this.show = true
613
+
614
+ }catch (err){
615
+ console.error('收货异常模块初始化失败:', err)
616
+ }
617
+ },
618
+ // 异常类型确认
619
+ typeConfirm({value}){
620
+
621
+ // 判断异常类型是否变化,变化了就要改子类型的值
622
+ if (!value || value !== this.abnormalType.abnSubType.split('_')[0]){
623
+ this.abnormalType.abnSubType = ''
624
+ const subType = this.$lwDict.get('abnormal_sub_type_choice')
625
+ this.subTypeList = subType.filter(item=>item.value.split('_')[0] === value)
626
+ }
627
+ },
628
+ // 异常类型清空
629
+ typeClear(){
630
+ this.abnormalType.abnSubType = ''
631
+ this.subTypeList = []
632
+ },
633
+
634
+ // 商品号确认
635
+ async skuCodeConfirm(first = false){
636
+
637
+ if (!this.skuInfo.skuCode){
638
+ this.skuInfoFocus.skuCode = true
639
+ this.$lwShowErrorMsg(
640
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuNull','商品号不能为空')
641
+ )
642
+ this.skuInfo.skuCode = ''
643
+ return
644
+ }
645
+
646
+ if (!this.abnormalType.ownerId){
647
+ this.$lwShowErrorMsg(
648
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.selectWoner','请选择货主')
649
+ )
650
+ return
651
+ }
652
+
653
+ let query = {
654
+ skuCode: this.skuInfo.skuCode
655
+ }
656
+
657
+ console.log(this.asnData)
658
+ console.log(this.abnormalType)
659
+
660
+ if (this.asnData.ownerId){
661
+ query.asnId = this.asnData.id
662
+ }else {
663
+ query.ownerId = this.abnormalType.ownerId
664
+ }
665
+
666
+ console.log(query)
667
+
668
+ const res = await wmsMobileFoundAsnLineSku(query)
669
+
670
+ this.skuInfo.sku = {
671
+ ...res,
672
+ skuCode: res.sku.code,
673
+ skuName: res.sku.name,
674
+ skuOwner: res.sku.ownerId,
675
+ skuId: res.sku.id,
676
+ }
677
+
678
+ this.lot.query = {
679
+ type:1,
680
+ lotType:'inventory',
681
+ lotRuleId:'',
682
+ editable:true,
683
+ needHandleRequire:true,
684
+ ownerId:this.skuInfo.sku.ownerId,
685
+ skuId:this.skuInfo.sku.skuId,
686
+ header: this.asnData.map,
687
+ line: this.skuInfo.sku.map,
688
+ }
689
+
690
+ this.lot.show = true
691
+ !first ? this.skuInfoFocus.qty = true : ''
692
+ },
693
+
694
+ // 储存单条异常信息
695
+ formatAbnSkuData(){
696
+ let skuData = this.$lwDeepCopy(this.skuInfo)
697
+
698
+ if (this.lot.show){
699
+ const {success, data} = this.$refs.lot.getData()
700
+
701
+ if (!success) return;
702
+
703
+ skuData.lotAttributes = data
704
+ }
705
+
706
+ return {
707
+ ...skuData,
708
+ skuId: skuData.sku.sku.id,
709
+ abnImg: this.skuInfo.imagesArr.join('|')
710
+ }
711
+ },
712
+
713
+ // 保存商品信息按钮
714
+ saveSku(){
715
+ // 校验作业环节
716
+ if (!this.abnormalType.discoveryPoint){
717
+ this.$lwShowErrorMsg(
718
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.discoveryPointNull','作业环节不能为空')
719
+ )
720
+ return false
721
+ }
722
+
723
+ // 校验异常类型
724
+ if (!this.abnormalType.abnType){
725
+ this.$lwShowErrorMsg(
726
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnTypeNull','异常类型不能为空')
727
+ )
728
+ return false
729
+ }
730
+
731
+ // 异常子类型
732
+ if (!this.abnormalType.abnSubType){
733
+ this.$lwShowErrorMsg(
734
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnSubTypeNull','异常子类型不能为空')
735
+ )
736
+ return false
737
+ }
738
+
739
+ // 货主
740
+ if (!this.abnormalType.ownerId){
741
+ this.$lwShowErrorMsg(
742
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.ownerNull','货主不能为空')
743
+ )
744
+ return false
745
+ }
746
+
747
+ // 校验是否输入商品
748
+ if (!this.skuInfo.skuCode){
749
+
750
+ this.skuInfoFocus.skuCode = true
751
+ this.$lwShowErrorMsg(
752
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuInfoNull','商品信息不能为空')
753
+ )
754
+ return false
755
+ }
756
+
757
+ // 校验商品信息是否被修改
758
+ if (this.skuInfo.skuCode !== this.skuInfo.sku.skuCode){
759
+ this.skuInfoFocus.skuCode = true
760
+ this.$lwShowErrorMsg(
761
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuError','当前输入商品与已获取的商品信息不一致!请点击商品输入框的确认按钮,重新获取当前输入的商品信息!')
762
+ )
763
+ return false
764
+ }
765
+
766
+ // 校验当前商品货主是否符合已选货主
767
+ if (this.skuInfo.sku.skuOwner !== this.abnormalType.ownerId){
768
+ this.skuInfoFocus.skuCode = true
769
+ this.$lwShowErrorMsg(
770
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.ownerError','所选货主与当前商品所属货主不一致')
771
+ )
772
+ return false
773
+ }
774
+
775
+ // 校验是否输入异常量
776
+ if (!this.skuInfo.abnQty){
777
+
778
+ this.skuInfoFocus.qty = true
779
+ this.$lwShowErrorMsg(
780
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.qtyNull','异常量不能为空且应当时大于0的整数')
781
+ )
782
+ return false
783
+ }
784
+
785
+ const num = Number(this.skuInfo.abnQty || 0)
786
+ if (
787
+ this.abnormalType.abnType !== 'ORDER' &&
788
+ this.abnormalType.abnSubType !== 'QTY_MORE' &&
789
+ !this.multiple && this.qty>-1 &&
790
+ num > this.qty
791
+ ){
792
+ this.skuInfoFocus.qty = true
793
+ this.$lwShowErrorMsg(
794
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuMore','异常量不能大于待处理量')
795
+ )
796
+ this.skuInfo.abnQty = ''
797
+ return false
798
+ }
799
+
800
+ // 校验是否输入异常库位
801
+ if (!this.skuInfo.abnLocationCode){
802
+
803
+ this.skuInfoFocus.abnormalLocationCode = true
804
+ this.$lwShowErrorMsg(
805
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.localNull','异常库位不能为空')
806
+ )
807
+ return false
808
+ }
809
+
810
+ // 是否是多条保存
811
+ if (this.multiple){
812
+
813
+ this.skuList.push(this.formatAbnSkuData())
814
+
815
+ // 让所有输入框失去焦点
816
+ for (let i in this.skuInfoFocus){
817
+ this.skuInfoFocus[i] = false
818
+ }
819
+
820
+ // 清空商品信息数据
821
+ for (let i in this.skuInfo){
822
+ if(i === 'sku'){
823
+ this.skuInfo[i] = {}
824
+ continue
825
+ }
826
+ if(i === 'imagesArr'){
827
+ this.skuInfo[i] = []
828
+ continue
829
+ }
830
+
831
+ this.skuInfo[i] = ''
832
+ }
833
+
834
+ this.showAddBtn = true
835
+ }
836
+
837
+ return true
838
+ },
839
+
840
+ // 增加商品信息按钮被点击
841
+ addSku(){
842
+ this.showAddBtn = false
843
+ this.skuInfoFocus.skuCode = true
844
+ },
845
+
846
+ // 删除商品按钮被点击
847
+ delSku(index){
848
+ this.$lwDialog.confirm({
849
+ title: this.$lwLanguage.get('wms_project.pda.module.receiveAbn.warning','警告'),
850
+ message: this.$lwLanguage.get('wms_project.pda.module.receiveAbn.del','确认删除该商品?')
851
+ }).then(()=>{
852
+ this.skuList.splice(index, 1)
853
+ }).catch(()=>{})
854
+ },
855
+
856
+ // 获取当前异常模块的数据
857
+ getAbnormalData(){
858
+ // 校验是否允许多条保存
859
+ if (this.multiple){
860
+
861
+ // 多条保存是否有数据
862
+ if (this.skuList.length){
863
+ return {
864
+ success: true,
865
+ data: this.skuList
866
+ }
867
+ }
868
+
869
+ // 没有数据就报错
870
+ this.$lwShowErrorMsg(
871
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.skuListNull','没有保存任何商品信息,请先点击商品信息的保存按钮,保存录入的信息')
872
+ )
873
+ return {
874
+ success: false,
875
+ data: []
876
+ }
877
+ }
878
+
879
+ // 如果是单条数据就触发保存按钮
880
+ if (this.saveSku()){
881
+ return {
882
+ success: true,
883
+ data: [this.formatAbnSkuData()]
884
+ }
885
+ }
886
+
887
+ // 否则报错
888
+ return {
889
+ success: false,
890
+ data: []
891
+ }
892
+ },
893
+
894
+ getAllAbnormalData(){
895
+ const {success, data} = this.getAbnormalData()
896
+
897
+ if (!success) {
898
+ return {
899
+ success: false,
900
+ data: []
901
+ }
902
+ }
903
+
904
+ return {
905
+ success: true,
906
+ data: {
907
+ order: this.abnormalInfo,
908
+ lines: data,
909
+ ...this.abnormalType,
910
+ asnId: this.asnData.id
911
+ }
912
+ }
913
+ },
914
+
915
+ // 确认上报
916
+ confirm(){
917
+ const {success, data} = this.getAbnormalData()
918
+
919
+ if (!success) return
920
+
921
+ wmsMobileSubmitAbnormalReceive({
922
+ order: this.abnormalInfo,
923
+ lines: data,
924
+ ...this.abnormalType,
925
+ asnId: this.asnData.id
926
+ }).then(()=>{
927
+ this.$lwToast.success(
928
+ this.$lwLanguage.get('wms_project.pda.module.receiveAbn.abnSuccess','异常上报成功')
929
+ )
930
+
931
+ this.$emit('success')
932
+ })
933
+ }
934
+ }
935
+ }
936
+ </script>
937
+
938
+ <style scoped lang="less">
939
+
940
+
941
+ .lw-receive-abnormal-boss{
942
+
943
+ >.lw-input-box{
944
+
945
+ &:first-child{
946
+ padding-top: 0;
947
+ }
948
+
949
+ &:last-child{
950
+ padding-bottom: 0;
951
+ border-bottom: none;
952
+ }
953
+ }
954
+ }
955
+
956
+ </style>