@logwire/logwire-wms-pda-ui 1.1.15 → 1.1.16

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 (435) hide show
  1. package/README.md +134 -134
  2. package/dist/logwire-wms-pda-ui.js +2 -2
  3. package/package.json +69 -69
  4. package/src/api/common/Device.js +43 -43
  5. package/src/api/common/Dict.js +19 -19
  6. package/src/api/common/GetImgSrc.js +20 -20
  7. package/src/api/common/Language.js +31 -31
  8. package/src/api/common/Lot.js +20 -20
  9. package/src/api/common/Msg.js +26 -26
  10. package/src/api/common/Permissions.js +22 -22
  11. package/src/api/common/Print.js +65 -65
  12. package/src/api/common/Task.js +61 -61
  13. package/src/api/common/UUID.js +28 -28
  14. package/src/api/common/User.js +53 -53
  15. package/src/api/common/Waerhouse.js +28 -28
  16. package/src/api/common/barcode.js +165 -165
  17. package/src/api/common/common.js +33 -25
  18. package/src/api/common/index.js +37 -37
  19. package/src/api/inbound/index.js +6 -6
  20. package/src/api/inbound/quality.js +99 -99
  21. package/src/api/inbound/receive.js +119 -109
  22. package/src/api/inner/count/index.js +97 -97
  23. package/src/api/inner/disposeAbnormal/action.js +69 -69
  24. package/src/api/inner/disposeAbnormal/index.js +33 -33
  25. package/src/api/inner/materialApply/index.js +51 -51
  26. package/src/api/inner/move/abnormalMove.js +25 -25
  27. package/src/api/inner/move/lpnMove.js +25 -25
  28. package/src/api/inner/move/taskMove.js +57 -57
  29. package/src/api/inner/newProject/action.js +88 -0
  30. package/src/api/inner/newProject/index.js +18 -0
  31. package/src/api/inner/reportAbnormal/index.js +34 -34
  32. package/src/api/outbound/bale/checkBale/action.js +114 -0
  33. package/src/api/outbound/bale/checkBale/allCheck.js +25 -0
  34. package/src/api/outbound/bale/checkBale/index.js +52 -0
  35. package/src/api/outbound/delivery/action.js +148 -148
  36. package/src/api/outbound/delivery/addOrder.js +32 -32
  37. package/src/api/outbound/delivery/index.js +25 -25
  38. package/src/api/outbound/pick/alone.js +60 -60
  39. package/src/api/outbound/pick/box.js +42 -42
  40. package/src/api/outbound/pick/index.js +60 -60
  41. package/src/api/outbound/pick/lpn.js +42 -42
  42. package/src/api/outbound/pick/notAlone.js +33 -33
  43. package/src/api/outbound/pickMerge/index.js +69 -69
  44. package/src/api/outbound/sow/action.js +123 -123
  45. package/src/api/outbound/sow/index.js +24 -24
  46. package/src/api/outbound/summary/box.js +33 -33
  47. package/src/api/outbound/summary/lpn.js +23 -23
  48. package/src/api/receive/abnormal.js +34 -34
  49. package/src/api/receive/putaway.js +82 -82
  50. package/src/api/receive/randomMove.js +43 -43
  51. package/src/api/receive/receipt.js +25 -25
  52. package/src/assets/css/changeVant.less +22 -22
  53. package/src/assets/css/global.less +411 -411
  54. package/src/assets/css/index.less +4 -4
  55. package/src/assets/css/var.less +117 -117
  56. package/src/assets/css//345/205/250/345/261/200/346/240/267/345/274/217.md +31 -31
  57. package/src/components/module/InnerAbnormal/index.js +11 -11
  58. package/src/components/module/InnerAbnormal/index.vue +347 -343
  59. package/src/components/module/Login/index.js +11 -11
  60. package/src/components/module/Login/index.vue +328 -328
  61. package/src/components/module/Login//347/231/273/345/275/225/346/250/241/345/235/227.md +1 -1
  62. package/src/components/module/Lot/index.js +11 -11
  63. package/src/components/module/Lot/index.vue +181 -181
  64. package/src/components/module/Lot//346/211/271/346/254/241/345/261/236/346/200/247.md +2 -2
  65. package/src/components/module/LotLook/index.js +11 -11
  66. package/src/components/module/LotLook/index.vue +80 -80
  67. package/src/components/module/Menu/index.js +12 -12
  68. package/src/components/module/Menu/index.vue +118 -118
  69. package/src/components/module/Menu//350/217/234/345/215/225/346/240/217.md +1 -1
  70. package/src/components/module/MsgItem/index.js +11 -11
  71. package/src/components/module/MsgItem/index.vue +109 -109
  72. 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
  73. package/src/components/module/OnLine/index.js +11 -11
  74. package/src/components/module/OnLine/index.vue +195 -195
  75. 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
  76. package/src/components/module/ReceiveAbnormal/index.js +11 -11
  77. package/src/components/module/ReceiveAbnormal/index.vue +865 -847
  78. package/src/components/module/ScanDataList/index.js +11 -11
  79. package/src/components/module/ScanDataList/index.vue +326 -326
  80. package/src/components/module/SkuInfo/index.js +11 -11
  81. package/src/components/module/SkuInfo/index.vue +65 -65
  82. package/src/components/module/SystemInfo/index.js +11 -11
  83. package/src/components/module/SystemInfo/index.vue +217 -217
  84. 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
  85. package/src/components/module/index.js +42 -42
  86. package/src/components/page/common/Device/index.js +11 -11
  87. package/src/components/page/common/Device/index.vue +186 -186
  88. package/src/components/page/common/Device//350/256/276/345/244/207/347/256/241/347/220/206/351/241/265.md +1 -1
  89. package/src/components/page/common/Home/index.js +11 -11
  90. package/src/components/page/common/Home/index.vue +113 -113
  91. package/src/components/page/common/Home//344/270/273/351/241/265.md +1 -1
  92. package/src/components/page/common/Language/index.js +11 -11
  93. package/src/components/page/common/Language/index.vue +142 -142
  94. package/src/components/page/common/Language//350/257/255/350/250/200.md +1 -1
  95. package/src/components/page/common/Login/index.js +11 -11
  96. package/src/components/page/common/Login/index.vue +157 -157
  97. package/src/components/page/common/Login//347/231/273/345/275/225/351/241/265.md +1 -1
  98. package/src/components/page/common/Menu/index.js +11 -11
  99. package/src/components/page/common/Menu/index.vue +71 -71
  100. package/src/components/page/common/Menu//350/217/234/345/215/225/351/241/265.md +1 -1
  101. package/src/components/page/common/Msg/index.js +11 -11
  102. package/src/components/page/common/Msg/index.vue +152 -152
  103. package/src/components/page/common/Msg//346/266/210/346/201/257/351/241/265.md +1 -1
  104. package/src/components/page/common/My/index.js +11 -11
  105. package/src/components/page/common/My/index.vue +477 -477
  106. package/src/components/page/common/My//346/210/221/347/232/204/347/256/241/347/220/206/351/241/265.md +1 -1
  107. package/src/components/page/common/Print/index.js +11 -11
  108. package/src/components/page/common/Print/index.vue +314 -314
  109. package/src/components/page/common/Print//346/211/223/345/215/260/346/234/272/350/256/276/347/275/256/351/241/265.md +1 -1
  110. package/src/components/page/common/Task/index.js +11 -11
  111. package/src/components/page/common/Task/index.vue +699 -699
  112. package/src/components/page/common/Task//344/273/273/345/212/241/351/241/265.md +1 -1
  113. package/src/components/page/common/Warehouse/index.js +11 -11
  114. package/src/components/page/common/Warehouse/index.vue +213 -213
  115. package/src/components/page/common/Warehouse//344/273/223/345/272/223/351/200/211/346/213/251/351/241/265.md +1 -1
  116. package/src/components/page/common/index.js +39 -39
  117. package/src/components/page/count/components/{CountBoard/index.vue → CountBoard.vue} +115 -115
  118. package/src/components/page/count/components/RandomCount.vue +163 -0
  119. package/src/components/page/count/index.js +21 -21
  120. package/src/components/page/count/inv/action/index.js +5 -5
  121. package/src/components/page/count/inv/action/index.vue +271 -12
  122. package/src/components/page/count/inv/index/index.js +5 -5
  123. package/src/components/page/count/inv/index/index.vue +190 -13
  124. package/src/components/page/count/loc/action/index.js +5 -5
  125. package/src/components/page/count/loc/action/index.vue +545 -514
  126. package/src/components/page/count/loc/index/index.js +5 -5
  127. package/src/components/page/count/loc/index/index.vue +184 -184
  128. package/src/components/page/inbound/components/AsnInfo.vue +180 -177
  129. package/src/components/page/inbound/components/AsnSkuInfo.vue +45 -45
  130. package/src/components/page/inbound/components/QualityCard.vue +230 -230
  131. package/src/components/page/inbound/components/QualityTaskInfo.vue +88 -88
  132. package/src/components/page/inbound/components/SnsList.vue +98 -98
  133. package/src/components/page/inbound/index.js +10 -10
  134. package/src/components/page/inbound/receive/home/index.js +5 -5
  135. package/src/components/page/inbound/receive/home/index.vue +73 -73
  136. package/src/components/page/inbound/receive/index/index.js +5 -5
  137. package/src/components/page/inbound/receive/index/index.vue +89 -89
  138. package/src/components/page/inbound/receive/quality/LwInboundQualityExecutePage.vue +397 -337
  139. package/src/components/page/inbound/receive/quality/LwInboundQualityTaskListPage.vue +166 -157
  140. package/src/components/page/inbound/receive/quality/index.js +16 -16
  141. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuAdvancePage.vue +318 -267
  142. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuDirectPage.vue +401 -351
  143. package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuScanPage.vue +149 -149
  144. package/src/components/page/inbound/receive/receive-sku/index.js +19 -19
  145. package/src/components/page/index.js +33 -33
  146. package/src/components/page/inner/abnormalMove/index/index.js +11 -11
  147. package/src/components/page/inner/abnormalMove/index/index.vue +468 -463
  148. package/src/components/page/inner/disposeAbnormal/action/index.js +11 -11
  149. package/src/components/page/inner/disposeAbnormal/action/index.vue +524 -524
  150. package/src/components/page/inner/disposeAbnormal/components/abnInfo/index.vue +655 -655
  151. package/src/components/page/inner/disposeAbnormal/components/disposePopup/index.vue +229 -229
  152. package/src/components/page/inner/disposeAbnormal/components/listItem/index.vue +213 -213
  153. package/src/components/page/inner/disposeAbnormal/components/searchBar/index.vue +264 -260
  154. package/src/components/page/inner/disposeAbnormal/index/index.js +11 -11
  155. package/src/components/page/inner/disposeAbnormal/index/index.vue +237 -247
  156. package/src/components/page/inner/index.js +66 -58
  157. package/src/components/page/inner/lpnMove/action/index.js +11 -11
  158. package/src/components/page/inner/lpnMove/action/index.vue +222 -221
  159. package/src/components/page/inner/lpnMove/index/index.js +11 -11
  160. package/src/components/page/inner/lpnMove/index/index.vue +155 -153
  161. package/src/components/page/inner/materialApply/action/index.js +10 -10
  162. package/src/components/page/inner/materialApply/action/index.vue +563 -554
  163. package/src/components/page/inner/materialApply/generate/index.js +10 -10
  164. package/src/components/page/inner/materialApply/generate/index.vue +376 -376
  165. package/src/components/page/inner/movePutAway/index/index.js +11 -11
  166. package/src/components/page/inner/movePutAway/index/index.vue +363 -363
  167. package/src/components/page/inner/newProject/action/index.js +13 -0
  168. package/src/components/page/inner/{movePutAway/index → newProject/action}/index.less +0 -0
  169. package/src/components/page/inner/newProject/action/index.vue +1464 -0
  170. package/src/components/page/inner/newProject/index/index.js +13 -0
  171. package/src/components/page/inner/newProject/index/index.less +0 -0
  172. package/src/components/page/inner/newProject/index/index.vue +122 -0
  173. package/src/components/page/inner/newProject//346/226/260/345/223/201/351/205/215/347/275/256.md +0 -0
  174. package/src/components/page/inner/randomMove/components/Down/index.vue +470 -465
  175. package/src/components/page/inner/randomMove/components/Up/index.vue +523 -519
  176. package/src/components/page/inner/randomMove/index/index.js +11 -11
  177. package/src/components/page/inner/randomMove/index/index.vue +152 -152
  178. package/src/components/page/inner/reportAbnormal/action/index.js +11 -11
  179. package/src/components/page/inner/reportAbnormal/action/index.vue +246 -246
  180. package/src/components/page/inner/reportAbnormal/index/index.js +11 -11
  181. package/src/components/page/inner/reportAbnormal/index/index.vue +243 -240
  182. package/src/components/page/inner/taskMove/index/index.js +11 -11
  183. package/src/components/page/inner/taskMove/index/index.vue +1374 -1363
  184. package/src/components/page/outbound/bale/aloneBale/action/index.js +11 -11
  185. package/src/components/page/outbound/bale/aloneBale/action/index.vue +192 -192
  186. package/src/components/page/outbound/bale/aloneBale/index/index.js +11 -11
  187. package/src/components/page/outbound/bale/aloneBale/index/index.vue +86 -86
  188. package/src/components/page/outbound/bale/aloneBale/newBale/index.js +11 -11
  189. package/src/components/page/outbound/bale/aloneBale/newBale/index.vue +53 -53
  190. package/src/components/page/outbound/bale/checkBale/action/index.js +11 -11
  191. package/src/components/page/outbound/bale/checkBale/action/index.vue +1321 -58
  192. package/src/components/page/outbound/bale/checkBale/allCheck/index.js +11 -11
  193. package/src/components/page/outbound/bale/checkBale/allCheck/index.vue +119 -88
  194. package/src/components/page/outbound/bale/checkBale/index/index.js +11 -11
  195. package/src/components/page/outbound/bale/checkBale/index/index.vue +259 -176
  196. package/src/components/page/outbound/bale/checkBale/newBale/index.js +11 -11
  197. package/src/components/page/outbound/bale/checkBale/newBale/index.vue +62 -60
  198. package/src/components/page/outbound/bale/components/allBlock/index.vue +97 -0
  199. package/src/components/page/outbound/bale/components/allBlock//345/205/250/351/203/250/346/213/246/346/210/252.md +0 -0
  200. package/src/components/page/outbound/bale/components/containerInfo/index.vue +229 -229
  201. package/src/components/page/outbound/bale/components/containerInfo//346/215/206/345/214/205/345/256/271/345/231/250/344/277/241/346/201/257.md +2 -2
  202. package/src/components/page/outbound/bale/components/containerSkuQty/index.vue +58 -50
  203. package/src/components/page/outbound/bale/components/mainPage/index.vue +620 -553
  204. package/src/components/page/outbound/bale/components/partBlock/index.vue +197 -0
  205. package/src/components/page/outbound/bale/components/partBlock//351/203/250/345/210/206/346/213/246/346/210/252.md +0 -0
  206. package/src/components/page/outbound/bale/components/planCollapse/index.vue +396 -352
  207. package/src/components/page/outbound/bale/components/storeInfo/index.vue +135 -126
  208. package/src/components/page/outbound/bale/components/storeInfo//345/256/242/346/210/267/346/215/206/345/214/205/344/277/241/346/201/257.md +1 -1
  209. package/src/components/page/outbound/bale/components/storeInfoSkuList/index.vue +121 -123
  210. package/src/components/page/outbound/delivery/action/index.js +11 -11
  211. package/src/components/page/outbound/delivery/action/index.vue +646 -642
  212. package/src/components/page/outbound/delivery/addOrder/index.js +11 -11
  213. package/src/components/page/outbound/delivery/addOrder/index.vue +281 -274
  214. package/src/components/page/outbound/delivery/components/boxItem/index.vue +118 -118
  215. package/src/components/page/outbound/delivery/components/orderContent/index.vue +143 -143
  216. package/src/components/page/outbound/delivery/components/orderContentTitle/index.vue +239 -239
  217. package/src/components/page/outbound/delivery/components/soAndLpnItem/index.vue +152 -152
  218. package/src/components/page/outbound/delivery/index/index.js +11 -11
  219. package/src/components/page/outbound/delivery/index/index.vue +154 -153
  220. package/src/components/page/outbound/index.js +94 -94
  221. package/src/components/page/outbound/pick/alone/index.js +11 -11
  222. package/src/components/page/outbound/pick/alone/index.vue +497 -493
  223. package/src/components/page/outbound/pick/box/index.js +11 -11
  224. package/src/components/page/outbound/pick/box/index.vue +363 -360
  225. package/src/components/page/outbound/pick/components/dataLookAndChange/index.vue +748 -748
  226. package/src/components/page/outbound/pick/components/skuLocationInfo/index.vue +208 -208
  227. package/src/components/page/outbound/pick/components/splitPutDown/index.vue +208 -206
  228. package/src/components/page/outbound/pick/components/splitPutDown//346/213/206/346/235/277/344/270/213/346/236/266.md +0 -0
  229. package/src/components/page/outbound/pick/index/index.js +11 -11
  230. package/src/components/page/outbound/pick/index/index.vue +624 -624
  231. package/src/components/page/outbound/pick/lpn/index.js +11 -11
  232. package/src/components/page/outbound/pick/lpn/index.vue +305 -303
  233. package/src/components/page/outbound/pick/mixin/all.js +100 -100
  234. package/src/components/page/outbound/pick/mixin/aloneAndNotAlone.js +132 -132
  235. package/src/components/page/outbound/pick/notAlone/index.js +11 -11
  236. package/src/components/page/outbound/pick/notAlone/index.vue +524 -519
  237. package/src/components/page/outbound/pickMerge/action/index.js +11 -11
  238. package/src/components/page/outbound/pickMerge/action/index.vue +543 -541
  239. package/src/components/page/outbound/pickMerge/components/containerInfo/index.vue +89 -89
  240. package/src/components/page/outbound/pickMerge/components/finishPopup/index.vue +88 -88
  241. package/src/components/page/outbound/pickMerge/components/skuInfo/index.vue +132 -132
  242. package/src/components/page/outbound/pickMerge/content/index.js +11 -11
  243. package/src/components/page/outbound/pickMerge/content/index.vue +170 -169
  244. package/src/components/page/outbound/pickMerge/index/index.js +11 -11
  245. package/src/components/page/outbound/pickMerge/index/index.vue +77 -76
  246. package/src/components/page/outbound/sow/action/index.js +11 -11
  247. package/src/components/page/outbound/sow/action/index.vue +1420 -1408
  248. package/src/components/page/outbound/sow/components/sowLocationList/index.vue +80 -80
  249. package/src/components/page/outbound/sow/components/waitSowCollapse/index.vue +105 -105
  250. package/src/components/page/outbound/sow/index/index.js +11 -11
  251. package/src/components/page/outbound/sow/index/index.vue +374 -374
  252. package/src/components/page/outbound/summary/box/index/index.js +11 -11
  253. package/src/components/page/outbound/summary/box/index/index.vue +645 -643
  254. package/src/components/page/outbound/summary/lpn/action/index.js +12 -12
  255. package/src/components/page/outbound/summary/lpn/action/index.vue +253 -251
  256. package/src/components/page/outbound/summary/lpn/index/index.js +12 -12
  257. package/src/components/page/outbound/summary/lpn/index/index.vue +70 -69
  258. package/src/components/page/receive/abnormal/action/index.js +11 -11
  259. package/src/components/page/receive/abnormal/action/index.vue +45 -45
  260. package/src/components/page/receive/abnormal/index/index.js +11 -11
  261. package/src/components/page/receive/abnormal/index/index.vue +73 -72
  262. package/src/components/page/receive/index.js +36 -36
  263. package/src/components/page/receive/putaway/components/SkuInfo/index.vue +247 -247
  264. package/src/components/page/receive/putaway/components/SkuPutAwayInfo/index.vue +203 -203
  265. package/src/components/page/receive/putaway/components/TaskInfo/index.vue +216 -216
  266. package/src/components/page/receive/putaway/index/index.js +11 -11
  267. package/src/components/page/receive/putaway/index/index.vue +288 -286
  268. package/src/components/page/receive/putaway/lpnAction/index.js +11 -11
  269. package/src/components/page/receive/putaway/lpnAction/index.vue +332 -330
  270. package/src/components/page/receive/putaway/skuAction/index.js +11 -11
  271. package/src/components/page/receive/putaway/skuAction/index.vue +741 -735
  272. package/src/components/page/receive/receipt/action/index.js +11 -11
  273. package/src/components/page/receive/receipt/action/index.vue +260 -260
  274. package/src/components/page/receive/receipt/index/index.js +11 -11
  275. package/src/components/page/receive/receipt/index/index.vue +124 -123
  276. package/src/components/ui/BottomBar/index.js +5 -5
  277. package/src/components/ui/BottomBar/index.vue +72 -72
  278. package/src/components/ui/BottomBarBtnHidden/index.js +11 -11
  279. package/src/components/ui/BottomBarBtnHidden/index.vue +91 -91
  280. package/src/components/ui/Button/index.js +5 -5
  281. package/src/components/ui/Button/index.vue +183 -183
  282. package/src/components/ui/CarPlate/index.js +11 -11
  283. package/src/components/ui/CarPlate/index.vue +378 -378
  284. package/src/components/ui/CarPlate//350/275/246/347/211/214/345/217/267.md +1 -1
  285. package/src/components/ui/Cell/index.js +5 -5
  286. package/src/components/ui/Cell/index.vue +259 -259
  287. package/src/components/ui/CellPopupDate/index.js +11 -11
  288. package/src/components/ui/CellPopupDate/index.vue +167 -167
  289. package/src/components/ui/CellPopupDate//345/215/225/345/205/203/350/241/214/345/212/240/346/227/266/351/227/264/351/200/211/346/213/251/345/231/250.md +1 -1
  290. package/src/components/ui/CellPopupRadio/index.js +11 -11
  291. package/src/components/ui/CellPopupRadio/index.vue +136 -136
  292. package/src/components/ui/CellPopupRadio//350/241/214/345/212/240/345/215/225/351/200/211/345/274/271/345/207/272/346/241/206.md +1 -1
  293. package/src/components/ui/CutCard/index.js +11 -11
  294. package/src/components/ui/CutCard/index.vue +132 -132
  295. package/src/components/ui/CutCard//345/215/241/347/211/207/351/241/265/351/235/242/345/210/207/346/215/242.md +1 -1
  296. package/src/components/ui/DataLookBg/index.js +11 -11
  297. package/src/components/ui/DataLookBg/index.vue +104 -104
  298. 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 -1
  299. package/src/components/ui/ErrorMsg/index.js +59 -59
  300. package/src/components/ui/ErrorMsg/index.vue +141 -141
  301. package/src/components/ui/Form/index.js +5 -5
  302. package/src/components/ui/Form/index.vue +36 -36
  303. package/src/components/ui/ImgLook/index.js +5 -5
  304. package/src/components/ui/ImgLook/index.vue +96 -96
  305. package/src/components/ui/ImgUpload/index.js +12 -12
  306. package/src/components/ui/ImgUpload/index.vue +120 -120
  307. package/src/components/ui/Input/index.js +5 -5
  308. package/src/components/ui/Input/index.vue +546 -544
  309. package/src/components/ui/Input//350/276/223/345/205/245/346/241/206.md +1 -1
  310. package/src/components/ui/Loading/index.js +49 -49
  311. package/src/components/ui/Loading/index.vue +61 -61
  312. package/src/components/ui/MenuItem/index.js +5 -5
  313. package/src/components/ui/MenuItem/index.vue +170 -170
  314. package/src/components/ui/NavBar/index.js +5 -5
  315. package/src/components/ui/NavBar/index.vue +143 -143
  316. package/src/components/ui/NavBar//351/241/266/351/203/250/345/257/274/350/210/252/346/240/217.md +1 -1
  317. package/src/components/ui/NotData/index.js +5 -5
  318. package/src/components/ui/NotData/index.vue +75 -75
  319. package/src/components/ui/Pages/index.js +5 -5
  320. package/src/components/ui/Pages/index.vue +186 -186
  321. package/src/components/ui/Popup/index.js +5 -5
  322. package/src/components/ui/Popup/index.vue +245 -245
  323. package/src/components/ui/PopupCheckbox/index.js +5 -5
  324. package/src/components/ui/PopupCheckbox/index.vue +207 -207
  325. package/src/components/ui/PopupRadio/index.js +5 -5
  326. package/src/components/ui/PopupRadio/index.vue +124 -124
  327. package/src/components/ui/TabBar/index.js +11 -11
  328. package/src/components/ui/TabBar/index.vue +132 -132
  329. package/src/components/ui/TabBar//345/272/225/351/203/250/345/257/274/350/210/252/346/240/217.md +1 -1
  330. package/src/components/ui/Table/index.js +5 -5
  331. package/src/components/ui/Table/index.vue +213 -213
  332. package/src/components/ui/Tag/index.js +5 -5
  333. package/src/components/ui/Tag/index.vue +142 -142
  334. package/src/components/ui/TitleValueCell/index.js +11 -11
  335. package/src/components/ui/TitleValueCell/index.vue +61 -61
  336. package/src/components/ui/index.js +84 -84
  337. package/src/directive/Permissions.js +35 -37
  338. package/src/directive/index.js +12 -12
  339. package/src/index.js +67 -67
  340. package/src/router/index.js +405 -393
  341. package/src/router/menu.js +367 -354
  342. package/src/test/file/index.js +11 -11
  343. package/src/test/file/index.vue +25 -25
  344. package/src/utils/ApiUtils.js +48 -48
  345. package/src/utils/AppBack.js +44 -44
  346. package/src/utils/Axios.js +160 -160
  347. package/src/utils/BarcodeResolve.js +281 -0
  348. package/src/utils/DateTime.js +219 -219
  349. package/src/utils/DeepCopy.js +61 -61
  350. package/src/utils/Dict.js +73 -73
  351. package/src/utils/GetImgSrc.js +53 -53
  352. package/src/utils/Init.js +12 -12
  353. package/src/utils/Language.js +59 -59
  354. package/src/utils/LocalStorage.js +30 -30
  355. package/src/utils/Permissions.js +51 -51
  356. package/src/utils/Print.js +179 -179
  357. package/src/utils/README.md +2 -2
  358. package/src/utils/RouteInit.js +14 -14
  359. package/src/utils/ScanRule.js +150 -150
  360. package/src/utils/SetColor.js +22 -22
  361. package/src/utils/TabBar.js +30 -30
  362. package/src/utils/Tip.js +26 -26
  363. package/src/utils/Toast.js +41 -41
  364. package/src/utils/UUID.js +33 -33
  365. package/src/utils/Warehouse.js +26 -26
  366. package/src/utils/index.js +63 -61
  367. package/src/utils/windowGlobalData.js +88 -88
  368. package/src/views/common/home/index.vue +67 -67
  369. package/src/views/common/init/index.vue +124 -122
  370. package/src/views/common/login/index.vue +23 -23
  371. package/src/views/common/menu/menuOne.vue +36 -36
  372. package/src/views/common/menu/menuTwo.vue +33 -33
  373. package/src/views/common/my/device.vue +23 -23
  374. package/src/views/common/my/index.vue +23 -23
  375. package/src/views/common/my/language.vue +23 -23
  376. package/src/views/common/my/msg.vue +23 -23
  377. package/src/views/common/my/print.vue +23 -23
  378. package/src/views/common/my/warehouse.vue +25 -25
  379. package/src/views/common/task/index.vue +23 -23
  380. package/src/views/count/index.vue +87 -87
  381. package/src/views/count/inv/action.vue +12 -12
  382. package/src/views/count/inv/index.vue +12 -12
  383. package/src/views/count/loc/action.vue +12 -12
  384. package/src/views/count/loc/index.vue +12 -12
  385. package/src/views/inbound/quality/InboundQualityExecuteView.vue +11 -11
  386. package/src/views/inbound/quality/InboundQualityTaskListView.vue +11 -11
  387. package/src/views/inbound/receive/home.vue +14 -14
  388. package/src/views/inbound/receive/index.vue +13 -13
  389. package/src/views/inbound/receive/sku/InboundReceiveSkuAdvanceView.vue +13 -13
  390. package/src/views/inbound/receive/sku/InboundReceiveSkuDirectView.vue +13 -13
  391. package/src/views/inbound/receive/sku/InboundReceiveSkuScanView.vue +13 -13
  392. package/src/views/inner/abnormalMove/index.vue +23 -23
  393. package/src/views/inner/disposeAbnormal/action.vue +23 -23
  394. package/src/views/inner/disposeAbnormal/index.vue +23 -23
  395. package/src/views/inner/lpnMove/action.vue +23 -23
  396. package/src/views/inner/lpnMove/index.vue +23 -23
  397. package/src/views/inner/materialApply/action.vue +22 -22
  398. package/src/views/inner/materialApply/generate.vue +22 -22
  399. package/src/views/inner/movePutAway/index.vue +22 -22
  400. package/src/views/inner/newProject/action.vue +23 -0
  401. package/src/views/inner/newProject/index.vue +23 -0
  402. package/src/views/inner/randomMove/index.vue +23 -23
  403. package/src/views/inner/reportAbnormal/action.vue +23 -23
  404. package/src/views/inner/reportAbnormal/index.vue +23 -23
  405. package/src/views/inner/taskMove/index.vue +23 -23
  406. package/src/views/outbound/aloneBale/action.vue +23 -23
  407. package/src/views/outbound/aloneBale/index.vue +23 -23
  408. package/src/views/outbound/aloneBale/newBale.vue +23 -23
  409. package/src/views/outbound/bale/action.vue +23 -23
  410. package/src/views/outbound/bale/allCheck.vue +23 -23
  411. package/src/views/outbound/bale/index.vue +23 -23
  412. package/src/views/outbound/bale/newBale.vue +23 -23
  413. package/src/views/outbound/delivery/action.vue +23 -23
  414. package/src/views/outbound/delivery/addOrder.vue +23 -23
  415. package/src/views/outbound/delivery/index.vue +23 -23
  416. package/src/views/outbound/pick/aloneAction.vue +23 -23
  417. package/src/views/outbound/pick/boxAction.vue +23 -23
  418. package/src/views/outbound/pick/index.vue +23 -23
  419. package/src/views/outbound/pick/lpnAction.vue +23 -23
  420. package/src/views/outbound/pick/notAloneAction.vue +23 -23
  421. package/src/views/outbound/pickMerge/action.vue +23 -23
  422. package/src/views/outbound/pickMerge/content.vue +23 -23
  423. package/src/views/outbound/pickMerge/index.vue +23 -23
  424. package/src/views/outbound/sow/action.vue +23 -23
  425. package/src/views/outbound/sow/index.vue +23 -23
  426. package/src/views/outbound/summary/box/index.vue +23 -23
  427. package/src/views/outbound/summary/lpn/action.vue +23 -23
  428. package/src/views/outbound/summary/lpn/index.vue +23 -23
  429. package/src/views/receive/abnormal/action.vue +23 -23
  430. package/src/views/receive/abnormal/index.vue +24 -24
  431. package/src/views/receive/putaway/index.vue +23 -23
  432. package/src/views/receive/putaway/lpnAction.vue +23 -23
  433. package/src/views/receive/putaway/skuAction.vue +23 -23
  434. package/src/views/receive/receipt/action.vue +25 -25
  435. package/src/views/receive/receipt/index.vue +25 -25
@@ -1,544 +1,546 @@
1
- <!--
2
- @name:
3
- @description: -
4
- @author 张文
5
- @date: 2022-01-18
6
- -->
7
- <template>
8
- <div
9
- :class="[
10
- 'lw-global-flex-start',
11
- showBottomBorder ? 'lw-global-bottom-border' : '',
12
- required?'lw-global-required' : '',
13
- 'lw-input-box',
14
- ]"
15
- >
16
- <label
17
- v-if="title.length || !!$slots.title"
18
- :class="[
19
- 'lw-global-flex-start',
20
- 'lw-input-title',
21
- showColon?'lw-global-show-colon':''
22
- ]"
23
- :style="{
24
- width:titleWidth ? titleWidth + 'px' : 'auto',
25
- textAlign: titleAlign || 'left',
26
- display:'inline-block'
27
- }"
28
- >
29
- <slot name="title">{{ title }}</slot>
30
-
31
- </label>
32
-
33
- <div class="lw-global-flex-start lw-input-body">
34
- <!-- 输入框主体 -->
35
- <div class="lw-global-flex-start lw-input-boss">
36
-
37
- <!-- 键盘 -->
38
- <img
39
- v-if="showKeyboard && !disabled && !readonly"
40
- class="lw-input-img"
41
- :src="require('../../../assets/img/lwInputIcon/keyboard.png')"
42
- alt="键盘"
43
- @click="keyboardClick"
44
- @dblclick="dblclickKeyboard"
45
- >
46
-
47
- <!-- 文本域 -->
48
- <textarea
49
- v-if="type === 'textarea'"
50
- ref="lwInput"
51
- class="lw-input-input"
52
- v-model="val"
53
- :name="name"
54
- :disabled="disabled"
55
- :readonly="readonly || readonlyInp"
56
- :rows="rows"
57
- :maxlength="maxlength"
58
- :style="{
59
- textAlign:inputAlign,
60
- resize:'none'
61
- }"
62
- :placeholder="placeholderData"
63
- @focus="inputFocus"
64
- @blur="inputBlur"
65
- @keydown.enter="confirm"
66
- />
67
-
68
- <!-- 输入框 -->
69
- <input
70
- v-else
71
- ref="lwInput"
72
- class="lw-input-input"
73
- :type="['number','digit'].includes(type) ? 'text' : type"
74
- :name="name"
75
- :value="val"
76
- :maxlength="maxlength"
77
- :disabled="disabled"
78
- :readonly="readonly || readonlyInp"
79
- :style="{
80
- textAlign:inputAlign
81
- }"
82
- :placeholder="placeholderData"
83
- @focus="inputFocus"
84
- @blur="inputBlur"
85
- @keydown.enter="confirm"
86
- @input="input"
87
- >
88
-
89
- <!-- 字数统计 -->
90
- <div
91
- v-if="showWordLimit"
92
- class="lw-input-word-limit"
93
- >
94
- <span v-if="maxlength">{{ value.length || 0 }} / {{ maxlength }}</span>
95
- <span v-else>{{ value.length }}</span>
96
- </div>
97
-
98
- <!-- 清除按钮 -->
99
- <!-- <img
100
- v-if="showClear && (!disabled || !readonly || !readonlyInp ) && val"
101
- class="lw-input-img"
102
- :src="require('./../../assets/img/lwInputIcon/clear.png')"
103
- alt="清除"
104
- @click="clearClick"
105
- >-->
106
-
107
- <van-icon
108
- v-if="showClear && !disabled && !readonly &&!readonlyInp && val"
109
- class="lw-input-clear"
110
- name="clear"
111
- @click="clearClick"
112
- />
113
-
114
- <!-- 获取焦点时划线用的 -->
115
- <div class="lw-input-border"></div>
116
-
117
- <!-- 按钮插槽 -->
118
- <div v-if="!!$slots.button" class="lw-input-button-box">
119
- <slot name="button"></slot>
120
- </div>
121
- </div>
122
-
123
- </div>
124
-
125
- </div>
126
- </template>
127
-
128
- <script>
129
-
130
- export default {
131
- name: "lwInput",
132
- props:{
133
- // 输入框的值
134
- value: [String, Number],
135
-
136
- // 输入框标题
137
- title: {
138
- type:[String, Number],
139
- default: ''
140
- },
141
-
142
- // 标题的对齐方式
143
- titleAlign:String,
144
-
145
- // 标题的宽度
146
- titleWidth: Number,
147
-
148
- // 输入框的名字,form表单使用
149
- name: String,
150
-
151
- // 输入类型
152
- type:{
153
- type: String,
154
- default: 'text'
155
- },
156
-
157
- // 占位符,默认为:请扫描或输入+传入的title值
158
- placeholder: String,
159
-
160
- // 是否禁用,默认false
161
- disabled:{
162
- type: Boolean,
163
- default: false
164
- },
165
-
166
- // 是否自读,默认false
167
- readonly:{
168
- type:Boolean,
169
- default:false
170
- },
171
-
172
- // 输入内容格式化函数,默认在change事件时触发
173
- formatter: Function,
174
-
175
- // 是否显示必填的星号,默认false。仅展示星号不做必填校验
176
- required:{
177
- type:Boolean,
178
- default:false
179
- },
180
-
181
- // 输入框文本对齐位置,默认左对齐
182
- inputAlign:{
183
- type:String,
184
- default: 'left'
185
- },
186
-
187
- // 文本域时显示的文本行数
188
- rows:{
189
- type: Number,
190
- default: 2
191
- },
192
-
193
- // 允许输入的最大字符量
194
- maxlength:[Number,String],
195
-
196
- // 是否显示字数统计
197
- showWordLimit:{
198
- type: Boolean,
199
- default :false
200
- },
201
-
202
- // 是否显示键盘图标
203
- showKeyboard:{
204
- type: Boolean,
205
- default: true
206
- },
207
-
208
- // 是否显示清除图标
209
- showClear:{
210
- type: Boolean,
211
- default: true
212
- },
213
-
214
- // 是否显示下边框
215
- showBottomBorder:{
216
- type: Boolean,
217
- default: true
218
- },
219
-
220
- // 是否获取输入框焦点,默认false,失去焦点后会改变值为false
221
- getFocus:{
222
- type:Boolean,
223
- default:false
224
- },
225
-
226
- // 是否禁止软键盘弹出,默认禁止弹出,可通过双击输入框强制弹出
227
- notKeyboard:{
228
- type:Boolean,
229
- default:true
230
- },
231
-
232
- // 获得扫码结果后是否立刻将输入框内容置空,默认false
233
- autoClearVal:{
234
- type:Boolean,
235
- default:false
236
- },
237
-
238
- // 扫码解析规则
239
- ruleKey:String,
240
-
241
- // 扫码解析后输入框回填字段的key
242
- ruleValueKey:String,
243
-
244
- // 解码的额外参数
245
- ruleServeQuery:{
246
- type: Object,
247
- default: ()=>{}
248
- },
249
-
250
- // 是否通过双击键盘打开相机扫描功能
251
- openCameraScan:{
252
- type:Boolean,
253
- default:false
254
- },
255
-
256
- // 输入完成后是否立刻失去焦点
257
- inputOverBlur:{
258
- type: Boolean,
259
- default: false
260
- },
261
-
262
- // 是否显示冒号
263
- showColon:{
264
- type: Boolean,
265
- default: false
266
- },
267
-
268
- // 如果输入类型是小数,则小数点接受几位,0表示不限制
269
- decimalScale:{
270
- type: Number,
271
- default: 0
272
- }
273
- },
274
- computed:{
275
- // 输入框实际绑定的值
276
- val:{
277
- get(){
278
- return this.value
279
- },
280
- set(v){
281
- this.$emit('input', v)
282
- }
283
- },
284
- // 提示文字
285
- placeholderData(){
286
- if(this.disabled || this.readonly){
287
- return ''
288
- }
289
-
290
- if (this.placeholder){
291
- return this.placeholder
292
- }
293
-
294
- return this.$lwLanguage.get('wms_project.pda.common.scanInput', '请扫描或输入') + this.title
295
- }
296
- },
297
- watch:{
298
- getFocus:{
299
- handler(n){
300
- n ? this.setFocusFn() : this.setBlurFn()
301
- },
302
- }
303
- },
304
- data() {
305
- return {
306
- // 用于禁止弹出键盘的零时标识
307
- readonlyInp:false,
308
- // 是否通过点击键盘
309
- isClickKeyboard:false
310
- }
311
- },
312
- mounted() {
313
- this.getFocus && this.setFocusFn()
314
- },
315
- methods: {
316
-
317
- // 键盘单击
318
- keyboardClick(){
319
- this.inputFocus()
320
- this.isClickKeyboard = true
321
- },
322
-
323
- // 键盘双击
324
- dblclickKeyboard(){
325
- if (this.openCameraScan){
326
- this.val=this.$lwAppPower.scan() || ''
327
-
328
- setTimeout(()=>{
329
- if(this.val){
330
- this.confirm()
331
- }
332
- },1)
333
- }
334
- },
335
-
336
- // 点击清除按钮
337
- clearClick(){
338
- this.val=''
339
- this.$refs.lwInput.value = ''
340
- this.input()
341
- this.$refs.lwInput.focus()
342
- this.$emit('clear')
343
- },
344
-
345
- // 获取焦点
346
- setFocusFn(){
347
- this.isOpenKeyboard()
348
- this.$refs.lwInput.focus()
349
- },
350
-
351
- // 失去焦点
352
- setBlurFn(){
353
- this.$refs.lwInput.blur()
354
- },
355
-
356
- // 获取焦点事件
357
- inputFocus(){
358
- // 全局变量存入当前获取焦点的节点,方便后期获取焦点
359
- window.lwWindowGlobalData.set('input.dom',this.$refs.lwInput)
360
- this.$emit('update:getFocus', true)
361
- },
362
-
363
- // 失去焦点事件
364
- inputBlur(){
365
- this.$emit('update:getFocus', false)
366
- },
367
-
368
- // 是否弹出输入法
369
- isOpenKeyboard(){
370
- if (this.isClickKeyboard){
371
- this.isClickKeyboard = false
372
- return
373
- }
374
- if (this.notKeyboard){
375
- this.readonlyInp=true
376
- setTimeout(()=>{
377
- this.readonlyInp=false
378
- },200)
379
- }else {
380
- this.isKeyboard=false
381
- }
382
- },
383
-
384
- // 点击回车
385
- async confirm(){
386
- try{
387
- let obj={},val = this.val
388
-
389
- if (this.ruleKey){
390
-
391
- obj = await this.$lwApi.barcode.resolver({
392
- componentId: this.$route.path + '/' + this.ruleKey,
393
- barcode: this.val,
394
- ...this.ruleServeQuery
395
- })
396
- }
397
-
398
- if (obj && this.ruleValueKey){
399
- val = obj.data[this.ruleValueKey] || '-'
400
- }
401
-
402
-
403
- if (this.autoClearVal){
404
- this.clearClick()
405
- }else {
406
- this.val = val
407
- }
408
-
409
- if (this.inputOverBlur){
410
- this.inputBlur()
411
- }
412
- this.$lwAppPower.shortVibrate(500)
413
- this.$emit('confirm', val, obj)
414
- }catch (e){
415
- this.$lwShowErrorMsg(e)
416
- }
417
- },
418
-
419
- input(){
420
- let val = this.$refs.lwInput.value
421
-
422
- // 去除空格
423
- val = val.trim()
424
-
425
- // 整数
426
- if (this.type === 'digit'){
427
- val = val.replace(/\D/g, '')
428
- }
429
-
430
- // 小数
431
- if (this.type === 'number'){
432
- const num = val.replace(/[^\d/.]/, '')
433
- if (/^\d+/.test(num)){
434
- const use = num.includes('.')
435
- if(use){
436
- const list = num.split('.')
437
- const decimal = this.decimalScale ? list[1].substring(0, this.decimalScale) : list[1]
438
- val = list[0] + '.' + decimal
439
- }else {
440
- val = num
441
- }
442
- }else {
443
- val = ''
444
- }
445
- }
446
-
447
- // 是否存在格式化函数
448
- if (this.formatter && typeof this.formatter === 'function'){
449
- val = this.formatter(val)
450
- }
451
-
452
- // 赋值
453
- this.$refs.lwInput.value = val
454
-
455
-
456
- this.$emit('input', val)
457
- }
458
- }
459
- }
460
- </script>
461
-
462
- <style scoped lang="less">
463
- @import "../../../assets/css/var.less";
464
-
465
-
466
- .lw-input-box{
467
- font-size: 14px;
468
- overflow: hidden;
469
- padding: 5px 0;
470
- }
471
-
472
- .lw-input-title{
473
- color: @titleColor;
474
- flex-shrink: 0;
475
- margin-right: 5px;
476
- }
477
-
478
- .lw-input-body{
479
- flex: 1;
480
- position: relative;
481
- transition: all .3s;
482
- }
483
-
484
- .lw-input-boss{
485
- flex: 1;
486
- position: relative;
487
- }
488
-
489
- .lw-input-img{
490
- width: 20px;
491
- }
492
-
493
- .lw-input-clear{
494
- font-size: 18px;
495
- color: #cdcdcd;
496
- }
497
-
498
- .lw-input-input{
499
- width: 100%;
500
- border: none;
501
- padding: 6px;
502
-
503
- &::-webkit-input-placeholder{
504
- color: #ccc;
505
- }
506
-
507
-
508
- &:focus ~ .lw-input-border:after{
509
- width: 100%;
510
- }
511
- }
512
-
513
- .lw-input-border{
514
-
515
- &:after{
516
- content: ' ';
517
- display: block;
518
- position: absolute;
519
- bottom: 0;
520
- left: 0;
521
- width: 0;
522
- height: 1px;
523
- background-color: @baseColor;
524
- transform: scaleY(0.5);
525
- transition: all .3s;
526
- }
527
- }
528
-
529
- .lw-input-word-limit{
530
- font-size: 12px;
531
- flex-shrink: 0;
532
- margin-right: 5px;
533
-
534
- >span{
535
- color: #ccc;
536
- }
537
- }
538
-
539
- .lw-input-button-box{
540
- padding-left: 8px;
541
- flex-shrink: 0;
542
- }
543
-
544
- </style>
1
+ <!--
2
+ @name: 输入框
3
+ @description: -
4
+ @author 张文
5
+ @date: 2022-01-18
6
+ -->
7
+ <template>
8
+ <div
9
+ :class="[
10
+ 'lw-global-flex-start',
11
+ showBottomBorder ? 'lw-global-bottom-border' : '',
12
+ required?'lw-global-required' : '',
13
+ 'lw-input-box',
14
+ ]"
15
+ >
16
+ <label
17
+ v-if="title.length || !!$slots.title"
18
+ :class="[
19
+ 'lw-global-flex-start',
20
+ 'lw-input-title',
21
+ showColon?'lw-global-show-colon':''
22
+ ]"
23
+ :style="{
24
+ width:titleWidth ? titleWidth + 'px' : 'auto',
25
+ textAlign: titleAlign || 'left',
26
+ display:'inline-block'
27
+ }"
28
+ >
29
+ <slot name="title">{{ title }}</slot>
30
+
31
+ </label>
32
+
33
+ <div class="lw-global-flex-start lw-input-body">
34
+ <!-- 输入框主体 -->
35
+ <div class="lw-global-flex-start lw-input-boss">
36
+
37
+ <!-- 键盘 -->
38
+ <img
39
+ v-if="showKeyboard && !disabled && !readonly"
40
+ class="lw-input-img"
41
+ :src="require('../../../assets/img/lwInputIcon/keyboard.png')"
42
+ alt="键盘"
43
+ @click="keyboardClick"
44
+ @dblclick="dblclickKeyboard"
45
+ >
46
+
47
+ <!-- 文本域 -->
48
+ <textarea
49
+ v-if="type === 'textarea'"
50
+ ref="lwInput"
51
+ class="lw-input-input"
52
+ v-model="val"
53
+ :name="name"
54
+ :disabled="disabled"
55
+ :readonly="readonly || readonlyInp"
56
+ :rows="rows"
57
+ :maxlength="maxlength"
58
+ :style="{
59
+ textAlign:inputAlign,
60
+ resize:'none'
61
+ }"
62
+ :placeholder="placeholderData"
63
+ @focus="inputFocus"
64
+ @blur="inputBlur"
65
+ @keydown.enter="confirm"
66
+ />
67
+
68
+ <!-- 输入框 -->
69
+ <input
70
+ v-else
71
+ ref="lwInput"
72
+ class="lw-input-input"
73
+ :type="['number','digit'].includes(type) ? 'text' : type"
74
+ :name="name"
75
+ :value="val"
76
+ :maxlength="maxlength"
77
+ :disabled="disabled"
78
+ :readonly="readonly || readonlyInp"
79
+ :style="{
80
+ textAlign:inputAlign
81
+ }"
82
+ :placeholder="placeholderData"
83
+ @focus="inputFocus"
84
+ @blur="inputBlur"
85
+ @keydown.enter="confirm"
86
+ @input="input"
87
+ >
88
+
89
+ <!-- 字数统计 -->
90
+ <div
91
+ v-if="showWordLimit"
92
+ class="lw-input-word-limit"
93
+ >
94
+ <span v-if="maxlength">{{ value.length || 0 }} / {{ maxlength }}</span>
95
+ <span v-else>{{ value.length }}</span>
96
+ </div>
97
+
98
+ <!-- 清除按钮 -->
99
+ <van-icon
100
+ v-if="showClear && !disabled && !readonly &&!readonlyInp && val"
101
+ class="lw-input-clear"
102
+ name="clear"
103
+ @click="clearClick"
104
+ />
105
+
106
+ <!-- 获取焦点时划线用的 -->
107
+ <div class="lw-input-border"></div>
108
+
109
+ <!-- 按钮插槽 -->
110
+ <div v-if="!!$slots.button" class="lw-input-button-box">
111
+ <slot name="button"></slot>
112
+ </div>
113
+ </div>
114
+
115
+ </div>
116
+
117
+ </div>
118
+ </template>
119
+
120
+ <script>
121
+
122
+ export default {
123
+ name: "lwInput",
124
+ props:{
125
+ // 输入框的值
126
+ value: [String, Number],
127
+
128
+ // 输入框标题
129
+ title: {
130
+ type:[String, Number],
131
+ default: ''
132
+ },
133
+
134
+ // 标题的对齐方式
135
+ titleAlign:String,
136
+
137
+ // 标题的宽度
138
+ titleWidth: Number,
139
+
140
+ // 输入框的名字,form表单使用
141
+ name: String,
142
+
143
+ // 输入类型
144
+ type:{
145
+ type: String,
146
+ default: 'text'
147
+ },
148
+
149
+ // 占位符,默认为:请扫描或输入+传入的title值
150
+ placeholder: String,
151
+
152
+ // 是否禁用,默认false
153
+ disabled:{
154
+ type: Boolean,
155
+ default: false
156
+ },
157
+
158
+ // 是否自读,默认false
159
+ readonly:{
160
+ type:Boolean,
161
+ default:false
162
+ },
163
+
164
+ // 输入内容格式化函数,默认在change事件时触发
165
+ formatter: Function,
166
+
167
+ // 是否显示必填的星号,默认false。仅展示星号不做必填校验
168
+ required:{
169
+ type:Boolean,
170
+ default:false
171
+ },
172
+
173
+ // 输入框文本对齐位置,默认左对齐
174
+ inputAlign:{
175
+ type:String,
176
+ default: 'left'
177
+ },
178
+
179
+ // 文本域时显示的文本行数
180
+ rows:{
181
+ type: Number,
182
+ default: 2
183
+ },
184
+
185
+ // 允许输入的最大字符量
186
+ maxlength:[Number,String],
187
+
188
+ // 是否显示字数统计
189
+ showWordLimit:{
190
+ type: Boolean,
191
+ default :false
192
+ },
193
+
194
+ // 是否显示键盘图标
195
+ showKeyboard:{
196
+ type: Boolean,
197
+ default: true
198
+ },
199
+
200
+ // 是否显示清除图标
201
+ showClear:{
202
+ type: Boolean,
203
+ default: true
204
+ },
205
+
206
+ // 是否显示下边框
207
+ showBottomBorder:{
208
+ type: Boolean,
209
+ default: true
210
+ },
211
+
212
+ // 是否获取输入框焦点,默认false,失去焦点后会改变值为false
213
+ getFocus:{
214
+ type:Boolean,
215
+ default:false
216
+ },
217
+
218
+ // 是否禁止软键盘弹出,默认禁止弹出,可通过双击输入框强制弹出
219
+ notKeyboard:{
220
+ type:Boolean,
221
+ default:true
222
+ },
223
+
224
+ // 获得扫码结果后是否立刻将输入框内容置空,默认false
225
+ autoClearVal:{
226
+ type:Boolean,
227
+ default:false
228
+ },
229
+
230
+ // 扫码解析规则
231
+ ruleKey:String,
232
+
233
+ // 条码解析规则前缀,不传默认使用路由地址+ruleKey
234
+ rulePrefix: String,
235
+
236
+ // 扫码解析后输入框回填字段的key
237
+ ruleValueKey: {
238
+ type: String,
239
+ default: 'key'
240
+ },
241
+
242
+ // 解码的额外参数
243
+ ruleServeQuery:{
244
+ type: Object,
245
+ default: ()=>{}
246
+ },
247
+
248
+ // 是否通过双击键盘打开相机扫描功能
249
+ openCameraScan:{
250
+ type:Boolean,
251
+ default:false
252
+ },
253
+
254
+ // 输入完成后是否立刻失去焦点
255
+ inputOverBlur:{
256
+ type: Boolean,
257
+ default: false
258
+ },
259
+
260
+ // 是否显示冒号
261
+ showColon:{
262
+ type: Boolean,
263
+ default: false
264
+ },
265
+
266
+ // 如果输入类型是小数,则小数点接受几位,0表示不限制
267
+ decimalScale:{
268
+ type: Number,
269
+ default: 0
270
+ }
271
+ },
272
+ computed:{
273
+ // 输入框实际绑定的值
274
+ val:{
275
+ get(){
276
+ return this.value
277
+ },
278
+ set(v){
279
+ this.$emit('input', v)
280
+ }
281
+ },
282
+ // 提示文字
283
+ placeholderData(){
284
+ if(this.disabled || this.readonly){
285
+ return ''
286
+ }
287
+
288
+ if (this.placeholder){
289
+ return this.placeholder
290
+ }
291
+
292
+ return this.$lwLanguage.get('wms_project.pda.common.scanInput', '请扫描或输入') + this.title
293
+ }
294
+ },
295
+ watch:{
296
+ getFocus:{
297
+ handler(n){
298
+ n ? this.setFocusFn() : this.setBlurFn()
299
+ },
300
+ }
301
+ },
302
+ data() {
303
+ return {
304
+ // 用于禁止弹出键盘的零时标识
305
+ readonlyInp:false,
306
+ // 是否通过点击键盘
307
+ isClickKeyboard:false
308
+ }
309
+ },
310
+ mounted() {
311
+ this.getFocus && this.setFocusFn()
312
+ },
313
+ methods: {
314
+
315
+ // 键盘单击
316
+ keyboardClick(){
317
+ this.inputFocus()
318
+ this.isClickKeyboard = true
319
+ },
320
+
321
+ // 键盘双击
322
+ dblclickKeyboard(){
323
+ if (this.openCameraScan){
324
+ this.val=this.$lwAppPower.scan() || ''
325
+
326
+ setTimeout(()=>{
327
+ if(this.val){
328
+ this.confirm()
329
+ }
330
+ },1)
331
+ }
332
+ },
333
+
334
+ // 点击清除按钮
335
+ clearClick(){
336
+ this.val=''
337
+ this.$refs.lwInput.value = ''
338
+ this.input()
339
+ this.$refs.lwInput.focus()
340
+ this.$emit('clear')
341
+ },
342
+
343
+ // 获取焦点
344
+ setFocusFn(){
345
+ this.isOpenKeyboard()
346
+ this.$refs.lwInput.focus()
347
+ },
348
+
349
+ // 失去焦点
350
+ setBlurFn(){
351
+ this.$refs.lwInput.blur()
352
+ },
353
+
354
+ // 获取焦点事件
355
+ inputFocus(){
356
+ // 全局变量存入当前获取焦点的节点,方便后期获取焦点
357
+ window.lwWindowGlobalData.set('input.dom',this.$refs.lwInput)
358
+ this.$emit('update:getFocus', true)
359
+ },
360
+
361
+ // 失去焦点事件
362
+ inputBlur(){
363
+ this.$emit('update:getFocus', false)
364
+ },
365
+
366
+ // 是否弹出输入法
367
+ isOpenKeyboard(){
368
+ if (this.isClickKeyboard){
369
+ this.isClickKeyboard = false
370
+ return
371
+ }
372
+ if (this.notKeyboard){
373
+ this.readonlyInp=true
374
+ setTimeout(()=>{
375
+ this.readonlyInp=false
376
+ },200)
377
+ }else {
378
+ this.isKeyboard=false
379
+ }
380
+ },
381
+
382
+ // 点击回车
383
+ confirm(){
384
+ let obj={},val = this.val
385
+
386
+ if (this.ruleKey){
387
+
388
+ const prefix = this.rulePrefix || this.$route.path
389
+
390
+ obj = this.$lwBarcodeResolve.resolve({
391
+ componentId: prefix + '/' + this.ruleKey,
392
+ barcode: this.val,
393
+ ...this.ruleServeQuery
394
+ })
395
+
396
+ // 如果解析失败就不触发任何事件并清空输入框
397
+ if(!obj.success) {
398
+ this.clearClick()
399
+ return
400
+ }
401
+
402
+ if (this.ruleValueKey){
403
+ val = obj.data[this.ruleValueKey] || '-'
404
+ }
405
+ }
406
+
407
+
408
+ if (this.autoClearVal){
409
+ this.clearClick()
410
+ }else {
411
+ this.val = val
412
+ }
413
+
414
+ if (this.inputOverBlur){
415
+ this.inputBlur()
416
+ }
417
+ this.$lwAppPower.shortVibrate(500)
418
+ this.$emit('confirm', val, obj)
419
+ },
420
+
421
+ input(){
422
+ let val = this.$refs.lwInput.value
423
+
424
+ // 去除空格
425
+ val = val.trim()
426
+
427
+ // 整数
428
+ if (this.type === 'digit'){
429
+ val = val.replace(/\D/g, '')
430
+ }
431
+
432
+ // 小数
433
+ if (this.type === 'number'){
434
+ const num = val.replace(/[^\d/.]/, '')
435
+ if (/^\d+/.test(num)){
436
+ const use = num.includes('.')
437
+ if(use){
438
+ const list = num.split('.')
439
+ const decimal = this.decimalScale ? list[1].substring(0, this.decimalScale) : list[1]
440
+ val = list[0] + '.' + decimal
441
+ }else {
442
+ val = num
443
+ }
444
+ }else {
445
+ val = ''
446
+ }
447
+ }
448
+
449
+ // 是否存在格式化函数
450
+ if (this.formatter && typeof this.formatter === 'function'){
451
+ val = this.formatter(val)
452
+ }
453
+
454
+ // 赋值
455
+ this.$refs.lwInput.value = val
456
+
457
+
458
+ this.$emit('input', val)
459
+ }
460
+ }
461
+ }
462
+ </script>
463
+
464
+ <style scoped lang="less">
465
+ @import "../../../assets/css/var.less";
466
+
467
+
468
+ .lw-input-box{
469
+ font-size: 14px;
470
+ overflow: hidden;
471
+ padding: 5px 0;
472
+ }
473
+
474
+ .lw-input-title{
475
+ color: @titleColor;
476
+ flex-shrink: 0;
477
+ margin-right: 5px;
478
+ }
479
+
480
+ .lw-input-body{
481
+ flex: 1;
482
+ position: relative;
483
+ transition: all .3s;
484
+ }
485
+
486
+ .lw-input-boss{
487
+ flex: 1;
488
+ position: relative;
489
+ }
490
+
491
+ .lw-input-img{
492
+ width: 20px;
493
+ }
494
+
495
+ .lw-input-clear{
496
+ font-size: 18px;
497
+ color: #cdcdcd;
498
+ }
499
+
500
+ .lw-input-input{
501
+ width: 100%;
502
+ border: none;
503
+ padding: 6px;
504
+
505
+ &::-webkit-input-placeholder{
506
+ color: #ccc;
507
+ }
508
+
509
+
510
+ &:focus ~ .lw-input-border:after{
511
+ width: 100%;
512
+ }
513
+ }
514
+
515
+ .lw-input-border{
516
+
517
+ &:after{
518
+ content: ' ';
519
+ display: block;
520
+ position: absolute;
521
+ bottom: 0;
522
+ left: 0;
523
+ width: 0;
524
+ height: 1px;
525
+ background-color: @baseColor;
526
+ transform: scaleY(0.5);
527
+ transition: all .3s;
528
+ }
529
+ }
530
+
531
+ .lw-input-word-limit{
532
+ font-size: 12px;
533
+ flex-shrink: 0;
534
+ margin-right: 5px;
535
+
536
+ >span{
537
+ color: #ccc;
538
+ }
539
+ }
540
+
541
+ .lw-input-button-box{
542
+ padding-left: 8px;
543
+ flex-shrink: 0;
544
+ }
545
+
546
+ </style>