Explorar o código

提交开发

1
mo %!s(int64=4) %!d(string=hai) anos
pai
achega
2478617792
Modificáronse 96 ficheiros con 791 adicións e 648 borrados
  1. 0 0
      dist/index.html
  2. 1 0
      dist/static/css/chunk-0fb777e7.aaa1c265.css
  3. 0 0
      dist/static/css/chunk-100554f2.038f6049.css
  4. 0 1
      dist/static/css/chunk-12514954.a660d258.css
  5. 0 1
      dist/static/css/chunk-133edf4d.d23d7ee7.css
  6. 0 1
      dist/static/css/chunk-2c146260.d520790d.css
  7. 1 0
      dist/static/css/chunk-34764697.4c0f3ff5.css
  8. 1 0
      dist/static/css/chunk-3910a1eb.8bbcedaf.css
  9. 0 1
      dist/static/css/chunk-4ba48a58.027bbc03.css
  10. 1 1
      dist/static/css/chunk-58b93a1a.9b5fef39.css
  11. 1 1
      dist/static/css/chunk-60aaefa0.6f6c51cd.css
  12. 1 0
      dist/static/css/chunk-67754b1a.6bb07827.css
  13. 0 1
      dist/static/css/chunk-7842ffae.284a3013.css
  14. 0 1
      dist/static/css/chunk-7a8a9931.73ddc821.css
  15. 1 1
      dist/static/css/chunk-7ea442be.a88e0f60.css
  16. 0 1
      dist/static/css/chunk-7ec59306.541045a7.css
  17. 0 0
      dist/static/css/chunk-86209644.bd557477.css
  18. 1 0
      dist/static/css/chunk-929c4556.88086bf5.css
  19. 1 1
      dist/static/css/chunk-99129380.7b01fa8d.css
  20. 1 0
      dist/static/css/chunk-a2310078.24d72d0f.css
  21. 1 1
      dist/static/css/chunk-a55fdac2.07304547.css
  22. 1 0
      dist/static/css/chunk-be3bf066.ecdc8345.css
  23. 1 1
      dist/static/css/chunk-fcd89c9c.16a43373.css
  24. 0 0
      dist/static/js/app.4b90be5e.js
  25. 0 0
      dist/static/js/chunk-00bbf359.f6897a24.js
  26. 0 0
      dist/static/js/chunk-08a5bd4e.712929bc.js
  27. 0 0
      dist/static/js/chunk-0fb777e7.3213955b.js
  28. 0 0
      dist/static/js/chunk-100554f2.6234797e.js
  29. 0 0
      dist/static/js/chunk-12514954.0ae435f0.js
  30. 0 0
      dist/static/js/chunk-15770507.bcc2a9c4.js
  31. 0 0
      dist/static/js/chunk-15770507.faef945c.js
  32. 0 0
      dist/static/js/chunk-20d42954.af017b9e.js
  33. 0 0
      dist/static/js/chunk-214fb7c2.4f4ee277.js
  34. 0 0
      dist/static/js/chunk-2c146260.f674533e.js
  35. 0 0
      dist/static/js/chunk-34764697.c68d8d3f.js
  36. 0 0
      dist/static/js/chunk-3910a1eb.25eada98.js
  37. 0 0
      dist/static/js/chunk-3bc574e4.1075ff6f.js
  38. 0 0
      dist/static/js/chunk-3c8266ca.1f23e432.js
  39. 0 0
      dist/static/js/chunk-3c8266ca.287440e9.js
  40. 0 0
      dist/static/js/chunk-3ca72746.0868ee01.js
  41. 0 0
      dist/static/js/chunk-44f59756.0cf34076.js
  42. 0 0
      dist/static/js/chunk-44f59756.a503e3e6.js
  43. 0 0
      dist/static/js/chunk-495439dc.8f1db747.js
  44. 0 0
      dist/static/js/chunk-4ba48a58.76f194b9.js
  45. 0 0
      dist/static/js/chunk-53afcbb2.dd8418d9.js
  46. 0 0
      dist/static/js/chunk-55053db0.699072fd.js
  47. 0 0
      dist/static/js/chunk-58b93a1a.542a2df1.js
  48. 0 0
      dist/static/js/chunk-60aaefa0.e76389b7.js
  49. 0 0
      dist/static/js/chunk-67754b1a.2ca023e7.js
  50. 0 0
      dist/static/js/chunk-69650065.1249fb5c.js
  51. 0 0
      dist/static/js/chunk-69650065.ea6e43ad.js
  52. 0 0
      dist/static/js/chunk-75855639.02478d10.js
  53. 0 0
      dist/static/js/chunk-7842ffae.609ac551.js
  54. 0 0
      dist/static/js/chunk-7a8a9931.fcf3f2c6.js
  55. 0 0
      dist/static/js/chunk-7ea442be.897655c2.js
  56. 0 0
      dist/static/js/chunk-7ec59306.3569d319.js
  57. 0 0
      dist/static/js/chunk-7f91ee0d.5a7ce082.js
  58. 0 0
      dist/static/js/chunk-7f91ee0d.b9032063.js
  59. 0 0
      dist/static/js/chunk-86209644.60d3786d.js
  60. 0 0
      dist/static/js/chunk-91193b0c.dbe2e066.js
  61. 0 0
      dist/static/js/chunk-929c4556.c52f3d80.js
  62. 0 0
      dist/static/js/chunk-99129380.bbd783dc.js
  63. 0 0
      dist/static/js/chunk-a2310078.13029862.js
  64. 0 0
      dist/static/js/chunk-a55fdac2.12b15428.js
  65. 0 0
      dist/static/js/chunk-b5f3834c.85666a11.js
  66. 0 0
      dist/static/js/chunk-be3bf066.2dedf8a8.js
  67. 0 0
      dist/static/js/chunk-e60d0406.2f888102.js
  68. 0 0
      dist/static/js/chunk-f3334c50.bf68f2d2.js
  69. 0 0
      dist/static/js/chunk-fb1fc898.604233c6.js
  70. 0 0
      dist/static/js/chunk-fcd89c9c.bcf0f03a.js
  71. 0 1
      src/components/tab-router/index.vue
  72. 1 1
      src/utils/downLoadFile.js
  73. 1 1
      src/views/afterSchoolManager/afterWorkList.vue
  74. 1 1
      src/views/arrearage-students/index.vue
  75. 1 1
      src/views/businessManager/orderManager/financeManager-taoqi.vue
  76. 1 1
      src/views/businessManager/orderManager/financeManager.vue
  77. 1 1
      src/views/businessManager/orderManager/payRecord.vue
  78. 9 13
      src/views/businessManager/shopManager/shopList.vue
  79. 1 1
      src/views/categroyManager/insideSetting/branchManager.vue
  80. 1 1
      src/views/categroyManager/vipActiveList.vue
  81. 1 1
      src/views/musicInspection/index.vue
  82. 1 1
      src/views/operationalEarly/operationalList.vue
  83. 1 1
      src/views/reaplceMusicPlayer/index.vue
  84. 1 1
      src/views/repairManager/repairList.vue
  85. 2 2
      src/views/reportForm/index.vue
  86. 1 1
      src/views/serverDetail/index.vue
  87. 1 1
      src/views/stuRecodeManager/index.vue
  88. 25 7
      src/views/studentManager/studentList.vue
  89. 209 163
      src/views/teacherManager/teacherDetail/components/settlement.vue
  90. 1 1
      src/views/teamBuild/forecastName.vue
  91. 1 1
      src/views/teamDetail/componentCourse/teacherList.vue
  92. 1 1
      src/views/vipClass/vipList.vue
  93. 1 1
      src/views/withdrawal-application/index.vue
  94. 20 431
      src/views/workBenchManager/payAppeal.vue
  95. 0 0
      src/views/workBenchManager/requestComponent/endRequest.vue
  96. 495 0
      src/views/workBenchManager/requestComponent/progressRequest.vue

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/index.html


+ 1 - 0
dist/static/css/chunk-0fb777e7.aaa1c265.css

@@ -0,0 +1 @@
+.m-container .m-core[data-v-fbc5ce0a]{margin-top:20px}.m-container .m-core .m-wrap[data-v-fbc5ce0a]{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;width:100%}.m-container .m-core .m-wrap .newBand[data-v-fbc5ce0a]{margin:0 5px 0 10px}.m-container .m-core .m-wrap .title[data-v-fbc5ce0a]{width:120px;height:40px;line-height:40px;text-align:right;color:#606266}.m-container .m-core .m-wrap .organSelect[data-v-fbc5ce0a]{width:220px!important}.m-container .m-core .m-wrap .el-tooltip.micon[data-v-fbc5ce0a]{width:20px;height:20px;position:relative;top:12px}[data-v-fbc5ce0a] .el-input__icon.el-icon-date{height:40px!important}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/chunk-100554f2.038f6049.css


+ 0 - 1
dist/static/css/chunk-12514954.a660d258.css

@@ -1 +0,0 @@
-.m-container .m-core[data-v-7ab55b1a]{margin-top:20px}.m-container .m-core .m-wrap[data-v-7ab55b1a]{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;width:100%}.m-container .m-core .m-wrap .newBand[data-v-7ab55b1a]{margin:0 5px 0 10px}.m-container .m-core .m-wrap .title[data-v-7ab55b1a]{width:120px;height:40px;line-height:40px;text-align:right;color:#606266}.m-container .m-core .m-wrap .organSelect[data-v-7ab55b1a]{width:220px!important}.m-container .m-core .m-wrap .el-tooltip.micon[data-v-7ab55b1a]{width:20px;height:20px;position:relative;top:12px}[data-v-7ab55b1a] .el-input__icon.el-icon-date{height:40px!important}

+ 0 - 1
dist/static/css/chunk-133edf4d.d23d7ee7.css

@@ -1 +0,0 @@
-.box-card[data-v-bdb4499a]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:102px;width:102px;margin-bottom:20px}

+ 0 - 1
dist/static/css/chunk-2c146260.d520790d.css

@@ -1 +0,0 @@
-.m-container[data-v-520adb5d]{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.newBand[data-v-520adb5d]{display:inline-block}

+ 1 - 0
dist/static/css/chunk-34764697.4c0f3ff5.css

@@ -0,0 +1 @@
+.payForm[data-v-3d1ffe73] .el-form-item{min-width:40%}.newBand[data-v-70174412]{display:inline-block}.noWrap[data-v-70174412]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

+ 1 - 0
dist/static/css/chunk-3910a1eb.8bbcedaf.css

@@ -0,0 +1 @@
+.newBand[data-v-38b1f16c]{display:inline-block;margin-right:10px}.right-code .title[data-v-38b1f16c]{font-size:18px;text-align:center;padding-bottom:8px}[data-v-38b1f16c] .studentInfo .multiple.el-select{width:185px!important}

+ 0 - 1
dist/static/css/chunk-4ba48a58.027bbc03.css

@@ -1 +0,0 @@
-.el-button--primary[data-v-465245c4],.el-button--primary[data-v-465245c4]:active,.el-button--primary[data-v-465245c4]:focus,.el-button--primary[data-v-465245c4]:hover{background:#14928a;border-color:#14928a;color:#fff}[data-v-465245c4] .el-select{width:100%!important}.el-vue-search-box-container[data-v-465245c4]{position:absolute!important;left:10px;margin-top:10px;z-index:99999!important}

+ 1 - 1
dist/static/css/chunk-214fb7c2.c6772f04.css → dist/static/css/chunk-58b93a1a.9b5fef39.css

@@ -1 +1 @@
-.newBand[data-v-46bcfc90]{display:inline-block}[data-v-46bcfc90] .el-input-number.is-controls-right .el-input__inner{text-align:left}.setWidth[data-v-46bcfc90]{display:inline-block}.lookTitle[data-v-46bcfc90]{height:40px;line-height:40px;font-weight:700;background-color:#edeef0;padding:0 20px;margin-bottom:20px}.showShop[data-v-46bcfc90]{height:40px;line-height:40px;width:150px;background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed;color:#333;opacity:1;border-radius:4px;border:1px solid #dcdfe6;padding:0 15px;margin-right:10px}.shopListWrap[data-v-46bcfc90]{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}
+.newBand[data-v-13027298]{display:inline-block}[data-v-13027298] .el-input-number.is-controls-right .el-input__inner{text-align:left}.setWidth[data-v-13027298]{display:inline-block}.lookTitle[data-v-13027298]{height:40px;line-height:40px;font-weight:700;background-color:#edeef0;padding:0 20px;margin-bottom:20px}.showShop[data-v-13027298]{height:40px;line-height:40px;width:150px;background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed;color:#333;opacity:1;border-radius:4px;border:1px solid #dcdfe6;padding:0 15px;margin-right:10px}.shopListWrap[data-v-13027298]{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}

+ 1 - 1
dist/static/css/chunk-5ec9261c.255ef4d3.css → dist/static/css/chunk-60aaefa0.6f6c51cd.css

@@ -1 +1 @@
-.schoolCell[data-v-59b9bbad]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-59b9bbad] .el-textarea.is-disabled .el-textarea__inner{color:#333}
+.schoolCell[data-v-4bc252c9]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-4bc252c9] .el-textarea.is-disabled .el-textarea__inner{color:#333}

+ 1 - 0
dist/static/css/chunk-67754b1a.6bb07827.css

@@ -0,0 +1 @@
+.titleP[data-v-0bca070e],.titleP[data-v-601b2f46]{line-height:30px}

+ 0 - 1
dist/static/css/chunk-7842ffae.284a3013.css

@@ -1 +0,0 @@
-.payForm[data-v-3d1ffe73] .el-form-item{min-width:40%}.newBand[data-v-1393b508]{display:inline-block}.noWrap[data-v-1393b508]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

+ 0 - 1
dist/static/css/chunk-7a8a9931.73ddc821.css

@@ -1 +0,0 @@
-.newBand[data-v-03633100]{display:inline-block;margin-right:10px}.right-code .title[data-v-03633100]{font-size:18px;text-align:center;padding-bottom:8px}[data-v-03633100] .studentInfo .multiple.el-select{width:185px!important}

+ 1 - 1
dist/static/css/chunk-9061fe0a.ffb85301.css → dist/static/css/chunk-7ea442be.a88e0f60.css

@@ -1 +1 @@
-[data-v-087b4f72] .el-select{width:100%!important}.btnList[data-v-112b855e]{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}.code-url[data-v-112b855e]{margin-top:10px}
+[data-v-087b4f72] .el-select{width:100%!important}.btnList[data-v-6b5abd78]{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}.code-url[data-v-6b5abd78]{margin-top:10px}

+ 0 - 1
dist/static/css/chunk-7ec59306.541045a7.css

@@ -1 +0,0 @@
-.titleP[data-v-5f8e8d68]{line-height:30px}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/css/chunk-86209644.bd557477.css


+ 1 - 0
dist/static/css/chunk-929c4556.88086bf5.css

@@ -0,0 +1 @@
+.m-container[data-v-abef520e]{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.newBand[data-v-abef520e]{display:inline-block}

+ 1 - 1
dist/static/css/chunk-b5f3834c.8d89c814.css → dist/static/css/chunk-99129380.7b01fa8d.css

@@ -1 +1 @@
-.newBand[data-v-40ee6f00]{display:inline-block}[data-v-40ee6f00] .el-input-number.is-controls-right .el-input__inner{text-align:left}.setWidth[data-v-40ee6f00]{display:inline-block}.lookTitle[data-v-40ee6f00]{height:40px;line-height:40px;font-weight:700;background-color:#edeef0;padding:0 20px;margin-bottom:20px}.showShop[data-v-40ee6f00]{height:40px;line-height:40px;width:150px;background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed;color:#333;opacity:1;border-radius:4px;border:1px solid #dcdfe6;padding:0 15px;margin-right:10px}.shopListWrap[data-v-40ee6f00]{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}
+.newBand[data-v-dfdc8678]{display:inline-block}[data-v-dfdc8678] .el-input-number.is-controls-right .el-input__inner{text-align:left}.setWidth[data-v-dfdc8678]{display:inline-block}.lookTitle[data-v-dfdc8678]{height:40px;line-height:40px;font-weight:700;background-color:#edeef0;padding:0 20px;margin-bottom:20px}.showShop[data-v-dfdc8678]{height:40px;line-height:40px;width:150px;background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed;color:#333;opacity:1;border-radius:4px;border:1px solid #dcdfe6;padding:0 15px;margin-right:10px}.shopListWrap[data-v-dfdc8678]{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}

+ 1 - 0
dist/static/css/chunk-a2310078.24d72d0f.css

@@ -0,0 +1 @@
+.el-button--primary[data-v-3d1d6e2c],.el-button--primary[data-v-3d1d6e2c]:active,.el-button--primary[data-v-3d1d6e2c]:focus,.el-button--primary[data-v-3d1d6e2c]:hover{background:#14928a;border-color:#14928a;color:#fff}[data-v-3d1d6e2c] .el-select{width:100%!important}.el-vue-search-box-container[data-v-3d1d6e2c]{position:absolute!important;left:10px;margin-top:10px;z-index:99999!important}

+ 1 - 1
dist/static/css/chunk-75855639.26944c2e.css → dist/static/css/chunk-a55fdac2.07304547.css

@@ -1 +1 @@
-.schoolCell[data-v-0341c9a4]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-0341c9a4] .el-textarea.is-disabled .el-textarea__inner{color:#333}.schoolCell[data-v-59b9bbad]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-59b9bbad] .el-textarea.is-disabled .el-textarea__inner{color:#333}
+.schoolCell[data-v-0341c9a4]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-0341c9a4] .el-textarea.is-disabled .el-textarea__inner{color:#333}.schoolCell[data-v-4bc252c9]{width:400px;color:#333;background-color:#f5f7fa;border-color:#e4e7ed;height:40px;line-height:40px;outline:0;padding:0 15px;border-radius:4px;border:1px solid #dcdfe6;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-v-4bc252c9] .el-textarea.is-disabled .el-textarea__inner{color:#333}

+ 1 - 0
dist/static/css/chunk-be3bf066.ecdc8345.css

@@ -0,0 +1 @@
+.box-card[data-v-50daefe5]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:102px;width:102px;margin-bottom:20px}

+ 1 - 1
dist/static/css/chunk-14c20ba8.f621cf05.css → dist/static/css/chunk-fcd89c9c.16a43373.css

@@ -1 +1 @@
-.alert[data-v-142acd92]{margin:10px 0}[data-v-142acd92] .el-icon-check,[data-v-142acd92] .el-icon-close{font-size:18px;font-weight:700}[data-v-142acd92] .el-icon-close{color:red}[data-v-142acd92] .el-icon-check{color:#14928a}.title[data-v-7576dd06]{margin-bottom:20px}.amap-demo[data-v-7576dd06]{height:500px}[data-v-1ccac135] .description-title{margin:0!important}
+.alert[data-v-142acd92]{margin:10px 0}[data-v-142acd92] .el-icon-check,[data-v-142acd92] .el-icon-close{font-size:18px;font-weight:700}[data-v-142acd92] .el-icon-close{color:red}[data-v-142acd92] .el-icon-check{color:#14928a}.title[data-v-7576dd06]{margin-bottom:20px}.amap-demo[data-v-7576dd06]{height:500px}[data-v-69ae4217] .description-title{margin:0!important}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/app.4b90be5e.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-00bbf359.f6897a24.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-08a5bd4e.712929bc.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-0fb777e7.3213955b.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-100554f2.6234797e.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-12514954.0ae435f0.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-15770507.bcc2a9c4.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-15770507.faef945c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-20d42954.af017b9e.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-214fb7c2.4f4ee277.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-2c146260.f674533e.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-34764697.c68d8d3f.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-3910a1eb.25eada98.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-3bc574e4.1075ff6f.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-3c8266ca.1f23e432.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-3c8266ca.287440e9.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-3ca72746.0868ee01.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-44f59756.0cf34076.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-44f59756.a503e3e6.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-495439dc.8f1db747.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-4ba48a58.76f194b9.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-53afcbb2.dd8418d9.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-55053db0.699072fd.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-58b93a1a.542a2df1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-60aaefa0.e76389b7.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-67754b1a.2ca023e7.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-69650065.1249fb5c.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-69650065.ea6e43ad.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-75855639.02478d10.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-7842ffae.609ac551.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-7a8a9931.fcf3f2c6.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-7ea442be.897655c2.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-7ec59306.3569d319.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-7f91ee0d.5a7ce082.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-7f91ee0d.b9032063.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-86209644.60d3786d.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-91193b0c.dbe2e066.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-929c4556.c52f3d80.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-99129380.bbd783dc.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-a2310078.13029862.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-a55fdac2.12b15428.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-b5f3834c.85666a11.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-be3bf066.2dedf8a8.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-e60d0406.2f888102.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-f3334c50.bf68f2d2.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-fb1fc898.604233c6.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/static/js/chunk-fcd89c9c.bcf0f03a.js


+ 0 - 1
src/components/tab-router/index.vue

@@ -91,7 +91,6 @@ export default {
       this.$store.dispatch("addVisitedViews",  this.$route);
       const parentClick = this.$listeners["tab-click"];
       if (parentClick) {
-
         parentClick(item, evt);
       }
     },

+ 1 - 1
src/utils/downLoadFile.js

@@ -53,7 +53,7 @@ export const Export = (that, params, message) => {
                 } else {
                     let objectUrl = URL.createObjectURL(blob);
                     let link = document.createElement("a");
-                    let fname = params.fileName || "导出文件.xlsx"; //下载文件的名字
+                    let fname = params.fileName || "导出文件.xls"; //下载文件的名字
                     link.href = objectUrl;
                     link.setAttribute("download", fname);
                     document.body.appendChild(link);

+ 1 - 1
src/views/afterSchoolManager/afterWorkList.vue

@@ -349,7 +349,7 @@ export default {
       let obj = this.getDate();
       await Export(this, {
         url: '/api-web/export/extraExercisesReplys',
-        fileName: '课外训练(学员).xlsx',
+        fileName: '课外训练(学员).xls',
         method: 'get',
         params: obj
       }, '您确定导出列表?')

+ 1 - 1
src/views/arrearage-students/index.vue

@@ -288,7 +288,7 @@ export default {
       const { organIds, ...rest} = this.searchForm
       Export(this, {
         url: '/api-web/export/arrearageStudents',
-        fileName: '欠费学员.xlsx',
+        fileName: '欠费学员.xls',
         method: 'post',
         params: qs.stringify({ organIds: organIds.join(','), ...rest })
       }, '您确定导出欠费学员列表?')

+ 1 - 1
src/views/businessManager/orderManager/financeManager-taoqi.vue

@@ -1157,7 +1157,7 @@ export default {
         params: {
           templateType: "ROUTE_ORDER",
         },
-        fileName: "财务管理导入模板.xlsx",
+        fileName: "财务管理导入模板.xls",
       });
     },
     beforeUpload(file) {

+ 1 - 1
src/views/businessManager/orderManager/financeManager.vue

@@ -1173,7 +1173,7 @@ export default {
         params: {
           templateType: "ROUTE_ORDER",
         },
-        fileName: "财务管理导入模板.xlsx",
+        fileName: "财务管理导入模板.xls",
       });
     },
     beforeUpload(file) {

+ 1 - 1
src/views/businessManager/orderManager/payRecord.vue

@@ -410,7 +410,7 @@ export default {
     downloadFile() {
       Export(this, {
         url: "/api-web/import/downloadTemplate",
-        fileName: "财务支出导入模板.xlsx",
+        fileName: "财务支出导入模板.xls",
         params: {
           templateType: "FINANCIAL_EXPENDITURE",
         },

+ 9 - 13
src/views/businessManager/shopManager/shopList.vue

@@ -1167,20 +1167,16 @@ export default {
         params: {
           templateType: "GOODS",
         },
-        fileName: "商品导入模板.xlsx",
-      });
+        fileName: '商品导入模板.xls'
+      })
     },
-    exportShopList() {
-      Export(
-        this,
-        {
-          url: "/api-web/export/goods",
-          params: qs.stringify(cleanDeep(this.searchForm)),
-          fileName: "商品导出.xlsx",
-          method: "post",
-        },
-        "确定导出商品"
-      );
+    exportShopList(){
+      Export(this, {
+        url: "/api-web/export/goods",
+        params: qs.stringify(cleanDeep(this.searchForm)),
+        fileName: '商品导出.xls',
+        method:'post'
+      }, '确定导出商品')
     },
     onFormClose(formName) {
       // 关闭弹窗重置验证

+ 1 - 1
src/views/categroyManager/insideSetting/branchManager.vue

@@ -300,7 +300,7 @@ export default {
     onExport () {
       Export(this, {
         url: '/api-web/export/cooperationOrgan',
-        fileName: '合作单位.xlsx',
+        fileName: '合作单位.xls',
         method: 'post',
         params: qs.stringify(cleanDeep(this.searchForm))
       }, '您确定导出合作单位?')

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

@@ -740,7 +740,7 @@ export default {
         this,
         {
           url: "/api-web/export/vipGroupActivity",
-          fileName: "活动列表.xlsx",
+          fileName: "活动列表.xls",
           method: "post",
           params: qs.stringify(cleanDeep(obj)),
         },

+ 1 - 1
src/views/musicInspection/index.vue

@@ -400,7 +400,7 @@ export default {
         this,
         {
           url: "/api-web/inspectionItemPlanConclusion/exportPlanConclusion",
-          fileName: "巡查结果.xlsx",
+          fileName: "巡查结果.xls",
           method: "get",
           params: {
             planId: row.id,

+ 1 - 1
src/views/operationalEarly/operationalList.vue

@@ -262,7 +262,7 @@ export default {
         this,
         {
           url: "/api-web/export/teacherCourseStatistics",
-          fileName: "运营预警.xlsx",
+          fileName: "运营预警.xls",
           method: "post",
           params: qs.stringify({
             ...rest

+ 1 - 1
src/views/reaplceMusicPlayer/index.vue

@@ -311,7 +311,7 @@ export default {
         this,
         {
           url: "/api-web/replacementInstrumentActivity/export",
-          fileName: "乐器置换列表.xlsx",
+          fileName: "乐器置换列表.xls",
           method: "post",
           params: qs.stringify(cleanDeep(obj)),
         },

+ 1 - 1
src/views/repairManager/repairList.vue

@@ -582,7 +582,7 @@ export default {
       const {timer, ...rest} = this.searchForm
       Export(this, {
         url: '/api-web/studentRepair/export',
-        fileName: '维修单.xlsx',
+        fileName: '维修单.xls',
         method: 'post',
         params: qs.stringify({ ...rest, ...getTimes(timer, ["startTime", "endTime"]) })
       }, '您确定导出维修单列表?')

+ 2 - 2
src/views/reportForm/index.vue

@@ -552,7 +552,7 @@ export default {
       }
       Export(this, {
         url: '/api-web/export/exportStudentAttendances',
-        fileName: '学生考勤.xlsx',
+        fileName: '学生考勤.xls',
         method: 'post',
         params: qs.stringify({ organId: this.attendanceOrganId.join(','), groupType: this.attendanceCourseType, classStartDate, classEndDate })
       }, '您确定导出学生考勤?')
@@ -571,7 +571,7 @@ export default {
       }
       Export(this, {
         url: '/api-web/studentInstrument/export',
-        fileName: '乐保订单.xlsx',
+        fileName: '乐保订单.xls',
         method: 'get',
         params: { startTime: startTime, endTime: endTime }
       }, '您确定导出乐保订单?')

+ 1 - 1
src/views/serverDetail/index.vue

@@ -405,7 +405,7 @@ export default {
         this,
         {
           url: "/api-web/export/teacherServeInfo",
-          fileName: "服务指标明细.xlsx",
+          fileName: "服务指标明细.xls",
           method: "post",
           params: qs.stringify({
             ...rest,

+ 1 - 1
src/views/stuRecodeManager/index.vue

@@ -459,7 +459,7 @@ export default {
         this,
         {
           url: "/api-web/export/exportStudentAttendances",
-          fileName: "考勤列表.xlsx",
+          fileName: "考勤列表.xls",
           method: "post",
           params: qs.stringify(cleanDeep(obj)),
         },

+ 25 - 7
src/views/studentManager/studentList.vue

@@ -211,9 +211,14 @@
           <!-- <el-table-column align="center" label="预约网管课">
             <template slot-scope="scope">{{ scope.row.isMake ? '是' : '否' }}</template>
           </el-table-column> -->
-          <el-table-column align="center" label="是否有网管课">
+          <el-table-column align="center" label="网管课剩余课时">
             <template slot-scope="scope">{{
-              scope.row.hasPracticeCourse ? "是" : "否"
+              scope.row.noStartPracticeCourseNum
+            }}</template>
+          </el-table-column>
+               <el-table-column align="center" label="vip课剩余课时">
+            <template slot-scope="scope">{{
+              scope.row.noStartVipCourseNum
             }}</template>
           </el-table-column>
           <el-table-column align="center" label="是否运营">
@@ -256,10 +261,23 @@
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center" prop="carePackage" label="关心包">
-            <template slot-scope="scope">{{
-              scope.row.carePackage | studentPackage
-            }}</template>
+                 <el-table-column
+            align="center"
+            prop="balance"
+            label="账户余额(元)"
+          >
+            <template slot-scope="scope">
+              <div>
+                {{ scope.row.balance | moneyFormat }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="carePackage"
+            label="关心包"
+          >
+            <template slot-scope="scope">{{ scope.row.carePackage | studentPackage }}</template>
           </el-table-column>
           <el-table-column align="center" prop="comeOnPackage" label="加油包">
             <template slot-scope="scope">{{
@@ -839,7 +857,7 @@ export default {
                     nowTime.getFullYear() +
                     (nowTime.getMonth() + 1) +
                     nowTime.getDate();
-                  let fname = `导出学员名单` + ymd + ".xlsx"; //下载文件的名字
+                  let fname = `导出学员名单` + ymd + ".xls"; //下载文件的名字
                   link.href = objectUrl;
                   link.setAttribute("download", fname);
                   document.body.appendChild(link);

+ 209 - 163
src/views/teacherManager/teacherDetail/components/settlement.vue

@@ -3,68 +3,82 @@
     <div class="headWrap">
       <div class="left">
         <div class="headItem">
-          <p>未结算总额:<span>{{ teacherNoPay| moneyFormat}}</span></p>
+          <p>
+            未结算总额:<span>{{ teacherNoPay | moneyFormat }}</span>
+          </p>
         </div>
       </div>
     </div>
-    <save-form :inline="true"
-             :model="searchForm" @submit="search" @reset="onReSet" save-key='teacherDetail-settlement'>
+    <save-form
+      :inline="true"
+      :model="searchForm"
+      @submit="search"
+      @reset="onReSet"
+      save-key="teacherDetail-settlement"
+    >
       <el-form-item>
-        <el-date-picker v-model.trim="searchForm.courseDate"
-                        style="width: 400px;"
-                        type="daterange"
-                        value-format="yyyy-MM-dd"
-
-                        range-separator="至"
-                        start-placeholder="课程开始日期"
-                        end-placeholder="课程结束日期"
-                        :picker-options="{
-        firstDayOfWeek: 1
-    }">
+        <el-date-picker
+          v-model.trim="searchForm.courseDate"
+          style="width: 400px"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          range-separator="至"
+          start-placeholder="课程开始日期"
+          end-placeholder="课程结束日期"
+          :picker-options="{
+            firstDayOfWeek: 1,
+          }"
+        >
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-select v-model.trim="searchForm.courseScheduleType"
-                   filterable
-                   clearable
-                   placeholder="课程类型">
-          <el-option v-for="(item, index) in courseType"
-                     :key="index"
-                     :label="item.label"
-                     :value="item.value"></el-option>
+        <el-select
+          v-model.trim="searchForm.courseScheduleType"
+          filterable
+          clearable
+          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.trim="searchForm.signInStatus"
-                   clearable
-                   filterable
-                   placeholder="考勤状态">
-          <el-option v-for="(item, index) in attendance"
-                     :key="index"
-                     :label="item.label"
-                     :value="item.value"></el-option>
+        <el-select
+          v-model.trim="searchForm.signInStatus"
+          clearable
+          filterable
+          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 native-type="submit"
-                   type="danger">搜索</el-button>
-        <el-button native-type="reset"
-                   type="primary">重置</el-button>
+        <el-button native-type="submit" type="danger">搜索</el-button>
+        <el-button native-type="reset" type="primary">重置</el-button>
       </el-form-item>
     </save-form>
     <div class="tableWrap">
-      <el-table :data="tableList"
-                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-        <el-table-column label="上课时间"
-                         align="center"
-                         width="200">
+      <el-table
+        :data="tableList"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+      >
+        <el-table-column label="上课时间" align="center" width="200">
           <template slot-scope="scope">
-            {{ scope.row.classDate + ' ' + (scope.row.classTime.substring(0,5)) }}
+            {{
+              scope.row.classDate + " " + scope.row.classTime.substring(0, 5)
+            }}
           </template>
         </el-table-column>
-        <el-table-column label="班级名称"
-                         prop="className">
-        </el-table-column>
+        <el-table-column label="班级名称" prop="className"> </el-table-column>
         <el-table-column label="课程类型">
           <template slot-scope="scope">
             {{ scope.row.courseScheduleType | coursesType }}
@@ -93,120 +107,139 @@
             {{ scope.row.signOutStatus | attendanceOutType }}
           </template>
         </el-table-column>
-        <el-table-column label="预计发放"
-                         prop="expectSalary">
+        <el-table-column label="预计发放" prop="expectSalary">
           <template slot-scope="scope">
             <div>
-              {{scope.row.expectSalary|moneyFormat}}
+              {{ scope.row.expectSalary | moneyFormat }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column label="实际发放"
-                         prop="actualSalary">
+        <el-table-column label="实际发放" prop="actualSalary">
           <template slot-scope="scope">
             <div>
-              {{scope.row.actualSalary|moneyFormat}}
+              {{ scope.row.actualSalary | moneyFormat }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column label="课时补贴"
-                         prop="subsidy">
+        <el-table-column label="课时补贴" prop="subsidy">
           <template slot-scope="scope">
             <div>
-              {{scope.row.subsidy|moneyFormat}}
+              {{ scope.row.subsidy | moneyFormat }}
             </div>
           </template>
         </el-table-column>
         <el-table-column label="结算状态">
           <template slot-scope="scope">
-            {{ scope.row.settlementTime ? '已结算' : '未结算' }}
+            {{ scope.row.settlementTime ? "已结算" : "未结算" }}
           </template>
         </el-table-column>
         <el-table-column label="操作">
-          <template slot-scope="scope"
-                    v-if="scope.row.courseScheduleType != 'VIP' && !scope.row.settlementTime">
-            <auth auths="courseSchedule/updateTeacherCoursesSalary/settlement" v-if="scope.row.courseScheduleType != 'DEMO'">
-              <el-button @click="onUpdate(scope.row)" type="text">课酬调整</el-button>
+          <template
+            slot-scope="scope"
+            v-if="
+              scope.row.courseScheduleType != 'VIP' && !scope.row.settlementTime
+            "
+          >
+            <auth
+              auths="courseSchedule/updateTeacherCoursesSalary/settlement"
+              v-if="scope.row.courseScheduleType != 'DEMO'"
+            >
+              <el-button @click="onUpdate(scope.row)" type="text"
+                >课酬调整</el-button
+              >
             </auth>
           </template>
         </el-table-column>
       </el-table>
       <pagination
-      save-key='teacherDetail-settlement'
-      sync
-      :total.sync="pageInfo.total"
-                  :page.sync="pageInfo.page"
-                  :limit.sync="pageInfo.limit"
-                  :page-sizes="pageInfo.page_size"
-                  @pagination="getList" />
+        save-key="teacherDetail-settlement"
+        sync
+        :total.sync="pageInfo.total"
+        :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="预计发放"
-                      :label-width="formLabelWidth">
-          <el-input v-model.trim="form.expectSalary"
-                    disabled
-                    @mousewheel.native.prevent
-                    type="number"></el-input>
+    <el-dialog
+      title="课酬调整"
+      v-if="settlementStatus"
+      :visible.sync="settlementStatus"
+      @close="onFormClose('ruleForm')"
+      width="500px"
+    >
+      <el-form :model="form" :rules="rules" ref="ruleForm">
+        <el-form-item label="原预计课酬" :label-width="formLabelWidth">
+          <el-input
+            v-model.trim="form.expectSalary"
+            disabled
+            @mousewheel.native.prevent
+            type="number"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="补贴"
+        <!-- <el-form-item label="补贴"
                       :label-width="formLabelWidth">
           <el-input v-model.trim="form.subsidys"
                     disabled
                     @mousewheel.native.prevent
                     type="number"></el-input>
+        </el-form-item> -->
+        <el-form-item
+          label="课酬调整为"
+          prop="salary"
+          :label-width="formLabelWidth"
+        >
+          <el-input
+            v-model.trim="form.salary"
+            type="number"
+            @mousewheel.native.prevent
+            autocomplete="off"
+          ></el-input>
         </el-form-item>
-        <el-form-item label="课酬调整为"
-                      prop="salary"
-                      :label-width="formLabelWidth">
-          <el-input v-model.trim="form.salary"
-                    type="number"
-                    @mousewheel.native.prevent
-                    autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="课时补贴调整为"
+        <!-- <el-form-item label="课时补贴调整为"
                       prop="subsidy"
                       :label-width="formLabelWidth">
           <el-input v-model.trim="form.subsidy"
                     type="number"
                     @mousewheel.native.prevent
                     autocomplete="off"></el-input>
-        </el-form-item>
-        <el-form-item label="调整范围"
-                      prop="scope"
-                      :label-width="formLabelWidth">
+        </el-form-item> -->
+        <el-form-item
+          label="调整范围"
+          prop="scope"
+          :label-width="formLabelWidth"
+        >
           <el-radio-group v-model.trim="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>
 </template>
 <script>
-import { teacherQueryCloses, sumTeacherNoPay, updateTeacherCoursesSalary } from '@/api/teacherManager'
-import pagination from '@/components/Pagination/index'
-import store from '@/store'
-import { courseType, attendance } from '@/utils/searchArray'
+import {
+  teacherQueryCloses,
+  sumTeacherNoPay,
+  updateTeacherCoursesSalary,
+} from "@/api/teacherManager";
+import pagination from "@/components/Pagination/index";
+import store from "@/store";
+import { courseType, attendance } from "@/utils/searchArray";
 import { getTimes } from "@/utils";
 export default {
-  name: 'settlement',
+  name: "settlement",
   components: {
-    pagination
+    pagination,
   },
-  data () {
+  data() {
     return {
       teacherNoPay: 0,
       searchForm: {
@@ -214,7 +247,7 @@ export default {
         courseEndDate: null,
         courseScheduleType: null,
         signInStatus: null,
-        courseDate:[]
+        courseDate: [],
       },
       courseType: courseType,
       attendance: attendance,
@@ -226,72 +259,84 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 1, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
-      formLabelWidth: '120px',
+      formLabelWidth: "120px",
       settlementStatus: false,
       form: {
         courseScheduleId: null,
         salary: null,
         subsidy: null,
-        scope: 'one',
+        scope: "one",
         expectSalary: null,
-        subsidys: null
+        subsidys: null,
       },
       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" },
+        ],
+      },
+    };
   },
-  activated () {
-    this.teacherId = this.$route.query.teacherId
-    this.getList()
-    sumTeacherNoPay({ teacherId: this.teacherId }).then(res => {
+  activated() {
+    this.teacherId = this.$route.query.teacherId;
+    this.getList();
+    sumTeacherNoPay({ teacherId: this.teacherId }).then((res) => {
       if (res.code == 200) {
-        this.teacherNoPay = res.data
+        this.teacherNoPay = res.data;
       }
-    })
+    });
   },
-  mounted () {
-    this.teacherId = this.$route.query.teacherId
-    this.getList()
-    sumTeacherNoPay({ teacherId: this.teacherId }).then(res => {
+  mounted() {
+    this.teacherId = this.$route.query.teacherId;
+    this.getList();
+    sumTeacherNoPay({ teacherId: this.teacherId }).then((res) => {
       if (res.code == 200) {
-        this.teacherNoPay = res.data
+        this.teacherNoPay = res.data;
       }
-    })
+    });
   },
   methods: {
-    search () {
+    search() {
       this.pageInfo.page = 1;
       this.getList();
     },
-    onSettlementSubmit (formName) {
-      this.$refs[formName].validate(valid => {
-        if (!valid) return
-        this.form.teacherId = this.teacherId
-        updateTeacherCoursesSalary(this.form).then(res => {
-          this.messageTips('修改', res)
-        })
-      })
+    onSettlementSubmit(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (!valid) return;
+        this.form.teacherId = this.teacherId;
+        updateTeacherCoursesSalary(this.form).then((res) => {
+          this.messageTips("修改", res);
+        });
+      });
     },
-    messageTips (title, res) {
+    messageTips(title, res) {
       if (res.code == 200) {
-        this.$message.success(title + '成功')
-        this.settlementStatus = false
-        this.getList()
+        this.$message.success(title + "成功");
+        this.settlementStatus = false;
+        this.getList();
+        this.form = {
+          courseScheduleId: null,
+          salary: null,
+          subsidy: null,
+          scope: "one",
+          expectSalary: null,
+          subsidys: null,
+        };
       } else {
-        this.$message.error(res.msg)
+        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
-            const { courseDate, ...rest } = this.searchForm;
+      const { courseDate, ...rest } = this.searchForm;
       let params = {
         ...rest,
         ...getTimes(courseDate, ["courseStartDate", "courseEndDate"]),
@@ -299,43 +344,44 @@ export default {
         rows: this.pageInfo.limit,
         teacherId: this.teacherId,
       };
-      teacherQueryCloses(params).then(res => {
+      teacherQueryCloses(params).then((res) => {
         if (res.code == 200) {
-          this.tableList = res.data.rows
-          this.pageInfo.total = res.data.total
+          this.tableList = res.data.rows;
+          this.pageInfo.total = res.data.total;
         }
-      })
+      });
     },
-    searchCourseDate (value) {
+    searchCourseDate(value) {
       if (value) {
-        this.searchForm.courseStartDate = value[0]
-        this.searchForm.courseEndDate = value[1]
+        this.searchForm.courseStartDate = value[0];
+        this.searchForm.courseEndDate = value[1];
       } else {
-        this.searchForm.courseStartDate = null
-        this.searchForm.courseEndDate = null
+        this.searchForm.courseStartDate = null;
+        this.searchForm.courseEndDate = null;
       }
     },
-    onFormClose (formName) { // 关闭弹窗重置验证
-      this.$refs[formName].resetFields()
+    onFormClose(formName) {
+      // 关闭弹窗重置验证
+      this.$refs[formName].resetFields();
     },
-    onUpdate (row) {
-      this.form.courseScheduleId = row.courseScheduleId
-      this.settlementStatus = true
-      this.form.expectSalary = row.expectSalary
-      this.form.subsidys = row.subsidy
+    onUpdate(row) {
+      this.form.courseScheduleId = row.courseScheduleId;
+      this.settlementStatus = true;
+      this.form.expectSalary = row.expectSalary;
+      this.form.subsidys = row.subsidy;
     },
-    onReSet () {
-      this.courseDate = null
+    onReSet() {
+      this.courseDate = null;
       this.searchForm = {
         courseStartDate: null,
         courseEndDate: null,
         courseScheduleType: null,
-        signInStatus: null
-      }
+        signInStatus: null,
+      };
       this.getList();
-    }
-  }
-}
+    },
+  },
+};
 </script>
 <style lang="scss" scope>
 </style>

+ 1 - 1
src/views/teamBuild/forecastName.vue

@@ -316,7 +316,7 @@ export default {
                         ...params,
                         musicGroupId: this.musicGroupId
                     },
-                    fileName: '预报名列表.xlsx'
+                    fileName: '预报名列表.xls'
                 },
                 "是否确认导出报表?"
             );

+ 1 - 1
src/views/teamDetail/componentCourse/teacherList.vue

@@ -265,7 +265,7 @@
     >
       <!-- 修改代码 -->
       <el-form :model="teacherMask" :rules="teacherRules" ref="teacherMask">
-        <el-form-item label="原课程课酬" prop="expectSalary">
+        <el-form-item label="原预计课酬" prop="expectSalary">
           <span>{{
             activeTeacher && activeTeacher.expectSalary | moneyFormat
           }}</span>

+ 1 - 1
src/views/vipClass/vipList.vue

@@ -613,7 +613,7 @@ export default {
                   let objectUrl = URL.createObjectURL(blob);
                   let link = document.createElement("a");
                   let fname =
-                    "VIP课程续费提醒" + new Date().getTime() + ".xlsx"; //下载文件的名字
+                    "VIP课程续费提醒" + new Date().getTime() + ".xls"; //下载文件的名字
                   link.href = objectUrl;
                   link.setAttribute("download", fname);
                   document.body.appendChild(link);

+ 1 - 1
src/views/withdrawal-application/index.vue

@@ -216,7 +216,7 @@ export default {
       const { ...rest} = this.searchForm
       Export(this, {
         url: '/api-web/export/musicGroupQuit',
-        fileName: '退团申请.xlsx',
+        fileName: '退团申请.xls',
         method: 'post',
         params: qs.stringify({ visitFlag: this.$route.query.visitFlag, ...rest })
       }, '您确定导出退团申请列表?')

+ 20 - 431
src/views/workBenchManager/payAppeal.vue

@@ -6,454 +6,43 @@
       考勤申诉
     </h2>
     <div class="m-core">
-      <save-form :inline="true" :model.sync="searchForm" ref="searchForm">
-        <el-form-item>
-          <el-input
-            v-model.trim="searchForm.search"
-            clearable
-            @keyup.enter.native="search"
-            placeholder="老师名称、课程编号"
-          ></el-input>
-        </el-form-item>
-        <el-form-item>
-          <el-select
-            v-model.trim="searchForm.organId"
-            clearable
-            filterable
-            placeholder="请选择分部"
-          >
-            <el-option
-              v-for="(item, index) in selects.branchs"
-              :key="index"
-              :label="item.name"
-              :value="item.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <el-select
-            v-model.trim="searchForm.complaintsStatus"
-            clearable
-            filterable
-            placeholder="申诉状态"
-          >
-            <el-option label="已拒绝" :value="0"></el-option>
-            <el-option label="已通过" :value="1"></el-option>
-            <el-option label="待处理" :value="2"></el-option>
-            <el-option label="已撤销" :value="3"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <el-date-picker
-            v-model.trim="searchForm.timer"
-            style="width: 400px"
-            type="daterange"
-            value-format="yyyy-MM-dd"
-            range-separator="至"
-            start-placeholder="课程开始日期"
-            end-placeholder="课程结束日期"
-            :picker-options="{
-              firstDayOfWeek: 1,
-            }"
-          ></el-date-picker>
-        </el-form-item>
-        <el-form-item>
-          <el-button type="danger" @click="search">搜索</el-button>
-          <el-button @click="onReSet" type="primary">重置</el-button>
-        </el-form-item>
-      </save-form>
-      <div class="tableWrap">
-        <el-table
-          style="width: 100%"
-          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
-          :data="tableList"
-        >
-          <el-table-column
-            align="center"
-            prop="organName"
-            label="分部"
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            prop="courseScheduleId"
-            label="课程编号"
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            prop="courseScheduleName"
-            label="课程名称"
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            width="180"
-            prop="courseScheduleTime"
-            label="课程时间"
-          >
-            <template slot-scope="scope">
-              <div>
-                <p>
-                  {{ scope.row.courseScheduleTime }}
-                  {{ scope.row.courseScheduleStartTime | timerForMinFormat }}-{{
-                    scope.row.courseScheduleEndTime | timerForMinFormat
-                  }}
-                </p>
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column align="center" prop="status" label="签到状态">
-            <template slot-scope="scope">
-              <div>
-                <p>{{ scope.row.signInStatus | attendanceType }}</p>
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column align="center" prop="status" label="签退状态">
-            <template slot-scope="scope">
-              <div>
-                <p>{{ scope.row.signOutStatus | attendanceOutType }}</p>
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="teacherName"
-            label="老师名称"
-          ></el-table-column>
-          <el-table-column align="center" prop="studentId" label="状态">
-            <template slot-scope="scope">
-              <div>
-                {{ scope.row.complaintsStatusEnum | complaintsStatusEnum }}
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="修复记录">
-            <template slot-scope="scope">
-              <div>
-                {{ scope.row.updateAttendanceEnum | updateAttendanceEnum }}
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column
-            align="center"
-            prop="operatorName"
-            label="申诉处理者"
-          ></el-table-column>
-          <el-table-column align="center" label="操作">
-            <!-- teacherAttendance/agreeTeacherAttendanceComplaints -->
-            <template slot-scope="scope">
-              <div>
-                <el-button
-                  type="text"
-                  v-if="permission('teacherAttendance/operation/update')&&scope.row.complaintsStatusEnum == 2"
-                  @click="lookDetail(scope.row)"
-                  >处理申诉</el-button
-                >
-                 <el-button
-                  type="text"
-                  v-if="permission('teacherAttendance/operation')&&scope.row.complaintsStatusEnum != 2"
-                  @click="lookDetail(scope.row)"
-                  >查看</el-button
-                >
-                <!-- complaintsStatusEnum -->
-              </div>
-            </template>
-          </el-table-column>
-        </el-table>
-        <pagination
-          sync
-          :total.sync="rules.total"
-          :page.sync="rules.page"
-          :limit.sync="rules.limit"
-          :page-sizes="rules.page_size"
-          @pagination="getList"
-        />
-      </div>
+      <tab-router
+        v-model.trim="activeIndex"
+        type="card"
+
+      >
+      <!--  @tab-click="handleClick" -->
+        <el-tab-pane label="考勤申诉(未结算)" lazy name="1" >
+          <progressRequest v-if="activeIndex === '1'" :isSettle="false"/>
+        </el-tab-pane>
+        <el-tab-pane label="考勤申诉(已结算)" lazy name="2">
+          <progressRequest v-if="activeIndex === '2'" :isSettle="true"/>
+        </el-tab-pane>
+      </tab-router>
     </div>
-    <el-dialog title="考勤申诉" :visible.sync="dialogVisible" width="500px">
-      <div>
-        <el-form ref="visibleForm" :model="visibleForm" label-width="100px" class="visibleForm">
-          <el-form-item label="签到时间">
-            {{ visibleForm.signInTime }}
-          </el-form-item>
-          <el-form-item label="签退时间">
-            {{ visibleForm.signOutTime }}
-          </el-form-item>
-          <el-form-item label="申诉图片">
-            <el-row>
-              <el-col v-for="(item, index) in visibleForm.srcList" :key="index" :span='6'>
-                <el-image
-                  style="width: 100px; height: 100px"
-                  fit="cover"
-                  :src="item"
-                  :preview-src-list="visibleForm.srcList"
-                >
-                </el-image>
-              </el-col>
-            </el-row>
-          </el-form-item>
-          <el-form-item label="申诉考勤状态">
-            <el-checkbox v-if="visibleForm.complaintsType == 'SIGN_IN' || visibleForm.complaintsType == 'ALL'" disabled :value="true">签到状态</el-checkbox>
-            <el-checkbox v-if="visibleForm.complaintsType == 'SIGN_OUT' || visibleForm.complaintsType == 'ALL'" disabled :value="true">签退状态</el-checkbox>
-          </el-form-item>
-          <el-form-item
-            label="申诉内容"
-            :rules="[
-              { required: true, message: '请填写申诉内容', trigger: 'blur' },
-            ]"
-            prop="complaintsContent"
-          >
-            <el-input
-              type="textarea"
-              :rows="4"
-              :disabled="visibleForm.complaintsStatusEnum != '2'"
-              v-model.trim="visibleForm.complaintsContent"
-            ></el-input>
-          </el-form-item>
-          <el-form-item
-            label="处理意见"
-            :rules="[
-              { required: true, message: '请填写处理意见', trigger: 'blur' },
-            ]"
-            prop="disposeContent"
-          >
-            <el-input
-              type="textarea"
-              :rows="4"
-              :disabled="visibleForm.complaintsStatusEnum != '2'"
-              v-model.trim="visibleForm.disposeContent"
-            ></el-input>
-          </el-form-item>
-          <!--  -->
-          <!-- <el-form-item
-            label="请选择需要补正的状态"
-            v-if="visibleForm.complaintsStatusEnum == '2'"
-          >
-            <br />
-            <el-checkbox
-              v-model="visibleForm.reSignInStatus"
-              :disabled="visibleForm.complaintsStatusEnum != '2'"
-              >签到状态</el-checkbox
-            >
-            <el-checkbox
-              v-model="visibleForm.reSignOutStatus"
-              :disabled="visibleForm.complaintsStatusEnum != '2'"
-              >签退状态</el-checkbox
-            >
-          </el-form-item> -->
-        </el-form>
-      </div>
-      <div slot="footer" v-if="visibleForm.complaintsStatusEnum == '2'">
-        <el-button
-          v-permission="'teacherAttendance/rejectTeacherAttendanceComplaints'"
-          @click="subreset('DENIED')"
-          >拒绝</el-button
-        >
-        <el-button
-          v-permission="'teacherAttendance/agreeTeacherAttendanceComplaints'"
-          type="primary"
-          @click="subreset('AGREED')"
-          >同意</el-button
-        >
-      </div>
-    </el-dialog>
   </div>
 </template>
 
 <script>
-import axios from "axios";
-import { getToken } from "@/utils/auth";
-import pagination from "@/components/Pagination/index";
-import load from "@/utils/loading";
 import { permission } from "@/utils/directivePage";
-import {
-  queryTeacherAttendanceComplaints,
-  agreeTeacherAttendanceComplaints,
-  rejectTeacherAttendanceComplaints,
-} from "@/api/journal";
+import progressRequest from "./requestComponent/progressRequest"
 export default {
-  components: { pagination },
+  components: {progressRequest},
   data() {
     return {
-      searchForm: {
-        search: null,
-        organId: null,
-        complaintsStatus: null,
-        timer: [],
-      },
-      teacherList: [],
-      tableList: [],
-      rules: {
-        // 分页规则
-        limit: 10, // 限制显示条数
-        page: 1, // 当前页
-        total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
-      },
-      dialogVisible: false,
-      visibleForm: {
-        complaintsContent: null,
-        complaintsStatusEnum: null,
-        disposeContent: null,
-        signInStatus: null,
-        signOutStatus: null,
-        teacherAttendanceId: null,
-        reSignInStatus: null,
-        reSignOutStatus: null,
-        complaintsType: null,
-        url: null,
-      },
+      activeIndex:1
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
-  async mounted() {
-    await this.$store.dispatch("setBranchs");
-
-    this.init();
-  },
+  async mounted() {},
   methods: {
-    init() {
-      this.getList();
-    },
-    permission(str) {
-      return permission(str);
-    },
-    getList() {
-      let obj = {};
-      Object.assign(obj, this.searchForm);
-      if (obj.timer && obj.timer.length > 0) {
-        obj.courseScheduleStartDate = obj.timer[0];
-        obj.courseScheduleEndDate = obj.timer[1];
-      }
-      obj.rows = this.rules.limit;
-      obj.page = this.rules.page;
-      delete obj.timer;
-      queryTeacherAttendanceComplaints(obj).then((res) => {
-        if (res.code == 200) {
-          this.rules.total = res.data.total;
-          this.tableList = res.data.rows;
-        }
-      });
-    },
-    search() {
-      this.rules.page = 1;
-      this.$refs.searchForm.save(this.searchForm);
-      this.$refs.searchForm.save(this.pageInfo, "page");
-      this.getList();
-    },
-    onReSet() {
-      this.searchForm = {
-        search: null,
-        organId: null,
-        complaintsStatus: null,
-        timer: [],
-      };
-      this.search();
-    },
-    subreset(str) {
-      if (str == "AGREED") {
-        // 同意
-        this.$refs["visibleForm"].validate((flag) => {
-          if (flag) {
-            let obj = {};
-            // if (
-            //   !this.visibleForm.reSignInStatus &&
-            //   !this.visibleForm.reSignOutStatus
-            // ) {
-            //   this.$message.error("请修正签到状态或签退状态");
-            //   return;
-            // }
-            // let str = "是否将此课程的";
-            // if (this.visibleForm.complaintsType == 'SIGN_IN' || this.visibleForm.complaintsType == 'ALL') {
-            //   str += "【签到状态】";
-            // }
-            // if (this.visibleForm.complaintsType == 'SIGN_OUT' || this.visibleForm.complaintsType == 'ALL') {
-            //   str += "【签退状态】";
-            // }
-            // str += "修正为正常";
-            obj.content = this.visibleForm.disposeContent;
-            obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
-
-            this.$confirm('您是否同意该申诉?', "是否", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning",
-            })
-              .then(() => {
-                agreeTeacherAttendanceComplaints(obj).then((res) => {
-                  if (res.code == 200) {
-                    this.dialogVisible = false;
-                    this.$message.success("同意申诉成功");
-                    this.getList();
-                  }
-                });
-              })
-              .catch(() => {});
-          }
-        });
-      } else {
-        // 拒绝
-        this.$refs["visibleForm"].validate((flag) => {
-          if (flag) {
-            let obj = {};
-            obj.content = this.visibleForm.disposeContent;
-            obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
-            this.$confirm("驳回申诉", "是否", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning",
-            })
-              .then(() => {
-                rejectTeacherAttendanceComplaints(obj).then((res) => {
-                  if (res.code == 200) {
-                    this.dialogVisible = false;
-                    this.$message.success("拒绝申诉成功");
-                    this.getList();
-                  }
-                });
-              })
-              .catch(() => {});
-          }
-        });
-      }
-    },
-    lookDetail(row) {
-      this.visibleForm = {
-        complaintsContent: row.complaintsContent,
-        complaintsStatusEnum: row.complaintsStatusEnum,
-        disposeContent: row.disposeContent,
-        signInStatus: row.signInStatus,
-        signOutStatus: row.signOutStatus,
-        signInTime: row.signInTime,
-        signOutTime: row.signOutTime,
-        teacherAttendanceId: row.teacherAttendanceId,
-        // reSignInStatus: row.signInStatus == 1 ? true : false,
-        // reSignOutStatus: row.signOutStatus == 1 ? true : false,
-        reSignInStatus: null,
-        reSignOutStatus: null,
-        complaintsType: row.complaintsType,
-        srcList: row.url.split(","),
-      };
-      this.dialogVisible = true;
-    },
-  },
-  watch: {
-    dialogVisible(val) {
-      if (!val) {
-        this.visibleForm = {
-          complaintsContent: null,
-          complaintsStatusEnum: null,
-          disposeContent: null,
-          signInStatus: null,
-          signOutStatus: null,
-          teacherAttendanceId: null,
-          reSignInStatus: null,
-          reSignOutStatus: null,
-        };
-      }
+      handleClick(evt) {
+      // this.changeHash(evt.name);
     },
   },
+  watch: {},
 };
 </script>
 <style lang='scss' scoped>

+ 0 - 0
src/views/workBenchManager/requestComponent/endRequest.vue


+ 495 - 0
src/views/workBenchManager/requestComponent/progressRequest.vue

@@ -0,0 +1,495 @@
+<!--  -->
+<template>
+  <div class="m-core">
+    <save-form :inline="true" :model.sync="searchForm" ref="searchForm">
+      <el-form-item>
+        <el-input
+          v-model.trim="searchForm.search"
+          clearable
+          @keyup.enter.native="search"
+          placeholder="老师名称、课程编号"
+        ></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-select
+          v-model.trim="searchForm.organId"
+          clearable
+          filterable
+          placeholder="请选择分部"
+        >
+          <el-option
+            v-for="(item, index) in selects.branchs"
+            :key="index"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-select
+          v-model.trim="searchForm.complaintsStatus"
+          clearable
+          filterable
+          placeholder="申诉状态"
+        >
+          <el-option label="已拒绝" :value="0"></el-option>
+          <el-option label="已通过" :value="1"></el-option>
+          <el-option label="待处理" :value="2"></el-option>
+          <el-option label="已撤销" :value="3"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-date-picker
+          v-model.trim="searchForm.timer"
+          style="width: 400px"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          range-separator="至"
+          start-placeholder="课程开始日期"
+          end-placeholder="课程结束日期"
+          :picker-options="{
+            firstDayOfWeek: 1,
+          }"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="danger" @click="search">搜索</el-button>
+        <el-button @click="onReSet" type="primary">重置</el-button>
+      </el-form-item>
+    </save-form>
+    <div class="tableWrap">
+      <el-table
+        style="width: 100%"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        :data="tableList"
+      >
+        <el-table-column
+          align="center"
+          prop="organName"
+          label="分部"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          prop="courseScheduleId"
+          label="课程编号"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          prop="courseScheduleName"
+          label="课程名称"
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          width="180"
+          prop="courseScheduleTime"
+          label="课程时间"
+        >
+          <template slot-scope="scope">
+            <div>
+              <p>
+                {{ scope.row.courseScheduleTime }}
+                {{ scope.row.courseScheduleStartTime | timerForMinFormat }}-{{
+                  scope.row.courseScheduleEndTime | timerForMinFormat
+                }}
+              </p>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" prop="status" label="签到状态">
+          <template slot-scope="scope">
+            <div>
+              <p>{{ scope.row.signInStatus | attendanceType }}</p>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" prop="status" label="签退状态">
+          <template slot-scope="scope">
+            <div>
+              <p>{{ scope.row.signOutStatus | attendanceOutType }}</p>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          align="center"
+          prop="teacherName"
+          label="老师名称"
+        ></el-table-column>
+        <el-table-column align="center" prop="studentId" label="状态">
+          <template slot-scope="scope">
+            <div>
+              {{ scope.row.complaintsStatusEnum | complaintsStatusEnum }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="修复记录">
+          <template slot-scope="scope">
+            <div>
+              {{ scope.row.updateAttendanceEnum | updateAttendanceEnum }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          align="center"
+          prop="operatorName"
+          label="申诉处理者"
+        ></el-table-column>
+        <el-table-column align="center" label="操作">
+          <!-- teacherAttendance/agreeTeacherAttendanceComplaints -->
+          <template slot-scope="scope">
+            <div>
+              <el-button
+                type="text"
+                v-if="
+                  permission('teacherAttendance/operation/update') &&
+                  scope.row.complaintsStatusEnum == 2&&!settlemented
+                "
+                @click="lookDetail(scope.row)"
+                >处理申诉</el-button
+              >
+              <el-button
+                type="text"
+                v-if="
+                  permission('teacherAttendance/operation') &&
+                  (scope.row.complaintsStatusEnum != 2|| settlemented)
+                "
+                @click="lookDetail(scope.row)"
+                >查看</el-button
+              >
+              <!-- complaintsStatusEnum -->
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        sync
+        :total.sync="rules.total"
+        :page.sync="rules.page"
+        :limit.sync="rules.limit"
+        :page-sizes="rules.page_size"
+        @pagination="getList"
+      />
+    </div>
+    <el-dialog title="考勤申诉" :visible.sync="dialogVisible" width="500px">
+      <div>
+        <el-form
+          ref="visibleForm"
+          :model="visibleForm"
+          label-width="100px"
+          class="visibleForm"
+        >
+          <el-form-item label="签到时间">
+            {{ visibleForm.signInTime }}
+          </el-form-item>
+          <el-form-item label="签退时间">
+            {{ visibleForm.signOutTime }}
+          </el-form-item>
+          <el-form-item label="申诉图片">
+            <el-row>
+              <el-col
+                v-for="(item, index) in visibleForm.srcList"
+                :key="index"
+                :span="6"
+              >
+                <el-image
+                  style="width: 100px; height: 100px"
+                  fit="cover"
+                  :src="item"
+                  :preview-src-list="visibleForm.srcList"
+                >
+                </el-image>
+              </el-col>
+            </el-row>
+          </el-form-item>
+          <el-form-item label="申诉考勤状态">
+            <el-checkbox
+              v-if="
+                visibleForm.complaintsType == 'SIGN_IN' ||
+                visibleForm.complaintsType == 'ALL'
+              "
+              disabled
+              :value="true"
+              >签到状态</el-checkbox
+            >
+            <el-checkbox
+              v-if="
+                visibleForm.complaintsType == 'SIGN_OUT' ||
+                visibleForm.complaintsType == 'ALL'
+              "
+              disabled
+              :value="true"
+              >签退状态</el-checkbox
+            >
+          </el-form-item>
+          <el-form-item
+            label="申诉内容"
+            :rules="[
+              { required: true, message: '请填写申诉内容', trigger: 'blur' },
+            ]"
+            prop="complaintsContent"
+          >
+            <el-input
+              type="textarea"
+              :rows="4"
+              :disabled="visibleForm.complaintsStatusEnum != '2'"
+              v-model.trim="visibleForm.complaintsContent"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
+            label="处理意见"
+            :rules="[
+              { required: true, message: '请填写处理意见', trigger: 'blur' },
+            ]"
+            prop="disposeContent"
+          >
+            <el-input
+              type="textarea"
+              :rows="4"
+              :disabled="visibleForm.complaintsStatusEnum != '2'"
+              v-model.trim="visibleForm.disposeContent"
+            ></el-input>
+          </el-form-item>
+          <!--  -->
+          <!-- <el-form-item
+            label="请选择需要补正的状态"
+            v-if="visibleForm.complaintsStatusEnum == '2'"
+          >
+            <br />
+            <el-checkbox
+              v-model="visibleForm.reSignInStatus"
+              :disabled="visibleForm.complaintsStatusEnum != '2'"
+              >签到状态</el-checkbox
+            >
+            <el-checkbox
+              v-model="visibleForm.reSignOutStatus"
+              :disabled="visibleForm.complaintsStatusEnum != '2'"
+              >签退状态</el-checkbox
+            >
+          </el-form-item> -->
+        </el-form>
+      </div>
+      <div slot="footer" v-if="visibleForm.complaintsStatusEnum == '2'">
+        <el-button
+          v-permission="'teacherAttendance/rejectTeacherAttendanceComplaints'"
+          @click="subreset('DENIED')"
+          >拒绝</el-button
+        >
+        <el-button
+          v-permission="'teacherAttendance/agreeTeacherAttendanceComplaints'"
+          type="primary"
+          @click="subreset('AGREED')"
+          >同意</el-button
+        >
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import axios from "axios";
+import { getToken } from "@/utils/auth";
+import pagination from "@/components/Pagination/index";
+import load from "@/utils/loading";
+import { permission } from "@/utils/directivePage";
+import {
+  queryTeacherAttendanceComplaints,
+  agreeTeacherAttendanceComplaints,
+  rejectTeacherAttendanceComplaints,
+} from "@/api/journal";
+export default {
+  props:['isSettle'],
+  components: { pagination },
+  data() {
+    return {
+      searchForm: {
+        settlemented:null,
+        search: null,
+        organId: null,
+        complaintsStatus: null,
+        timer: [],
+      },
+      teacherList: [],
+      tableList: [],
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
+      dialogVisible: false,
+      visibleForm: {
+        complaintsContent: null,
+        complaintsStatusEnum: null,
+        disposeContent: null,
+        signInStatus: null,
+        signOutStatus: null,
+        teacherAttendanceId: null,
+        reSignInStatus: null,
+        reSignOutStatus: null,
+        complaintsType: null,
+        url: null,
+      },
+    };
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  async mounted() {
+    await this.$store.dispatch("setBranchs");
+
+    this.init();
+  },
+  computed:{
+    settlemented(){
+      return this.isSettle
+    }
+  },
+  methods: {
+    init() {
+      this.getList();
+    },
+    permission(str) {
+      return permission(str);
+    },
+    getList() {
+      let obj = {};
+      Object.assign(obj, this.searchForm);
+      if (obj.timer && obj.timer.length > 0) {
+        obj.courseScheduleStartDate = obj.timer[0];
+        obj.courseScheduleEndDate = obj.timer[1];
+      }
+      obj.rows = this.rules.limit;
+      obj.page = this.rules.page;
+      obj.settlemented = this.settlemented
+      delete obj.timer;
+      queryTeacherAttendanceComplaints(obj).then((res) => {
+        if (res.code == 200) {
+          this.rules.total = res.data.total;
+          this.tableList = res.data.rows;
+        }
+      });
+    },
+    search() {
+      this.rules.page = 1;
+      this.$refs.searchForm.save(this.searchForm);
+      this.$refs.searchForm.save(this.pageInfo, "page");
+      this.getList();
+    },
+    onReSet() {
+      this.searchForm = {
+        search: null,
+        organId: null,
+        complaintsStatus: null,
+        timer: [],
+      };
+      this.search();
+    },
+    subreset(str) {
+      if (str == "AGREED") {
+        // 同意
+        this.$refs["visibleForm"].validate((flag) => {
+          if (flag) {
+            let obj = {};
+            // if (
+            //   !this.visibleForm.reSignInStatus &&
+            //   !this.visibleForm.reSignOutStatus
+            // ) {
+            //   this.$message.error("请修正签到状态或签退状态");
+            //   return;
+            // }
+            // let str = "是否将此课程的";
+            // if (this.visibleForm.complaintsType == 'SIGN_IN' || this.visibleForm.complaintsType == 'ALL') {
+            //   str += "【签到状态】";
+            // }
+            // if (this.visibleForm.complaintsType == 'SIGN_OUT' || this.visibleForm.complaintsType == 'ALL') {
+            //   str += "【签退状态】";
+            // }
+            // str += "修正为正常";
+            obj.content = this.visibleForm.disposeContent;
+            obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
+
+            this.$confirm("您是否同意该申诉?", "是否", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning",
+            })
+              .then(() => {
+                agreeTeacherAttendanceComplaints(obj).then((res) => {
+                  if (res.code == 200) {
+                    this.dialogVisible = false;
+                    this.$message.success("同意申诉成功");
+                    this.getList();
+                  }
+                });
+              })
+              .catch(() => {});
+          }
+        });
+      } else {
+        // 拒绝
+        this.$refs["visibleForm"].validate((flag) => {
+          if (flag) {
+            let obj = {};
+            obj.content = this.visibleForm.disposeContent;
+            obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
+            this.$confirm("驳回申诉", "是否", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning",
+            })
+              .then(() => {
+                rejectTeacherAttendanceComplaints(obj).then((res) => {
+                  if (res.code == 200) {
+                    this.dialogVisible = false;
+                    this.$message.success("拒绝申诉成功");
+                    this.getList();
+                  }
+                });
+              })
+              .catch(() => {});
+          }
+        });
+      }
+    },
+    lookDetail(row) {
+      this.visibleForm = {
+        complaintsContent: row.complaintsContent,
+        complaintsStatusEnum: row.complaintsStatusEnum,
+        disposeContent: row.disposeContent,
+        signInStatus: row.signInStatus,
+        signOutStatus: row.signOutStatus,
+        signInTime: row.signInTime,
+        signOutTime: row.signOutTime,
+        teacherAttendanceId: row.teacherAttendanceId,
+        // reSignInStatus: row.signInStatus == 1 ? true : false,
+        // reSignOutStatus: row.signOutStatus == 1 ? true : false,
+        reSignInStatus: null,
+        reSignOutStatus: null,
+        complaintsType: row.complaintsType,
+        srcList: row.url.split(","),
+      };
+      this.dialogVisible = true;
+    },
+  },
+  watch: {
+    dialogVisible(val) {
+      if (!val) {
+        this.visibleForm = {
+          complaintsContent: null,
+          complaintsStatusEnum: null,
+          disposeContent: null,
+          signInStatus: null,
+          signOutStatus: null,
+          teacherAttendanceId: null,
+          reSignInStatus: null,
+          reSignOutStatus: null,
+        };
+      }
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.titleP {
+  line-height: 30px;
+}
+</style>

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio