mushencc 1 年間 前
コミット
a6125b0e6e
100 ファイル変更3534 行追加1323 行削除
  1. 0 0
      dist/index.html
  2. 0 0
      dist/static/css/chunk-03f11e0c.99c21ab1.css
  3. 1 0
      dist/static/css/chunk-041a3dfe.9387bf3f.css
  4. 0 1
      dist/static/css/chunk-074870dc.1ada4c80.css
  5. 1 0
      dist/static/css/chunk-07510353.d85d5c08.css
  6. 0 1
      dist/static/css/chunk-088ca4ba.37218044.css
  7. 1 0
      dist/static/css/chunk-0cced9c4.c233c6b5.css
  8. 0 0
      dist/static/css/chunk-0dac0b9d.18914ba3.css
  9. 1 0
      dist/static/css/chunk-0e4071d4.e68b3120.css
  10. 1 0
      dist/static/css/chunk-1141e8ce.918458fb.css
  11. 0 1
      dist/static/css/chunk-12ec8aa1.332bc6dd.css
  12. 0 0
      dist/static/css/chunk-28f7aa99.db99cbd1.css
  13. 1 0
      dist/static/css/chunk-2b2e2df3.ec273e5c.css
  14. 0 1
      dist/static/css/chunk-2fbd7edd.4432d231.css
  15. 1 0
      dist/static/css/chunk-32f53b72.2c0c8178.css
  16. 0 0
      dist/static/css/chunk-39ff265f.c77bf56e.css
  17. 1 0
      dist/static/css/chunk-4ca68f57.fc285bbd.css
  18. 0 0
      dist/static/css/chunk-537c879e.ce510b5b.css
  19. 1 0
      dist/static/css/chunk-59c734f5.b6e2cdf5.css
  20. 0 1
      dist/static/css/chunk-59d32064.d6fa6cf3.css
  21. 0 0
      dist/static/css/chunk-5a3f9f59.e3937e23.css
  22. 0 1
      dist/static/css/chunk-5edfc135.c1120c3a.css
  23. 1 0
      dist/static/css/chunk-63a29b4e.f94d1c94.css
  24. 1 0
      dist/static/css/chunk-6eca8dec.04e54cc0.css
  25. 0 0
      dist/static/css/chunk-70d7c530.d7272f41.css
  26. 1 0
      dist/static/css/chunk-77aba47c.e7c147bf.css
  27. 0 0
      dist/static/css/chunk-7b519954.b6508ab8.css
  28. 0 0
      dist/static/css/chunk-837aef8c.e3714a8d.css
  29. 1 0
      dist/static/css/chunk-84f0305a.e3e35c2c.css
  30. 0 1
      dist/static/css/chunk-8a32f4ac.76a42dbc.css
  31. 0 0
      dist/static/css/chunk-8f5b42dc.856e0e97.css
  32. 1 0
      dist/static/css/chunk-aaa580e2.16bfd249.css
  33. 0 0
      dist/static/css/chunk-b41f9964.1a5717ba.css
  34. 0 1
      dist/static/css/chunk-c370c73c.4771db74.css
  35. 0 0
      dist/static/css/chunk-d6085eaa.9e2dc30e.css
  36. 1 0
      dist/static/css/chunk-fa19435e.9c4c7e69.css
  37. 0 0
      dist/static/css/chunk-vendors.0f8997aa.css
  38. 0 0
      dist/static/css/chunk-vendors.2d238145.css
  39. 0 0
      dist/static/js/app.81a36161.js
  40. 0 0
      dist/static/js/app.8e9a0d78.js
  41. 0 0
      dist/static/js/chunk-03f11e0c.ad138465.js
  42. 0 0
      dist/static/js/chunk-041a3dfe.76505c49.js
  43. 0 0
      dist/static/js/chunk-074870dc.ce214669.js
  44. 0 0
      dist/static/js/chunk-07510353.51275077.js
  45. 0 1
      dist/static/js/chunk-088ca4ba.61b94bac.js
  46. 0 0
      dist/static/js/chunk-0cced9c4.7390762a.js
  47. 0 0
      dist/static/js/chunk-0dac0b9d.6793f6d3.js
  48. 0 0
      dist/static/js/chunk-0e4071d4.4e3d26a4.js
  49. 0 0
      dist/static/js/chunk-1141e8ce.c74bf46f.js
  50. 0 0
      dist/static/js/chunk-12ec8aa1.aa7be95b.js
  51. 0 0
      dist/static/js/chunk-1619e452.e6663181.js
  52. 0 0
      dist/static/js/chunk-28f7aa99.d4a1d0fd.js
  53. 1 0
      dist/static/js/chunk-2b2e2df3.142c0887.js
  54. 1 1
      dist/static/js/chunk-2d0aa5b8.55d0527f.js
  55. 0 0
      dist/static/js/chunk-2d21022e.57850cb4.js
  56. 0 0
      dist/static/js/chunk-2f432dbf.a78c8af4.js
  57. 0 1
      dist/static/js/chunk-2fbd7edd.5b14cafd.js
  58. 1 0
      dist/static/js/chunk-32f53b72.482df6bb.js
  59. 0 0
      dist/static/js/chunk-39ff265f.c5d3a4f5.js
  60. 0 0
      dist/static/js/chunk-4ca68f57.490402f7.js
  61. 0 0
      dist/static/js/chunk-537c879e.15a1b7d3.js
  62. 0 0
      dist/static/js/chunk-59c734f5.c02e82c5.js
  63. 0 0
      dist/static/js/chunk-59d32064.fbdf3f0e.js
  64. 0 0
      dist/static/js/chunk-5a3f9f59.27e7c855.js
  65. 0 0
      dist/static/js/chunk-63a29b4e.0031a330.js
  66. 0 0
      dist/static/js/chunk-6e4aceda.afce7c7c.js
  67. 1 0
      dist/static/js/chunk-6eca8dec.1a621ad5.js
  68. 0 0
      dist/static/js/chunk-70d7c530.d5dee979.js
  69. 1 1
      dist/static/js/chunk-77aba47c.97eaa27e.js
  70. 0 0
      dist/static/js/chunk-7b519954.93a8b5da.js
  71. 0 0
      dist/static/js/chunk-837aef8c.1270780e.js
  72. 0 0
      dist/static/js/chunk-84f0305a.ff8f5d43.js
  73. 0 0
      dist/static/js/chunk-8f5b42dc.eea5bba2.js
  74. 0 0
      dist/static/js/chunk-9c34369c.00e0f5d4.js
  75. 1 0
      dist/static/js/chunk-aaa580e2.36a546cc.js
  76. 0 0
      dist/static/js/chunk-b41f9964.f2d5233e.js
  77. 0 0
      dist/static/js/chunk-c370c73c.32633a20.js
  78. 0 0
      dist/static/js/chunk-d6085eaa.119a371d.js
  79. 0 0
      dist/static/js/chunk-fa19435e.2a4a342c.js
  80. 0 0
      dist/static/js/chunk-vendors.1f3e21b6.js
  81. 0 0
      dist/static/js/chunk-vendors.f48c7092.js
  82. 718 1201
      package-lock.json
  83. 6 6
      package.json
  84. 2 2
      src/App.vue
  85. BIN
      src/assets/images/shipmentsBack.png
  86. 5 2
      src/axios/index.js
  87. 3 0
      src/main.js
  88. 39 4
      src/router/index.js
  89. 1 1
      src/routerMap/index.js
  90. 1 0
      src/store/index.js
  91. 5 5
      src/views/Login.vue
  92. 239 0
      src/views/chipBoxOrder.vue
  93. 384 0
      src/views/chipBoxPrint.vue
  94. 508 0
      src/views/chipFinish.vue
  95. 555 0
      src/views/chipPackage.vue
  96. 544 0
      src/views/chipQualityTesting.vue
  97. 70 0
      src/views/chipScreen.vue
  98. 14 4
      src/views/cms.vue
  99. 76 0
      src/views/inOut.vue
  100. 343 86
      src/views/page/Dispatch/detail.vue

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/index.html


+ 0 - 0
dist/static/css/chunk-03f11e0c.f3b87d2c.css → dist/static/css/chunk-03f11e0c.99c21ab1.css


+ 1 - 0
dist/static/css/chunk-041a3dfe.9387bf3f.css

@@ -0,0 +1 @@
+.choose2[data-v-710f7c2a]{color:#03fcd3;position:relative}.bc[data-v-710f7c2a]{height:100%}.tabBar[data-v-710f7c2a]{width:100%;color:#a8a2a2}.footer[data-v-710f7c2a]{position:absolute;bottom:0;width:100%;height:3.06rem;z-index:1;background-image:url(../../static/img/tabbarlist.0ccaf302.png)}.nav-link[data-v-710f7c2a]{color:#abdfff}.h5[data-v-710f7c2a]{margin-bottom:0;position:relative;top:.24rem}.nav[data-v-710f7c2a]{--bs-nav-link-padding-x:0rem;--bs-nav-link-padding-y:0rem}.choose[data-v-710f7c2a]{color:#03fcd3}.circle[data-v-710f7c2a]{width:3rem;height:3rem;margin:0 auto;position:absolute}.choose_1[data-v-710f7c2a],.choose_3[data-v-710f7c2a]{border-radius:50%;background:#03fcd3;top:-.3rem;left:50%;transform:translate(-50%,-50%);line-height:2.3;z-index:2}[data-v-710f7c2a].ivu-modal{top:40%}[data-v-710f7c2a].ivu-modal-content{background-color:transparent!important}[data-v-710f7c2a].ivu-modal-body{padding:0}[data-v-710f7c2a].ivu-btn-primary{background-color:#0f4680}

+ 0 - 1
dist/static/css/chunk-074870dc.1ada4c80.css

@@ -1 +0,0 @@
-.choose2[data-v-b1efe8ae]{color:#03fcd3;position:relative}.bc[data-v-b1efe8ae]{height:100%}.tabBar[data-v-b1efe8ae]{width:100%;color:#a8a2a2}.footer[data-v-b1efe8ae]{position:absolute;bottom:0;width:100%;height:3.06rem;z-index:1;background-image:url(../../static/img/tabbarlist.0ccaf302.png)}.nav-link[data-v-b1efe8ae]{color:#abdfff}.h5[data-v-b1efe8ae]{margin-bottom:0;position:relative;top:.24rem}.nav[data-v-b1efe8ae]{--bs-nav-link-padding-x:0rem;--bs-nav-link-padding-y:0rem}.choose[data-v-b1efe8ae]{color:#03fcd3}.circle[data-v-b1efe8ae]{width:3rem;height:3rem;margin:0 auto;position:absolute}.choose_1[data-v-b1efe8ae],.choose_3[data-v-b1efe8ae]{border-radius:50%;background:#03fcd3;top:-.3rem;left:50%;transform:translate(-50%,-50%);line-height:2.3;z-index:2}[data-v-b1efe8ae] .ivu-modal{top:40%}[data-v-b1efe8ae] .ivu-modal-content{background-color:transparent!important}[data-v-b1efe8ae] .ivu-modal-body{padding:0}[data-v-b1efe8ae] .ivu-btn-primary{background-color:#0f4680}

+ 1 - 0
dist/static/css/chunk-07510353.d85d5c08.css

@@ -0,0 +1 @@
+.header[data-v-1afade6d]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #356070}.bdy[data-v-1afade6d]{height:calc(100% - 5rem);display:flex;flex-wrap:wrap;overflow:auto}.bdy[data-v-1afade6d]::-webkit-scrollbar{width:8px}.bdy[data-v-1afade6d]::-webkit-scrollbar-track{background:linear-gradient(180deg,#f5f5f5,#002359)}.bdy[data-v-1afade6d]::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a1a1a1,#3b4169);border-radius:5px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.choose_item[data-v-1afade6d]{border-radius:20px;background:#fff;color:#000}.choose_item[data-v-1afade6d],.item[data-v-1afade6d]{cursor:pointer;display:flex;align-items:center;padding:10px;margin:20px 0 20px 2.5%;width:30%;height:80px}.item[data-v-1afade6d]{border:1px solid #797878;color:#797878;border-radius:20px}

+ 0 - 1
dist/static/css/chunk-088ca4ba.37218044.css

@@ -1 +0,0 @@
-.header[data-v-77bde902]{width:94%;height:7rem;position:relative;top:.5rem;left:3%;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;border-radius:1rem;padding:.4rem .7rem 0 1rem;background:#fff}.header_btn[data-v-77bde902]{border-radius:.5rem;padding:.1rem;width:5rem;display:flex;justify-content:space-around;align-items:center}.header_top[data-v-77bde902]{display:flex;justify-content:space-between;align-items:center}.ot[data-v-77bde902]{position:relative;top:-1.3rem}.header_middle1[data-v-77bde902]{display:flex;justify-content:space-between;align-items:center}.header_middle1 .ft[data-v-77bde902]{font-size:1.5rem;width:5rem;text-align:center}.header_middle[data-v-77bde902]{position:relative;top:-.3rem;display:flex;justify-content:space-between;align-items:center}.btn-group-vertical>.btn[data-v-77bde902],[data-v-77bde902] .btn-group>.btn{background:#fff;color:#2c3e50;outline:none;border:none;margin:0;z-index:3}.header_footer[data-v-77bde902]{position:relative;top:-1.7rem;display:flex;justify-content:space-between;align-items:center}.header_footer div[data-v-77bde902]{font-size:.5rem;color:#f4882a}.bdy[data-v-77bde902]{height:14.09rem;background-image:url(../../static/img/packUpback.a42a8fa6.png);background-size:100% 100%;padding:1.78rem 2.03rem;box-sizing:border-box;position:absolute;width:94%;transform:translate(-50%,-50%);top:40%;border-radius:1rem;left:50%}.bdy_btn[data-v-77bde902]{margin-top:2rem;display:flex;justify-content:center;align-items:center}.select_list[data-v-77bde902]{border-radius:.38rem;border:.03rem solid #76cfff;background-color:transparent;outline:none;padding:0 .625rem;box-sizing:border-box;color:#fff;width:100%;height:100%;font-weight:500;letter-spacing:.1rem}[data-v-77bde902] .inp{background:#032a64!important;color:#fff}[data-v-77bde902]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588235295)}

+ 1 - 0
dist/static/css/chunk-0cced9c4.c233c6b5.css

@@ -0,0 +1 @@
+.view[data-v-38de1b17]{height:100%;padding:0;overflow-x:hidden}.form[data-v-38de1b17]{box-sizing:border-box;width:100%;height:100%;color:#fff;position:absolute;top:7.5rem;padding:1.7rem 1.5rem;font-size:18px!important;font-weight:700}.logo[data-v-38de1b17]{width:6rem;height:6rem;position:absolute;top:20%;left:50%;transform:translate(-50%,-70%)}.logo img[data-v-38de1b17]{width:100%;height:100%}.header[data-v-38de1b17]{color:#fff;font-size:1.5rem;position:relative;width:100%;top:1.6rem;left:1rem}[data-v-38de1b17]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588)}[data-v-38de1b17].inp{background:#2a4470!important;border:none;color:#fff}input[data-v-38de1b17]{color:#fff}.inp[data-v-38de1b17]:focus{background-color:#04ffd5;color:#fff;border:1px solid #76cfff}[data-v-38de1b17].col-2,[data-v-38de1b17].col-4{color:#fff;font-family:PingFangSC-Medium,sans-serif;text-shadow:1px 1px 1px #4fc9f2;letter-spacing:2px}.btn_login[data-v-38de1b17]{background:url(../../static/img/btn_login.a8f1c793.png);display:flex;height:3.5rem;justify-content:center;align-items:center;background-repeat:no-repeat;background-size:cover}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-0dac0b9d.18914ba3.css


+ 1 - 0
dist/static/css/chunk-0e4071d4.e68b3120.css

@@ -0,0 +1 @@
+.content[data-v-37fda217]{height:calc(100% - 5rem);overflow:auto}.content .item[data-v-37fda217]{width:94%;position:relative;left:3%;margin:1.5rem 0;border-radius:1rem;background-color:#fff;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;font-size:.8rem;display:flex;flex-wrap:wrap}.content .item .add[data-v-37fda217]{bottom:-.5rem;left:-.5rem}.content .item .add[data-v-37fda217],.content .item .delete[data-v-37fda217]{position:absolute;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.3rem;border-radius:50%;box-shadow:.1rem .1rem .1rem 0 #777676;background:#fff}.content .item .delete[data-v-37fda217]{top:-.5rem;right:-.5rem}.content .item .unit[data-v-37fda217]{width:50%;padding:.5rem;vertical-align:middle}.content .item .unit label[data-v-37fda217]{width:40%;text-align:center}.footer_btn[data-v-37fda217]{display:flex;justify-content:space-between;align-items:center}[data-v-37fda217].ivu-modal-content{top:-5rem}[data-v-37fda217].ivu-form-item{margin-bottom:.5rem}

+ 1 - 0
dist/static/css/chunk-1141e8ce.918458fb.css

@@ -0,0 +1 @@
+.header[data-v-30807a90]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #356070}.bdy[data-v-30807a90]{height:calc(100% - 9rem);display:flex;flex-wrap:wrap;overflow:auto}.bdy[data-v-30807a90]::-webkit-scrollbar{width:8px}.bdy[data-v-30807a90]::-webkit-scrollbar-track{background:linear-gradient(180deg,#f5f5f5,#002359)}.bdy[data-v-30807a90]::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a1a1a1,#3b4169);border-radius:5px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.item[data-v-30807a90]{align-items:center;cursor:pointer;border:1px solid #0075fc;color:#8fbef3;border-radius:20px;padding:10px;margin:20px 0 20px 2.5%;width:30%;height:150px}

+ 0 - 1
dist/static/css/chunk-12ec8aa1.332bc6dd.css

@@ -1 +0,0 @@
-.home_con_body[data-v-7a925f95]{width:100%;box-sizing:border-box}.home_header[data-v-7a925f95]{height:2.125rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;font-weight:600}.home_header_line[data-v-7a925f95]{width:100%;height:.0625rem;background-color:#fff;opacity:.2}.item[data-v-7a925f95]{display:flex;justify-content:space-between;align-items:center;width:100%;background-image:url(../../static/img/gcbj.dad7dd97.png);color:#fff;padding:0 1rem;box-sizing:border-box}.return_item[data-v-7a925f95]{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);text-align:center;background-image:url(../../static/img/quit.8c37d2f2.png);background-size:100% 100%;color:#fff;width:80%;margin:0 auto;font-size:1.06rem;font-weight:500;color:#a51626}.return_item div[data-v-7a925f95]{font-size:1.2rem;padding:1rem;font-weight:700}.item_icon[data-v-7a925f95]{width:20%;text-align:center}.item_title[data-v-7a925f95]{font-size:1rem;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 2rem;box-sizing:border-box;padding:1rem 0}.img_content[data-v-7a925f95]{width:4.3rem;border-radius:50%;height:4.56rem;overflow:hidden}.info_content div[data-v-7a925f95]{font-size:1rem;font-weight:700}.main_header[data-v-7a925f95]{background:hsla(0,0%,100%,0);margin-bottom:.2rem}.header[data-v-7a925f95]{display:flex;color:#fff;flex-direction:column;align-items:center}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-28f7aa99.db99cbd1.css


+ 1 - 0
dist/static/css/chunk-2b2e2df3.ec273e5c.css

@@ -0,0 +1 @@
+.header[data-v-3c46eb8c]{width:94%;height:7rem;position:relative;top:.5rem;left:3%;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;border-radius:1rem;padding:.4rem .7rem 0 1rem;background:#fff}.header_btn[data-v-3c46eb8c]{border-radius:.5rem;padding:.1rem;width:5rem;display:flex;justify-content:space-around;align-items:center}.header_top[data-v-3c46eb8c]{display:flex;justify-content:space-between;align-items:center}.ot[data-v-3c46eb8c]{position:relative;top:-1.3rem}.header_middle1[data-v-3c46eb8c]{display:flex;justify-content:space-between;align-items:center}.header_middle1 .ft[data-v-3c46eb8c]{font-size:1.5rem;width:5rem;text-align:center}.header_middle[data-v-3c46eb8c]{position:relative;top:-.3rem;display:flex;justify-content:space-between;align-items:center}.btn-group-vertical>.btn[data-v-3c46eb8c],[data-v-3c46eb8c] .btn-group>.btn{background:#fff;color:#2c3e50;outline:none;border:none;margin:0;z-index:3}.header_footer[data-v-3c46eb8c]{position:relative;top:-1.7rem;display:flex;justify-content:space-between;align-items:center}.header_footer div[data-v-3c46eb8c]{font-size:.5rem;color:#f4882a}.bdy[data-v-3c46eb8c]{height:14.09rem;background-image:url(../../static/img/packUpback.a42a8fa6.png);background-size:100% 100%;padding:1.78rem 2.03rem;box-sizing:border-box;position:absolute;width:94%;transform:translate(-50%,-50%);top:40%;border-radius:1rem;left:50%}.bdy_btn[data-v-3c46eb8c]{margin-top:2rem;display:flex;justify-content:center;align-items:center}.select_list[data-v-3c46eb8c]{border-radius:.38rem;border:.03rem solid #76cfff;background-color:transparent;outline:none;padding:0 .625rem;box-sizing:border-box;color:#fff;width:100%;height:100%;font-weight:500;letter-spacing:.1rem}[data-v-3c46eb8c].inp{background:#032a64!important;color:#fff}[data-v-3c46eb8c]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588)}

+ 0 - 1
dist/static/css/chunk-2fbd7edd.4432d231.css

@@ -1 +0,0 @@
-.header[data-v-19eddff7]{width:94%;height:7rem;position:relative;top:.5rem;left:3%;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;border-radius:1rem;padding:.4rem .7rem 0 1rem;background:#fff}.header_btn[data-v-19eddff7]{border-radius:.5rem;padding:.1rem;width:5rem;display:flex;justify-content:space-around;align-items:center}.header_top[data-v-19eddff7]{display:flex;justify-content:space-between;align-items:center}.ot[data-v-19eddff7]{position:relative;top:-1.3rem}.header_middle1[data-v-19eddff7]{display:flex;justify-content:space-between;align-items:center}.header_middle1 .ft[data-v-19eddff7]{font-size:1.5rem;width:5rem;text-align:center}.header_middle[data-v-19eddff7]{position:relative;top:-.3rem;display:flex;justify-content:space-between;align-items:center}.btn-group-vertical>.btn[data-v-19eddff7],[data-v-19eddff7] .btn-group>.btn{background:#fff;color:#2c3e50;outline:none;border:none;margin:0;z-index:3}.header_footer[data-v-19eddff7]{position:relative;top:-1.7rem;display:flex;justify-content:space-between;align-items:center}.header_footer div[data-v-19eddff7]{font-size:.5rem;color:#f4882a}.bdy[data-v-19eddff7]{height:14.09rem;background-image:url(../../static/img/packUpback.a42a8fa6.png);background-size:100% 100%;padding:1.78rem 2.03rem;box-sizing:border-box;position:absolute;width:94%;transform:translate(-50%,-50%);top:40%;border-radius:1rem;left:50%}.bdy_btn[data-v-19eddff7]{margin-top:2rem;display:flex;justify-content:center;align-items:center}.select_list[data-v-19eddff7]{border-radius:.38rem;border:.03rem solid #76cfff;background-color:transparent;outline:none;padding:0 .625rem;box-sizing:border-box;color:#fff;width:100%;height:100%;font-weight:500;letter-spacing:.1rem}[data-v-19eddff7] .inp{background:#032a64!important;color:#fff}[data-v-19eddff7]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588235295)}

+ 1 - 0
dist/static/css/chunk-32f53b72.2c0c8178.css

@@ -0,0 +1 @@
+@keyframes example-dbe5cda8{0%{left:600px}to{left:0}}.isred[data-v-dbe5cda8]{color:red}.isg[data-v-dbe5cda8]{color:#0f3}#dy[data-v-dbe5cda8]{overflow:auto}#dy[data-v-dbe5cda8]::-webkit-scrollbar{width:1px}.dong[data-v-dbe5cda8]:first-child{position:relative;animation-name:example-dbe5cda8;animation-duration:.9s}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-39ff265f.c77bf56e.css


+ 1 - 0
dist/static/css/chunk-4ca68f57.fc285bbd.css

@@ -0,0 +1 @@
+.bdy[data-v-35a677a6]{height:calc(100% - 6rem);overflow:auto}.bdy[data-v-35a677a6]::-webkit-scrollbar{width:1px}.bdy .item[data-v-35a677a6]{background-color:#2a4470}.bdy .item .itemmingxi[data-v-35a677a6],.bdy .item[data-v-35a677a6]{width:98%;display:flex;flex-wrap:wrap;margin:0 1% 1% 1%;border-radius:20px;position:relative}.bdy .item .itemmingxi[data-v-35a677a6]{background-color:#012248}.bdy .item .itemmingxi div[data-v-35a677a6]{color:#fff;width:22%;margin:1%}.bdy .item .itemmingxi div label[data-v-35a677a6]{width:6rem;text-align:right}.bdy .item .it_ti[data-v-35a677a6]{color:#fff;width:22%;display:flex;align-items:center;margin:1%}.bdy .item .it_ti label[data-v-35a677a6]{width:6rem;text-align:right}[data-v-35a677a6] .ivu-form-item-label{color:#fff!important;font-size:1.3rem}[data-v-35a677a6] .ivu-divider-inner-text{color:#fff}[data-v-35a677a6] .ivu-divider{margin:2px 0}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-537c879e.ce510b5b.css


+ 1 - 0
dist/static/css/chunk-59c734f5.b6e2cdf5.css

@@ -0,0 +1 @@
+.home_con_body[data-v-7472562e]{width:100%;box-sizing:border-box}.home_header[data-v-7472562e]{height:2.125rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;font-weight:600}.home_header_line[data-v-7472562e]{width:100%;height:.0625rem;background-color:#fff;opacity:.2}.item[data-v-7472562e]{display:flex;justify-content:space-between;align-items:center;width:100%;background-image:url(../../static/img/gcbj.dad7dd97.png);color:#fff;padding:0 1rem;box-sizing:border-box}.return_item[data-v-7472562e]{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);text-align:center;background-image:url(../../static/img/quit.8c37d2f2.png);background-size:100% 100%;color:#fff;width:80%;margin:0 auto;font-size:1.06rem;font-weight:500;color:#a51626}.return_item div[data-v-7472562e]{font-size:1.2rem;padding:1rem;font-weight:700}.item_icon[data-v-7472562e]{width:20%;text-align:center}.item_title[data-v-7472562e]{font-size:1rem;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 2rem;box-sizing:border-box;padding:1rem 0}.img_content[data-v-7472562e]{width:4.3rem;border-radius:50%;height:4.56rem;overflow:hidden}.info_content div[data-v-7472562e]{font-size:1rem;font-weight:700}.main_header[data-v-7472562e]{background:hsla(0,0%,100%,0);margin-bottom:.2rem}.header[data-v-7472562e]{display:flex;color:#fff;flex-direction:column;align-items:center}

+ 0 - 1
dist/static/css/chunk-59d32064.d6fa6cf3.css

@@ -1 +0,0 @@
-.content[data-v-3360b0f3]{height:calc(100% - 5rem);overflow:auto}.content .item[data-v-3360b0f3]{width:94%;position:relative;left:3%;margin:1.5rem 0;border-radius:1rem;background-color:#fff;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;font-size:.8rem;display:flex;flex-wrap:wrap}.content .item .add[data-v-3360b0f3]{bottom:-.5rem;left:-.5rem}.content .item .add[data-v-3360b0f3],.content .item .delete[data-v-3360b0f3]{position:absolute;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.3rem;border-radius:50%;box-shadow:.1rem .1rem .1rem 0 #777676;background:#fff}.content .item .delete[data-v-3360b0f3]{top:-.5rem;right:-.5rem}.content .item .unit[data-v-3360b0f3]{width:50%;padding:.5rem;vertical-align:middle}.content .item .unit label[data-v-3360b0f3]{width:40%;text-align:center}.footer_btn[data-v-3360b0f3]{display:flex;justify-content:space-between;align-items:center}[data-v-3360b0f3] .ivu-modal-content{top:-5rem}[data-v-3360b0f3] .ivu-form-item{margin-bottom:.5rem}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-5a3f9f59.e3937e23.css


+ 0 - 1
dist/static/css/chunk-5edfc135.c1120c3a.css

@@ -1 +0,0 @@
-.header[data-v-235a1e3a]{width:94%;height:7rem;position:relative;top:.5rem;left:3%;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;border-radius:1rem;padding:.4rem .7rem 0 1rem;background:#fff}.header_btn[data-v-235a1e3a]{border-radius:.5rem;padding:.1rem;width:5rem;display:flex;justify-content:space-around;align-items:center}.header_top[data-v-235a1e3a]{display:flex;justify-content:space-between;align-items:center}.ot[data-v-235a1e3a]{position:relative;top:-1.3rem}.header_middle1[data-v-235a1e3a]{display:flex;justify-content:space-between;align-items:center}.header_middle1 .ft[data-v-235a1e3a]{font-size:1.5rem;width:5rem;text-align:center}.header_middle[data-v-235a1e3a]{position:relative;top:-.3rem;display:flex;justify-content:space-between;align-items:center}.btn-group-vertical>.btn[data-v-235a1e3a],[data-v-235a1e3a] .btn-group>.btn{background:#fff;color:#2c3e50;outline:none;border:none;margin:0;z-index:3}.header_footer[data-v-235a1e3a]{position:relative;top:-1.7rem;display:flex;justify-content:space-between;align-items:center}.header_footer div[data-v-235a1e3a]{font-size:.5rem;color:#f4882a}.bdy[data-v-235a1e3a]{height:14.09rem;background-image:url(../../static/img/packUpback.a42a8fa6.png);background-size:100% 100%;padding:1.78rem 2.03rem;box-sizing:border-box;position:absolute;width:94%;transform:translate(-50%,-50%);top:40%;border-radius:1rem;left:50%}.bdy_btn[data-v-235a1e3a]{margin-top:2rem;display:flex;justify-content:center;align-items:center}.select_list[data-v-235a1e3a]{border-radius:.38rem;border:.03rem solid #76cfff;background-color:transparent;outline:none;padding:0 .625rem;box-sizing:border-box;color:#fff;width:100%;height:100%;font-weight:500;letter-spacing:.1rem}[data-v-235a1e3a].inp{background:#032a64!important;color:#fff}[data-v-235a1e3a]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588235295)}

+ 1 - 0
dist/static/css/chunk-63a29b4e.f94d1c94.css

@@ -0,0 +1 @@
+.header[data-v-7490e467]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #356070}.bdy[data-v-7490e467]{height:calc(100% - 5rem);display:flex;flex-wrap:wrap;overflow:auto}.bdy[data-v-7490e467]::-webkit-scrollbar{width:8px}.bdy[data-v-7490e467]::-webkit-scrollbar-track{background:linear-gradient(180deg,#f5f5f5,#002359)}.bdy[data-v-7490e467]::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a1a1a1,#3b4169);border-radius:5px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}[data-v-7490e467] .van-calendar__body::-webkit-scrollbar{width:0}.choose_item[data-v-7490e467]{border-radius:20px;background:#fff;color:#000}.choose_item[data-v-7490e467],.item[data-v-7490e467]{cursor:pointer;padding:10px;margin:20px 0 20px 2.5%;width:30%;height:180px}.item[data-v-7490e467]{border:1px solid #797878;color:#797878;border-radius:20px}

+ 1 - 0
dist/static/css/chunk-6eca8dec.04e54cc0.css

@@ -0,0 +1 @@
+.bdy[data-v-4e52f1ee]{display:flex;flex-wrap:wrap;overflow:auto}.bdy div[data-v-4e52f1ee]{width:30%;height:20vh;color:#fff;border:1px solid;margin:10vh 10%;display:flex;border-radius:20px;justify-content:center;align-items:center;font-size:40px}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-70d7c530.d7272f41.css


+ 1 - 0
dist/static/css/chunk-77aba47c.e7c147bf.css

@@ -0,0 +1 @@
+.header[data-v-71dca68a]{width:94%;height:7rem;position:relative;top:.5rem;left:3%;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;border-radius:1rem;padding:.4rem .7rem 0 1rem;background:#fff}.header_btn[data-v-71dca68a]{border-radius:.5rem;padding:.1rem;width:5rem;display:flex;justify-content:space-around;align-items:center}.header_top[data-v-71dca68a]{display:flex;justify-content:space-between;align-items:center}.ot[data-v-71dca68a]{position:relative;top:-1.3rem}.header_middle1[data-v-71dca68a]{display:flex;justify-content:space-between;align-items:center}.header_middle1 .ft[data-v-71dca68a]{font-size:1.5rem;width:5rem;text-align:center}.header_middle[data-v-71dca68a]{position:relative;top:-.3rem;display:flex;justify-content:space-between;align-items:center}.btn-group-vertical>.btn[data-v-71dca68a],[data-v-71dca68a] .btn-group>.btn{background:#fff;color:#2c3e50;outline:none;border:none;margin:0;z-index:3}.header_footer[data-v-71dca68a]{position:relative;top:-1.7rem;display:flex;justify-content:space-between;align-items:center}.header_footer div[data-v-71dca68a]{font-size:.5rem;color:#f4882a}.bdy[data-v-71dca68a]{height:14.09rem;background-image:url(../../static/img/packUpback.a42a8fa6.png);background-size:100% 100%;padding:1.78rem 2.03rem;box-sizing:border-box;position:absolute;width:94%;transform:translate(-50%,-50%);top:40%;border-radius:1rem;left:50%}.bdy_btn[data-v-71dca68a]{margin-top:2rem;display:flex;justify-content:center;align-items:center}.select_list[data-v-71dca68a]{border-radius:.38rem;border:.03rem solid #76cfff;background-color:transparent;outline:none;padding:0 .625rem;box-sizing:border-box;color:#fff;width:100%;height:100%;font-weight:500;letter-spacing:.1rem}[data-v-71dca68a].inp{background:#032a64!important;color:#fff}[data-v-71dca68a]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588)}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-7b519954.b6508ab8.css


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-837aef8c.e3714a8d.css


+ 1 - 0
dist/static/css/chunk-84f0305a.e3e35c2c.css

@@ -0,0 +1 @@
+.bdy[data-v-2fd2a050]{height:calc(100% - 6rem);overflow:auto}.bdy[data-v-2fd2a050]::-webkit-scrollbar{width:1px}.bdy .item[data-v-2fd2a050]{background-color:#2a4470}.bdy .item .itemmingxi[data-v-2fd2a050],.bdy .item[data-v-2fd2a050]{width:98%;display:flex;flex-wrap:wrap;margin:0 1% 1% 1%;border-radius:20px;position:relative}.bdy .item .itemmingxi[data-v-2fd2a050]{background-color:#012248}.bdy .item .itemmingxi div[data-v-2fd2a050]{color:#fff;width:22%;margin:1%}.bdy .item .itemmingxi div label[data-v-2fd2a050]{width:6rem;text-align:right}.bdy .item .it_ti[data-v-2fd2a050]{color:#fff;width:22%;display:flex;align-items:center;margin:1%}.bdy .item .it_ti label[data-v-2fd2a050]{width:6rem;text-align:right}[data-v-2fd2a050] .ivu-form-item-label{color:#fff!important;font-size:1.3rem}[data-v-2fd2a050] .ivu-divider-inner-text{color:#fff}[data-v-2fd2a050] .ivu-divider{margin:2px 0}

+ 0 - 1
dist/static/css/chunk-8a32f4ac.76a42dbc.css

@@ -1 +0,0 @@
-.header[data-v-d10aaaac]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #356070}.bdy[data-v-d10aaaac]{height:calc(100% - 5rem);display:flex;flex-wrap:wrap;overflow:auto}.bdy[data-v-d10aaaac]::-webkit-scrollbar{width:8px}.bdy[data-v-d10aaaac]::-webkit-scrollbar-track{background:linear-gradient(180deg,#f5f5f5,#002359)}.bdy[data-v-d10aaaac]::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a1a1a1,#3b4169);border-radius:5px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.choose_item[data-v-d10aaaac]{border-radius:20px;background:#fff;color:#000}.choose_item[data-v-d10aaaac],.item[data-v-d10aaaac]{cursor:pointer;display:flex;align-items:center;padding:10px;margin:20px 0 20px 2.5%;width:30%;height:80px}.item[data-v-d10aaaac]{border:1px solid #797878;color:#797878;border-radius:20px}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-8f5b42dc.856e0e97.css


+ 1 - 0
dist/static/css/chunk-aaa580e2.16bfd249.css

@@ -0,0 +1 @@
+.header[data-v-58871783]{width:94%;height:7rem;position:relative;top:.5rem;left:3%;box-shadow:.16rem .1rem .1rem .1rem #9d9b9b;border-radius:1rem;padding:.4rem .7rem 0 1rem;background:#fff}.header_btn[data-v-58871783]{border-radius:.5rem;padding:.1rem;width:5rem;display:flex;justify-content:space-around;align-items:center}.header_top[data-v-58871783]{display:flex;justify-content:space-between;align-items:center}.ot[data-v-58871783]{position:relative;top:-1.3rem}.header_middle1[data-v-58871783]{display:flex;justify-content:space-between;align-items:center}.header_middle1 .ft[data-v-58871783]{font-size:1.5rem;width:5rem;text-align:center}.header_middle[data-v-58871783]{position:relative;top:-.3rem;display:flex;justify-content:space-between;align-items:center}.btn-group-vertical>.btn[data-v-58871783],[data-v-58871783] .btn-group>.btn{background:#fff;color:#2c3e50;outline:none;border:none;margin:0;z-index:3}.header_footer[data-v-58871783]{position:relative;top:-1.7rem;display:flex;justify-content:space-between;align-items:center}.header_footer div[data-v-58871783]{font-size:.5rem;color:#f4882a}.bdy[data-v-58871783]{height:14.09rem;background-image:url(../../static/img/packUpback.a42a8fa6.png);background-size:100% 100%;padding:1.78rem 2.03rem;box-sizing:border-box;position:absolute;width:94%;transform:translate(-50%,-50%);top:40%;border-radius:1rem;left:50%}.bdy_btn[data-v-58871783]{margin-top:2rem;display:flex;justify-content:center;align-items:center}.select_list[data-v-58871783]{border-radius:.38rem;border:.03rem solid #76cfff;background-color:transparent;outline:none;padding:0 .625rem;box-sizing:border-box;color:#fff;width:100%;height:100%;font-weight:500;letter-spacing:.1rem}[data-v-58871783].inp{background:#032a64!important;color:#fff}[data-v-58871783]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588)}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-b41f9964.1a5717ba.css


+ 0 - 1
dist/static/css/chunk-c370c73c.4771db74.css

@@ -1 +0,0 @@
-.view[data-v-01207502]{height:100%;padding:0;overflow-x:hidden}.form[data-v-01207502]{box-sizing:border-box;width:100%;height:100%;color:#fff;position:absolute;top:7.5rem;padding:1.7rem 1.5rem;font-size:18px!important;font-weight:700}.logo[data-v-01207502]{width:6rem;height:6rem;position:absolute;top:20%;left:50%;transform:translate(-50%,-70%)}.logo img[data-v-01207502]{width:100%;height:100%}.header[data-v-01207502]{color:#fff;font-size:1.5rem;position:relative;width:100%;top:1.6rem;left:1rem}[data-v-01207502]::-webkit-input-placeholder{color:hsla(0,0%,100%,.5176470588235295)}[data-v-01207502] .inp{background:#2a4470!important;border:none;color:#fff}input[data-v-01207502]{color:#fff}.inp[data-v-01207502]:focus{background-color:#04ffd5;color:#fff;border:1px solid #76cfff}[data-v-01207502] .col-2,[data-v-01207502] .col-4{color:#fff;font-family:PingFangSC-Medium,sans-serif;text-shadow:1px 1px 1px #4fc9f2;letter-spacing:2px}.btn_login[data-v-01207502]{background:url(../../static/img/btn_login.a8f1c793.png);display:flex;height:3.5rem;justify-content:center;align-items:center;background-repeat:no-repeat;background-size:cover}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-d6085eaa.9e2dc30e.css


+ 1 - 0
dist/static/css/chunk-fa19435e.9c4c7e69.css

@@ -0,0 +1 @@
+.bdy[data-v-197fb8fc]{height:calc(100% - 6rem);overflow:auto}.bdy[data-v-197fb8fc]::-webkit-scrollbar{width:1px}.bdy .item[data-v-197fb8fc]{background-color:#2a4470}.bdy .item .itemmingxi[data-v-197fb8fc],.bdy .item[data-v-197fb8fc]{width:98%;display:flex;flex-wrap:wrap;margin:0 1% 1% 1%;border-radius:20px;position:relative}.bdy .item .itemmingxi[data-v-197fb8fc]{background-color:#012248}.bdy .item .itemmingxi div[data-v-197fb8fc]{color:#fff;width:22%;margin:1%}.bdy .item .itemmingxi div label[data-v-197fb8fc]{width:6rem;text-align:right}.bdy .item .it_ti[data-v-197fb8fc]{color:#fff;width:22%;display:flex;align-items:center;margin:1%}.bdy .item .it_ti label[data-v-197fb8fc]{width:6rem;text-align:right}[data-v-197fb8fc] .ivu-form-item-label{color:#fff!important;font-size:1.3rem}[data-v-197fb8fc] .ivu-divider-inner-text{color:#fff}[data-v-197fb8fc] .ivu-divider{margin:2px 0}

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-vendors.0f8997aa.css


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-vendors.2d238145.css


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/app.81a36161.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/app.8e9a0d78.js


+ 0 - 0
dist/static/js/chunk-03f11e0c.97558887.js → dist/static/js/chunk-03f11e0c.ad138465.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-041a3dfe.76505c49.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-074870dc.ce214669.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-07510353.51275077.js


+ 0 - 1
dist/static/js/chunk-088ca4ba.61b94bac.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-088ca4ba"],{"1ca0":function(e,t,s){"use strict";s("f4bb")},4462:function(e,t,s){"use strict";s.r(t);var i=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"bdy"},[t("div",{staticStyle:{"font-size":"1.3rem","font-weight":"bold",color:"#fff","margin-bottom":"1rem"}},[e._v("销售单号")]),t("div",{staticClass:"secd_input_r"},[t("b-form-select",{staticClass:"inp select_list",staticStyle:{height:"3rem"},attrs:{id:"input-3",options:e.options,required:"",placeholder:"请选择站点"},model:{value:e.selected,callback:function(t){e.selected=t},expression:"selected"}})],1),t("div",{staticClass:"bdy_btn"},[t("Button",{staticClass:"header_btn",staticStyle:{"margin-right":"3rem",height:"2.6rem"},attrs:{type:"warning",ghost:""},on:{click:e.handleReturn}},[e._v(" 返回")]),t("Button",{staticClass:"header_btn",staticStyle:{"margin-left":"3rem",height:"2.6rem"},attrs:{ghost:""},on:{click:e.handelGoSure}},[e._v(" 确认")])],1)])])},a=[],o={data(){return{is_show:!0,is_use:!1,selected:"",options:[]}},created(){const e={url:"http://121.36.142.167:7774/jbl/api/module-data/exe_sale_order_b/page",post:{direction:"DESC",property:"id",fromClientType:"pc",number:0,sorts:[],rules:[],size:15,specialConditions:[],dynamicFormCode:"exe_sale_order_b",developmentSystemId:null,debugFlag:!1}};this.axios.post("/api/testdwy",{...e}).then(e=>{this.options=e.data.content,this.options.forEach(e=>{e.value=e.exe_sale_order_b.no,e.text=e.exe_sale_order_b.no})})},methods:{handelGoSure(){if(!this.selected)return this.$Message.warning("请先选择销售单号!");this.$router.push({path:"/cms/Package/detail",query:{id:this.selected}})},handleReturn(){this.$router.push("/cms/home")}}},n=o,r=(s("1ca0"),s("2877")),l=Object(r["a"])(n,i,a,!1,null,"77bde902",null);t["default"]=l.exports},f4bb:function(e,t,s){}}]);

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-0cced9c4.7390762a.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-0dac0b9d.6793f6d3.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-0e4071d4.4e3d26a4.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-1141e8ce.c74bf46f.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-12ec8aa1.aa7be95b.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-1619e452.e6663181.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-28f7aa99.d4a1d0fd.js


+ 1 - 0
dist/static/js/chunk-2b2e2df3.142c0887.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2b2e2df3"],{"234b":function(e,t,s){},4462:function(e,t,s){"use strict";s.r(t);var i=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"bdy"},[t("div",{staticStyle:{"font-size":"1.3rem","font-weight":"bold",color:"#fff","margin-bottom":"1rem"}},[e._v("销售单号")]),t("div",{staticClass:"secd_input_r"},[t("b-form-select",{staticClass:"inp select_list",staticStyle:{height:"3rem"},attrs:{id:"input-3",options:e.options,required:"",placeholder:"请选择站点"},model:{value:e.selected,callback:function(t){e.selected=t},expression:"selected"}})],1),t("div",{staticClass:"bdy_btn"},[t("Button",{staticClass:"header_btn",staticStyle:{"margin-right":"3rem",height:"2.6rem"},attrs:{type:"warning",ghost:""},on:{click:e.handleReturn}},[e._v(" 返回")]),t("Button",{staticClass:"header_btn",staticStyle:{"margin-left":"3rem",height:"2.6rem"},attrs:{ghost:""},on:{click:e.handelGoSure}},[e._v(" 确认")])],1)])])},a=[],o={data(){return{is_show:!0,is_use:!1,selected:"",options:[]}},created(){const e={url:"http://122.112.250.253:7774/jbl/api/module-data/exe_sale_order_b/page",post:{direction:"DESC",property:"id",fromClientType:"pc",number:0,sorts:[],rules:[],size:15,specialConditions:[],dynamicFormCode:"exe_sale_order_b",developmentSystemId:null,debugFlag:!1}};this.axios.post("/api/testdwy",{...e}).then(e=>{this.options=e.data.content,this.options.forEach(e=>{e.value=e.exe_sale_order_b.no,e.text=e.exe_sale_order_b.no})})},methods:{handelGoSure(){if(!this.selected)return this.$Message.warning("请先选择销售单号!");this.$router.push({path:"/cms/Package/detail",query:{id:this.selected}})},handleReturn(){this.$router.push("/cms/home")}}},n=o,r=(s("6dfa"),s("2877")),l=Object(r["a"])(n,i,a,!1,null,"3c46eb8c",null);t["default"]=l.exports},"6dfa":function(e,t,s){"use strict";s("234b")}}]);

ファイルの差分が大きいため隠しています
+ 1 - 1
dist/static/js/chunk-2d0aa5b8.55d0527f.js


+ 0 - 0
dist/static/js/chunk-2d21022e.7676458f.js → dist/static/js/chunk-2d21022e.57850cb4.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-2f432dbf.a78c8af4.js


+ 0 - 1
dist/static/js/chunk-2fbd7edd.5b14cafd.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2fbd7edd"],{"3c6e":function(t,e,s){},ccd2:function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"bdy"},[e("div",{staticStyle:{"font-size":"1.3rem","font-weight":"bold",color:"#fff","margin-bottom":"1rem"}},[t._v("盘点单号")]),e("div",{staticClass:"secd_input_r"},[e("b-form-select",{staticClass:"inp select_list",staticStyle:{height:"3rem"},attrs:{id:"input-3",options:t.options,required:"",placeholder:"请选择站点"},model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}})],1),e("div",{staticClass:"bdy_btn"},[e("Button",{staticClass:"header_btn",staticStyle:{"margin-right":"3rem",height:"2.6rem"},attrs:{type:"warning",ghost:""},on:{click:t.handleReturn}},[t._v(" 返回")]),e("Button",{staticClass:"header_btn",staticStyle:{"margin-left":"3rem",height:"2.6rem"},attrs:{ghost:""},on:{click:t.handelGoSure}},[t._v(" 确认")])],1)])])},o=[],n={data(){return{is_show:!0,is_use:!1,selected:"",options:[]}},created(){const t={url:"http://121.36.142.167:7774/jbl/api/module-data/goods_check_list/page",post:{direction:"DESC",property:"id",fromClientType:"pc",number:0,sorts:[],rules:[],size:15,specialConditions:[],dynamicFormCode:"goods_check",developmentSystemId:null,debugFlag:!0}};this.axios.post("/api/testdwy",{...t}).then(t=>{this.options=t.data.content.filter(t=>"NOT_APPROVED"===t.status),this.options.forEach(t=>{t.value=t.dynamic_form_value_id,t.text=t.goods_check_no})})},methods:{handelGoSure(){if(!this.selected)return this.$Message.warning("请先选择盘点单号!");this.$router.push({path:"/cms/Inventory/detail",query:{id:this.selected}})},handleReturn(){this.$router.push("/cms/home")}}},a=n,c=(s("d15e"),s("2877")),r=Object(c["a"])(a,i,o,!1,null,"19eddff7",null);e["default"]=r.exports},d15e:function(t,e,s){"use strict";s("3c6e")}}]);

+ 1 - 0
dist/static/js/chunk-32f53b72.482df6bb.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-32f53b72"],{"5e6f":function(t,i,e){"use strict";e.r(i);var d=function(){var t=this,i=t._self._c;return i("div",{staticStyle:{height:"100vh",padding:"20px"}},[t._m(0),i("div",{staticStyle:{height:"calc(100% - 60px)"},attrs:{id:"dy"}},t._l(t.list,(function(e,d){return i("div",{key:d,staticStyle:{"margin-top":"20px",display:"flex","justify-content":"space-between",border:"1px solid #FFFFFF",color:"#FFFFFF",padding:"15px","font-size":"20px","font-weight":"bold","text-align":"center","border-radius":"20px"}},[i("div",{staticStyle:{width:"20%"}},[t._v(t._s(e.order_no))]),i("div",{staticStyle:{width:"30%"}},[t._v(t._s(e.project))]),i("div",{staticStyle:{width:"10%"}},[t._v(t._s(e.num))]),i("div",{class:"出库"==e.type?"isred":"isg",staticStyle:{width:"20%"}},[t._v(t._s(e.type))]),i("div",{staticStyle:{width:"20%"}},[t._v(t._s(e["时间"]))])])})),0)])},s=[function(){var t=this,i=t._self._c;return i("div",{staticStyle:{display:"flex","justify-content":"space-between",border:"1px solid #FFFFFF",color:"#FFFFFF",padding:"15px","font-size":"20px","font-weight":"bold","text-align":"center","border-radius":"20px"}},[i("div",{staticStyle:{width:"20%"}},[t._v("单号")]),i("div",{staticStyle:{width:"30%"}},[t._v("客户")]),i("div",{staticStyle:{width:"10%"}},[t._v("数量")]),i("div",{staticStyle:{width:"20%"}},[t._v("类型")]),i("div",{staticStyle:{width:"20%"}},[t._v("时间")])])}];document.title="出入库";var a={data(){return{list:[],time:null}},created(){},mounted(){this.time=setInterval(()=>{this.initData()},3e3)},destroyed(){clearInterval(this.time)},methods:{initData(){this.axios.post("/api/testdwyget",{url:"http://clouddevice.qingyaokeji.com/api/inout"}).then(t=>{0!=t.data.data.length&&this.list.unshift(t.data.data)})}}},n=a,l=(e("9e13"),e("2877")),c=Object(l["a"])(n,d,s,!1,null,"dbe5cda8",null);i["default"]=c.exports},"71da":function(t,i,e){},"9e13":function(t,i,e){"use strict";e("71da")}}]);

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-39ff265f.c5d3a4f5.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-4ca68f57.490402f7.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-537c879e.15a1b7d3.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-59c734f5.c02e82c5.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-59d32064.fbdf3f0e.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-5a3f9f59.27e7c855.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-63a29b4e.0031a330.js


+ 0 - 0
dist/static/js/chunk-6e4aceda.a12b87b7.js → dist/static/js/chunk-6e4aceda.afce7c7c.js


+ 1 - 0
dist/static/js/chunk-6eca8dec.1a621ad5.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6eca8dec"],{"20d2":function(t,e,i){},6340:function(t,e,i){"use strict";i("20d2")},"686f":function(t,e,i){"use strict";i.r(e);var s=function(){var t=this,e=t._self._c;return e("div",{staticStyle:{height:"100vh"}},[e("div",{staticClass:"bdy"},[e("div",{on:{click:function(e){return t.handleGo(1)}}},[t._v("完工")]),e("div",{on:{click:function(e){return t.handleGo(2)}}},[t._v("质检")]),e("div",{on:{click:function(e){return t.handleGo(3)}}},[t._v("包装")]),e("div",{on:{click:function(e){return t.handleGo(4)}}},[t._v("包装打印")])])])},n=[];document.title="工位屏";var r={data(){return{}},created(){console.log(this.$route.query);let t=JSON.parse(JSON.stringify(this.$route.query));if(!t.Authorization||!t.site)return this.$Message.warning({content:"请联系开发者,缺少站点和人员信息!",duration:0,closable:!0});let e={site:t.site},i=t.Authorization,s="prod"==t.systemType?"http://122.112.250.253:7774/":"test"==t.systemType?"http://121.36.142.167:7774/":"";localStorage.setItem("site",JSON.stringify(e)),localStorage.setItem("token",i),localStorage.setItem("dwy_url",s)},methods:{handleGo(t){switch(t){case 1:this.$router.push("/cms/chipFinish");break;case 2:this.$router.push("/cms/chipQualityTesting");break;case 3:this.$router.push("/cms/chipPackage");break;case 4:this.$router.push("/cms/chipBoxOrder");break}}}},c=r,o=(i("6340"),i("2877")),a=Object(o["a"])(c,s,n,!1,null,"4e52f1ee",null);e["default"]=a.exports}}]);

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-70d7c530.d5dee979.js


+ 1 - 1
dist/static/js/chunk-5edfc135.ff66889d.js → dist/static/js/chunk-77aba47c.97eaa27e.js

@@ -1 +1 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5edfc135"],{"0d9e":function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"bdy"},[e("div",{staticStyle:{"font-size":"1.3rem","font-weight":"bold",color:"#fff","margin-bottom":"1rem"}},[t._v("发货单号")]),e("div",{staticClass:"secd_input_r"},[e("b-form-select",{staticClass:"inp select_list",staticStyle:{height:"3rem"},attrs:{id:"input-3",options:t.options,required:"",placeholder:"请选择站点"},model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}})],1),e("div",{staticClass:"bdy_btn"},[e("Button",{staticClass:"header_btn",staticStyle:{"margin-right":"3rem",height:"2.6rem"},attrs:{type:"warning",ghost:""},on:{click:t.handleReturn}},[t._v(" 返回")]),e("Button",{staticClass:"header_btn",staticStyle:{"margin-left":"3rem",height:"2.6rem"},attrs:{ghost:""},on:{click:t.handelGoSure}},[t._v(" 确认")])],1)])])},n=[],a={data(){return{is_show:!0,is_use:!1,selected:"",options:[]}},created(){const t={url:"http://121.36.142.167:7774/jbl/api/module-data/delivery_note_list/page",post:{direction:"DESC",property:"id",fromClientType:"pc",number:0,sorts:[],rules:[],size:15,specialConditions:[],dynamicFormCode:"delivery_note",developmentSystemId:null,debugFlag:!1}};this.axios.post("/api/testdwy",{...t}).then(t=>{this.options=t.data.content,this.options.forEach(t=>{t.value=t.dynamic_form_value_id,t.text=t.no})})},methods:{handelGoSure(){if(!this.selected)return this.$Message.warning("请先选择发货单号!");this.$router.push({path:"/cms/dispatch/detail",query:{id:this.selected}})},handleReturn(){this.$router.push("/cms/home")}}},o=a,r=(s("3466"),s("2877")),l=Object(r["a"])(o,i,n,!1,null,"235a1e3a",null);e["default"]=l.exports},3466:function(t,e,s){"use strict";s("f1ac")},f1ac:function(t,e,s){}}]);
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-77aba47c"],{"0d9e":function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"bdy"},[e("div",{staticStyle:{"font-size":"1.3rem","font-weight":"bold",color:"#fff","margin-bottom":"1rem"}},[t._v("发货单号")]),e("div",{staticClass:"secd_input_r"},[e("b-form-select",{staticClass:"inp select_list",staticStyle:{height:"3rem"},attrs:{id:"input-3",options:t.options,required:"",placeholder:"请选择站点"},model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}})],1),e("div",{staticClass:"bdy_btn"},[e("Button",{staticClass:"header_btn",staticStyle:{"margin-right":"3rem",height:"2.6rem"},attrs:{type:"warning",ghost:""},on:{click:t.handleReturn}},[t._v(" 返回")]),e("Button",{staticClass:"header_btn",staticStyle:{"margin-left":"3rem",height:"2.6rem"},attrs:{ghost:""},on:{click:t.handelGoSure}},[t._v(" 确认")])],1)])])},n=[],a={data(){return{is_show:!0,is_use:!1,selected:"",options:[]}},created(){const t={url:"http://122.112.250.253:7774/jbl/api/module-data/delivery_note_list/page",post:{direction:"DESC",property:"id",fromClientType:"pc",number:0,sorts:[],rules:[],size:15,specialConditions:[],dynamicFormCode:"delivery_note",developmentSystemId:null,debugFlag:!1}};this.axios.post("/api/testdwy",{...t}).then(t=>{this.options=t.data.content,this.options.forEach(t=>{t.value=t.dynamic_form_value_id,t.text=t.no})})},methods:{handelGoSure(){if(!this.selected)return this.$Message.warning("请先选择发货单号!");this.$router.push({path:"/cms/dispatch/detail",query:{id:this.selected}})},handleReturn(){this.$router.push("/cms/home")}}},o=a,r=(s("3826"),s("2877")),l=Object(r["a"])(o,i,n,!1,null,"71dca68a",null);e["default"]=l.exports},3826:function(t,e,s){"use strict";s("7432")},7432:function(t,e,s){}}]);

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-7b519954.93a8b5da.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-837aef8c.1270780e.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-84f0305a.ff8f5d43.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-8f5b42dc.eea5bba2.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-9c34369c.00e0f5d4.js


+ 1 - 0
dist/static/js/chunk-aaa580e2.36a546cc.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-aaa580e2"],{a511:function(t,e,s){},ccd2:function(t,e,s){"use strict";s.r(e);var i=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"bdy"},[e("div",{staticStyle:{"font-size":"1.3rem","font-weight":"bold",color:"#fff","margin-bottom":"1rem"}},[t._v("盘点单号")]),e("div",{staticClass:"secd_input_r"},[e("b-form-select",{staticClass:"inp select_list",staticStyle:{height:"3rem"},attrs:{id:"input-3",options:t.options,required:"",placeholder:"请选择站点"},model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}})],1),e("div",{staticClass:"bdy_btn"},[e("Button",{staticClass:"header_btn",staticStyle:{"margin-right":"3rem",height:"2.6rem"},attrs:{type:"warning",ghost:""},on:{click:t.handleReturn}},[t._v(" 返回")]),e("Button",{staticClass:"header_btn",staticStyle:{"margin-left":"3rem",height:"2.6rem"},attrs:{ghost:""},on:{click:t.handelGoSure}},[t._v(" 确认")])],1)])])},o=[],a={data(){return{is_show:!0,is_use:!1,selected:"",options:[]}},created(){const t={url:"http://122.112.250.253:7774/jbl/api/module-data/goods_check_list/page",post:{direction:"DESC",property:"id",fromClientType:"pc",number:0,sorts:[],rules:[],size:15,specialConditions:[],dynamicFormCode:"goods_check",developmentSystemId:null,debugFlag:!0}};this.axios.post("/api/testdwy",{...t}).then(t=>{this.options=t.data.content.filter(t=>"NOT_APPROVED"===t.status),this.options.forEach(t=>{t.value=t.dynamic_form_value_id,t.text=t.goods_check_no})})},methods:{handelGoSure(){if(!this.selected)return this.$Message.warning("请先选择盘点单号!");this.$router.push({path:"/cms/Inventory/detail",query:{id:this.selected}})},handleReturn(){this.$router.push("/cms/home")}}},n=a,r=(s("fd13"),s("2877")),c=Object(r["a"])(n,i,o,!1,null,"58871783",null);e["default"]=c.exports},fd13:function(t,e,s){"use strict";s("a511")}}]);

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-b41f9964.f2d5233e.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-c370c73c.32633a20.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-d6085eaa.119a371d.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-fa19435e.2a4a342c.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-vendors.1f3e21b6.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-vendors.f48c7092.js


ファイルの差分が大きいため隠しています
+ 718 - 1201
package-lock.json


+ 6 - 6
package.json

@@ -8,12 +8,14 @@
     "lint": "vue-cli-service lint"
   },
   "dependencies": {
+    "@vant/touch-emulator": "^1.4.0",
     "axios": "^1.4.0",
     "bootstrap": "^5.2.3",
     "bootstrap-vue": "^2.23.1",
     "core-js": "^3.6.5",
     "jquery": "^3.7.0",
-    "node-sass": "^9.0.0",
+    "node-sass": "^4.14.1",
+    "vant": "^2.13.2",
     "view-design": "^4.7.0",
     "vue": "^2.7.14",
     "vue-axios": "^3.5.2",
@@ -35,11 +37,9 @@
     "eslint-plugin-promise": "^4.2.1",
     "eslint-plugin-standard": "^4.0.0",
     "eslint-plugin-vue": "^6.2.2",
-    "sass": "^1.26.5",
-    "sass-loader": "^7.0.0",
-    "vue-template-compiler": "^2.6.11",
-    "webpack": "latest",
-    "webpack-glsl-loader": "^1.0.1"
+    "sass": "^1.66.1",
+    "sass-loader": "^10.4.1",
+    "vue-template-compiler": "^2.6.11"
   },
   "eslintConfig": {
     "root": true,

+ 2 - 2
src/App.vue

@@ -15,9 +15,9 @@ function getScrollTop(){
 }
 
 var oldScrollTop = getScrollTop() || 0; // 记录当前滚动位置
-document.body.addEventListener('focusin', () => { // 软键盘弹起事
+document.body.addEventListener('focusin', () => { // 软键盘弹起事
 })
-document.body.addEventListener('focusout', () => { // 软键盘关闭事
+document.body.addEventListener('focusout', () => { // 软键盘关闭事
   var ua = window.navigator.userAgent
   if (ua.indexOf('iPhone') > 0 || ua.indexOf('iPad') > 0) { // 键盘收起页面空白问题
     document.body.scrollTop = oldScrollTop

BIN
src/assets/images/shipmentsBack.png


+ 5 - 2
src/axios/index.js

@@ -16,14 +16,17 @@ config = {
 instance.interceptors.request.use(
   function (config) {
     const token = localStorage.getItem('token')
+    // const token = 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI0ODExMjEwOTM1MjUzNzcwMjQiLCJhdXRoIjoiUk9MRV9GQUNUT1JZX0RJUkNUT1IsUk9MRV9JTk5FUl9VU0VSLFJPTEVfSEFSRFdBUkUiLCJ0b2tlbklkIjoiMSIsImV4cCI6MTY5NzYxMzg1OH0.hgBlNeVkFzDnGjJFoEN91X968v4ecLUCKW_m7nnbA6TsQIISAJREv5xGGyQYSNlxbwsS35N2aa8MyrmZqJcHxQ'
     const site = JSON.parse(localStorage.getItem('site'))
     // let proxy_url = 'http://121.37.173.82:82'; //打包上线时请改用此处
     const proxyUrl = process.env.VUE_APP_BASE_URL // 打包上线时请改用此处
     // let proxy_url = '/proxy'//打包上线时此处请注释掉
     config.url = proxyUrl + config.url
-    if (config.data.url === 'http://121.36.142.167:7774/jbl/api/mes/login' || config.data.url === 'http://121.36.142.167:7774/jbl/api/site/all/ignore-action?_allow_anonymous=true') {
+    if (config.data.url === 'http://122.112.250.253:7774/jbl/api/mes/login' || config.data.url === 'http://122.112.250.253:7774/jbl/api/site/all/ignore-action?_allow_anonymous=true') {
       config.data.header = ['Content-Type:application/json']
-    } else {
+    } else if(config.data.url==='http://clouddevice.qingyaokeji.com/api/inout'){
+      config.data.header = ['Content-Type:application/json']
+    }else {
       config.data.header = [`Authorization:Bearer ${token}`, 'Content-Type:application/json', `Site:${site.site}`]
     }
     // config.data = JSON.stringify(data)

+ 3 - 0
src/main.js

@@ -15,6 +15,9 @@ import 'bootstrap-vue/dist/bootstrap-vue.css'
 // Install BootstrapVue
 import VueQrcodeReader from "vue-qrcode-reader"
 Vue.use(VueQrcodeReader)
+import Vant from 'vant';
+import 'vant/lib/index.css';
+Vue.use(Vant);
 Vue.prototype.func = untilFn //全局引入自定义函数库
 Vue.use(BootstrapVue)
 // Optionally install the BootstrapVue icon components plugin

+ 39 - 4
src/router/index.js

@@ -17,9 +17,44 @@ const routes = [
     component: resolve => require(['@/views/Login'], resolve)
   },
   {
-    path: "/cms/print",
-    name: "print", // 打印芯片
-    component: (resolve) => require(["@/views/page/print"], resolve)
+    path: '/cms/print',
+    name: 'print', // 打印芯片
+    component: (resolve) => require(['@/views/page/print'], resolve)
+  },
+  {
+    path: '/cms/chipScreen',
+    name: 'chipScreen', // 工位屏
+    component: (resolve) => require(['@/views/chipScreen'], resolve)
+  },
+  {
+    path: '/cms/chipFinish',
+    name: 'chipFinish', // 完工单
+    component: (resolve) => require(['@/views/chipFinish'], resolve)
+  },
+  {
+    path: '/cms/chipQualityTesting',
+    name: 'chipQualityTesting', // 质检屏
+    component: (resolve) => require(['@/views/chipQualityTesting'], resolve)
+  },
+  {
+    path: '/cms/chipPackage',
+    name: 'chipPackage', // 包装屏
+    component: (resolve) => require(['@/views/chipPackage'], resolve)
+  },
+  {
+    path: '/cms/chipBoxOrder',
+    name: 'chipBoxOrder', //  包装打印屏销售
+    component: (resolve) => require(['@/views/chipBoxOrder'], resolve)
+  },
+  {
+    path: '/cms/inOut',
+    name: 'inOut', //  出入库
+    component: (resolve) => require(['@/views/inOut'], resolve)
+  },
+  {
+    path: '/cms/chipBoxPrint',
+    name: 'chipBoxPrint', //  包装打印屏
+    component: (resolve) => require(['@/views/chipBoxPrint'], resolve)
   },
   {
     path: '/cms',
@@ -40,7 +75,7 @@ router.beforeEach((to, from, next) => {
     next()
   } else {
     const token = localStorage.getItem('token')
-    if (!token&&to.path!=='/cms/print') {
+    if (!token&&to.path!=='/cms/print'&&to.path!=='/cms/chipBoxPrint'&&to.path!=='/cms/inOut'&&to.path!=='/cms/chipBoxOrder'&&to.path!=='/cms/chipPackage'&&to.path!=='/cms/chipFinish'&&to.path!=='/cms/chipQualityTesting'&&to.path!=='/cms/chipScreen') {
       next('/')
     } else {
       next()

+ 1 - 1
src/routerMap/index.js

@@ -133,6 +133,6 @@ const routerMap = [
 
     },
     component: (resolve) => require(["@/views/page/ceshi"], resolve),
-  },
+  }
 ]
 export default routerMap;

+ 1 - 0
src/store/index.js

@@ -5,6 +5,7 @@ Vue.use(Vuex)
 
 export default new Vuex.Store({
   state: {
+    ip: process.env.VUE_APP_BASE_URL
   },
   mutations: {
   },

+ 5 - 5
src/views/Login.vue

@@ -58,7 +58,7 @@ export default {
     }
   },
   mounted() {
-    const data = { url: 'http://121.36.142.167:7774/jbl/api/site/all/ignore-action?_allow_anonymous=true' }
+    const data = { url: 'http://122.112.250.253:7774/jbl/api/site/all/ignore-action?_allow_anonymous=true' }
     this.axios.post('/api/testdwyget', data).then(res => {
       res.data.forEach(v => {
         v.text = v.name
@@ -76,7 +76,7 @@ export default {
         post: {
           name: this.form.account, password: this.form.password, rememberMe: true
         },
-        url: 'http://121.36.142.167:7774/jbl/api/mes/login',
+        url: 'http://122.112.250.253:7774/jbl/api/mes/login',
         header: ['Content-Type:application/json']
       }
       this.axios.post('/api/testdwy', data).then(res => {
@@ -145,7 +145,7 @@ export default {
   /* 设置占位符文字的颜色 */
 }
 
-/deep/.inp {
+::v-deep.inp {
   background: #2A4470 !important;
   // opacity: 0.4;
   border: none;
@@ -163,14 +163,14 @@ input {
   border: 1px solid #76CFFF;
 }
 
-/deep/.col-2 {
+::v-deep.col-2 {
   color: #ffffff;
   font-family: PingFangSC-Medium, sans-serif;
   text-shadow: 1px 1px 1px #4FC9F2;
   letter-spacing: 2px;
 }
 
-/deep/.col-4 {
+::v-deep.col-4 {
   color: #ffffff;
   font-family: PingFangSC-Medium, sans-serif;
   text-shadow: 1px 1px 1px #4FC9F2;

+ 239 - 0
src/views/chipBoxOrder.vue

@@ -0,0 +1,239 @@
+<template>
+  <div style="height: 100vh">
+    <div class="header">
+      <div style="font-size: 20px;margin: 15px;font-weight: bold; text-shadow:1px 1px 1px #4FC9F2;
+  letter-spacing: 2px;">销售订单-包装</div>
+      <div>
+          <Input clearable placeholder="请输入销售订单" style="width: 25rem" v-model="order_no" size="large" @on-focus="show=true"/>
+        <Button type="primary" ghost @click="handleSearch" size="large">查询</Button>
+      </div>
+      <div>
+        <Button
+            @click="handleFullScreenClick"
+            size="large"
+            id="full_screen_btn"
+            type="primary"
+            style="margin-right: 1rem"
+        >
+          {{ isFullScreen ? "收  缩" : "全  屏" }}
+        </Button>
+        <Button @click="handleReturn" style="margin:15px" size="large">返回</Button>
+      </div>
+    </div>
+    <div class="bdy">
+      <div v-for="(item,index) in list" :key="index" class="item" @click="handleClick(index)">
+        <div style="margin-bottom:10px">
+          <span>销售订单号:</span>
+          <span>{{item.exe_sale_order_b.no}}</span>
+        </div>
+        <div style="margin-bottom:10px">
+          <span>客户名称:</span>
+          <span>{{item.exe_sale_order_b.customer_code_show}}</span>
+        </div>
+        <div style="margin-bottom:10px">
+          <span>已包数量:</span>
+          <span>{{item.packaged_num }}</span>
+        </div>
+        <div style="margin-bottom:10px">
+          <span>已包包数:</span>
+          <span>{{item.packaged_box}}</span>
+        </div>
+      </div>
+    </div>
+    <div style="text-align: center">
+      <Page :total="total" show-sizer :page-size-opts="[9,12]" :page-size="pageSize" :current="pageIndex" @on-change="changeIndex" @on-page-size-change="changeSize"/>
+    </div>
+    <van-number-keyboard
+        :show="show"
+        theme="custom"
+        extra-key="."
+        close-button-text="完成"
+        @blur="handleonBlur"
+        @input="onInput"
+        @delete="onDelete"
+    />
+  </div>
+</template>
+<script>
+import $ from 'jquery'
+// import '@vant/touch-emulator';
+export default {
+  data () {
+    return {
+      show: false,
+      order_no: '',
+      list: [],
+      selectData: [],
+      isFullScreen: false,
+      total:0,
+      pageIndex:1,
+      pageSize:12
+    }
+  },
+  created () {
+    if(!localStorage.getItem('dwy_url')){
+      this.$router.push('/cms/chipScreen')
+    }
+  },
+  mounted () {
+    const data3 = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/exe_sale_order_b/page`,
+      post: {
+        debugFlag: false,
+        developmentSystemId: null,
+        direction: "DESC",
+        dynamicFormCode: "status_headview",
+        fromClientType: "pc",
+        property: "id",
+        rules: [],
+        size: this.pageSize,
+        number:this.pageIndex-1,
+        sorts: [],
+        specialConditions: []
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data3 }).then(res => {
+      this.list = [...res.data.content];
+      this.list.forEach(v => v.is_choose = false)
+      this.total = res.data.totalElements;
+    })
+  },
+  methods: {
+    handleSearch(){
+      this.pageIndex = 1;
+      this.handleonBlur();
+    },
+    changeSize(e){
+      this.pageSize = e;
+      this.pageIndex = 1;
+      this.handleonBlur()
+    },
+    changeIndex(e){
+      this.pageIndex = e;
+      this.handleonBlur();
+    },
+    handleFullScreenClick () {
+      this.isFullScreen = !this.isFullScreen;
+      if (this.isFullScreen) {
+        this.enterFullScreen();
+      } else {
+        this.exitFullScreen();
+      }
+    },
+    exitFullScreen () {
+      let el = document;
+      let cfs =
+          el.cancelFullScreen ||
+          el.mozCancelFullScreen ||
+          el.msExitFullscreen ||
+          el.webkitExitFullscreen ||
+          el.exitFullscreen;
+      if (cfs) {
+        // typeof cfs != "undefined" && cfs
+        cfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里和fullScreen相同,模拟按下F11键退出全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    enterFullScreen () {
+      let el = document.documentElement;
+      let rfs =
+          el.requestFullScreen ||
+          el.webkitRequestFullScreen ||
+          el.mozRequestFullScreen ||
+          el.msRequestFullscreen;
+      if (rfs) {
+        rfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleReturn () {
+      if (this.isFullScreen) {
+        this.handleFullScreenClick()
+      }
+      this.$router.go(-1);
+    },
+    onInput (value) {
+        this.order_no = this.order_no + '' + value
+    },
+    onDelete () {
+        this.order_no = this.order_no.substring(0, this.order_no.length - 1)
+    },
+    handleonBlur () {
+      this.show = false
+      let rules = this.order_no?[
+        {field:"exe_sale_order_b.no",option:"LIKE_ANYWHERE",values:[this.order_no]}
+      ]:[]
+      const data3 = {
+        url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/exe_sale_order_b/page`,
+        post: {
+          debugFlag: false,
+          developmentSystemId: null,
+          direction: "DESC",
+          dynamicFormCode: "status_headview",
+          fromClientType: "pc",
+          number: this.pageIndex-1,
+          property: "id",
+          rules,
+          size: this.pageSize,
+          sorts: [],
+          specialConditions: []
+        }
+      }
+      this.axios.post('/api/testdwy', { ...data3 }).then(res => {
+        this.list = [...res.data.content];
+        this.list.forEach(v => v.is_choose = false)
+      })
+    },
+    handleClick (index) {
+    let order_no = this.list[index].exe_sale_order_b.no
+    this.$router.push({path:'/cms/chipBoxPrint',query:{order_no}})
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.header{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  border-bottom: 1px solid #356070;
+}
+.bdy{
+  height: calc(100% - 9rem);
+  display: flex;
+  flex-wrap: wrap;
+  overflow: auto;
+}
+.bdy::-webkit-scrollbar{
+  width: 8px;
+}
+.bdy::-webkit-scrollbar-track{
+  background: linear-gradient(to bottom,#f5f5f5, #002359);
+}
+.bdy::-webkit-scrollbar-thumb{
+  background: linear-gradient(to bottom, #a1a1a1, #3b4169);
+  border-radius: 5px;
+  box-shadow: inset 0 0 6px rgba(0,0,0,.3);
+}
+.item{
+  align-items: center;
+  cursor: pointer;
+  border: 1px solid #0075fc;
+  color: #8fbef3;
+  border-radius: 20px;
+  padding: 10px;
+  margin: 20px 0 20px 2.5%;
+  width: 30%;
+  height: 150px;
+}
+</style>

+ 384 - 0
src/views/chipBoxPrint.vue

@@ -0,0 +1,384 @@
+<template>
+  <div style="height: 100vh">
+    <div class="header">
+      <div style="font-size: 20px;margin: 15px;font-weight: bold; text-shadow:1px 1px 1px #4FC9F2;
+  letter-spacing: 2px;">芯片打印</div>
+      <div style="width: 30%;display: flex;align-items: center;justify-content: space-between">
+        <label style="width: 100px;color: #FFFFFF">选择时间:</label><Input size="large" clearable placeholder="请选择时间" @on-focus="is_time=true" v-model="time"/>
+      </div>
+      <div>
+        <Button style="margin:15px;width: 6rem" :ghost="is_all" size="large" @click="handleChooseAll">{{is_all?'取消全选':'全选'}}</Button>
+        <Button @click="handleReturn" style="margin:15px" size="large">返回</Button>
+        <Button ghost style="margin: 15px" @click="handlePrint1" size="large">打印(203)</Button>
+        <Button ghost style="margin: 15px" @click="handlePrint1" size="large">打印(300)</Button>
+      </div>
+    </div>
+    <div class="bdy">
+      <div v-for="(item,index) in list" :key="index" :class="item.is_choose?'choose_item':'item'" @click="handleClick(index)">
+        <div style="margin-bottom:10px">
+          <span>包装单号:</span>
+          <span>{{item.box_no}}</span>
+        </div>
+        <div style="margin-bottom:10px">
+          <span>产品名称:</span>
+          <span>{{item.product_title}}</span>
+        </div>
+        <div style="margin-bottom:10px">
+          <span>规格型号:</span>
+          <span>{{item.product_size}}</span>
+        </div>
+        <div style="margin-bottom:10px">
+          <span>包装数量:</span>
+          <span>{{item.num}}</span>
+        </div>
+        <div style="margin-bottom:10px">
+          <span>包装日期:</span>
+          <span>{{item.box_date}}</span>
+        </div>
+      </div>
+    </div>
+    <van-calendar v-model="is_time" type="range" @confirm="onConfirm" title="选择日期" color="#0765f7" :min-date="new Date(2020,0,1)" :default-date="[new Date(),new Date()]" :allow-same-day="true"/>
+  </div>
+</template>
+<script>
+document.title = '芯片打印'
+import $ from 'jquery'
+export default {
+  data () {
+    return {
+      list: [],
+      selectData: [],
+      is_time:false,
+      time:'',
+      minDate: new Date(1990, 1, 1),
+      is_all:false
+    }
+  },
+  created () {
+    if(!localStorage.getItem('dwy_url')){
+      this.$router.push('/cms/chipScreen')
+    }
+  },
+  mounted () {
+    let order_no = this.$route.query.order_no;
+    const data3 = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/box_orders_list/page`,
+      post: {
+        debugFlag: false,
+        developmentSystemId: null,
+        direction: "DESC",
+        dynamicFormCode: "box_orders",
+        fromClientType: "pc",
+        number: 0,
+        property: "id",
+        rules: [{field: "box_orders_product.order_no", option: "LIKE_ANYWHERE", values: [order_no]}],
+        size: 999,
+        sorts: [],
+        specialConditions: []
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data3 }).then(res => {
+      this.list = [];
+      res.data.content = res.data.content.filter(v=>v.status=="PACKAGED")
+      res.data.content.forEach(v=>{
+        let obj = {};
+        obj.order_number = v.box_orders_product.order_no;
+        obj.customer = v.box_orders_product.customer_name;
+        obj.product_title = v.box_orders_product.product_title;
+        obj.process = v.box_orders_product.process_title;
+        obj.color = v.box_orders_product.color;
+        obj.num = v.box_orders_product.box_num;
+        obj.box_no = v.defective_order_no;
+        obj.product_size = v.box_orders_product.product_size? v.box_orders_product.product_size:'';
+        obj.box_date = v.box_time.split('T')[0];
+        this.list.push(obj);
+      })
+    })
+  },
+  methods: {
+    handleChooseAll(){
+      this.is_all = !this.is_all;
+      let list;
+      if(this.is_all){
+        list = JSON.parse(JSON.stringify(this.list))
+        list.forEach(v=>{
+          v.is_choose = true;
+        })
+      }else{
+        list = JSON.parse(JSON.stringify(this.list))
+        list.forEach(v=>{
+          v.is_choose = false;
+        })
+      }
+      this.$set(this,'list',list)
+    },
+    formatDate(date) {
+      return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
+    },
+    onConfirm(date) {
+      const [start, end] = date;
+      this.is_time = false;
+      this.time = `${this.formatDate(start)} - ${this.formatDate(end)}`;
+      let order_no = this.$route.query.order_no;
+      const data3 = {
+        url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/box_orders_list/page`,
+        post: {
+          debugFlag: false,
+          developmentSystemId: null,
+          direction: "DESC",
+          dynamicFormCode: "box_orders",
+          fromClientType: "pc",
+          number: 0,
+          property: "id",
+          rules: [
+            {field: "box_orders_product.order_no", option: "LIKE_ANYWHERE", values: [order_no]},
+            {field: "box_time", option: "BTS", values: [new Date(this.formatDate(start)).toISOString(),new Date(Date.parse(this.formatDate(end))+86400000-1).toISOString()]}
+          ],
+          size: 999,
+          sorts: [],
+          specialConditions: []
+        }
+      }
+      this.axios.post('/api/testdwy', { ...data3 }).then(res => {
+        this.list = [];
+        res.data.content = res.data.content.filter(v=>v.status=="PACKAGED")
+        res.data.content.forEach(v=>{
+          let obj = {};
+          obj.order_number = v.box_orders_product.order_no;
+          obj.customer = v.box_orders_product.customer_name;
+          obj.product_title = v.box_orders_product.product_title;
+          obj.process = v.box_orders_product.process_title;
+          obj.color = v.box_orders_product.color;
+          obj.num = v.box_orders_product.box_num;
+          obj.box_no = v.defective_order_no;
+          obj.product_size = v.box_orders_product.product_size? v.box_orders_product.product_size:'';
+          obj.box_date = v.box_time.split('T')[0];
+          this.list.push(obj);
+        })
+      })
+    },
+    handleReturn () {
+      this.$router.go(-1)
+    },
+    handleClick (index) {
+      this.list[index].is_choose = !this.list[index].is_choose
+      this.selectData = this.list.filter(v => v.is_choose)
+      if(this.selectData.length==this.list.length){
+        this.is_all = true
+      }else {
+        this.is_all = false
+      }
+      this.$forceUpdate()
+    },
+    close(){
+      window.location.replace("about:blank");
+      window.close();
+    },
+    handlePrint1(){
+      if (this.selectData.length === 0) {
+        return this.$Message.warning('请选择需要打印的标签')
+      }
+      this.$Message.success('操作成功!')
+    },
+    handlePrint (type) {
+      if (this.selectData.length === 0) {
+        return this.$Message.warning('请选择需要打印的标签')
+      }
+      let arr = [{ PTK_OpenUSBPort: 255 }, { PTK_ClearBuffer: "" }, { PTK_SetDarkness: 10 }, { PTK_SetPrintSpeed: 4 }, { PTK_SetDirection: "B" }, { PTK_SetLabelHeight: type==1?"640,32,0,false":"960,48,0,false" }, { PTK_SetLabelWidth: type==1?784:1176 }]
+      // { PTK_SetLabelHeight: "204,24,0,false" }, { PTK_SetLabelWidth: 800 }
+      this.selectData.forEach(v => {
+        // v.order_number = 'SO202309140003'
+        // v.customer = '安庆市锦饰贸易有限公司cece'
+        v.customer = v.customer?v.customer:' ';
+        v.product_title = v.product_title?v.product_title:' ';
+        v.order_number = v.order_number?v.order_number:' ';
+        v.color = v.color?v.color:' ';
+        v.box_date = v.box_date?v.box_date:'';
+        v.process = v.process?v.process:' ';
+        v.num = v.num?v.num:' ';
+        v.customer1 = v.customer && v.customer.length > 11 ? v.customer.slice(0,11):v.customer.slice(0)
+        v.customer2 = v.customer && v.customer.length > 11 ? v.customer.slice(11):''
+        // v.product_title = '大王椰500经典型E0杨桉-双面免漆板W'
+        v.product_title1 = v.product_title && v.product_title.length > 12 ? v.product_title.slice(0,12):v.product_title.slice(0)
+        v.product_title2 = v.product_title && v.product_title.length > 12 ? v.product_title.slice(12):''
+        // v.process = '零度艾格麻/零度艾格麻cecece'
+        v.process1 = v.process && v.process.length > 11 ? v.process.slice(0,11):v.process.slice(0)
+        v.process2 = v.process && v.process.length > 11 ? v.process.slice(11):''
+        // v.color = '尼克橡木-3/尼克橡木-3cecee'
+        v.color1 = v.color && v.color.length > 12 ? v.color.slice(0,12):v.color.slice(0)
+        v.color2 = v.color && v.color.length > 12 ? v.color.slice(12):''
+        // v.num = '120'
+        v.order_no = v.dispatch_no ? v.dispatch_no : v.box_no
+        v.is_s = v.dispatch_no ? true :false
+        let cont = (this.func.stringToHex(v.order_no).length)%4;
+        v.chip = this.func.stringToHex(v.order_no)
+        for(let i = 0;i<cont;i++){
+          v.chip = '0'+ v.chip
+        }
+        let obj;
+        if (type === 1) {
+          obj = [
+            { PTK_DrawText_TrueType: '130,70,60,0,微软雅黑,1,700,0,0,0,订单号:' },
+            { PTK_DrawText_TrueType: `300,70,60,0,微软雅黑,1,700,0,0,0,${v.order_number}` },
+            { PTK_DrawText_TrueType: '700,70,60,0,微软雅黑,1,700,0,0,0,客户:' },
+            { PTK_DrawText_TrueType: `820,70,50,0,微软雅黑,1,700,0,0,0,${v.customer1}` },
+            v.customer2 ? { PTK_DrawText_TrueType: `820,120,50,0,微软雅黑,1,700,0,0,0,${v.customer2}` } : {},
+            { PTK_DrawText_TrueType: '150,170,60,0,微软雅黑,1,700,0,0,0,产品:' },
+            { PTK_DrawText_TrueType: `300,170,50,0,微软雅黑,1,700,0,0,0,${v.product_title1}` },
+            v.product_title2 ? { PTK_DrawText_TrueType: `300,220,50,0,微软雅黑,1,700,0,0,0,${v.product_title2}` } : {},
+            { PTK_DrawText_TrueType: '700,170,60,0,微软雅黑,1,700,0,0,0,工艺:' },
+            { PTK_DrawText_TrueType: `820,170,50,0,微软雅黑,1,700,0,0,0,${v.process1}` },
+            v.process2 ? { PTK_DrawText_TrueType: `820,220,50,0,微软雅黑,1,700,0,0,0,${v.process2}` } : {},
+            { PTK_DrawText_TrueType: '150,270,60,0,微软雅黑,1,700,0,0,0,花色:' },
+            { PTK_DrawText_TrueType: `300,270,50,0,微软雅黑,1,700,0,0,0,${v.color1}` },
+            v.color2 ? { PTK_DrawText_TrueType: `300,320,50,0,微软雅黑,1,700,0,0,0,${v.color2}` } : {},
+            { PTK_DrawText_TrueType: '700,270,60,0,微软雅黑,1,700,0,0,0,数量:' },
+            { PTK_DrawText_TrueType: `820,270,60,0,微软雅黑,1,700,0,0,0,${v.num}` },
+            { PTK_DrawText_TrueType: `130,370,60,0,微软雅黑,1,700,0,0,0,${v.is_s ? '派工单号:' : '包装单号:'}` },
+            { PTK_DrawText_TrueType: `330,370,60,0,微软雅黑,1,700,0,0,0,${v.dispatch_no ? v.dispatch_no:v.box_no}` },
+            !v.is_s ? { PTK_DrawText_TrueType: '700,370,60,0,微软雅黑,1,700,0,0,0,包装日期:' } : {},
+            !v.is_s ? { PTK_DrawText_TrueType: `900,370,60,0,微软雅黑,1,700,0,0,0,${v.box_date}` } : {},
+            { PTK_DrawText_TrueType: '130,525,60,0,微软雅黑,1,700,0,0,0,订单号:' },
+            { PTK_DrawText_TrueType: `300,525,60,0,微软雅黑,1,700,0,0,0,${v.order_number}` },
+            { PTK_DrawText_TrueType: '700,525,60,0,微软雅黑,1,700,0,0,0,客户:' },
+            { PTK_DrawText_TrueType: `820,525,50,0,微软雅黑,1,700,0,0,0,${v.customer1}` },
+            v.customer2 ? { PTK_DrawText_TrueType: `820,575,50,0,微软雅黑,1,700,0,0,0,${v.customer2}` } : {},
+            { PTK_DrawText_TrueType: '150,625,60,0,微软雅黑,1,700,0,0,0,产品:' },
+            { PTK_DrawText_TrueType: `300,625,50,0,微软雅黑,1,700,0,0,0,${v.product_title1}` },
+            v.product_title2 ? { PTK_DrawText_TrueType: `300,675,50,0,微软雅黑,1,700,0,0,0,${v.product_title2}` } : {},
+            { PTK_DrawText_TrueType: '700,625,60,0,微软雅黑,1,700,0,0,0,工艺:' },
+            { PTK_DrawText_TrueType: `820,625,50,0,微软雅黑,1,700,0,0,0,${v.process1}` },
+            v.process2 ? { PTK_DrawText_TrueType: `820,675,50,0,微软雅黑,1,700,0,0,0,${v.process2}` } : {},
+            { PTK_DrawText_TrueType: '150,725,60,0,微软雅黑,1,700,0,0,0,花色:' },
+            { PTK_DrawText_TrueType: `300,725,50,0,微软雅黑,1,700,0,0,0,${v.color1}` },
+            v.color2 ? { PTK_DrawText_TrueType: `300,775,50,0,微软雅黑,1,700,0,0,0,${v.color2}` } : {},
+            { PTK_DrawText_TrueType: '700,725,60,0,微软雅黑,1,700,0,0,0,数量:' },
+            { PTK_DrawText_TrueType: `820,725,60,0,微软雅黑,1,700,0,0,0,${v.num}` },
+            { PTK_DrawText_TrueType: `130,825,60,0,微软雅黑,1,700,0,0,0,${v.is_s ? '派工单号:' : '包装单号:'}` },
+            { PTK_DrawText_TrueType: `330,825,60,0,微软雅黑,1,700,0,0,0,${v.dispatch_no ? v.dispatch_no : v.box_no}` },
+            !v.is_s ? { PTK_DrawText_TrueType: '700,825,60,0,微软雅黑,1,700,0,0,0,包装日期:' } : {},
+            !v.is_s ? { PTK_DrawText_TrueType: `900,825,60,0,微软雅黑,1,700,0,0,0,${v.box_date}` } : {},
+            { PTK_RWRFIDLabel: `1,0,0,${v.chip.length / 2},1,${v.chip}` }, { PTK_PrintLabel: "1,1" }]
+        } else {
+          obj = [
+            { PTK_DrawText_TrueType: '30,70,60,0,微软雅黑,1,700,0,0,0,订单号:' },
+            { PTK_DrawText_TrueType: `200,70,60,0,微软雅黑,1,700,0,0,0,${v.order_number}` },
+            { PTK_DrawText_TrueType: '600,70,60,0,微软雅黑,1,700,0,0,0,客户:' },
+            { PTK_DrawText_TrueType: `720,70,50,0,微软雅黑,1,700,0,0,0,${v.customer1}` },
+            v.customer2 ? { PTK_DrawText_TrueType: `720,120,50,0,微软雅黑,1,700,0,0,0,${v.customer2}` } : {},
+            { PTK_DrawText_TrueType: '50,170,60,0,微软雅黑,1,700,0,0,0,产品:' },
+            { PTK_DrawText_TrueType: `200,170,50,0,微软雅黑,1,700,0,0,0,${v.product_title1}` },
+            v.product_title2 ? { PTK_DrawText_TrueType: `200,220,50,0,微软雅黑,1,700,0,0,0,${v.product_title2}` } : {},
+            { PTK_DrawText_TrueType: '600,170,60,0,微软雅黑,1,700,0,0,0,工艺:' },
+            { PTK_DrawText_TrueType: `720,170,50,0,微软雅黑,1,700,0,0,0,${v.process1}` },
+            v.process2 ? { PTK_DrawText_TrueType: `720,220,50,0,微软雅黑,1,700,0,0,0,${v.process2}` } : {},
+            { PTK_DrawText_TrueType: '50,270,60,0,微软雅黑,1,700,0,0,0,花色:' },
+            { PTK_DrawText_TrueType: `200,270,50,0,微软雅黑,1,700,0,0,0,${v.color1}` },
+            v.color2 ? { PTK_DrawText_TrueType: `200,320,50,0,微软雅黑,1,700,0,0,0,${v.color2}` } : {},
+            { PTK_DrawText_TrueType: '600,270,60,0,微软雅黑,1,700,0,0,0,数量:' },
+            { PTK_DrawText_TrueType: `720,270,60,0,微软雅黑,1,700,0,0,0,${v.num}` },
+            { PTK_DrawText_TrueType: `30,370,60,0,微软雅黑,1,700,0,0,0,${v.is_s ? '派工单号:' : '包装单号:'}` },
+            { PTK_DrawText_TrueType: `230,370,60,0,微软雅黑,1,700,0,0,0,${v.dispatch_no ? v.dispatch_no:v.box_no}` },
+            !v.is_s ? { PTK_DrawText_TrueType: '600,370,60,0,微软雅黑,1,700,0,0,0,包装日期:' } : {},
+            !v.is_s ? { PTK_DrawText_TrueType: `800,370,60,0,微软雅黑,1,700,0,0,0,${v.box_date}` } : {},
+            { PTK_DrawText_TrueType: '30,525,60,0,微软雅黑,1,700,0,0,0,订单号:' },
+            { PTK_DrawText_TrueType: `200,525,60,0,微软雅黑,1,700,0,0,0,${v.order_number}` },
+            { PTK_DrawText_TrueType: '600,525,60,0,微软雅黑,1,700,0,0,0,客户:' },
+            { PTK_DrawText_TrueType: `720,525,50,0,微软雅黑,1,700,0,0,0,${v.customer1}` },
+            v.customer2 ? { PTK_DrawText_TrueType: `720,575,50,0,微软雅黑,1,700,0,0,0,${v.customer2}` } : {},
+            { PTK_DrawText_TrueType: '50,625,60,0,微软雅黑,1,700,0,0,0,产品:' },
+            { PTK_DrawText_TrueType: `200,625,50,0,微软雅黑,1,700,0,0,0,${v.product_title1}` },
+            v.product_title2 ? { PTK_DrawText_TrueType: `200,675,50,0,微软雅黑,1,700,0,0,0,${v.product_title2}` } : {},
+            { PTK_DrawText_TrueType: '600,625,60,0,微软雅黑,1,700,0,0,0,工艺:' },
+            { PTK_DrawText_TrueType: `720,625,50,0,微软雅黑,1,700,0,0,0,${v.process1}` },
+            v.process2 ? { PTK_DrawText_TrueType: `720,675,50,0,微软雅黑,1,700,0,0,0,${v.process2}` } : {},
+            { PTK_DrawText_TrueType: '50,725,60,0,微软雅黑,1,700,0,0,0,花色:' },
+            { PTK_DrawText_TrueType: `200,725,50,0,微软雅黑,1,700,0,0,0,${v.color1}` },
+            v.color2 ? { PTK_DrawText_TrueType: `200,775,50,0,微软雅黑,1,700,0,0,0,${v.color2}` } : {},
+            { PTK_DrawText_TrueType: '600,725,60,0,微软雅黑,1,700,0,0,0,数量:' },
+            { PTK_DrawText_TrueType: `720,725,60,0,微软雅黑,1,700,0,0,0,${v.num}` },
+            { PTK_DrawText_TrueType: `30,825,60,0,微软雅黑,1,700,0,0,0,${v.is_s ? '派工单号:' : '包装单号:'}` },
+            { PTK_DrawText_TrueType: `230,825,60,0,微软雅黑,1,700,0,0,0,${v.dispatch_no ? v.dispatch_no : v.box_no}` },
+            !v.is_s ? { PTK_DrawText_TrueType: '600,825,60,0,微软雅黑,1,700,0,0,0,包装日期:' } : {},
+            !v.is_s ? { PTK_DrawText_TrueType: `800,825,60,0,微软雅黑,1,700,0,0,0,${v.box_date}` } : {},
+            { PTK_RWRFIDLabel: `1,0,0,${v.chip.length / 2},1,${v.chip}` }, { PTK_PrintLabel: "1,1" }]
+        }
+        arr.push(...obj)
+      })
+      arr.push({ PTK_CloseUSBPort: "" })
+      let _this = this
+      let printparams = JSON.stringify(arr)
+      console.log(arr)
+      $.ajax({
+        type: "post",
+        url: 'http://127.0.0.1:888/postek/print',
+        data: { reqParam: 1, printparams },
+        dataType: "json",
+        timeout: 5000,
+        success: function (result) {
+          // _this.getChipDetail();
+          if (result.retval == "0") {
+            _this.$Message.success("发送成功");
+            setTimeout(()=>{
+              // this.close()
+            },200)
+          } else {
+            _this.$Message.error("发送失败,返回结果:" + result.msg);
+          }
+        },
+        error: function () {
+
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.header{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  border-bottom: 1px solid #356070;
+}
+.bdy{
+  height: calc(100% - 5rem);
+  display: flex;
+  flex-wrap: wrap;
+  overflow: auto;
+}
+.bdy::-webkit-scrollbar{
+  width: 8px;
+}
+.bdy::-webkit-scrollbar-track{
+  background: linear-gradient(to bottom,#f5f5f5, #002359);
+}
+.bdy::-webkit-scrollbar-thumb{
+  background: linear-gradient(to bottom, #a1a1a1, #3b4169);
+  border-radius: 5px;
+  box-shadow: inset 0 0 6px rgba(0,0,0,.3);
+}
+::v-deep .van-calendar__body::-webkit-scrollbar{
+  width: 0;
+}
+.choose_item{
+  cursor: pointer;
+  border-radius: 20px;
+  background: #ffffff;
+  color: black;
+  padding: 10px;
+  margin: 20px 0 20px 2.5%;
+  width: 30%;
+  height: 180px;
+}
+.item{
+  cursor: pointer;
+  border: 1px solid #797878;
+  color: #797878;
+  border-radius: 20px;
+  padding: 10px;
+  margin: 20px 0 20px 2.5%;
+  width: 30%;
+  height: 180px;
+}
+</style>

+ 508 - 0
src/views/chipFinish.vue

@@ -0,0 +1,508 @@
+<template>
+  <div style="width: 100vw;height: 100vh">
+    <div style="display: flex;justify-content: center;align-items: center;padding-top: 1rem;position: relative">
+      <div style="position: absolute;top: .2rem;left: 1rem;color: #FFFFFF;font-weight: bold;font-size: 3rem;letter-spacing: 1rem">完工屏</div>
+      <Form :label-width="150"
+            @submit.native.prevent
+            @keyup.enter.native="handleBlur">
+        <FormItem label="派工单号:">
+          <Input clearable placeholder="扫码填入" style="width: 25rem" v-model="order_no" size="large"/>
+        </FormItem>
+      </Form>
+      <div style="position: absolute;top:1.1rem;right: 0">
+        <Button
+            @click="handleFullScreenClick"
+            size="large"
+            id="full_screen_btn"
+            type="primary"
+            style="margin-right: 1rem"
+        >
+          {{ isFullScreen ? "收  缩" : "全  屏" }}
+        </Button>
+        <Button type="primary" style="margin-right: 1rem" size="large" @click="handleSure">确认</Button>
+        <Button size="large" style="margin-right: 1rem" @click="handleReturn">返回</Button>
+      </div>
+    </div>
+     <div class="bdy" :style="show?{'position':'relative','top':'-200px'}:{}">
+       <div v-for="(item,index) in list" :key="index" class="item">
+         <div style="position:absolute;width: 2.4rem;height: 2.4rem;top: 0px;right:0px;border-radius: 50%;background-color: red;color: #FFFFFF;text-align: center;line-height: 1.6;font-size: 1.6rem" @click="handleDel(index)">X</div>
+         <div class="it_ti"><label>派工单号:</label><span>{{item.dispatch_no}}</span></div>
+         <div class="it_ti"><label>完工类型:</label><Select filterable clearable v-model="item.completion_type_show" style="width: 200px" transfer>
+           <Option v-for="itm in completionList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+         </Select></div>
+         <div class="it_ti"><label>完工时间:</label><DatePicker type="date" v-model="item.completion_time" style="width: 200px" placeholder="请选择"></DatePicker></div>
+         <div class="it_ti"><label>完工工序:</label><Select filterable clearable v-model="item.process_id" style="width: 200px" transfer>
+           <Option v-for="itm in processList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+         </Select></div>
+         <div class="it_ti"><label>完工班组:</label><Select v-model="item.team_id" clearable filterable style="width: 200px" transfer>
+           <Option v-for="itm in teamList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+         </Select></div>
+         <div class="it_ti"><label>完工设备:</label><Select v-model="item.equipment_id" clearable filterable style="width: 200px" transfer>
+           <Option v-for="itm in equipmentList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+         </Select></div>
+         <div class="it_ti"><label>完工人员:</label><Select v-model="item.employee_id" clearable multiple filterable style="width: 200px" transfer @on-change="handleChangeEmp">
+           <Option v-for="itm in employeeList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+         </Select></div>
+         <Divider>产品明细</Divider>
+         <div v-for="(_item,_index) in item.children" :key="_index" class="itemmingxi">
+           <div style="position:absolute;width: 2rem;height: 2rem;top: -.4rem;right:-.4rem;border-radius: 50%;background-color: #c91d31;color: #FFFFFF;text-align: center;line-height: .6;font-size: 2.5rem" @click="handleDelItem(index,_index)">-</div>
+           <div><label>销售订单号:</label><span>{{_item.order_no}}</span></div>
+           <div><label>经销商名称:</label><span>{{_item.dealer_name}}</span></div>
+           <div><label>产品编码:</label><span>{{_item.product_no}}</span></div>
+           <div style="display: flex"><span>产品名称:</span><span style="width: 200px">{{_item.product_title}}</span></div>
+           <div style="display: flex"><label>规格型号:</label><span>{{_item.product_size}}</span></div>
+           <div><label>计量单位:</label><span>{{ _item.product_unit_title }}</span></div>
+           <div><label>工艺名称1:</label><span>{{_item.in_process_title}}</span></div>
+           <div><label>花色名称1:</label><span>{{_item.in_color}}</span></div>
+           <div><label>工艺名称2:</label><span>{{_item.in_process_title_two}}</span></div>
+           <div><label>花色名称2:</label><span>{{_item.in_color_two}}</span></div>
+           <div><label>工艺类型:</label><span>{{_item.craft_type_dk_show}}</span></div>
+           <div><label>派工数量:</label><span>{{_item.dispatch_num}}</span></div>
+           <div><label>完工数量:</label><Input style="width: 150px" v-model="_item.finished_num" clearable placeholder="请输入" @on-focus="handlefocus(index,_index)"></Input></div>
+           <div><label>未完工数量:</label><span>{{_item.not_finished_num}}</span></div>
+         </div>
+       </div>
+     </div>
+    <van-number-keyboard
+        :show="show"
+        theme="custom"
+        extra-key="."
+        close-button-text="完成"
+        @blur="handleonBlur"
+        @input="onInput"
+        @delete="onDelete"
+    />
+  </div>
+</template>
+<script>
+export default {
+  data () {
+    return{
+      show:false,
+      isFullScreen: false,
+      list:[],
+      order_no:'',
+      teamList:[],
+      equipmentList:[],
+      employeeList:[],
+      chooseIndex:0,
+      itemIndex:0,
+      processList:[],
+      completionList:[],
+      employee:{
+        employee_id:null,
+        employee_id_show:null,
+      }
+    }
+  },
+  created () {
+    if(!localStorage.getItem('dwy_url')){
+      this.$router.push('/cms/chipScreen')
+    }
+    this.axios.post('/api/testdwyget',{url:`${localStorage.getItem('dwy_url')}jbl/api/dict-tables/find-by-code?dictCode=completion_type`}).then(res=>{
+         this.completionList = res.data.dictItems;
+           this.completionList.forEach(v => {
+        v.text = v.value
+      })
+    })
+    //获取工序
+    const data4={
+      url:`${localStorage.getItem('dwy_url')}jbl/api/module-data/process_dossier_code/page`,
+     post: {
+       direction: "DESC",
+       fromClientType: "pc",
+       ignoreField: true,
+       number: 0,
+       property: "id",
+       rules: [],
+       size: 999,
+       specialConditions: [],
+     }
+    }
+    this.axios.post('/api/testdwy', { ...data4 }).then(res => {
+      this.processList = res.data.content
+      this.processList.forEach(v => {
+        v.value = v.process_code
+        v.text = v.title
+      })
+    })
+    // 获取设备
+    const data1 = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/device_list/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "dynamicFormCode": "device",
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data1 }).then(res => {
+      this.equipmentList = res.data.content.filter(v => v.status)
+      this.equipmentList.forEach(v => {
+        v.value = v.device_code
+        v.text = v.title
+      })
+    })
+    // 获取班组
+    const data = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/team_list/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "dynamicFormCode": "team",
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data }).then(res => {
+      this.teamList = res.data.content.filter(v => v.status)
+      this.teamList.forEach(v => {
+        v.value = v.team_code
+        v.text = v.title
+      })
+    })
+    // 获取人员
+    const data3 = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/team_code_btn/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "workflowSearchBean": {},
+        "dynamicFormCode": "person",
+        "dynamicFormTable": null,
+        "ignoreField": true,
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data3 }).then(res => {
+      this.employeeList = res.data.content
+      this.employeeList.forEach(v => {
+        v.value = v.no
+        v.text = v.name
+      })
+    })
+  },
+  methods: {
+    handleChangeEmp(e){
+      if(e.length!=0){
+        let employee_id = e.toString();
+        let employee_id_show = '';
+        let employee_id_biz_data = [];
+        e.forEach((v,idx)=>{
+          let text = this.employeeList.find(c=>c.value==v).text;
+          let obj = this.employeeList.find(c=>c.value==v);
+          obj.checkDisabled=false;
+          obj.checked= true;
+          employee_id_biz_data.push(obj);
+          if(idx==0){
+            employee_id_show = text
+          }else {
+            employee_id_show += '$$$' + text
+          }
+        })
+        this.employee = {
+          employee_id,
+          employee_id_show,
+          employee_id_biz_data
+        }
+      }else {
+       this.employee = {
+         employee_id_show: null,
+         employee_id: null
+       }
+      }
+      console.log(this.employee)
+    },
+    handleDelItem(index,_index){
+      this.list[index].children.splice(_index,1)
+    },
+    handleDel(index){
+      this.list.splice(index,1)
+    },
+    handleReturn () {
+      if (this.isFullScreen) {
+        this.handleFullScreenClick()
+      }
+      this.$router.go(-1);
+    },
+    onInput (value) {
+      this.list[this.chooseIndex].children[this.itemIndex].finished_num = this.list[this.chooseIndex].children[this.itemIndex].finished_num + '' + value
+    },
+    onDelete () {
+      this.list[this.chooseIndex].children[this.itemIndex].finished_num += '';
+      this.list[this.chooseIndex].children[this.itemIndex].finished_num = this.list[this.chooseIndex].children[this.itemIndex].finished_num.substring(0, this.list[this.chooseIndex].children[this.itemIndex].finished_num.length - 1)
+    },
+    handleonBlur () {
+      this.show = false
+    },
+    handleFullScreenClick () {
+      this.isFullScreen = !this.isFullScreen;
+      if (this.isFullScreen) {
+        this.enterFullScreen();
+      } else {
+        this.exitFullScreen();
+      }
+    },
+    handlefocus(index,_index){
+      this.chooseIndex=index;
+      this.itemIndex= _index;
+      this.show=true;
+    },
+    enterFullScreen () {
+      let el = document.documentElement;
+      let rfs =
+          el.requestFullScreen ||
+          el.webkitRequestFullScreen ||
+          el.mozRequestFullScreen ||
+          el.msRequestFullscreen;
+      if (rfs) {
+        rfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleSure(){
+      this.list.forEach((b,bindex)=>{
+        let completion_orders = {
+          completion_order_no: null,
+          completion_time: new Date(Date.parse(b.completion_time)).toISOString(),
+          completion_type: this.completionList.find(v=>v.value== b.completion_type_show).code,
+          completion_type_show: b.completion_type_show,
+          created_by: null,
+          created_date: null,
+          dispatch_order_no: b.dispatch_no,
+          ...this.employee,
+          equipment_id:b.equipment_id,
+          equipment_id_show: this.equipmentList.find(v=>v.value==b.equipment_id)?this.equipmentList.find(v=>v.value==b.equipment_id).text:null,
+          last_modified_by: null,
+          last_modified_date: null,
+          process_id:b.process_id,
+          process_id_show:this.processList.find(v=>v.value==b.process_id)?this.processList.find(v=>v.value==b.process_id).text:null,
+          remark:b.remark,
+          site:null,
+          tag:null,
+          team_id:b.team_id,
+          team_id_show:this.teamList.find(v=>v.value==b.team_id)?this.teamList.find(v=>v.value==b.team_id).text:null
+        }
+        let completion_orders_dtl = [];
+        b.children.forEach(v=>{
+          let obj = {
+            item_num: v.item_num,
+            product_no: v.product_no,
+            in_product_tile: v.in_product_tile,
+            in_process_title: v.in_process_title,
+            in_color: v.in_color,
+            in_process_title_two: v.in_process_title_two,
+            in_color_two: v.in_color_two,
+            product_size: v.product_size,
+            product_unit: v.product_unit,
+            product_unit_title: v.product_unit_title,
+            finished_num: v.finished_num,
+            dispatch_num: v.dispatch_num,
+            production_num: v.production_num,
+            production_no: v.production_no,
+            production_item_no: v.production_item_no,
+            dispatch_order_no: v.dispatch_order_no,
+            dispatch_item_no: v.dispatch_item_no,
+            order_no: v.order_no,
+            order_item_no: v.order_item_no,
+            customer_no: v.customer_no,
+            customer_name: v.customer_name,
+            dealer_no: v.dealer_no,
+            dealer_name: v.dealer_name,
+            product_title: v.product_title,
+            process_title: v.process_title,
+            color: v.color,
+            process_title_two: v.process_title_two,
+            color_two: v.color_two,
+            color_code_two: v.color_code_two,
+            dispatch_item_id: v.dispatch_item_id,
+            process_code_two: v.process_code_two,
+            color_code: v.color_code,
+            order_item_id: v.order_item_id,
+            production_item_id: v.production_item_id,
+            process_code: v.process_code,
+            process_router_id: v.process_router_id,
+            craft_type_dk: v.craft_type_dk,
+            craft_type_dk_show: v.craft_type_dk_show,
+            mat_type: v.mat_type,
+            refer_type: 'DISPATCH',
+            site: null,
+            not_finished_num: v.not_finished_num
+          }
+          completion_orders_dtl.push(obj)
+        })
+        let data = {
+          url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/completion_orders/completion_orders`,
+          post: {
+            bizId: -1,
+            bizTypeEk: "LOWCODE",
+            data: {
+              completion_orders_dtl,
+              completion_orders
+            },
+            dynamicFormId: "474201923419320320",
+            showModelId: "474382714828959744"
+          }
+        }
+        this.axios.post('/api/testdwy', { ...data }).then(res => {
+          if(res.code==200){
+            this.$Message.success(res.msg)
+            if(bindex==this.list.length-1){
+             this.list = [];
+            }
+          }
+        })
+      })
+    },
+    exitFullScreen () {
+      let el = document;
+      let cfs =
+          el.cancelFullScreen ||
+          el.mozCancelFullScreen ||
+          el.msExitFullscreen ||
+          el.webkitExitFullscreen ||
+          el.exitFullscreen;
+      if (cfs) {
+        // typeof cfs != "undefined" && cfs
+        cfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里和fullScreen相同,模拟按下F11键退出全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleBlur () {
+      //00504732303233313032383030383231
+      if(this.order_no){
+        let no = this.func.hexToString(this.order_no)
+        let order_no = this.list.map(v=>v.dispatch_no)
+        const data = {
+          url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/dispatch_orders/page`,
+          post: {
+            "direction": "DESC",
+            "property": "id",
+            "fromClientType": "pc",
+            "number": 0,
+            "sorts": [],
+            "rules": [{
+              "field": "dispatch_orders.dispatch_no",
+              "option": "LIKE_ANYWHERE",
+              "values": [no]
+            }],
+            "size": 15,
+            "specialConditions": [],
+            "workflowSearchBean": {},
+            "dynamicFormCode": "dispatch_orders",
+            "dynamicFormTable": null,
+            "ignoreField": true,
+            "developmentSystemId": null,
+            "debugFlag": true
+          }
+        }
+        this.axios.post('/api/testdwy', { ...data }).then(res => {
+          if(res.data.content.length!=0&&order_no.indexOf(res.data.content[0].dispatch_orders.dispatch_no)==-1){
+            res.data.content.forEach((v,idx) => {
+              v.dispatch_order_no = v.dispatch_orders.dispatch_no
+              v.not_finished_num = v.dispatch_num - (v.finished_num?v.finished_num:0)
+              v.finished_num = v.not_finished_num
+              v.item_num =idx+1;
+              v.dispatch_item_no = v.item_num;
+              v.dispatch_item_id = v.id;
+              v.refer_type= 'DISPATCH';
+                v.site= null
+            })
+            res.data.content[0].dispatch_orders.completion_time = new Date()
+            let obj = { ...res.data.content[0].dispatch_orders,completion_type_show:'完工后质检' , children:res.data.content}
+            this.list.push(obj)
+            console.log(this.list)
+          }
+        })
+      }
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.bdy{
+  height: calc(100% - 6rem);
+  overflow: auto;
+  &::-webkit-scrollbar{
+    width: 1px;
+  }
+  .item{
+    width: 98%;
+    display: flex;
+    flex-wrap: wrap;
+    margin: 0 1% 1% 1%;
+    border-radius: 20px;
+    background-color: #2A4470;
+    position: relative;
+    .itemmingxi{
+      width: 98%;
+      margin: 0 1% 1% 1%;
+      display: flex;
+      flex-wrap: wrap;
+      background-color: #012248;
+      border-radius: 20px;
+      position: relative;
+      div{
+        color: #FFFFFF;
+        width: 22%;
+        margin: 1%;
+        label{
+          width: 6rem;
+          text-align: right;
+        }
+      }
+    }
+    .it_ti{
+      color: #FFFFFF;
+      width: 22%;
+      display: flex;
+      align-items: center;
+      margin: 1%;
+      label{
+        width: 6rem;
+        text-align: right;
+      }
+    }
+  }
+}
+::v-deep .ivu-form-item-label{
+  color: #FFFFFF !important;
+  font-size: 1.3rem;
+}
+::v-deep .ivu-divider-inner-text{
+  color: #FFFFFF;
+}
+::v-deep .ivu-divider{
+  margin: 2px 0;
+}
+</style>

+ 555 - 0
src/views/chipPackage.vue

@@ -0,0 +1,555 @@
+<template>
+  <div style="width: 100vw;height: 100vh">
+    <div style="display: flex;justify-content: center;align-items: center;padding-top: 1rem;position: relative">
+      <div style="position: absolute;top: .2rem;left: 1rem;color: #FFFFFF;font-weight: bold;font-size: 3rem;letter-spacing: 1rem">包装屏</div>
+      <Form :label-width="150"
+            style="display: flex"
+            @submit.native.prevent
+            @keyup.enter.native="()=>{return false}">
+        <FormItem label="销售订单号:">
+          <Input clearable placeholder="请输入" style="width: 25rem" v-model="order_no" size="large" @on-focus="handlefocus(null,null,2)"/>
+        </FormItem>
+        <FormItem :label-width="10"><Button type="primary" ghost @click="handleBlur" size="large">查询</Button></FormItem>
+      </Form>
+      <div style="position: absolute;top:1.1rem;right: 0">
+        <Button
+            @click="handleFullScreenClick"
+            size="large"
+            id="full_screen_btn"
+            type="primary"
+            style="margin-right: 1rem"
+        >
+          {{ isFullScreen ? "收  缩" : "全  屏" }}
+        </Button>
+        <Button type="primary" style="margin-right: 1rem" size="large" @click="handleSure">确认</Button>
+        <Button size="large" style="margin-right: 1rem" @click="handleReturn">返回</Button>
+      </div>
+    </div>
+    <div class="bdy" :style="state?{'position':'relative','top':'-200px'}:{}">
+      <div v-for="(item,index) in list" :key="index" class="item">
+        <div style="position:absolute;width: 2.4rem;height: 2.4rem;top: 0px;right:0px;border-radius: 50%;background-color: red;color: #FFFFFF;text-align: center;line-height: 1.6;font-size: 1.6rem" @click="handleDel(index)">X</div>
+        <div class="it_ti"><label>包装时间:</label><DatePicker type="date" v-model="item.box_time" style="width: 200px" placeholder="请选择"></DatePicker></div>
+        <div class="it_ti"><label>包装班组:</label><Select v-model="item.team_id" clearable filterable style="width: 200px" transfer @on-change="handleChangeTeam">
+          <Option v-for="itm in teamList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+        </Select></div>
+        <div class="it_ti"><label>包装人员:</label><Select v-model="item.employee_id" clearable multiple filterable style="width: 200px" transfer @on-change="handleChangeEmp">
+          <Option v-for="itm in employeeList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+        </Select></div>
+        <Divider>包装明细</Divider>
+        <div v-for="(_item,_index) in item.children" :key="_index" class="itemmingxi">
+          <div style="position:absolute;width: 2rem;height: 2rem;top: -.4rem;right:-.4rem;border-radius: 50%;background-color: #c91d31;color: #FFFFFF;text-align: center;line-height: .6;font-size: 2.5rem" @click="handleDelItem(_index)">-</div>
+          <div><label>销售订单号:</label><span>{{item.no}}</span></div>
+          <div><label>经销商名称:</label><span>{{_item.exe_sale_order_b.jingxiaoshang_show}}</span></div>
+          <div><label>产品编码:</label><span>{{_item.material_code}}</span></div>
+          <div style="display: flex"><span>产品名称:</span><span style="width: 200px">{{_item.material_code_show}}</span></div>
+          <div style="display: flex"><label>规格型号:</label><span style="width: 200px">{{_item.specs}}</span></div>
+          <div><label>计量单位:</label><span>{{ _item.unit_code_show}}</span></div>
+          <div><label>工艺名称1:</label><span>{{_item.craft_type_code_show }}</span></div>
+          <div><label>花色名称1:</label><span>{{_item.decor_code_show }}</span></div>
+          <div><label>工艺名称2:</label><span>{{_item.craft_type_two_code_show}}</span></div>
+          <div><label>花色名称2:</label><span>{{_item.decor_two_code_show}}</span></div>
+          <div><label>包装数量:</label><Input style="width: 150px" v-model="_item.box_num" clearable placeholder="请输入" @on-focus="handlefocus(index,_index,1)"></Input></div>
+          <div style="width:100%;border: 1px solid #989595;border-radius: 10px">
+           <div v-for="(__item,__index) in _item.new_box_orders_label_producter" :key="__index" style="width: 100%;display: flex;align-items: center">
+             <div><label>商标:</label><span>{{__item.product_title}}</span></div>
+             <div><label>损耗数量:</label><Input style="width: 150px" v-model="__item.loss_num" clearable placeholder="请输入" @on-focus="handlefocus(index,_index,3,__index)"></Input></div>
+           </div>
+           </div>
+          </div>
+        </div>
+      </div>
+    <van-number-keyboard
+        :show="show"
+        theme="custom"
+        extra-key="."
+        close-button-text="完成"
+        @blur="handleonBlur"
+        @input="onInput"
+        @delete="onDelete"
+    />
+  </div>
+</template>
+<script>
+// import '@vant/touch-emulator';
+export default {
+  data () {
+    return{
+      itemIndexs:0,
+      itemIndex:0,
+      chooseIndex:0,
+      state:false,
+      show:false,
+      isFullScreen: false,
+      list:[],
+      order_no:'',
+      teamList:[],
+      equipmentList:[],
+      employeeList:[],
+      employee:{
+        employee_id:null,
+        employee_id_show:null
+      },
+      team:{
+        team_id:null,
+        team_id_show:null
+      }
+    }
+  },
+  created () {
+    if(!localStorage.getItem('dwy_url')){
+      this.$router.push('/cms/chipScreen')
+    }
+    // 获取班组
+    const data = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/team_list/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "dynamicFormCode": "team",
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data }).then(res => {
+      this.teamList = res.data.content.filter(v => v.status)
+      this.teamList.forEach(v => {
+        v.value = v.team_code
+        v.text = v.title
+      })
+    })
+    // 获取人员
+    const data3 = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/team_code_btn/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "workflowSearchBean": {},
+        "dynamicFormCode": "person",
+        "dynamicFormTable": null,
+        "ignoreField": true,
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data3 }).then(res => {
+      this.employeeList = res.data.content
+      this.employeeList.forEach(v => {
+        v.value = v.no
+        v.text = v.name
+      })
+    })
+  },
+  methods: {
+    handleChangeTeam(e){
+      if(e){
+        let team_id = e
+        let team_id_show =this.teamList.find(c=>c.value==e).text;
+        let team_id_biz_data;
+        let obj = this.teamList.find(c=>c.value==e);
+        obj.checkDisabled =false;
+        obj.checked = true;
+        team_id_biz_data = obj
+        this.team = {
+          team_id,
+          team_id_show,
+          team_id_biz_data
+        }
+      } else {
+        this.team = {
+          team_id: null,
+          team_id_show: null
+        }
+      }
+      console.log(this.team)
+    },
+    handleChangeEmp(e){
+      if(e.length!=0){
+        let employee_id = e.toString();
+        let employee_id_show = '';
+        let employee_id_biz_data = [];
+        e.forEach((v,idx)=>{
+          let text = this.employeeList.find(c=>c.value==v).text;
+          let obj = this.employeeList.find(c=>c.value==v);
+          obj.checkDisabled=false;
+          obj.checked= true;
+          employee_id_biz_data.push(obj);
+          if(idx==0){
+            employee_id_show = text
+          }else {
+            employee_id_show += '$$$' + text
+          }
+        })
+        this.employee = {
+          employee_id,
+          employee_id_show,
+          employee_id_biz_data
+        }
+      }else {
+        this.employee = {
+          employee_id_show: null,
+          employee_id: null
+        }
+      }
+    },
+    handlefocus(index,_index,sort,__index){
+      if(sort==1){
+        this.chooseIndex = index;
+        this.itemIndex = _index;
+        this.state = true;
+      }
+      if(sort == 3){
+        this.chooseIndex = index;
+        this.itemIndex = _index;
+        this.itemIndexs = __index;
+        this.state = true;
+      }
+      this.sort = sort;
+      this.show = true
+    },
+    onInput (value) {
+      if(this.sort==1){
+        this.list[this.chooseIndex].children[this.itemIndex].box_num = this.list[this.chooseIndex].children[this.itemIndex].box_num + '' + value
+      }else if(this.sort==3){
+        this.list[this.chooseIndex].children[this.itemIndex].new_box_orders_label_producter[this.itemIndexs].loss_num = this.list[this.chooseIndex].children[this.itemIndex].new_box_orders_label_producter[this.itemIndexs].loss_num + '' + value
+      } else{
+        this.order_no = this.order_no + '' + value
+      }
+
+    },
+    onDelete () {
+      if(this.sort==1){
+        this.list[this.chooseIndex].children[this.itemIndex].box_num += ''
+        this.list[this.chooseIndex].children[this.itemIndex].box_num = this.list[this.chooseIndex].children[this.itemIndex].box_num.substring(0, this.list[this.chooseIndex].children[this.itemIndex].box_num.length - 1)
+      }else if(this.sort == 3){
+        this.list[this.chooseIndex].children[this.itemIndex].new_box_orders_label_producter[this.itemIndexs].loss_num += ''
+        this.list[this.chooseIndex].children[this.itemIndex].new_box_orders_label_producter[this.itemIndexs].loss_num = this.list[this.chooseIndex].children[this.itemIndex].new_box_orders_label_producter[this.itemIndexs].loss_num.substring(0, this.list[this.chooseIndex].children[this.itemIndex].new_box_orders_label_producter[this.itemIndexs].loss_num.length - 1)
+      } else{
+        this.order_no = this.order_no.substring(0, this.order_no.length - 1)
+      }
+    },
+    handleonBlur () {
+      this.show = false
+      this.state = false
+      if(this.sort == 2){
+        this.handleBlur()
+      }
+    },
+    handleDelItem(index,_index){
+      this.list[index].children.splice(_index,1)
+    },
+    handleDel(index){
+      this.list.splice(index,1)
+    },
+    handleReturn () {
+      if (this.isFullScreen) {
+        this.handleFullScreenClick()
+      }
+      this.$router.go(-1);
+    },
+    handleFullScreenClick () {
+      this.isFullScreen = !this.isFullScreen;
+      if (this.isFullScreen) {
+        this.enterFullScreen();
+      } else {
+        this.exitFullScreen();
+      }
+    },
+    enterFullScreen () {
+      let el = document.documentElement;
+      let rfs =
+          el.requestFullScreen ||
+          el.webkitRequestFullScreen ||
+          el.mozRequestFullScreen ||
+          el.msRequestFullscreen;
+      if (rfs) {
+        rfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleSure(){
+      if(!this.team.team_id){
+        return this.$Message.warning('请选择包装班组!')
+      }
+      if(!this.employee.employee_id){
+        return this.$Message.warning('请选择包装人员!')
+      }
+      if(this.list.some(v=>v.children.length==0)){
+        return this.$Message.warning('请确认包装数据!')
+      }
+      if(this.list.some(v=>v.children.some(m=>m.box_num<=0))){
+        return this.$Message.warning('请确认包装数量!')
+      }
+      this.list.forEach((b,bindex)=>{
+        let box_orders = {
+          box_time: new Date(Date.parse(b.box_time)).toISOString(),
+          created_by: null,
+          created_date: null,
+          defective_order_no: null,
+          ...this.employee,
+          last_modified_by: null,
+          last_modified_date: null,
+          query_order_on: b.no,
+          remark:null,
+          site:null,
+          status: "PACKAGED",
+          ...this.team
+        }
+        let box_orders_label_product = [];
+        let box_orders_product = [];
+        let production_orders_dtl = [];
+        b.children.forEach(v=>{
+          let obj = {
+            box_num:v.box_num,
+          brand_code:v.brand_code,
+          brand_code_show:v.brand_code_show,
+          color:v.color,
+          color_code:v.color_code,
+          color_code_two: v.color_code_two,
+          color_two: v.color_two,
+          craft_type_dk: v.carft_type_dk,
+          craft_type_dk_show:v.carft_type_dk_show,
+          customer_name:v.customer_name,
+          customer_no:v.customer_no,
+          dealer_name:v.dealer_name,
+          dealer_no:v.dealer_no,
+          item_num:v.item_num,
+          not_box_num_total: v.not_box_num_total,
+          order_item_id:v.order_item_id,
+          order_item_no:v.order_item_no,
+          order_no:v.order_no,
+          process_code_two: v.process_code_two,
+          process_title:v.process_title,
+          process_title_two:v.process_title_two,
+          product_no:v.product_no,
+          product_size: v.product_size,
+          product_title: v.product_title,
+          product_unit: v.product_unit,
+          product_unit_title: v.product_unit_title,
+          site: null
+          }
+          box_orders_product.push(obj);
+          production_orders_dtl.push(obj);
+          v.new_box_orders_label_producter.forEach(z=>{
+            if(z.loss_num > 0) {
+              box_orders_label_product.push(z)
+            }
+          })
+        })
+        const data = {
+          url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/box_orders/box_orders`,
+          post: {
+            bizId: -1,
+            bizTypeEk: "LOWCODE",
+            data:{
+              box_orders,
+              box_orders_label_product,
+              box_orders_product,
+              production_orders_dtl
+            },
+            dynamicFormId: "474107044420857856",
+            showModelId: "474108545251880960"
+          }
+        }
+        this.$Message.loading({
+          content: '正在上传数据...',
+          duration: 0
+        })
+        this.axios.post('/api/testdwy', { ...data }).then(res => {
+          this.$Message.destroy()
+          if(res.code==200){
+            this.$Message.success(res.msg)
+            if(bindex==this.list.length-1){
+              this.list = [];
+            }
+          }
+        })
+      })
+    },
+    exitFullScreen () {
+      let el = document;
+      let cfs =
+          el.cancelFullScreen ||
+          el.mozCancelFullScreen ||
+          el.msExitFullscreen ||
+          el.webkitExitFullscreen ||
+          el.exitFullscreen;
+      if (cfs) {
+        // typeof cfs != "undefined" && cfs
+        cfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里和fullScreen相同,模拟按下F11键退出全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleBlur () {
+      //00504732303233313032383030383231
+      if(this.order_no) {
+        let order_no = this.list.map(v => v.no)
+        const data = {
+          url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/sale_order/page`,
+          post: {
+            debugFlag: false,
+            developmentSystemId: null,
+            direction: "DESC",
+            dynamicFormCode: "sale_order",
+            dynamicFormTable: null,
+            fromClientType: "pc",
+            ignoreField: true,
+            number: 0,
+            property: "id",
+            rules: [{
+              field: "exe_sale_order_b.no",
+              option: "LIKE_ANYWHERE",
+              values: [this.order_no]
+            }],
+            size: 999,
+            sorts: [],
+            specialConditions: [],
+            workflowSearchBean: {}
+          }
+        }
+        this.axios.post('/api/testdwy', { ...data }).then(res => {
+          if(res.data.content.length!=0&&order_no.indexOf(res.data.content[0].exe_sale_order_b.no)==-1){
+            res.data.content.forEach((v,idx)=>{
+              v.item_num = idx + 1;
+              v.product_no = v.material_code;
+              v.product_title = v.material_code_show;
+              v.process_code= v.craft_type_code;
+              v.color_code= v.decor_model;
+              v.process_code_two= v.craft_type_two_code;
+              v.color_code_two= v.decor_two_model;
+              v.process_title= v.craft_type_code_show;
+              v.color= v.decor_code_show;
+              v.process_title_two= v.craft_type_two_code_show;
+              v.color_two= v.decor_two_code_show;
+              v.product_size= v.specs;
+              v.product_unit= v.unit_code;
+              v.product_unit_title= v.unit_code_show;
+              v.order_no= v.exe_sale_order_b.no;
+              v.order_item_id= v.id;
+              v.order_item_no= v.item_no;
+              v.customer_no= v.exe_sale_order_b.customer_code;
+              v.customer_name= v.exe_sale_order_b.customer_code_show;
+              v.dealer_no= v.exe_sale_order_b.jingxiaoshang;
+              v.dealer_name= v.exe_sale_order_b.jingxiaoshang_show;
+              v.brand_code= v.prod_trademark_compare_c.brand_code;
+              v.brand_code_show= v.prod_trademark_compare_c.brand_code_show;
+              v.site= null;
+              v.box_num = v.not_box_num_total;
+              v.not_box_num_total = v.box_num;
+              v.new_box_orders_label_producter = [];
+              let brand_code_list = v.prod_trademark_compare_c.brand_code.split(",");
+              let brand_code_show_list = v.prod_trademark_compare_c.brand_code_show.split("$$$");
+              brand_code_list.forEach((x,indx)=>{
+                let a = {
+                  item_num: v.item_num,
+                  product_no: x,
+                  product_title: brand_code_show_list[indx],
+                  product_size: v.specs,
+                  product_unit: v.unit_code,
+                  product_unit_title: v.unit_code_show,
+                  order_no: v.exe_sale_order_b.no,
+                  order_item_id: v.id,
+                  order_item_no: v.item_no,
+                  site: null,
+                  not_box_num_total : v.not_box_num_total,
+                  loss_num:''
+                }
+                v.new_box_orders_label_producter.push(a);
+              })
+            })
+            let obj = {
+              ...res.data.content[0].exe_sale_order_b,
+              box_time:new Date(),
+              children: res.data.content
+            }
+            obj.no = res.data.content[0].exe_sale_order_b.no;
+            this.list.push(obj)
+            console.log(this.list)
+            this.order_no = ''
+          }else {
+            this.order_no = ''
+          }
+        })
+      }
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.bdy{
+  height: calc(100% - 6rem);
+  overflow: auto;
+  &::-webkit-scrollbar{
+    width: 1px;
+  }
+  .item{
+    width: 98%;
+    display: flex;
+    flex-wrap: wrap;
+    margin: 0 1% 1% 1%;
+    border-radius: 20px;
+    background-color: #2A4470;
+    position: relative;
+    .itemmingxi{
+      width: 98%;
+      margin: 0 1% 1% 1%;
+      display: flex;
+      flex-wrap: wrap;
+      background-color: #012248;
+      border-radius: 20px;
+      position: relative;
+      div{
+        color: #FFFFFF;
+        width: 22%;
+        margin: 1%;
+        label{
+          width: 6rem;
+          text-align: right;
+        }
+      }
+    }
+    .it_ti{
+      color: #FFFFFF;
+      width: 22%;
+      display: flex;
+      align-items: center;
+      margin: 1%;
+      label{
+        width: 6rem;
+        text-align: right;
+      }
+    }
+  }
+}
+::v-deep .ivu-form-item-label{
+  color: #FFFFFF !important;
+  font-size: 1.3rem;
+}
+::v-deep .ivu-divider-inner-text{
+  color: #FFFFFF;
+}
+::v-deep .ivu-divider{
+  margin: 2px 0;
+}
+</style>

+ 544 - 0
src/views/chipQualityTesting.vue

@@ -0,0 +1,544 @@
+<template>
+  <div style="width: 100vw;height: 100vh">
+    <div style="display: flex;justify-content: center;align-items: center;padding-top: 1rem;position: relative">
+      <div style="position: absolute;top: .2rem;left: 1rem;color: #FFFFFF;font-weight: bold;font-size: 3rem;letter-spacing: 1rem">质检屏</div>
+      <Form :label-width="150"
+            @submit.native.prevent
+            @keyup.enter.native="handleBlur">
+        <FormItem label="派工单号:">
+          <Input clearable placeholder="扫码填入" style="width: 25rem" v-model="order_no" size="large"/>
+        </FormItem>
+      </Form>
+      <div style="position: absolute;top:1.1rem;right: 0">
+        <Button
+            @click="handleFullScreenClick"
+            size="large"
+            id="full_screen_btn"
+            type="primary"
+            style="margin-right: 1rem"
+        >
+          {{ isFullScreen ? "收  缩" : "全  屏" }}
+        </Button>
+        <Button type="primary" style="margin-right: 1rem" size="large" @click="handleSure">确认</Button>
+        <Button size="large" style="margin-right: 1rem" @click="handleReturn">返回</Button>
+      </div>
+    </div>
+    <div class="bdy" :style="show?{'position':'relative','top':'-200px'}:{}">
+      <div v-for="(item,index) in list" :key="index" class="item">
+        <div style="position:absolute;width: 2.4rem;height: 2.4rem;top: 0px;right:0px;border-radius: 50%;background-color: red;color: #FFFFFF;text-align: center;line-height: 1.6;font-size: 1.6rem" @click="handleDel(index)">X</div>
+        <div class="it_ti"><label>派工单号:</label><span>{{item.dispatch_order_no}}</span></div>
+        <div class="it_ti"><label>质检时间:</label><DatePicker type="date" v-model="item.quality_time" style="width: 200px" placeholder="请选择"></DatePicker></div>
+        <div class="it_ti"><label>质检工序:</label><Select filterable clearable v-model="item.process_id" style="width: 200px" transfer>
+          <Option v-for="itm in processList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+        </Select></div>
+        <div class="it_ti"><label>质检班组:</label><Select v-model="item.team_id" clearable filterable style="width: 200px" transfer>
+          <Option v-for="itm in teamList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+        </Select></div>
+        <div class="it_ti"><label>质检人员:</label><Select multiple v-model="item.employee_id" clearable filterable style="width: 200px" transfer @on-change="handleChangeEmp">
+          <Option v-for="itm in employeeList" :key="itm.id" :value="itm.value" :label="itm.text"/>
+        </Select></div>
+        <Divider>产品明细</Divider>
+        <div v-for="(_item,_index) in item.children" :key="_index" class="itemmingxi">
+          <div style="position:absolute;width: 2rem;height: 2rem;top: -.4rem;right:-.4rem;border-radius: 50%;background-color: #c91d31;color: #FFFFFF;text-align: center;line-height: .6;font-size: 2.5rem" @click="handleDelItem(index,_index)">-</div>
+          <div><label>销售订单号:</label><span>{{_item.order_no}}</span></div>
+          <div><label>经销商名称:</label><span>{{_item.dealer_name}}</span></div>
+          <div><label>产品编码:</label><span>{{_item.product_no}}</span></div>
+          <div style="display: flex"><span>产品名称:</span><span style="width: 200px">{{_item.product_title}}</span></div>
+          <div style="display: flex"><label>规格型号:</label><span>{{_item.product_size}}</span></div>
+          <div><label>计量单位:</label><span>{{ _item.product_unit_title }}</span></div>
+          <div><label>工艺名称1:</label><span>{{_item.in_process_title}}</span></div>
+          <div><label>花色名称1:</label><span>{{_item.in_color}}</span></div>
+          <div><label>工艺名称2:</label><span>{{_item.in_process_title_two}}</span></div>
+          <div><label>花色名称2:</label><span>{{_item.in_color_two}}</span></div>
+          <div><label>工艺类型:</label><span>{{_item.craft_type_dk_show}}</span></div>
+          <div><label>完工数量:</label><span>{{_item.finished_num}}</span></div>
+          <div><label>完工单号:</label><span>{{_item.completion_order_no }}</span></div>
+          <div><label>完工工序:</label><span>{{_item.completion_orders.process_id_show + '-' +_item.completion_orders.process_id}}</span></div>
+          <div><label>完工班组:</label><span>{{_item.completion_orders.team_id_show + '-' + _item.completion_orders.team_id}}</span></div>
+          <div><label>完工设备:</label><span>{{_item.completion_orders.equipment_id_show+ '-' + _item.completion_orders.equipment_id }}</span></div>
+          <div><label>完工人员:</label><span>{{_item.employee_id_show?_item.employee_id_show+'-'+_item.employee_id :'暂无数据'}}</span></div>
+          <div><label>未质检数量:</label><span>{{_item.not_quality_num}}</span></div>
+          <div><label>合格数量:</label><Input v-model="_item.quality_num" style="width: 200px;" placeholder="请输入" @on-focus="handlefocus(index,_index,1)"/></div>
+          <div><label>不良品数量:</label><Input v-model="_item.defective_num" style="width: 200px;" placeholder="请输入" @on-focus="handlefocus(index,_index,2)"/></div>
+        </div>
+      </div>
+    </div>
+    <van-number-keyboard
+        :show="show"
+        theme="custom"
+        extra-key="."
+        close-button-text="完成"
+        @blur="handleonBlur"
+        @input="onInput"
+        @delete="onDelete"
+    />
+  </div>
+</template>
+<script>
+export default {
+  data () {
+    return{
+      sort:0,
+      isFullScreen: false,
+      show:false,
+      list:[],
+      order_no:'',
+      teamList:[],
+      equipmentList:[],
+      employeeList:[],
+      processList:[],
+      employee:{
+        employee_id:null,
+        employee_id_show:null
+      }
+    }
+  },
+  created () {
+    if(!localStorage.getItem('dwy_url')){
+      this.$router.push('/cms/chipScreen')
+    }
+    //获取工序
+    const data4={
+      url:`${localStorage.getItem('dwy_url')}jbl/api/module-data/process_dossier_code/page`,
+      post: {
+        direction: "DESC",
+        fromClientType: "pc",
+        ignoreField: true,
+        number: 0,
+        property: "id",
+        rules: [],
+        size: 999,
+        specialConditions: [],
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data4 }).then(res => {
+      this.processList = res.data.content
+      this.processList.forEach(v => {
+        v.value = v.process_code
+        v.text = v.title
+      })
+    })
+    // 获取设备
+    const data1 = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/device_list/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "dynamicFormCode": "device",
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data1 }).then(res => {
+      this.equipmentList = res.data.content.filter(v => v.status)
+      this.equipmentList.forEach(v => {
+        v.value = v.device_code
+        v.text = v.title
+      })
+    })
+    // 获取班组
+    const data = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/team_list/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "dynamicFormCode": "team",
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data }).then(res => {
+      this.teamList = res.data.content.filter(v => v.status)
+      this.teamList.forEach(v => {
+        v.value = v.team_code
+        v.text = v.title
+      })
+    })
+    // 获取人员
+    const data3 = {
+      url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/team_code_btn/page`,
+      post: {
+        "direction": "DESC",
+        "property": "id",
+        "fromClientType": "pc",
+        "number": 0,
+        "sorts": [],
+        "rules": [],
+        "size": 999,
+        "specialConditions": [],
+        "workflowSearchBean": {},
+        "dynamicFormCode": "person",
+        "dynamicFormTable": null,
+        "ignoreField": true,
+        "developmentSystemId": null,
+        "debugFlag": true
+      }
+    }
+    this.axios.post('/api/testdwy', { ...data3 }).then(res => {
+      this.employeeList = res.data.content
+      this.employeeList.forEach(v => {
+        v.value = v.no
+        v.text = v.name
+      })
+    })
+  },
+  methods: {
+    handleChangeEmp(e){
+      if(e.length!=0){
+        let employee_id = e.toString();
+        let employee_id_show = '';
+        e.forEach((v,idx)=>{
+          let text = this.employeeList.find(c=>c.value==v).text;
+          if(idx==0){
+            employee_id_show = text
+          }else {
+            employee_id_show += '$$$' + text
+          }
+        })
+        this.employee = {
+          employee_id,
+          employee_id_show
+        }
+      }else {
+        this.employee = {
+          employee_id_show: null,
+          employee_id: null
+        }
+      }
+    },
+    handlefocus(index,_index,sort){
+      this.chooseIndex=index;
+      this.itemIndex= _index;
+      this.sort=sort;
+      this.show=true;
+    },
+    onInput (value) {
+      if(this.sort==1){
+        this.list[this.chooseIndex].children[this.itemIndex].quality_num = this.list[this.chooseIndex].children[this.itemIndex].quality_num + '' + value
+      }else {
+        this.list[this.chooseIndex].children[this.itemIndex].defective_num = this.list[this.chooseIndex].children[this.itemIndex].defective_num + '' + value
+      }
+
+    },
+    onDelete () {
+      if(this.sort==1){
+        this.list[this.chooseIndex].children[this.itemIndex].quality_num += ''
+        this.list[this.chooseIndex].children[this.itemIndex].quality_num = this.list[this.chooseIndex].children[this.itemIndex].quality_num.substring(0, this.list[this.chooseIndex].children[this.itemIndex].quality_num.length - 1)
+      }else {
+        this.list[this.chooseIndex].children[this.itemIndex].defective_num += ''
+        this.list[this.chooseIndex].children[this.itemIndex].defective_num = this.list[this.chooseIndex].children[this.itemIndex].defective_num.substring(0, this.list[this.chooseIndex].children[this.itemIndex].defective_num.length - 1)
+      }
+    },
+    handleonBlur () {
+      this.show = false
+    },
+    handleDelItem(index,_index){
+      this.list[index].children.splice(_index,1)
+    },
+    handleDel(index){
+      this.list.splice(index,1)
+    },
+    handleReturn () {
+      if (this.isFullScreen) {
+        this.handleFullScreenClick()
+      }
+      this.$router.go(-1);
+    },
+    handleFullScreenClick () {
+      this.isFullScreen = !this.isFullScreen;
+      if (this.isFullScreen) {
+        this.enterFullScreen();
+      } else {
+        this.exitFullScreen();
+      }
+    },
+    enterFullScreen () {
+      let el = document.documentElement;
+      let rfs =
+          el.requestFullScreen ||
+          el.webkitRequestFullScreen ||
+          el.mozRequestFullScreen ||
+          el.msRequestFullscreen;
+      if (rfs) {
+        rfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleSure () {
+      new Promise((resolve,reject) => {
+        this.list.forEach(v=>{
+          v.children.forEach(c=>{
+            if(c.not_quality_num*1<c.quality_num*1+c.defective_num*1||c.not_quality_num*1==0){
+              resolve()
+            }else{
+               reject()
+            }
+          })
+        })
+      }).then(res=>{
+        return this.$Message.warning('合格数量加不良品数量不能超过未质检数量且数量不等于0!')
+      }).catch(()=>{
+        this.list.forEach((b,bindex)=>{
+          let quality_orders = {
+            quality_order_no:null,
+            quality_time: new Date(Date.parse(b.completion_time)).toISOString(),
+              created_by: null,
+              created_date: null,
+              dispatch_order_no: b.dispatch_no,
+              ...this.employee,
+             last_modified_by: null,
+              last_modified_date: null,
+              process_id:b.process_id,
+              process_id_show:this.processList.find(v=>v.value==b.process_id)?this.processList.find(v=>v.value==b.process_id).text:null,
+              remark:b.remark,
+              site:null,
+              tag:null,
+              team_id:b.team_id,
+              team_id_show:this.teamList.find(v=>v.value==b.team_id)?this.teamList.find(v=>v.value==b.team_id).text:null
+            }
+          let quality_orders_dtl = [];
+          b.children.forEach(v=>{
+            let obj = {
+              item_num: v.item_num,
+              product_no: v.product_no,
+              in_product_tile: v.in_product_tile,
+              in_process_title: v.in_process_title,
+              in_color: v.in_color,
+              in_process_title_two: v.in_process_title_two,
+              in_color_two: v.in_color_two,
+              product_size: v.product_size,
+              product_unit: v.product_unit,
+              product_unit_title: v.product_unit_title,
+              finished_num: v.finished_num,
+              dispatch_num: v.dispatch_num,
+              production_num: v.production_num,
+              production_no: v.production_no,
+              production_item_id: v.production_item_id,
+              production_item_no: v.production_item_no,
+              dispatch_order_no: v.dispatch_order_no,
+              dispatch_item_id: v.dispatch_item_id,
+              dispatch_item_no: v.dispatch_item_no,
+              process_router_id: v.process_router_id,
+              process_router_id_show: v.process_router_id_show,
+              order_no: v.order_no,
+              order_item_id: v.order_item_id,
+              order_item_no: v.order_item_no,
+              customer_no: v.customer_no,
+              customer_name: v.customer_name,
+              dealer_no: v.dealer_no,
+              dealer_name: v.dealer_name,
+              product_title: v.product_title,
+              process_code: v.process_code,
+              color_code: v.color_code,
+              process_code_two: v.process_code_two,
+              color_code_two: v.color_code_two,
+              process_title: v.process_title,
+              color: v.color,
+              process_title_two: v.process_title_two,
+              color_two: v.color_two,
+              craft_type_dk: v.craft_type_dk,
+              craft_type_dk_show: v.craft_type_dk_show,
+              mat_type: v.mat_type,
+              completion_order_no: v.completion_order_no,
+              completion_item_id: v.completion_item_id,
+              completion_item_no: v.completion_item_no,
+              completion_process_id: v.completion_process_id,
+              completion_process_id_show: v.completion_process_id,
+              completion_team_id: v.completion_team_id,
+              completion_team_id_show: v.completion_team_id_show,
+              completion_equipment_id: v.completion_equipment_id,
+              completion_equipment_id_show: v.completion_equipment_id_show,
+              completion_employee_id: v.completion_employee_id,
+              completion_employee_id_show: v.completion_employee_id_show,
+              quality_num: v.quality_num,
+              not_quality_num: v.not_quality_num,
+              defective_num: v.defective_num,
+              site: null
+            };
+            quality_orders_dtl.push(obj);
+          })
+          const data = {
+              url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/quality_orders/quality_orders`,
+              post: {
+                bizId: -1,
+                bizTypeEk: "LOWCODE",
+                data:{
+                  quality_orders_dtl,
+                  quality_orders
+                },
+                dynamicFormId: "494714560310419456",
+                showModelId: "494720843218427906"
+              }
+            }
+          this.axios.post('/api/testdwy', { ...data }).then(req => {
+            if(req.code==200){
+              this.$Message.success(req.msg)
+              if(bindex==this.list.length-1){
+                this.list = [];
+              }
+            }
+          })
+        })
+      })
+    },
+    exitFullScreen () {
+      let el = document;
+      let cfs =
+          el.cancelFullScreen ||
+          el.mozCancelFullScreen ||
+          el.msExitFullscreen ||
+          el.webkitExitFullscreen ||
+          el.exitFullscreen;
+      if (cfs) {
+        // typeof cfs != "undefined" && cfs
+        cfs.call(el);
+      } else if (typeof window.ActiveXObject !== "undefined") {
+        // for IE,这里和fullScreen相同,模拟按下F11键退出全屏
+        let wscript = new ActiveXObject("WScript.Shell");
+        if (wscript != null) {
+          wscript.SendKeys("{F11}");
+        }
+      }
+    },
+    handleBlur (e) {
+      if (this.order_no) {
+        let no = this.func.hexToString(e.target.value)
+        let order_no = this.list.map(v => v.dispatch_order_no)
+        const data = {
+          url: `${localStorage.getItem('dwy_url')}jbl/api/module-data/completion_orders/page`,
+          post: {
+            debugFlag: false,
+            developmentSystemId: null,
+            direction: "DESC",
+            dynamicFormCode: "completion_orders",
+            dynamicFormTable: null,
+            fromClientType: "pc",
+            ignoreField: true,
+            number: 0,
+            property: "id",
+            rules: [{
+              field: "dispatch_order_no",
+              option: "LIKE_ANYWHERE",
+              values: [no]
+            }, {
+              field: "completion_orders.completion_type",
+              option: "EQ",
+              values: ["COMPLETION_AFTER_QUALITY"]
+            }],
+            size: 999,
+            sorts: [],
+            specialConditions: [],
+            workflowSearchBean: {}
+          }
+        }
+        this.axios.post('/api/testdwy', { ...data }).then(res => {
+          if(res.data.content.length!=0&&order_no.indexOf(res.data.content[0].dispatch_order_no)==-1) {
+            res.data.content.forEach((v,idx) => {
+              v.completion_order_no = v.completion_orders.completion_order_no
+              v.quality_num= v.finished_num-(v.quality_num ? v.quality_num : '0');
+              v.not_quality_num= v.quality_num;
+              v.defective_num = 0;
+              v.item_num = idx+1;
+              v.completion_item_id= v.id;
+              v.completion_item_no= v.item_num;
+              v.completion_process_id= v.completion_orders.process_id;
+              v.completion_process_id_show= v.completion_orders.process_id_show;
+              v.completion_team_id= v.completion_orders.team_id;
+              v.completion_team_id_show= v.completion_orders.team_id_show;
+              v.completion_equipment_id= v.completion_orders.equipment_id;
+              v.completion_equipment_id_show= v.completion_orders.equipment_id_show;
+              v.completion_employee_id= v.completion_orders.employee_id;
+              v.completion_employee_id_show= v.completion_orders.employee_id_show;
+              v.site= null
+            })
+            res.data.content[0].completion_orders.quality_time = new Date()
+            let obj = {
+              ...res.data.content[0].completion_orders,
+              children: res.data.content
+            }
+            obj.dispatch_order_no = res.data.content[0].dispatch_order_no;
+            this.list.push(obj)
+            this.order_no = ''
+          }else {
+            this.order_no =''
+          }
+        })
+      }
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.bdy{
+  height: calc(100% - 6rem);
+  overflow: auto;
+  &::-webkit-scrollbar{
+    width: 1px;
+  }
+  .item{
+    width: 98%;
+    display: flex;
+    flex-wrap: wrap;
+    margin: 0 1% 1% 1%;
+    border-radius: 20px;
+    background-color: #2A4470;
+    position: relative;
+    .itemmingxi{
+      width: 98%;
+      margin: 0 1% 1% 1%;
+      display: flex;
+      flex-wrap: wrap;
+      background-color: #012248;
+      border-radius: 20px;
+      position: relative;
+      div{
+        color: #FFFFFF;
+        width: 22%;
+        margin: 1%;
+        label{
+          width: 6rem;
+          text-align: right;
+        }
+      }
+    }
+    .it_ti{
+      color: #FFFFFF;
+      width: 22%;
+      display: flex;
+      align-items: center;
+      margin: 1%;
+      label{
+        width: 6rem;
+        text-align: right;
+      }
+    }
+  }
+}
+::v-deep .ivu-form-item-label{
+  color: #FFFFFF !important;
+  font-size: 1.3rem;
+}
+::v-deep .ivu-divider-inner-text{
+  color: #FFFFFF;
+}
+::v-deep .ivu-divider{
+  margin: 2px 0;
+}
+</style>

+ 70 - 0
src/views/chipScreen.vue

@@ -0,0 +1,70 @@
+<template>
+  <div style="height: 100vh">
+    <div class="bdy">
+      <div @click="handleGo(1)">完工</div>
+      <div @click="handleGo(2)">质检</div>
+      <div @click="handleGo(3)">包装</div>
+      <div @click="handleGo(4)">包装打印</div>
+    </div>
+  </div>
+</template>
+<script>
+document.title = '工位屏'
+
+export default {
+  data () {
+    return {
+    }
+  },
+  created () {
+    console.log(this.$route.query);
+    let info = JSON.parse(JSON.stringify(this.$route.query));
+    if(!info.Authorization||!info.site){
+      return this.$Message.warning({content:'请联系开发者,缺少站点和人员信息!',duration:0,closable:true})
+    }
+    let site = {site:info.site};
+    let token = info.Authorization;
+    let url = info.systemType=='prod'?'http://122.112.250.253:7774/':info.systemType=='test'?'http://121.36.142.167:7774/':''
+    localStorage.setItem('site',JSON.stringify(site))
+    localStorage.setItem('token',token)
+    localStorage.setItem('dwy_url',url);
+  },
+  methods: {
+    handleGo(type){
+switch (type){
+  case 1:
+    this.$router.push('/cms/chipFinish')
+    break;
+  case 2:
+    this.$router.push('/cms/chipQualityTesting')
+    break;
+  case 3:
+    this.$router.push('/cms/chipPackage')
+    break;
+    case 4:
+      this.$router.push('/cms/chipBoxOrder')
+      break;
+}
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.bdy{
+  display: flex;
+  flex-wrap: wrap;
+  overflow: auto;
+  div{
+    width: 30%;
+    height: 20vh;
+    color: #FFFFFF;
+    border: 1px solid;
+    margin: 10vh 10%;
+    display: flex;
+    border-radius: 20px;
+    justify-content: center;
+    align-items: center;
+    font-size: 40px;
+  }
+}
+</style>

+ 14 - 4
src/views/cms.vue

@@ -56,6 +56,7 @@
       <div style="text-align: center">
         <Button type="primary" style="height: 4rem;width: 8rem" @click="handleGO">{{ !qrState ? "扫码枪扫描" : "停止扫描"
         }}</Button>
+        <Button type="primary" style="height: 4rem;width: 8rem;margin-left:1rem" @click="handleGODel">清空扫描</Button>
         <!--        <Button type="primary" style="height: 4rem" @click="handleGoQr"-->
         <!--          >二维码扫描</Button-->
         <!--        >-->
@@ -86,6 +87,15 @@ export default {
         this.target.push(JSON.stringify(e));
       }
     },
+    handleGODel(){
+      const url = ['/cms/finish/detail', '/cms/dispatch/detail', '/cms/Inventory/detail']
+      if (url.indexOf(this.$route.path) !== -1) {
+          localStorage.removeItem('fyy_target')
+        localStorage.removeItem('text')
+          this.is_show = false;
+          this.$router.replace('/cms/refresh')
+        }
+    },
     handleGO () {
       const url = ['/cms/finish/detail', '/cms/dispatch/detail', '/cms/Inventory/detail']
       if (url.indexOf(this.$route.path) !== -1) {
@@ -180,20 +190,20 @@ export default {
   z-index: 2;
 }
 
-/deep/.ivu-modal {
+::v-deep.ivu-modal {
   top: 40%;
   //width: 8rem !important;
   //left: 50%;
   //transform: translate(-50%, -50%);
   //margin: 0;
 }
-/deep/.ivu-modal-content{
+::v-deep.ivu-modal-content{
   background-color:transparent !important;
 }
-/deep/.ivu-modal-body{
+::v-deep.ivu-modal-body{
   padding: 0;
 }
-/deep/.ivu-btn-primary{
+::v-deep.ivu-btn-primary{
   background-color: #0f4680;
 }
 </style>

+ 76 - 0
src/views/inOut.vue

@@ -0,0 +1,76 @@
+<template>
+  <div style="height: 100vh;padding: 20px">
+    <div style="display: flex;justify-content: space-between;border: 1px solid #FFFFFF;color: #FFFFFF;padding: 15px;font-size: 20px;font-weight: bold;text-align: center;border-radius: 20px">
+      <div style="width: 20%">单号</div>
+      <div style="width: 30%">客户</div>
+      <div style="width: 10%">数量</div>
+      <div style="width: 20%">类型</div>
+      <div style="width: 20%">时间</div>
+    </div>
+    <div style="height: calc(100% - 60px);" id="dy">
+      <div v-for="(item,index) in list" :key="index" style="margin-top:20px;display: flex;justify-content: space-between;border: 1px solid #FFFFFF;color: #FFFFFF;padding: 15px;font-size: 20px;font-weight: bold;text-align: center;border-radius: 20px" >
+        <div style="width: 20%">{{item.order_no}}</div>
+        <div style="width: 30%">{{item.project}}</div>
+        <div style="width: 10%">{{item.num}}</div>
+        <div style="width: 20%" :class="item.type=='出库'?'isred':'isg'">{{item.type}}</div>
+        <div style="width: 20%">{{item['时间']}}</div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+document.title = '出入库'
+
+export default {
+  data () {
+    return {
+      list:[],
+      time:null,
+    }
+  },
+  created () {
+  },
+  mounted () {
+    this.time = setInterval(()=>{
+      this.initData();
+    },3000)
+  },
+  destroyed () {
+    clearInterval(this.time)
+  },
+  methods: {
+    initData(){
+      this.axios.post('/api/testdwyget', {url: 'http://clouddevice.qingyaokeji.com/api/inout'}).then(res => {
+        if(res.data.data.length!=0){
+          this.list.unshift(res.data.data)
+          // var element = document.getElementById("dy");
+          // element.classList.add("dong");
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+@keyframes example {
+  from {left: 600px}
+  to {left: 0px}
+}
+.isred{
+  color: red;
+}
+.isg{
+  color: #00ff33;
+}
+#dy{
+  overflow: auto;
+}
+#dy::-webkit-scrollbar{
+  width: 1px;
+}
+.dong:first-child{
+  position: relative;
+  animation-name: example;
+  animation-duration: .9s;
+}
+</style>

+ 343 - 86
src/views/page/Dispatch/detail.vue

@@ -14,24 +14,24 @@ color: #ABDFFF;">展开</div>
             <img style="width: 0.41rem;height: 0.69rem;" src="../../../assets/home/zk.png" alt="">
           </div>
           <div v-if="is_show" class="pack_up_con">
-            <p class="pack_up_name">王晓伟</p>
+            <p class="pack_up_name">{{name}}</p>
             <div class="pack_up_grid">
               <div>
-                <p>产品总数</p>
-                <div><span>{{ total_num }}</span><span></span></div>
+                <p>预发总数</p>
+                <div><span>{{ total_num }}</span><span></span></div>
               </div>
               <div>
                 <p>已扫总数</p>
-                <div><span>{{ scan_num }}</span><span></span></div>
+                <div><span>{{ scan_num }}</span><span></span></div>
               </div>
               <div>
                 <p>未扫总数</p>
-                <div><span>{{ total_num - scan_num }}</span><span>件</span></div>
+                <div><span>{{ total_num - scan_num }}</span><span>张</span></div>
+              </div>
+              <div @click="handleErrorShow">
+                <p>异常总数</p>
+                <div><span style="color:red !important;">{{error_num}}</span><span>张</span></div>
               </div>
-              <!-- <div>
-                <p>包装件数</p>
-                <div><span>1245</span><span>件</span></div>
-              </div> -->
             </div>
           </div>
         </div>
@@ -50,11 +50,11 @@ color: #ABDFFF;">展开</div>
             <div class="secd_flex_w">
               <div class="secd_flex_s">
                 <span>已扫到数量:</span>
-                <span>{{ item.out_qty }}</span>
+                <span>{{ item.out_qty }}</span>
               </div>
               <div class="secd_flex_s">
                 <span>未发货数量:</span>
-                <span>{{ item.this_delivery_qty  }}</span>
+                <span>{{ item.this_delivery_qty  }}</span>
               </div>
             </div>
           </div>
@@ -71,12 +71,113 @@ color: #ABDFFF;">展开</div>
         <div class="footer">
 
           <div class="return_btn" @click="handleReturn">返回</div>
-          <div class="confirm_btn" @click="handelGoSure">确认</div>
+          <div class="confirm_btn" @click="handleSureClick">确认</div>
         </div>
       </div>
     </div>
-
-
+    <Modal
+        v-model="is_error"
+        width="80"
+        footer-hide
+        :closable="false"
+        :mask-closable="false"
+    >
+      <div style="font-size: 1.2rem; font-weight: bold;">异常数据</div>
+      <div style="height: 50vh;overflow: auto">
+      <Form v-for="(item,index) in error_data" :key="index" :label-width="120" style="width:100%;background-color: rgba(79,97,201,0.21);border-radius: 1rem;margin: .7rem 0">
+        <FormItem label="包装单号:" style="margin-bottom: .2rem !important;">
+          <span>{{item.box_no}}</span>
+        </FormItem>
+        <FormItem label="订单号:" style="margin-bottom: .2rem !important;">
+          <span>{{item.order_no}}</span>
+        </FormItem>
+        <FormItem label="客户名称:" style="margin-bottom: .2rem !important;">
+          <span>{{item.box_detail.customer_name}}</span>
+        </FormItem>
+        <FormItem label="产品名称:" style="margin-bottom: .2rem !important;">
+          <span>{{item.box_detail.product_title}}</span>
+        </FormItem>
+        <FormItem label="规格型号:" style="margin-bottom: .2rem !important;">
+          <span>{{item.box_detail.product_size}}</span>
+        </FormItem>
+        <FormItem label="包装数量:" style="margin-bottom: 0">
+          <span>{{item.box_num}}</span>
+        </FormItem>
+      </Form>
+  </div>
+      <div style="text-align: center">
+        <Button
+            style="margin-left: 1rem"
+            type="primary"
+            @click="is_error = false"
+        >返回</Button
+        >
+      </div>
+    </Modal>
+    <Modal
+        v-model="is_modal"
+        width="80"
+        footer-hide
+        :closable="false"
+        :mask-closable="false"
+    >
+      <div style="font-size: 1.2rem; font-weight: bold">物流信息</div>
+      <Form :label-width="120">
+        <FormItem label="司机姓名:">
+          <Input v-model="modalData.carrier" clearable placeholder="请输入司机姓名"/>
+        </FormItem>
+        <FormItem label="司机联系电话:">
+          <Input v-model="modalData.carrier_phone" clearable placeholder="请输入司机联系电话"/>
+        </FormItem>
+        <FormItem label="车牌号码:">
+          <Input clearable placeholder="请输入车牌号码" v-model="modalData.plate_no"/>
+        </FormItem>
+        <FormItem label="司机身份证号码:">
+          <Input clearable placeholder="请输入司机身份证号码" v-model="modalData.id_number"/>
+        </FormItem>
+        <FormItem label="附件">
+          <div class="total_img">
+              <div class="img_content" v-for="(item,index) in modalData.attachment.attachFile" :key="index">
+                <div>{{item.name}}</div>
+                <Icon
+                    size="20"
+                    @click="handleDelet(index)"
+                    class="delete-img"
+                    type="ios-close-circle"
+                />
+              </div>
+              <Upload
+                  multiple
+                  :headers="headers"
+                  v-show="modalData.attachment.attachFile.length!=3"
+                  :show-upload-list="false"
+                  :on-success="(res, file) => handleSuccess(res, file)"
+                  :before-upload="handleError"
+                  :data="imgData"
+                  :action="$store.state.ip + '/api/upload'"
+              >
+                <div class="upd_file">
+                  <Icon type="ios-cloud-upload-outline" class="ico" size="30" />
+                </div>
+              </Upload>
+            </div>
+        </FormItem>
+      </Form>
+      <div style="text-align: center">
+        <Button
+            style="margin-right: 1rem"
+            type="error"
+            @click="is_modal = false"
+        >取消</Button
+        >
+        <Button
+            style="margin-left: 1rem"
+            type="primary"
+            @click="handelGoSure"
+        >确认</Button
+        >
+      </div>
+    </Modal>
   </div>
   <!-- <div>
     <div class="header">
@@ -145,11 +246,27 @@ color: #ABDFFF;">展开</div>
   </div> -->
 </template>
 <script>
-import emitter from 'view-design/src/mixins/emitter'
-
 export default {
-  data() {
+  data () {
     return {
+      imgData: {
+        url: 'http://122.112.250.253:7774/jbl/api/file/upload',
+        header:[]
+      },
+      headers: {},
+      modalData: {
+        carrier: '',
+        carrier_phone: '',
+        plate_no: '',
+        id_number: '',
+        attachment:{
+          attachFile:[]
+        }
+      },
+      is_modal: false,
+      name: '',
+      error_num:0,
+      employee_code: '',
       tableData: [],
       key_tableData: {},
       send_goods_out: {},
@@ -163,10 +280,19 @@ export default {
       detail: {},
       transport_total: 0,
       scan_data: [],
-      new_table_data: []
+      new_table_data: [],
+      state: true,
+      is_error: false,
+      error_data:[],
+      text1:[]
     }
   },
   mounted() {
+    const token = localStorage.getItem('token')
+    const site = JSON.parse(localStorage.getItem('site'))
+    this.imgData.header = [`Authorization:Bearer ${token}`, 'Content-Type:application/json', `Site:${site.site}`]
+    this.name=JSON.parse(localStorage.getItem('userDto')).name
+    this.employee_code = JSON.parse(localStorage.getItem('userDto')).mark1Code
     // if (localStorage.getItem('fyy_target')) {
     //   data.target = JSON.parse(localStorage.getItem('fyy_target'))
     // }
@@ -174,22 +300,61 @@ export default {
     this.tableData = []
     const id = this.$route.query.id
     const data = {
-      url: `http://121.36.142.167:7774/jbl/api/module-data/delivery_note/delivery_note/478838363726815232/${id}`
+      url: `http://122.112.250.253:7774/jbl/api/module-data/delivery_note/delivery_note/478838363726815232/${id}`
       // post: {"direction":"DESC","property":"id","fromClientType":"pc","number":0,"sorts":[],"rules":[{"field":"dispatch_orders.dispatch_no","option":"LIKE_ANYWHERE","values":[v]},{"field":"product_no","option":"LIKE_ANYWHERE","values":["BC030101000001"]}],"size":15,"specialConditions":[],"workflowSearchBean":{},"dynamicFormCode":"dispatch_orders","dynamicFormTable":null,"ignoreField":true,"developmentSystemId":null,"debugFlag":true},
     }
     this.initData(data)
   },
-  methods: {
+  destroyed () {
+    // localStorage.removeItem('text')
+  },
+  methods:{
+    handleErrorShow(){
+      if(this.error_num){
+        this.is_error = true;
+      }
+    },
+    handleDelet(index){
+      this.modalData.attachment.attachFile.splice(index,1);
+    },
+    handleSuccess (res, file) {
+      if (res.code === 200) {
+        res.data.data.name = res.data.data.name.split('/')[ res.data.data.name.split('/').length-1]
+        this.modalData.attachment = {
+          attachFile:[...this.modalData.attachment.attachFile,res.data.data],
+          createdBy: res.data.data.createdBy,
+          createdDate: res.data.data.createdDate,
+          deleted: res.data.data.deleted,
+          id: res.data.data.id,
+          insertCreateBy: null,
+          lastModifiedBy: res.data.data.lastModifiedBy,
+          lastModifiedDate: res.data.data.lastModifiedDate,
+          remark: res.data.data.remark,
+          transport: null
+        }
+      }
+    },
+    handleError (file) {
+      // if (file.size > 3099648) {
+      //   this.$Message.warning('图片文件大小不能超过3mb!')
+      //   return false
+      // }
+    },
     // 原始数据获取
     initData(row) {
       this.axios.post('/api/testdwyget', { ...row }).then(res => {
         // this.tableData.push(...res.data.data.exe_delivery_note_dtl_b);
         this.data = res.data
         this.detail = res.data.data.exe_delivery_note_b
+        console.log(this.detail)
+        this.modalData.attachment = this.detail.attachment?this.detail.attachment:{attachFile: []};
+        this.modalData.id_number = this.detail.id_number;
+        this.modalData.carrier = this.detail.carrier;
+        this.modalData.carrier_phone = this.detail.carrier_phone;
+        this.modalData.plate_no = this.detail.plate_no;
         res.data.data.exe_delivery_note_dtl_b.forEach((element, index) => {
           element.out_qty = 0
           element.product_code = element.material_code
-
           this.total_num = this.total_num + element.this_delivery_qty
           // this.transport_total = this.transport_total + element.out_qty
           let product_key = this.deelUniqueProductKey(element)
@@ -216,12 +381,20 @@ export default {
           })
         //   // console.log(text)
         }
+        let text1 = localStorage.getItem('text') ? JSON.parse(localStorage.getItem('text')) : []
+        text.forEach(v => {
+          if (text1.indexOf(v) === -1) {
+            text1.push(v)
+          }
+        })
+        localStorage.setItem('text', JSON.stringify(text1));
+        text1 = ['BZ00280','BZ00281']
         const dataBox = {
-          url: 'http://121.36.142.167:7774/jbl/api/module-data/box_orders/box_orders/diy/defective_order_no_list',
-          post: { "defective_order_no_list":text}
+          url: 'http://122.112.250.253:7774/jbl/api/module-data/box_orders/box_orders/diy/defective_order_no_list',
+          post: { "defective_order_no_list":text1}
         }
         // const dataBox = {
-        //   url: 'http://121.36.142.167:7774/jbl/api/module-data/box_orders/box_orders/diy/defective_order_no_list',
+        //   url: 'http://122.112.250.253:7774/jbl/api/module-data/box_orders/box_orders/diy/defective_order_no_list',
         //   post: { "defective_order_no_list":['BZ00025']}
         // }
         this.initDataBox(dataBox)
@@ -230,6 +403,8 @@ export default {
     // 扫描数据获取
     initDataBox (row) {
       this.$Message.warning(row.post["defective_order_no_list"].toString())
+      this.text1 = row.post["defective_order_no_list"];
+      console.log(this.text1)
       this.axios.post('/api/testdwy', { ...row }).then(res => {
         if (res.code == 200) {
           this.$Message.success('请求成功!')
@@ -267,21 +442,29 @@ export default {
     deelTableData() {
       // let new_table_data = [];
       // let is_scan_key = {};
+      this.error_data = []
       this.scan_data.forEach((element, index) => {
-        if (Object.keys(this.key_tableData).indexOf(this.deelUniqueProductKey(element)) !== -1 && (this.key_tableData[this.deelUniqueProductKey(element)].this_delivery_qty - element.box_num) >= 0) {
-           let table_data_detail = JSON.parse(JSON.stringify(this.key_tableData[this.deelUniqueProductKey(element)]))
+        // console.log(element,1)
+        // console.log(this.key_tableData,2)
+        // console.log(this.deelUniqueProductKey(element),3)
+        if (element.order_no==this.detail.order_no&&Object.keys(this.key_tableData).indexOf(this.deelUniqueProductKey(element)) !== -1 && (this.key_tableData[this.deelUniqueProductKey(element)].this_delivery_qty - element.box_num) >= 0) {
+          let table_data_detail = JSON.parse(JSON.stringify(this.key_tableData[this.deelUniqueProductKey(element)]))
           table_data_detail.box_orders = element.box_id
           table_data_detail.box_orders_show = element.box_no
           table_data_detail.box_detail = element.box_detail
           table_data_detail.this_delivery_qty = element.box_num
           table_data_detail.out_qty = element.box_num
           this.key_tableData[this.deelUniqueProductKey(element)].this_delivery_qty -= element.box_num*1
-          this.key_tableData[this.deelUniqueProductKey(element)].out_qty += element.box_num*1
+          this.key_tableData[this.deelUniqueProductKey(element)].out_qty += element.box_num*1;
+          this.scan_num += element.box_num*1
           // is_scan_key[this.deelUniqueProductKey(element)]=1;
           // table_data_detail.this_delivery_qty =  this.key_tableData[this.deelUniqueProductKey(element)].this_delivery_qty;
           table_data_detail.id = null;
 
           this.new_table_data.push(table_data_detail)
+        } else {
+          this.error_data.push(element);
+          this.error_num += element.box_num*1
         }
       })
       // this.tableData.forEach((element, index) => {
@@ -291,11 +474,15 @@ export default {
       // })
       // this.tableData = new_table_data;
     },
+    handleSureClick () {
+      this.is_modal = true
+    },
     handelGoSure () {
       this.tableData.forEach((element, index) => {
         element.item_num = (index + 1)
       })
       const date = new Date()
+      // eslint-disable-next-line camelcase
       const now_time = date.toISOString()
       this.data = {
         // auditInfo: null,
@@ -324,16 +511,17 @@ export default {
         box_title: 'WH05001',
         out_time: now_time,
         out_depart: '481280388644478976',
-        out_employee_id: 'RX0001',
+        out_employee_id: this.employee_code,
         expect_date_delivery: this.detail.expect_date_delivery,
         expect_date_arrival: this.detail.expect_date_arrival,
         delivery_method_dk: this.detail.delivery_method_dk,
         express_company: null,
         express_no: null,
-        carrier: null, //司机姓名
-        carrier_phone: null, //司机电话
-        plate_no: '3',
-        id_number: this.detail.id_number,
+        carrier: this.modalData.carrier, // 司机姓名
+        carrier_phone: this.modalData.carrier_phone, // 司机电话
+        plate_no: this.modalData.plate_no, // 车牌
+        id_number: this.modalData.id_number, // 身份证
+        attachment: this.modalData.attachment,
         area_selection: this.detail.area_selection,
         detailed_address: this.detail.detailed_address,
         contact: this.detail.contact,
@@ -347,7 +535,7 @@ export default {
         in_out_type_show: '成品发货出库',
         box_title_show: '成品仓',
         out_depart_show: '仓储部',
-        out_employee_id_show: '郭银',
+        out_employee_id_show: this.name,
         delivery_method_dk_show: this.detail.delivery_method_dk_show,
         area_selection_show: this.detail.area_selection_show,
 
@@ -366,46 +554,46 @@ export default {
         // status_show: '待审核'
       }
       this.new_table_data.forEach((element,index) =>{
-          // console.log(element)
-          let box_detail = {
-            item_num: (index + 1),
-            product_code: element.box_detail.product_code,
-            product_title: element.box_detail.product_title,
-            product_size: element.box_detail.product_size,
-            product_unit: element.box_detail.product_unit,
-            product_unit_title: element.box_detail.product_unit_title,
-            process_code: element.box_detail.process_code,
-            color_code: element.box_detail.color_code,
-            process_code_two: element.box_detail.process_code_two,
-            color_code_two: element.box_detail.color_code_two,
-            process_title: element.box_detail.process_title,
-            color: element.box_detail.color,
-            process_title_two: element.box_detail.process_title_two,
-            color_two: element.box_detail.color_two,
-            bus_no: this.detail.no,
-            bus_id: element.bus_id,
-            bus_item_id: element.bus_item_id,
-            bus_item_no: element.item_no,
-            order_no: element.box_detail.order_no,
-            out_qty: element.out_qty,
-            this_delivery_qty: element.out_qty,
-            order_item_id: element.order_item_id,
-            unit_price: element.unit_price,
-            site: null,
-            customer_name: element.box_detail.customer_name,
-            customer_no: element.box_detail.customer_no,
-            dealer_name: element.box_detail.dealer_name,
-            dealer_no: element.box_detail.dealer_no,
-            box_orders: element.box_detail.box_orders.id,
-            box_orders_show: element.box_detail.box_orders.defective_order_no
-            // site_show: element.box_detail.site_show
-            // dynamic_form_value_id: element.box_detail.dynamic_form_value_id,
-            // id: "491138208592306176"
-            // lineId: "29E776DE",
-            // mainKey: "29E776DE",
-            // main_table_id: "491138208583917568",
-            // request_id: null,
-          }
+        // console.log(element)
+        let box_detail = {
+          item_num: (index + 1),
+          product_code: element.box_detail.product_code,
+          product_title: element.box_detail.product_title,
+          product_size: element.box_detail.product_size,
+          product_unit: element.box_detail.product_unit,
+          product_unit_title: element.box_detail.product_unit_title,
+          process_code: element.box_detail.process_code,
+          color_code: element.box_detail.color_code,
+          process_code_two: element.box_detail.process_code_two,
+          color_code_two: element.box_detail.color_code_two,
+          process_title: element.box_detail.process_title,
+          color: element.box_detail.color,
+          process_title_two: element.box_detail.process_title_two,
+          color_two: element.box_detail.color_two,
+          bus_no: this.detail.no,
+          bus_id: element.bus_id,
+          bus_item_id: element.bus_item_id,
+          bus_item_no: element.item_no,
+          order_no: element.box_detail.order_no,
+          out_qty: element.out_qty,
+          this_delivery_qty: element.out_qty,
+          order_item_id: element.order_item_id,
+          unit_price: element.unit_price,
+          site: null,
+          customer_name: element.box_detail.customer_name,
+          customer_no: element.box_detail.customer_no,
+          dealer_name: element.box_detail.dealer_name,
+          dealer_no: element.box_detail.dealer_no,
+          box_orders: element.box_detail.box_orders.id,
+          box_orders_show: element.box_detail.box_orders.defective_order_no
+          // site_show: element.box_detail.site_show
+          // dynamic_form_value_id: element.box_detail.dynamic_form_value_id,
+          // id: "491138208592306176"
+          // lineId: "29E776DE",
+          // mainKey: "29E776DE",
+          // main_table_id: "491138208583917568",
+          // request_id: null,
+        }
         this.data.data.send_goods_out_product.push(box_detail)
       })
       // console.log(this.data)
@@ -413,15 +601,32 @@ export default {
       // this.data.data.send_goods_out = this.tableData
       // this.data.data.send_goods_out_product = this.tableData
       let data = {
-        url: 'http://121.36.142.167:7774/jbl/api/module-data/send_goods_out/send_goods_out',
+        url: 'http://122.112.250.253:7774/jbl/api/module-data/send_goods_out/send_goods_out',
         post: this.data
       }
-      this.axios.post('/api/testdwy', data).then(res => {
-        if (res.code === 200) {
-          this.$Message.success(res.msg)
-          this.$router.go(-1)
+      let data1 ={
+        url: 'http://122.112.250.253:7774/jbl/api/module-data/box_orders/box_orders/diy/update_delivery_status',
+        post: {
+          defective_order_no_list:this.text1
         }
-      })
+      }
+      if(this.state){
+        this.state = false
+        this.axios.post('/api/testdwy', data).then(res => {
+          if (res.code === 200) {
+            this.axios.post('/api/testdwy', data1).then(req=>{
+              if(req.code === 200){
+                this.is_modal = false
+                this.$router.go(-1)
+              }
+            })
+            this.$Message.success(res.msg)
+          }
+          setTimeout(()=>{
+            this.state = true
+          },5000)
+        })
+      }
       // console.log(JSON.stringify(this.data))
     },
     handleReturn() {
@@ -482,9 +687,9 @@ export default {
   font-size: 1.13rem;
   color: #FFFFFF;
   text-shadow: 0px 0px 0px rgba(255, 255, 255, 0.5);
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
+  //white-space: nowrap;
+  //overflow: hidden;
+  //text-overflow: ellipsis;
 }
 
 .secd_flex_w {
@@ -523,7 +728,8 @@ export default {
 }
 
 .send_work {
-  height: 10.69rem;
+  //height: 10.69rem;
+  height: auto;
   background-image: url('../../../assets/home/packUpback.png');
   background-size: 100% 100%;
   margin-top: 1.38rem;
@@ -583,10 +789,10 @@ export default {
   }
 
   .pack_up_con {
-    height: 14.09rem;
+    height: 13.09rem;
     background-image: url('../../../assets/home/packUpback.png');
     background-size: 100% 100%;
-    padding: 1.78rem 2.03rem;
+    padding: 1.78rem 0 1.78rem 2.03rem;
     box-sizing: border-box;
 
     .pack_up_name {
@@ -750,7 +956,7 @@ export default {
   left: 3%;
 }
 
-::v-deeptd {
+::v-deep td {
   text-align: center;
   vertical-align: middle;
 }
@@ -795,4 +1001,55 @@ th {
   position: absolute;
   bottom: 3rem;
 }
+::v-deep.ivu-modal-body{
+  background: #001e57;
+  border-radius: 1rem;
+  color:#FFFFFF;
+}
+::v-deep.ivu-modal-content{
+  background: transparent;
+}
+::v-deep.ivu-form-item-label{
+  color: #FFFFFF;
+}
+.total_img {
+  display: flex;
+  flex-wrap: wrap;
+  img {
+    max-width: 40px;
+    max-height: 40px;
+  }
+  .img_item {
+    position: relative;
+    .img_title {
+      text-align: center;
+    }
+  }
+}
+.upd_file {
+  width: 40px;
+  height: 40px;
+  cursor: pointer;
+  background-color: transparent;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+.img_content {
+  position: relative;
+  margin-right:20px;
+}
+.delete-img {
+  position: absolute;
+  right: -10px;
+  top: 0px;
+  color: red;
+}
+.ico{
+  color:#FFFFFF;
+}
+::v-deep.ivu-icon{
+  color: #FFFFFF;
+}
 </style>

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません