@logwire/logwire-wms-pda-ui 1.1.15

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 (534) hide show
  1. package/README.md +134 -0
  2. package/dist/logwire-wms-pda-ui.js +7 -0
  3. package/package.json +69 -0
  4. package/src/api/common/Device.js +43 -0
  5. package/src/api/common/Dict.js +19 -0
  6. package/src/api/common/GetImgSrc.js +20 -0
  7. package/src/api/common/Language.js +31 -0
  8. package/src/api/common/Lot.js +20 -0
  9. package/src/api/common/Msg.js +26 -0
  10. package/src/api/common/Permissions.js +22 -0
  11. package/src/api/common/Print.js +65 -0
  12. package/src/api/common/Task.js +61 -0
  13. package/src/api/common/UUID.js +28 -0
  14. package/src/api/common/User.js +53 -0
  15. package/src/api/common/Waerhouse.js +28 -0
  16. package/src/api/common/barcode.js +165 -0
  17. package/src/api/common/common.js +25 -0
  18. package/src/api/common/index.js +37 -0
  19. package/src/api/inbound/index.js +7 -0
  20. package/src/api/inbound/quality.js +99 -0
  21. package/src/api/inbound/receive.js +109 -0
  22. package/src/api/inner/count/index.js +97 -0
  23. package/src/api/inner/disposeAbnormal/action.js +69 -0
  24. package/src/api/inner/disposeAbnormal/index.js +33 -0
  25. package/src/api/inner/materialApply/index.js +51 -0
  26. package/src/api/inner/move/abnormalMove.js +25 -0
  27. package/src/api/inner/move/lpnMove.js +25 -0
  28. package/src/api/inner/move/taskMove.js +58 -0
  29. package/src/api/inner/reportAbnormal/index.js +34 -0
  30. package/src/api/outbound/delivery/action.js +149 -0
  31. package/src/api/outbound/delivery/addOrder.js +32 -0
  32. package/src/api/outbound/delivery/index.js +25 -0
  33. package/src/api/outbound/pick/alone.js +60 -0
  34. package/src/api/outbound/pick/box.js +42 -0
  35. package/src/api/outbound/pick/index.js +60 -0
  36. package/src/api/outbound/pick/lpn.js +42 -0
  37. package/src/api/outbound/pick/notAlone.js +33 -0
  38. package/src/api/outbound/pickMerge/index.js +69 -0
  39. package/src/api/outbound/sow/action.js +123 -0
  40. package/src/api/outbound/sow/index.js +24 -0
  41. package/src/api/outbound/summary/box.js +33 -0
  42. package/src/api/outbound/summary/lpn.js +23 -0
  43. package/src/api/receive/abnormal.js +34 -0
  44. package/src/api/receive/putaway.js +82 -0
  45. package/src/api/receive/randomMove.js +43 -0
  46. package/src/api/receive/receipt.js +25 -0
  47. package/src/assets/css/changeVant.less +22 -0
  48. package/src/assets/css/global.less +411 -0
  49. package/src/assets/css/index.less +4 -0
  50. package/src/assets/css/var.less +117 -0
  51. package/src/assets/css//345/205/250/345/261/200/346/240/267/345/274/217.md +31 -0
  52. package/src/assets/img/datalookBg/backgroundBottomRadius.png +0 -0
  53. package/src/assets/img/datalookBg/backgroundImg.png +0 -0
  54. package/src/assets/img/datalookBg/backgroundImgAngle.png +0 -0
  55. package/src/assets/img/link.png +0 -0
  56. package/src/assets/img/logo.png +0 -0
  57. package/src/assets/img/lwInputIcon/keyboard.png +0 -0
  58. package/src/assets/img/lwLoginModel/language.png +0 -0
  59. package/src/assets/img/lwLoginModel/password.png +0 -0
  60. package/src/assets/img/lwLoginModel/username.png +0 -0
  61. package/src/assets/img/lwNotData/noneData.png +0 -0
  62. package/src/assets/img/menu/aloneBale.png +0 -0
  63. package/src/assets/img/menu/bale.png +0 -0
  64. package/src/assets/img/menu/count.png +0 -0
  65. package/src/assets/img/menu/delivery.png +0 -0
  66. package/src/assets/img/menu/inner.png +0 -0
  67. package/src/assets/img/menu/materialApply.png +0 -0
  68. package/src/assets/img/menu/message.png +0 -0
  69. package/src/assets/img/menu/moveAll.png +0 -0
  70. package/src/assets/img/menu/outbound.png +0 -0
  71. package/src/assets/img/menu/pick.png +0 -0
  72. package/src/assets/img/menu/pickMerge.png +0 -0
  73. package/src/assets/img/menu/quality.png +0 -0
  74. package/src/assets/img/menu/randomMove.png +0 -0
  75. package/src/assets/img/menu/receipt.png +0 -0
  76. package/src/assets/img/menu/receive-case.png +0 -0
  77. package/src/assets/img/menu/receive-lpn.png +0 -0
  78. package/src/assets/img/menu/receive-sku.png +0 -0
  79. package/src/assets/img/menu/receive.png +0 -0
  80. package/src/assets/img/menu/receiveAbnormal.png +0 -0
  81. package/src/assets/img/menu/reportAbnormal.png +0 -0
  82. package/src/assets/img/menu/shelf.png +0 -0
  83. package/src/assets/img/menu/sow.png +0 -0
  84. package/src/assets/img/menu/summaryBox.png +0 -0
  85. package/src/assets/img/menu/summaryLpn.png +0 -0
  86. package/src/assets/img/menu/task.png +0 -0
  87. package/src/assets/img/my/device.png +0 -0
  88. package/src/assets/img/my/language.png +0 -0
  89. package/src/assets/img/my/message.png +0 -0
  90. package/src/assets/img/my/myBackground.png +0 -0
  91. package/src/assets/img/my/printer.png +0 -0
  92. package/src/assets/img/my/user.png +0 -0
  93. package/src/assets/img/my/versions.png +0 -0
  94. package/src/assets/img/my/warehouse.png +0 -0
  95. package/src/assets/img/off.png +0 -0
  96. package/src/assets/img/print/bluetooth.png +0 -0
  97. package/src/assets/img/print/print.png +0 -0
  98. package/src/assets/img/print/template.png +0 -0
  99. package/src/assets/img/taskBg.png +0 -0
  100. package/src/assets/img/taskOrder.png +0 -0
  101. package/src/assets/img/warehouse.png +0 -0
  102. package/src/components/module/InnerAbnormal/index.js +11 -0
  103. package/src/components/module/InnerAbnormal/index.vue +343 -0
  104. package/src/components/module/InnerAbnormal//345/234/250/345/272/223/345/274/202/345/270/270/346/250/241/345/235/227.md +0 -0
  105. package/src/components/module/Login/index.js +11 -0
  106. package/src/components/module/Login/index.vue +328 -0
  107. package/src/components/module/Login//347/231/273/345/275/225/346/250/241/345/235/227.md +1 -0
  108. package/src/components/module/Lot/index.js +11 -0
  109. package/src/components/module/Lot/index.vue +181 -0
  110. package/src/components/module/Lot//346/211/271/346/254/241/345/261/236/346/200/247.md +2 -0
  111. package/src/components/module/LotLook/index.js +11 -0
  112. package/src/components/module/LotLook/index.vue +80 -0
  113. package/src/components/module/Menu/index.js +12 -0
  114. package/src/components/module/Menu/index.vue +118 -0
  115. package/src/components/module/Menu//350/217/234/345/215/225/346/240/217.md +1 -0
  116. package/src/components/module/MsgItem/index.js +11 -0
  117. package/src/components/module/MsgItem/index.vue +109 -0
  118. 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 -0
  119. package/src/components/module/OnLine/index.js +11 -0
  120. package/src/components/module/OnLine/index.vue +195 -0
  121. 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 -0
  122. package/src/components/module/ReceiveAbnormal/index.js +11 -0
  123. package/src/components/module/ReceiveAbnormal/index.vue +847 -0
  124. package/src/components/module/ReceiveAbnormal//346/224/266/350/264/247/345/274/202/345/270/270/346/250/241/345/235/227.md +0 -0
  125. package/src/components/module/ScanDataList/index.js +11 -0
  126. package/src/components/module/ScanDataList/index.vue +326 -0
  127. package/src/components/module/SkuInfo/index.js +11 -0
  128. package/src/components/module/SkuInfo/index.vue +65 -0
  129. package/src/components/module/SkuInfo//346/237/245/347/234/213/345/225/206/345/223/201/344/277/241/346/201/257.md +0 -0
  130. package/src/components/module/SystemInfo/index.js +11 -0
  131. package/src/components/module/SystemInfo/index.vue +217 -0
  132. 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 -0
  133. package/src/components/module/index.js +42 -0
  134. package/src/components/page/common/Device/index.js +11 -0
  135. package/src/components/page/common/Device/index.vue +186 -0
  136. package/src/components/page/common/Device//350/256/276/345/244/207/347/256/241/347/220/206/351/241/265.md +1 -0
  137. package/src/components/page/common/Home/index.js +11 -0
  138. package/src/components/page/common/Home/index.vue +113 -0
  139. package/src/components/page/common/Home//344/270/273/351/241/265.md +1 -0
  140. package/src/components/page/common/Language/index.js +11 -0
  141. package/src/components/page/common/Language/index.vue +142 -0
  142. package/src/components/page/common/Language//350/257/255/350/250/200.md +1 -0
  143. package/src/components/page/common/Login/index.js +11 -0
  144. package/src/components/page/common/Login/index.vue +157 -0
  145. package/src/components/page/common/Login//347/231/273/345/275/225/351/241/265.md +1 -0
  146. package/src/components/page/common/Menu/index.js +11 -0
  147. package/src/components/page/common/Menu/index.vue +71 -0
  148. package/src/components/page/common/Menu//350/217/234/345/215/225/351/241/265.md +1 -0
  149. package/src/components/page/common/Msg/index.js +11 -0
  150. package/src/components/page/common/Msg/index.vue +152 -0
  151. package/src/components/page/common/Msg//346/266/210/346/201/257/351/241/265.md +1 -0
  152. package/src/components/page/common/My/index.js +11 -0
  153. package/src/components/page/common/My/index.vue +477 -0
  154. package/src/components/page/common/My//346/210/221/347/232/204/347/256/241/347/220/206/351/241/265.md +1 -0
  155. package/src/components/page/common/Print/index.js +11 -0
  156. package/src/components/page/common/Print/index.vue +314 -0
  157. package/src/components/page/common/Print//346/211/223/345/215/260/346/234/272/350/256/276/347/275/256/351/241/265.md +1 -0
  158. package/src/components/page/common/Task/index.js +11 -0
  159. package/src/components/page/common/Task/index.vue +699 -0
  160. package/src/components/page/common/Task//344/273/273/345/212/241/351/241/265.md +1 -0
  161. package/src/components/page/common/Warehouse/index.js +11 -0
  162. package/src/components/page/common/Warehouse/index.vue +213 -0
  163. package/src/components/page/common/Warehouse//344/273/223/345/272/223/351/200/211/346/213/251/351/241/265.md +1 -0
  164. package/src/components/page/common/index.js +39 -0
  165. package/src/components/page/count/components/CountBoard/index.vue +115 -0
  166. package/src/components/page/count/index.js +21 -0
  167. package/src/components/page/count/inv/action/index.js +5 -0
  168. package/src/components/page/count/inv/action/index.vue +13 -0
  169. package/src/components/page/count/inv/index/index.js +5 -0
  170. package/src/components/page/count/inv/index/index.vue +13 -0
  171. package/src/components/page/count/loc/action/index.js +5 -0
  172. package/src/components/page/count/loc/action/index.vue +515 -0
  173. package/src/components/page/count/loc/index/index.js +5 -0
  174. package/src/components/page/count/loc/index/index.vue +185 -0
  175. package/src/components/page/inbound/components/AsnInfo.vue +178 -0
  176. package/src/components/page/inbound/components/AsnSkuInfo.vue +46 -0
  177. package/src/components/page/inbound/components/QualityCard.vue +231 -0
  178. package/src/components/page/inbound/components/QualityTaskInfo.vue +89 -0
  179. package/src/components/page/inbound/components/SnsList.vue +99 -0
  180. package/src/components/page/inbound/index.js +11 -0
  181. package/src/components/page/inbound/receive/home/index.js +5 -0
  182. package/src/components/page/inbound/receive/home/index.vue +73 -0
  183. package/src/components/page/inbound/receive/index/index.js +5 -0
  184. package/src/components/page/inbound/receive/index/index.vue +89 -0
  185. package/src/components/page/inbound/receive/quality/LwInboundQualityExecutePage.vue +338 -0
  186. package/src/components/page/inbound/receive/quality/LwInboundQualityTaskListPage.vue +158 -0
  187. package/src/components/page/inbound/receive/quality/index.js +16 -0
  188. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuAdvancePage.vue +268 -0
  189. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuDirectPage.vue +352 -0
  190. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuScanPage.vue +150 -0
  191. package/src/components/page/inbound/receive/receive-sku/index.js +19 -0
  192. package/src/components/page/index.js +33 -0
  193. package/src/components/page/inner/abnormalMove/index/index.js +11 -0
  194. package/src/components/page/inner/abnormalMove/index/index.vue +463 -0
  195. package/src/components/page/inner/abnormalMove//345/274/202/345/270/270/347/247/273/345/212/250.md +0 -0
  196. package/src/components/page/inner/disposeAbnormal/action/index.js +11 -0
  197. package/src/components/page/inner/disposeAbnormal/action/index.vue +524 -0
  198. package/src/components/page/inner/disposeAbnormal/components/abnInfo/index.vue +655 -0
  199. package/src/components/page/inner/disposeAbnormal/components/abnInfo//345/274/202/345/270/270/344/277/241/346/201/257/346/230/276/347/244/272.md +0 -0
  200. package/src/components/page/inner/disposeAbnormal/components/disposePopup/index.vue +229 -0
  201. package/src/components/page/inner/disposeAbnormal/components/disposePopup//345/244/204/347/220/206/345/222/214/345/244/207/346/263/250/345/274/271/346/241/206.md +0 -0
  202. package/src/components/page/inner/disposeAbnormal/components/listItem/index.vue +213 -0
  203. package/src/components/page/inner/disposeAbnormal/components/listItem//345/210/227/350/241/250/351/241/271.md +0 -0
  204. package/src/components/page/inner/disposeAbnormal/components/searchBar/index.vue +260 -0
  205. package/src/components/page/inner/disposeAbnormal/components/searchBar//346/220/234/347/264/242/346/240/217.md +0 -0
  206. package/src/components/page/inner/disposeAbnormal/index/index.js +11 -0
  207. package/src/components/page/inner/disposeAbnormal/index/index.vue +247 -0
  208. package/src/components/page/inner/disposeAbnormal//345/274/202/345/270/270/345/244/204/347/220/206.md +0 -0
  209. package/src/components/page/inner/index.js +58 -0
  210. package/src/components/page/inner/lpnMove/action/index.js +11 -0
  211. package/src/components/page/inner/lpnMove/action/index.vue +221 -0
  212. package/src/components/page/inner/lpnMove/index/index.js +11 -0
  213. package/src/components/page/inner/lpnMove/index/index.vue +153 -0
  214. package/src/components/page/inner/lpnMove//346/225/264/346/211/230/347/233/230/347/247/273/345/212/250.md +0 -0
  215. package/src/components/page/inner/lpnPutAway//344/270/212/346/236/266/347/247/273/345/212/250.md +0 -0
  216. package/src/components/page/inner/materialApply/action/index.js +11 -0
  217. package/src/components/page/inner/materialApply/action/index.vue +554 -0
  218. package/src/components/page/inner/materialApply/generate/index.js +11 -0
  219. package/src/components/page/inner/materialApply/generate/index.vue +376 -0
  220. package/src/components/page/inner/materialApply//345/214/205/346/235/220/351/242/206/347/224/250.md +0 -0
  221. package/src/components/page/inner/movePutAway/index/index.js +11 -0
  222. package/src/components/page/inner/movePutAway/index/index.less +0 -0
  223. package/src/components/page/inner/movePutAway/index/index.vue +363 -0
  224. package/src/components/page/inner/movePutAway//344/270/212/346/236/266/347/247/273/345/212/250.md +0 -0
  225. package/src/components/page/inner/randomMove/components/Down/index.vue +465 -0
  226. package/src/components/page/inner/randomMove/components/Up/index.vue +519 -0
  227. package/src/components/page/inner/randomMove/index/index.js +11 -0
  228. package/src/components/page/inner/randomMove/index/index.vue +152 -0
  229. package/src/components/page/inner/randomMove//351/232/217/346/234/272/347/247/273/345/212/250.md +0 -0
  230. package/src/components/page/inner/reportAbnormal/action/index.js +11 -0
  231. package/src/components/page/inner/reportAbnormal/action/index.vue +246 -0
  232. package/src/components/page/inner/reportAbnormal/index/index.js +11 -0
  233. package/src/components/page/inner/reportAbnormal/index/index.vue +240 -0
  234. package/src/components/page/inner/reportAbnormal//344/270/212/346/212/245/345/274/202/345/270/270.md +0 -0
  235. package/src/components/page/inner/taskMove/index/index.js +11 -0
  236. package/src/components/page/inner/taskMove/index/index.vue +1363 -0
  237. package/src/components/page/inner/taskMove//346/240/207/345/207/206/347/247/273/345/212/250 - /344/273/273/345/212/241/345/205/245/345/217/243.md +0 -0
  238. package/src/components/page/inner//345/234/250/345/272/223.md +0 -0
  239. package/src/components/page/outbound/bale/aloneBale/action/index.js +11 -0
  240. package/src/components/page/outbound/bale/aloneBale/action/index.vue +192 -0
  241. package/src/components/page/outbound/bale/aloneBale/index/index.js +11 -0
  242. package/src/components/page/outbound/bale/aloneBale/index/index.vue +86 -0
  243. package/src/components/page/outbound/bale/aloneBale/newBale/index.js +11 -0
  244. package/src/components/page/outbound/bale/aloneBale/newBale/index.vue +53 -0
  245. package/src/components/page/outbound/bale/aloneBale//347/213/254/347/253/213/346/215/206/345/214/205.md +0 -0
  246. package/src/components/page/outbound/bale/checkBale/action/index.js +11 -0
  247. package/src/components/page/outbound/bale/checkBale/action/index.vue +58 -0
  248. package/src/components/page/outbound/bale/checkBale/allCheck/index.js +11 -0
  249. package/src/components/page/outbound/bale/checkBale/allCheck/index.vue +88 -0
  250. package/src/components/page/outbound/bale/checkBale/allCheck//345/205/250/351/203/250/345/244/215/346/240/270.md +0 -0
  251. package/src/components/page/outbound/bale/checkBale/index/index.js +11 -0
  252. package/src/components/page/outbound/bale/checkBale/index/index.vue +176 -0
  253. package/src/components/page/outbound/bale/checkBale/newBale/index.js +11 -0
  254. package/src/components/page/outbound/bale/checkBale/newBale/index.vue +60 -0
  255. package/src/components/page/outbound/bale/checkBale/newBale//346/226/260/346/215/206/345/214/205.md +0 -0
  256. package/src/components/page/outbound/bale/checkBale//345/244/215/346/240/270/346/215/206/345/214/205.md +0 -0
  257. package/src/components/page/outbound/bale/components/containerInfo/img.png +0 -0
  258. package/src/components/page/outbound/bale/components/containerInfo/index.vue +229 -0
  259. package/src/components/page/outbound/bale/components/containerInfo//346/215/206/345/214/205/345/256/271/345/231/250/344/277/241/346/201/257.md +2 -0
  260. package/src/components/page/outbound/bale/components/containerSkuQty/index.vue +50 -0
  261. 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 +0 -0
  262. package/src/components/page/outbound/bale/components/mainPage/index.vue +553 -0
  263. 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 +0 -0
  264. package/src/components/page/outbound/bale/components/planCollapse/index.vue +352 -0
  265. package/src/components/page/outbound/bale/components/planCollapse//346/215/206/345/214/205/350/277/233/345/272/246.md +0 -0
  266. package/src/components/page/outbound/bale/components/storeInfo/img.png +0 -0
  267. package/src/components/page/outbound/bale/components/storeInfo/index.vue +126 -0
  268. package/src/components/page/outbound/bale/components/storeInfo//345/256/242/346/210/267/346/215/206/345/214/205/344/277/241/346/201/257.md +1 -0
  269. package/src/components/page/outbound/bale/components/storeInfoSkuList/index.vue +123 -0
  270. package/src/components/page/outbound/bale/components/storeInfoSkuList//345/256/242/346/210/267/344/277/241/346/201/257/345/217/212/345/225/206/345/223/201/345/210/227/350/241/250.md +0 -0
  271. package/src/components/page/outbound/delivery/action/index.js +11 -0
  272. package/src/components/page/outbound/delivery/action/index.vue +642 -0
  273. package/src/components/page/outbound/delivery/addOrder/index.js +11 -0
  274. package/src/components/page/outbound/delivery/addOrder/index.vue +274 -0
  275. package/src/components/page/outbound/delivery/components/boxItem/index.vue +118 -0
  276. package/src/components/page/outbound/delivery/components/orderContent/index.vue +143 -0
  277. package/src/components/page/outbound/delivery/components/orderContentTitle/index.vue +239 -0
  278. package/src/components/page/outbound/delivery/components/soAndLpnItem/index.vue +152 -0
  279. package/src/components/page/outbound/delivery/index/index.js +11 -0
  280. package/src/components/page/outbound/delivery/index/index.vue +153 -0
  281. package/src/components/page/outbound/delivery//345/217/221/350/277/220.md +0 -0
  282. package/src/components/page/outbound/index.js +94 -0
  283. package/src/components/page/outbound/pick/alone/index.js +11 -0
  284. package/src/components/page/outbound/pick/alone/index.vue +493 -0
  285. package/src/components/page/outbound/pick/box/index.js +11 -0
  286. package/src/components/page/outbound/pick/box/index.vue +360 -0
  287. package/src/components/page/outbound/pick/box//346/214/211/347/256/261/346/213/243/351/200/211.md +0 -0
  288. package/src/components/page/outbound/pick/components/dataLookAndChange/index.vue +748 -0
  289. package/src/components/page/outbound/pick/components/dataLookAndChange//346/213/243/351/200/211/346/211/247/350/241/214/346/225/260/346/215/256/347/234/213/346/235/277/345/217/212/345/272/225/351/203/250/346/223/215/344/275/234.md +0 -0
  290. package/src/components/page/outbound/pick/components/skuLocationInfo/index.vue +208 -0
  291. package/src/components/page/outbound/pick/components/skuLocationInfo//351/233/266/344/273/266/345/217/212/345/272/223/344/275/215/344/277/241/346/201/257/345/261/225/347/244/272.md +0 -0
  292. package/src/components/page/outbound/pick/components/splitPutDown/index.vue +206 -0
  293. package/src/components/page/outbound/pick/index/index.js +11 -0
  294. package/src/components/page/outbound/pick/index/index.vue +624 -0
  295. package/src/components/page/outbound/pick/lpn/index.js +11 -0
  296. package/src/components/page/outbound/pick/lpn/index.vue +303 -0
  297. package/src/components/page/outbound/pick/mixin/all.js +100 -0
  298. package/src/components/page/outbound/pick/mixin/aloneAndNotAlone.js +132 -0
  299. package/src/components/page/outbound/pick/notAlone/index.js +11 -0
  300. package/src/components/page/outbound/pick/notAlone/index.vue +519 -0
  301. package/src/components/page/outbound/pickMerge/action/index.js +11 -0
  302. package/src/components/page/outbound/pickMerge/action/index.vue +541 -0
  303. package/src/components/page/outbound/pickMerge/components/containerInfo/index.vue +89 -0
  304. package/src/components/page/outbound/pickMerge/components/containerInfo//346/213/243/351/200/211/345/256/271/345/231/250/345/237/272/347/241/200/344/277/241/346/201/257.md +0 -0
  305. package/src/components/page/outbound/pickMerge/components/finishPopup/index.vue +88 -0
  306. package/src/components/page/outbound/pickMerge/components/finishPopup//347/233/264/346/216/245/345/256/214/346/210/220/345/274/271/346/241/206.md +0 -0
  307. package/src/components/page/outbound/pickMerge/components/skuInfo/index.vue +132 -0
  308. package/src/components/page/outbound/pickMerge/content/index.js +11 -0
  309. package/src/components/page/outbound/pickMerge/content/index.vue +169 -0
  310. package/src/components/page/outbound/pickMerge/index/index.js +11 -0
  311. package/src/components/page/outbound/pickMerge/index/index.vue +76 -0
  312. package/src/components/page/outbound/pickMerge//345/210/206/345/214/272/346/213/243/351/200/211/351/233/206/345/220/210.md +0 -0
  313. package/src/components/page/outbound/sow/action/index.js +11 -0
  314. package/src/components/page/outbound/sow/action/index.vue +1408 -0
  315. package/src/components/page/outbound/sow/components/sowLocationList/index.vue +80 -0
  316. package/src/components/page/outbound/sow/components/sowLocationList//346/222/255/347/247/215/344/275/215/345/210/227/350/241/250.md +0 -0
  317. package/src/components/page/outbound/sow/components/waitSowCollapse/index.vue +105 -0
  318. package/src/components/page/outbound/sow/components/waitSowCollapse//346/234/252/346/222/255/347/247/215/345/225/206/345/223/201/346/212/230/345/217/240/345/274/271/346/241/206.md +0 -0
  319. package/src/components/page/outbound/sow/index/index.js +11 -0
  320. package/src/components/page/outbound/sow/index/index.vue +374 -0
  321. package/src/components/page/outbound/sow//346/222/255/347/247/215/345/210/206/346/213/243.md +0 -0
  322. package/src/components/page/outbound/summary/box/index/index.js +11 -0
  323. package/src/components/page/outbound/summary/box/index/index.vue +643 -0
  324. package/src/components/page/outbound/summary/box//346/214/211/347/256/261/351/233/206/350/264/247.md +0 -0
  325. package/src/components/page/outbound/summary/lpn/action/index.js +12 -0
  326. package/src/components/page/outbound/summary/lpn/action/index.vue +251 -0
  327. package/src/components/page/outbound/summary/lpn/index/index.js +12 -0
  328. package/src/components/page/outbound/summary/lpn/index/index.vue +69 -0
  329. package/src/components/page/outbound/summary/lpn//346/214/211/346/211/230/347/233/230/351/233/206/350/264/247.md +0 -0
  330. package/src/components/page/outbound/summary//351/233/206/350/264/247.md +0 -0
  331. package/src/components/page/outbound//345/207/272/345/272/223.md +0 -0
  332. package/src/components/page/receive/abnormal/action/index.js +11 -0
  333. package/src/components/page/receive/abnormal/action/index.vue +45 -0
  334. package/src/components/page/receive/abnormal/index/index.js +11 -0
  335. package/src/components/page/receive/abnormal/index/index.vue +72 -0
  336. package/src/components/page/receive/abnormal//346/224/266/350/264/247/345/274/202/345/270/270.md +0 -0
  337. package/src/components/page/receive/index.js +36 -0
  338. package/src/components/page/receive/putaway/components/SkuInfo/index.vue +247 -0
  339. package/src/components/page/receive/putaway/components/SkuPutAwayInfo/index.vue +203 -0
  340. package/src/components/page/receive/putaway/components/TaskInfo/index.vue +216 -0
  341. package/src/components/page/receive/putaway/index/index.js +11 -0
  342. package/src/components/page/receive/putaway/index/index.vue +286 -0
  343. package/src/components/page/receive/putaway/lpnAction/index.js +11 -0
  344. package/src/components/page/receive/putaway/lpnAction/index.vue +330 -0
  345. package/src/components/page/receive/putaway/skuAction/index.js +11 -0
  346. package/src/components/page/receive/putaway/skuAction/index.vue +735 -0
  347. package/src/components/page/receive/putaway//345/205/245/345/272/223/344/270/212/346/236/266.md +0 -0
  348. package/src/components/page/receive/receipt/action/index.js +11 -0
  349. package/src/components/page/receive/receipt/action/index.vue +260 -0
  350. package/src/components/page/receive/receipt/action//347/241/256/350/256/244/346/224/266/350/264/247/345/233/236/345/215/225.md +0 -0
  351. package/src/components/page/receive/receipt/index/index.js +11 -0
  352. package/src/components/page/receive/receipt/index/index.vue +123 -0
  353. package/src/components/page/receive/receipt//345/210/260/350/264/247/345/233/236/345/215/225.md +0 -0
  354. package/src/components/page/receive//346/224/266/350/264/247.md +0 -0
  355. package/src/components/ui/BottomBar/index.js +5 -0
  356. package/src/components/ui/BottomBar/index.vue +72 -0
  357. package/src/components/ui/BottomBar//345/272/225/351/203/250/345/233/272/345/256/232/346/240/217.md +1 -0
  358. package/src/components/ui/BottomBarBtnHidden/index.js +11 -0
  359. package/src/components/ui/BottomBarBtnHidden/index.vue +91 -0
  360. 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 +0 -0
  361. package/src/components/ui/Button/index.js +5 -0
  362. package/src/components/ui/Button/index.vue +183 -0
  363. package/src/components/ui/Button//346/214/211/351/222/256.md +1 -0
  364. package/src/components/ui/CarPlate/index.js +11 -0
  365. package/src/components/ui/CarPlate/index.vue +378 -0
  366. package/src/components/ui/CarPlate//350/275/246/347/211/214/345/217/267.md +1 -0
  367. package/src/components/ui/Cell/index.js +5 -0
  368. package/src/components/ui/Cell/index.vue +259 -0
  369. package/src/components/ui/Cell//345/215/225/345/205/203/346/240/274.md +1 -0
  370. package/src/components/ui/CellPopupDate/index.js +11 -0
  371. package/src/components/ui/CellPopupDate/index.vue +167 -0
  372. package/src/components/ui/CellPopupDate//345/215/225/345/205/203/350/241/214/345/212/240/346/227/266/351/227/264/351/200/211/346/213/251/345/231/250.md +1 -0
  373. package/src/components/ui/CellPopupRadio/index.js +11 -0
  374. package/src/components/ui/CellPopupRadio/index.vue +136 -0
  375. package/src/components/ui/CellPopupRadio//350/241/214/345/212/240/345/215/225/351/200/211/345/274/271/345/207/272/346/241/206.md +1 -0
  376. package/src/components/ui/CutCard/index.js +11 -0
  377. package/src/components/ui/CutCard/index.vue +132 -0
  378. package/src/components/ui/CutCard//345/215/241/347/211/207/351/241/265/351/235/242/345/210/207/346/215/242.md +1 -0
  379. package/src/components/ui/DataLookBg/index.js +11 -0
  380. package/src/components/ui/DataLookBg/index.vue +104 -0
  381. 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 +1 -0
  382. package/src/components/ui/ErrorMsg/index.js +59 -0
  383. package/src/components/ui/ErrorMsg/index.vue +141 -0
  384. package/src/components/ui/ErrorMsg//351/224/231/350/257/257/346/217/220/347/244/272/346/241/206.md +1 -0
  385. package/src/components/ui/Form/index.js +5 -0
  386. package/src/components/ui/Form/index.vue +36 -0
  387. package/src/components/ui/Form//350/241/250/345/215/225.md +1 -0
  388. package/src/components/ui/ImgLook/index.js +5 -0
  389. package/src/components/ui/ImgLook/index.vue +96 -0
  390. package/src/components/ui/ImgLook//345/233/276/347/211/207/346/237/245/347/234/213.md +1 -0
  391. package/src/components/ui/ImgUpload/imgUploadAxios.js +37 -0
  392. package/src/components/ui/ImgUpload/index.js +12 -0
  393. package/src/components/ui/ImgUpload/index.vue +120 -0
  394. package/src/components/ui/ImgUpload/request.js +39 -0
  395. package/src/components/ui/ImgUpload//345/233/276/347/211/207/344/270/212/344/274/240.md +1 -0
  396. package/src/components/ui/Input/index.js +5 -0
  397. package/src/components/ui/Input/index.vue +544 -0
  398. package/src/components/ui/Input//350/276/223/345/205/245/346/241/206.md +1 -0
  399. package/src/components/ui/Loading/index.js +49 -0
  400. package/src/components/ui/Loading/index.vue +61 -0
  401. package/src/components/ui/Loading//345/212/240/350/275/275/346/241/206.md +1 -0
  402. package/src/components/ui/MenuItem/index.js +5 -0
  403. package/src/components/ui/MenuItem/index.vue +170 -0
  404. package/src/components/ui/MenuItem//350/217/234/345/215/225/351/241/271.md +1 -0
  405. package/src/components/ui/NavBar/index.js +5 -0
  406. package/src/components/ui/NavBar/index.vue +143 -0
  407. package/src/components/ui/NavBar//351/241/266/351/203/250/345/257/274/350/210/252/346/240/217.md +1 -0
  408. package/src/components/ui/NotData/index.js +5 -0
  409. package/src/components/ui/NotData/index.vue +75 -0
  410. package/src/components/ui/NotData//347/251/272/346/225/260/346/215/256/347/212/266/346/200/201.md +1 -0
  411. package/src/components/ui/Pages/index.js +5 -0
  412. package/src/components/ui/Pages/index.vue +186 -0
  413. package/src/components/ui/Pages//345/210/206/351/241/265/351/241/265/347/240/201.md +1 -0
  414. package/src/components/ui/Popup/index.js +5 -0
  415. package/src/components/ui/Popup/index.vue +245 -0
  416. package/src/components/ui/Popup//345/274/271/345/207/272/345/261/202.md +1 -0
  417. package/src/components/ui/PopupCheckbox/index.js +5 -0
  418. package/src/components/ui/PopupCheckbox/index.vue +207 -0
  419. package/src/components/ui/PopupCheckbox//345/244/232/351/200/211/345/274/271/346/241/206.md +1 -0
  420. package/src/components/ui/PopupRadio/index.js +5 -0
  421. package/src/components/ui/PopupRadio/index.vue +124 -0
  422. package/src/components/ui/PopupRadio//345/215/225/351/200/211/345/274/271/346/241/206.md +1 -0
  423. package/src/components/ui/TabBar/index.js +11 -0
  424. package/src/components/ui/TabBar/index.vue +132 -0
  425. package/src/components/ui/TabBar//345/272/225/351/203/250/345/257/274/350/210/252/346/240/217.md +1 -0
  426. package/src/components/ui/Table/index.js +5 -0
  427. package/src/components/ui/Table/index.vue +213 -0
  428. package/src/components/ui/Table//350/241/250/346/240/274.md +1 -0
  429. package/src/components/ui/Tag/index.js +5 -0
  430. package/src/components/ui/Tag/index.vue +142 -0
  431. package/src/components/ui/Tag//346/240/207/347/255/276.md +1 -0
  432. package/src/components/ui/TitleValueCell/index.js +11 -0
  433. package/src/components/ui/TitleValueCell/index.vue +61 -0
  434. package/src/components/ui/TitleValueCell//346/240/207/351/242/230/345/200/274/350/241/214.md +0 -0
  435. package/src/components/ui/index.js +84 -0
  436. package/src/directive/Permissions.js +37 -0
  437. package/src/directive/index.js +12 -0
  438. package/src/index.js +67 -0
  439. package/src/router/index.js +393 -0
  440. package/src/router/menu.js +354 -0
  441. package/src/test/file/index.js +11 -0
  442. package/src/test/file/index.vue +25 -0
  443. package/src/test/file//346/265/213/350/257/225/351/241/265.md +0 -0
  444. package/src/utils/ApiUtils.js +48 -0
  445. package/src/utils/AppBack.js +44 -0
  446. package/src/utils/AppPower.js +183 -0
  447. package/src/utils/Axios.js +160 -0
  448. package/src/utils/DateTime.js +219 -0
  449. package/src/utils/DeepCopy.js +61 -0
  450. package/src/utils/Dict.js +73 -0
  451. package/src/utils/GetImgSrc.js +53 -0
  452. package/src/utils/Init.js +12 -0
  453. package/src/utils/Language.js +59 -0
  454. package/src/utils/LocalStorage.js +30 -0
  455. package/src/utils/Permissions.js +51 -0
  456. package/src/utils/Print.js +179 -0
  457. package/src/utils/README.md +2 -0
  458. package/src/utils/RouteInit.js +14 -0
  459. package/src/utils/ScanRule.js +150 -0
  460. package/src/utils/SetColor.js +22 -0
  461. package/src/utils/TabBar.js +30 -0
  462. package/src/utils/Tip.js +26 -0
  463. package/src/utils/Toast.js +41 -0
  464. package/src/utils/UUID.js +33 -0
  465. package/src/utils/Warehouse.js +26 -0
  466. package/src/utils/index.js +61 -0
  467. package/src/utils/windowGlobalData.js +88 -0
  468. package/src/views/common/home/index.vue +67 -0
  469. package/src/views/common/init/index.vue +122 -0
  470. package/src/views/common/login/index.vue +23 -0
  471. package/src/views/common/menu/menuOne.vue +36 -0
  472. package/src/views/common/menu/menuTwo.vue +33 -0
  473. package/src/views/common/my/device.vue +23 -0
  474. package/src/views/common/my/index.vue +23 -0
  475. package/src/views/common/my/language.vue +23 -0
  476. package/src/views/common/my/msg.vue +23 -0
  477. package/src/views/common/my/print.vue +23 -0
  478. package/src/views/common/my/warehouse.vue +25 -0
  479. package/src/views/common/task/index.vue +23 -0
  480. package/src/views/common//345/237/272/347/241/200/351/241/265/351/235/242.md +0 -0
  481. package/src/views/count/index.vue +88 -0
  482. package/src/views/count/inv/action.vue +13 -0
  483. package/src/views/count/inv/index.vue +13 -0
  484. package/src/views/count/loc/action.vue +13 -0
  485. package/src/views/count/loc/index.vue +13 -0
  486. package/src/views/inbound/quality/InboundQualityExecuteView.vue +12 -0
  487. package/src/views/inbound/quality/InboundQualityTaskListView.vue +12 -0
  488. package/src/views/inbound/receive/home.vue +14 -0
  489. package/src/views/inbound/receive/index.vue +14 -0
  490. package/src/views/inbound/receive/sku/InboundReceiveSkuAdvanceView.vue +13 -0
  491. package/src/views/inbound/receive/sku/InboundReceiveSkuDirectView.vue +13 -0
  492. package/src/views/inbound/receive/sku/InboundReceiveSkuScanView.vue +13 -0
  493. package/src/views/inner/abnormalMove/index.vue +23 -0
  494. package/src/views/inner/disposeAbnormal/action.vue +23 -0
  495. package/src/views/inner/disposeAbnormal/index.vue +23 -0
  496. package/src/views/inner/lpnMove/action.vue +23 -0
  497. package/src/views/inner/lpnMove/index.vue +23 -0
  498. package/src/views/inner/materialApply/action.vue +23 -0
  499. package/src/views/inner/materialApply/generate.vue +23 -0
  500. package/src/views/inner/movePutAway/index.vue +22 -0
  501. package/src/views/inner/randomMove/index.vue +23 -0
  502. package/src/views/inner/reportAbnormal/action.vue +23 -0
  503. package/src/views/inner/reportAbnormal/index.vue +23 -0
  504. package/src/views/inner/taskMove/index.vue +23 -0
  505. package/src/views/outbound/aloneBale/action.vue +23 -0
  506. package/src/views/outbound/aloneBale/index.vue +23 -0
  507. package/src/views/outbound/aloneBale/newBale.vue +23 -0
  508. package/src/views/outbound/bale/action.vue +23 -0
  509. package/src/views/outbound/bale/allCheck.vue +23 -0
  510. package/src/views/outbound/bale/index.vue +23 -0
  511. package/src/views/outbound/bale/newBale.vue +23 -0
  512. package/src/views/outbound/delivery/action.vue +23 -0
  513. package/src/views/outbound/delivery/addOrder.vue +23 -0
  514. package/src/views/outbound/delivery/index.vue +23 -0
  515. package/src/views/outbound/pick/aloneAction.vue +23 -0
  516. package/src/views/outbound/pick/boxAction.vue +23 -0
  517. package/src/views/outbound/pick/index.vue +23 -0
  518. package/src/views/outbound/pick/lpnAction.vue +23 -0
  519. package/src/views/outbound/pick/notAloneAction.vue +23 -0
  520. package/src/views/outbound/pickMerge/action.vue +23 -0
  521. package/src/views/outbound/pickMerge/content.vue +23 -0
  522. package/src/views/outbound/pickMerge/index.vue +23 -0
  523. package/src/views/outbound/sow/action.vue +23 -0
  524. package/src/views/outbound/sow/index.vue +23 -0
  525. package/src/views/outbound/summary/box/index.vue +23 -0
  526. package/src/views/outbound/summary/lpn/action.vue +23 -0
  527. package/src/views/outbound/summary/lpn/index.vue +23 -0
  528. package/src/views/receive/abnormal/action.vue +23 -0
  529. package/src/views/receive/abnormal/index.vue +24 -0
  530. package/src/views/receive/putaway/index.vue +23 -0
  531. package/src/views/receive/putaway/lpnAction.vue +23 -0
  532. package/src/views/receive/putaway/skuAction.vue +23 -0
  533. package/src/views/receive/receipt/action.vue +25 -0
  534. package/src/views/receive/receipt/index.vue +25 -0
@@ -0,0 +1,1408 @@
1
+ <!--
2
+ 播种分拣 - 执行页
3
+ @author: 张文
4
+ @date: 2022-06-27
5
+ -->
6
+ <template>
7
+ <div>
8
+
9
+ <lw-nav-bar :title="$lwLanguage.get('','播种分拣')"/>
10
+
11
+ <div v-if="Object.keys(sowData).length" class="lw-global-page-box">
12
+
13
+ <div
14
+ class="lw-global-model-box"
15
+ style="border-radius: 10px 10px 0 0"
16
+ >
17
+
18
+ <div class="lw-global-flex-between lw-global-row">
19
+
20
+ <div
21
+ style="flex: 1"
22
+ class="lw-global-flex-start"
23
+ >
24
+ <div class="lw-global-title">
25
+ {{ $lwLanguage.get('','播种墙编号') }}
26
+ </div>
27
+ <div class="lw-global-value-bold">{{ sowData.sowWallCode }}</div>
28
+ </div>
29
+
30
+ <lw-tag
31
+ round
32
+ plain
33
+ type="danger"
34
+ >{{ $lwLanguage.get('','播种中') }}</lw-tag>
35
+
36
+ </div>
37
+
38
+ <lw-title-value-cell
39
+ :title="$lwLanguage.get('','当前批次')"
40
+ :value="sowData.sowLot"
41
+ val-bold
42
+ />
43
+
44
+ <van-progress
45
+ style="margin: 15px 0 5px 0"
46
+ stroke-width="8"
47
+ :percentage="sowData.sowRate ||0"
48
+ color="linear-gradient(90deg, #FF8E8F 0%, #C5000A 100%)"
49
+ />
50
+
51
+ </div>
52
+ <lw-data-look-bg
53
+ style="margin-bottom: 10px"
54
+ type="bottom"
55
+ click-style
56
+ @click="openWaitSowPopup"
57
+ >
58
+ <div>
59
+ <div>{{ sowData.containerCount }}</div>
60
+ <div
61
+ class="lw-data-look-bg-title"
62
+ >{{ $lwLanguage.get('','托盘数') }}</div>
63
+ </div>
64
+
65
+ <div>
66
+ <div>{{ sowData.waitSowQty }}</div>
67
+ <div
68
+ class="lw-data-look-bg-title"
69
+ >{{ $lwLanguage.get('','待播种') }}</div>
70
+ </div>
71
+ <div>
72
+ <div>{{ sowData.sowQty }}</div>
73
+ <div
74
+ class="lw-data-look-bg-title"
75
+ >{{ $lwLanguage.get('','已播种') }}</div>
76
+ </div>
77
+
78
+ <div class="lw-data-last-item">
79
+ <div>{{ sowData.abnormalQty }}</div>
80
+ <div
81
+ class="lw-data-look-bg-title"
82
+ >{{ $lwLanguage.get('','异常') }}</div>
83
+ </div>
84
+ </lw-data-look-bg>
85
+
86
+ <!-- 绑定周转箱的提示信息 -->
87
+ <div
88
+ class="lw-global-model-box border-2"
89
+ style="text-align: center;padding: 20px 10px;color: #aaa"
90
+ v-if="sowData.needBindContainer"
91
+ >{{ $lwLanguage.get('','请绑定周转箱到播种墙') }}</div>
92
+ <!-- 已经绑定周转箱 -->
93
+ <div
94
+ v-else
95
+ class="lw-global-model-box border-2"
96
+ style="padding-top: 3px"
97
+ >
98
+
99
+ <!-- 扫描拣选容器号获取播种类型 -->
100
+ <lw-input
101
+ :title="$lwLanguage.get('','拣选容器号')"
102
+ v-model="startSow.pickContainer.value"
103
+ :get-focus.sync="startSow.pickContainer.focus"
104
+ :disabled="startSow.start"
105
+ @confirm="pickConfirm"
106
+ >
107
+
108
+ <template #button>
109
+ <lw-button
110
+ v-if="!startSow.start"
111
+ round
112
+ mini
113
+ @click="pickConfirm"
114
+ >{{ $lwLanguage.get('','确认') }}</lw-button>
115
+ <div v-else>
116
+ <span class="lw-global-value-bold-red">{{ startSow.data.sowQty }}</span>
117
+ <span class="lw-global-value-bold"> / {{ startSow.data.pickQty }}</span>
118
+ </div>
119
+ </template>
120
+
121
+ </lw-input>
122
+
123
+ <!-- 获取到播种类型 -->
124
+ <template v-if="startSow.start">
125
+
126
+ <div
127
+ style="margin-top: 10px"
128
+ class="lw-global-flex-between"
129
+ >
130
+ <div style="flex: 1">
131
+ <!-- 播种方式 -->
132
+ <lw-tag
133
+ type="danger"
134
+ size="large"
135
+ round
136
+ plain
137
+ >{{ sowMethod.method }}</lw-tag>
138
+
139
+ <!-- 批量播种输入的商品号 -->
140
+ <lw-input
141
+ v-if="sowMethod.sku"
142
+ :title="sowMethod.inputTitle"
143
+ v-model="skuSow.sku.value"
144
+ :get-focus.sync="skuSow.sku.focus"
145
+ auto-clear-val
146
+ rule-key="sku"
147
+ @confirm="skuSowConfirm"
148
+ />
149
+
150
+ <!-- 逐件扫描的序列号 -->
151
+ <lw-input
152
+ v-else
153
+ :title="sowMethod.inputTitle"
154
+ v-model="snSow.value"
155
+ :get-focus.sync="snSow.focus"
156
+ auto-clear-val
157
+ rule-key="sn"
158
+ @confirm="snSowConfirm"
159
+ />
160
+ </div>
161
+
162
+ <!-- 播种位指示 -->
163
+ <div
164
+ v-if="Object.keys(nowSowSkuInfo.data).length"
165
+ :class="[
166
+ 'lw-global-flex-center',
167
+ 'lw-outbound-sow-code',
168
+ nowSowSkuInfo.animation ? 'lw-global-animation-breath' : ''
169
+ ]"
170
+ >{{ nowSowSkuInfo.data.sowWallLineCode }}</div>
171
+ </div>
172
+
173
+ <!-- 播种信息展示 -->
174
+ <template v-if="Object.keys(nowSowSkuInfo.data).length">
175
+
176
+ <div class="lw-global-row">
177
+ <div class="lw-global-value-bold">{{ nowSowSkuInfo.data.skuCode }}</div>
178
+ <div class="lw-global-title">{{ nowSowSkuInfo.data.skuName }}</div>
179
+ </div>
180
+
181
+ <lw-title-value-cell
182
+ :title="$lwLanguage.get('','最小销售量')"
183
+ :value="nowSowSkuInfo.data.minSellQty"
184
+ val-bold
185
+ />
186
+
187
+ <div class="lw-global-row lw-global-flex-between">
188
+
189
+ <lw-title-value-cell
190
+ :title="$lwLanguage.get('','待播种')"
191
+ :value="nowSowSkuInfo.data.waitSowQty"
192
+ val-red
193
+ val-bold
194
+ :is-row="false"
195
+ />
196
+
197
+
198
+ <div class="lw-global-flex-between">
199
+
200
+ <div class="lw-global-title">
201
+ {{ $lwLanguage.get('','已播种/总量') }}
202
+ </div>
203
+ <div class="lw-global-value">
204
+ <span class="lw-global-value-bold-red">{{ nowSowSkuInfo.data.sowQty }}</span>
205
+ <span class="lw-global-value-bold"> / {{ nowSowSkuInfo.data.totalQty }}</span>
206
+ </div>
207
+
208
+ </div>
209
+
210
+ </div>
211
+
212
+
213
+ <!-- 批量播种数量输入框 -->
214
+ <template v-if="sowMethod.sku">
215
+ <lw-input
216
+ :title="$lwLanguage.get('','当前扫描量')"
217
+ v-model="skuSow.qty.value"
218
+ :get-focus.sync="skuSow.qty.focus"
219
+ type="digit"
220
+ @confirm="skuSowQtyConfirm"
221
+ />
222
+
223
+ <div
224
+ class="lw-global-flex-between lw-global-row-end"
225
+ style="padding-bottom: 0"
226
+ >
227
+ <lw-button
228
+ type="last"
229
+ plain
230
+ block
231
+ mini
232
+ round
233
+ @click="skuSowRepeatScan"
234
+ >{{ $lwLanguage.get('','重新扫描') }}</lw-button>
235
+
236
+ <lw-button
237
+ style="margin-left: 10px"
238
+ block
239
+ mini
240
+ round
241
+ @click="skuSowQtyConfirm"
242
+ >{{ $lwLanguage.get('','确认播种') }}</lw-button>
243
+ </div>
244
+ </template>
245
+
246
+
247
+ <!-- 逐件扫描播种 -->
248
+ <template v-else>
249
+ <lw-title-value-cell
250
+ :title="$lwLanguage.get('','当前序列号')"
251
+ :value="snSow.scanData.sn"
252
+ val-bold
253
+ />
254
+ <lw-input
255
+ :title="$lwLanguage.get('','当前扫描量')"
256
+ v-model="snSow.scanData.qty"
257
+ :disabled="true"
258
+ >
259
+
260
+ <template #button>
261
+
262
+ <lw-button
263
+ round
264
+ mini
265
+ @click="snSowClearNow"
266
+ >{{ $lwLanguage.get('','取消本次扫描') }}</lw-button>
267
+
268
+ </template>
269
+
270
+ </lw-input>
271
+ </template>
272
+
273
+ </template>
274
+
275
+ </template>
276
+
277
+ </div>
278
+
279
+ <!-- 拣选容器折叠框 -->
280
+ <div class="lw-global-model-box lw-global-collapse-box">
281
+ <van-collapse
282
+ v-model="pickCollapse"
283
+ :border="false"
284
+ >
285
+ <van-collapse-item name="pick">
286
+
287
+ <template #title>
288
+ <div class="lw-global-flex-between">
289
+
290
+ <div>{{ $lwLanguage.get('', '拣选容器') }}</div>
291
+ <div class="lw-global-value-bold-red">
292
+ {{ sowData.containerList.length || 0 }}
293
+ {{ $lwLanguage.get('', '行') }}
294
+ </div>
295
+
296
+ </div>
297
+ </template>
298
+
299
+ <div
300
+ v-for="(i,k) in sowData.containerList"
301
+ :key="k"
302
+ class="lw-global-row lw-global-flex-between"
303
+ >
304
+
305
+ <div
306
+ style="flex-shrink: 0"
307
+ class="lw-global-title"
308
+ >
309
+ {{ $lwLanguage.get('', '拣选容器号') }}
310
+ </div>
311
+
312
+ <div
313
+ style="flex: 1"
314
+ class="lw-global-flex-between lw-global-value-bold"
315
+ >
316
+
317
+ <div style="flex: 1">{{ i.pickContainer }}</div>
318
+ <div style="flex-shrink: 0">
319
+ <span class="lw-global-value-bold-red">{{ i.sowQty }}</span>
320
+ /
321
+ {{ i.pickQty }}
322
+ </div>
323
+
324
+ </div>
325
+
326
+ </div>
327
+
328
+ </van-collapse-item>
329
+ </van-collapse>
330
+ </div>
331
+
332
+ <!-- 播种位列表折叠框 -->
333
+ <div class="lw-global-model-box lw-global-collapse-box">
334
+ <van-collapse
335
+ v-model="sowCollapse"
336
+ :border="false"
337
+ >
338
+ <van-collapse-item name="sow">
339
+
340
+ <template #title>
341
+ <div class="lw-global-flex-between">
342
+
343
+ <div>{{ $lwLanguage.get('', '播种位列表') }}</div>
344
+ <div class="lw-global-value-bold-red">
345
+ {{ sowData.sowWallLineList.length || 0 }}
346
+ {{ $lwLanguage.get('', '行') }}
347
+ </div>
348
+
349
+ </div>
350
+ </template>
351
+ <sow-location-list :sow-list="sowData.sowWallLineList"/>
352
+
353
+ </van-collapse-item>
354
+ </van-collapse>
355
+ </div>
356
+
357
+ </div>
358
+
359
+ <lw-bottom-bar-btn-hidden :btn-list="bottomBtnList"/>
360
+
361
+ <!-- 绑定周转箱 -->
362
+ <lw-popup
363
+ :title="$lwLanguage.get('','绑定周转箱')"
364
+ v-model="bindContainerPopup.show"
365
+ @closed="bindContainerPopupOff"
366
+ >
367
+
368
+ <template v-if="sowData.sowWallLineList">
369
+ <lw-title-value-cell
370
+ :title="$lwLanguage.get('','播种墙')"
371
+ :value="sowData.sowWallCode"
372
+ val-bold
373
+ />
374
+
375
+ <lw-title-value-cell
376
+ :title="$lwLanguage.get('','当前正在绑定播种位')"
377
+ :value="sowData.sowWallLineList[bindContainerPopup.index].sowWallLineCode"
378
+ val-bold
379
+ val-red
380
+ val-size="16px"
381
+ />
382
+
383
+ <lw-input
384
+ :title="$lwLanguage.get('','周转箱号')"
385
+ v-model="bindContainerPopup.container.value"
386
+ :get-focus.sync="bindContainerPopup.container.focus"
387
+ @confirm="sowLocationBindContainerConfirm"
388
+ >
389
+
390
+ <template #button>
391
+ <lw-button
392
+ mini
393
+ round
394
+ @click="sowLocationBindContainerConfirm"
395
+ >{{ $lwLanguage.get('','绑定') }}</lw-button>
396
+ </template>
397
+
398
+ </lw-input>
399
+
400
+ <div
401
+ class="lw-global-flex-between lw-global-row lw-global-click-style"
402
+ v-for="(i,k) in sowData.sowWallLineList"
403
+ :key="k"
404
+ @click="selectSowLocation(k)"
405
+ >
406
+
407
+ <div class="lw-global-value-bold">{{ i.sowWallLineCode }}</div>
408
+ <div class="lw-global-value-bold">{{ i.sowPositionContainer }}</div>
409
+
410
+ </div>
411
+ </template>
412
+
413
+ <template #button>
414
+ <lw-button @click="repeatBind">
415
+ {{ $lwLanguage.get('','重新绑定') }}
416
+ </lw-button>
417
+ </template>
418
+
419
+ </lw-popup>
420
+
421
+ <!-- 缺货完成 -->
422
+ <lw-popup
423
+ :title="$lwLanguage.get('','缺货完成')"
424
+ v-model="littlePopup.show"
425
+ >
426
+
427
+ <div style="margin-bottom: 10px" class="lw-global-flex-between">
428
+
429
+ <lw-title-value-cell
430
+ :title="$lwLanguage.get('','播种墙')"
431
+ :value="sowData.sowWallCode"
432
+ val-bold
433
+ :is-row="false"
434
+ />
435
+
436
+ <lw-title-value-cell
437
+ :title="$lwLanguage.get('','总缺货量')"
438
+ :value="littlePopup.data.waitSowQty"
439
+ val-bold
440
+ val-red
441
+ :is-row="false"
442
+ />
443
+
444
+ </div>
445
+
446
+ <sow-location-list :sow-list="littlePopup.data.sowWallLineList"/>
447
+
448
+ <template #button>
449
+ <lw-button @click="littleConfirm">
450
+ {{ $lwLanguage.get('','确认缺货完成') }}
451
+ </lw-button>
452
+ </template>
453
+ </lw-popup>
454
+
455
+ <!-- 播种位播种完成 -->
456
+ <lw-popup
457
+ :title="$lwLanguage.get('','播种位播种完成')"
458
+ v-model="sowLocationOverPopup.show"
459
+ @closed="getData"
460
+ >
461
+
462
+ <lw-title-value-cell
463
+ :title="$lwLanguage.get('','播种墙')"
464
+ :value="sowData.sowWallCode"
465
+ val-bold
466
+ />
467
+
468
+ <lw-title-value-cell
469
+ :title="$lwLanguage.get('','播种位')"
470
+ :value="sowLocationOverPopup.data.sowWallLineCode"
471
+ val-bold
472
+ />
473
+
474
+ <lw-title-value-cell
475
+ :title="$lwLanguage.get('','周转箱号')"
476
+ :value="sowLocationOverPopup.data.sowPositionContainer"
477
+ val-bold
478
+ />
479
+
480
+ <lw-title-value-cell
481
+ :title="$lwLanguage.get('','商品数量')"
482
+ :value="sowLocationOverPopup.data.sowWallLineQty"
483
+ val-bold
484
+ val-red
485
+ />
486
+
487
+ <div
488
+ class="lw-global-row-end"
489
+ style="text-align: center;padding-bottom: 0"
490
+ >
491
+ <lw-tag
492
+ plain
493
+ size="large"
494
+ >{{ $lwLanguage.get('','已播种完成') }}</lw-tag>
495
+ </div>
496
+
497
+ </lw-popup>
498
+
499
+ <!-- 播种批次完成 -->
500
+ <lw-popup
501
+ :title="$lwLanguage.get('','播种批次完成')"
502
+ v-model="sowLotOverPopup.show"
503
+ @closed="goBack"
504
+ >
505
+
506
+ <lw-title-value-cell
507
+ :title="$lwLanguage.get('','播种墙')"
508
+ :value="sowData.sowWallCode"
509
+ val-bold
510
+ />
511
+
512
+ <div class="lw-global-row" style="text-align: center">
513
+ <lw-tag
514
+ plain
515
+ size="large"
516
+ >{{ $lwLanguage.get('','已播种完成') }}</lw-tag>
517
+ </div>
518
+
519
+ <sow-location-list :sow-list="sowLotOverPopup.data.sowWallLineList"/>
520
+
521
+ </lw-popup>
522
+
523
+ <!-- 播满换箱 -->
524
+ <lw-popup
525
+ :title="$lwLanguage.get('','播满换箱')"
526
+ v-model="sowFullPopup.show"
527
+ @closed="sowFullOff"
528
+ >
529
+
530
+ <lw-input
531
+ :title="$lwLanguage.get('','已满容器号')"
532
+ v-model="sowFullPopup.fullContainer.value"
533
+ :get-focus.sync="sowFullPopup.fullContainer.focus"
534
+ @confirm="sowFullContainerConfirm"
535
+ />
536
+
537
+ <div class="lw-global-row lw-global-flex-between">
538
+
539
+ <lw-title-value-cell
540
+ :title="$lwLanguage.get('','播种位')"
541
+ :value="sowFullPopup.sowLocationInfo.sowWallLineCode"
542
+ val-bold
543
+ :is-row="false"
544
+ />
545
+
546
+ <lw-title-value-cell
547
+ :title="$lwLanguage.get('','已播种量')"
548
+ :value="sowFullPopup.sowLocationInfo.sowQty"
549
+ val-bold
550
+ val-red
551
+ :is-row="false"
552
+ />
553
+
554
+ </div>
555
+
556
+ <lw-input
557
+ :title="$lwLanguage.get('','新容器号')"
558
+ v-model="sowFullPopup.newContainer.value"
559
+ :get-focus.sync="sowFullPopup.newContainer.focus"
560
+ @confirm="sowFullNewContainerConfirm"
561
+ />
562
+
563
+ <div
564
+ class="lw-global-value"
565
+ style="margin-top: 8px;text-align: center"
566
+ >{{$lwLanguage.get(
567
+ '',
568
+ '拿下已播满容器号!因为没有播种完成,还需要扫码新空容器号,继续播种接货'
569
+ )}}</div>
570
+
571
+ <template #button>
572
+ <lw-button @click="sowFullNewContainerConfirm">
573
+ {{ $lwLanguage.get('','确认') }}
574
+ </lw-button>
575
+ </template>
576
+
577
+ </lw-popup>
578
+
579
+ <!-- 查看未播种数 -->
580
+ <lw-popup
581
+ :title="$lwLanguage.get('','未播种商品')"
582
+ v-model="waitSowSkuPopup.show"
583
+ @closed="waitSowSkuPopup.showCom=false"
584
+ >
585
+
586
+ <template v-if="waitSowSkuPopup.showCom && waitSowSkuPopup.data.length">
587
+ <wait-sow-collapse
588
+ v-for="(i,k) in waitSowSkuPopup.data"
589
+ :key="k"
590
+ :item="i"
591
+ @abn="abnClick"
592
+ />
593
+ </template>
594
+ <lw-not-data v-else/>
595
+
596
+ </lw-popup>
597
+
598
+ <!-- 异常弹框 -->
599
+ <lw-popup
600
+ :title="$lwLanguage.get('','播种分拣异常上报')"
601
+ v-model="abnPopup.show"
602
+ @closed="abnPopup.showCom=false"
603
+ >
604
+
605
+ <lw-inner-abnormal-module
606
+ ref="abnormal"
607
+ v-if="abnPopup.showCom"
608
+ :location="abnPopup.data.locationCode"
609
+ :sku-code="abnPopup.data.skuCode"
610
+ :sku-name="abnPopup.data.skuName"
611
+ :qty="abnPopup.data.waitSowQty"
612
+ :type="$lwLanguage.get('','出库')"
613
+ :ab-type="$lwLanguage.get('','播种分拣')"
614
+ />
615
+
616
+ <template #button>
617
+ <lw-button @click="abnConfirm">
618
+ {{ $lwLanguage.get('','上报') }}
619
+ </lw-button>
620
+ </template>
621
+
622
+ </lw-popup>
623
+
624
+ </div>
625
+ </template>
626
+
627
+ <script>
628
+
629
+ import sowLocationList from './../components/sowLocationList/index.vue'
630
+ import waitSowCollapse from './../components/waitSowCollapse/index.vue'
631
+ import {
632
+ projectWmsBindSowPositionContainer,
633
+ projectWmsSowBatchSubmit,
634
+ projectWmsSowChangePositionContainer,
635
+ projectWmsSowComputeSkuSowPosition,
636
+ projectWmsSowContainerData,
637
+ projectWmsSowLotQueryUnfinishContainer,
638
+ projectWmsSowQuerySowLotData,
639
+ projectWmsSowQueryStockoutData,
640
+ projectWmsSowRebindContainer,
641
+ projectWmsSowSingleCancel,
642
+ projectWmsSowSingleSubmit,
643
+ projectWmsSowStockoutFinish,
644
+ projectWmsSowSubmitAbnormal
645
+ } from "../../../../../api/outbound/sow/action";
646
+
647
+ export default {
648
+ name: "lwOutboundSowActionPage",
649
+ components:{
650
+ sowLocationList,
651
+ waitSowCollapse
652
+ },
653
+ data() {
654
+ return {
655
+
656
+ // 底部按钮列表
657
+ bottomBtnAll:{
658
+ bindContainer:{
659
+ text: this.$lwLanguage.get('','绑定容器号'),
660
+ click: this.bindContainerClick
661
+ },
662
+ littleOver:{
663
+ text: this.$lwLanguage.get('','缺货完成'),
664
+ click: this.littleClick
665
+ },
666
+ abn:{
667
+ text: this.$lwLanguage.get('','商品异常'),
668
+ click: this.openWaitSowPopup
669
+ },
670
+ cutContainer:{
671
+ text: this.$lwLanguage.get('','切换容器'),
672
+ click: this.cutPickContainer
673
+ },
674
+ sowFull:{
675
+ text: this.$lwLanguage.get('','播满换箱'),
676
+ click: this.openSowFullPopup
677
+ },
678
+ },
679
+
680
+ // 拣选容器折叠
681
+ pickCollapse:['pick'],
682
+
683
+ // 播种位折叠
684
+ sowCollapse:['sow'],
685
+
686
+ // 播种数据
687
+ sowData:{},
688
+
689
+ // 播种方式
690
+ sowMethod:{},
691
+
692
+ // 当前播种商品信息
693
+ nowSowSkuInfo:{
694
+ data:{},
695
+ animation: false,
696
+ },
697
+
698
+ // 扫描播种
699
+ startSow:{
700
+ start: false,
701
+ pickContainer:{
702
+ value:'',
703
+ focus: false
704
+ },
705
+ data:{},
706
+ },
707
+
708
+ // 批量播种商品
709
+ skuSow:{
710
+ sku:{
711
+ value: '',
712
+ focus: false
713
+ },
714
+
715
+ qty:{
716
+ value:'',
717
+ focus: false,
718
+ disabled: false
719
+ }
720
+ },
721
+
722
+ // 逐件播种
723
+ snSow:{
724
+ value: '',
725
+ focus: false,
726
+ scanData:{}
727
+ },
728
+
729
+ // 绑定周转箱弹框
730
+ bindContainerPopup:{
731
+ show: false,
732
+ container:{
733
+ value:'',
734
+ focus: true
735
+ },
736
+ index: 0,
737
+ sowLocation:''
738
+ },
739
+
740
+ // 缺货完成弹框
741
+ littlePopup:{
742
+ show: false,
743
+ data:{}
744
+ },
745
+
746
+ // 播种位播种完成弹框
747
+ sowLocationOverPopup:{
748
+ show: false,
749
+ data:{}
750
+ },
751
+
752
+ // 播种批次完成弹框
753
+ sowLotOverPopup:{
754
+ show: false,
755
+ data:{}
756
+ },
757
+
758
+ // 播满换箱弹框
759
+ sowFullPopup:{
760
+ show: false,
761
+ fullContainer:{
762
+ value: '',
763
+ focus: false
764
+ },
765
+ sowLocationInfo:{},
766
+ newContainer:{
767
+ value:'',
768
+ focus: false
769
+ }
770
+ },
771
+
772
+ // 未播种商品弹框
773
+ waitSowSkuPopup:{
774
+ show: false,
775
+ showCom: false,
776
+ data:{}
777
+ },
778
+
779
+ // 异常上报
780
+ abnPopup:{
781
+ show: false,
782
+ showCom: false,
783
+ data:{}
784
+ }
785
+ }
786
+ },
787
+ computed:{
788
+ // 底部按钮显示列表
789
+ bottomBtnList(){
790
+ // 是否需要绑定容器号
791
+ if (this.sowData.needBindContainer){
792
+ return [
793
+ this.bottomBtnAll.bindContainer,
794
+ this.bottomBtnAll.littleOver
795
+ ]
796
+ }
797
+
798
+ // 是否已经扫描了拣选容器
799
+ if (!this.startSow.start){
800
+ return [
801
+ this.bottomBtnAll.littleOver,
802
+ this.bottomBtnAll.abn
803
+ ]
804
+ }
805
+
806
+ return [
807
+ this.bottomBtnAll.cutContainer,
808
+ this.bottomBtnAll.littleOver,
809
+ this.bottomBtnAll.sowFull,
810
+ this.bottomBtnAll.abn,
811
+ ]
812
+ },
813
+ },
814
+ mounted() {
815
+ this.getData()
816
+ },
817
+ methods: {
818
+ // 获取数据
819
+ getData(isSow=false, isSn=false){
820
+ return new Promise((pres, err)=>{
821
+ const qutry = this.$route.query
822
+ projectWmsSowQuerySowLotData({
823
+ sowWallId: qutry.lwSowWallId,
824
+ sowWallCode: qutry.lwSowWallCode,
825
+ sowLot:qutry.lwSowLot,
826
+ }).then(res=>{
827
+ this.sowData = res
828
+
829
+ // 判断当前是否存在正在播种的拣选容器
830
+ if (this.startSow.start){
831
+
832
+ // 过滤找到当前播种的拣选容器
833
+ const list = res.containerList.filter(item=>{
834
+ return item.pickContainer === this.startSow.pickContainer.value
835
+ })
836
+
837
+ let over = false
838
+
839
+ // 判断当前拣选容器是否存在新返回的数据中,如果存在就替换数据
840
+ if (list.length){
841
+ const data = list[0]
842
+ this.startSow.data.pickQty = data.pickQty
843
+ this.startSow.data.sowQty = data.sowQty
844
+
845
+ over = data.sowQty === data.pickQty
846
+ over && !isSn && this.cutPickContainer()
847
+
848
+ }else {
849
+ !isSn && this.cutPickContainer()
850
+ }
851
+
852
+ const msg = over ?
853
+ this.$lwLanguage.get('','当前容器已播种完成') :
854
+ this.$lwLanguage.get('','播种成功')
855
+
856
+ isSow && this.$lwToast.success(msg)
857
+ }
858
+ pres()
859
+ }).catch(()=>{
860
+ this.goBack()
861
+ err()
862
+ })
863
+ })
864
+ },
865
+
866
+ // 绑定周转箱
867
+ bindContainerClick(){
868
+ this.selectFistSowBind(true)
869
+ this.bindContainerPopup.show = true
870
+ },
871
+ // 找到第一个需要绑定容器的播种位
872
+ selectFistSowBind(need){
873
+ const wait = this.sowData.sowWallLineList
874
+
875
+ // 找到第一个需要绑定的播种位
876
+ for (let i=0;i<wait.length;i++){
877
+ if (wait[i].needBindContainer){
878
+ this.bindContainerPopup.index = i
879
+ this.bindContainerPopup.container.focus = true
880
+ return
881
+ }
882
+ }
883
+
884
+ if (need) {
885
+ this.bindContainerPopup.index = 0
886
+ this.bindContainerPopup.container.focus = true
887
+ return;
888
+ }
889
+
890
+ this.$lwToast.success(
891
+ this.$lwLanguage.get('','播种位已全部绑定周转箱')
892
+ )
893
+ this.bindContainerPopup.show = false
894
+ },
895
+ // 播种位绑定周转箱确认
896
+ sowLocationBindContainerConfirm(){
897
+
898
+ if (!this.bindContainerPopup.container.value){
899
+ this.bindContainerPopup.container.focus = true
900
+ this.$lwShowErrorMsg(
901
+ this.$lwLanguage.get('','容器号不能为空')
902
+ )
903
+ return
904
+ }
905
+
906
+ const item = this.sowData.sowWallLineList[this.bindContainerPopup.index]
907
+ projectWmsBindSowPositionContainer({
908
+ sowWallId: this.sowData.sowWallId,
909
+ sowWallLineId: item.sowWallLineId,
910
+ sowWallLineCode: item.sowWallLineCode,
911
+ bindContainer: this.bindContainerPopup.container.value
912
+ }).then(()=>{
913
+ item.sowPositionContainer = this.bindContainerPopup.container.value
914
+ item.needBindContainer = false
915
+ this.bindContainerPopup.container.value = ''
916
+ this.selectFistSowBind()
917
+ }).catch(()=>{
918
+ this.bindContainerPopup.container.focus = true
919
+ this.bindContainerPopup.container.value = ''
920
+ })
921
+ },
922
+ // 点击播种位位选择绑定容器
923
+ selectSowLocation(index){
924
+ this.bindContainerPopup.container.value = ''
925
+ this.bindContainerPopup.container.focus = true
926
+ this.bindContainerPopup.index = index
927
+ },
928
+ // 重新绑定
929
+ repeatBind(){
930
+ this.$dialog.confirm({
931
+ title: this.$lwLanguage.get('','警告'),
932
+ message: this.$lwLanguage.get('','当前播种位绑定的容器将会被全部清空')
933
+ }).then(()=>{
934
+ projectWmsSowRebindContainer({
935
+ sowWallId: this.sowData.sowWallId,
936
+ sowWallCode: this.sowData.sowWallCode,
937
+ sowLot: this.sowData.sowLot,
938
+ }).then(()=>{
939
+ this.$lwToast.success(
940
+ this.$lwLanguage.get('','操作成功')
941
+ )
942
+ this.getData().then(()=>this.selectFistSowBind(true))
943
+ })
944
+ }).catch(()=>{})
945
+ },
946
+ // 绑定周转箱弹出框关闭
947
+ bindContainerPopupOff(){
948
+ this.bindContainerPopup.container.value=''
949
+ this.getData()
950
+ },
951
+
952
+
953
+ // 缺货完成按钮点击
954
+ littleClick(){
955
+ projectWmsSowQueryStockoutData({
956
+ sowWallId: this.sowData.sowWallId,
957
+ sowLot: this.sowData.sowLot,
958
+ }).then(res=>{
959
+ this.littlePopup.data = res
960
+ this.littlePopup.show = true
961
+ })
962
+ },
963
+ // 确认缺货完成
964
+ littleConfirm(){
965
+ projectWmsSowStockoutFinish({
966
+ sowWallId: this.sowData.sowWallId,
967
+ sowLot: this.sowData.sowLot
968
+ }).then(()=>{
969
+ this.$lwToast.success(
970
+ this.$lwLanguage.get('','缺货完成')
971
+ )
972
+ history.go(-1)
973
+ })
974
+ },
975
+
976
+ // 拣选容器号确认
977
+ pickConfirm(){
978
+ if (!this.startSow.pickContainer.value){
979
+ this.startSow.pickContainer.focus = true
980
+ this.$lwShowErrorMsg(
981
+ this.$lwLanguage.get('','拣选容器号不能为空')
982
+ )
983
+ return
984
+ }
985
+
986
+ const list = this.sowData.containerList.filter(item=>{
987
+ return item.pickContainer === this.startSow.pickContainer.value
988
+ })
989
+
990
+ if(!list.length){
991
+ this.startSow.pickContainer.focus = true
992
+ this.$lwShowErrorMsg(
993
+ this.$lwLanguage.get('','扫描容器号不在当前播种批次内')
994
+ )
995
+ this.startSow.pickContainer.value = ''
996
+ return
997
+ }
998
+
999
+ projectWmsSowContainerData({
1000
+ sowWallId: this.sowData.sowWallId,
1001
+ sowWallCode: this.sowData.sowWallCode,
1002
+ sowLot: this.sowData.sowLot,
1003
+ pickContainer: this.startSow.pickContainer.value
1004
+ }).then(res=>{
1005
+
1006
+ // 判断是否是批量播种
1007
+ if (res.sowMethod === 'BATCH') {
1008
+ this.sowMethod = {
1009
+ method: this.$lwLanguage.get('', '批量播种'),
1010
+ inputTitle: this.$lwLanguage.get('', '商品条码'),
1011
+ sku: true
1012
+ }
1013
+ this.skuSow.sku.focus = true
1014
+ } else {
1015
+ this.sowMethod = {
1016
+ method: this.$lwLanguage.get('', '逐件扫描播种'),
1017
+ inputTitle: this.$lwLanguage.get('', '商品序列号'),
1018
+ sku: false
1019
+ }
1020
+ this.snSow.focus = true
1021
+ }
1022
+
1023
+ this.startSow.data = res
1024
+ this.startSow.start = true
1025
+ })
1026
+ },
1027
+ // 切换拣选容器号
1028
+ cutPickContainer(){
1029
+ this.startSow.pickContainer.value = ''
1030
+ this.startSow.pickContainer.focus = true
1031
+ this.startSow.start = false
1032
+ this.startSow.data = {}
1033
+ this.clearSkuSowData()
1034
+ },
1035
+
1036
+ // 商品合法性校验
1037
+ skuCodeCheck(skuCode){
1038
+
1039
+ if (!skuCode){
1040
+ this.skuSow.sku.focus = true
1041
+ this.$lwShowErrorMsg(
1042
+ this.$lwLanguage.get('','商品号不能为空')
1043
+ )
1044
+ return {
1045
+ success: false
1046
+ }
1047
+ }
1048
+
1049
+ const skuList = this.startSow.data.skuList.filter(item=>{
1050
+ return item.skuCode === skuCode
1051
+ })
1052
+
1053
+ if(!skuList.length){
1054
+ this.skuSow.sku.focus = true
1055
+ this.$lwShowErrorMsg(
1056
+ this.$lwLanguage.get('','当前商品不在拣选容器内')
1057
+ )
1058
+ return {
1059
+ success: false
1060
+ }
1061
+ }
1062
+
1063
+ return {
1064
+ success: true,
1065
+ skuList
1066
+ }
1067
+ },
1068
+
1069
+ // 设置当前播种的商品数据
1070
+ setNowSowSkuInfo(res){
1071
+ this.nowSowSkuInfo.data = res
1072
+ this.nowSowSkuInfo.animation = true
1073
+ this.$lwAppPower.speak(this.nowSowSkuInfo.data.sowWallLineCode)
1074
+ },
1075
+
1076
+ // 清除当前播种数据
1077
+ clearSkuSowData(){
1078
+ this.nowSowSkuInfo.data = {}
1079
+ this.snSow.value = ''
1080
+ this.skuSow.qty.value = ''
1081
+ this.nowSowSkuInfo.data = {}
1082
+ this.nowSowSkuInfo.animation = false
1083
+ },
1084
+
1085
+ // 批量播种商品扫描完成
1086
+ skuSowConfirm(val, data){
1087
+ const {skuCode, qty} = data.data
1088
+
1089
+ this.nowSowSkuInfo.animation = false
1090
+
1091
+ const {success, skuList} = this.skuCodeCheck(skuCode)
1092
+ if(!success) return
1093
+
1094
+ const oldSkuCode = this.nowSowSkuInfo.data.skuCode
1095
+ if (oldSkuCode && oldSkuCode !== skuCode){
1096
+ this.skuSow.sku.focus = true
1097
+ this.$lwShowErrorMsg(
1098
+ this.$lwLanguage.get('','当前商品与正在播种商品不一致')
1099
+ )
1100
+ return
1101
+ }
1102
+
1103
+ projectWmsSowComputeSkuSowPosition({
1104
+ sowWallId: this.sowData.sowWallId,
1105
+ sowWallCode: this.sowData.sowWallCode,
1106
+ sowLot: this.sowData.sowLot,
1107
+ pickContainer: this.startSow.pickContainer.value,
1108
+ ownerId: skuList[0].ownerId,
1109
+ skuId: skuList[0].skuId,
1110
+ skuCode: skuList[0].skuCode,
1111
+ }).then(res=>{
1112
+
1113
+ const oldSowWall = this.nowSowSkuInfo.data.sowWallLineCode
1114
+ if (oldSowWall && oldSowWall !== res.sowWallLineCode){
1115
+ this.skuSow.sku.focus = true
1116
+ this.$lwShowErrorMsg(
1117
+ this.$lwLanguage.get('','当前商品与正在播种商品不在同一播种位,不能播种!')
1118
+ )
1119
+ return
1120
+ }
1121
+
1122
+ this.setNowSowSkuInfo(res)
1123
+
1124
+ const total = Number(this.skuSow.qty.value || 0) + Number(qty || 0)
1125
+ this.skuSow.qty.value = total
1126
+
1127
+ // 如果播种量等于待播种量就自动提交
1128
+ if (total === Number(res.waitSowQty || 0)){
1129
+ this.skuSowQtyConfirm()
1130
+ return
1131
+ }
1132
+
1133
+ this.skuSow.sku.focus = true
1134
+ })
1135
+ },
1136
+ // 扫描数量确定
1137
+ skuSowQtyConfirm(){
1138
+
1139
+ const qty = Number(this.skuSow.qty.value || 0)
1140
+ if (!qty){
1141
+ this.skuSow.qty.focus = true
1142
+ this.$lwShowErrorMsg(
1143
+ this.$lwLanguage.get('','播种量不能为空,且应当是大于0的整数')
1144
+ )
1145
+ return
1146
+ }
1147
+ if (qty > Number(this.nowSowSkuInfo.data.waitSowQty ||0)){
1148
+ this.skuSow.qty.focus = true
1149
+ this.$lwShowErrorMsg(
1150
+ this.$lwLanguage.get('','播种量不能大于待播种量')
1151
+ )
1152
+ this.skuSow.qty.value = ''
1153
+ return
1154
+ }
1155
+
1156
+ projectWmsSowBatchSubmit({
1157
+ sowWallId: this.sowData.sowWallId,
1158
+ sowWallCode: this.sowData.sowWallCode,
1159
+ sowLot: this.sowData.sowLot,
1160
+ sowWallLineId: this.nowSowSkuInfo.data.sowWallLineId,
1161
+ sowWallLineCode: this.nowSowSkuInfo.data.sowWallLineCode,
1162
+ sowPositionContainer: this.nowSowSkuInfo.data.sowPositionContainer,
1163
+ ownerId: this.nowSowSkuInfo.data.ownerId,
1164
+ skuId: this.nowSowSkuInfo.data.skuId,
1165
+ pickContainer: this.startSow.pickContainer.value,
1166
+ currentSowQty: qty
1167
+ }).then(res=>{
1168
+
1169
+ this.sowOver(res)
1170
+ })
1171
+ },
1172
+ // 批量扫描 - 重新扫描
1173
+ skuSowRepeatScan(){
1174
+ this.clearSkuSowData()
1175
+ this.skuSow.sku.focus = true
1176
+ },
1177
+
1178
+ // 逐件扫描序列号确认
1179
+ snSowConfirm(val,data){
1180
+ const {skuCode, sn, qty} = data.data
1181
+ this.nowSowSkuInfo.animation = false
1182
+
1183
+ const {success, skuList} = this.skuCodeCheck(skuCode)
1184
+ if(!success) return
1185
+
1186
+ const scanData = {
1187
+ sn,
1188
+ qty: qty || skuList[0].minSellQty,
1189
+ ownerId: skuList[0].ownerId,
1190
+ skuId: skuList[0].skuId,
1191
+ skuCode: skuList[0].skuCode,
1192
+ sowWallId: this.sowData.sowWallId,
1193
+ sowLot: this.sowData.sowLot,
1194
+ pickContainer: this.startSow.pickContainer.value,
1195
+ sowWallCode: this.sowData.sowWallCode,
1196
+ }
1197
+
1198
+ projectWmsSowSingleSubmit({
1199
+ ...scanData,
1200
+ currentSowQty: scanData.qty
1201
+ }).then(res=>{
1202
+
1203
+ this.setNowSowSkuInfo(res)
1204
+
1205
+ this.snSow.scanData = {
1206
+ ...scanData,
1207
+ sowWallLineId: res.sowWallLineId,
1208
+ sowWallLineCode: res.sowWallLineCode,
1209
+ sowPositionContainer: res.sowPositionContainer,
1210
+ }
1211
+
1212
+ this.sowOver(res, true)
1213
+ })
1214
+ },
1215
+ // 逐件扫描 - 取消本次扫描
1216
+ snSowClearNow(){
1217
+ projectWmsSowSingleCancel({
1218
+ ...this.snSow.scanData,
1219
+ cancelQty: this.snSow.scanData.qty
1220
+ }).then(()=>{
1221
+ this.$lwToast.success(
1222
+ this.$lwLanguage.get('','已取消')
1223
+ )
1224
+
1225
+ this.clearSkuSowData()
1226
+ this.getData(false, true)
1227
+ this.snSow.focus = true
1228
+
1229
+ })
1230
+ },
1231
+
1232
+ // 校验当前播种是否完成
1233
+ checkSowOver(res){
1234
+ // 当前批次是否完成
1235
+ if (res.sowLotFinish){
1236
+ this.sowLotOverPopup.data = res
1237
+ this.sowLotOverPopup.show = true
1238
+ return true
1239
+ }
1240
+
1241
+ // 当前播种位是否完成
1242
+ if (res.sowWallLineFinish){
1243
+ this.sowLocationOverPopup.data = res
1244
+ this.sowLocationOverPopup.show = true
1245
+ return true
1246
+ }
1247
+
1248
+ return false
1249
+ },
1250
+ // 播种完成
1251
+ sowOver(res, isSn=false){
1252
+
1253
+ !isSn && this.clearSkuSowData()
1254
+
1255
+ !isSn && this.cutPickContainer()
1256
+
1257
+ if(this.checkSowOver(res)) return
1258
+
1259
+ this.getData(true, isSn)
1260
+ this.startSow.pickContainer.focus = true
1261
+ },
1262
+
1263
+ // 返回上一页
1264
+ goBack(){
1265
+ history.go(-1)
1266
+ },
1267
+
1268
+ // 播满换箱弹框 - 打开弹框
1269
+ openSowFullPopup(){
1270
+ this.sowFullPopup.show = true
1271
+ this.sowFullPopup.fullContainer.focus = true
1272
+ },
1273
+ // 播满换箱弹框 - 已满容器确认
1274
+ sowFullContainerConfirm(){
1275
+
1276
+ if(!this.sowFullPopup.fullContainer.value){
1277
+ this.sowFullPopup.fullContainer.focus = true
1278
+ this.$lwShowErrorMsg(
1279
+ this.$lwLanguage.get('','已满容器不能为空')
1280
+ )
1281
+ return
1282
+ }
1283
+
1284
+ const list = this.sowData.sowWallLineList.filter(item=>{
1285
+ return item.sowPositionContainer === this.sowFullPopup.fullContainer.value
1286
+ })
1287
+
1288
+ if(!list.length){
1289
+ this.sowFullPopup.fullContainer.focus = true
1290
+ this.$lwShowErrorMsg(
1291
+ this.$lwLanguage.get('','没有找到已满的容器号')
1292
+ )
1293
+ this.sowFullPopup.fullContainer.value = ''
1294
+ return
1295
+ }
1296
+
1297
+ this.sowFullPopup.sowLocationInfo = list[0]
1298
+ this.sowFullPopup.newContainer.focus = true
1299
+
1300
+ },
1301
+ // 播满换箱弹框 - 新容器确定
1302
+ sowFullNewContainerConfirm(){
1303
+
1304
+ if (!this.sowFullPopup.sowLocationInfo.sowWallLineCode){
1305
+ this.sowFullPopup.fullContainer.focus = true
1306
+ this.$lwShowErrorMsg(
1307
+ this.$lwLanguage.get('','请输入已满容器,并获取容器对应的播种位信息')
1308
+ )
1309
+ return
1310
+ }
1311
+
1312
+ if (!this.sowFullPopup.newContainer.value){
1313
+ this.sowFullPopup.newContainer.focus = true
1314
+ this.$lwShowErrorMsg(
1315
+ this.$lwLanguage.get('','新容器不能为空')
1316
+ )
1317
+ return
1318
+ }
1319
+
1320
+ projectWmsSowChangePositionContainer({
1321
+ sowWallId: this.sowData.sowWallId,
1322
+ sowLot: this.sowData.sowLot,
1323
+ sowWallLineId: this.sowFullPopup.sowLocationInfo.sowWallLineId,
1324
+ sowWallLineCode: this.sowFullPopup.sowLocationInfo.sowWallLineCode,
1325
+ sowPositionContainer: this.sowFullPopup.fullContainer.value,
1326
+ bindContainer: this.sowFullPopup.newContainer.value,
1327
+ }).then(()=>{
1328
+ this.$lwToast.success(
1329
+ this.$lwLanguage.get('','已更换')
1330
+ )
1331
+ this.getData()
1332
+ this.sowFullPopup.show = false
1333
+ })
1334
+ },
1335
+ // 播满换箱弹框 - 关闭
1336
+ sowFullOff(){
1337
+ this.sowFullPopup.fullContainer.value = ''
1338
+ this.sowFullPopup.newContainer.value = ''
1339
+ this.sowFullPopup.sowLocationInfo = {}
1340
+ },
1341
+
1342
+ // 查看未播种商品弹框
1343
+ openWaitSowPopup(){
1344
+ projectWmsSowLotQueryUnfinishContainer({
1345
+ sowWallId: this.sowData.sowWallId,
1346
+ sowWallCode: this.sowData.sowWallCode,
1347
+ sowLot: this.sowData.sowLot,
1348
+ }).then(res=>{
1349
+ this.waitSowSkuPopup.data = res
1350
+ this.waitSowSkuPopup.showCom = true
1351
+ this.waitSowSkuPopup.show = true
1352
+ })
1353
+ },
1354
+
1355
+ // 异常弹框打开
1356
+ abnClick(data){
1357
+ this.abnPopup.data = data
1358
+ this.abnPopup.showCom = true
1359
+ this.abnPopup.show = true
1360
+ this.waitSowSkuPopup.show = false
1361
+ },
1362
+ // 确认异常上报
1363
+ abnConfirm(){
1364
+ const {success, data} = this.$refs.abnormal.getAbnormalData()
1365
+
1366
+ if (!success) return
1367
+
1368
+ projectWmsSowSubmitAbnormal({
1369
+ ...data,
1370
+ ...this.abnPopup.data,
1371
+ sowLot: this.sowData.sowLot,
1372
+ sowWallId: this.sowData.sowWallId,
1373
+ sowWallCode: this.sowData.sowWallCode,
1374
+ }).then(res=>{
1375
+ this.$lwToast.success(
1376
+ this.$lwLanguage.get('','异常上报成功')
1377
+ )
1378
+ this.abnPopup.show = false
1379
+
1380
+ if (this.checkSowOver(res)) return
1381
+
1382
+ this.getData()
1383
+ })
1384
+ }
1385
+ }
1386
+ }
1387
+ </script>
1388
+
1389
+ <style scoped lang="less">
1390
+ @import "./../../../../../assets/css/var.less";
1391
+
1392
+ .border-2{
1393
+ border: solid 2px @baseColor;
1394
+ }
1395
+
1396
+ .lw-outbound-sow-code{
1397
+ flex-shrink: 0;
1398
+ padding: 5px;
1399
+ width: 50px;
1400
+ height: 50px;
1401
+ background: #ccc;
1402
+ color: @baseColor;
1403
+ font-size: 24px;
1404
+ font-weight: bold;
1405
+ border-radius: 8px;
1406
+ }
1407
+
1408
+ </style>