فهرست منبع

Merge branch 'master' into wxl

lex-xin 5 سال پیش
والد
کامیت
4c6dc08af8
100فایلهای تغییر یافته به همراه835 افزوده شده و 339 حذف شده
  1. 0 0
      dist/index.html
  2. 0 0
      dist/static/css/chunk-0138b0da.1b43d4c2.css
  3. 1 0
      dist/static/css/chunk-02d489a1.deba464c.css
  4. 1 1
      dist/static/css/chunk-243e17a6.e9adb620.css
  5. 0 1
      dist/static/css/chunk-3573fee0.77cb0737.css
  6. 0 1
      dist/static/css/chunk-5c114bcd.71fe6da2.css
  7. 1 0
      dist/static/css/chunk-601e685c.7a8bb069.css
  8. 0 0
      dist/static/css/chunk-60e66284.4fadc6be.css
  9. 1 0
      dist/static/css/chunk-6c979a3e.3e38d5db.css
  10. 0 0
      dist/static/css/chunk-9109a926.86030ee9.css
  11. 1 1
      dist/static/css/chunk-f1cf4274.f9f124ee.css
  12. 1 0
      dist/static/css/chunk-f3cdc3fa.e10d43da.css
  13. 1 1
      dist/static/css/chunk-f6deba5e.641b676e.css
  14. 0 0
      dist/static/js/app.8a41afed.js
  15. 0 0
      dist/static/js/app.a1fdb129.js
  16. 0 0
      dist/static/js/chunk-0138b0da.02ab5eb1.js
  17. 0 0
      dist/static/js/chunk-02d489a1.94ec33ce.js
  18. 0 0
      dist/static/js/chunk-03688f5e.82633a55.js
  19. 0 0
      dist/static/js/chunk-03688f5e.8efc2574.js
  20. 0 0
      dist/static/js/chunk-075d6717.0db45cc5.js
  21. 0 0
      dist/static/js/chunk-075d6717.e38d97c2.js
  22. 0 0
      dist/static/js/chunk-09753c97.3b27b778.js
  23. 0 0
      dist/static/js/chunk-0b2df63b.3542b647.js
  24. 0 0
      dist/static/js/chunk-11ede39e.6b93b65b.js
  25. 0 0
      dist/static/js/chunk-1c9ae0ee.c525978f.js
  26. 0 0
      dist/static/js/chunk-1f992393.3ec596f4.js
  27. 0 0
      dist/static/js/chunk-243e17a6.8d2c93b3.js
  28. 0 0
      dist/static/js/chunk-2455a54e.1261be6b.js
  29. 0 0
      dist/static/js/chunk-257cc208.4b0ea15a.js
  30. 0 0
      dist/static/js/chunk-257cc208.c6fbac6e.js
  31. 0 0
      dist/static/js/chunk-27c95ed6.67652b17.js
  32. 0 0
      dist/static/js/chunk-27dc628f.af370eca.js
  33. 0 0
      dist/static/js/chunk-3573fee0.7f776ed9.js
  34. 0 0
      dist/static/js/chunk-35d7984f.1c6c61ce.js
  35. 0 0
      dist/static/js/chunk-3661e960.debeb8c4.js
  36. 0 0
      dist/static/js/chunk-3661e960.f19c6b20.js
  37. 0 0
      dist/static/js/chunk-3e3440eb.dc022d07.js
  38. 0 0
      dist/static/js/chunk-3e3440eb.fa96e7fb.js
  39. 0 0
      dist/static/js/chunk-40e665d1.04530ada.js
  40. 0 0
      dist/static/js/chunk-419ce36c.10188c5d.js
  41. 0 0
      dist/static/js/chunk-419ce36c.375c939b.js
  42. 0 0
      dist/static/js/chunk-41e8aa7a.4bcf0a82.js
  43. 0 0
      dist/static/js/chunk-41e8aa7a.f193d6a0.js
  44. 0 0
      dist/static/js/chunk-41f382a0.9a51508a.js
  45. 0 0
      dist/static/js/chunk-4aab68d7.0b2143e3.js
  46. 0 0
      dist/static/js/chunk-4aab68d7.5363e3d9.js
  47. 0 0
      dist/static/js/chunk-4d82cebc.af0458ec.js
  48. 0 0
      dist/static/js/chunk-5440ee4e.0db2d21a.js
  49. 0 0
      dist/static/js/chunk-5c114bcd.d7f19c43.js
  50. 0 0
      dist/static/js/chunk-5fbb8ef1.78473b7d.js
  51. 0 0
      dist/static/js/chunk-601e685c.f5d55197.js
  52. 0 0
      dist/static/js/chunk-60e66284.4535cad0.js
  53. 0 0
      dist/static/js/chunk-6181ddae.9602ae6c.js
  54. 0 0
      dist/static/js/chunk-644c653e.219de2c9.js
  55. 0 0
      dist/static/js/chunk-644c653e.5c6c235f.js
  56. 0 0
      dist/static/js/chunk-6562cc02.194b8a6e.js
  57. 0 0
      dist/static/js/chunk-6562cc02.ff6ee14f.js
  58. 0 0
      dist/static/js/chunk-66a826b1.94075475.js
  59. 0 0
      dist/static/js/chunk-68259a14.864be8a0.js
  60. 0 0
      dist/static/js/chunk-6c42ea8e.615c4841.js
  61. 0 0
      dist/static/js/chunk-6c6b10d4.5ce535d7.js
  62. 0 0
      dist/static/js/chunk-6c979a3e.5a072195.js
  63. 0 0
      dist/static/js/chunk-70fa4dab.04f65a70.js
  64. 0 0
      dist/static/js/chunk-70fa4dab.a925bdb1.js
  65. 0 0
      dist/static/js/chunk-7212fea1.22bbdfdd.js
  66. 0 0
      dist/static/js/chunk-787f95c4.5514c379.js
  67. 0 0
      dist/static/js/chunk-787f95c4.728ef4c0.js
  68. 0 0
      dist/static/js/chunk-90bc8dd8.c39361e9.js
  69. 0 0
      dist/static/js/chunk-9109a926.50bfdb19.js
  70. 0 0
      dist/static/js/chunk-b1e176fc.2721e5d3.js
  71. 0 0
      dist/static/js/chunk-bb579d98.06fa6b79.js
  72. 0 0
      dist/static/js/chunk-bb579d98.fb8382d7.js
  73. 0 0
      dist/static/js/chunk-bc672cf4.e8fcefa8.js
  74. 0 0
      dist/static/js/chunk-d98ee362.367dbde9.js
  75. 0 0
      dist/static/js/chunk-de5c2e9a.01da8324.js
  76. 0 0
      dist/static/js/chunk-de5c2e9a.3dfe8ce5.js
  77. 0 0
      dist/static/js/chunk-de81446c.75f04e45.js
  78. 0 0
      dist/static/js/chunk-dea0328a.b99296f5.js
  79. 0 0
      dist/static/js/chunk-e8e8b1ba.f570006f.js
  80. 0 0
      dist/static/js/chunk-eb7895b6.416da2f6.js
  81. 0 0
      dist/static/js/chunk-eb7895b6.6c335e2f.js
  82. 0 0
      dist/static/js/chunk-f1cf4274.59146d9b.js
  83. 0 0
      dist/static/js/chunk-f3cdc3fa.01529242.js
  84. 0 0
      dist/static/js/chunk-f6deba5e.628cef5d.js
  85. 37 1
      src/api/buildTeam.js
  86. 9 0
      src/api/studentManager.js
  87. 2 1
      src/api/vipSeting.js
  88. 6 1
      src/router/index.js
  89. 1 0
      src/store/modules/user.js
  90. 11 0
      src/utils/vueFilter.js
  91. 162 70
      src/views/accompanyManager/accompanyList.vue
  92. 132 58
      src/views/accompanyManager/accompanys.vue
  93. 6 0
      src/views/businessManager/orderManager/backMoney.vue
  94. 214 196
      src/views/businessManager/orderManager/income.vue
  95. 14 0
      src/views/businessManager/orderManager/incomeOne.vue
  96. 14 0
      src/views/businessManager/orderManager/incomeTwo.vue
  97. 30 5
      src/views/categroyManager/vipActiveList.vue
  98. 4 0
      src/views/contentManager/components/activity.vue
  99. 164 0
      src/views/contentManager/components/appPage.vue
  100. 22 2
      src/views/contentManager/components/banner.vue

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/index.html


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/css/chunk-0138b0da.1b43d4c2.css


+ 1 - 0
dist/static/css/chunk-02d489a1.deba464c.css

@@ -0,0 +1 @@
+.m-core[data-v-3f2004b4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.m-core .left[data-v-3f2004b4]{width:400px}.m-core .right[data-v-3f2004b4]{margin-left:30px;min-width:600px}.m-core .right .box-card[data-v-3f2004b4]{width:100%;min-height:500px}.m-core .right .box-card .cardWrap[data-v-3f2004b4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;margin-top:30px}.m-core .right .box-card .cardWrap .row[data-v-3f2004b4]{height:30px;line-height:30px;font-size:14px}.m-core .right .box-card .cardWrap .title[data-v-3f2004b4]{text-align:center}.m-core .right .box-card .cardWrap .cardWrapleft[data-v-3f2004b4],.m-core .right .box-card .cardWrap .cardWrapright[data-v-3f2004b4]{width:48%}.m-core .right .box-card .cardWrap .cardWrapright .textWrap[data-v-3f2004b4]{margin-top:20px;width:100%;border:1px solid #999;min-height:100px}

+ 1 - 1
dist/static/css/chunk-de81446c.89066537.css → dist/static/css/chunk-243e17a6.e9adb620.css

@@ -1 +1 @@
-.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.right-code .title[data-v-6c2e2046]{font-size:18px;text-align:center;padding-bottom:8px}.newBand[data-v-6c2e2046]{display:inline-block}
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.right-code .title[data-v-a440e090]{font-size:18px;text-align:center;padding-bottom:8px}.newBand[data-v-a440e090]{display:inline-block}

+ 0 - 1
dist/static/css/chunk-3573fee0.77cb0737.css

@@ -1 +0,0 @@
-.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.wrap[data-v-39ca9507]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wrap div[data-v-39ca9507]{margin-right:20px}

+ 0 - 1
dist/static/css/chunk-5c114bcd.71fe6da2.css

@@ -1 +0,0 @@
-.m-container[data-v-70c10581]{min-width:100%}.el-input[data-v-70c10581]{width:400px}[data-v-70c10581] .ql-editor{min-height:300px}.el-button--primary[data-v-70c10581],.el-button--primary[data-v-70c10581]:active,.el-button--primary[data-v-70c10581]:focus,.el-button--primary[data-v-70c10581]:hover{background:#14928a;border-color:#14928a;color:#fff}.el-row[data-v-70c10581]{margin-top:40px}.el-col[data-v-70c10581]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-right:50%}.el-input-group[data-v-70c10581]{width:200px;margin:0 20px}[data-v-70c10581] .el-tree-node__content{height:40px!important}[data-v-70c10581] .avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-70c10581]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-70c10581]{font-size:28px;color:#8c939d;width:120px;height:120px;line-height:120px;text-align:center}.avatar[data-v-70c10581]{width:120px;height:120px;display:block}.ivu-upload[data-v-70c10581]{display:none}

+ 1 - 0
dist/static/css/chunk-601e685c.7a8bb069.css

@@ -0,0 +1 @@
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.titlewrap[data-v-a3346508]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.titlewrap[data-v-a3346508],.wrap[data-v-a3346508]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wrap div[data-v-a3346508]{margin-right:20px}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/css/chunk-60e66284.4fadc6be.css


+ 1 - 0
dist/static/css/chunk-6c979a3e.3e38d5db.css

@@ -0,0 +1 @@
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.bannerImg[data-v-2df4f1a0],.bannerImg[data-v-6aa73098],.bannerImg[data-v-27dd613c],.bannerImg[data-v-253ea32e],.bannerImg[data-v-718fa087],.bannerImg[data-v-64951acc]{height:60px}

+ 0 - 0
dist/static/css/chunk-1f992393.d46ab528.css → dist/static/css/chunk-9109a926.86030ee9.css


+ 1 - 1
dist/static/css/chunk-27c95ed6.20d0d867.css → dist/static/css/chunk-f1cf4274.f9f124ee.css

@@ -1 +1 @@
-.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.vipwrap[data-v-2f40a6bb]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.vipwrap .newBand[data-v-2f40a6bb]{margin-right:20px}.resetClassForm[data-v-2f40a6bb] .el-date-editor.el-input,.resetClassForm[data-v-2f40a6bb] .el-date-editor.el-input__inner{width:180px!important}[data-v-2f40a6bb] .el-date-editor.el-input,[data-v-2f40a6bb] .el-date-editor.el-input__inner{width:100px!important}
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.vipwrap[data-v-1ed1d452]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.vipwrap .newBand[data-v-1ed1d452]{margin-right:20px}.resetClassForm[data-v-1ed1d452] .el-date-editor.el-input,.resetClassForm[data-v-1ed1d452] .el-date-editor.el-input__inner{width:180px!important}[data-v-1ed1d452] .el-date-editor.el-input,[data-v-1ed1d452] .el-date-editor.el-input__inner{width:100px!important}

+ 1 - 0
dist/static/css/chunk-f3cdc3fa.e10d43da.css

@@ -0,0 +1 @@
+.m-container[data-v-4cb0cc22]{min-width:100%}.el-input[data-v-4cb0cc22]{width:400px}[data-v-4cb0cc22] .ql-editor{min-height:300px}.el-button--primary[data-v-4cb0cc22],.el-button--primary[data-v-4cb0cc22]:active,.el-button--primary[data-v-4cb0cc22]:focus,.el-button--primary[data-v-4cb0cc22]:hover{background:#14928a;border-color:#14928a;color:#fff}.el-row[data-v-4cb0cc22]{margin-top:40px}.el-col[data-v-4cb0cc22]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-right:50%}.el-input-group[data-v-4cb0cc22]{width:200px;margin:0 20px}[data-v-4cb0cc22] .el-tree-node__content{height:40px!important}[data-v-4cb0cc22] .avatar-uploader .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-4cb0cc22]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-4cb0cc22]{font-size:28px;color:#8c939d;width:120px;height:120px;line-height:120px;text-align:center}.avatar[data-v-4cb0cc22]{width:120px;height:120px;display:block}.ivu-upload[data-v-4cb0cc22]{display:none}

+ 1 - 1
dist/static/css/chunk-4d82cebc.94f9183c.css → dist/static/css/chunk-f6deba5e.641b676e.css

@@ -1 +1 @@
-.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.bannerImg[data-v-673db3aa],.bannerImg[data-v-1339b45c],.bannerImg[data-v-a3aa8ac0],.bannerImg[data-v-ac080a66],.bannerImg[data-v-ae44f08a]{height:60px}
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/app.8a41afed.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/app.a1fdb129.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-0138b0da.02ab5eb1.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-02d489a1.94ec33ce.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-03688f5e.82633a55.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-03688f5e.8efc2574.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-075d6717.0db45cc5.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-075d6717.e38d97c2.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-09753c97.3b27b778.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-0b2df63b.3542b647.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-11ede39e.6b93b65b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-1c9ae0ee.c525978f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-1f992393.3ec596f4.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-243e17a6.8d2c93b3.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-2455a54e.1261be6b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-257cc208.4b0ea15a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-257cc208.c6fbac6e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-27c95ed6.67652b17.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-27dc628f.af370eca.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-3573fee0.7f776ed9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-35d7984f.1c6c61ce.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-3661e960.debeb8c4.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-3661e960.f19c6b20.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-3e3440eb.dc022d07.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-3e3440eb.fa96e7fb.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-40e665d1.04530ada.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-419ce36c.10188c5d.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-419ce36c.375c939b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-41e8aa7a.4bcf0a82.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-41e8aa7a.f193d6a0.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-41f382a0.9a51508a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-4aab68d7.0b2143e3.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-4aab68d7.5363e3d9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-4d82cebc.af0458ec.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-5440ee4e.0db2d21a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-5c114bcd.d7f19c43.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-5fbb8ef1.78473b7d.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-601e685c.f5d55197.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-60e66284.4535cad0.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-6181ddae.9602ae6c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-644c653e.219de2c9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-644c653e.5c6c235f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-6562cc02.194b8a6e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-6562cc02.ff6ee14f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-66a826b1.94075475.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-68259a14.864be8a0.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-6c42ea8e.615c4841.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-6c6b10d4.5ce535d7.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-6c979a3e.5a072195.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-70fa4dab.04f65a70.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-70fa4dab.a925bdb1.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-7212fea1.22bbdfdd.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-787f95c4.5514c379.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-787f95c4.728ef4c0.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-90bc8dd8.c39361e9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-9109a926.50bfdb19.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-b1e176fc.2721e5d3.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-bb579d98.06fa6b79.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-bb579d98.fb8382d7.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-bc672cf4.e8fcefa8.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-d98ee362.367dbde9.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-de5c2e9a.01da8324.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-de5c2e9a.3dfe8ce5.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-de81446c.75f04e45.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-dea0328a.b99296f5.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-e8e8b1ba.f570006f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-eb7895b6.416da2f6.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-eb7895b6.6c335e2f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-f1cf4274.59146d9b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-f3cdc3fa.01529242.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/static/js/chunk-f6deba5e.628cef5d.js


+ 37 - 1
src/api/buildTeam.js

@@ -967,4 +967,40 @@ export function cleanAttendance(data) {
     method: 'post',
     data: qs.stringify(data)
   })
-}
+}
+
+// 批量加网管课  
+export function batchAddCourses(data) {
+  return request({
+    url: api + '/courseSchedule/batchAddCourses',
+    method: 'post',
+    data
+  })
+}
+
+// 关闭网管课 课程组
+export function cancelGroup(data) {
+  return request({
+    url: api + '/practiceGroupManage/cancelGroup',
+    method: 'post',
+    data:qs.stringify(data)
+  })
+}
+
+// 获取网管课可预约声部 getPracticeApplySubjects
+export function getPracticeApplySubjects(data) {
+  return request({
+    url: api + '/practiceGroupManage/getPracticeApplySubjects',
+    method: 'get',
+    params: data
+  })
+}
+
+// 网管课批量调整
+export function batchUpdateCourseSchedule(data) {
+  return request({
+    url: api + '/courseSchedule/batchUpdateCourseSchedule',
+    method: 'post',
+    data
+  })
+}

+ 9 - 0
src/api/studentManager.js

@@ -212,3 +212,12 @@ export function updateStudent (data) {
     data: qs.stringify(data)
   })
 }
+
+// 账户余额充值
+export function transferCourseBalanceToBalance (data) {
+  return request({
+    url: api + `/userCashAccount/transferCourseBalanceToBalance`,
+    method: 'post',
+    data: qs.stringify(data)
+  })
+}

+ 2 - 1
src/api/vipSeting.js

@@ -264,7 +264,8 @@ export function findVipGroupCourseSchedules (data) {
 // 批量删除课程 删除vip
 export function bathDelete (data) {
   return request({
-    url: api + '/courseSchedule/bathDelete',
+
+    url: api + '/courseSchedule/batchDelete',
     method: 'POST',
     data: qs.stringify(data)
   })

+ 6 - 1
src/router/index.js

@@ -246,6 +246,11 @@ export const asyncRoutes = {
   // 版本控制
   editionList:()=> import('@/views/editionManager/editionList'),
   // 定时任务
-  timedTask:()=> import('@/views/timedTask/index')
+  timedTask:()=> import('@/views/timedTask/index'),
+  // 评价管理
+  evaluateList:()=> import('@/views/evaluateManager/evaluateList'),
+  // 评价详情
+  evaluateDetail:()=> import('@/views/evaluateManager/evaluateDetail')
+  
 }
 export default router

+ 1 - 0
src/store/modules/user.js

@@ -78,6 +78,7 @@ const actions = {
           resolve(data)
         }
       }).catch(error => {
+       
         reject(error)
       })
     })

+ 11 - 0
src/utils/vueFilter.js

@@ -388,4 +388,15 @@ Vue.filter('payStatus', value => {
     CLOSE:'交易关闭'
   }
   return template[value]
+})
+
+// 课程组状态 FINISH
+Vue.filter('courseGroup', value => {
+  let template = {
+    NORMAL: "正常",
+    LOCK: "锁定",
+    FINISH:'结束',
+    CANCEL:'取消',
+  }
+  return template[value]
 })

+ 162 - 70
src/views/accompanyManager/accompanyList.vue

@@ -3,14 +3,18 @@
     <h2>
       <div class="squrt"></div>网管课列表
     </h2>
-  
+
     <div class="m-core">
       <el-form :inline="true" class="searchForm" v-model.trim="searchForm">
         <!-- 状态 指导老师 活动方案-->
         <el-form-item>
-          <el-input v-model.trim="searchForm.search" @keyup.enter.native="search" placeholder="课程组名称"></el-input>
+          <el-input
+            v-model.trim="searchForm.search"
+            @keyup.enter.native="search"
+            placeholder="课程组名称"
+          ></el-input>
         </el-form-item>
-           <el-form-item>
+        <el-form-item>
           <el-select
             class="multiple"
             v-model.trim="searchForm.organIdList"
@@ -42,7 +46,7 @@
               :value="item.value"
             ></el-option>
           </el-select>
-        </el-form-item> -->
+        </el-form-item>-->
 
         <el-form-item>
           <el-select v-model.trim="searchForm.teacherId" clearable filterable placeholder="指导老师">
@@ -59,7 +63,7 @@
           <el-button @click="onReSet" type="primary">重置</el-button>
         </el-form-item>
       </el-form>
-         <!-- tab -->
+      <!-- tab -->
       <div class="tableWrap">
         <el-table
           style="width: 100%"
@@ -68,13 +72,13 @@
         >
           <el-table-column align="center" prop="id" label="课程组编号"></el-table-column>
           <el-table-column align="center" prop="name" label="课程组名称"></el-table-column>
-           <el-table-column align="center" prop="organName" label="所属分部"></el-table-column>
+          <el-table-column align="center" prop="organName" label="所属分部"></el-table-column>
           <!-- organName -->
           <!-- <el-table-column align="center" prop="status" label="课程状态">
             <template slot-scope="scope">
               <div>{{ scope.row.status | formatterStatus}}</div>
             </template>
-          </el-table-column> -->
+          </el-table-column>-->
           <el-table-column align="center" prop="teacherName" label="指导老师"></el-table-column>
           <el-table-column align="center" prop="studentNum" label="班级人数"></el-table-column>
           <!-- <el-table-column align="center" label="课程单价">
@@ -84,7 +88,7 @@
                 <p>线下:{{scope.row.offlineClassesUnitPrice}}</p>
               </div>
             </template>
-          </el-table-column> -->
+          </el-table-column>-->
           <el-table-column align="center" label="当前课次">
             <template slot-scope="scope">
               <div>
@@ -106,17 +110,27 @@
               </div>
             </template>
           </el-table-column>
+          <el-table-column align="center" prop="groupStatus" label="课程组状态">
+            <template slot-scope="scope">
+              <div>
+                <p>{{scope.row.groupStatus | courseGroup}}</p>
+              </div>
+            </template>
+          </el-table-column>
 
           <el-table-column align="center" width="150px" fixed="right" label="操作">
-               <template slot-scope="scope">
-            <div>
-              <!-- v-permission="'courseSchedule/classStartDateAdjust'"  v-if="!scope.row.isSettlement" -->
-              <el-button
-                type="text"
-                @click="lookCrouse(scope.row)"
-              >查看</el-button>
-            </div>
-          </template>
+            <template slot-scope="scope">
+              <div>
+                <!-- v-permission="'courseSchedule/classStartDateAdjust'"  v-if="!scope.row.isSettlement" -->
+                <el-button type="text" @click="lookCrouse(scope.row)">查看</el-button>
+                <el-button
+                  type="text"
+                  v-if="scope.row.groupStatus == 'NORMAL'"
+                  @click="closeCrouse(scope.row)"
+                  v-permission="'practiceGroupManage/cancelGroup'"
+                >关闭</el-button>
+              </div>
+            </template>
           </el-table-column>
         </el-table>
         <pagination
@@ -128,35 +142,67 @@
         />
       </div>
     </div>
+    <el-dialog title="关闭课程组" width="400px" :visible.sync="closeVisible">
+      <el-form
+        :model="closeForm"
+        ref="closeForm"
+        label-position="right"
+        label-width="80px;"
+        :inline="true"
+      >
+        <el-form-item label="是否退费" prop="isBasck">
+          <el-radio v-model="closeForm.isBack" :label="true">是</el-radio>
+          <el-radio v-model="closeForm.isBack" :label="false">否</el-radio>
+        </el-form-item>
+        <el-form-item label="退费金额" v-if="closeForm.isBack" prop="money">
+          <el-input type="number" @mousewheel.native.prevent v-model.trim="closeForm.money"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="closeVisible = false">取 消</el-button>
+        <el-button type="primary" @click="submieCloseCrouse">确 定</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 <script>
 import pagination from "@/components/Pagination/index";
-import { getTeacher, getEmployeeOrgan,practiceGroupManage } from "@/api/buildTeam";
+import {
+  getTeacher,
+  getEmployeeOrgan,
+  practiceGroupManage,
+  cancelGroup
+} from "@/api/buildTeam";
 export default {
-  components:{pagination},
+  components: { pagination },
   data() {
     return {
-        searchForm:{
-            search:null,
-            status:null,
-            teacherId:null,
-            organIdList:null
-        },
-        organList:[],
-        statusList:[],
-        teacherList:[],
-        tableData:[],
-        rules: {
+      searchForm: {
+        search: null,
+        status: null,
+        teacherId: null,
+        organIdList: null
+      },
+      closeForm: {
+        isBack: false,
+        money: null
+      },
+      closeVisible: false,
+      activeRow: null,
+      organList: [],
+      statusList: [],
+      teacherList: [],
+      tableData: [],
+      rules: {
         // 分页规则
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
-      },
-    }
+      }
+    };
   },
-    created() {
+  created() {
     if (this.$route.query.searchForm) {
       this.$route.query.searchForm instanceof Object
         ? (this.searchForm = this.$route.query.searchForm)
@@ -172,56 +218,102 @@ export default {
   mounted() {},
   activated() {
     this.init();
-  },methods:{
-    init(){
-         getEmployeeOrgan().then(res => {
+  },
+  methods: {
+    init() {
+      getEmployeeOrgan().then(res => {
         if (res.code == 200) {
           this.organList = res.data;
         }
       });
-       //   <!-- 状态 指导老师 活动方案-->
+      //   <!-- 状态 指导老师 活动方案-->
       getTeacher().then(res => {
         if (res.code == 200) {
           this.teacherList = res.data;
         }
       });
-      this.getList()
+      this.getList();
     },
-      search(){
-        this.rules.page = 1;
-        this.getList();
-      },
-      onReSet(){
-         this.searchForm = {
-            search:null,
-            status:null,
-            teacherId:null,
-            organIdList:null
-        }
-       this.search();
-      },
-      getList(){
-        let obj = {
-          search:this.searchForm.search || null,
-          teacherId:this.searchForm.teacherId || null,
-          organId:this.searchForm.organIdList || null,
-          page:this.rules.page,
-          rows:this.rules.limit
+    search() {
+      this.rules.page = 1;
+      this.getList();
+    },
+    onReSet() {
+      this.searchForm = {
+        search: null,
+        status: null,
+        teacherId: null,
+        organIdList: null
+      };
+      this.search();
+    },
+    getList() {
+      let obj = {
+        search: this.searchForm.search || null,
+        teacherId: this.searchForm.teacherId || null,
+        organId: this.searchForm.organIdList || null,
+        page: this.rules.page,
+        rows: this.rules.limit
+      };
+      practiceGroupManage(obj).then(res => {
+        if (res.code == 200) {
+          this.tableData = res.data.rows;
+          this.rules.total = res.data.total;
         }
-        practiceGroupManage(obj).then(res=>{
-          if(res.code == 200){
-            
-            this.tableData = res.data.rows;
-            this.rules.total = res.data.total
-          }
-        })
-      },
-      lookCrouse(row){
-         let rules = JSON.stringify(this.rules);
+      });
+    },
+    lookCrouse(row) {
+      let rules = JSON.stringify(this.rules);
       let searchForm = JSON.stringify(this.searchForm);
-        this.$router.push({path:'/business/accompanys',query:{id:row.id, rules, searchForm}})
+      this.$router.push({
+        path: "/business/accompanys",
+        query: { id: row.id, rules, searchForm }
+      });
+    },
+    closeCrouse(row) {
+      this.activeRow = row;
+      this.closeVisible = true;
+    },
+    courseVisibleClose() {
+      // 关闭弹窗前
+    },
+    submieCloseCrouse() {
+      // 提交关闭课程组
+      if (this.closeForm.isBack) {
+        if (!this.closeForm.money) {
+          this.$message.error("请输入退费金额");
+          return;
+        }
+      }else {
+        this.closeForm.money = null;
+      }
+      // 请求数据
+      cancelGroup({
+        groupId: this.activeRow.id,
+        groupType: "PRACTICE",
+        refundAmount: this.closeForm.money
+      }).then(res => {
+        if (res.code == 200) {
+          this.$message.success("关闭成功");
+          this.getList();
+          this.closeVisible = false;
+        }
+      });
+    }
+  },
+  watch: {
+    closeVisible(val) {
+      if (!val) {
+        console.log(val)
+        this.activeRow = null;
+        (this.closeForm = {
+          isBack: false,
+          money: null
+        }),
+          this.$refs.closeForm.resetFields();
+        this.closeVisible = false;
       }
-      
+    }
   }
 };
 </script>

+ 132 - 58
src/views/accompanyManager/accompanys.vue

@@ -1,18 +1,30 @@
 <template>
   <div class="m-container">
-    <h2>
-      <el-page-header @back="goBack" :content="name"></el-page-header>
-    </h2>
+    <div class="titlewrap">
+      <h2>
+        <el-page-header @back="goBack" :content="name"></el-page-header>
+      </h2>
+      <p style="margin-bottom:10px; margin-left:30px;"> 课程有效期:{{ timers }}</p>
+    </div>
+
     <!--   v-permission="'vipGroupManage/updateVipBaseInfo'" -->
     <div class="wrap">
       <div
         class="newBand"
         @click="resetTeachers"
         v-permission="'courseSchedule/practiceGroupTeacherAdjust'"
-      >修改老师</div>
+      >课程组调整</div>
       <!-- // accompanys/addCourse -->
-      <!-- <div v-permission="'accompanys/addCourse'" class="newBand" @click="addCourse">网管课加课</div> -->
-      <div class="newBand" v-permission="'accompanys/vipCourseAdjust'" @click="adjustment">批量调整</div>
+      <div
+        v-permission="{ child:'courseSchedule/batchAddCourses',parent:'/accompanys'}"
+        class="newBand"
+        @click="addCourse"
+      >网管课加课</div>
+      <div
+        class="newBand"
+        v-permission="'courseSchedule/batchUpdateCourseSchedule'"
+        @click="adjustment"
+      >批量调整</div>
     </div>
 
     <div class="tableWrap">
@@ -167,7 +179,7 @@
     </el-dialog>
 
     <el-dialog
-      title="老师调整"
+      title="课程组调整"
       width="400px"
       :before-close="teacherClose"
       :visible.sync="teacherVisible"
@@ -180,7 +192,25 @@
         label-width="80px;"
         :inline="true"
       >
-        <el-form-item label="老师姓名">
+        <el-form-item label="课程班名称" v-if="isMultiple">
+          <el-input v-model.trim="teacherForm.name" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="课程组声部" v-if="isMultiple">
+          <el-select
+            v-model.trim="teacherForm.subjectId"
+            @change="changeSound"
+            filterable
+            clearable
+          >
+            <el-option
+              v-for="(item,index) in subjectList"
+              :key="index"
+              :value="item.id"
+              :label="item.name"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="课程组老师">
           <el-select v-model.trim="teacherForm.teacher" filterable clearable>
             <el-option
               v-for="(item,index) in teacherList"
@@ -190,6 +220,9 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item v-if="isMultiple">
+          <p style="color:#FF5353">*更改课程组老师,将更换全部未开始课程的老师</p>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="teacherVisible = false">取 消</el-button>
@@ -212,9 +245,9 @@
           <el-input type="number" @mousewheel.native.prevent v-model.trim="adjustmentForm.addCount"></el-input>
         </el-form-item>
         <br />
-        <el-form-item label="单课费用" prop="fee" v-if="isaddCourse">
+        <!-- <el-form-item label="单课费用" prop="fee" v-if="isaddCourse">
           <el-input v-model.trim="adjustmentForm.fee"></el-input>
-        </el-form-item>
+        </el-form-item>-->
         <el-form-item label="排课起始时间" prop="courseTime">
           <el-date-picker
             v-model.trim="adjustmentForm.courseTime"
@@ -286,7 +319,10 @@ import {
   practiceGroupManage,
   practiceGroupTeacherAdjust,
   practiceCourseTeacherAdjust,
-  cleanAttendance
+  cleanAttendance,
+  batchAddCourses,
+  getPracticeApplySubjects,
+  batchUpdateCourseSchedule
 } from "@/api/buildTeam";
 import {
   vipCourseAdjust,
@@ -321,6 +357,7 @@ export default {
       teacherList: [],
       courseData: [],
       practiceId: null,
+      subjectList: [],
       maskForm: {
         date: "",
         startTime: "",
@@ -343,10 +380,13 @@ export default {
         ]
       },
       teacherRules: {
-        teacher: [{ required: true, message: "请选择老师", trigger: "blur" }]
+        teacher: [{ required: true, message: "请选择老师", trigger: "blur" }],
+        subjectId: [{ required: true, message: "请选择声部", trigger: "blur" }]
       },
       teacherForm: {
-        teacher: null
+        teacher: null,
+        name: null,
+        subjectId: null
       },
       courseOption: null,
       coursesExpireDate: null,
@@ -378,7 +418,8 @@ export default {
         { value: "6", label: "星期六" },
         { value: "7", label: "星期日" }
       ],
-      activeList: []
+      activeList: [],
+      timers: null
     };
   },
   created() {
@@ -404,6 +445,12 @@ export default {
           this.teacherList = res.data;
         }
       });
+      // 获取默认声部信息
+      getPracticeApplySubjects().then(res => {
+        if (res.code == 200) {
+          this.subjectList = res.data;
+        }
+      });
       // 获取课程组信息
       this.courseOption = this.coursesDate();
       this.getCourseGroup();
@@ -415,6 +462,10 @@ export default {
           this.courseData = res.data.rows;
           if (this.courseData.length > 0) {
             this.name = this.courseData[0].name;
+            this.timers =
+              this.courseData[0].coursesStartDate.substring(0, 10) +
+              "至" +
+              this.courseData[0].coursesExpireDate.substring(0, 10);
           }
         }
       });
@@ -496,34 +547,30 @@ export default {
       // 课程组
       this.isMultiple = true;
       this.teacherForm.teacher = this.courseData[0].userId;
+      this.teacherForm.name = this.courseData[0].name;
+      this.teacherForm.subjectId = this.courseData[0].subjectId;
+
       this.teacherVisible = true;
     },
+    // 提交课程组修改
     subresetTeacher() {
       this.$refs.teacherForm.validate(some => {
         if (some) {
           if (this.isMultiple) {
             // 修改课程组老师
-            this.$confirm("此操作将修改所有未上课程的老师, 是否继续?", "提示", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning"
-            })
-              .then(() => {
-                practiceGroupTeacherAdjust({
-                  practiceGroupId: this.practiceId,
-                  teacherId: this.teacherForm.teacher
-                }).then(res => {
-                  if (res.code == 200) {
-                    this.$message.success("修改成功");
-                    this.getCourseGroup();
-                    this.getList();
-                    this.teacherVisible = false;
-                  }
-                });
-              })
-              .catch(() => {
-                return;
-              });
+
+            practiceGroupTeacherAdjust({
+              practiceGroupId: this.practiceId,
+              teacherId: this.teacherForm.teacher,
+              subjectId: this.teacherForm.subjectId
+            }).then(res => {
+              if (res.code == 200) {
+                this.$message.success("修改成功");
+                this.getCourseGroup();
+                this.getList();
+                this.teacherVisible = false;
+              }
+            });
           } else {
             // 修改单节课老师
             practiceCourseTeacherAdjust({
@@ -575,6 +622,16 @@ export default {
         this.adjustmentVisible = true;
       }
     },
+    changeSound(val) {
+      if (val) {
+        this.subjectList.forEach(item => {
+          if (item.id == val) {
+            let strArr = this.teacherForm.name.split("•");
+            this.teacherForm.name = item.name + "•" + strArr[1];
+          }
+        });
+      }
+    },
     addWeek() {
       // 添加循环周期
       this.weekList.push({
@@ -592,6 +649,7 @@ export default {
         }
       }
     },
+    // 批量调整
     submitAdjustment() {
       this.$refs["adjustmentForm"].validate(item => {
         if (item) {
@@ -602,19 +660,21 @@ export default {
           }
           // 开始
           let obj = {};
-          obj.courseCreateStartTime = this.adjustmentForm.courseTime;
           let idArr = this.activeList.map(item => {
             return item.id;
           });
-          let courseScheduleIds = idArr.join(",");
-          obj.courseScheduleIds = courseScheduleIds;
-          obj.courseTimes = this.weekList;
-          obj.holiday = this.adjustmentForm.checked;
-          obj.teachMode = this.adjustmentForm.courseType || null;
-          obj.groupType = "PRACTICE";
+          // courseScheduleIdList
+          let courseScheduleIdList = idArr;
+          obj.courseScheduleIdList = courseScheduleIdList;
+          obj.startDate = this.adjustmentForm.courseTime;
+          obj.coursesTimes = this.adjustmentForm.addCount;
+          obj.teachingArrangementList = this.weekList;
 
-          obj.vipGroupId = this.practiceId;
-          vipCourseAdjust(obj).then(res => {
+          obj.isJumpHoliday = this.adjustmentForm.checked;
+          obj.musicGroupId = this.practiceId;
+          obj.teachMode = 'ONLINE';
+          obj.type = "PRACTICE";
+          batchUpdateCourseSchedule(obj).then(res => {
             if (res.code == 200) {
               this.$message.success("恭喜您修改成功");
               this.adjustmentVisible = false;
@@ -663,20 +723,17 @@ export default {
           }
           // 开始
           let obj = {};
-          obj.courseCreateStartTime = this.adjustmentForm.courseTime;
-          let idArr = this.activeList.map(item => {
-            return item.id;
-          });
-          let courseScheduleIds = idArr.join(",");
-          obj.courseScheduleIds = courseScheduleIds;
-          obj.courseTimes = this.weekList;
-          obj.holiday = this.adjustmentForm.checked;
-          obj.vipGroupId = this.practiceId;
-          obj.courseCount = this.adjustmentForm.addCount;
-          obj.teachMode = this.adjustmentForm.courseType;
-          obj.singleClassPrice = this.adjustmentForm.fee;
-          obj.groupType = "PRACTICE";
-          batchAppendVipGroupCourses(obj).then(res => {
+          obj.startDate = this.adjustmentForm.courseTime;
+          obj.coursesTimes = this.adjustmentForm.addCount;
+          obj.teachingArrangementList = this.weekList;
+
+          obj.isJumpHoliday = this.adjustmentForm.checked;
+          obj.musicGroupId = this.practiceId;
+           obj.teachMode = 'ONLINE';
+          obj.type = "PRACTICE";
+          // console.log(obj)
+          // return
+          batchAddCourses(obj).then(res => {
             if (res.code == 200) {
               this.$message.success("恭喜您添加成功");
               this.adjustmentVisible = false;
@@ -701,10 +758,27 @@ export default {
         });
       });
     }
+    // closeAdjustment(){
+    //   console.log(111)
+
+    // }
+  },
+  watch: {
+    adjustmentVisible(val) {
+      if (!val) {
+        this.$refs.adjustmentForm.resetFields();
+      }
+    }
   }
 };
 </script>
 <style lang="scss" scoped>
+.titlewrap {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+}
 .wrap {
   display: flex;
   flex-direction: row;

+ 6 - 0
src/views/businessManager/orderManager/backMoney.vue

@@ -171,6 +171,12 @@ export default {
       }
     })
     this.getList()
+        var now = new Date();
+var startDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+var endDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+this.orderDate=[];
+this.orderDate.push(startDate)
+this.orderDate.push(endDate)
   },
   methods: {
     search () {

+ 214 - 196
src/views/businessManager/orderManager/income.vue

@@ -4,143 +4,124 @@
       <div class="squrt"></div>订单管理
     </h2>
     <div class="m-core">
-      <div class="newBand" @click="onOrderExport" v-permission="{child: 'export/orderList', parent: '/income'}">报表导出</div>
+      <div
+        class="newBand"
+        @click="onOrderExport"
+        v-permission="{child: 'export/orderList', parent: '/income'}"
+      >报表导出</div>
       <!-- 搜索类型 -->
-      <el-form :inline="true"
-               class="searchForm"
-               v-model.trim="searchForm">
-        <el-form-item prop='organId'>
-          <el-select class='multiple'
-                     v-model.trim="searchForm.organId"
-                     filterable
-                     clearable
-                     @clear="onClear('organId')"
-                     placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+      <el-form :inline="true" class="searchForm" v-model.trim="searchForm">
+        <el-form-item prop="organId">
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organId"
+            filterable
+            clearable
+            @clear="onClear('organId')"
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item,index) in organList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-date-picker v-model.trim="orderDate"
-                          style="width:410px;"
-                          type="daterange"
-                          value-format="yyyy-MM-dd"
-                          @change="searchOrderDate"
-                          range-separator="至"
-                          start-placeholder="开始日期"
-                          end-placeholder="结束日期">
-          </el-date-picker>
+          <el-date-picker
+            v-model.trim="orderDate"
+            style="width:410px;"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            @change="searchOrderDate"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          ></el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.paymentType"
-                     clearable
-                     filterable
-                     @clear="onClear('paymentType')"
-                     placeholder="交易类型">
-            <el-option v-for="(item, index) in orderStatus"
-                       :key="index"
-                       :label="item.label"
-                       :value="item.value"></el-option>
+          <el-select
+            v-model.trim="searchForm.paymentType"
+            clearable
+            filterable
+            @clear="onClear('paymentType')"
+            placeholder="交易类型"
+          >
+            <el-option
+              v-for="(item, index) in orderStatus"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.paymentStatus"
-                     clearable
-                     filterable
-                     @clear="onClear('paymentStatus')"
-                     placeholder="交易状态">
-            <el-option v-for="(item, index) in dealStatus"
-                       :key="index"
-                       :label="item.label"
-                       :value="item.value"></el-option>
+          <el-select
+            v-model.trim="searchForm.paymentStatus"
+            clearable
+            filterable
+            @clear="onClear('paymentStatus')"
+            placeholder="交易状态"
+          >
+            <el-option
+              v-for="(item, index) in dealStatus"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="search"
-                     type="danger">搜索</el-button>
-          <el-button @click="onReSet"
-                     type="primary">重置</el-button>
+          <el-button @click="search" type="danger">搜索</el-button>
+          <el-button @click="onReSet" type="primary">重置</el-button>
         </el-form-item>
       </el-form>
       <!-- 列表 -->
       <div style="font-size: 14px; color: #F85043; padding-bottom: 10px;">
-          应收总金额:{{ totalExpectAmount }}元 &nbsp;&nbsp;&nbsp;&nbsp;
-          实收总金额:{{ totalActualAmount }}元</div>
+        应收总金额:{{ totalExpectAmount }}元 &nbsp;&nbsp;&nbsp;&nbsp;
+        实收总金额:{{ totalActualAmount }}元
+      </div>
       <div class="tableWrap">
-        <el-table :data='tableList'
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-          <el-table-column align='center' width="180px"
-                           prop="transNo"
-                           label="交易流水号">
-          </el-table-column>
-          <el-table-column align='center'
-                           width="210px"
-                           prop="orderNo"
-                           label="订单号">
-          </el-table-column>
-          <el-table-column align='center' 
-                           prop="createTime"
-                           label="订单日期">
-          </el-table-column>
-          <el-table-column align='center'
-       width="100px"
-                           label="交易类型">
-                           
-            <template slot-scope="scope">
-              {{ scope.row.type | orderType }}
-            </template>
-          </el-table-column>
-          <el-table-column align='center'
-                           prop="expectAmount"
-                           label="应付金额">
-          </el-table-column>
-          <el-table-column align='center'
-                           prop="balancePaymentAmount"
-                           label="余额支付">
+        <el-table :data="tableList" :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+          <el-table-column align="center" width="180px" prop="transNo" label="交易流水号"></el-table-column>
+          <el-table-column align="center" width="210px" prop="orderNo" label="订单号"></el-table-column>
+          <el-table-column align="center" prop="createTime" label="订单日期"></el-table-column>
+          <el-table-column align="center" width="100px" label="交易类型">
+            <template slot-scope="scope">{{ scope.row.type | orderType }}</template>
           </el-table-column>
-          <el-table-column align='center'
-                           prop="actualAmount"
-                           label="实付金额">
-          </el-table-column>
-          <el-table-column align='center'
-                           label="学员姓名">
+          <el-table-column align="center" prop="expectAmount" label="应付金额"></el-table-column>
+          <el-table-column align="center" prop="balancePaymentAmount" label="余额支付"></el-table-column>
+          <el-table-column align="center" prop="actualAmount" label="实付金额"></el-table-column>
+          <el-table-column align="center" label="学员姓名">
             <template slot-scope="scope">
-              {{ scope.row.user.username }}<span v-if="scope.row.user.username && scope.row.user.phone">/</span>{{ scope.row.user.phone }}
+              {{ scope.row.user.username }}
+              <span
+                v-if="scope.row.user.username && scope.row.user.phone"
+              >/</span>
+              {{ scope.row.user.phone }}
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           prop="paymentChannel"
-                           label="交易方式">
-            <template slot-scope="scope">
-              {{ scope.row.paymentChannel | paymentChannelStatus }}
-            </template>
+          <el-table-column align="center" prop="paymentChannel" label="交易方式">
+            <template slot-scope="scope">{{ scope.row.paymentChannel | paymentChannelStatus }}</template>
           </el-table-column>
-          <el-table-column align='center'
-                           label="收款账户">
-            <template slot-scope="scope">
-              {{ scope.row.merNos }}
-            </template>
+          <el-table-column align="center" label="收款账户">
+            <template slot-scope="scope">{{ scope.row.merNos }}</template>
           </el-table-column>
-          <el-table-column align='center'
-                           label="交易状态">
-            <template slot-scope="scope">
-              {{ scope.row.status | dealStatus }}
-            </template>
+          <el-table-column align="center" label="交易状态">
+            <template slot-scope="scope">{{ scope.row.status | dealStatus }}</template>
           </el-table-column>
-          <el-table-column align='center'
-                           label="备注">
-            <template slot-scope="scope">
-              {{ scope.row.memo ? scope.row.memo : '-' }}
-            </template>
+          <el-table-column align="center" label="备注">
+            <template slot-scope="scope">{{ scope.row.memo ? scope.row.memo : '-' }}</template>
           </el-table-column>
         </el-table>
-        <pagination :total="pageInfo.total"
-                    :page.sync="pageInfo.page"
-                    :limit.sync="pageInfo.limit"
-                    :page-sizes="pageInfo.page_size"
-                    @pagination="getList" />
+        <pagination
+          :total="pageInfo.total"
+          :page.sync="pageInfo.page"
+          :limit.sync="pageInfo.limit"
+          :page-sizes="pageInfo.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
   </div>
@@ -157,8 +138,8 @@ import { getToken } from '@/utils/auth'
 import load from '@/utils/loading'
 export default {
   components: { pagination },
-  name: 'income',
-  data () {
+  name: "income",
+  data() {
     return {
       orderStatus: orderStatus,
       dealStatus: dealStatus,
@@ -166,7 +147,7 @@ export default {
       searchForm: {
         orderStartDate: null,
         orderEndDate: null,
-        paymentStatus: 'SUCCESS',
+        paymentStatus: "SUCCESS",
         paymentType: null,
         organId: null
       },
@@ -180,71 +161,86 @@ export default {
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       totalExpectAmount: 0, //应收总金额
-      totalActualAmount: 0, //实收总金额
-    }
+      totalActualAmount: 0 //实收总金额
+    };
   },
-  mounted () {
+  mounted() {
     getEmployeeOrgan().then(res => {
       if (res.code == 200) {
         this.organList = res.data;
       }
-    })
-    this.getList()
+    });
+    var now = new Date();
+
+    var startDate =
+      new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()))
+        .toISOString()
+        .slice(0, 10);
+        //  + " 00:00:00"  + " 23:59:59"
+    var endDate =
+      new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()))
+        .toISOString()
+        .slice(0, 10);
+    this.orderDate = [];
+    this.orderDate.push(startDate);
+    this.orderDate.push(endDate);
+    this.getList();
   },
   methods: {
     onClear(type) {
-      if(type == 'paymentType') {
-        this.searchForm.paymentType = null
-      } else if(type  == 'paymentStatus') {
-        this.searchForm.paymentStatus = null
-      } else if(type == 'organId') {
-        this.searchForm.organId = null
+      if (type == "paymentType") {
+        this.searchForm.paymentType = null;
+      } else if (type == "paymentStatus") {
+        this.searchForm.paymentStatus = null;
+      } else if (type == "organId") {
+        this.searchForm.organId = null;
       }
     },
-    onOrderExport() { // 报表导出
-        let url = '/api-web/export/orderList'
-        let data = {
-          orderType: 0
-        }
-        let searchForm = this.searchForm
-        if(searchForm.paymentStatus) {
-          data.paymentStatus = searchForm.paymentStatus
-        }
+    onOrderExport() {
+      // 报表导出
+      let url = "/api-web/export/orderList";
+      let data = {
+        orderType: 0
+      };
+      let searchForm = this.searchForm;
+      if (searchForm.paymentStatus) {
+        data.paymentStatus = searchForm.paymentStatus;
+      }
 
-        if(searchForm.paymentType) {
-          data.paymentType = searchForm.paymentType
-        }
+      if (searchForm.paymentType) {
+        data.paymentType = searchForm.paymentType;
+      }
 
-        if(searchForm.organId) {
-          data.organId = searchForm.organId
-        }
+      if (searchForm.organId) {
+        data.organId = searchForm.organId;
+      }
 
-        if(searchForm.orderStartDate && searchForm.orderEndDate) {
-          data.orderStartDate = searchForm.orderStartDate
-          data.orderEndDate = searchForm.orderEndDate
-        }
-        const options = {
-          method: 'POST',
-          headers: {
-            'Authorization': getToken()
-          },
-          data: qs.stringify(data),
-          url,
-          responseType: 'blob'
-        }
-        this.$confirm('您确定导出报表', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          load.startLoading()
+      if (searchForm.orderStartDate && searchForm.orderEndDate) {
+        data.orderStartDate = searchForm.orderStartDate;
+        data.orderEndDate = searchForm.orderEndDate;
+      }
+      const options = {
+        method: "POST",
+        headers: {
+          Authorization: getToken()
+        },
+        data: qs.stringify(data),
+        url,
+        responseType: "blob"
+      };
+      this.$confirm("您确定导出报表", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          // load.startloa();
           axios(options).then(res => {
             let blob = new Blob([res.data], {
               // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
-              type: 'application/vnd.ms-excel;charset=utf-8'
+              type: "application/vnd.ms-excel;charset=utf-8"
               //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
-            })
-            
+            });
             let text = (new Response(blob)).text()
             text.then(res => {
               // 判断是否报错
@@ -252,62 +248,84 @@ export default {
                 let json = JSON.parse(res)
                 this.$message.error(json.msg)
               } else {
-                let objectUrl = URL.createObjectURL(blob)
-                let link = document.createElement("a")
-                let nowTime = new Date()
-                let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate() + '' + nowTime.getHours() + '' + nowTime.getMinutes()
-                let fname = '报表导出' + new Date().getTime() //下载文件的名字
-                link.href = objectUrl
-                link.setAttribute("download", fname)
-                document.body.appendChild(link)
-                link.click()
+                let objectUrl = URL.createObjectURL(blob);
+                let link = document.createElement("a");
+                let nowTime = new Date();
+                let ymd =
+                  nowTime.getFullYear() +
+                  "" +
+                  (nowTime.getMonth() + 1) +
+                  "" +
+                  nowTime.getDate() +
+                  "" +
+                  nowTime.getHours() +
+                  "" +
+                  nowTime.getMinutes();
+                let fname = "报表导出" + new Date().getTime(); //下载文件的名字
+                link.href = objectUrl;
+                link.setAttribute("download", fname);
+                document.body.appendChild(link);
+                link.click();
               }
             })
 
             load.endLoading();
-          })
-        }).catch(() => {})
-      },
-    search () {
+          });
+        })
+        .catch(() => {});
+    },
+    search() {
       this.pageInfo.page = 1;
       this.getList();
     },
-    getList () {
-      let params = this.searchForm
-      params.rows = this.pageInfo.limit
-      params.page = this.pageInfo.page
+    getList() {
+      let params = this.searchForm;
+      params.rows = this.pageInfo.limit;
+      params.page = this.pageInfo.page;
+      if (this.orderDate && this.orderDate.length > 0) {
+        params.orderStartDate = this.orderDate[0];
+        params.orderEndDate = this.orderDate[1];
+      } else {
+        params.orderStartDate = null;
+        params.orderEndDate = null;
+      }
       orderQueryPage(params).then(res => {
-        let result = res.data
+        let result = res.data;
         if (res.code == 200) {
-          this.tableList = result.rows
-          this.pageInfo.total = result.total
-          this.totalExpectAmount = result.totalExpectAmount ? result.totalExpectAmount : 0
-          this.totalActualAmount = result.totalActualAmount ? result.totalActualAmount : 0
+          this.tableList = result.rows;
+          this.pageInfo.total = result.total;
+          this.totalExpectAmount = result.totalExpectAmount
+            ? result.totalExpectAmount
+            : 0;
+          this.totalActualAmount = result.totalActualAmount
+            ? result.totalActualAmount
+            : 0;
         }
-      })
+      });
     },
-    searchOrderDate (value) {
+    searchOrderDate(value) {
       if (value) {
-        this.searchForm.orderStartDate = value[0]
-        this.searchForm.orderEndDate = value[1]
+        this.searchForm.orderStartDate = value[0];
+        this.searchForm.orderEndDate = value[1];
       } else {
-        this.searchForm.orderStartDate = null
-        this.searchForm.orderEndDate = null
+        this.searchForm.orderStartDate = null;
+        this.searchForm.orderEndDate = null;
       }
     },
-    onReSet () { // 重置搜索
-      this.orderDate = null
+    onReSet() {
+      // 重置搜索
+      this.orderDate = null;
       this.searchForm = {
         orderStartDate: null,
         orderEndDate: null,
         paymentStatus: null,
         paymentType: null,
         organId: null
-      }
-      this.getList()
-    },
+      };
+      this.getList();
+    }
   }
-}
+};
 </script>
 <style lang="scss">
 </style>

+ 14 - 0
src/views/businessManager/orderManager/incomeOne.vue

@@ -204,7 +204,14 @@ export default {
         this.organList = res.data;
       }
     })
+            var now = new Date();
+var startDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+var endDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+this.orderDate=[];
+this.orderDate.push(startDate)
+this.orderDate.push(endDate)
     this.getList()
+
   },
   methods: {
     onClear (type) {
@@ -290,6 +297,13 @@ export default {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
+          if (this.orderDate && this.orderDate.length > 0) {
+        params.orderStartDate = this.orderDate[0];
+        params.orderEndDate = this.orderDate[1];
+      } else {
+        params.orderStartDate = null;
+        params.orderEndDate = null;
+      }
       orderQueryPage1(params).then(res => {
         let result = res.data
         if (res.code == 200) {

+ 14 - 0
src/views/businessManager/orderManager/incomeTwo.vue

@@ -193,7 +193,14 @@ export default {
         this.organList = res.data;
       }
     })
+            var now = new Date();
+var startDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+var endDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+this.orderDate=[];
+this.orderDate.push(startDate)
+this.orderDate.push(endDate)
     this.getList()
+
   },
   methods: {
     onClear (type) {
@@ -269,6 +276,13 @@ export default {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
+          if (this.orderDate && this.orderDate.length > 0) {
+        params.orderStartDate = this.orderDate[0];
+        params.orderEndDate = this.orderDate[1];
+      } else {
+        params.orderStartDate = null;
+        params.orderEndDate = null;
+      }
       orderQueryPage2(params).then(res => {
         let result = res.data
         if (res.code == 200) {

+ 30 - 5
src/views/categroyManager/vipActiveList.vue

@@ -24,6 +24,25 @@
             ></el-option>
           </el-select>
         </el-form-item>
+                <el-form-item prop="organId">
+          <el-select
+            filterable
+            style="width:180px!important"
+            v-model="searchForm.enable"
+            clearable
+            @clear='resetEnable'
+            placeholder="活动状态"
+          >
+            <el-option
+              label="开启"
+              :value="true"
+            ></el-option>
+            <el-option
+              label="关闭"
+              :value="false"
+            ></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item>
           <el-button @click="search" type="danger">搜索</el-button>
         </el-form-item>
@@ -64,7 +83,7 @@
             <template slot-scope="scope">
               <div>
                 <p>{{ scope.row.coursesStartTime | formatTimer }}</p>
-                <p>{{ scope.row.coursesEndTime | formatTimer }}</p>
+                <p>{{ scope.row.coursesEndTime | formatTimer }}</p> 
               </div>
             </template>
           </el-table-column>
@@ -310,7 +329,7 @@ export default {
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
-      searchForm: { organId: null },
+      searchForm: { organId: null,enable:null },
       organList: [],
       dialogVisible: false,
       resetForm: {
@@ -460,7 +479,7 @@ export default {
         switch (obj.offlineSalarySettlement.salarySettlementType) {
           case "RATIO_DISCOUNT": {
             if (obj.offlineSalarySettlement.settlementValue) {
-              return `线:${obj.offlineSalarySettlement.settlementValue}%`;
+              return `线:${obj.offlineSalarySettlement.settlementValue}%`;
             } else {
               return "-";
             }
@@ -472,7 +491,7 @@ export default {
           }
           case "FIXED_SALARY": {
             if (obj.offlineSalarySettlement.settlementValue) {
-              return `线:${obj.offlineSalarySettlement.settlementValue}/次`;
+              return `线:${obj.offlineSalarySettlement.settlementValue}/次`;
             } else {
               return "-";
             }
@@ -520,16 +539,22 @@ export default {
       this.getList();
     },
     getList() {
+      let enable = this.searchForm.enable
       vipGroupActivity({
         organId: this.searchForm.organId,
         rows: this.rules.limit,
-        page: this.rules.page
+        page: this.rules.page,
+        enable
       }).then(res => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
         }
       });
+      
+    },
+    resetEnable(val){
+      val = null
     },
     // 格式化活动类型
     fommatterType(row, column) {

+ 4 - 0
src/views/contentManager/components/activity.vue

@@ -33,6 +33,10 @@
           </template>
         </el-table-column>
         <el-table-column align='center'
+                         prop="order"
+                         label="排序">
+        </el-table-column>
+        <el-table-column align='center'
                          label="操作">
           <template slot-scope="scope">
             <el-button @click="openTeaching('update', scope.row)"

+ 164 - 0
src/views/contentManager/components/appPage.vue

@@ -0,0 +1,164 @@
+<template>
+  <div>
+    <!-- 搜索标题 -->
+    <div @click="openTeaching('create')"
+         class='newBand'>新建</div>
+    <!-- 列表 -->
+    <div class="tableWrap">
+      <el-table :data='tableList'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column align='center'
+                         label="轮播图">
+          <template slot-scope="scope">
+            <img class="bannerImg"
+                 :src="scope.row.coverImage"
+                 alt="">
+          </template>
+        </el-table-column>
+        <el-table-column align='center'
+                         prop="title"
+                         label="标题">
+        </el-table-column>
+        <el-table-column align='center'
+                         label="跳转连接">
+          <template slot-scope="scope">
+            {{ scope.row.linkUrl }}
+          </template>
+        </el-table-column>
+        <el-table-column align='center'
+                         prop="remark"
+                         label="是否使用">
+          <template slot-scope="scope">
+            {{ scope.row.status == 1 ? '是' : '否' }}
+          </template>
+        </el-table-column>
+        <el-table-column align='center'
+                         prop="memo"
+                         label="版本号">
+            <template slot-scope="scope">
+              {{ scope.row.memo ? scope.row.memo : '--' }}
+            </template>
+        </el-table-column>
+        <el-table-column align='center'
+                         prop="order"
+                         label="排序">
+        </el-table-column>
+        <el-table-column align='center'
+                         label="操作">
+          <template slot-scope="scope">
+            <el-button @click="openTeaching('update', scope.row)"
+                       type="text">修改</el-button>
+            <el-button v-if="scope.row.status == 1"
+                       @click="onStop(scope.row, 0)"
+                       type="text">停用</el-button>
+            <el-button v-else
+                       @click="onStop(scope.row, 1)"
+                       type="text">启用</el-button>
+            <el-button @click="onDel(scope.row)"
+                       type="text">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination :total="pageInfo.total"
+                  :page.sync="pageInfo.page"
+                  :limit.sync="pageInfo.limit"
+                  :page-sizes="pageInfo.page_size"
+                  @pagination="getList" />
+    </div>
+  </div>
+</template>
+<script>
+import { newsList, newsUpdate, newsDel } from '@/api/contentManager'
+import pagination from '@/components/Pagination/index'
+import store from '@/store'
+export default {
+  name: 'training',
+  components: {
+    pagination
+  },
+  data () {
+    return {
+      tableList: [],
+      organId: null,
+      teacherId: this.$route.query.teacherId,
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 1, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      }
+    }
+  },
+  activated () {
+    this.getList()
+  },
+  mounted () {
+    this.getList()
+  },
+  methods: {
+    getList () {
+      let params = {
+        rows: this.pageInfo.limit,
+        page: this.pageInfo.page,
+        type: 6
+      }
+      newsList(params).then(res => {
+        if (res.code == 200) {
+          this.tableList = res.data.rows
+          this.pageInfo.total = res.data.total
+        }
+      })
+    },
+    openTeaching (type, rows) {
+      let params = {}
+      if (type == 'update') {
+        params.id = rows.id
+      }
+      params.type = 6
+      params.pageType = type
+      this.$router.push({
+        path: '/contentManager/contentOperation',
+        query: params
+      })
+    },
+    onDel (row) { // 删除
+      this.$confirm('确定是否删除?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        newsDel({ id: row.id }).then(res => {
+          if (res.code == 200) {
+            this.$message.success('删除成功')
+            this.getList()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }).catch(() => { })
+
+    },
+    onStop (row, status) { // 停止
+      // newsUpdate
+      let tempStr = ['停用', '启用']
+      newsUpdate({
+        id: row.id,
+        status: status
+      }).then(res => {
+        if (res.code == 200) {
+          this.$message.success(tempStr[status] + '成功')
+          this.getList()
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.bannerImg {
+  height: 60px;
+}
+</style>

+ 22 - 2
src/views/contentManager/components/banner.vue

@@ -33,17 +33,33 @@
           </template>
         </el-table-column>
         <el-table-column align='center'
+                         prop="memo"
+                         label="版本号">
+            <template slot-scope="scope">
+              {{ scope.row.memo ? scope.row.memo : '--' }}
+            </template>
+        </el-table-column>
+        <el-table-column align='center'
+                         prop="order"
+                         label="排序">
+        </el-table-column>
+        <el-table-column align='center'
                          label="操作">
           <template slot-scope="scope">
             <el-button @click="openTeaching('update', scope.row)"
+                      v-if="!scope.row.memo || permission('banner/copyrightbtn')"
                        type="text">修改</el-button>
-            <el-button v-if="scope.row.status == 1"
+                       <div style="display: inline-block" v-if="!scope.row.memo || permission('banner/copyrightbtn')">
+                      <el-button v-if="scope.row.status == 1"
                        @click="onStop(scope.row, 0)"
                        type="text">停用</el-button>
-            <el-button v-else
+                        <el-button v-else
                        @click="onStop(scope.row, 1)"
                        type="text">启用</el-button>
+                       </div>
+            
             <el-button @click="onDel(scope.row)"
+                  v-if="!scope.row.memo || permission('banner/copyrightbtn')"
                        type="text">删除</el-button>
           </template>
         </el-table-column>
@@ -60,6 +76,7 @@
 import { newsList, newsUpdate, newsDel } from '@/api/contentManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
+import { permission } from '@/utils/directivePage'
 export default {
   name: 'banner',
   components: {
@@ -86,6 +103,9 @@ export default {
     this.getList()
   },
   methods: {
+    permission (str) {
+      return permission(str)
+    },
     getList () {
       let params = {
         rows: this.pageInfo.limit,

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است