Browse Source

处理bug及打包06.25

yangg 1 year ago
parent
commit
5033fc7640
100 changed files with 327 additions and 348 deletions
  1. 1 1
      manager-admin/dist/index.html
  2. 0 0
      manager-admin/dist/static/css/app.2504f4a014a0e06a9efabe33f1571f70.css
  3. BIN
      manager-admin/dist/static/css/app.2504f4a014a0e06a9efabe33f1571f70.css.gz
  4. 0 0
      manager-admin/dist/static/js/1.40fbd97f9319c7d0e17a.js
  5. BIN
      manager-admin/dist/static/js/1.40fbd97f9319c7d0e17a.js.gz
  6. 0 0
      manager-admin/dist/static/js/1.b523326ac6beee4ab74b.js
  7. BIN
      manager-admin/dist/static/js/1.b523326ac6beee4ab74b.js.gz
  8. 0 0
      manager-admin/dist/static/js/11.ea55fb6b2f81c4d220a7.js
  9. BIN
      manager-admin/dist/static/js/11.ea55fb6b2f81c4d220a7.js.gz
  10. 0 0
      manager-admin/dist/static/js/11.f642d0e504953d87d758.js
  11. BIN
      manager-admin/dist/static/js/11.f642d0e504953d87d758.js.gz
  12. 0 0
      manager-admin/dist/static/js/25.3574d677122444940708.js
  13. 0 0
      manager-admin/dist/static/js/25.92af13fcbf4b2ab80176.js
  14. BIN
      manager-admin/dist/static/js/25.92af13fcbf4b2ab80176.js.gz
  15. 0 0
      manager-admin/dist/static/js/26.7278ea1f6b2a1a98c2e2.js
  16. BIN
      manager-admin/dist/static/js/26.7278ea1f6b2a1a98c2e2.js.gz
  17. 0 0
      manager-admin/dist/static/js/26.a8e5a3abf44aa22b1eab.js
  18. BIN
      manager-admin/dist/static/js/26.a8e5a3abf44aa22b1eab.js.gz
  19. 0 0
      manager-admin/dist/static/js/31.44308873503e68029b54.js
  20. BIN
      manager-admin/dist/static/js/31.44308873503e68029b54.js.gz
  21. 0 0
      manager-admin/dist/static/js/31.4ad42ae07e4e14dacf7a.js
  22. BIN
      manager-admin/dist/static/js/31.4ad42ae07e4e14dacf7a.js.gz
  23. 0 0
      manager-admin/dist/static/js/37.eeea183a6d82286ff55a.js
  24. BIN
      manager-admin/dist/static/js/37.eeea183a6d82286ff55a.js.gz
  25. 0 0
      manager-admin/dist/static/js/38.6a57f50549647ddffc75.js
  26. 0 0
      manager-admin/dist/static/js/39.7a423f51ce2ec680aa58.js
  27. 0 0
      manager-admin/dist/static/js/4.5615c6a7e7fe63256f30.js
  28. BIN
      manager-admin/dist/static/js/4.5615c6a7e7fe63256f30.js.gz
  29. 0 0
      manager-admin/dist/static/js/4.6ea7ea95bf3ef56de999.js
  30. BIN
      manager-admin/dist/static/js/4.6ea7ea95bf3ef56de999.js.gz
  31. BIN
      manager-admin/dist/static/js/40.64f5a5b8a710eef71f8f.js.gz
  32. 0 0
      manager-admin/dist/static/js/40.6cf5567627509b781a12.js
  33. BIN
      manager-admin/dist/static/js/41.105519940ff667762160.js.gz
  34. 0 0
      manager-admin/dist/static/js/41.bcc09a1b546738f21eb4.js
  35. BIN
      manager-admin/dist/static/js/41.bcc09a1b546738f21eb4.js.gz
  36. 0 0
      manager-admin/dist/static/js/42.6c4a5bb3da3f720d6e54.js
  37. BIN
      manager-admin/dist/static/js/42.6c4a5bb3da3f720d6e54.js.gz
  38. 0 0
      manager-admin/dist/static/js/43.9dd922d728b40b50b952.js
  39. BIN
      manager-admin/dist/static/js/43.9dd922d728b40b50b952.js.gz
  40. 0 0
      manager-admin/dist/static/js/44.5ef1697c4a5d9e13d1ae.js
  41. 0 0
      manager-admin/dist/static/js/45.e8efbf421d0962b57c45.js
  42. 0 0
      manager-admin/dist/static/js/45.fe04795de9ac58db60d3.js
  43. BIN
      manager-admin/dist/static/js/45.fe04795de9ac58db60d3.js.gz
  44. 0 0
      manager-admin/dist/static/js/46.7418b356c5279c486cbc.js
  45. BIN
      manager-admin/dist/static/js/46.7418b356c5279c486cbc.js.gz
  46. BIN
      manager-admin/dist/static/js/46.d1e37171be2305fab29e.js.gz
  47. 0 0
      manager-admin/dist/static/js/47.f018867bed1fd151a721.js
  48. BIN
      manager-admin/dist/static/js/47.f018867bed1fd151a721.js.gz
  49. 0 0
      manager-admin/dist/static/js/48.0fa05ef298ed351b0abb.js
  50. BIN
      manager-admin/dist/static/js/48.0fa05ef298ed351b0abb.js.gz
  51. 0 0
      manager-admin/dist/static/js/48.e87348134ca4b28d3a82.js
  52. 0 0
      manager-admin/dist/static/js/49.55335791aa1da3bdaaf5.js
  53. BIN
      manager-admin/dist/static/js/49.55335791aa1da3bdaaf5.js.gz
  54. BIN
      manager-admin/dist/static/js/49.98fd28b0cde1362069d8.js.gz
  55. 0 0
      manager-admin/dist/static/js/51.b3e7662584b9eb6a3147.js
  56. BIN
      manager-admin/dist/static/js/51.b3e7662584b9eb6a3147.js.gz
  57. 0 0
      manager-admin/dist/static/js/51.b65955ad91e249cb98ff.js
  58. BIN
      manager-admin/dist/static/js/51.b65955ad91e249cb98ff.js.gz
  59. BIN
      manager-admin/dist/static/js/54.9977b444c1ca143e5947.js.gz
  60. 0 0
      manager-admin/dist/static/js/54.ef974302411bd82e2e03.js
  61. BIN
      manager-admin/dist/static/js/54.ef974302411bd82e2e03.js.gz
  62. 0 0
      manager-admin/dist/static/js/55.0e89d87d55c3bac64507.js
  63. BIN
      manager-admin/dist/static/js/55.0e89d87d55c3bac64507.js.gz
  64. 0 0
      manager-admin/dist/static/js/56.1b3928466d2b91f4f678.js
  65. BIN
      manager-admin/dist/static/js/56.1b3928466d2b91f4f678.js.gz
  66. 0 0
      manager-admin/dist/static/js/56.2230c8b23dc0557b7628.js
  67. 0 0
      manager-admin/dist/static/js/7.b8b8a39970ac826ea53e.js
  68. BIN
      manager-admin/dist/static/js/7.b8b8a39970ac826ea53e.js.gz
  69. 0 0
      manager-admin/dist/static/js/7.f9baf50fb2c8d2d6fab5.js
  70. BIN
      manager-admin/dist/static/js/7.f9baf50fb2c8d2d6fab5.js.gz
  71. 0 0
      manager-admin/dist/static/js/8.103c8baf7045fe0f65d3.js
  72. BIN
      manager-admin/dist/static/js/8.103c8baf7045fe0f65d3.js.gz
  73. 0 0
      manager-admin/dist/static/js/9.56ad90763b51e0b59cfb.js
  74. BIN
      manager-admin/dist/static/js/9.56ad90763b51e0b59cfb.js.gz
  75. 0 0
      manager-admin/dist/static/js/9.cef3ededcd61722c8005.js
  76. BIN
      manager-admin/dist/static/js/9.cef3ededcd61722c8005.js.gz
  77. 0 0
      manager-admin/dist/static/js/app.2731d956d557dc16b8e0.js
  78. BIN
      manager-admin/dist/static/js/app.2731d956d557dc16b8e0.js.gz
  79. 0 0
      manager-admin/dist/static/js/app.3cc8b31149b918cd9820.js
  80. BIN
      manager-admin/dist/static/js/app.3cc8b31149b918cd9820.js.gz
  81. 0 0
      manager-admin/dist/static/js/manifest.2c4e3c65bf8cb3a8a4ab.js
  82. 0 0
      manager-admin/dist/static/js/manifest.70f0b836b393120bf8a3.js
  83. 2 2
      manager-admin/src/components/UploadSortIcon/src/main.vue
  84. 3 3
      manager-admin/src/components/UploadSortable/src/main.vue
  85. 1 1
      manager-admin/src/lang/zh.js
  86. 2 6
      manager-admin/src/views/basicSetting/goods/editForm/BasicInfo.vue
  87. 2 2
      manager-admin/src/views/basicSetting/goods/index.vue
  88. 1 1
      manager-admin/src/views/layout/components/TagsView.vue
  89. 13 12
      manager-admin/src/views/setting/serialList.vue
  90. 1 1
      manager-admin/src/views/stock/goodsExchange/addInventory.vue
  91. 7 1
      manager-admin/src/views/stock/goodsExchange/checkInventory.vue
  92. 12 9
      manager-admin/src/views/stock/goodsInventory/goodsInventory.vue
  93. 50 36
      manager-admin/src/views/stock/goodsInventory/goodsInventoryAdd.vue
  94. 12 7
      manager-admin/src/views/stock/goodsInventoryLoss/goodsInventoryLoss.vue
  95. 113 66
      manager-admin/src/views/stock/goodsInventoryLoss/goodsInventoryLossAdd.vue
  96. 73 191
      manager-admin/src/views/stock/goodsLend.vue
  97. 2 2
      manager-admin/src/views/stock/goodsTransfer.vue
  98. 3 2
      manager-admin/src/views/stock/order.vue
  99. 2 2
      manager-admin/src/views/stock/orderAdd.vue
  100. 27 3
      manager-admin/src/views/stock/orderCheck.vue

+ 1 - 1
manager-admin/dist/index.html

@@ -1,3 +1,3 @@
 <!DOCTYPE html><html><head><meta charset=utf-8><script>var ua = window.navigator.userAgent
     var isIe = /MSIE|Trident/.test(ua)
-    // if (isIe) window.location.href = 'http://support.dmeng.net/upgrade-your-browser.html?referrer=' + encodeURIComponent(window.location.href)</script><script src=/static/js/envs.js></script><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><title>erp</title><link rel="shortcut icon" href=/favicon.ico><link href=/static/css/app.272b55526ecb830fa2670366c6155191.css rel=stylesheet></head><body><div id=app><div style="display: flex;width: 100vw;height: 100vh;justify-content:center;align-items:center"><img src=/static/img/index.ripple-radio-preloader.gif alt=""></div></div><script src=/static/js/jquery.min.js></script><script src=/static/js/xlsx.full.min.js></script><script src=/static/js/echarts.min.js></script><script src=/static/js/base64.min.js></script><script src=/static/js/psl.min.js></script><script src=/static/UE/ueditor.config.js></script><script src=/static/UE/ueditor.all.js></script><script src=/static/UE/lang/zh-cn/zh-cn.js></script><script src=/static/UE/ueditor.parse.js></script><script src="//webapi.amap.com/maps?v=2.0&key=a4553619077791eb0a6df2f450b9a03b&plugin=AMap.CircleEditor"></script><script src=//webapi.amap.com/ui/1.1/main.js></script><script type=text/javascript src=/static/js/manifest.70f0b836b393120bf8a3.js></script><script type=text/javascript src=/static/js/vendor.4b8436f4db68c4fe04db.js></script><script type=text/javascript src=/static/js/app.2731d956d557dc16b8e0.js></script></body></html>
+    // if (isIe) window.location.href = 'http://support.dmeng.net/upgrade-your-browser.html?referrer=' + encodeURIComponent(window.location.href)</script><script src=/static/js/envs.js></script><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><title>erp</title><link rel="shortcut icon" href=/favicon.ico><link href=/static/css/app.2504f4a014a0e06a9efabe33f1571f70.css rel=stylesheet></head><body><div id=app><div style="display: flex;width: 100vw;height: 100vh;justify-content:center;align-items:center"><img src=/static/img/index.ripple-radio-preloader.gif alt=""></div></div><script src=/static/js/jquery.min.js></script><script src=/static/js/xlsx.full.min.js></script><script src=/static/js/echarts.min.js></script><script src=/static/js/base64.min.js></script><script src=/static/js/psl.min.js></script><script src=/static/UE/ueditor.config.js></script><script src=/static/UE/ueditor.all.js></script><script src=/static/UE/lang/zh-cn/zh-cn.js></script><script src=/static/UE/ueditor.parse.js></script><script src="//webapi.amap.com/maps?v=2.0&key=a4553619077791eb0a6df2f450b9a03b&plugin=AMap.CircleEditor"></script><script src=//webapi.amap.com/ui/1.1/main.js></script><script type=text/javascript src=/static/js/manifest.2c4e3c65bf8cb3a8a4ab.js></script><script type=text/javascript src=/static/js/vendor.4b8436f4db68c4fe04db.js></script><script type=text/javascript src=/static/js/app.3cc8b31149b918cd9820.js></script></body></html>

File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/css/app.2504f4a014a0e06a9efabe33f1571f70.css


BIN
manager-admin/dist/static/css/app.272b55526ecb830fa2670366c6155191.css.gz → manager-admin/dist/static/css/app.2504f4a014a0e06a9efabe33f1571f70.css.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/1.40fbd97f9319c7d0e17a.js


BIN
manager-admin/dist/static/js/1.40fbd97f9319c7d0e17a.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/1.b523326ac6beee4ab74b.js


BIN
manager-admin/dist/static/js/1.b523326ac6beee4ab74b.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/11.ea55fb6b2f81c4d220a7.js


BIN
manager-admin/dist/static/js/11.ea55fb6b2f81c4d220a7.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/11.f642d0e504953d87d758.js


BIN
manager-admin/dist/static/js/11.f642d0e504953d87d758.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/25.3574d677122444940708.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/25.92af13fcbf4b2ab80176.js


BIN
manager-admin/dist/static/js/25.92af13fcbf4b2ab80176.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/26.7278ea1f6b2a1a98c2e2.js


BIN
manager-admin/dist/static/js/26.7278ea1f6b2a1a98c2e2.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/26.a8e5a3abf44aa22b1eab.js


BIN
manager-admin/dist/static/js/26.a8e5a3abf44aa22b1eab.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/31.44308873503e68029b54.js


BIN
manager-admin/dist/static/js/31.44308873503e68029b54.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/31.4ad42ae07e4e14dacf7a.js


BIN
manager-admin/dist/static/js/31.4ad42ae07e4e14dacf7a.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/37.eeea183a6d82286ff55a.js


BIN
manager-admin/dist/static/js/37.eeea183a6d82286ff55a.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/38.6a57f50549647ddffc75.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/39.7a423f51ce2ec680aa58.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/4.5615c6a7e7fe63256f30.js


BIN
manager-admin/dist/static/js/4.5615c6a7e7fe63256f30.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/4.6ea7ea95bf3ef56de999.js


BIN
manager-admin/dist/static/js/4.6ea7ea95bf3ef56de999.js.gz


BIN
manager-admin/dist/static/js/40.64f5a5b8a710eef71f8f.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/40.6cf5567627509b781a12.js


BIN
manager-admin/dist/static/js/41.105519940ff667762160.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/41.bcc09a1b546738f21eb4.js


BIN
manager-admin/dist/static/js/41.bcc09a1b546738f21eb4.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/42.6c4a5bb3da3f720d6e54.js


BIN
manager-admin/dist/static/js/42.6c4a5bb3da3f720d6e54.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/43.9dd922d728b40b50b952.js


BIN
manager-admin/dist/static/js/43.9dd922d728b40b50b952.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/44.5ef1697c4a5d9e13d1ae.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/45.e8efbf421d0962b57c45.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/45.fe04795de9ac58db60d3.js


BIN
manager-admin/dist/static/js/45.fe04795de9ac58db60d3.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/46.7418b356c5279c486cbc.js


BIN
manager-admin/dist/static/js/44.dada9c01e6a2c9fa6618.js.gz → manager-admin/dist/static/js/46.7418b356c5279c486cbc.js.gz


BIN
manager-admin/dist/static/js/46.d1e37171be2305fab29e.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/47.f018867bed1fd151a721.js


BIN
manager-admin/dist/static/js/47.f018867bed1fd151a721.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/48.0fa05ef298ed351b0abb.js


BIN
manager-admin/dist/static/js/48.0fa05ef298ed351b0abb.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/48.e87348134ca4b28d3a82.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/49.55335791aa1da3bdaaf5.js


BIN
manager-admin/dist/static/js/49.55335791aa1da3bdaaf5.js.gz


BIN
manager-admin/dist/static/js/49.98fd28b0cde1362069d8.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/51.b3e7662584b9eb6a3147.js


BIN
manager-admin/dist/static/js/51.b3e7662584b9eb6a3147.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/51.b65955ad91e249cb98ff.js


BIN
manager-admin/dist/static/js/51.b65955ad91e249cb98ff.js.gz


BIN
manager-admin/dist/static/js/54.9977b444c1ca143e5947.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/54.ef974302411bd82e2e03.js


BIN
manager-admin/dist/static/js/54.ef974302411bd82e2e03.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/55.0e89d87d55c3bac64507.js


BIN
manager-admin/dist/static/js/55.0e89d87d55c3bac64507.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/56.1b3928466d2b91f4f678.js


BIN
manager-admin/dist/static/js/56.1b3928466d2b91f4f678.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/56.2230c8b23dc0557b7628.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/7.b8b8a39970ac826ea53e.js


BIN
manager-admin/dist/static/js/7.b8b8a39970ac826ea53e.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/7.f9baf50fb2c8d2d6fab5.js


BIN
manager-admin/dist/static/js/7.f9baf50fb2c8d2d6fab5.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/8.103c8baf7045fe0f65d3.js


BIN
manager-admin/dist/static/js/8.103c8baf7045fe0f65d3.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/9.56ad90763b51e0b59cfb.js


BIN
manager-admin/dist/static/js/9.56ad90763b51e0b59cfb.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/9.cef3ededcd61722c8005.js


BIN
manager-admin/dist/static/js/8.9901c0a8aff751d40567.js.gz → manager-admin/dist/static/js/9.cef3ededcd61722c8005.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/app.2731d956d557dc16b8e0.js


BIN
manager-admin/dist/static/js/app.2731d956d557dc16b8e0.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/app.3cc8b31149b918cd9820.js


BIN
manager-admin/dist/static/js/app.3cc8b31149b918cd9820.js.gz


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/manifest.2c4e3c65bf8cb3a8a4ab.js


File diff suppressed because it is too large
+ 0 - 0
manager-admin/dist/static/js/manifest.70f0b836b393120bf8a3.js


+ 2 - 2
manager-admin/src/components/UploadSortIcon/src/main.vue

@@ -96,13 +96,13 @@
       /** 图片上传之前的校验  */
       beforeAvatarUpload(file) {
         const isType = file.type === 'image/jpeg' || file.type === 'image/jpg' || file.type === 'image/png'
-        const isLt1M = file.size / 1024 / 1024 < 1
+        const isLt1M = file.size / 1024 / 1024 < 5
 
         if (!isType) {
           this.$message.error('上传图片只能是 JPG/JPEG/PNG 格式!')
         }
         if (!isLt1M) {
-          this.$message.error('上传商品相册图片大小不能超过 1MB!')
+          this.$message.error('上传商品相册图片大小不能超过 5MB!')
         }
 
         /** 重复校验*/

+ 3 - 3
manager-admin/src/components/UploadSortable/src/main.vue

@@ -28,7 +28,7 @@
       :on-error="handleError"
       :on-success="handleSuccess">
       <i class="el-icon-plus avatar-uploader-icon"></i>
-      <div slot="tip" class="el-upload__tip" style="margin-top: -5px">请上传jpg、jpeg、png格式,建议分辨率不要超过800*800、大小不超3M的1:1正方形图片</div>
+      <div slot="tip" class="el-upload__tip" style="margin-top: -5px">请上传jpg、jpeg、png格式,建议分辨率不要超过800*800、大小不超5M的1:1正方形图片</div>
     </el-upload>
     <el-dialog :visible.sync="dialogVisible">
       <img width="100%" :src="dialogImageUrl">
@@ -96,13 +96,13 @@
       /** 图片上传之前的校验  */
       beforeAvatarUpload(file) {
         const isType = file.type === 'image/jpeg' || file.type === 'image/jpg' || file.type === 'image/png'
-        const isLt1M = file.size / 1024 / 1024 < 1
+        const isLt1M = file.size / 1024 / 1024 < 5
 
         if (!isType) {
           this.$message.error('上传图片只能是 JPG/JPEG/PNG 格式!')
         }
         if (!isLt1M) {
-          this.$message.error('上传商品相册图片大小不能超过 1MB!')
+          this.$message.error('上传商品相册图片大小不能超过 5MB!')
         }
 
         /** 重复校验*/

+ 1 - 1
manager-admin/src/lang/zh.js

@@ -61,7 +61,7 @@ export default {
     goodsInventoryLoss: '库存报损',
     goodsInventoryLossAudit: '库存报损审核',
     goodsInventoryLossAdd: '新增库存报损',
-    goodsInventoryLossEdit: '编辑库存报损',
+    goodsInventoryLossEdit: '库存报损审核',
     goodsInventoryLossDetail: '库存报损详情',
     goodsInventoryCheck:'库存盘点查看',
     goodsUnderstock: '调拨列表',

+ 2 - 6
manager-admin/src/views/basicSetting/goods/editForm/BasicInfo.vue

@@ -42,15 +42,11 @@
           <el-radio :label="false">下架</el-radio>
         </el-radio-group>
       </el-form-item>
-      <el-form-item prop="allow_sn" label="是否启用序列号" :rules="formRules.allow_sn">
-        <!-- <el-radio-group v-model="formData.allow_sn">
-          <el-radio :label=1>是</el-radio>
-          <el-radio :label=2>否</el-radio>
-        </el-radio-group> -->
+      <!-- <el-form-item prop="allow_sn" label="是否启用序列号" :rules="formRules.allow_sn">
         <el-switch v-model="formData.allow_sn" :active-value="1" :inactive-value="2" active-color="#13ce66"
           inactive-color="#ff4949">
         </el-switch>
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="商品图片" prop="image_list" :rules="formRules.image_list">
         <upload-sortable :goodsGalleryList="formData.image_list" @change="handlePictureChange" />
       </el-form-item>

+ 2 - 2
manager-admin/src/views/basicSetting/goods/index.vue

@@ -50,7 +50,7 @@
             <div class="toolbar-search" style="display: flex; align-items: center;">
               <span style=" white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">商品编号/序列号:</span>
               <en-table-search @search="searchEvent" placeholder="请输入关键字搜索" />
-              <el-button @click="refresh" icon="el-icon-refresh" type="info" plain></el-button>
+              <el-button style="margin-left: 5px;" @click="refresh" icon="el-icon-refresh" type="info" plain></el-button>
             </div>
           </div>
 
@@ -112,7 +112,7 @@
           }" @change="handleChange" clearable></el-cascader>
         </el-form-item>
         <el-form-item label="商品类别名称" prop="category_name">
-          <el-input v-model="categoryForm.category_name" :maxlength="6"></el-input>
+          <el-input v-model="categoryForm.category_name" :maxlength="12"></el-input>
         </el-form-item>
         <el-form-item label="商品类别编号" prop="custom_sn">
           <el-input v-model="categoryForm.custom_sn"></el-input>

+ 1 - 1
manager-admin/src/views/layout/components/TagsView.vue

@@ -15,7 +15,7 @@
         class="tags-view-item"
         :class="isActive(tag) ? 'active' : ''"
         v-for="tag in lastTenVisitedViews"
-        :to="tag"
+        :to="{ path: tag.path, replace: isActive(tag) }"
         :key="tag.path"
         @contextmenu.prevent.native="openMenu(tag, $event)"
       >

+ 13 - 12
manager-admin/src/views/setting/serialList.vue

@@ -56,13 +56,13 @@
       <template slot="table-columns">
         <el-table-column type="selection" width="55" />
         <el-table-column prop="goods_vo.sn" label="商品编号" />
-        <el-table-column prop="inventory_id" label="盘点单ID">
-          </el-table-column>
-          <el-table-column prop="inventory_id" label="所在仓库">
-             <template slot-scope="scope">
-              {{ warehouseName(scope.row.warehouse_id) }}
-             </template>
-          </el-table-column>
+        <!-- <el-table-column prop="inventory_id" label="盘点单ID">
+        </el-table-column> -->
+        <el-table-column prop="inventory_id" label="所在仓库">
+          <template slot-scope="scope">
+            {{ warehouseName(scope.row.warehouse_id) }}
+          </template>
+        </el-table-column>
         <el-table-column prop="goods_vo.name" label="商品名称" />
         <el-table-column prop="product_vo.spec_name" label="规格型号" />
         <el-table-column prop="sku" label="sku" />
@@ -72,8 +72,8 @@
             {{ typeName(scope.row.status) }}
           </template>
         </el-table-column>
-        <el-table-column prop="out_house_id" label="出库单编号" />
-        <el-table-column prop="entry_house_id" label="入库单编号" />
+        <!-- <el-table-column prop="out_house_id" label="出库单编号" />
+        <el-table-column prop="entry_house_id" label="入库单编号" /> -->
         <el-table-column label="操作" width="310">
           <template slot-scope="scope">
             <el-button size="mini" v-if="checkPermission(['stock:edit'])"
@@ -85,7 +85,8 @@
               @click="handleDeleteWarehouse(scope.$index, scope.row)"
               >删除</el-button
             > -->
-            <el-button size="mini" v-if="checkPermission(['updateSnCode:update'])" @click="editPrintIng(scope.row)">编辑序列号</el-button>
+            <el-button size="mini" v-if="checkPermission(['updateSnCode:update'])"
+              @click="editPrintIng(scope.row)">编辑序列号</el-button>
             <el-button size="mini" @click="PrintIng(scope.row)">打印序列号</el-button>
           </template>
         </el-table-column>
@@ -166,7 +167,7 @@
         </div>
       </div>
     </el-dialog>
-    <el-dialog title="修改序列号" :visible.sync="SKUVisible" width="30%" center @close="snCodeCancle" >
+    <el-dialog title="修改序列号" :visible.sync="SKUVisible" width="30%" center @close="snCodeCancle">
       <el-form ref="SKUForm" :model="SKUForm" :rules="SKUFormRule" label-width="160px" inline class="change-form">
         <el-form-item label="序列号" prop="snCode" class="change-form-item">
           <el-input v-model="SKUForm.snCode" placeholder="请输入" style="width: 300px;"></el-input>
@@ -241,7 +242,7 @@ export default {
         ],
       },
       SKUVisible: false,
-      warehouseList:'',
+      warehouseList: '',
     };
   },
   mounted() {

+ 1 - 1
manager-admin/src/views/stock/goodsExchange/addInventory.vue

@@ -2,7 +2,7 @@
   <div class="bg-in-stock">
     <el-form ref="goodsExchangeAddForm" :model="goodsExchangeAddForm" :rules="goodsExchangeAddFormRule"
       label-width="160px" inline class="change-form">
-      <el-form-item label="订单" prop="order_id" class="change-form-item">
+      <el-form-item label="订单编号:" prop="order_id" class="change-form-item" v-if="goodsExchangeAddForm.sn && (goodsExchangeAddForm.type == 'SALE_AFTER' || goodsExchangeAddForm.type == 'HAIL_ENTRY')">
         {{ goodsExchangeAddForm.sn }}
         <!-- <span>
           <el-input v-model="goodsExchangeAddForm.sn" ref="order" @keyup.enter.native="blurUsername()">

+ 7 - 1
manager-admin/src/views/stock/goodsExchange/checkInventory.vue

@@ -10,7 +10,13 @@
       </div>
       <el-form ref="goodsExchangeAddForm" :model="goodsExchangeAddForm" :rules="goodsExchangeAddFormRule"
         label-width="120px" inline class="change-form">
-        <el-form-item label="订单:" prop="sn" class="change-form-item" v-if="checkType == 'second'">
+        <el-form-item label="订单编号:" prop="sn" class="change-form-item" v-if="checkType == 'second' && (goodsExchangeAddForm.type == 'SALE_AFTER' || goodsExchangeAddForm.type == 'HAIL_ENTRY')">
+          {{ goodsExchangeAddForm.sn }}
+        </el-form-item>
+        <el-form-item label="入库单编号:" prop="sn" class="change-form-item" v-if="checkType == 'second' && (goodsExchangeAddForm.type == 'OTHER_ENTRY' || goodsExchangeAddForm.type == 'SALE_ENTRY')">
+          {{ goodsExchangeAddForm.sn }}
+        </el-form-item>
+        <el-form-item label="调拨单编号:" prop="sn" class="change-form-item" v-if="checkType == 'second' && goodsExchangeAddForm.type == 'TRANSFER_ENTRY'">
           {{ goodsExchangeAddForm.sn }}
         </el-form-item>
         <el-form-item v-if="checkType == 'first'" label="出库仓库:" class="change-form-item">

+ 12 - 9
manager-admin/src/views/stock/goodsInventory/goodsInventory.vue

@@ -11,10 +11,10 @@
                 end-placeholder="结束日期"
                 :picker-options="{ disabledDate(time) { return time.getTime() - 1 >= new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()).getTime() + 86400000 - 1 }, shortcuts: MixinPickerShortcuts }">
               </el-date-picker> -->
-              <el-date-picker v-model="searchTime" type="daterange" align="center"  :editable="false"
-              unlink-panels :clearable="true" :default-time="['00:00:00', '23:59:59']" range-separator="-"
-              start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd hh:mm:ss" >
-            </el-date-picker>
+              <el-date-picker v-model="searchTime" type="daterange" align="center" :editable="false" unlink-panels
+                :clearable="true" :default-time="['00:00:00', '23:59:59']" range-separator="-" start-placeholder="开始日期"
+                end-placeholder="结束日期" value-format="yyyy-MM-dd hh:mm:ss">
+              </el-date-picker>
             </el-form-item>
 
           </el-col>
@@ -86,16 +86,19 @@
         </el-table-column>
         <el-table-column label="操作" width="450">
           <template slot-scope="scope">
-            <el-button size="mini" @click="handleCheckGoodsInventory(scope.row)" v-if=" checkPermission(['goodsInventoryCheck'])" >查看</el-button>
-            <el-button type="mini" size="mini" v-if="scope.row.status == 'NOT_HANDLE' && checkPermission(['syncStock:update'])"
+            <el-button size="mini" @click="handleCheckGoodsInventory(scope.row)"
+              v-if="checkPermission(['goodsInventoryCheck'])">查看</el-button>
+            <el-button v-if="scope.row.status == 'NOT_HANDLE' &&checkPermission(['goodsInventory:edit'])" size="mini"
+              @click=" handleEditGoodsInventory(scope.row)">编辑</el-button>
+            <el-button type="mini" size="mini"
+              v-if="scope.row.status == 'NOT_HANDLE' && checkPermission(['syncStock:update'])"
               @click="handleSubmitGoodsInventory(scope.row)">同步</el-button>
             <!-- <el-button v-if="scope.row.allowable.allow_audit && checkPermission(['goodsInventory:audit'])" type="mini"
               size="mini" @click="handleAuditGoodsInventory(scope.row)">审核</el-button>
 
             <el-button v-if="scope.row.allowable.allow_cancel && checkPermission(['goodsInventory:cancel'])" type="mini"
               size="mini" @click="handleCancelGoodsInventory(scope.row)">撤回</el-button>
-            <el-button v-if="scope.row.allowable.allow_edit && checkPermission(['goodsInventory:edit'])" size="mini"
-              @click="handleEditGoodsInventory(scope.row)">编辑</el-button> -->
+            -->
             <!-- <el-button v-if="checkPermission(['goodsInventory:print'])" type="primary" size="mini"
               @click="handlePrintGoodsInventoryDialog(scope.row)">打印</el-button> -->
           </template>
@@ -209,7 +212,7 @@ export default {
       multipleSelection: [],
       goodsInventoryForm: {},
       adminList: [],
-      searchTime:[],
+      searchTime: [],
     }
   },
   mounted() {

+ 50 - 36
manager-admin/src/views/stock/goodsInventory/goodsInventoryAdd.vue

@@ -7,37 +7,37 @@
         <el-input v-model="goodsInventoryAddForm.sn" :disabled="true"></el-input>
       </el-form-item>
       <el-form-item label="盘点时间" prop="inventory_time" class="change-form-item">
-        <span v-if="id">{{ goodsInventoryAddForm.inventory_time }}</span>
+        <span v-if="id && type !== 'edit'">{{ goodsInventoryAddForm.inventory_time }}</span>
         <el-date-picker v-else v-model="goodsInventoryAddForm.inventory_time" value-format="yyyy-MM-dd HH:mm:ss"
           type="datetime" :disabled="type === 'detail' || type === 'audit' || type === 'check'" placeholder="选择日期时间">
         </el-date-picker>
       </el-form-item>
       <el-form-item label="仓库" prop="warehouse_id" class="change-form-item">
-        <span v-if="id">{{ getWarehouse(goodsInventoryAddForm.warehouse_id) }}</span>
+        <span v-if="id && type !== 'edit'">{{ getWarehouse(goodsInventoryAddForm.warehouse_id) }}</span>
         <el-select v-else v-model="goodsInventoryAddForm.warehouse_id" @change="handleChangeWareHouse"
           :disabled="type === 'detail' || type === 'audit' || type === 'check'">
           <el-option v-for="item in warehouseList" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </el-form-item>
       <el-form-item label="盘点人" prop="inventory_person_id" class="change-form-item">
-        <span v-if="id">{{ getadminList(goodsInventoryAddForm.inventory_person_id) }}</span>
+        <span v-if="id && type !== 'edit'">{{ getadminList(goodsInventoryAddForm.inventory_person_id) }}</span>
         <el-select v-else @change="forceUpdate" v-model="goodsInventoryAddForm.inventory_person_id"
           :disabled="type === 'detail' || type === 'audit' || type === 'check'">
           <el-option v-for="item in adminList" :key="item.id" :label="item.real_name" :value="item.id" />
         </el-select>
       </el-form-item>
       <el-form-item label="制单人" prop="creator_id" class="change-form-item">
-        <span v-if="id">{{ getadminList(goodsInventoryAddForm.creator_id) }}</span>
+        <span v-if="id && type !== 'edit'">{{ getadminList(goodsInventoryAddForm.creator_id) }}</span>
         <el-select v-else v-model="goodsInventoryAddForm.creator_id"
           :disabled="type === 'detail' || type === 'audit' || type === 'check'" @change="forceUpdate">
           <el-option v-for="item in adminList" :key="item.id" :label="item.real_name" :value="item.id" />
         </el-select>
       </el-form-item>
       <el-form-item label="盘点类型" prop="inventory_type" class="change-form-item">
-        <span v-if="id">{{ getRoleSplit(goodsInventoryAddForm.inventory_type) }}</span>
+        <span v-if="id && type !== 'edit'">{{ getRoleSplit(goodsInventoryAddForm.inventory_type) }}</span>
         <el-select v-else v-model="goodsInventoryAddForm.inventory_type" @change="handleChangeInventoryType($event)"
           :disabled="type === 'detail' || type === 'audit' || type === 'check'">
-          <el-option v-for="item in typeList" :key="item.id" :label="item.label" :value="item" />
+          <el-option v-for="item in typeList" :key="item.id" :label="item.label" :value="item.value" />
         </el-select>
         <!-- <el-cascader v-model="goodsInventoryAddForm.dept_id" :options="deptList"
           :disabled="type === 'detail' || type === 'audit' || type==='check'" :props="{
@@ -58,16 +58,17 @@
         <el-form-item style="width: 100%;">
           <el-table :data="goodsInventoryAddForm.product_list" border :cell-style="{ textAlign: 'center' }"
             :header-cell-style="{ textAlign: 'center' }" :loading="loading" style="width: 100%; margin-top: 20px;">
-            <el-table-column label="库位号" >
-            <template slot-scope="scope">
-              <el-popover placement="right"  trigger="click" v-if="scope.row.area_stock_list">
-                <div>
-                  <p v-for="item in scope.row.area_stock_list" :key="item.id">{{ item.warehouse_area_name }}</p>
-                </div>
-                <span slot="reference" v-if="scope.row.area_stock_list.length!==0">{{ scope.row.area_stock_list[0].warehouse_area_name }}</span>
-              </el-popover>
-            </template>
-          </el-table-column>
+            <el-table-column label="库位号">
+              <template slot-scope="scope">
+                <el-popover placement="right" trigger="click" v-if="scope.row.area_stock_list">
+                  <div>
+                    <p v-for="item in scope.row.area_stock_list" :key="item.id">{{ item.warehouse_area_name }}</p>
+                  </div>
+                  <span slot="reference" v-if="scope.row.area_stock_list.length !== 0">{{
+                    scope.row.area_stock_list[0].warehouse_area_name }}</span>
+                </el-popover>
+              </template>
+            </el-table-column>
             <el-table-column label="商品编号">
               <template slot-scope="scope">
                 <span v-if="id"> {{ scope.row.goods_vo.sn }}</span>
@@ -257,6 +258,17 @@ export default {
       this.GET_AdministratorList()
       this.GET_DeptList()
       this.GET_WarehouseList()
+    } else if (this.$route.name === 'goodsInventoryEdit') {
+      this.type = 'edit'
+      this.goodsInventoryAddForm.creator_id = this.user.uid
+      this.goodsInventoryAddForm.inventory_person_id = this.user.uid
+      this.goodsInventoryAddForm.dept_id = this.user.dept_id
+      this.goodsInventoryAddForm.inventory_time = this.timeDefault;
+      this.id = this.$route.params.id
+      this.GET_goodsInventoryAddDetail()
+      this.GET_AdministratorList()
+      this.GET_DeptList()
+      this.GET_WarehouseList()
     }
     this.GET_AdministratorList()
     this.GET_DeptList()
@@ -266,7 +278,7 @@ export default {
   methods: {
     handleChangeInventoryType(val) {
       this.goodsInventoryAddForm.product_list = []
-      if (val.value === 'ALL_INVENTORY') {
+      if (val === 'ALL_INVENTORY') {
         if (!this.goodsInventoryAddForm.warehouse_id) {
           this.$message.error('请先选择仓库!')
           return
@@ -347,7 +359,6 @@ export default {
             return (
               el.goods_id === res.goods_id &&
               el.product_id === res.product_id &&
-              el.warehouse_id === res.warehouse_id &&
               el.product_vo.sku === res.product_vo.sku
             );
           }
@@ -474,7 +485,7 @@ export default {
         if (valid) {
           const { id } = this.goodsInventoryAddForm
           const params = this.MixinClone(this.goodsInventoryAddForm)
-          params.inventory_type = params.inventory_type.id
+          /*  params.inventory_type = params.inventory_type.id */
           if (params.dept_id) {
             params.dept_name = this.deptListAll.find(dept => dept.id === params.dept_id).name
           }
@@ -502,8 +513,8 @@ export default {
             }
             return query
           })
-          if (id) {
-            API_GoodsInventory.editgoodsInventoryAdd(id, params).then(response => {
+          if ( this.id) {
+            API_GoodsInventory.editgoodsInventoryAdd( this.id, params).then(response => {
               this.$message.success('修改成功!')
               const { callback } = this.$route.params
               if (typeof callback === 'function') callback()
@@ -541,17 +552,12 @@ export default {
         purchasePlanApiParams: { warehouse_id: this.goodsInventoryAddForm.warehouse_id }
       })
       this.goodsInventoryAddForm.warehouse_id = goodsData.warehouse_id
-      /* let ProductLendNum =  */goodsData.purchasePlans.map(item => {
-        /* const query = {
-          product_id: item.product_id,
-          stock_sn: item.warehouse_entry_sn,
-          sn_code_list:[]
-        }
-        return query */
+      goodsData.purchasePlans.map(item => {
         item.sn_code_list = [];
       })
-      console.log(goodsData.purchasePlans);
+
       this.goodsInventoryAddForm.product_list = goodsData.purchasePlans
+      /* this.$set(this.goodsInventoryAddForm, 'product_list', goodsData.purchasePlans); */
       /* this.getlistProductLendNum(ProductLendNum, goodsData.purchasePlans) */
     },
     /* getlistProductLendNum(ProductLendNumList, warehouseEntryBatch) {
@@ -619,16 +625,24 @@ export default {
             el.video=el.goods_vo.video
             return el
           }) */
+        if (!response.product_list) {
+          response.product_list = []
+        }
         this.goodsInventoryAddForm = response
         this.GET_WarehouseList()
         this.goodsInventoryAddForm.distribution_name = response.staff_name
-        this.goodsInventoryAddForm.product_list = this.goodsInventoryAddForm.product_list.map(item => {
-          item.inventory_num = item.inventory_num
-          item.product_specification = item.specification
-          item.product_unit = item.unit
-          item.remain_num = item.stock_num
-          return item
-        })
+        if (this.goodsInventoryAddForm.product_list) {
+          this.goodsInventoryAddForm.product_list = this.goodsInventoryAddForm.product_list.map(item => {
+            item.inventory_num = item.inventory_num
+            item.product_specification = item.specification
+            item.product_unit = item.unit
+            item.remain_num = item.stock_num
+            return item
+          })
+        } else {
+          this.goodsInventoryAddForm.product_list = []
+        }
+
       })
     }
   }

+ 12 - 7
manager-admin/src/views/stock/goodsInventoryLoss/goodsInventoryLoss.vue

@@ -117,7 +117,8 @@ export default {
       tableData: '',
       // 当前已选择的行
       multipleSelection: [],
-      GoodsInventoryLossForm: {}
+      GoodsInventoryLossForm: {},
+      inventoryType:[]
     }
   },
   mounted() {
@@ -154,6 +155,9 @@ export default {
       API_BasicSetting.getWarehouseListAll().then(response => {
         this.warehouseList = response
       })
+      API_Setting.getPage({ dictType: "inventory_status" }).then((res) => {
+        this.inventoryType = res.data;
+      });
     },
     handleAuditGoodsInventoryLoss(row) {
       this.$router.push({
@@ -223,12 +227,13 @@ export default {
     },
     /** 状态 */
     statusFilter(val) {
-      switch (val) {
-        case 'NOT_HANDLE':
-          return '未处理'
-        case 'HAS_HANDLE':
-          return '已处理'
-      }
+      let name = ''
+      this.inventoryType.map(el => {
+        if (el.value == val) {
+          return name = el.label
+        }
+      })
+      return name
     },
     /** 获取部门 */
     GET_DeptList() {

+ 113 - 66
manager-admin/src/views/stock/goodsInventoryLoss/goodsInventoryLossAdd.vue

@@ -6,7 +6,7 @@
       <el-form-item label="报损时间" prop="report_time" class="change-form-item">
         <span v-if="type == 'detail'">{{ goodsInventoryAddForm.report_time }}</span>
         <el-date-picker v-else v-model="goodsInventoryAddForm.report_time" value-format="yyyy-MM-dd HH:mm:ss"
-          type="datetime" :disabled="type === 'detail' || type === 'audit'" placeholder="选择日期时间">
+          type="datetime" :disabled="type === 'detail' || type === 'audit' || type === 'edit'" placeholder="选择日期时间">
         </el-date-picker>
       </el-form-item>
       <!-- <el-form-item label="所属部门" prop="dept_id" class="change-form-item">
@@ -21,34 +21,34 @@
       <el-form-item label="仓库" prop="warehouse_id" class="change-form-item">
         <span v-if="type == 'detail'">{{ getWarehouse(goodsInventoryAddForm.warehouse_id) }}</span>
         <el-select v-else v-model="goodsInventoryAddForm.warehouse_id" @change="cleanGoodsList"
-          :disabled="type === 'detail' || type === 'audit'">
+          :disabled="type === 'detail' || type === 'audit' || type === 'edit'">
           <el-option v-for="item in warehouseList" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </el-form-item>
       <el-form-item label="报损类型" prop="damage_type_value" class="change-form-item">
         <span v-if="type == 'detail'">{{ getRoleSplit(goodsInventoryAddForm.damage_type_value) }}</span>
         <el-select v-else v-model="goodsInventoryAddForm.damage_type_value"
-          :disabled="type === 'detail' || type === 'audit'">
+          :disabled="type === 'detail' || type === 'audit' || type === 'edit'">
           <el-option v-for="item in roleSplit" :key="item.label" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="制单人" prop="creator_id" class="change-form-item">
         <span v-if="type == 'detail'">{{ getadminList(goodsInventoryAddForm.creator_id) }}</span>
-        <el-select v-else v-model="goodsInventoryAddForm.creator_id" :disabled="type === 'detail' || type === 'audit'"
-          @change="changeCreator">
+        <el-select v-else v-model="goodsInventoryAddForm.creator_id"
+          :disabled="type === 'detail' || type === 'audit' || type === 'edit'" @change="changeCreator">
           <el-option v-for="item in adminList" :key="item.id" :label="item.real_name" :value="item.id" />
         </el-select>
       </el-form-item>
       <el-form-item label="报损说明" prop="report_desc" class="change-form-item" style="width: 61%;">
         <span v-if="type == 'detail'">{{ goodsInventoryAddForm.report_desc }}</span>
         <el-input v-else style="flex: 1;" v-model="goodsInventoryAddForm.report_desc" type="textarea"
-          :disabled="type === 'detail' || type === 'audit'" :autosize="{ minRows: 3, maxRows: 4 }"
+          :disabled="type === 'detail' || type === 'audit' || type === 'edit'" :autosize="{ minRows: 3, maxRows: 4 }"
           placeholder="请输入报损说明"></el-input>
       </el-form-item>
       <div class="mx">
         <h3>报损商品明细</h3>
-        <el-button v-if=" type == 'edit'" class="button" size="mini" type="primary"
-          @click="scanCode">录入SKU</el-button>
+        <el-button v-if="type !== 'edit' && type !== 'audit' && type !== 'detail'" class="button" size="mini"
+          type="primary" @click="scanCode">录入SKU</el-button>
         <el-button v-if="type !== 'detail'" class="button" size="mini" type="primary"
           @click="handleSelectWarehouseEntryBatch">选择</el-button>
       </div>
@@ -115,22 +115,22 @@
             <el-table-column label="报损数量">
               <template slot-scope="scope">
                 <span v-if="type == 'edit'">{{ scope.row.num }}</span>
-                <el-input v-else v-model="scope.row.num" type="number" :min="0" :maxlength="20"
+                <el-input v-else v-model="scope.row.report_num" type="number" :min="0" :maxlength="20"
                   :disabled="type === 'detail' || type === 'audit'"></el-input>
               </template>
             </el-table-column>
-            <el-table-column label="录入数量" v-if="type == 'edit'">
+            <!--  <el-table-column label="录入数量" >
               <template slot-scope="scope">
                 <span>{{ scope.row.report_num }}</span>
               </template>
-            </el-table-column>
+            </el-table-column> -->
             <!-- <el-table-column label="调整说明">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.report_remark" :min="0" :maxlength="50"
                   :disabled="type === 'detail' || type === 'audit'"></el-input>
               </template>
             </el-table-column> -->
-            <el-table-column label="操作" v-if="type !== 'detail' && type !== 'audit'">
+            <el-table-column label="操作" v-if="type !== 'detail' && type !== 'audit' && type !== 'edit'">
               <template slot-scope="scope">
                 <el-button size="mini" type="danger"
                   @click="goodsInventoryAddForm.product_list.splice(scope.$index, 1)">删除</el-button>
@@ -145,26 +145,33 @@
       </el-button>
       <el-button v-if="type === 'audit'" type="danger" @click="dialogVisible = true">审核驳回
       </el-button> -->
-      <el-button v-if="type !== 'edit'&& type !== 'audit' && type !== 'detail'"
-        type="primary" @click="submitGoodsInventoryAddForm">保存
+      <el-button v-if="type !== 'edit' && type !== 'audit' && type !== 'detail'" type="primary"
+        @click="submitGoodsInventoryAddForm">保存
       </el-button>
-      <el-button v-if="type === 'edit'"
-        type="primary" @click="submitcont">确认
+      <el-button v-if="type === 'edit'" type="primary" @click="submitcont">审核
+      </el-button>
+      <el-button v-if="type === 'edit'" type="primary" @click="submitreject">驳回
       </el-button>
       <el-button @click="printIng" v-if="type == 'detail'">打印</el-button>
       <el-button @click="$router.back()">返回
       </el-button>
     </div>
-    <el-dialog title="扫码出库" :visible.sync="scanDialogVisible" width="30%" :close-on-click-modal="false">
-      <el-form ref="scanGoodsForm" :model="scanGoodsForm" inline>
-        <el-form-item label="sku" prop="bar_code">
-          <el-input v-model="scanGoodsForm.bar_code" ref="input" @keyup.enter.native="toSearch()" :minlength="0"
-            :maxlength="100"></el-input>
-        </el-form-item>
-        <el-form-item label="序列号" prop="sn_code">
-          <el-input v-model="sn_code" ref="sn_input" @keyup.enter.native="toSnCode()" :minlength="0"
-            :maxlength="100"></el-input>
-        </el-form-item>
+    <el-dialog title="扫码录入" :visible.sync="scanDialogVisible" width="30%" :close-on-click-modal="false">
+      <el-form ref="scanGoodsForm" :model="scanGoodsForm" inline label-width="60px">
+        <el-row>
+          <el-col :span="18">
+            <el-form-item label="sku:" prop="bar_code">
+              <el-input v-model="scanGoodsForm.bar_code" ref="input" @keyup.enter.native="toSearch()" :minlength="0"
+                :maxlength="100"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="18">
+            <el-form-item label="序列号:" prop="sn_code">
+              <el-input v-model="sn_code" ref="sn_input" @keyup.enter.native="toSnCode()" :minlength="0"
+                :maxlength="100"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
         <!-- <el-button @click="dialogVisible = false">取 消</el-button>
@@ -222,7 +229,7 @@ export default {
       /** 出库单表单*/
       goodsInventoryAddForm: {
         product_list: [],
-        creator_id:''
+        creator_id: ''
       },
       /** 校验规则 */
       goodsInventoryAddFormRule: {
@@ -271,6 +278,47 @@ export default {
     this.GET_AdministratorList()
   },
   methods: {
+    /* 驳回 */
+    submitreject() {
+      this.$refs['goodsInventoryAddForm'].validate(valid => {
+        if (valid) {
+          const { id } = this.goodsInventoryAddForm
+          const params = this.MixinClone(this.goodsInventoryAddForm)
+          if (params.dept_id) {
+            params.dept_name = this.deptListAll.find(dept => dept.id === params.dept_id).name
+          }
+          if (params.warehouse_id) {
+            params.warehouse_name = this.warehouseList.find(ware => ware.id === params.warehouse_id).name
+          }
+          /* params.report_time = Math.floor(params.report_time / 1000) */
+          if (params.damage_type_value) {
+            params.damage_type_key = this.roleSplit.find(ware => ware.value === params.damage_type_value).label
+          }
+          if (params.creator_id) {
+            params.creator = this.adminList.find(admin => admin.id === params.creator_id).real_name
+          }
+          params.status = 'CANCEL_HANDLE'
+          params.product_list = params.product_list.map(item => {
+            const query = {
+              report_num: item.report_num,
+              product_id: item.product_id,
+              product_stock_id: item.product_stock_id
+            }
+            return query
+          })
+          API_GoodsInventoryLossLoss.submit(id, params).then(response => {
+            this.$message.success('驳回成功!')
+            const { callback } = this.$route.params
+            if (typeof callback === 'function') callback()
+            this.$store.dispatch('delCurrentViews', {
+              view: this.$route,
+              $router: this.$router
+            })
+            this.$router.push({ name: 'goodsInventoryLoss' })
+          })
+        }
+      })
+    },
     // 扫码出库
     scanCode() {
       this.scanDialogVisible = true;
@@ -296,20 +344,20 @@ export default {
         });
         // 如果商品不存在,则添加到列表
         if (indexs === -1) {
-          // 检查是否有相同商品在product_list中
-          const existingProduct = this.goodsInventoryAddForm.product_list.find(el => (
-            el.goods_vo.id === res.goods_id &&
-            el.product_id === res.product_id &&
-            el.product_vo.sku === res.product_vo.sku
-          ));
-
-          if (!existingProduct) {
-            this.$message.error('订单内没有该商品,请重新录入');
-            this.$nextTick(() => {
-              this.$refs.input.focus();
-            });
-            return; // 退出函数,不继续执行
-          }
+          /*   // 检查是否有相同商品在product_list中
+            const existingProduct = this.goodsInventoryAddForm.product_list.find(el => (
+              el.goods_vo.id === res.goods_id &&
+              el.product_id === res.product_id &&
+              el.product_vo.sku === res.product_vo.sku
+            ));
+  
+            if (!existingProduct) {
+              this.$message.error('订单内没有该商品,请重新录入');
+              this.$nextTick(() => {
+                this.$refs.input.focus();
+              });
+              return; // 退出函数,不继续执行
+            } */
           this.index = this.goodsInventoryAddForm.product_list.length
           this.goodsInventoryAddForm.product_list.push(res);
         } else {
@@ -321,8 +369,8 @@ export default {
           });
         } else {
           this.goodsInventoryAddForm.product_list[this.index].report_num += 1
-          if( this.goodsInventoryAddForm.product_list[this.index].report_num==this.goodsInventoryAddForm.product_list[this.index].num){
-             this.scanDialogVisible = false;
+          if (this.goodsInventoryAddForm.product_list[this.index].report_num == this.goodsInventoryAddForm.product_list[this.index].num) {
+            this.scanDialogVisible = false;
           }
         }
       });
@@ -344,29 +392,27 @@ export default {
           );
         }
         this.goodsInventoryAddForm.product_list[this.index].report_num = this.goodsInventoryAddForm.product_list[this.index].sn_code_list.length
-        const indexs = this.product_list.findIndex((el) => {
+        const indexs = this.goodsInventoryAddForm.product_list.findIndex((el) => {
           return (
             el.goods_id === res.goods_id &&
             el.product_id === res.product_id &&
             el.product_vo.sku === res.sku
           );
         });
-        this.goodsInventoryAddForm.product_list[this.index].id = this.product_list[indexs].id
-        if (this.goodsInventoryAddForm.product_list[this.index].report_num == this.product_list[indexs].report_num) {
-          this.scanGoodsForm.bar_code = "";
-          this.scanDialogVisible = false;
-        } else {
-          this.scanGoodsForm.bar_code = "";
-          this.$nextTick(() => {
-            this.$refs.input.focus();
-          });
-        }
+        this.goodsInventoryAddForm.product_list[this.index].id = this.goodsInventoryAddForm.product_list[indexs].id
+        this.scanGoodsForm.bar_code = "";
+        /* this.scanDialogVisible = false; */
+        this.scanGoodsForm.bar_code = "";
+        this.$nextTick(() => {
+          this.$refs.input.focus();
+        });
+
 
       });
     },
 
     /* 确认 */
-    submitcont(){
+    submitcont() {
       this.$refs['goodsInventoryAddForm'].validate(valid => {
         if (valid) {
           const { id } = this.goodsInventoryAddForm
@@ -392,16 +438,16 @@ export default {
             }
             return query
           })
-            API_GoodsInventoryLossLoss.submit(id, params).then(response => {
-              this.$message.success('确认成功!')
-              const { callback } = this.$route.params
-              if (typeof callback === 'function') callback()
-              this.$store.dispatch('delCurrentViews', {
-                view: this.$route,
-                $router: this.$router
-              })
-              this.$router.push({ name: 'goodsInventoryLoss' })
+          API_GoodsInventoryLossLoss.submit(id, params).then(response => {
+            this.$message.success('审核成功!')
+            const { callback } = this.$route.params
+            if (typeof callback === 'function') callback()
+            this.$store.dispatch('delCurrentViews', {
+              view: this.$route,
+              $router: this.$router
             })
+            this.$router.push({ name: 'goodsInventoryLoss' })
+          })
         }
       })
     },
@@ -512,9 +558,10 @@ export default {
           }
           params.product_list = params.product_list.map(item => {
             const query = {
-              report_num: item.num,
+              report_num: item.report_num,
               product_id: item.product_id,
-              product_stock_id: item.id
+              product_stock_id: item.id,
+              sn_code_list: item.sn_code_list
             }
             return query
           })

+ 73 - 191
manager-admin/src/views/stock/goodsLend.vue

@@ -1,81 +1,39 @@
 <template>
   <div>
-    <en-table-layout
-      :tableData="tableData.data"
-      :loading="loading"
-      @selection-change="handleSelectionChange"
-    >
+    <en-table-layout :tableData="tableData.data" :loading="loading" @selection-change="handleSelectionChange">
       <div slot="toolbar" class="inner-toolbar">
         <div class="toolbar-btns">
-          <el-button
-            size="mini"
-            v-if="checkPermission(['goodsLend:add'])"
-            type="primary"
-            @click="handleAddGoodsLend"
-            >新增</el-button
-          >
+          <el-button size="mini" v-if="checkPermission(['goodsLend:add'])" type="primary"
+            @click="handleAddGoodsLend">新增</el-button>
           <!-- <el-button size="mini" v-if="checkPermission(['goodsLend:del'])" @click="handleDeleteGoodsLend()" type="danger"
             :disabled="multipleSelection.length === 0">删除</el-button> -->
-          <el-button
-            type="success"
-            size="mini"
-            v-if="checkPermission(['goodsLend:confirm'])"
-            @click="handleConfirmGoodsLend"
-            :disabled="multipleSelection.length === 0"
-            >打印</el-button
-          >
+          <el-button type="success" size="mini" v-if="checkPermission(['goodsLend:confirm'])"
+            @click="handleConfirmGoodsLend" :disabled="multipleSelection.length === 0">打印</el-button>
         </div>
         <div class="toolbar-search">
-          <en-table-search
-            @search="searchEvent"
-            @advancedSearch="advancedSearchEvent"
-            placeholder="请输入借出单编号"
-            advanced
-            advancedWidth="465"
-          >
+          <en-table-search @search="searchEvent" @advancedSearch="advancedSearchEvent" placeholder="请输入借出单编号" advanced
+            advancedWidth="465">
             <template slot="advanced-content">
-              <el-form
-                ref="advancedForm"
-                :model="advancedForm"
-                label-width="90px"
-              >
+              <el-form ref="advancedForm" :model="advancedForm" label-width="90px">
                 <el-form-item label="仓库">
-                  <el-cascader
-                    v-model="advancedForm.dept_id"
-                    :options="warehouseList"
-                    :props="{
-                      label: 'name',
-                      value: 'id',
-                      emitPath: false,
-                      checkStrictly: true,
-                    }"
-                    clearable
-                  ></el-cascader>
+                  <el-cascader v-model="advancedForm.dept_id" :options="warehouseList" :props="{
+                    label: 'name',
+                    value: 'id',
+                    emitPath: false,
+                    checkStrictly: true,
+                  }" clearable></el-cascader>
                 </el-form-item>
                 <el-form-item label="状态">
                   <el-select v-model="advancedForm.status" clearable>
                     <el-option key="NEW" label="新创建" value="NEW" />
-                    <el-option
-                      key="CONFIRMED"
-                      label="已确认"
-                      value="CONFIRMED"
-                    />
+                    <el-option key="CONFIRMED" label="已确认" value="CONFIRMED" />
                     <el-option key="RETURNED" label="已归还" value="RETURNED" />
                   </el-select>
                 </el-form-item>
                 <el-form-item label="时间">
-                  <el-date-picker
-                    v-model="advancedForm.goodsLend_time_range"
-                    type="daterange"
-                    align="center"
-                    :editable="false"
-                    unlink-panels
-                    :clearable="true"
-                    :default-time="['00:00:00', '23:59:59']"
-                    range-separator="-"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
-                    value-format="timestamp"
+                  <el-date-picker v-model="advancedForm.goodsLend_time_range" type="daterange" align="center"
+                    :editable="false" unlink-panels :clearable="true" :default-time="['00:00:00', '23:59:59']"
+                    range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" value-format="timestamp"
                     :picker-options="{
                       disabledDate(time) {
                         return (
@@ -85,13 +43,12 @@
                             new Date().getMonth(),
                             new Date().getDate()
                           ).getTime() +
-                            86400000 -
-                            1
+                          86400000 -
+                          1
                         );
                       },
                       shortcuts: MixinPickerShortcuts,
-                    }"
-                  >
+                    }">
                   </el-date-picker>
                 </el-form-item>
               </el-form>
@@ -120,88 +77,44 @@
         <el-table-column prop="type" label="库位区域">
           <template slot-scope="scope">{{
             statusFilter(scope.row.type)
-          }}</template>
+            }}</template>
         </el-table-column>
         <el-table-column prop="bind_num" label="已绑定SKU数" />
-         <!-- <el-table-column prop="intro" label="库位说明" />
+        <!-- <el-table-column prop="intro" label="库位说明" />
        <el-table-column prop="lend_person" label="借出人" />
         <el-table-column prop="status" label="状态">
           <template slot-scope="scope">{{ statusFilter(scope.row.status) }}</template>
         </el-table-column> -->
         <el-table-column label="操作" width="250">
           <template slot-scope="scope">
-            <el-button
-              size="mini"
-               v-if="checkPermission(['inventoryItem'])"
-              @click="introGoodsLend(scope.row)"
-              >查看</el-button
-            >
-            <el-button
-              size="mini"
-              v-if="checkPermission(['bindAreaStock:update'])"
-              @click="AddGoodsLend(scope.row)"
-              >绑定商品</el-button
-            >
-            <el-button
-              size="mini"
-              v-if="checkPermission(['goodsLend:edit'])"
-              @click="handleEditGoodsLend(scope.row)"
-              >编辑</el-button
-            >
-            <el-button
-              type="success"
-              size="mini"
-              style="margin-top: 5px;"
-              v-if="checkPermission(['goodsLend:del'])"
-              @click="handleReturnGoodsLend(scope.row)"
-              >删除</el-button
-            >
-             <!-- v-if="checkPermission(['goodsLend:print'])" -->
-            <el-button
-              type="primary"
-             
-              size="mini"
-              @click="handlePrintGoodsLendDialog(scope.row)"
-              >打印</el-button
-            >
+            <el-button size="mini" v-if="checkPermission(['inventoryItem'])"
+              @click="introGoodsLend(scope.row)">查看</el-button>
+            <el-button size="mini" v-if="checkPermission(['bindAreaStock:update'])"
+              @click="AddGoodsLend(scope.row)">绑定商品</el-button>
+            <el-button size="mini" v-if="checkPermission(['goodsLend:edit'])"
+              @click="handleEditGoodsLend(scope.row)">编辑</el-button>
+            <el-button type="success" size="mini" style="margin-top: 5px;" v-if="checkPermission(['goodsLend:del'])"
+              @click="handleReturnGoodsLend(scope.row)">删除</el-button>
+            <!-- v-if="checkPermission(['goodsLend:print'])" -->
+            <el-button type="primary" size="mini" @click="handlePrintGoodsLendDialog(scope.row)">打印</el-button>
           </template>
         </el-table-column>
       </template>
 
-      <el-pagination
-        v-if="tableData"
-        slot="pagination"
-        @size-change="handlePageSizeChange"
-        @current-change="handlePageCurrentChange"
-        :current-page="tableData.page_no"
-        :page-sizes="[10, 20, 50, 100]"
-        :page-size="tableData.page_size"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="tableData.data_total"
-      >
+      <el-pagination v-if="tableData" slot="pagination" @size-change="handlePageSizeChange"
+        @current-change="handlePageCurrentChange" :current-page="tableData.page_no" :page-sizes="[10, 20, 50, 100]"
+        :page-size="tableData.page_size" layout="total, sizes, prev, pager, next, jumper" :total="tableData.data_total">
       </el-pagination>
     </en-table-layout>
 
-    <el-dialog
-      title="打印预览"
-      :visible.sync="dialogVisible"
-      width="940px"
-      center
-      @close="handleCancle"
-    >
-      <el-button
-        size="mini"
-        type="primary"
-        @click="handlePrintGoodsLend"
-        class="print"
-        >打印</el-button
-      >
+    <el-dialog title="打印预览" :visible.sync="dialogVisible" width="940px" center @close="handleCancle">
+      <el-button size="mini" type="primary" @click="handlePrintGoodsLend" class="print">打印</el-button>
       <div id="deliverySheet" style="width: 900px">
         <div class="tips-t" v-for="(item, index) in codeList" :key="index">
           <div>
             <!-- <div class="qrcode-pic" ref="codeItem" ></div> -->
-            <barcode :value="item" height="20"  format="CODE128" fontSize="20"></barcode>
-           <!--  <h1
+            <barcode :value="item" height="20" format="CODE128" fontSize="20"></barcode>
+            <!--  <h1
               class="qrcode-title"
               style="
                 margin-top: 20px;
@@ -216,19 +129,8 @@
         </div>
       </div>
     </el-dialog>
-    <el-dialog
-      :title="title"
-      :visible.sync="dialogVisibleForm"
-      width="940px"
-      center
-      @close="addHandleCancle"
-    >
-      <el-form
-        ref="addLendForm"
-        :model="addLendForm"
-        :rules="rules"
-        label-width="90px"
-      >
+    <el-dialog :title="title" :visible.sync="dialogVisibleForm" width="940px" center @close="addHandleCancle">
+      <el-form ref="addLendForm" :model="addLendForm" :rules="rules" label-width="90px">
         <!-- <el-form-item label="仓库编号" prop="code">
             <el-input v-model="addLendForm.code" placeholder="请输入仓库编号"></el-input>
           </el-form-item>
@@ -236,57 +138,29 @@
             <el-input v-model="addLendForm.name" placeholder="请输入仓库名称"></el-input>
           </el-form-item> -->
         <el-form-item label="仓库" prop="warehouse_id">
-          <el-select
-            v-model="addLendForm.warehouse_id"
-            clearable
-            @change="selWarehouse"
-          >
-            <el-option
-              v-for="item in warehouseList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            />
+          <el-select v-model="addLendForm.warehouse_id" clearable @change="selWarehouse">
+            <el-option v-for="item in warehouseList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
-          <span
-            style="
+          <span style="
               color: red;
               margin-left: 20px;
               cursor: pointer;
               text-decoration: underline;
-            "
-            v-if="warehouseList.length == 0"
-            @click="gowareHouse"
-            >新增仓库</span
-          >
+            " v-if="warehouseList.length == 0" @click="gowareHouse">新增仓库</span>
         </el-form-item>
         <el-form-item label="库位区域" prop="type">
-          <el-select v-model="addLendForm.type" clearable  @change="selAreaTableData">
-            <el-option
-              v-for="item in AreaTableData"
-              :key="item.id"
-              :label="item.name"
-              :value="item.code"
-            />
+          <el-select v-model="addLendForm.type" clearable @change="selAreaTableData">
+            <el-option v-for="item in AreaTableData" :key="item.id" :label="item.name" :value="item.code" />
           </el-select>
         </el-form-item>
         <el-form-item label="库位号" prop="code">
-          <el-input
-            v-model="addLendForm.code"
-            maxlength="12"
-            placeholder="请输入库位号"
-            style="width: 270px"
-          >
+          <el-input v-model="addLendForm.code" maxlength="12" placeholder="请输入库位号" style="width: 270px">
             <template slot="prepend">{{ warehouseSn }}-{{ AreaTab }}</template>
           </el-input>
         </el-form-item>
         <el-form-item label="库位说明">
-          <el-input
-            type="textarea"
-            :autosize="{ minRows: 2, maxRows: 4 }"
-            placeholder="请输入内容"
-            v-model="addLendForm.intro"
-          >
+          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入内容"
+            v-model="addLendForm.intro">
           </el-input>
         </el-form-item>
       </el-form>
@@ -345,8 +219,8 @@ export default {
         ],
       },
       typeList: [],
-      AreaTableData:[],
-      AreaTab:''
+      AreaTableData: [],
+      AreaTab: ''
     };
   },
   mounted() {
@@ -368,7 +242,7 @@ export default {
   },
   methods: {
     //查看已选中商品
-    introGoodsLend(row){
+    introGoodsLend(row) {
       /* API_GoodsLend.getInfo({id:row.warehouse_id}).then(res=>{
         console.log(res);
       }) */
@@ -376,8 +250,8 @@ export default {
         name: "inventoryItem",
         params: {
           id: row.id,
-          type:'check',
-          code:row.code
+          type: 'check',
+          code: row.code
         },
       });
     },
@@ -386,8 +260,8 @@ export default {
         name: "bindAreaStock",
         params: {
           id: row.id,
-          warehouse_id:row.warehouse_id,
-          code:row.code
+          warehouse_id: row.warehouse_id,
+          code: row.code
         },
       });
     },
@@ -403,7 +277,7 @@ export default {
       let obj = list[0];
       this.warehouseSn = obj.sn;
     },
-    selAreaTableData(val){
+    selAreaTableData(val) {
       const list = this.AreaTableData.filter((el) => {
         return el.code === val;
       });
@@ -417,7 +291,7 @@ export default {
         if (valid) {
           if (this.title === "新增") {
             this.addLendForm.code =
-              this.warehouseSn + "-" + this.addLendForm.code;
+              this.warehouseSn + this.addLendForm.type + "-" + this.addLendForm.code;
             API_GoodsLend.create(this.addLendForm).then((res) => {
               this.$message.success("添加成功!");
               this.dialogVisibleForm = false;
@@ -426,6 +300,8 @@ export default {
               this.GET_GoodsLendList();
             });
           } else if (this.title === "编辑") {
+            this.addLendForm.code =
+              this.warehouseSn + this.addLendForm.type + "-" + this.addLendForm.code;
             API_GoodsLend.update(this.addLendForm).then((res) => {
               this.$message.success("修改成功!");
               this.dialogVisibleForm = false;
@@ -441,7 +317,7 @@ export default {
     },
     addHandleCancle() {
       this.dialogVisibleForm = false;
-      this.addLendForm = {};
+      /* this.addLendForm = {}; */
     },
     handleCancle() {
       this.dialogVisible = false;
@@ -465,9 +341,13 @@ export default {
       }, 500);
     },
     handleEditGoodsLend(row) {
-      console.log(row);
       this.title = "编辑";
-      this.addLendForm = row;
+      const str = row.code;
+      //row.code = str.split('-').pop();
+      this.warehouseSn=str.split('-')[0]
+      this.AreaTab=str.split('-')[1]
+      this.addLendForm = this.MixinClone(row);
+      this.addLendForm.code= str.split('-').pop();
       this.dialogVisibleForm = true;
       // this.$router.push({ name: 'goodsLendEdit', params: { id: row.id }})
     },
@@ -479,7 +359,7 @@ export default {
             this.GET_GoodsLendList();
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     /** 状态 */
     statusFilter(val) {
@@ -539,7 +419,7 @@ export default {
             this.GET_GoodsLendList();
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     /** 多选改变 */
     handleSelectionChange(val) {
@@ -664,11 +544,13 @@ export default {
 /deep/ .el-dialog__body {
   padding: 10px 20px;
 }
+
 /deep/.el-form {
   .el-form-item__content {
     display: flex;
   }
 }
+
 /* @media print {
   html, body {
     font-size: 60pt !important;

+ 2 - 2
manager-admin/src/views/stock/goodsTransfer.vue

@@ -38,7 +38,7 @@
             :disabled="multipleSelection.length === 0"
             >删除</el-button
           > -->
-          <el-button size="mini" type="primary" v-if="checkPermission(['goodsTransfer:add'])" @click="handleSubmitGoodsTransfer">设置预警库存</el-button>
+          <el-button size="mini" type="primary" v-if="checkPermission(['updateWarnStock:update'])" @click="handleSubmitGoodsTransfer">设置预警库存</el-button>
           <el-button size="mini" type="primary" @click="checkExport">导出</el-button>
         </div>
       </div>
@@ -99,7 +99,7 @@
         <el-table-column prop="warning_stock" label="预警库存" />
         <el-table-column label="操作" width="250">
           <template slot-scope="scope">
-            <el-button type="success1" size="mini" v-if="checkPermission(['updateWarnStock:update']) && scope.row.transit_stock>0"
+            <el-button type="success1" size="mini" v-if="checkPermission(['goodsTransfer:add']) && scope.row.transit_stock>0"
               @click="lookTransit(scope.row)">查看在途</el-button>
             <!-- <el-button type="success1" size="mini"
               v-if="scope.row.allowable.submit && checkPermission(['goodsTransfer:submit'])"

+ 3 - 2
manager-admin/src/views/stock/order.vue

@@ -136,7 +136,7 @@
         </el-table-column>
         <el-table-column prop="status" label="实付金额">
           <template slot-scope="scope">{{
-            "¥" + scope.row.pay_price
+            "¥" + scope.row.total_amount
           }}</template>
         </el-table-column>
         <el-table-column prop="status" label="订单状态">
@@ -386,7 +386,8 @@ export default {
       this.payVisible = true
       this.payCode = val.id
       this.paySn = val.sn
-      this.pay_price = val.pay_price
+      console.log(val);
+      this.pay_price = val.total_amount
       this.creatQrCode()
     },
     // 二维码生成

+ 2 - 2
manager-admin/src/views/stock/orderAdd.vue

@@ -821,12 +821,12 @@ export default {
       // this.reimburForm.file_url = URL.createObjectURL(file.raw);
     },
     beforeAvatarUpload(file) {
-      const isLt2M = file.size / 1024 / 1024 < 2;
+      const isLt2M = file.size / 1024 / 1024 < 10;
       /*  if (!isJPG) {isJPG && const isJPG = file.type === 'image/jpeg';
          this.$message.error('上传头像图片只能是 JPG 格式!');
        } */
       if (!isLt2M) {
-        this.$message.error('上传头像图片大小不能超过 2MB!');
+        this.$message.error('上传头像图片大小不能超过 10MB!');
       }
       return isLt2M;
     },

+ 27 - 3
manager-admin/src/views/stock/orderCheck.vue

@@ -228,8 +228,28 @@
                         <el-button @click="reimList">查看明细</el-button>
                     </el-form-item>
                 </el-col>
-                <el-col :span="8">
-                    <el-form-item label="扫码支付(支付宝):" prop="real_price" :rules="rules.pay_price">
+                <el-col :span="12">
+                    <el-form-item label="抬头:" :rules="rules.pay_price">
+                        {{ OrderForm.merchant_pay_info.invoice }}
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="税号:" :rules="rules.pay_price">
+                        {{ OrderForm.merchant_pay_info.duty_paragraph }}
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="开户行:" :rules="rules.pay_price">
+                        {{ OrderForm.merchant_pay_info.bank }}
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="账号:" :rules="rules.pay_price">
+                        {{ OrderForm.merchant_pay_info.bank_no }}
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="扫码支付(支付宝):" :rules="rules.pay_price">
                         <div id="qrCode" ref="qrCodeDiv"></div>
                     </el-form-item>
                 </el-col>
@@ -307,7 +327,8 @@
                 <el-table-column prop="money" label="金额"> </el-table-column>
                 <el-table-column prop="file_url" label="图片">
                     <template slot-scope="scope">
-                        <img :src="scope.row.file_url" alt=""  @click="showImage(scope.row.file_url)" style="width: 60px;height: 60px">
+                        <img :src="scope.row.file_url" alt="" @click="showImage(scope.row.file_url)"
+                            style="width: 60px;height: 60px">
                     </template>
                 </el-table-column>
             </el-table>
@@ -656,6 +677,9 @@ export default {
         // 二维码生成
         creatQrCode() {
             this.$nextTick(() => {
+                if (this.OrderForm.type == 'TO_C') {
+                    this.OrderForm.real_price = this.totalAmount
+                }
                 this.$refs.qrCodeDiv.innerHTML = "";
                 new QRCode(this.$refs.qrCodeDiv, {
                     text: this.payurl + '#/payType?id=' + this.id + '&sn=' + this.barcodeValue + '&price=' + this.OrderForm.real_price,

Some files were not shown because too many files changed in this diff