@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,425 +1,457 @@
1
- <template>
2
- <div>
3
- <lw-nav-bar title="收货品检"/>
4
- <div class="lw-global-page-box">
5
- <div class="lw-global-model-box">
6
- <quality-task-info :data="task"/>
7
- </div>
8
- <div v-if="card" class="lw-global-model-box">
9
- <quality-card :data="card"/>
10
- </div>
11
- <div v-if="task" class="lw-global-tab-box" style="margin-top: 10px;">
12
- <van-tabs type="card" animated v-model="tabActive">
13
- <van-tab title="品检">
14
- <div class="lw-global-model-box">
15
- <lw-input v-if="!currentLpn" title="托盘" v-model="lpn.value" :get-focus.sync="lpn.focus" @confirm="scanLpn()"/>
16
- <template v-if="currentLpn">
17
- <div class="lw-global-props">
18
- <div>
19
- <div>当前托盘号</div>
20
- <div>{{currentLpn.lpn}}</div>
21
- </div>
22
- </div>
23
- <div class="quality-table">
24
- <div class="quality-table-header">
25
- <div>待检量</div>
26
- <div>抽检量</div>
27
- <div>异常量</div>
28
- </div>
29
- <div>
30
- <div>{{currentLpn.canQualityQty}}</div>
31
- <div>
32
- <lw-input name="抽检量" v-model="currentLpn.samplingQty"/>
33
- </div>
34
- <div>{{currentLpn.qualityLossQty}}</div>
35
- </div>
36
- </div>
37
- </template>
38
- </div>
39
- <div v-if="currentLpn && !task.sku.needSn" class="lw-global-model-box" style="margin-top: 10px;">
40
- <lw-input title="序列号条码" required v-model="sn.value" :get-focus.sync="sn.focus"
41
- rule-key="sn" rule-value-key="sn" :rule-serve-query="barcodeQuery" @confirm="addSn"/>
42
- <div v-if="sns.length" class="tag-list">
43
- <div class="tag-list-title">
44
- <div>当前扫描结果</div>
45
- <div>SN <span>{{ sns.length }}</span></div>
46
- <div style="display: flex; justify-content: center;">
47
- <div>数量 <span>{{ snsQty }}</span></div>
48
- <div style="margin-left: 10px;">
49
- <lw-button mini @click="showSns=true">全部</lw-button>
50
- </div>
51
- </div>
52
- </div>
53
- <div class="tag-list-head">
54
- <div>SN</div>
55
- <div>数量</div>
56
- <div>操作</div>
57
- </div>
58
- <div class="tag-list-row" v-for="t in sns" :key="t.sn">
59
- <div>{{ t.sn }}</div>
60
- <div>{{ t.qty }}</div>
61
- <div>
62
- <lw-button mini @click="removeSn(t)">剔除</lw-button>
63
- </div>
64
- </div>
65
- </div>
66
- </div>
67
- <div v-if="lotQuery" class="lw-global-model-box">
68
- <lw-lot-module :query="lotQuery" ref="lot"/>
69
- </div>
70
- </van-tab>
71
- <van-tab title="托盘号">
72
- <div class="lw-global-model-box">
73
- <div class="lpn-table">
74
- <div class="lpn-table-header">
75
- <div>托盘号</div>
76
- <div>数量</div>
77
- <div>抽检量</div>
78
- <div>异常量</div>
79
- </div>
80
- <div v-for="line in task.lines" :key="line.lpn" :class="{abnormal: line.qualityLossQty > 0}">
81
- <div>{{line.lpn}}</div>
82
- <div>{{line.qty}}</div>
83
- <div>{{line.qualityQty}}</div>
84
- <div>{{line.qualityLossQty}}</div>
85
- </div>
86
- </div>
87
- </div>
88
- </van-tab>
89
- </van-tabs>
90
- </div>
91
- </div>
92
- <lw-bottom-bar v-if="currentLpn">
93
- <lw-button type="warning" @click="showAbnormalPop">品检异常</lw-button>
94
- <lw-button plain @click="resetLpn">切换托盘</lw-button>
95
- <lw-button @click="submitLpn">提交品检结果</lw-button>
96
- </lw-bottom-bar>
97
- <lw-bottom-bar v-else-if="canFinish">
98
- <lw-button plain @click="resetSku" v-if="$route.query.lwComeFrom !== 'task'">切换商品</lw-button>
99
- <lw-button @click="finishSku">完成当前商品品检</lw-button>
100
- </lw-bottom-bar>
101
- <van-dialog v-model="showSns" title="当前扫描的SN列表">
102
- <sns-list :sns="sns" @remove="removeSn"/>
103
- </van-dialog>
104
- <!-- 异常弹框 -->
105
- <lw-popup
106
- title="品检异常"
107
- v-model="showAbnormal">
108
- <lw-inner-abnormal-module
109
- v-if="showAbnormal"
110
- ref="abnormal"
111
- :sku-code="task.sku.code"
112
- :sku-name="task.sku.name"
113
- :qty="currentLpn.canQualityQty"
114
- :location="task.locationCode"
115
- require-lpn
116
- type="品检"
117
- ab-type="品检异常"/>
118
- <template #button>
119
- <lw-button @click="submitAbnormal">上报异常</lw-button>
120
- </template>
121
- </lw-popup>
122
- </div>
123
- </template>
124
-
125
- <script>
126
- import {
127
- finishSkuQuality,
128
- getInboundFoundQualityCard,
129
- getInboundGetQualityDetail, submitQualityAbnormal,
130
- submitSkuQuality, submitSkuSnQuality
131
- } from '../../../../../api/inbound/quality'
132
- import QualityTaskInfo from '../../components/QualityTaskInfo'
133
- import QualityCard from '../../components/QualityCard'
134
- import SnsList from '../../components/SnsList'
135
- import { getAsnSkuSnDetail } from '../../../../../api/inbound/receive'
136
-
137
- export default {
138
- name: 'LwInboundQualityExecutePage',
139
- components: { SnsList, QualityCard, QualityTaskInfo },
140
- data () {
141
- return {
142
- task: null,
143
- card: null,
144
- tabActive: 0,
145
- lpn: {
146
- value: '',
147
- focus: true,
148
- },
149
- currentLpn: null,
150
- sn: {
151
- value: '',
152
- focus: false,
153
- },
154
- sns: [],
155
- showSns: false,
156
- lotQuery: null,
157
- showAbnormal: false,
158
- }
159
- },
160
- computed: {
161
- snsQty () {
162
- return this.sns.map(i => parseInt(i.qty)).reduce((a, b) => a + b, 0)
163
- },
164
- barcodeQuery () {
165
- return {
166
- ownerId: this.task.asn.ownerId || null,
167
- warehouseId: this.task.warehouseId || null,
168
- }
169
- },
170
- canFinish () {
171
- return !this.task.sku.needSn && this.task.qualityQty > 0 && this.task.sku.qualityType === '200'
172
- }
173
- },
174
- created () {
175
- let taskId = this.$route.query.taskId
176
- if (!taskId) {
177
- taskId = this.$route.query.lwTaskId
178
- }
179
- if (taskId) {
180
- this.getTask(taskId)
181
- } else {
182
- this.$lwShowErrorMsg('无效的任务Id')
183
- }
184
- },
185
- methods: {
186
- getTask (taskId) {
187
- getInboundGetQualityDetail(taskId).then(res => {
188
- if (res) {
189
- this.task = res
190
- getInboundFoundQualityCard(taskId).then(data => this.card = data)
191
- }
192
- })
193
- },
194
- scanLpn (fromError = false) {
195
- if (!this.lpn.value) {
196
- return
197
- }
198
- const lpn = this.task.lines.find(i => i.lpn === this.lpn.value)
199
- if (!lpn) {
200
- if (fromError) {
201
- this.resetLpn()
202
- } else {
203
- return this.$lwShowErrorMsg('错误的托盘号')
204
- }
205
- }
206
- if (lpn.canQualityQty <= 0) {
207
- if (fromError) {
208
- this.resetLpn()
209
- } else {
210
- return this.$lwShowErrorMsg('该托盘已品检')
211
- }
212
- }
213
- this.lotQuery = {
214
- warehouseId: this.task.asn.warehouseId,
215
- ownerId: this.task.asn.ownerId,
216
- skuId: this.task.sku.id,
217
- type: 1,
218
- lotType: 'inventory',
219
- header: this.task.map,
220
- line: lpn.map,
221
- }
222
- lpn.samplingQty = 0
223
- this.currentLpn = lpn
224
- },
225
- submitLpn () {
226
- if (!this.currentLpn) {
227
- return this.$lwShowErrorMsg('请扫描LPN')
228
- }
229
- if (this.currentLpn.samplingQty < 0 || this.currentLpn.samplingQty > this.currentLpn.canQualityQty) {
230
- return this.$lwShowErrorMsg('抽检量必须大于0且小于待检量')
231
- }
232
- if (this.task.sku.needSn) {
233
- const snQty = this.sns.map(i => parseInt(i.qty)).reduce((a, b) => a + b, 0)
234
- if (snQty !== parseInt(this.currentLpn.canQualityQty)) {
235
- return this.$lwShowErrorMsg('商品序列号数量与待检量不符,请确认')
236
- }
237
- }
238
- const lotData = this.$refs.lot.getData()
239
- const data = {
240
- warehouseId: this.task.asn.warehouseId,
241
- ownerId: this.task.asn.ownerId,
242
- taskId: this.task.taskId,
243
- lpn: this.currentLpn.lpn,
244
- checkQty: this.currentLpn.samplingQty,
245
- }
246
- if (lotData.success) {
247
- data.lotAttributes = lotData.data
248
- let method = null
249
- if (this.task.sku.needSn) {
250
- data.snList = this.sns
251
- method = submitSkuSnQuality
252
- } else {
253
- method = submitSkuQuality
254
- }
255
- method(data).then(res => {
256
- if (res && res.quality) {
257
- this.task = res.quality
258
- }
259
- this.resetLpn()
260
- })
261
- }
262
- },
263
- addSn (sn, res) {
264
- if (!res.data.sn) {
265
- this.sn.focus = true
266
- return this.$lwShowErrorMsg('错误的商品条码序列号')
267
- }
268
- const osn = this.sns.find(i => i.sn === sn)
269
- if (osn) {
270
- this.sn.focus = true
271
- return this.$lwShowErrorMsg('重复的序列号')
272
- }
273
- if (res.data.skuCode && res.data.skuCode !== this.task.sku.code) {
274
- this.sn.focus = true
275
- return this.$lwShowErrorMsg('序列号商品编码不符')
276
- }
277
- getAsnSkuSnDetail(this.task.asn.id, this.task.sku.id, res.data.sn).then(data => {
278
- if (data && data.sn) {
279
- this.sns.unshift({
280
- sn: data.sn,
281
- qty: data.qty || 1
282
- })
283
- this.sn.value = ''
284
- } else {
285
- return this.$lwShowErrorMsg('错误的序列号')
286
- }
287
- })
288
- },
289
- resetLpn () {
290
- this.lpn.value = ''
291
- this.lpn.focus = true
292
- this.currentLpn = null
293
- this.lotQuery = null
294
- },
295
- removeSn (sn) {
296
- const idx = this.sns.indexOf(sn)
297
- if (idx > -1) {
298
- this.sns.splice(idx, 1)
299
- }
300
- },
301
- resetSku () {
302
- this.$router.back()
303
- },
304
- finishSku () {
305
- finishSkuQuality(this.task.id).then(res => {
306
- if (res.quality) {
307
- this.task = res.quality
308
- this.$lwToast.success('品检完成')
309
- }
310
- })
311
- },
312
- showAbnormalPop () {
313
- const lotData = this.$refs.lot.getData()
314
- if (lotData.success) {
315
- this.showAbnormal = true
316
- }
317
- },
318
- submitAbnormal () {
319
- const {success, data} = this.$refs.abnormal.getAbnormalData()
320
- if (!success) return
321
-
322
- const lotData = this.$refs.lot.getData()
323
- if (!lotData.success) {
324
- return
325
- }
326
-
327
- submitQualityAbnormal({
328
- taskId: this.task.taskId,
329
- lpn: this.currentLpn.lpn,
330
- lotAttributes: lotData.data,
331
- ...data
332
- }).then(res => {
333
- this.showAbnormal = false
334
- this.$lwToast.success('异常上报成功')
335
- this.task = res
336
- this.lpn.value = this.currentLpn.lpn
337
- this.scanLpn(true)
338
- })
339
- }
340
- },
341
- }
342
- </script>
343
-
344
- <style lang="less" scoped>
345
- .lpn-table {
346
- font-size: 0.9em;
347
- line-height: 2em;
348
- &-header {
349
- color: gray;
350
- }
351
- & > div {
352
- display: grid;
353
- margin-top: 1px;
354
- grid-template-columns: 2fr 1fr 1fr 1fr;
355
- text-align: center;
356
- &.abnormal {
357
- background: #fdbdbe;
358
- }
359
- }
360
- }
361
- .lw-global-props {
362
- margin: 10px 0;
363
- }
364
- .quality-table {
365
- font-size: 0.9em;
366
- line-height: 2em;
367
- &-header {
368
- color: gray;
369
- }
370
- & > div {
371
- display: grid;
372
- margin-top: 1px;
373
- grid-template-columns: 1fr 1fr 1fr;
374
- text-align: center;
375
- &.abnormal {
376
- background: #fdbdbe;
377
- }
378
- }
379
- }
380
- .tag-list {
381
- margin-top: 10px;
382
- & > div {
383
- display: flex;
384
- align-items: center;
385
-
386
- & > div:first-child {
387
- flex-basis: 40%;
388
- }
389
-
390
- & > div:nth-child(2) {
391
- flex-basis: 20%;
392
- text-align: center;
393
- }
394
-
395
- & > div:last-child {
396
- flex-basis: 40%;
397
- text-align: center;
398
- }
399
- }
400
-
401
- &-title {
402
- background: #0f90dd;
403
- color: white;
404
- margin: -10px -10px 0;
405
- padding: 8px;
406
-
407
- span {
408
- color: yellow;
409
- font-weight: bold;
410
- }
411
- }
412
-
413
- &-head {
414
- font-size: 0.9em;
415
- color: gray;
416
- padding: 5px 0;
417
- }
418
-
419
- &-row {
420
- font-size: 0.9em;
421
- height: 36px;
422
- border-top: 1px solid lightgray;
423
- }
424
- }
425
- </style>
1
+ <template>
2
+ <div>
3
+ <lw-nav-bar :title="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.esghuudd', '收货品检')"/>
4
+ <div class="lw-global-page-box">
5
+ <div class="lw-global-model-box">
6
+ <quality-task-info :data="task"/>
7
+ </div>
8
+ <div v-if="card" class="lw-global-model-box">
9
+ <quality-card :data="card"/>
10
+ </div>
11
+ <div v-if="task" class="lw-global-tab-box" style="margin-top: 10px;">
12
+ <van-tabs type="card" animated v-model="tabActive">
13
+ <van-tab :title="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.nlclgbzy', '品检')">
14
+
15
+ <div class="lw-global-model-box">
16
+ <lw-input v-if="!currentLpn" :title="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.ioqxkcmi', '托盘')"
17
+ v-model="lpn.value" :get-focus.sync="lpn.focus" @confirm="scanLpn()"/>
18
+ <template v-if="currentLpn">
19
+ <div class="lw-global-props">
20
+ <div>
21
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.vhdfrjzh', '当前托盘号')}}</div>
22
+ <div>{{currentLpn.lpn}}</div>
23
+ </div>
24
+ </div>
25
+ <div class="quality-table">
26
+ <div class="quality-table-header">
27
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.aurzznrt', '待检量')}}</div>
28
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.nrfvthli', '抽检量')}}</div>
29
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.zlucruch', '异常量')}}</div>
30
+ </div>
31
+ <div>
32
+ <div>{{currentLpn.canQualityQty}}</div>
33
+ <div>
34
+ <lw-input :name="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.oqfkqbqb', '抽检量')" type="number" v-model="currentLpn.samplingQty"/>
35
+ </div>
36
+ <div>{{currentLpn.qualityLossQty}}</div>
37
+ </div>
38
+ </div>
39
+ </template>
40
+ </div>
41
+
42
+ <div v-if="currentLpn && task.sku.needSn && !autoWholeSn" class="lw-global-model-box" style="margin-top: 10px;">
43
+ <lw-input :title="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.desddnrq', '序列号条码')" required v-model="sn.value" :get-focus.sync="sn.focus"
44
+ rule-key="sn" :rule-serve-query="barcodeQuery" @confirm="addSn"/>
45
+ <div v-if="sns.length" class="tag-list">
46
+ <div class="tag-list-title">
47
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.advmxjfh', '当前扫描结果')}}</div>
48
+ <div>SN <span>{{ sns.length }}</span></div>
49
+ <div style="display: flex; justify-content: center;">
50
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.gymlbusg', '数量 ')}}<span>{{ snsQty }}</span></div>
51
+ <div style="margin-left: 10px;">
52
+ <lw-button mini @click="showSns=true">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.zudsizru', '全部')}}</lw-button>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ <div class="tag-list-head">
57
+ <div>SN</div>
58
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.zlyexphg', '数量')}}</div>
59
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.ktwpqwzu', '操作')}}</div>
60
+ </div>
61
+ <div class="tag-list-row" v-for="t in sns" :key="t.sn">
62
+ <div>{{ t.sn }}</div>
63
+ <div>{{ t.qty }}</div>
64
+ <div>
65
+ <lw-button mini @click="removeSn(t)">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.hieabfmy', '剔除')}}</lw-button>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </div>
70
+
71
+ <div v-if="lotQuery" class="lw-global-model-box">
72
+ <lw-lot-module :query="lotQuery" ref="lot"/>
73
+ </div>
74
+ </van-tab>
75
+ <van-tab :title="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.bdnbtaov', '托盘号')">
76
+ <div class="lw-global-model-box">
77
+ <div class="lpn-table">
78
+ <div class="lpn-table-header">
79
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.bozvcdno', '托盘号')}}</div>
80
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.zrpgabvw', '数量')}}</div>
81
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.nybhyotp', '抽检量')}}</div>
82
+ <div>{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.xwtacndt', '异常量')}}</div>
83
+ </div>
84
+ <div v-for="line in task.lines" :key="line.lpn" :class="{abnormal: line.canQualityQty <= 0}">
85
+ <div>{{line.lpn}}</div>
86
+ <div>{{line.qty}}</div>
87
+ <div>{{line.checkQty}}</div>
88
+ <div>{{line.qualityLossQty}}</div>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ </van-tab>
93
+ </van-tabs>
94
+ </div>
95
+ </div>
96
+ <lw-bottom-bar v-if="currentLpn">
97
+ <lw-button type="warning" @click="showAbnormalPop">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.omqljbkf', '品检异常')}}</lw-button>
98
+ <lw-button plain @click="resetLpn">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.nvvayspe', '切换托盘')}}</lw-button>
99
+ <lw-button @click="submitLpn">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.ieuwiphj', '提交品检结果')}}</lw-button>
100
+ </lw-bottom-bar>
101
+ <lw-bottom-bar v-else-if="canFinish">
102
+ <lw-button plain @click="resetSku" v-if="$route.query.lwComeFrom !== 'task'">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.utqhrvin', '切换商品')}}</lw-button>
103
+ <lw-button @click="finishSku">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.aqxsyete', '完成当前商品品检')}}</lw-button>
104
+ </lw-bottom-bar>
105
+ <van-dialog v-model="showSns" :title="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.sfvcclzy', '当前扫描的SN列表')">
106
+ <sns-list :sns="sns" @remove="removeSn"/>
107
+ </van-dialog>
108
+ <!-- 异常弹框 -->
109
+ <lw-popup
110
+ :title="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.ocwlyfyt', '品检异常')"
111
+ v-model="showAbnormal">
112
+ <lw-inner-abnormal-module
113
+ v-if="showAbnormal"
114
+ ref="abnormal"
115
+ :sku-code="task.sku.code"
116
+ :sku-name="task.sku.name"
117
+ :qty="currentLpn.canQualityQty"
118
+ :location="task.locationCode"
119
+ import-lpn
120
+ :type="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.nzaftxkm', '品检')"
121
+ :ab-type="$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.hoxntjgy', '品检异常')"/>
122
+ <template #button>
123
+ <lw-button @click="submitAbnormal">{{$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.kzuugcny', '上报异常')}}</lw-button>
124
+ </template>
125
+ </lw-popup>
126
+ </div>
127
+ </template>
128
+
129
+ <script>
130
+ import {
131
+ finishSkuQuality,
132
+ getInboundFoundQualityCard,
133
+ getInboundGetQualityDetail, submitQualityAbnormal,
134
+ submitSkuQuality, submitSkuSnQuality
135
+ } from '../../../../../api/inbound/quality'
136
+ import QualityTaskInfo from '../../components/QualityTaskInfo.vue'
137
+ import QualityCard from '../../components/QualityCard.vue'
138
+ import SnsList from '../../components/SnsList.vue'
139
+ import { getAsnSkuSnDetail } from '../../../../../api/inbound/receive'
140
+
141
+ export default {
142
+ name: 'LwInboundQualityExecutePage',
143
+ components: { SnsList, QualityCard, QualityTaskInfo },
144
+ data () {
145
+ return {
146
+ task: null,
147
+ card: null,
148
+ tabActive: 0,
149
+ lpn: {
150
+ value: '',
151
+ focus: true,
152
+ },
153
+ currentLpn: null,
154
+ sn: {
155
+ value: '',
156
+ focus: false,
157
+ },
158
+ sns: [],
159
+ showSns: false,
160
+ lotQuery: null,
161
+ showAbnormal: false,
162
+ autoWholeSn: false,
163
+ }
164
+ },
165
+ computed: {
166
+ snsQty () {
167
+ return this.sns.map(i => parseInt(i.qty)).reduce((a, b) => a + b, 0)
168
+ },
169
+ barcodeQuery () {
170
+ return {
171
+ ownerId: this.task.asn.ownerId || null,
172
+ warehouseId: this.task.warehouseId || null,
173
+ }
174
+ },
175
+ canFinish () {
176
+ if (!this.task || !this.task.sku) {
177
+ return false
178
+ }
179
+ return !this.task.sku.needSn && this.task.qualityQty > 0 && this.task.sku.qualityType === '200'
180
+ }
181
+ },
182
+ created () {
183
+ let taskId = this.$route.query.taskId
184
+ if (!taskId) {
185
+ taskId = this.$route.query.lwTaskId
186
+ }
187
+ if (taskId) {
188
+ this.getTask(taskId)
189
+ } else {
190
+ this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.wzsytqjf', '无效的任务Id'))
191
+ }
192
+ },
193
+ methods: {
194
+ getTask (taskId) {
195
+ getInboundGetQualityDetail(taskId).then(res => {
196
+ if (res) {
197
+ this.task = res
198
+ getInboundFoundQualityCard(taskId).then(data => this.card = data)
199
+ if (res.finishQualityTask) {
200
+ this.$lwToast.toast(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.ludgcqwb', '当前任务品检完成'))
201
+ }
202
+ }
203
+ })
204
+ },
205
+ scanLpn (fromError = false) {
206
+ if (!this.lpn.value) {
207
+ return
208
+ }
209
+ const lpn = this.task.lines.find(i => i.lpn === this.lpn.value)
210
+ if (!lpn) {
211
+ if (fromError) {
212
+ this.resetLpn()
213
+ } else {
214
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.yjlvovxj', '错误的托盘号'))
215
+ }
216
+ }
217
+ if (lpn.canQualityQty <= 0) {
218
+ if (fromError) {
219
+ this.resetLpn()
220
+ } else {
221
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.tkrjgdgb', '该托盘已品检'))
222
+ }
223
+ }
224
+
225
+ this.autoWholeSn = null==lpn.wholeSn ? false:lpn.wholeSn
226
+
227
+ this.lotQuery = {
228
+ warehouseId: this.task.asn.warehouseId,
229
+ ownerId: this.task.asn.ownerId,
230
+ skuId: this.task.sku.id,
231
+ type: 1,
232
+ lotType: 'inventory',
233
+ header: this.task.map,
234
+ line: lpn.map,
235
+ }
236
+ lpn.samplingQty = 0
237
+ this.currentLpn = lpn
238
+ },
239
+ submitLpn () {
240
+ if (!this.currentLpn) {
241
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.iuyvdwlp', '请扫描LPN'))
242
+ }
243
+ const checkQty = parseInt(this.currentLpn.samplingQty)
244
+
245
+ console.log("---------")
246
+ console.log(this.currentLpn.samplingQty)
247
+ console.log(checkQty)
248
+ console.log(this.currentLpn.canQualityQty)
249
+
250
+ if (isNaN(checkQty) || checkQty <= 0 || checkQty > this.currentLpn.canQualityQty) {
251
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.arxfirlt', '抽检量必须大于0且小于待检量'))
252
+ }
253
+ if (this.task.sku.needSn && !this.autoWholeSn) {
254
+ const snQty = this.sns.map(i => parseInt(i.qty)).reduce((a, b) => a + b, 0)
255
+ if (snQty !== parseInt(this.currentLpn.canQualityQty)) {
256
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.qmeccorr', '商品序列号数量与待检量不符,请确认'))
257
+ }
258
+ }
259
+ const lotData = this.$refs.lot.getData()
260
+ const data = {
261
+ warehouseId: this.task.asn.warehouseId,
262
+ ownerId: this.task.asn.ownerId,
263
+ taskId: this.task.taskId,
264
+ lpn: this.currentLpn.lpn,
265
+ checkQty,
266
+ }
267
+ if (lotData.success) {
268
+ data.lotAttributes = lotData.data
269
+ let method = null
270
+ if (this.task.sku.needSn && !this.autoWholeSn) {
271
+ data.snList = this.sns
272
+ method = submitSkuSnQuality
273
+ } else {
274
+ method = submitSkuQuality
275
+ }
276
+ method(data).then(res => {
277
+ if (res && res.quality) {
278
+ this.task = res.quality
279
+ }
280
+ if (res.quality.finishQualityTask) {
281
+ this.$lwToast.success(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.ludgcqwb', '当前任务品检完成'))
282
+ setTimeout(() => this.$router.back(), 1000)
283
+ } else {
284
+ this.resetLpn()
285
+ this.getTask(this.task.taskId)
286
+ }
287
+ })
288
+ }
289
+ },
290
+ addSn (sn, res) {
291
+ const snCode = res.bizType === 'SN' ? res.data.key : sn
292
+ if (!snCode) {
293
+ this.sn.focus = true
294
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.mscdlebn', '错误的商品条码序列号'))
295
+ }
296
+ const osn = this.sns.find(i => i.sn === snCode)
297
+ if (osn) {
298
+ this.sn.focus = true
299
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.lmerdzqw', '重复的序列号'))
300
+ }
301
+ if (res.data) {
302
+ if (res.data.skuCode && res.data.skuCode !== this.task.sku.code) {
303
+ this.sn.focus = true
304
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.wtwtirtd', '序列号商品编码不符'))
305
+ }
306
+ }
307
+ const qty = res.data && res.data.qty || 1
308
+ getAsnSkuSnDetail(this.task.asn.id, this.task.sku.id, snCode, qty).then(data => {
309
+ if (data && data.sn) {
310
+ this.sns.unshift({
311
+ sn: data.sn,
312
+ qty: data.qty || 1
313
+ })
314
+ this.sn.value = ''
315
+ } else {
316
+ return this.$lwShowErrorMsg(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.iiwvemyp', '错误的序列号'))
317
+ }
318
+ })
319
+ },
320
+ resetLpn () {
321
+ this.lpn.value = ''
322
+ this.lpn.focus = true
323
+ this.currentLpn = null
324
+ this.lotQuery = null
325
+ },
326
+ removeSn (sn) {
327
+ const idx = this.sns.indexOf(sn)
328
+ if (idx > -1) {
329
+ this.sns.splice(idx, 1)
330
+ }
331
+ },
332
+ resetSku () {
333
+ this.$router.back()
334
+ },
335
+ finishSku () {
336
+ finishSkuQuality(this.task.taskId).then(res => {
337
+ if (res.quality) {
338
+ this.task = res.quality
339
+ this.$lwToast.success(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.kvntordk', '品检完成'))
340
+ setTimeout(() => this.$router.back(), 1000)
341
+ }
342
+ })
343
+ },
344
+ showAbnormalPop () {
345
+ const lotData = this.$refs.lot.getData()
346
+ if (lotData.success) {
347
+ this.showAbnormal = true
348
+ }
349
+ },
350
+ submitAbnormal () {
351
+ const {success, data} = this.$refs.abnormal.getAbnormalData()
352
+ if (!success) return
353
+
354
+ const lotData = this.$refs.lot.getData()
355
+ if (!lotData.success) {
356
+ return
357
+ }
358
+
359
+ submitQualityAbnormal({
360
+ taskId: this.task.taskId,
361
+ lpn: this.currentLpn.lpn,
362
+ lotAttributes: lotData.data,
363
+ ...data
364
+ }).then(res => {
365
+ this.showAbnormal = false
366
+ this.$lwToast.success(this.$lwLanguage.get('wms_project.pda.components.page.inbound.receive.quality.oxdbxfzn', '异常上报成功'))
367
+ this.task = res
368
+ this.lpn.value = this.currentLpn.lpn
369
+ this.scanLpn(true)
370
+ })
371
+ }
372
+ },
373
+ }
374
+ </script>
375
+
376
+ <style lang="less" scoped>
377
+ .lpn-table {
378
+ font-size: 0.9em;
379
+ line-height: 2em;
380
+ &-header {
381
+ color: gray;
382
+ }
383
+ & > div {
384
+ display: grid;
385
+ margin-top: 1px;
386
+ grid-template-columns: 2fr 1fr 1fr 1fr;
387
+ text-align: center;
388
+ &.abnormal {
389
+ background: #fdbdbe;
390
+ }
391
+ }
392
+ }
393
+ .lw-global-props {
394
+ margin: 10px 0;
395
+ }
396
+ .quality-table {
397
+ font-size: 0.9em;
398
+ line-height: 2em;
399
+ &-header {
400
+ color: gray;
401
+ }
402
+ & > div {
403
+ display: grid;
404
+ margin-top: 1px;
405
+ grid-template-columns: 1fr 1fr 1fr;
406
+ text-align: center;
407
+ &.abnormal {
408
+ background: #fdbdbe;
409
+ }
410
+ }
411
+ }
412
+ .tag-list {
413
+ margin-top: 10px;
414
+ & > div {
415
+ display: flex;
416
+ align-items: center;
417
+
418
+ & > div:first-child {
419
+ flex-basis: 40%;
420
+ }
421
+
422
+ & > div:nth-child(2) {
423
+ flex-basis: 20%;
424
+ text-align: center;
425
+ }
426
+
427
+ & > div:last-child {
428
+ flex-basis: 40%;
429
+ text-align: center;
430
+ }
431
+ }
432
+
433
+ &-title {
434
+ background: #f45858;
435
+ color: white;
436
+ margin: -10px -10px 0;
437
+ padding: 8px;
438
+
439
+ span {
440
+ color: yellow;
441
+ font-weight: bold;
442
+ }
443
+ }
444
+
445
+ &-head {
446
+ font-size: 0.9em;
447
+ color: gray;
448
+ padding: 5px 0;
449
+ }
450
+
451
+ &-row {
452
+ font-size: 0.9em;
453
+ height: 36px;
454
+ border-top: 1px solid lightgray;
455
+ }
456
+ }
457
+ </style>