Parcourir la source

1110 17:09

11
mo il y a 5 ans
Parent
commit
ec5c569f7f
75 fichiers modifiés avec 180 ajouts et 82 suppressions
  1. 0 0
      dist/index.html
  2. 0 0
      dist/static/css/app.a7e2932b.css
  3. 0 0
      dist/static/css/chunk-00746526.431bf000.css
  4. 0 0
      dist/static/css/chunk-17b789bb.45dd3a67.css
  5. 0 0
      dist/static/css/chunk-197c26e5.cda72300.css
  6. 0 0
      dist/static/css/chunk-21732425.f37a0623.css
  7. 1 0
      dist/static/css/chunk-24a1caba.d0810af7.css
  8. 0 0
      dist/static/css/chunk-45c67fda.c148df37.css
  9. 0 0
      dist/static/css/chunk-47fe7b3e.52e46945.css
  10. 0 0
      dist/static/css/chunk-55751a06.f0394d8e.css
  11. 0 1
      dist/static/css/chunk-5ff585ee.c04923ce.css
  12. 0 0
      dist/static/css/chunk-7229a4f2.87907ec7.css
  13. 0 0
      dist/static/css/chunk-75167971.055c80dd.css
  14. 1 1
      dist/static/css/chunk-755bc695.cdda01e3.css
  15. 0 0
      dist/static/css/chunk-cb583cae.8ee77068.css
  16. 0 0
      dist/static/js/app.7ec61b2a.js
  17. 0 0
      dist/static/js/app.ae7a142f.js
  18. 0 0
      dist/static/js/chunk-00746526.3470f71c.js
  19. 0 0
      dist/static/js/chunk-09753c97.6b9e990f.js
  20. 0 0
      dist/static/js/chunk-09753c97.9ad2e1cf.js
  21. 0 0
      dist/static/js/chunk-17b789bb.77d0e014.js
  22. 0 0
      dist/static/js/chunk-197c26e5.2f2cb60e.js
  23. 0 0
      dist/static/js/chunk-1a6975e6.6e94c27c.js
  24. 0 0
      dist/static/js/chunk-21732425.6e63c6fc.js
  25. 0 0
      dist/static/js/chunk-24a1caba.5c1f4d12.js
  26. 0 0
      dist/static/js/chunk-40155edf.356b4434.js
  27. 0 0
      dist/static/js/chunk-45c67fda.d17878aa.js
  28. 0 0
      dist/static/js/chunk-47fe7b3e.6b87164f.js
  29. 0 0
      dist/static/js/chunk-554ebb8a.ca012554.js
  30. 0 0
      dist/static/js/chunk-55751a06.1be743fe.js
  31. 0 0
      dist/static/js/chunk-5e5d6dc0.e85fe382.js
  32. 0 0
      dist/static/js/chunk-5ff585ee.db0ea9fa.js
  33. 0 0
      dist/static/js/chunk-6aef828c.d92d1370.js
  34. 0 0
      dist/static/js/chunk-6d44cd2d.a5a79a94.js
  35. 0 0
      dist/static/js/chunk-6d44cd2d.d0c2cd7b.js
  36. 0 0
      dist/static/js/chunk-6ee11256.020ec791.js
  37. 0 0
      dist/static/js/chunk-6ee11256.0cfad18f.js
  38. 0 0
      dist/static/js/chunk-711bc3b2.2f065b74.js
  39. 0 0
      dist/static/js/chunk-7229a4f2.9edd8d99.js
  40. 0 0
      dist/static/js/chunk-7271c514.f9715952.js
  41. 0 0
      dist/static/js/chunk-75167971.9f51fc6a.js
  42. 0 0
      dist/static/js/chunk-755bc695.9fe2994d.js
  43. 0 0
      dist/static/js/chunk-91467b58.4673fd5d.js
  44. 0 0
      dist/static/js/chunk-941ce2fe.7ca95e14.js
  45. 0 0
      dist/static/js/chunk-98da1dcc.211fb2d3.js
  46. 0 0
      dist/static/js/chunk-98da1dcc.4dbd9d76.js
  47. 0 0
      dist/static/js/chunk-b1e176fc.ef1e518f.js
  48. 0 0
      dist/static/js/chunk-bc672cf4.89429916.js
  49. 0 0
      dist/static/js/chunk-cb583cae.c3dc3e62.js
  50. 0 0
      dist/static/js/chunk-d1dd2788.454c6f0e.js
  51. 0 0
      dist/static/js/chunk-d1dd2788.fd143e2f.js
  52. 0 0
      dist/static/js/chunk-dc69ca8a.87822990.js
  53. 0 0
      dist/static/js/chunk-edcf4054.23720acd.js
  54. 0 0
      dist/static/js/chunk-fcc4176e.591f289c.js
  55. 9 0
      src/api/studentManager.js
  56. BIN
      src/assets/images/base/end.png
  57. BIN
      src/assets/images/base/ing.png
  58. BIN
      src/assets/images/base/pay.png
  59. 1 1
      src/layout/components/Navbar.vue
  60. 49 49
      src/utils/searchArray.js
  61. 2 2
      src/views/categroyManager/vipActiveList.vue
  62. 16 3
      src/views/teamBuild/signupList.vue
  63. 2 1
      src/views/teamBuild/teamSeting/components/coursePlan.vue
  64. 1 1
      src/views/teamBuild/teamSeting/components/improvementClass.vue
  65. 13 2
      src/views/teamBuild/teamSeting/components/lookCourse.vue
  66. 1 0
      src/views/teamBuild/teamSeting/components/salarySet.vue
  67. 1 0
      src/views/teamBuild/teamSeting/components/setClass.vue
  68. 17 1
      src/views/teamBuild/teamSeting/components/setTeacher.vue
  69. 7 4
      src/views/teamBuild/teamSeting/index.vue
  70. 2 2
      src/views/teamDetail/components/classList.vue
  71. 33 3
      src/views/teamDetail/components/studentList.vue
  72. 17 7
      src/views/teamDetail/index.vue
  73. 3 2
      src/views/teamDetail/teamList.vue
  74. 2 2
      src/views/vipClass/vipDetail/components/teacherRecord.vue
  75. 2 0
      src/views/vipClass/vipList.vue

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


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


+ 0 - 0
dist/static/css/chunk-56ec5651.b252ae01.css → dist/static/css/chunk-00746526.431bf000.css


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/chunk-17b789bb.45dd3a67.css


+ 0 - 0
dist/static/css/chunk-fcc4176e.83013567.css → dist/static/css/chunk-197c26e5.cda72300.css


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/chunk-21732425.f37a0623.css


+ 1 - 0
dist/static/css/chunk-24a1caba.d0810af7.css

@@ -0,0 +1 @@
+.setBtn[data-v-0dad9994]{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-5572fd9c]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:30px 42px;background-color:#fff;min-height:80vh}.imc .addBtn[data-v-5572fd9c]{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-45c67fda.c148df37.css


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/chunk-47fe7b3e.52e46945.css


+ 0 - 0
dist/static/css/chunk-40155edf.250db90e.css → dist/static/css/chunk-55751a06.f0394d8e.css


+ 0 - 1
dist/static/css/chunk-5ff585ee.c04923ce.css

@@ -1 +0,0 @@
-.setBtn[data-v-3d94d6e3]{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-af3f5606]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:30px 42px;background-color:#fff;min-height:80vh}.imc .addBtn[data-v-af3f5606]{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-7229a4f2.87907ec7.css


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/chunk-75167971.055c80dd.css


+ 1 - 1
dist/static/css/chunk-7271c514.2967ab8e.css → dist/static/css/chunk-755bc695.cdda01e3.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-dc4c80ee]{font-size:14px}.btnList[data-v-dc4c80ee]{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-dc4c80ee]{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-593991d4]{font-size:14px}.btnList[data-v-593991d4]{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-593991d4]{margin-right:15px}

+ 0 - 0
dist/static/css/chunk-17c63285.6d894868.css → dist/static/css/chunk-cb583cae.8ee77068.css


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


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


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


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


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-17b789bb.77d0e014.js


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


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


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-24a1caba.5c1f4d12.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-40155edf.356b4434.js


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


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-554ebb8a.ca012554.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-55751a06.1be743fe.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-5e5d6dc0.e85fe382.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-5ff585ee.db0ea9fa.js


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-6d44cd2d.a5a79a94.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-6ee11256.020ec791.js


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


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


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-7271c514.f9715952.js


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


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-91467b58.4673fd5d.js


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-98da1dcc.211fb2d3.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-98da1dcc.4dbd9d76.js


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


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


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-d1dd2788.454c6f0e.js


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


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


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-edcf4054.23720acd.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/chunk-fcc4176e.591f289c.js


+ 9 - 0
src/api/studentManager.js

@@ -156,4 +156,13 @@ export function removeStudents (data) {
     method: 'POST',
     data: qs.stringify(data)
   })
+}
+
+// 根据学生id查看学生班级
+export function getStudentClass (data) {
+  return request({
+    url: api + `/studentManage/queryStudentClassGroup`,
+    method: 'get',
+    params: data
+  })
 }

BIN
src/assets/images/base/end.png


BIN
src/assets/images/base/ing.png


BIN
src/assets/images/base/pay.png


+ 1 - 1
src/layout/components/Navbar.vue

@@ -17,7 +17,7 @@
                    trigger="click">
 
         <div class="avatar-wrapper">
-          <img src="@/assets/images/base/placehorder-icon.png"
+          <img :src="$store.getters.avatar"
                class="user-avatar" />
           <!-- <i class="el-icon-caret-bottom" /> -->
           <span>{{ username }}</span>

+ 49 - 49
src/utils/searchArray.js

@@ -2,82 +2,82 @@
 
 // 课程类型
 const courseType = [
-    { label: '单技课', value: 'SINGLE' },
-    { label: '合奏课', value: 'MIX' },
-    { label: '小班课', value: 'HIGH' },
-    { label: 'VIP课', value: 'VIP' },
-    { label: '试听课', value: 'DEMO' },
-    { label: '综合课', value: 'COMPREHENSIVE' },
-    { label: '练习课', value: 'PRACTICE' },
-    { label: '启蒙课', value: 'ENLIGHTENMENT' },
-    { label: '集训课', value: 'TRAINING' },
-    { label: '课堂课', value: 'CLASSROOM' }
+  { label: '单技课', value: 'SINGLE' },
+  { label: '合奏课', value: 'MIX' },
+  { label: '小班课', value: 'HIGH' },
+  { label: 'VIP课', value: 'VIP' },
+  { label: '试听课', value: 'DEMO' },
+  { label: '综合课', value: 'COMPREHENSIVE' },
+  { label: '练习课', value: 'PRACTICE' },
+  { label: '启蒙课', value: 'ENLIGHTENMENT' },
+  { label: '集训课', value: 'TRAINING' },
+  { label: '课堂课', value: 'CLASSROOM' }
 ]
 
 // 考勤状态
 const attendance = [
-    { label: '正常签到', value: 1 },
-    { label: '异常签到', value: 0 },
+  { label: '正常签到', value: 1 },
+  { label: '异常签到', value: 0 },
 ]
 
 // 工作类型
 const jobNature = [
-    { label: '兼职', value: 'PART_TIME' },
-    { label: '全职', value: 'FULL_TIME' },
-    { label: '临时工', value: 'TEMPORARY' }
+  { label: '兼职', value: 'PART_TIME' },
+  { label: '全职', value: 'FULL_TIME' },
+  { label: '临时工', value: 'TEMPORARY' }
 ]
 
 // 老师状态
 const teacherStatus = [
-    { label: '正常', value: '0' },
-    { label: '冻结', value: '1' },
-    { label: '锁定', value: '9' }
+  { label: '正常', value: '0' },
+  { label: '冻结', value: '1' },
+  { label: '锁定', value: '9' }
 ]
 
 // 考勤状态
 const attendanceStatus = [
-    { value: "NORMAL", label: "正常" },
-    { value: "TRUANT", label: "旷课" },
-    { value: "LEAVE", label: "请假" },
-    { value: "QUIT_SCHOOL", label: "退学" },
-    { value: "DROP_OUT", label: "休学" }
+  { value: "NORMAL", label: "正常" },
+  { value: "TRUANT", label: "旷课" },
+  { value: "LEAVE", label: "请假" },
+  { value: "QUIT_SCHOOL", label: "退学" },
+  { value: "DROP_OUT", label: "休学" }
 ]
 
 // 交易状态
 const orderStatus = [
-    { value: "APPLY", label: "报名" },
-    { value: "RENEW", label: "续费" },
-    { value: "OTHER", label: "其他" },
-    { value: "SMALL_CLASS_TO_BUY", label: "VIP购买" }
+  { value: "APPLY", label: "报名" },
+  { value: "RENEW", label: "续费" },
+  { value: "OTHER", label: "其他" },
+  { value: "SMALL_CLASS_TO_BUY", label: "VIP购买" }
 ]
 
 // 交易状态
 const dealStatus = [
-    { value: "ING", label: "交易中" },
-    { value: "SUCCESS", label: "成功交易" },
-    { value: "FAilED", label: "交易失败" },
-    { value: "CLOSE", label: "交易关闭" }
+  { value: "ING", label: "交易中" },
+  { value: "SUCCESS", label: "成功交易" },
+  { value: "FAilED", label: "交易失败" },
+  { value: "CLOSE", label: "交易关闭" }
 ]
 
 const musicGroupStatus = [
-    { value: 'APPLY', text: '报名中' },
-    { value: 'PAY', text: '缴费中' }, 
-    { value: 'PREPARE', text: '筹备中' },
-    { value: 'PROGRESS', text: '进行中' }, 
-    { value: 'CANCELED', text: '取消' }, 
-    { value: 'AUDIT', text: '审核中' },
-    { value: 'PAUSE', text: '暂停' }, 
-    { value: 'DRAFT', text: '编辑中' }, 
-    { value: 'AUDIT_FAILED', text: '审核失败' }
-  ]
+  { value: 'APPLY', text: '报名中' },
+  { value: 'PAY', text: '缴费中' },
+  { value: 'PREPARE', text: '筹备中' },
+  { value: 'PROGRESS', text: '进行中' },
+  { value: 'CANCELED', text: '已停止' },
+  { value: 'AUDIT', text: '审核中' },
+  { value: 'PAUSE', text: '已结束' },
+  { value: 'DRAFT', text: '编辑中' },
+  { value: 'AUDIT_FAILED', text: '审核失败' }
+]
 
 export {
-    courseType,
-    attendance,
-    jobNature,
-    teacherStatus,
-    attendanceStatus,
-    orderStatus,
-    dealStatus,
-    musicGroupStatus
+  courseType,
+  attendance,
+  jobNature,
+  teacherStatus,
+  attendanceStatus,
+  orderStatus,
+  dealStatus,
+  musicGroupStatus
 }

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

@@ -359,7 +359,7 @@ export default {
       if (obj && obj.onlineSalarySettlement && obj.onlineSalarySettlement.salarySettlementType) {
         switch (obj.onlineSalarySettlement.salarySettlementType) {
           case 'RATIO_DISCOUNT': {
-            return `线上:${obj.onlineSalarySettlement.settlementValue}`
+            return `线上:${obj.onlineSalarySettlement.settlementValue}%`
             break
           }
           case 'TEACHER_DEFAULT': {
@@ -378,7 +378,7 @@ export default {
       if (obj && obj.offlineSalarySettlement && obj.offlineSalarySettlement.salarySettlementType) {
         switch (obj.offlineSalarySettlement.salarySettlementType) {
           case 'RATIO_DISCOUNT': {
-            return '线下:' + obj.offlineSalarySettlement.settlementValue + ''
+            return '线下:' + obj.offlineSalarySettlement.settlementValue + '%'
             break
           }
           case 'TEACHER_DEFAULT': {

+ 16 - 3
src/views/teamBuild/signupList.vue

@@ -22,8 +22,14 @@
                @click="onCreateQRCode">生成二维码</div>
         </div>
       </div>
-      <p class='msg'> <img src="@/assets/images/base/clock.png"
-             alt=""> {{ status=='APPLY'?'报名中':'缴费中' }}</p>
+      <!--  stepImgs: {
+        APPLY: require('@/assets/images/base/clock.png'),
+        PAY: require('@/assets/images/base/pay.png')
+      }, -->
+      <p class='msg'
+         :class="status=='PAY'? 'pay' : '' "> <img :src="status=='APPLY'?stepImgs.APPLY:stepImgs.PAY"
+             alt="">
+        {{ status=='APPLY'?'报名中':'缴费中' }}</p>
     </div>
     <div class="searchList">
       <el-form :inline="true"
@@ -361,6 +367,10 @@ export default {
         subject: '', // 专业
         isAllowAdjust: '' // 是否允许调剂
       },
+      stepImgs: {
+        APPLY: require('@/assets/images/base/clock.png'),
+        PAY: require('@/assets/images/base/pay.png')
+      },
       status: '',
       id: '',
       rules: {
@@ -555,7 +565,7 @@ export default {
         this.$message.error('当前缴费人数为0,无法开团')
         return
       }
-      this.$confirm(`当前缴费人数为${this.paymentNum}人,是否确认开团?`, '提示', {
+      this.$confirm(`是否确认开团?`, '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
@@ -690,6 +700,9 @@ export default {
     display: flex;
     flex-direction: row;
     justify-content: space-between;
+    .msg.pay {
+      color: #f85043;
+    }
     .msg {
       text-align: right;
       color: #f97215;

+ 2 - 1
src/views/teamBuild/teamSeting/components/coursePlan.vue

@@ -364,6 +364,7 @@ export default {
           }
         }).catch(res => {
           // this.tableList = [];
+          this.classCardList = [];
         })
       }).catch(() => {
 
@@ -597,7 +598,7 @@ export default {
           let date1 = new Date(date.getTime());
           let num; // 下次上课上几天后
           // 星期4 - 当前是星期几 => 
-          weekArr[i].weekNum - date.getDay() > 0 ? num = weekArr[i].weekNum - date.getDay() : num = weekArr[i].weekNum - date.getDay() + 7
+          weekArr[i].weekNum - date.getDay() >= 0 ? num = weekArr[i].weekNum - date.getDay() : num = weekArr[i].weekNum - date.getDay() + 7
 
           let dataStr = this.getThinkDate(date, num);
           let monthDay = this.getThinkDate(date1, num, 2)

+ 1 - 1
src/views/teamBuild/teamSeting/components/improvementClass.vue

@@ -75,7 +75,7 @@
          style="margin-top:40px;">
       <div class="nextBtn"
            @click='gotoNext'>下一步</div>
-      <div class="okBtn">返回</div>
+      <!-- <div class="okBtn">返回</div> -->
     </div>
     <el-dialog title="添加提高班"
                :visible.sync="raiseVisible"

+ 13 - 2
src/views/teamBuild/teamSeting/components/lookCourse.vue

@@ -6,7 +6,8 @@
              @click="gotoPlan">新增/修改</div>
       </el-form-item>
       <el-form-item label="选择合奏班">
-        <el-select v-model="chioseMix">
+        <el-select v-model="chioseMix"
+                   @change="chioseList">
           <el-option v-for='(item,index) in maxClassList'
                      :key="index"
                      :value="item.id"
@@ -37,6 +38,10 @@
           </div>
         </template>
       </el-table-column>
+      <el-table-column prop="classGroupName"
+                       align="center"
+                       label="班级名称">
+      </el-table-column>
       <el-table-column prop="name"
                        align="center"
                        label="课程名称">
@@ -70,7 +75,6 @@ export default {
       tableList: []
     }
   }, mounted () {
-
     sessionStorage.setItem('setStep', 2)
     sessionStorage.setItem('resetCode', 4)
     this.teamid = this.$route.query.id;
@@ -95,6 +99,13 @@ export default {
       let type = sessionStorage.getItem('chargeTypeId');
       type == 3 ? this.$emit('gotoNav', 3) : this.$emit('gotoNav', 4)
 
+    },
+    chioseList (val) {
+      getClassCOurse({ classGroupId: val }).then(res => {
+        if (res.code == 200) {
+          this.tableList = res.data;
+        }
+      })
     }
   },
 }

+ 1 - 0
src/views/teamBuild/teamSeting/components/salarySet.vue

@@ -143,6 +143,7 @@ export default {
     }
   },
   mounted () {
+    sessionStorage.setItem('setStep', 4)
     getTeamDetail({ musicGroupId: this.teamid }).then(res => {
       if (res.code == 200) {
         this.searchForm.salary = res.data.settlementType;

+ 1 - 0
src/views/teamBuild/teamSeting/components/setClass.vue

@@ -266,6 +266,7 @@ export default {
   },
   mounted () {
     sessionStorage.setItem('setStep', 0)
+    console.log(sessionStorage.getItem('setStep'))
     getTeamRecruit({ musicGroupId: this.teamid }).then(res => {
       // 获取乐团声部集合
       if (res.code == 200) {

+ 17 - 1
src/views/teamBuild/teamSeting/components/setTeacher.vue

@@ -165,18 +165,34 @@ export default {
       // console.log(this.singinList)
       let isTeacher = true;
       let isTeachers = []
+      let singinListTeacher = []
+      let allListTeacher = []
+
+
       // 验证单技班主教老师是否指认
       for (let i in this.singinList) {
+        singinListTeacher.push(this.singinList[i].coreTeacher);
+        singinListTeacher = singinListTeacher.concat(this.singinList[i].assistant)
         if (this.singinList[i].coreTeacher == '') {
           isTeachers.push(false)
         }
       }
+      if (singinListTeacher.length != [...new Set(singinListTeacher)].length) {
+        this.$message.error('存在老师设置冲突,请调整')
+        return
+      }
+
       for (let j in this.allList) {
+        allListTeacher.push(this.allList[j].coreTeacher);
+        allListTeacher = allListTeacher.concat(this.allList[j].assistant)
         if (this.allList[j].coreTeacher == '') {
           isTeachers.push(false)
         }
       }
-
+      if (allListTeacher.length != [...new Set(allListTeacher)].length) {
+        this.$message.error('存在老师设置冲突,请调整')
+        return
+      }
       isTeachers.filter(item => {
         isTeacher = isTeacher && item
       })

+ 7 - 4
src/views/teamBuild/teamSeting/index.vue

@@ -3,7 +3,7 @@
     <div class="topWrap">
       <h2>
         <div class="squrt"></div>
-        武汉小学乐团
+        {{ name }}
       </h2>
       <div class="stepbox">
         <span class='stepspan'
@@ -66,7 +66,7 @@
 
     <!-- 下面显示的内容 -->
     <div class="stepcontent">
-      <div v-show='activeIndex==0'>
+      <div v-if='activeIndex==0'>
         <classSeting :teamid='id'
                      @gotoNav='gotoNav' />
       </div>
@@ -113,16 +113,19 @@ export default {
         active: require('@/assets/images/base/step-arrow.png')
       },
       id: '',
-      chargeTypeId: ''
+      chargeTypeId: '',
+      name: ''
     }
   },
   created () {
     this.id = this.$route.query.id;
 
-    this.activeIndex = sessionStorage.getItem('setStep') || 0
+    this.activeIndex = sessionStorage.getItem('setStep') || 0;
+    console.log(sessionStorage.getItem('setStep'))
     getTeamBaseInfo({ musicGroupId: this.id }).then(res => {
       if (res.code == 200) {
         this.chargeTypeId = res.data.musicGroup.chargeTypeId;
+        this.name = res.data.musicGroup.name;
         sessionStorage.setItem('chargeTypeId', this.chargeTypeId);
       }
     })

+ 2 - 2
src/views/teamDetail/components/classList.vue

@@ -13,8 +13,8 @@
       </el-form-item>
     </el-form> -->
     <!-- 列表 -->
-    <div class="newBand"
-         @click="resetClass">班级调整</div>
+    <!-- <div class="newBand"
+         @click="resetClass">班级调整</div> -->
     <div class="tableWrap">
       <el-table :data='tableList'
                 :header-cell-style="{background:'#EDEEF0',color:'#444'}">

+ 33 - 3
src/views/teamDetail/components/studentList.vue

@@ -167,7 +167,7 @@
                 </div>
               </el-popover>
               <el-button type="text"
-                         size="small">查看班级</el-button>
+                         @click="lookClass(scope.row)">查看班级</el-button>
             </div>
           </template>
         </el-table-column>
@@ -287,11 +287,25 @@
                    @click="addStudent">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog title="学员所在班级"
+               width="640px"
+               :visible.sync="studentClassVisible">
+      <el-form :model="classMask">
+        <el-form-item label="学生姓名">
+          {{ classMask.studentName }}
+        </el-form-item>
+        <el-form-item label="所在班级"
+                      v-for="(item,index) in classList"
+                      :key="index">
+          {{ item.name }}
+        </el-form-item>
+      </el-form>
+    </el-dialog>
   </div>
 </template>
 <script>
 import { getTeamStudentList, getTeamStudentInfo, getSingleClass, findSound, StudentQuit } from '@/api/buildTeam'
-import { addStudent } from '@/api/studentManager'
+import { addStudent, getStudentClass } from '@/api/studentManager'
 import pagination from '@/components/Pagination/index'
 export default {
   props: {
@@ -302,6 +316,7 @@ export default {
   },
   data () {
     return {
+      studentClassVisible: false, // 学员所在班级弹窗
       addStudentVisible: false, //新增学员弹窗
       topFrom: { // 顶部的禁选框集合
         expect: '2', // 预期招生
@@ -316,6 +331,9 @@ export default {
         isPay: '', // 是否缴费
 
       },
+      classMask: {
+        studentName: ''
+      },
       searchLsit: [],
       tableList: [], //
       rules: {
@@ -346,7 +364,7 @@ export default {
         id: ''
       },
       remark: '', // 退团原因
-
+      classList: [],
       maskRules: {
         studentName: [{ required: true, message: '请输入学生姓名' },],
         sex: [{ required: true, message: '请选择学生姓名' },],
@@ -451,6 +469,18 @@ export default {
           })
         }
       })
+    },
+    lookClass (row) {
+      this.classMask.studentName = row.realName;
+      getStudentClass({
+        musicGroupId: this.teamid,
+        teacherId: row.userId
+      }).then(res => {
+        if (res.code == 200) {
+          this.classList = res.data;
+          this.studentClassVisible = true;
+        }
+      })
     }
   }
 }

+ 17 - 7
src/views/teamDetail/index.vue

@@ -7,12 +7,13 @@
       <div class="term active">第二学期</div> -->
     </h2>
     <div class="m-core">
-      <div class='newBand abs'
-           @click='resetTeam'>乐团修改</div>
-      <p class='msg'>
-        <img src="@/assets/images/base/clock.png"
-             alt=""> 报名中
-      </p>
+      <!-- <div class='newBand abs'
+           @click='resetTeam'>乐团修改</div> -->
+
+      <p class='msg'
+         :class="status=='PROGRESS'? 'ing' : '' "> <img :src="status=='PROGRESS'?stepImgs.PROGRESS:stepImgs.PAUSE"
+             alt="">
+        {{ status=='PROGRESS'?'进行中':'已结束' }}</p>
       <!-- navMenu -->
       <el-tabs v-model="activeIndex"
                type="card"
@@ -71,12 +72,18 @@ export default {
       activeIndex: '1',
       teamid: '',
       name: '',
+      stepImgs: {
+        PROGRESS: require('@/assets/images/base/ing.png'),
+        PAUSE: require('@/assets/images/base/end.png')
+      },
+      status: ''
     }
   },
   created () {
     // this.teamid = '191014135135001';
     // 191015094822001
     let teamInfo = this.$route.query;
+    this.status = this.$route.query.status;
     this.teamid = teamInfo.id;
     this.name = teamInfo.name
   },
@@ -110,9 +117,12 @@ export default {
 <style lang="scss" scoped>
 .m-container {
   .m-core {
+    .msg.ing {
+      color: #14928a;
+    }
     .msg {
       text-align: right;
-      color: #f97215;
+      color: #777;
       font-size: 32px;
       font-weight: bold;
       position: absolute;

+ 3 - 2
src/views/teamDetail/teamList.vue

@@ -133,10 +133,10 @@
                            @click="gotodetailList(scope.row)">发放清单</el-button>
 
                 <el-button type="text"
-                           v-if="scope.row.status == 'PROGRESS'"
+                           v-if="scope.row.status == 'PROGRESS' ||  scope.row.status == 'PAUSE'"
                            @click="lookTeamDetail(scope.row)">查看</el-button>
                 <el-button type="text"
-                           v-if="scope.row.status != 'PROGRESS' && scope.row.status != 'CANCELED'"
+                           v-if="scope.row.status != 'PROGRESS' && scope.row.status != 'CANCELED'  && scope.row.status != 'PAUSE'"
                            @click="lookTeamDetail(scope.row)">编辑</el-button>
                 <el-button v-if="scope.row.status == 'PREPARE'"
                            @click="startTeam(scope.row)"
@@ -379,6 +379,7 @@ export default {
         }
         case 'PAUSE': {
           // 暂停
+          this.$router.push({ path: `/business/teamDetails`, query: { status: row.status, id: row.id, name: row.name } })
           break;
         }
       }

+ 2 - 2
src/views/vipClass/vipDetail/components/teacherRecord.vue

@@ -130,10 +130,10 @@
       <span slot="footer"
             class="dialog-footer">
         <el-button type="primary"
-                   @click="dialogVisible = false">确 定</el-button>
+                   @click="studentVisible = false">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="课调整"
+    <el-dialog title="课调整"
                :visible.sync="courseVisible"
                width="420px">
       <el-form :model="maskForm"

+ 2 - 0
src/views/vipClass/vipList.vue

@@ -12,6 +12,7 @@
         <!-- 状态 指导老师 活动方案-->
         <el-form-item>
           <el-select v-model="searchForm.teacherId"
+                     clearable
                      placeholder="指导老师">
             <el-option v-for="(item,index) in teacherList"
                        :key='index'
@@ -21,6 +22,7 @@
         </el-form-item>
         <el-form-item>
           <el-select v-model="searchForm.activityId"
+                     clearable
                      placeholder="活动方案">
             <el-option v-for="(item,index) in activeList"
                        :key='index'

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