Parcourir la source

1115 15:43

111
mo il y a 5 ans
Parent
commit
b83ef886e0
85 fichiers modifiés avec 807 ajouts et 275 suppressions
  1. 0 0
      dist/index.html
  2. 1 1
      dist/static/css/chunk-27602f20.6553c8cc.css
  3. 0 0
      dist/static/css/chunk-343d83b2.3c3787dd.css
  4. 0 1
      dist/static/css/chunk-43d1d8c2.a47baed6.css
  5. 0 0
      dist/static/css/chunk-47e9338e.c3cbecdf.css
  6. 1 1
      dist/static/css/chunk-69401ca9.a23fbe84.css
  7. 0 0
      dist/static/css/chunk-6ace3555.df1d22e6.css
  8. 1 0
      dist/static/css/chunk-6cef28a2.b4fb481e.css
  9. 0 0
      dist/static/css/chunk-801be0bc.1f95a39f.css
  10. 1 1
      dist/static/css/chunk-d4ce2760.d5db005b.css
  11. 0 0
      dist/static/js/app.033c06bb.js
  12. 0 0
      dist/static/js/app.26688706.js
  13. 0 0
      dist/static/js/chunk-09753c97.e5b93c0e.js
  14. 0 0
      dist/static/js/chunk-1256744b.04180ea1.js
  15. 0 0
      dist/static/js/chunk-1256744b.e045390b.js
  16. 0 0
      dist/static/js/chunk-13ebaa28.92656c8e.js
  17. 0 0
      dist/static/js/chunk-15c0f272.104510a0.js
  18. 0 0
      dist/static/js/chunk-179cb776.54d2de00.js
  19. 0 0
      dist/static/js/chunk-179cb776.a5a8ca6f.js
  20. 0 0
      dist/static/js/chunk-197c26e5.1a78cb05.js
  21. 0 0
      dist/static/js/chunk-197c26e5.7a76d428.js
  22. 0 0
      dist/static/js/chunk-1b28f35d.2d9f48a2.js
  23. 0 0
      dist/static/js/chunk-27602f20.b385a7c9.js
  24. 0 0
      dist/static/js/chunk-2d0b66fc.751b6123.js
  25. 0 0
      dist/static/js/chunk-4122c029.b48fc508.js
  26. 0 0
      dist/static/js/chunk-41f382a0.b5bd7014.js
  27. 0 0
      dist/static/js/chunk-43d1d8c2.d8d5346c.js
  28. 0 0
      dist/static/js/chunk-45c67fda.fb503f0c.js
  29. 0 0
      dist/static/js/chunk-47e9338e.56d847ed.js
  30. 0 0
      dist/static/js/chunk-47fe7b3e.71e8c6df.js
  31. 0 0
      dist/static/js/chunk-48597ca0.0e89aab4.js
  32. 0 0
      dist/static/js/chunk-50f2e23d.fb621d3f.js
  33. 0 0
      dist/static/js/chunk-69401ca9.db6e5006.js
  34. 0 0
      dist/static/js/chunk-6a610be0.f00fc6f8.js
  35. 0 0
      dist/static/js/chunk-6ace3555.7e547e4a.js
  36. 0 0
      dist/static/js/chunk-6c5f724a.2131c044.js
  37. 0 0
      dist/static/js/chunk-6cef28a2.be2a7ddd.js
  38. 0 0
      dist/static/js/chunk-6d1f4570.94b37155.js
  39. 0 0
      dist/static/js/chunk-6d44cd2d.798b1d2c.js
  40. 0 0
      dist/static/js/chunk-6d44cd2d.d0c2cd7b.js
  41. 0 0
      dist/static/js/chunk-711bc3b2.09353b58.js
  42. 0 0
      dist/static/js/chunk-711bc3b2.a11e364c.js
  43. 0 0
      dist/static/js/chunk-73ebb2e3.94f667ee.js
  44. 0 0
      dist/static/js/chunk-7d47c5f0.c644916f.js
  45. 0 0
      dist/static/js/chunk-7fbd03f6.472efefd.js
  46. 0 0
      dist/static/js/chunk-801be0bc.4034c0a6.js
  47. 0 0
      dist/static/js/chunk-9ea481f8.a29cc668.js
  48. 0 0
      dist/static/js/chunk-9ea481f8.f55eb063.js
  49. 0 0
      dist/static/js/chunk-af8af8fe.de1f1ea7.js
  50. 0 0
      dist/static/js/chunk-bd9d6558.68e86d07.js
  51. 0 0
      dist/static/js/chunk-d1dd2788.203a21c8.js
  52. 0 0
      dist/static/js/chunk-d4ce2760.65cce3b1.js
  53. 0 0
      dist/static/js/chunk-ece2f0f2.b2b24686.js
  54. 0 0
      dist/static/js/chunk-ecff1cfa.7ac16832.js
  55. 0 0
      dist/static/js/chunk-fdeb3426.a029704a.js
  56. 4 2
      src/api/buildTeam.js
  57. 28 0
      src/api/vipSeting.js
  58. 2 0
      src/router/index.js
  59. 86 16
      src/views/buildVip/index.vue
  60. 1 1
      src/views/categroyManager/vipActiveList.vue
  61. 31 17
      src/views/studentManager/components/studentPayList.vue
  62. 5 1
      src/views/studentManager/components/studentRecord.vue
  63. 65 37
      src/views/studentManager/components/teamAndcourse.vue
  64. 2 0
      src/views/studentManager/studentList.vue
  65. 31 23
      src/views/teacherManager/teacherDetail/components/leaveRecord.vue
  66. 86 52
      src/views/teacherManager/teacherDetail/components/settlement.vue
  67. 46 30
      src/views/teacherManager/teacherDetail/components/teacherRecord.vue
  68. 78 50
      src/views/teacherManager/teacherList.vue
  69. 21 10
      src/views/teamBuild/components/teamBaseInfo.vue
  70. 5 1
      src/views/teamBuild/signupList.vue
  71. 30 3
      src/views/teamBuild/teamSeting/components/improvementClass.vue
  72. 2 2
      src/views/teamBuild/teamSeting/components/salarySet.vue
  73. 10 8
      src/views/teamBuild/teamSeting/components/setClass.vue
  74. 4 0
      src/views/teamBuild/teamSeting/components/setTeacher.vue
  75. 13 4
      src/views/teamDetail/components/courseList.vue
  76. 3 1
      src/views/teamDetail/components/resetClass.vue
  77. 5 1
      src/views/teamDetail/components/salaryList.vue
  78. 5 1
      src/views/teamDetail/components/teacherList.vue
  79. 5 1
      src/views/teamDetail/components/teamTeacherRecord.vue
  80. 5 1
      src/views/teamDetail/teamList.vue
  81. 5 1
      src/views/vipClass/vipDetail/components/fnanceInfo.vue
  82. 5 1
      src/views/vipClass/vipDetail/components/teacherRecord.vue
  83. 12 4
      src/views/vipClass/vipList.vue
  84. 205 0
      src/views/vipClass/vipReset.vue
  85. 3 3
      vue.config.js

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/index.html


+ 1 - 1
dist/static/css/chunk-ece2f0f2.65ef04d2.css → dist/static/css/chunk-27602f20.6553c8cc.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}.select[data-v-2ff51d20]{font-size:14px}.btnList[data-v-2ff51d20]{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;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btnList div[data-v-2ff51d20]{margin-right:15px}
+.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}.select[data-v-2babb342]{font-size:14px}.btnList[data-v-2babb342]{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;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btnList div[data-v-2babb342]{margin-right:15px}

+ 0 - 0
dist/static/css/chunk-343d83b2.c53789ae.css → dist/static/css/chunk-343d83b2.3c3787dd.css


+ 0 - 1
dist/static/css/chunk-43d1d8c2.a47baed6.css

@@ -1 +0,0 @@
-.floor[data-v-064430f0]{padding-right:20px;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:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;height:48px;line-height:48px;background:#edeef0;font-size:14px;color:#444;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:1}.floor .remove[data-v-064430f0]{background:#f85043;margin-left:164px}.floor .add[data-v-064430f0],.floor .remove[data-v-064430f0]{width:98px;height:32px;border-radius:3px;color:#fff;line-height:32px;text-align:center;cursor:pointer}.floor .add[data-v-064430f0]{background:#14928a;margin-left:20px}.studentMask[data-v-064430f0]{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}.studentMask .left[data-v-064430f0]{width:200px;margin-right:20px}.studentMask .left .wrap[data-v-064430f0]{margin-bottom:20px}.studentMask .left h4[data-v-064430f0]{font-size:16px;color:#444;line-height:38px}.studentMask .left .chioseStudentList[data-v-064430f0]{height:500px;overflow-y:auto;border:1px solid #ccc}.studentMask .left .chioseStudentList .studentItem[data-v-064430f0]{padding-left:10px;line-height:25px}.studentMask .right .tableList[data-v-064430f0]{max-height:500px;overflow-y:auto}.el-date-editor.el-input[data-v-064430f0],.el-date-editor.el-input__inner[data-v-064430f0]{width:100px}

+ 0 - 0
dist/static/css/chunk-41f382a0.c3cbecdf.css → dist/static/css/chunk-47e9338e.c3cbecdf.css


+ 1 - 1
dist/static/css/chunk-48597ca0.116f06d6.css → dist/static/css/chunk-69401ca9.a23fbe84.css

@@ -1 +1 @@
-.setBtn[data-v-ed788c88]{width:120px;height:40px;line-height:40px;text-align:center;border-radius:4px;color:#fff;background-color:#444;cursor:pointer;margin:20px 0}.imc[data-v-63128d82]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:30px 42px;background-color:#fff;min-height:80vh}.imc .addBtn[data-v-63128d82]{line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;width:120px;height:40px;background-color:#4eada7}
+.setBtn[data-v-ed788c88]{width:120px;height:40px;line-height:40px;text-align:center;border-radius:4px;color:#fff;background-color:#444;cursor:pointer;margin:20px 0}.imc[data-v-554b2a2e]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:30px 42px;background-color:#fff;min-height:80vh}.imc .addBtn[data-v-554b2a2e]{line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;width:120px;height:40px;background-color:#4eada7}

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/chunk-6ace3555.df1d22e6.css


+ 1 - 0
dist/static/css/chunk-6cef28a2.b4fb481e.css

@@ -0,0 +1 @@
+.floor[data-v-5e931d38]{padding-right:20px;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:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;height:48px;line-height:48px;background:#edeef0;font-size:14px;color:#444;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:1}.floor .remove[data-v-5e931d38]{background:#f85043;margin-left:164px}.floor .add[data-v-5e931d38],.floor .remove[data-v-5e931d38]{width:98px;height:32px;border-radius:3px;color:#fff;line-height:32px;text-align:center;cursor:pointer}.floor .add[data-v-5e931d38]{background:#14928a;margin-left:20px}.studentMask[data-v-5e931d38]{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}.studentMask .left[data-v-5e931d38]{width:200px;margin-right:20px}.studentMask .left .wrap[data-v-5e931d38]{margin-bottom:20px}.studentMask .left h4[data-v-5e931d38]{font-size:16px;color:#444;line-height:38px}.studentMask .left .chioseStudentList[data-v-5e931d38]{height:500px;overflow-y:auto;border:1px solid #ccc}.studentMask .left .chioseStudentList .studentItem[data-v-5e931d38]{padding-left:10px;line-height:25px}.studentMask .right .tableList[data-v-5e931d38]{max-height:500px;overflow-y:auto}.el-date-editor.el-input[data-v-5e931d38],.el-date-editor.el-input__inner[data-v-5e931d38]{width:100px}

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/chunk-801be0bc.1f95a39f.css


+ 1 - 1
dist/static/css/chunk-6c5f724a.60ef9150.css → dist/static/css/chunk-d4ce2760.d5db005b.css

@@ -1 +1 @@
-.m-core[data-v-b08ac250]{margin-top:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around}.m-core .el-input[data-v-b08ac250]{width:180px}.m-core h4[data-v-b08ac250]{font-size:16px;background-color:#ccc;color:#fff;text-align:center;width:100%;height:40px;line-height:40px;margin-bottom:20px}.m-core .center[data-v-b08ac250],.m-core .right[data-v-b08ac250],.m-core .vipLeft[data-v-b08ac250]{width:400px}.planList[data-v-b08ac250]{padding:0 25px}.planList .planTop[data-v-b08ac250]{height:40px;line-height:40px;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;border-bottom:1px solid #ccc;margin-top:20px}.planList .planTop>p[data-v-b08ac250]{font-size:14px}.planList .planCore .row[data-v-b08ac250]{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:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:40px;line-height:40px;font-size:14px;text-align:center}.planList .planCore .row div[data-v-b08ac250]{width:87px}.okBtn[data-v-b08ac250]{width:120px;height:40px;line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;background-color:#f97215;float:right}
+.m-core[data-v-e7b061bc]{margin-top:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around}.m-core .el-input[data-v-e7b061bc]{width:180px}.m-core h4[data-v-e7b061bc]{font-size:16px;background-color:#ccc;color:#fff;text-align:center;width:100%;height:40px;line-height:40px;margin-bottom:20px}.m-core .center[data-v-e7b061bc],.m-core .right[data-v-e7b061bc],.m-core .vipLeft[data-v-e7b061bc]{width:400px}.planList[data-v-e7b061bc]{padding:0 25px}.planList .planTop[data-v-e7b061bc]{height:40px;line-height:40px;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;border-bottom:1px solid #ccc;margin-top:20px}.planList .planTop>p[data-v-e7b061bc]{font-size:14px}.planList .planCore .row[data-v-e7b061bc]{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:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:40px;line-height:40px;font-size:14px;text-align:center}.planList .planCore .row div[data-v-e7b061bc]{width:87px}.okBtn[data-v-e7b061bc]{width:120px;height:40px;line-height:40px;text-align:center;color:#fff;border-radius:4px;margin-right:20px;cursor:pointer;background-color:#f97215;float:right}

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/app.033c06bb.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/app.26688706.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-09753c97.e5b93c0e.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-1256744b.04180ea1.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-1256744b.e045390b.js


+ 0 - 0
dist/static/js/chunk-13ebaa28.b603477c.js → dist/static/js/chunk-13ebaa28.92656c8e.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-15c0f272.104510a0.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-179cb776.54d2de00.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-179cb776.a5a8ca6f.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-197c26e5.1a78cb05.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-197c26e5.7a76d428.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-1b28f35d.2d9f48a2.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-27602f20.b385a7c9.js


+ 0 - 0
dist/static/js/chunk-2d0b66fc.82b8b775.js → dist/static/js/chunk-2d0b66fc.751b6123.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-4122c029.b48fc508.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-41f382a0.b5bd7014.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-43d1d8c2.d8d5346c.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-45c67fda.fb503f0c.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-47e9338e.56d847ed.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-47fe7b3e.71e8c6df.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-48597ca0.0e89aab4.js


+ 0 - 0
dist/static/js/chunk-50f2e23d.07f3e846.js → dist/static/js/chunk-50f2e23d.fb621d3f.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-69401ca9.db6e5006.js


+ 0 - 0
dist/static/js/chunk-6a610be0.f61573c5.js → dist/static/js/chunk-6a610be0.f00fc6f8.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-6ace3555.7e547e4a.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-6c5f724a.2131c044.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-6cef28a2.be2a7ddd.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-6d1f4570.94b37155.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-6d44cd2d.798b1d2c.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-6d44cd2d.d0c2cd7b.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-711bc3b2.09353b58.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-711bc3b2.a11e364c.js


+ 0 - 0
dist/static/js/chunk-73ebb2e3.3cf187a2.js → dist/static/js/chunk-73ebb2e3.94f667ee.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-7d47c5f0.c644916f.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-7fbd03f6.472efefd.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-801be0bc.4034c0a6.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-9ea481f8.a29cc668.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-9ea481f8.f55eb063.js


+ 0 - 0
dist/static/js/chunk-af8af8fe.538b44c2.js → dist/static/js/chunk-af8af8fe.de1f1ea7.js


+ 0 - 0
dist/static/js/chunk-bd9d6558.44d9342f.js → dist/static/js/chunk-bd9d6558.68e86d07.js


+ 0 - 0
dist/static/js/chunk-d1dd2788.5c70deae.js → dist/static/js/chunk-d1dd2788.203a21c8.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-d4ce2760.65cce3b1.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-ece2f0f2.b2b24686.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-ecff1cfa.7ac16832.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-fdeb3426.a029704a.js


+ 4 - 2
src/api/buildTeam.js

@@ -663,7 +663,7 @@ export function getEmployeeOrgan (data) {
 }
 
 // 
-export function pushMessage(data) {
+export function pushMessage (data) {
   return request({
     url: api + '/musicGroup/pushMessage',
     method: 'post',
@@ -678,4 +678,6 @@ export function getTeacherSalary (data) {
     method: 'get',
     params: data
   })
-}
+}
+
+// 根据部门id获取部门下的员工

+ 28 - 0
src/api/vipSeting.js

@@ -221,4 +221,32 @@ export function closeVip (data) {
     method: 'POST',
     data: qs.stringify(data)
   })
+}
+
+// 修改vip基本信息
+
+export function updateVipBaseInfo (data) {
+  return request({
+    url: api + '/vipGroupManage/updateVipBaseInfo',
+    method: 'POST',
+    data
+  })
+}
+
+// 获取vip课程计划
+export function findVipGroupCourseSchedules (data) {
+  return request({
+    url: api + '/courseSchedule/findVipGroupCourseSchedules',
+    method: 'POST',
+    data: qs.stringify(data)
+  })
+}
+
+// 批量删除课程 删除vip
+export function bathDelete (data) {
+  return request({
+    url: api + '/courseSchedule/bathDelete',
+    method: 'POST',
+    data: qs.stringify(data)
+  })
 }

+ 2 - 0
src/router/index.js

@@ -89,6 +89,8 @@ export const asyncRoutes = {
   teamBuild: () => import('@/views/teamBuild/index'),
   // VIP管理
   vipList: () => import('@/views/vipClass/vipList'),
+  // vip修改
+  vipReset: () => import('@/views/vipClass/vipReset'),
   // vip详情
   // @/views/buildVip/index   @/views/vipClass/vipDetail
   vipDetail: () => import('@/views/vipClass/vipDetail'),

+ 86 - 16
src/views/buildVip/index.vue

@@ -30,6 +30,7 @@
           <el-form-item label="指导老师"
                         prop="teacher">
             <el-select v-model="leftForm.teacher"
+                       filterable
                        clearable
                        :disabled="!leftForm.subject"
                        @change="setSection">
@@ -152,7 +153,7 @@
             <p>已排课程</p>
             <el-button type="text"
                        @click="setCourse">
-              点击排课
+              {{id?'新增排课':'点击排课'}}
             </el-button>
           </div>
           <div class="planCore">
@@ -345,14 +346,14 @@
       </div>
       <div class="okBtn"
            @click="submitInfo">
-        确定
+        {{id?'修改':'确定'}}
       </div>
     </div>
   </div>
 </template>
 <script>
 import { getTeacher, getSubject } from '@/api/buildTeam'
-import { vipGroupCategory, vipGroupActivityFind, getVipGroupCostCount, createVip } from '@/api/vipSeting'
+import { vipGroupCategory, vipGroupActivityFind, getVipGroupCostCount, createVip, getVipGroupDetail, updateVipBaseInfo } from '@/api/vipSeting'
 import { getTeachSchool, getTeacherBySubject } from '@/api/teacherManager'
 export default {
   data () {
@@ -446,7 +447,8 @@ export default {
         signUpEnd: [{
           required: true, message: '请选择报名结束时间', trigger: 'blur'
         }]
-      }
+      },
+      id: ''
     }
   },
   computed: {
@@ -466,6 +468,19 @@ export default {
       return parseInt(offline) + parseInt(online) || ''
     }
   },
+  created () {
+    // 如果有id则是修改  带出所有的数据 
+    // 没有id 则是新增
+    this.id = this.$route.query.id
+    if (this.id) {
+      // 发请求获取信息
+      getVipGroupDetail({ vipGroupId: this.id }).then(res => {
+        if (res.code == 200) {
+          this.setVipInfo(res.data);
+        }
+      })
+    }
+  },
   mounted () {
     // 获取所有科目的接口
     getSubject().then(res => {
@@ -525,7 +540,6 @@ export default {
     chioseActive (val) {
       this.attribute1 = ''
       this.attribute2 = '';
-      // console.log(val);
       // 根须活动id获取 相应的值
       for (let i in this.activeList) {
         if (this.activeList[i].id == val) {
@@ -548,7 +562,7 @@ export default {
               // 有线上课
               this.hasOnline = true;
               this.onlineSalary = obj.onlineSalarySettlement.salarySettlementType;
-              console.log('线上:' + this.onlineSalary)
+              // console.log('线上:' + this.onlineSalary)
             } else {
               this.hasOnline = false;
             }
@@ -556,7 +570,7 @@ export default {
               // 有线下课
               this.hasOffline = true;
               this.offlineSalary = obj.offlineSalarySettlement.salarySettlementType;
-              console.log('线下:' + this.offlineSalary)
+              // console.log('线下:' + this.offlineSalary)
             } else {
               this.hasOffline = false;
             }
@@ -642,7 +656,7 @@ export default {
           'id': Date.now()
         })
       }
-      console.log(this.lookList)
+      // console.log(this.lookList)
       // let courseType = this.maskForm.type;
       // // let week = ;this.maskForm.week 
       // let startTime = this.maskForm.startTime;
@@ -719,7 +733,7 @@ export default {
       }
       // 这里判断是否选择了排课开始时间
       if (online && !this.maskForm.courseStartOnline) {
-        console.log(this.maskForm.courseStartOnline)
+        // console.log(this.maskForm.courseStartOnline)
         alert('选择了线上课 但没有线上课开始时间')
         return
       }
@@ -802,7 +816,7 @@ export default {
         // 加一周
         date1.setDate(date1.getDate() + 7);
       }
-      console.log(this.timeTable);
+      // console.log(this.timeTable);
       this.dialogFormVisible = false;
     },
     getThinkDate (date, num) {
@@ -904,12 +918,23 @@ export default {
         giveTeachMode: this.centerForm.radio,
         subjectIdList: this.leftForm.subject,
       }
-      createVip(obj).then(res => {
-        if (res.code == 200) {
-          this.$message.success('恭喜您创建成功');
-          this.$router.go(-1);
-        }
-      })
+      // 调接前判断是新增还是修改
+      if (!this.id) {
+        // 新增
+        createVip(obj).then(res => {
+          if (res.code == 200) {
+            this.$message.success('恭喜您创建成功');
+            this.$router.go(-1);
+          }
+        })
+      } else {
+        // 修改
+        obj.vipGroupApplyBaseInfo.id = this.id;
+        updateVipBaseInfo(obj.vipGroupApplyBaseInfo).then(res => {
+
+        })
+      }
+
     },
     setSection (val) {
       this.leftForm.section = '';
@@ -926,6 +951,51 @@ export default {
         }
       })
 
+    },
+    setVipInfo (data) {
+      console.log(data);
+      this.leftForm.name = data.name;
+      this.leftForm.subject = parseInt(data.subjectIdList)
+      // 激活声部下的所有老师
+      this.changeSubject(parseInt(data.subjectIdList));
+      // 设置老师
+      this.leftForm.teacher = data.userId;
+      this.setSection(data.userId)
+      // 课程形式
+      this.leftForm.courseType = data.vipGroupCategoryId;
+      // 获取课程形式下的活动方案
+      this.changeType(this.leftForm.courseType)
+      // 根据课程形式获取活动方案
+      this.leftForm.activeType = data.vipGroupActivityId;
+      setTimeout(res => {
+        this.chioseActive(data.vipGroupActivityId)
+      }, 1000)
+
+      this.leftForm.section = data.teacherSchoolId;
+      this.leftForm.classNum = data.studentNum;
+      this.leftForm.classTime = data.singleClassMinutes;
+      this.leftForm.signUpStart = data.registrationStartTime;
+      this.leftForm.signUpEnd = data.paymentExpireDate;
+      this.centerForm.onlineCourseNum = data.onlineClassesNum;
+      this.centerForm.offlineCourseNum = data.offlineCourseNum;
+      /**
+       *   rightForm: {
+        onlineCourse: '',
+        offlineCourse: '',
+        onlinePrice: '',
+        offlinePrice: '',
+        allPrice: ''
+      },
+       * 
+       */
+      this.rightForm.onlineCourse = data.onlineTeacherSalary
+      this.rightForm.onlinePrice = data.onlineClassesUnitPrice;
+      this.rightForm.offlineCourse = data.offlineTeacherSalary
+      this.rightForm.offlinePrice = data.offlineClassesUnitPrice;
+      this.rightForm.allPrice = data.totalPrice;
+      console.log(this.leftForm.activeType)
+
+      //subjectIdList
     }
   },
 }

+ 1 - 1
src/views/categroyManager/vipActiveList.vue

@@ -429,7 +429,7 @@ export default {
     },
     getList () {
       vipGroupActivity({
-        organId: 1,
+        organId: this.searchForm.organId || null,
         rows: this.rules.limit,
         page: this.rules.page      }).then(res => {
         if (res.code == 200) {

+ 31 - 17
src/views/studentManager/components/studentPayList.vue

@@ -5,19 +5,25 @@
              class="searchForm"
              v-model="searchForm">
       <el-form-item>
-        <el-select v-model="searchForm.attendanceStatus" placeholder="考勤状态">
-          <el-option v-for="(item, index) in attendanceStatus" :key="index" 
-            :label="item.label" :value="item.value"></el-option>
+        <el-select v-model="searchForm.attendanceStatus"
+                   placeholder="考勤状态">
+          <el-option v-for="(item, index) in attendanceStatus"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList" 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 class="tableWrap">
-      <el-table :data='tableList' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+      <el-table :data='tableList'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
         <el-table-column align='center'
                          label="上课时间">
           <template slot-scope="scope">
@@ -30,10 +36,12 @@
             {{ scope.row.classGroupType | coursesType }}
           </template>
         </el-table-column>
-        <el-table-column align='center' prop="classGroupName"
+        <el-table-column align='center'
+                         prop="classGroupName"
                          label="班级名称">
         </el-table-column>
-        <el-table-column align='center' prop="currentClassTimes"
+        <el-table-column align='center'
+                         prop="currentClassTimes"
                          label="当前课次">
         </el-table-column>
         <el-table-column align='center'
@@ -42,18 +50,20 @@
             {{ scope.row.status | clockingIn }}
           </template>
         </el-table-column>
-        <el-table-column align='center' prop="actualPrice"
+        <el-table-column align='center'
+                         prop="actualPrice"
                          label="预计扣费">
         </el-table-column>
-        <el-table-column align='center' prop="expectPrice"
+        <el-table-column align='center'
+                         prop="expectPrice"
                          label="实际扣费">
         </el-table-column>
       </el-table>
       <pagination :total="pageInfo.total"
-                :page.sync="pageInfo.page"
-                :limit.sync="pageInfo.limit"
-                :page-sizes="pageInfo.page_size"
-                @pagination="getList" />
+                  :page.sync="pageInfo.page"
+                  :limit.sync="pageInfo.limit"
+                  :page-sizes="pageInfo.page_size"
+                  @pagination="getList" />
     </div>
   </div>
 </template>
@@ -82,22 +92,26 @@ export default {
       tableList: []
     }
   },
-  mounted() {
+  mounted () {
     this.getList()
   },
   methods: {
+    search () {
+      this.pageInfo.page = 1;
+      this.getList()
+    },
     getList () {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
       queryStudentPayment(params).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    onReSet() { // 重置搜索
+    onReSet () { // 重置搜索
       this.searchForm = {
         userId: this.$route.query.userId,
         attendanceStatus: null

+ 5 - 1
src/views/studentManager/components/studentRecord.vue

@@ -31,7 +31,7 @@
                   v-model="searchForm.teacherName"></el-input>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList"
+        <el-button @click="search"
                    type="danger">搜索</el-button>
       </el-form-item>
       <el-form-item>
@@ -146,6 +146,10 @@ export default {
     this.getList()
   },
   methods: {
+    search () {
+      this.pageInfo.page = 1;
+      this.getList();
+    },
     getList () {
       let params = this.searchForm
       params.rows = this.pageInfo.limit

+ 65 - 37
src/views/studentManager/components/teamAndcourse.vue

@@ -1,14 +1,18 @@
 <template>
   <div>
     <div class="tabTopWrap">
-      <el-table :data='musicGroupInfo' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-        <el-table-column align='center' prop="musicGroupId"
+      <el-table :data='musicGroupInfo'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column align='center'
+                         prop="musicGroupId"
                          label="乐团编号">
         </el-table-column>
-        <el-table-column align='center' prop="joinMusicGroupDate"
+        <el-table-column align='center'
+                         prop="joinMusicGroupDate"
                          label="入团时间">
         </el-table-column>
-        <el-table-column align='center' prop="musicGroupName"
+        <el-table-column align='center'
+                         prop="musicGroupName"
                          label="乐团名称">
         </el-table-column>
         <el-table-column align='center'
@@ -17,10 +21,12 @@
             {{ scope.row.musicGroupStatus | musicGroupType }}
           </template>
         </el-table-column>
-        <el-table-column align='center' prop="subjectName"
+        <el-table-column align='center'
+                         prop="subjectName"
                          label="专业">
         </el-table-column>
-        <el-table-column align='center' prop=""
+        <el-table-column align='center'
+                         prop=""
                          label="乐器来源">
           <template slot-scope="scope">
             {{ scope.row.kitPurchaseMethod | instrumentType }}
@@ -35,7 +41,8 @@
         <el-table-column align='center'
                          label="所选乐器">
           <template slot-scope="scope">
-            <span v-for="good in scope.row.userGoodsDtos" :key="good.goodsId">
+            <span v-for="good in scope.row.userGoodsDtos"
+                  :key="good.goodsId">
               {{ good.goodsName | joinArray(',') }}
             </span>
             {{ scope.row.kitPurchaseMethod == 'LEASE' ? '(租赁:' + scope.row.depositFee + ')' : '' }}
@@ -44,35 +51,46 @@
         <el-table-column align='center'
                          label="操作">
           <template slot-scope="scope">
-            <el-button @click="onCourse(scope.row)" type="text">排课详情</el-button>
+            <el-button @click="onCourse(scope.row)"
+                       type="text">排课详情</el-button>
           </template>
         </el-table-column>
       </el-table>
     </div>
     <!-- 搜索类型 -->
-    <el-form v-if="coursesShow" :inline="true"
+    <el-form v-if="coursesShow"
+             :inline="true"
              class="searchForm"
              v-model="searchForm">
       <el-form-item>
-        <el-select v-model="searchForm.classGroupType" placeholder="课程类型">
-          <el-option v-for="(item, index) in courseArray" :key="index" 
-            :label="item.label" :value="item.value"></el-option>
+        <el-select v-model="searchForm.classGroupType"
+                   placeholder="课程类型">
+          <el-option v-for="(item, index) in courseArray"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-select v-model="searchForm.courseStatus" placeholder="课程状态">
-          <el-option v-for="(item, index) in courseStatus" :key="index" 
-            :label="item.label" :value="item.value"></el-option>
+        <el-select v-model="searchForm.courseStatus"
+                   placeholder="课程状态">
+          <el-option v-for="(item, index) in courseStatus"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-input placeholder="班级名称" v-model="searchForm.classGroupName"></el-input>
+        <el-input placeholder="班级名称"
+                  v-model="searchForm.classGroupName"></el-input>
       </el-form-item>
       <el-form-item>
-        <el-input placeholder="老师姓名" v-model="searchForm.teacherName"></el-input>
+        <el-input placeholder="老师姓名"
+                  v-model="searchForm.teacherName"></el-input>
       </el-form-item>
       <el-form-item>
-        <div @click="getStudentCourses" class='searchBtn'>搜索</div>
+        <div @click="search"
+             class='searchBtn'>搜索</div>
       </el-form-item>
     </el-form>
     <!-- 查询列表 -->
@@ -85,15 +103,20 @@
         <i class="el-icon-close"></i>
       </div>
     </div> -->
-    <div v-if="coursesShow" class="tableWrap">
-      <el-table :data='coursesInfo' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-        <el-table-column align='center' prop="classGroupId"
+    <div v-if="coursesShow"
+         class="tableWrap">
+      <el-table :data='coursesInfo'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column align='center'
+                         prop="classGroupId"
                          label="编号">
         </el-table-column>
-        <el-table-column align='center' prop="courseDate"
+        <el-table-column align='center'
+                         prop="courseDate"
                          label="时间">
         </el-table-column>
-        <el-table-column align='center' prop="classGroupName"
+        <el-table-column align='center'
+                         prop="classGroupName"
                          label="班级名称">
         </el-table-column>
         <el-table-column align='center'
@@ -108,15 +131,16 @@
             {{ scope.row.courseStatus | coursesStatus }}
           </template>
         </el-table-column>
-        <el-table-column align='center' prop="teacherName"
+        <el-table-column align='center'
+                         prop="teacherName"
                          label="老师姓名">
         </el-table-column>
       </el-table>
       <pagination :total="pageInfo.total"
-                    :page.sync="pageInfo.page"
-                    :limit.sync="pageInfo.limit"
-                    :page-sizes="pageInfo.page_size"
-                    @pagination="getStudentCourses"  />
+                  :page.sync="pageInfo.page"
+                  :limit.sync="pageInfo.limit"
+                  :page-sizes="pageInfo.page_size"
+                  @pagination="getStudentCourses" />
     </div>
   </div>
 </template>
@@ -148,9 +172,9 @@ export default {
         { label: '试听课', value: 'DEMO' }
       ],
       courseStatus: [
-        { value: "NOT_START", label: "未开始"},
-        { value: "UNDERWAY", label: "进行中"},
-        { value: "OVER", label: "已结束"}
+        { value: "NOT_START", label: "未开始" },
+        { value: "UNDERWAY", label: "进行中" },
+        { value: "OVER", label: "已结束" }
       ],
       pageInfo: {
         // 分页规则
@@ -162,18 +186,18 @@ export default {
 
     }
   },
-  mounted() {
+  mounted () {
     this.__init()
   },
   methods: {
-    __init() {
+    __init () {
       findStudentMusicGroups({ userId: this.userId }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.musicGroupInfo = res.data
         }
       })
     },
-    onCourse(row) {
+    onCourse (row) {
       this.coursesShow = true
       this.searchForm = {
         studentId: this.$route.query.userId,
@@ -185,12 +209,16 @@ export default {
       }
       this.getStudentCourses()
     },
-    getStudentCourses() {
+    search () {
+      this.pageInfo.page = 1;
+      this.getStudentCourses();
+    },
+    getStudentCourses () {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
       findStudentCourses(params).then(res => {
-        if(res.code ==200) {
+        if (res.code == 200) {
           this.coursesInfo = res.data.rows
           this.pageInfo.total = res.data.total
         }

+ 2 - 0
src/views/studentManager/studentList.vue

@@ -114,12 +114,14 @@ export default {
   },
   methods: {
     onSearch () {
+      this.pageInfo.page = 1;
       this.getList()
     },
     getList () {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
+      params.organId ? params.organId : params.organId = null;
       queryStudentList(params).then(res => {
         if (res.code == 200) {
           this.tableList = res.data.rows

+ 31 - 23
src/views/teacherManager/teacherDetail/components/leaveRecord.vue

@@ -16,24 +16,28 @@
              v-model="searchForm">
       <el-form-item>
         <el-date-picker style="width: 400px;"
-          v-model="courseDate"
-          type="daterange"
-          value-format="yyyy-MM-dd"
-          @change="searchCourseDate"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期">
+                        v-model="courseDate"
+                        type="daterange"
+                        value-format="yyyy-MM-dd"
+                        @change="searchCourseDate"
+                        range-separator="至"
+                        start-placeholder="开始日期"
+                        end-placeholder="结束日期">
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList" 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 class="tableWrap">
-      <el-table :data='tableList' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-        <el-table-column align='center' prop="createTime"
+      <el-table :data='tableList'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column align='center'
+                         prop="createTime"
                          label="请假发起时间">
         </el-table-column>
         <el-table-column align='center'
@@ -42,15 +46,16 @@
             {{ scope.row.startTime }} - {{ scope.row.endTime }}
           </template>
         </el-table-column>
-        <el-table-column align='center' prop="remark"
+        <el-table-column align='center'
+                         prop="remark"
                          label="请假说明">
         </el-table-column>
       </el-table>
       <pagination :total="pageInfo.total"
-                :page.sync="pageInfo.page"
-                :limit.sync="pageInfo.limit"
-                :page-sizes="pageInfo.page_size"
-                @pagination="getList" />
+                  :page.sync="pageInfo.page"
+                  :limit.sync="pageInfo.limit"
+                  :page-sizes="pageInfo.page_size"
+                  @pagination="getList" />
     </div>
   </div>
 </template>
@@ -85,24 +90,27 @@ export default {
       }
     }
   },
-  mounted() {
+  mounted () {
     this.getList()
   },
   methods: {
-    getList() {
+    search () {
+      this.pageInfo.page = 1;
+    },
+    getList () {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page,
-      params.teacherId = this.teacherId
+        params.teacherId = this.teacherId
       teacherLeaveRecordQuery(params).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    searchCourseDate(value) {
-      if(value) {
+    searchCourseDate (value) {
+      if (value) {
         this.searchForm.startTime = value[0]
         this.searchForm.endTime = value[1]
       } else {
@@ -110,7 +118,7 @@ export default {
         this.searchForm.endTime = null
       }
     },
-    onReSet() {
+    onReSet () {
       this.courseDate = null
       this.searchForm = {
         startTime: null,

+ 86 - 52
src/views/teacherManager/teacherDetail/components/settlement.vue

@@ -10,42 +10,51 @@
     <el-form :inline="true"
              :model="searchForm">
       <el-form-item>
-        <el-date-picker
-          v-model="courseDate"
-          style="width: 400px;"
-          type="daterange"
-          value-format="yyyy-MM-dd"
-          @change="searchCourseDate"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期">
+        <el-date-picker v-model="courseDate"
+                        style="width: 400px;"
+                        type="daterange"
+                        value-format="yyyy-MM-dd"
+                        @change="searchCourseDate"
+                        range-separator="至"
+                        start-placeholder="开始日期"
+                        end-placeholder="结束日期">
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-select v-model="searchForm.courseScheduleType" placeholder="课程类型">
-          <el-option v-for="(item, index) in courseType" :key="index" 
-            :label="item.label" :value="item.value"></el-option>
+        <el-select v-model="searchForm.courseScheduleType"
+                   placeholder="课程类型">
+          <el-option v-for="(item, index) in courseType"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-select v-model="searchForm.signInStatus" placeholder="考勤状态">
-          <el-option v-for="(item, index) in attendance" :key="index" 
-            :label="item.label" :value="item.value"></el-option>
+        <el-select v-model="searchForm.signInStatus"
+                   placeholder="考勤状态">
+          <el-option v-for="(item, index) in attendance"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList" 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 class="tableWrap">
-      <el-table :data="tableList" :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+      <el-table :data="tableList"
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
         <el-table-column label="上课时间">
           <template slot-scope="scope">
             {{ scope.row.classDate }} {{ scope.row.classTime }}
           </template>
         </el-table-column>
-        <el-table-column label="班级名称" prop="className">
+        <el-table-column label="班级名称"
+                         prop="className">
         </el-table-column>
         <el-table-column label="课程类型">
           <template slot-scope="scope">
@@ -57,16 +66,19 @@
             {{ scope.row.teacherRole | workType }}
           </template>
         </el-table-column>
-        <el-table-column label="当前课次" prop="currentClassTimes">
+        <el-table-column label="当前课次"
+                         prop="currentClassTimes">
         </el-table-column>
         <el-table-column label="考勤状态">
           <template slot-scope="scope">
             {{ scope.row.signInStatus | attendanceType }}
           </template>
         </el-table-column>
-        <el-table-column label="老师课酬" prop="actualSalary">
+        <el-table-column label="老师课酬"
+                         prop="actualSalary">
         </el-table-column>
-        <el-table-column label="课时补贴" prop="subsidy">
+        <el-table-column label="课时补贴"
+                         prop="subsidy">
         </el-table-column>
         <el-table-column label="结算状态">
           <template slot-scope="scope">
@@ -75,34 +87,52 @@
         </el-table-column>
         <el-table-column label="操作">
           <template slot-scope="scope">
-            <el-button @click="onUpdate(scope.row)" type="text">课酬调整</el-button>
+            <el-button @click="onUpdate(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" />
+                  :page.sync="pageInfo.page"
+                  :limit.sync="pageInfo.limit"
+                  :page-sizes="pageInfo.page_size"
+                  @pagination="getList" />
     </div>
-    <el-dialog title="课酬调整" :visible.sync="settlementStatus" @close="onFormClose('ruleForm')" width="500px">
-      <el-form :model="form" :rules="rules" ref="ruleForm">
-        <el-form-item label="课酬调整为" prop="salary" :label-width="formLabelWidth">
-          <el-input v-model="form.salary" type="number" autocomplete="off"></el-input>
+    <el-dialog title="课酬调整"
+               :visible.sync="settlementStatus"
+               @close="onFormClose('ruleForm')"
+               width="500px">
+      <el-form :model="form"
+               :rules="rules"
+               ref="ruleForm">
+        <el-form-item label="课酬调整为"
+                      prop="salary"
+                      :label-width="formLabelWidth">
+          <el-input v-model="form.salary"
+                    type="number"
+                    autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="课时补贴调整为" prop="subsidy" :label-width="formLabelWidth">
-          <el-input v-model="form.subsidy" type="number" autocomplete="off"></el-input>
+        <el-form-item label="课时补贴调整为"
+                      prop="subsidy"
+                      :label-width="formLabelWidth">
+          <el-input v-model="form.subsidy"
+                    type="number"
+                    autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="调整范围" prop="scope" :label-width="formLabelWidth">
+        <el-form-item label="调整范围"
+                      prop="scope"
+                      :label-width="formLabelWidth">
           <el-radio-group v-model="form.scope">
             <el-radio label="one">仅限本次</el-radio>
             <el-radio label="all">之后剩余课次</el-radio>
           </el-radio-group>
         </el-form-item>
       </el-form>
-      <span slot="footer" class="dialog-footer">
+      <span slot="footer"
+            class="dialog-footer">
         <el-button @click="settlementStatus = false">取 消</el-button>
-        <el-button @click="onSettlementSubmit('ruleForm')" type="primary">确 定</el-button>
+        <el-button @click="onSettlementSubmit('ruleForm')"
+                   type="primary">确 定</el-button>
       </span>
     </el-dialog>
   </div>
@@ -147,32 +177,36 @@ export default {
         scope: 'one',
       },
       rules: {
-        salary: [{required: true, message: '请输入课酬', trigger: 'blur'}],
-        subsidy: [{required: true, message: '请输入课时补贴', trigger: 'blur'}],
-        scope: [{required: true, message: '请选择调整范围', trigger: 'change'}],
+        salary: [{ required: true, message: '请输入课酬', trigger: 'blur' }],
+        subsidy: [{ required: true, message: '请输入课时补贴', trigger: 'blur' }],
+        scope: [{ required: true, message: '请选择调整范围', trigger: 'change' }],
       }
     }
   },
-  mounted() {
+  mounted () {
     this.getList()
     sumTeacherNoPay({ teacherId: this.teacherId }).then(res => {
-      if(res.code == 200) {
+      if (res.code == 200) {
         this.teacherNoPay = res.data
       }
     })
   },
   methods: {
-    onSettlementSubmit(formName) {
+    search () {
+      this.pageInfo.page = 1;
+      this.getList();
+    },
+    onSettlementSubmit (formName) {
       this.$refs[formName].validate(valid => {
-        if(!valid) return
+        if (!valid) return
         this.form.teacherId = this.teacherId
         updateTeacherCoursesSalary(this.form).then(res => {
           this.messageTips('修改', res)
         })
       })
     },
-    messageTips(title, res) {
-      if(res.code == 200) {
+    messageTips (title, res) {
+      if (res.code == 200) {
         this.$message({
           message: title + '成功',
           type: 'success'
@@ -183,20 +217,20 @@ export default {
         this.$message.error(res.msg)
       }
     },
-    getList() {
+    getList () {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
       params.teacherId = this.teacherId
       teacherQueryCloses(params).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    searchCourseDate(value) {
-      if(value) {
+    searchCourseDate (value) {
+      if (value) {
         this.searchForm.courseStartDate = value[0]
         this.searchForm.courseEndDate = value[1]
       } else {
@@ -204,14 +238,14 @@ export default {
         this.searchForm.courseEndDate = null
       }
     },
-    onFormClose(formName) { // 关闭弹窗重置验证
+    onFormClose (formName) { // 关闭弹窗重置验证
       this.$refs[formName].resetFields()
     },
-    onUpdate(row) {
+    onUpdate (row) {
       this.form.courseScheduleId = row.courseScheduleId
       this.settlementStatus = true
     },
-    onReSet() { 
+    onReSet () {
       this.courseDate = null
       this.searchForm = {
         courseStartDate: null,

+ 46 - 30
src/views/teacherManager/teacherDetail/components/teacherRecord.vue

@@ -6,40 +6,49 @@
              v-model="searchForm">
       <el-form-item>
         <el-date-picker style="width: 400px;"
-          v-model="courseDate"
-          type="daterange"
-          value-format="yyyy-MM-dd"
-          @change="searchCourseDate"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期">
+                        v-model="courseDate"
+                        type="daterange"
+                        value-format="yyyy-MM-dd"
+                        @change="searchCourseDate"
+                        range-separator="至"
+                        start-placeholder="开始日期"
+                        end-placeholder="结束日期">
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-select v-model="searchForm.courseScheduleType" placeholder="课程类型">
-          <el-option v-for="(item, index) in courseType" :key="index" 
-            :label="item.label" :value="item.value"></el-option>
+        <el-select v-model="searchForm.courseScheduleType"
+                   placeholder="课程类型">
+          <el-option v-for="(item, index) in courseType"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-input placeholder="课程名称" v-model="searchForm.classGroupName"></el-input>
+        <el-input placeholder="课程名称"
+                  v-model="searchForm.classGroupName"></el-input>
       </el-form-item>
       <el-form-item>
         <el-select v-model="searchForm.signInStatus"
                    placeholder="考勤状态">
-          <el-option v-for="(item, index) in attendance" :key="index" 
-            :label="item.label" :value="item.value"></el-option>
+          <el-option v-for="(item, index) in attendance"
+                     :key="index"
+                     :label="item.label"
+                     :value="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList" 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 class="tableWrap">
       <div class="tableWrap">
-        <el-table :data='tableList' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table :data='tableList'
+                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
           <el-table-column align='center'
                            label="上课时间">
             <template slot-scope="scope">
@@ -52,23 +61,26 @@
               {{ scope.row.type | coursesType }}
             </template>
           </el-table-column>
-          <el-table-column align='center' prop="name"
+          <el-table-column align='center'
+                           prop="name"
                            label="课程名称">
           </el-table-column>
-          <el-table-column align='center' label="签到状态">
+          <el-table-column align='center'
+                           label="签到状态">
             <template slot-scope="scope">
               {{ scope.row.status | attendanceType }}
             </template>
           </el-table-column>
-          <el-table-column align='center' prop="remark"
+          <el-table-column align='center'
+                           prop="remark"
                            label="备注">
           </el-table-column>
         </el-table>
         <pagination :total="pageInfo.total"
-                :page.sync="pageInfo.page"
-                :limit.sync="pageInfo.limit"
-                :page-sizes="pageInfo.page_size"
-                @pagination="getList" />
+                    :page.sync="pageInfo.page"
+                    :limit.sync="pageInfo.limit"
+                    :page-sizes="pageInfo.page_size"
+                    @pagination="getList" />
       </div>
     </div>
   </div>
@@ -106,24 +118,28 @@ export default {
       }
     }
   },
-  mounted() {
+  mounted () {
     this.getList()
   },
   methods: {
-    getList() {
+    search () {
+      this.pageInfo.page = 1;
+      this.getList();
+    },
+    getList () {
       let params = this.searchForm
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page,
-      params.teacherId = this.teacherId
+        params.teacherId = this.teacherId
       getTeacherPersonalAttendances(params).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    searchCourseDate(value) {
-      if(value) {
+    searchCourseDate (value) {
+      if (value) {
         this.searchForm.courseStartDate = value[0]
         this.searchForm.courseEndDate = value[1]
       } else {
@@ -131,7 +147,7 @@ export default {
         this.searchForm.courseEndDate = null
       }
     },
-    onReSet() { 
+    onReSet () {
       this.courseDate = null
       this.searchForm = {
         courseStartDate: null,

+ 78 - 50
src/views/teacherManager/teacherList.vue

@@ -2,65 +2,83 @@
   <div class="m-container">
     <h2>老师列表</h2>
     <div class="m-core">
-      <div class="newBand" @click="onTeacher('create')">老师新增</div>
+      <div class="newBand"
+           @click="onTeacher('create')">老师新增</div>
       <!-- 搜索标题 -->
       <el-form :inline="true"
                class="searchForm"
                v-model="searchForm">
         <el-form-item>
-          <el-select v-model="searchForm.lockFlag" placeholder="老师状态">
-            <el-option v-for="item in teacherStatus" :key="item.value" 
-              :label="item.label" :value="item.value"></el-option>
+          <el-select v-model="searchForm.lockFlag"
+                     placeholder="老师状态">
+            <el-option v-for="item in teacherStatus"
+                       :key="item.value"
+                       :label="item.label"
+                       :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="searchForm.subjectId" placeholder="专业技能">
-            <el-option-group
-                v-for="group in subjectList"
-                :key="group.label"
-                :label="group.label">
-                <el-option
-                  v-for="item in group.options"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-option-group>
+          <el-select v-model="searchForm.subjectId"
+                     placeholder="专业技能">
+            <el-option-group v-for="group in subjectList"
+                             :key="group.label"
+                             :label="group.label">
+              <el-option v-for="item in group.options"
+                         :key="item.value"
+                         :label="item.label"
+                         :value="item.value">
+              </el-option>
+            </el-option-group>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="searchForm.organId"  placeholder="所属分部">
-            <el-option v-for="item in branchList" :key="item.value" 
-              :label="item.label" :value="item.value"></el-option>
+          <el-select v-model="searchForm.organId"
+                     placeholder="所属分部">
+            <el-option v-for="item in branchList"
+                       :key="item.value"
+                       :label="item.label"
+                       :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="searchForm.jobNature" placeholder="工作类型">
-            <el-option v-for="item in jobNature" :key="item.value" 
-              :label="item.label" :value="item.value"></el-option>
+          <el-select v-model="searchForm.jobNature"
+                     placeholder="工作类型">
+            <el-option v-for="item in jobNature"
+                       :key="item.value"
+                       :label="item.label"
+                       :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="searchForm.isProbationPeriod" placeholder="人事状态">
-            <el-option label="试用" value="0"></el-option>
-            <el-option label="正式" value="1"></el-option>
+          <el-select v-model="searchForm.isProbationPeriod"
+                     placeholder="人事状态">
+            <el-option label="试用"
+                       value="0"></el-option>
+            <el-option label="正式"
+                       value="1"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="getList" 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 class="tableWrap">
-        <el-table :data='tableList' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-          <el-table-column align='center' prop="id"
+        <el-table :data='tableList'
+                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+          <el-table-column align='center'
+                           prop="id"
                            label="老师编号">
           </el-table-column>
-          <el-table-column align='center' prop="realName"
+          <el-table-column align='center'
+                           prop="realName"
                            label="老师名称">
           </el-table-column>
-          <el-table-column align='center' prop="subjectId"
+          <el-table-column align='center'
+                           prop="subjectId"
                            label="老师状态">
             <template slot-scope="scope">
               {{ scope.row.lockFlag == 1 ? '冻结' : '正常' }}
@@ -69,10 +87,12 @@
           <el-table-column align='center'
                            label="专业技能">
             <template slot-scope="scope">
-              <span style="max-height: 68px;display: block;" :title="scope.row.splitSubjectName">{{ scope.row.splitSubjectName }}</span>
+              <span style="max-height: 68px;display: block;"
+                    :title="scope.row.splitSubjectName">{{ scope.row.splitSubjectName }}</span>
             </template>
           </el-table-column>
-          <el-table-column align='center' prop="phone"
+          <el-table-column align='center'
+                           prop="phone"
                            label="联系电话">
           </el-table-column>
           <el-table-column align='center'
@@ -87,7 +107,8 @@
               {{ scope.row.isProbationPeriod ? '正式' : '试用' }}
             </template>
           </el-table-column>
-          <el-table-column align='center' prop="vipNum"
+          <el-table-column align='center'
+                           prop="vipNum"
                            label="已开小课">
           </el-table-column>
           <el-table-column align='center'
@@ -99,9 +120,12 @@
           <el-table-column align='center'
                            label="操作">
             <template slot-scope="scope">
-              <router-link style="color:#409EFF" :to="`/business/teacherDetail?teacherId=${scope.row.id}&teacherName=${scope.row.realName}`">查看</router-link>
-              <el-button @click="onTeacher('update', scope.row)" type="text">修改</el-button>
-              <el-button @click="onStaffOperation('LOCK_UNLOCK', scope.row)" type="text">{{ scope.row.lockFlag == 1 ? '解冻' : '冻结' }}</el-button>
+              <router-link style="color:#409EFF"
+                           :to="`/business/teacherDetail?teacherId=${scope.row.id}&teacherName=${scope.row.realName}`">查看</router-link>
+              <el-button @click="onTeacher('update', scope.row)"
+                         type="text">修改</el-button>
+              <el-button @click="onStaffOperation('LOCK_UNLOCK', scope.row)"
+                         type="text">{{ scope.row.lockFlag == 1 ? '解冻' : '冻结' }}</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -150,17 +174,21 @@ export default {
       },
     }
   },
-  mounted() {
+  mounted () {
     this.__init()
     this.getList()
   },
   methods: {
-    __init() {
+    search () {
+      this.pageInfo.page = 1;
+      this.getList();
+    },
+    __init () {
       branchQueryPage({ // 获取分部
         delFlag: 0,
         rows: 9999
       }).then(res => {
-        if(res.code == 200 && res.data && res.data.rows) {
+        if (res.code == 200 && res.data && res.data.rows) {
           res.data.rows.forEach(item => {
             this.branchList.push({
               label: item.name,
@@ -175,7 +203,7 @@ export default {
         rows: 9999
       }).then(res => {
         let result = res.data
-        if(res.code == 200) {
+        if (res.code == 200) {
           let tempArray = []
           result.rows.forEach((item, index) => {
             let subject = []
@@ -185,7 +213,7 @@ export default {
                 label: s.name
               })
             })
-            
+
             tempArray[index] = {
               label: item.name,
               options: subject
@@ -195,11 +223,11 @@ export default {
         }
       })
     },
-    onTeacher(type, row) {
+    onTeacher (type, row) {
       let params = {
         type: type
       }
-      if(row) {
+      if (row) {
         params.teacherId = row.id
       }
       this.$router.push({
@@ -213,18 +241,18 @@ export default {
       params.rows = this.pageInfo.limit
       params.page = this.pageInfo.page
       teacherQueryPage(params).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    onStaffOperation(type, data) {
-      employeeOperate({ 
+    onStaffOperation (type, data) {
+      employeeOperate({
         employeeId: data.id,
         operate: type
       }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.$message({
             message: '更改成功',
             type: 'success'
@@ -236,7 +264,7 @@ export default {
         }
       })
     },
-    onReSet() {
+    onReSet () {
       this.searchForm = {
         lockFlag: null,
         isProbationPeriod: null,
@@ -249,7 +277,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.el-button+.el-button {
+.el-button + .el-button {
   margin-left: 0;
 }
 </style>

+ 21 - 10
src/views/teamBuild/components/teamBaseInfo.vue

@@ -61,21 +61,23 @@
                       prop='boss'
                       :rules="[{ required: true, message: '运营主管不能为空'},]">
           <el-select v-model="topFrom.boss"
+                     filterable
                      clearable>
-            <el-option v-for="(item,index) in teacherList"
+            <el-option v-for="(item,index) in orgianList"
                        :key='index'
-                       :label="item.username"
+                       :label="item.realName"
                        :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="教务老师"
                       prop='teacher'
-                      :rules="[{ required: true, message: '教老师不能为空'},]">
+                      :rules="[{ required: true, message: '教老师不能为空'},]">
           <el-select v-model="topFrom.teacher"
+                     filterable
                      clearable>
-            <el-option v-for="(item,index) in teacherList"
+            <el-option v-for="(item,index) in orgianList"
                        :key='index'
-                       :label="item.username"
+                       :label="item.realName"
                        :value="item.id"></el-option>
           </el-select>
         </el-form-item>
@@ -140,21 +142,21 @@
                       prop="isClass">
           <el-checkbox v-model="topFrom.isClass">课堂课乐团</el-checkbox>
         </el-form-item>
-        <el-form-item label="教学主任"
+        <el-form-item label="  乐队指导"
                       v-if="teamStatus=='resetTeam' || teamStatus=='teamList'"
                       prop='head'>
           <el-select v-model="topFrom.head"
+                     filterable
                      clearable>
-            <el-option v-for="(item,index) in teacherList"
+            <el-option v-for="(item,index) in orgianList"
                        :key='index'
-                       :label="item.username"
+                       :label="item.realName"
                        :value="item.id"></el-option>
           </el-select>
         </el-form-item>
       </el-form>
       <div class="checkList">
         <div class="head noMargin">课程组成形态:</div>
-
         <div class="checkRow">
           <el-checkbox label="乐团声部训练"
                        v-model="checkList.soundInfo.ischeck"></el-checkbox>
@@ -367,6 +369,7 @@
 </template>
 <script>
 import { getSection, getType, getCooperation, getTeacher, getAddress, getPayMaster, getPayStatus, getTeamBaseInfo, resetTeamBaseInfo } from '@/api/buildTeam'
+import { queryEmployByOrganId } from '@/api/systemManage'
 import { scrollTo } from '@/utils/scroll-to'
 import axios from 'axios'
 import store from '@/store'
@@ -445,7 +448,8 @@ export default {
       },
       activeTeam: [],
       teamid: '',
-      teamStatus: ''
+      teamStatus: '',
+      orgianList: []
     }
   },
   created () {
@@ -560,6 +564,13 @@ export default {
     // })
     // 缓存设置时的状态
     sessionStorage.setItem('resetCode', '1')
+
+    // 获取分部下的员工
+    queryEmployByOrganId({ organId: this.$store.getters.organ }).then(res => {
+      if (res.code == 200) {
+        this.orgianList = res.data.rows;
+      }
+    })
   },
   methods: {
     chioseSchool (val) {

+ 5 - 1
src/views/teamBuild/signupList.vue

@@ -59,7 +59,7 @@
         <!-- 专业actualSubjectId 调剂isAllowAdjust 手机号name -->
         <el-form-item>
           <div class='searchBtn'
-               @click='getList'>搜索</div>
+               @click='search'>搜索</div>
         </el-form-item>
       </el-form>
     </div>
@@ -449,6 +449,10 @@ export default {
     this.getList()
   },
   methods: {
+    search () {
+      this.rules.page = 1;
+      this.getList();
+    },
     getList () {
       let obj = {
         musicGroupId: this.id,

+ 30 - 3
src/views/teamBuild/teamSeting/components/improvementClass.vue

@@ -30,9 +30,11 @@
     <div class="tableWrap">
       <el-table :data="tableList">
         <el-table-column prop="name"
+                         align="center"
                          label="基础技能班名称">
         </el-table-column>
         <el-table-column prop="subjectIdList"
+                         align="center"
                          label="声部">
           <template slot-scope="scope">
             <div>
@@ -41,6 +43,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="userId"
+                         align="center"
                          label="主教老师">
           <template slot-scope="scope">
             <div>
@@ -48,10 +51,12 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="courseTimes"
+        <el-table-column prop="expectStudentNum"
+                         align="center"
                          label="班级人数">
         </el-table-column>
         <el-table-column prop="date"
+                         align="center"
                          label="上课时间">
           <template slot-scope="scope">
             <div>
@@ -60,6 +65,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="date"
+                         align="center"
                          label="操作">
           <template slot-scope="scope">
             <div>
@@ -110,7 +116,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="班级人数"
-                      prop="count">
+                      prop="studentNum">
           <el-input v-model="maskForm.count"
                     type="number"
                     style='width:180px;'></el-input>
@@ -137,6 +143,7 @@
         <el-form-item label="时间段"
                       prop="startTime">
           <el-time-select placeholder="起始时间"
+                          value-format='HH:mm:ss'
                           v-model="maskForm.startTime"
                           :picker-options="{
                             start: '06:30',
@@ -146,6 +153,7 @@
           </el-time-select>
           <el-time-select placeholder="结束时间"
                           v-model="maskForm.endTime"
+                          value-format='HH:mm:ss'
                           :picker-options="{
                             start: '06:30',
                             step: '00:15',
@@ -165,7 +173,7 @@
   </div>
 </template>
 <script>
-import { findSound, findMusicGroupClassTeacher, getTeacher, getTeamDetail, addHighClass } from '@/api/buildTeam'
+import { findSound, findMusicGroupClassTeacher, getTeacher, getTeamDetail, addHighClass, highClassGroups } from '@/api/buildTeam'
 let that;
 export default {
   props: {
@@ -234,6 +242,16 @@ export default {
         this.topForm.improventClassesNum = res.data.improventClassesNum;
       }
     });
+    // 获取提高班列表
+    highClassGroups({ musicGroupId: this.teamid }).then(res => {
+      if (res.code == 200) {
+        this.tableList = res.data;
+        for (let i in this.tableList) {
+          this.tableList[i].endClassTime = this.tableList[i].endClassTime.substring(0, this.tableList[i].endClassTime.length - 3);
+          this.tableList[i].startClassTime = this.tableList[i].startClassTime.substring(0, this.tableList[i].startClassTime.length - 3);
+        }
+      }
+    })
   },
   methods: {
     addraiseClass () {
@@ -271,6 +289,9 @@ export default {
         if (this.tableList[i].moid == row.moid) {
           this.tableList.splice(i, 1);
         }
+        if (this.tableList[i].id == row.id) {
+          this.tableList.splice(i, 1);
+        }
       }
     },
     addClass () {
@@ -283,6 +304,12 @@ export default {
           for (let i in this.tableList) {
             this.tableList[i].startDate = this.topForm.timer;
           }
+
+          let count = this.tableList.length;
+          if (count > this.topForm.improventClassesNum) {
+            this.$message.error(`基础技能班不能超过${this.topForm.improventClassesNum}个`)
+            return
+          }
           addHighClass(this.tableList).then(res => {
             if (res.code == 200) {
               this.$message.success('恭喜您创建成功')

+ 2 - 2
src/views/teamBuild/teamSeting/components/salarySet.vue

@@ -88,7 +88,7 @@
               <div v-for="(item,index) in scope.row.teacherDefaultMusicGroupSalaryList"
                    v-if="scope.row.teacherRole =='TEACHING'"
                    style="display: table-cell;"
-                   :key='index'>
+                   :key='item.id'>
                 <!-- 梯度{{index+1}}: -->
                 <span>课酬:</span>
                 <el-input style="width: 80px;margin-right:10px"
@@ -98,7 +98,7 @@
               <div v-for="(item,index) in scope.row.teacherDefaultMusicGroupSalaryList"
                    v-if="scope.row.teacherRole =='BISHOP'"
                    style="display: table-cell;"
-                   :key='index'>
+                   :key='item.id'>
                 <span>课酬:</span>
                 <el-input style="width: 80px;margin-right:10px"
                           v-model="scope.row.teacherDefaultMusicGroupSalaryList[index].mainTeacher90MinSalary"></el-input>

+ 10 - 8
src/views/teamBuild/teamSeting/components/setClass.vue

@@ -80,11 +80,11 @@
       <div class="centerInfo">
 
         <div class="btnWrap">
-          <el-form :inline="true">
+          <!-- <el-form :inline="true">
             <el-form-item label="基础技能班数">
               <el-input v-model="hightNum"></el-input>
             </el-form-item>
-          </el-form>
+          </el-form> -->
           <div class="okBtn"
                @click="getNoclassSign">添加</div>
           <div class="setBtn"
@@ -163,6 +163,7 @@
                      :label="item.id">{{ item.name }}</el-checkbox>
       </el-checkbox-group>
       <el-form :model="allList"
+               ref="allRules"
                style="margin-top:30px;"
                :rules="allRules"
                :inline="true">
@@ -186,10 +187,11 @@
       <el-form :inline="true"
                ref='teacherForm'
                :model="teacherForm">
-        <el-form-item label="教学主任"
+        <el-form-item label="乐队指导"
                       prop='name'
-                      :rules="[{required: true, message: '请选择教学主任', trigger: 'blur'}]">
+                      :rules="[{required: true, message: '请选择乐队指导', trigger: 'blur'}]">
           <el-select v-model="teacherForm.name"
+                     filterable
                      clearable>
             <el-option v-for="(item,index) in teacherList"
                        :key="index"
@@ -481,10 +483,10 @@ export default {
     },
     gotoNext () {
       // 跳转到下一步
-      if (!this.hightNum) {
-        this.$message.error('基础技能班数必填');
-        return
-      }
+      // if (!this.hightNum) {
+      //   this.$message.error('基础技能班数必填');
+      //   return
+      // }
       this.$refs['teacherForm'].validate(res => {
         if (res) {
           // 发请求

+ 4 - 0
src/views/teamBuild/teamSeting/components/setTeacher.vue

@@ -25,6 +25,7 @@
           <template slot-scope="scope">
             <div>
               <el-select v-model="scope.row.coreTeacher"
+                         filterable
                          clearable
                          @change="setCoreTeacher"
                          v-if='teacherList'>
@@ -41,6 +42,7 @@
           <template slot-scope="scope">
             <div>
               <el-select class='tableClass'
+                         filterable
                          @change="chioseAssistant(scope.row)"
                          v-if='teacherList'
                          :disabled="!scope.row.coreTeacher"
@@ -70,6 +72,7 @@
             <div>
               <el-select v-model="scope.row.coreTeacher"
                          clearable
+                         filterable
                          v-if='teacherList'>
                 <el-option v-for='(item,index) in teacherList'
                            :label="item.username"
@@ -87,6 +90,7 @@
               <el-select class='tableClass'
                          @change="chioseAssistant(scope.row)"
                          multiple
+                         filterable
                          :disabled="!scope.row.coreTeacher"
                          v-model="scope.row.assistant">
                 <el-option v-for='(item,index) in teacherList'

+ 13 - 4
src/views/teamDetail/components/courseList.vue

@@ -48,7 +48,7 @@
       </el-form-item>
       <el-form-item>
         <div class='searchBtn'
-             @click="getList">搜索</div>
+             @click="search">搜索</div>
       </el-form-item>
     </el-form>
     <!-- 列表 -->
@@ -138,6 +138,7 @@
                label-width="80px;"
                :inline="true">
         <el-form-item label="主教老师"
+                      filterable
                       prop="teacher">
           <el-select v-model="maskForm.teacher">
             <el-option v-for="(item,index) in teacherList"
@@ -149,6 +150,7 @@
         <el-form-item label="助教老师"
                       prop="assistant">
           <el-select v-model="maskForm.assistant"
+                     filterable
                      multiple
                      collapse-tags>
             <el-option v-for="(item,index) in teacherList"
@@ -261,6 +263,10 @@ export default {
         timer:[] // 时间
      * 
      */
+    search () {
+      this.rules.page = 1;
+      this.getList();
+    },
     getList () {
       if (!this.searchForm.timer) {
         this.searchForm.timer = []
@@ -292,9 +298,12 @@ export default {
        */
       console.log(row);
       this.maskForm.teacher = parseInt(row.masterTeacherId);
-      this.maskForm.assistant = row.teachingTeachers.map(item => {
-        return item.userId
-      }) || []
+      this.maskForm.assistant = []
+      for (let i in row.teachingTeachers) {
+        if (row.teachingTeachers[i].teacherRole == 'TEACHING') {
+          this.maskForm.assistant.push(row.teachingTeachers[i].userId)
+        }
+      }
       this.maskForm.date = row.classDate;
       this.maskForm.startTime = row.startClassTimeStr;
       this.maskForm.endTime = row.endClassTimeStr;

+ 3 - 1
src/views/teamDetail/components/resetClass.vue

@@ -242,7 +242,8 @@
                label-width="100px;">
         <el-form-item label="主教老师"
                       prop='coreTeacher'>
-          <el-select v-model="teacherForm.coreTeacher">
+          <el-select v-model="teacherForm.coreTeacher"
+                     filterable>
             <el-option v-for="(item,index) in teacherList"
                        :key="index"
                        :label="item.name"
@@ -252,6 +253,7 @@
         <el-form-item label="助教老师"
                       prop="assistant">
           <el-select v-model="teacherForm.assistant"
+                     filterable
                      multiple>
             <el-option v-for="(item,index) in teacherList"
                        :key="index"

+ 5 - 1
src/views/teamDetail/components/salaryList.vue

@@ -17,7 +17,7 @@
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList"
+        <el-button @click="search"
                    type="danger">搜索</el-button>
       </el-form-item>
     </el-form>
@@ -188,6 +188,10 @@ export default {
     this.getList();
   },
   methods: {
+    search () {
+      this.rules.page = 1;
+      this.getList();
+    },
     getList () {
       // searchForm.date
       if (!this.searchForm.date) {

+ 5 - 1
src/views/teamDetail/components/teacherList.vue

@@ -34,7 +34,7 @@
       </el-form-item>
       <el-form-item>
         <div class="searchBtn"
-             @click="getList">搜索</div>
+             @click="search">搜索</div>
       </el-form-item>
     </el-form>
 
@@ -142,6 +142,10 @@ export default {
     })
   },
   methods: {
+    search () {
+      this.rules.page = 1;
+      this.getList();
+    },
     getList () {
       // this.teamid
       // 'classGroupName': '',

+ 5 - 1
src/views/teamDetail/components/teamTeacherRecord.vue

@@ -34,7 +34,7 @@
       </el-form-item>
       <el-form-item>
         <div class="searchBtn"
-             @click="getList">搜索</div>
+             @click="search">搜索</div>
       </el-form-item>
     </el-form>
     <div class="tableList">
@@ -117,6 +117,10 @@ export default {
     this.getList()
   },
   methods: {
+    search () {
+      this.rules.page = 1;
+      this.getList();
+    },
     getList () {
       //musicGroupId: this.teamId
       this.searchForm.timer = this.searchForm.timer || [];

+ 5 - 1
src/views/teamDetail/teamList.vue

@@ -52,7 +52,7 @@
         </el-form-item>
         <el-form-item>
           <div class='searchBtn'
-               @click="getList">搜索</div>
+               @click="search">搜索</div>
         </el-form-item>
       </el-form>
       <div class="tableWrap">
@@ -233,6 +233,10 @@ export default {
     // })
   },
   methods: {
+    search () {
+      this.rules.page = 1;
+      this.getList();
+    },
     getList () {
       getTeamList({
         rows: this.rules.limit,

+ 5 - 1
src/views/vipClass/vipDetail/components/fnanceInfo.vue

@@ -37,7 +37,7 @@
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList"
+        <el-button @click="search"
                    type="danger">搜索</el-button>
       </el-form-item>
     </el-form>
@@ -125,6 +125,10 @@ export default {
     })
   },
   methods: {
+    search () {
+      this.rules.page = 1;
+      this.getList();
+    },
     getList () {
       if (!this.searchForm.time) {
         this.searchForm.time = [];

+ 5 - 1
src/views/vipClass/vipDetail/components/teacherRecord.vue

@@ -58,7 +58,7 @@
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button @click="getList">搜索</el-button>
+        <el-button @click="search">搜索</el-button>
       </el-form-item>
     </el-form>
     <!-- 列表 -->
@@ -231,6 +231,10 @@ export default {
     this.getList()
 
   }, methods: {
+    search () {
+      this.rules.page = 1;
+      this.getList()
+    },
     getList () {
       let startTime;
       let endTime;

+ 12 - 4
src/views/vipClass/vipList.vue

@@ -24,6 +24,7 @@
         <el-form-item>
           <el-select v-model="searchForm.teacherId"
                      clearable
+                     filterable
                      placeholder="指导老师">
             <el-option v-for="(item,index) in teacherList"
                        :key='index'
@@ -47,7 +48,7 @@
         </el-form-item>
         <el-form-item>
           <el-button @click="getList"
-                     type="danger">基础技能班</el-button>
+                     type="danger">搜索</el-button>
           <el-button @click="onReSet"
                      type="primary">重置</el-button>
         </el-form-item>
@@ -152,7 +153,7 @@
                             width="160"
                             v-if="scope.row.status <3"
                             :ref="scope.$index">
-                  <p style='margin-bottom:10px;'>确定删除该vip课?</p>
+                  <p style='margin-bottom:10px;'>确定停止该vip课?</p>
                   <el-input v-model="scope.row.stopReason"
                             placeholder="请输入关闭原因"></el-input>
                   <div style="text-align: right; margin-top: 20px">
@@ -164,8 +165,10 @@
                                @click="closeVip(scope)">确定</el-button>
                   </div>
                   <el-button type="text"
-                             slot="reference">删除</el-button>
+                             slot="reference">停止</el-button>
                 </el-popover>
+                <el-button type="text"
+                           @click="resetVip(scope.row.id)">修改</el-button>
               </div>
             </template>
           </el-table-column>
@@ -183,7 +186,7 @@
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
-import { getVipList, vipGroupActivity, closeVip } from '@/api/vipSeting'
+import { getVipList, vipGroupActivity, closeVip, getVipGroupDetail } from '@/api/vipSeting'
 import { getTeacher, getEmployeeOrgan } from '@/api/buildTeam'
 import store from '@/store'
 export default {
@@ -267,6 +270,11 @@ export default {
     },
     gotoBuildVip () {
       this.$router.push({ path: '/business/buildVip' })
+    },
+    // 修改vip
+    resetVip (id) {
+      console.log(id);
+      this.$router.push({ path: '/business/vipReset', query: { id } })
     }
 
   },

+ 205 - 0
src/views/vipClass/vipReset.vue

@@ -0,0 +1,205 @@
+<template>
+  <div class="m-container">
+    <h2>
+      <el-page-header @back="goBack"
+                      content='vip修改'>
+      </el-page-header>
+    </h2>
+    <div class='newBand'>vip加课</div>
+    <div class="tableWrap">
+      <el-table :data='tableList'
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column label="课程名称"
+                         width="150"
+                         align="center"
+                         prop="name">
+        </el-table-column>
+        <el-table-column label="班级id"
+                         width="150"
+                         align="center"
+                         prop="classGroupId">
+        </el-table-column>
+        <el-table-column label="上课日期"
+                         align="center"
+                         width="150"
+                         prop="classDate">
+          <template slot-scope="scope">
+            <div>
+              {{  scope.row.classDate | formatTimer}}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程状态"
+                         align="center"
+                         width="150"
+                         prop="status">
+          <template slot-scope="scope">
+            <div>
+              {{ scope.row.status | coursesStatus }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="上课开始时间"
+                         align="center"
+                         width="150"
+                         prop="startClassTimeStr">
+        </el-table-column>
+        <el-table-column label="上课结束时间"
+                         align="center"
+                         width="150"
+                         prop="endClassTimeStr">
+        </el-table-column>
+        <el-table-column label="操作">
+          <template slot-scope="scope">
+            <div>
+              <el-button type="text"
+                         @click="resetClass(scope.row)">调整</el-button>
+              <el-button type="text"
+                         @click="removeClass(scope.row)">删除</el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-dialog title="课程调整"
+               width="400px"
+               :before-close="handleClose"
+               :visible.sync="courseVisible">
+      <el-form :model="maskForm"
+               ref="maskForm"
+               :rules="maskRules"
+               label-position="right"
+               label-width="80px;"
+               :inline="true">
+        <el-form-item label="上课日期"
+                      prop="date">
+          <el-date-picker v-model="maskForm.date"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="开始时间"
+                      prop="startTime">
+          <el-time-select placeholder="起始时间"
+                          v-model="maskForm.startTime"
+                          :picker-options="{
+                            start: '06:30',
+                            step: '00:15',
+                            end: '23:30'
+                            }">
+          </el-time-select>
+        </el-form-item>
+        <el-form-item label="结束时间"
+                      prop="endTime">
+          <el-time-select placeholder="结束时间"
+                          v-model="maskForm.endTime"
+                          :picker-options="{
+                            start: '06:30',
+                            step: '00:15',
+                            end: '23:30',
+                            minTime: maskForm.startTime
+                          }">
+          </el-time-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer"
+           class="dialog-footer">
+        <el-button @click="courseVisible = false">取 消</el-button>
+        <el-button type="primary"
+                   @click="submitResetClass">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import { resetCourse } from '@/api/buildTeam'
+import { findVipGroupCourseSchedules, bathDelete } from '@/api/vipSeting'
+export default {
+  data () {
+    return {
+      courseVisible: false,
+      tableList: [],
+      vipid: '',
+      maskForm: {
+        date: '',
+        startTime: '',
+        endTime: '',
+        id: ''
+      },
+      maskRules: {
+        date: [{ required: true, message: '请选择上课时间', trigger: 'blur' },],
+        startTime: [{ required: true, message: '请选择上课开始时间', trigger: 'blur' },],
+        endTime: [{ required: true, message: '请选择上课结束时间', trigger: 'blur' },],
+      },
+    }
+  },
+  created () {
+    this.vipid = this.$route.query.id;
+  },
+  mounted () {
+    this.getList();
+  },
+  methods: {
+    getList () {
+      findVipGroupCourseSchedules({ vipGroupId: this.vipid }).then(
+        res => {
+          if (res.code == 200) {
+            this.tableList = res.data.rows;
+          }
+        }
+      )
+    },
+    goBack () {
+      this.$router.go(-1)
+    },
+    resetClass (row) {
+      this.maskForm.date = row.classDate;
+      this.maskForm.startTime = row.startClassTimeStr;
+      this.maskForm.endTime = row.endClassTimeStr;
+      this.maskForm.id = row.id;
+      // 修改课时
+      this.courseVisible = true;
+    },
+    handleClose () {
+      this.courseVisible = false;
+      this.$refs['maskForm'].resetFields()
+    },
+    submitResetClass () {
+      let obj = {
+        startClassTimeStr: this.maskForm.startTime,
+        endClassTimeStr: this.maskForm.endTime,
+        id: this.maskForm.id,
+        classDate: this.maskForm.date
+      }
+      resetCourse(obj).then(res => {
+        if (res.code == 200) {
+          this.$message.success('修改成功')
+          this.courseVisible = false;
+          this.getList();
+        }
+      })
+    },
+    removeClass (row) {
+      this.$confirm('是否删除该vip课程, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        bathDelete({ courseScheduleIds: row.id }).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '删除成功!'
+            });
+          }
+        })
+
+      })
+
+    }
+  },
+}
+</script>
+<style lang="scss">
+</style>

+ 3 - 3
vue.config.js

@@ -17,10 +17,10 @@ const name = defaultSettings.title || 'vue Admin Template' // page title
 // http://47.99.212.176:8000
 // 
 // let target = 'http://192.168.3.27:8000' // 箭河
-let target = 'http://192.168.3.28:8000' //邹璇
+// let target = 'http://192.168.3.28:8000' //邹璇
 // let target = 'http://192.168.3.8:8000' //勇哥
-// let target = 'http://47.99.212.176:8000' // 测试服
-// let target = 'http://192.168.3.48:8000' // 乔
+// let target = 'http://admin.dayaedu.com:80' // 测试服
+let target = 'http://192.168.3.48:8000' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
   /**

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff