index.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <template>
  2. <div class='set-container'>
  3. <div class="topWrap">
  4. <h2>
  5. <div class="squrt"></div>
  6. 武汉小学乐团
  7. </h2>
  8. <div class="stepbox">
  9. <span class='stepspan'
  10. @click="activeIndex=0">
  11. <div class="step1 sptep"
  12. :class="activeIndex >= 0?'activestep':''">
  13. 班级设置
  14. </div>
  15. <img :src="activeIndex >= 0?stepImgs.nol:stepImgs.active"
  16. alt=""
  17. class="arrow">
  18. </span>
  19. <span class='stepspan stepspan2'
  20. @click="activeIndex=1">
  21. <div class="step2 sptep"
  22. :class="activeIndex >= 1?'activestep':''">
  23. 老师设置
  24. </div>
  25. <img :src="activeIndex >= 1?stepImgs.nol:stepImgs.active"
  26. alt=""
  27. class="
  28. arrow">
  29. </span>
  30. <span class='stepspan stepspan2'
  31. @click="activeIndex=2">
  32. <div class="step2 sptep"
  33. :class="activeIndex >= 2?'activestep':''">
  34. 排课
  35. </div>
  36. <img :src="activeIndex >= 2?stepImgs.nol:stepImgs.active"
  37. alt=""
  38. class="
  39. arrow">
  40. </span>
  41. <span class='stepspan stepspan2'
  42. v-if='chargeTypeId==3'
  43. @click="activeIndex=3">
  44. <div class="step2 sptep"
  45. :class="activeIndex >= 3?'activestep':''">
  46. 小班课
  47. </div>
  48. <img :src="activeIndex >= 3?stepImgs.nol:stepImgs.active"
  49. alt=""
  50. class="
  51. arrow">
  52. </span>
  53. <span class='stepspan stepspan2'
  54. @click="activeIndex=4">
  55. <div class="step2 sptep"
  56. :class="activeIndex >= 4?'activestep':''">
  57. 课酬
  58. </div>
  59. <img :src="activeIndex >= 4?stepImgs.nol:stepImgs.active"
  60. alt=""
  61. class="
  62. arrow">
  63. </span>
  64. </div>
  65. </div>
  66. <!-- 下面显示的内容 -->
  67. <div class="stepcontent">
  68. <div v-show='activeIndex==0'>
  69. <classSeting :teamid='id'
  70. @gotoNav='gotoNav' />
  71. </div>
  72. <div v-if='activeIndex==1'>
  73. <teacherSeting :teamid='id'
  74. @gotoNav='gotoNav' />
  75. </div>
  76. <div v-if='activeIndex==2'>
  77. <!-- <coursePlan :teamid='id' /> -->
  78. <lookCourse />
  79. </div>
  80. <div v-if='activeIndex==3 && chargeTypeId!=3'>
  81. <improvement :teamid='id' />
  82. </div>
  83. <div v-if='activeIndex==4'>
  84. <salarySet :teamid='id' />
  85. </div>
  86. </div>
  87. </div>
  88. </template>
  89. <script>
  90. import classSeting from '@/views/teamBuild/teamSeting/components/setClass'
  91. import teacherSeting from '@/views/teamBuild/teamSeting/components/setTeacher'
  92. import coursePlan from '@/views/teamBuild/teamSeting/components/coursePlan'
  93. import salarySet from '@/views/teamBuild/teamSeting/components/salarySet'
  94. import improvement from '@/views/teamBuild/teamSeting/components/improvementClass'
  95. import lookCourse from '@/views/teamBuild/teamSeting/components/lookCourse'
  96. import { getTeamBaseInfo } from '@/api/buildTeam'
  97. export default {
  98. components: {
  99. classSeting,
  100. teacherSeting,
  101. coursePlan,
  102. salarySet,
  103. improvement,
  104. lookCourse
  105. },
  106. data () {
  107. return {
  108. activeIndex: '0',
  109. stepImgs: {
  110. nol: require('@/assets/images/base/step-arrow-active.png'),
  111. active: require('@/assets/images/base/step-arrow.png')
  112. },
  113. id: '',
  114. chargeTypeId: ''
  115. }
  116. },
  117. created () {
  118. this.id = this.$route.query.id;
  119. getTeamBaseInfo({ musicGroupId: this.id }).then(res => {
  120. if (res.code == 200) {
  121. this.chargeTypeId = res.data.musicGroup.chargeTypeId;
  122. }
  123. })
  124. },
  125. mounted () {
  126. // 根据乐团id 获取乐团信息
  127. },
  128. methods: {
  129. gotoNav (val) {
  130. console.log(val)
  131. this.activeIndex = val;
  132. }
  133. },
  134. }
  135. </script>
  136. <style lang="scss" scoped>
  137. .set-container {
  138. margin-left: 12px;
  139. .topWrap {
  140. padding: 18px 58px 0;
  141. // height: 136px;
  142. background-color: #fff;
  143. // display: flex;
  144. // flex-direction: row;
  145. // justify-content: space-between;
  146. .msg {
  147. text-align: right;
  148. color: #f97215;
  149. font-size: 32px;
  150. font-weight: bold;
  151. padding-top: 30px;
  152. box-sizing: border-box;
  153. img {
  154. width: 36px;
  155. height: 36px;
  156. position: relative;
  157. top: 5px;
  158. margin-right: 8px;
  159. display: block;
  160. }
  161. }
  162. h2 {
  163. height: 48px;
  164. line-height: 48px;
  165. position: relative;
  166. // padding-left: 30px;
  167. font-size: 32px;
  168. font-weight: 600;
  169. margin-bottom: 10px;
  170. display: flex;
  171. flex-direction: row;
  172. justify-content: flex-start;
  173. align-items: center;
  174. .term {
  175. height: 32px;
  176. line-height: 32px;
  177. border-radius: 24px;
  178. width: 100px;
  179. color: #14928a;
  180. border: 1px solid rgba(20, 146, 138, 1);
  181. font-size: 14px;
  182. text-align: center;
  183. margin-right: 12px;
  184. &:nth-child(1) {
  185. margin-left: 47px;
  186. }
  187. }
  188. .term.active {
  189. color: #fff;
  190. background-color: #14928a;
  191. }
  192. .squrt {
  193. position: absolute;
  194. left: -25px;
  195. top: 8px;
  196. height: 34px;
  197. width: 8px;
  198. background-color: #14928a;
  199. }
  200. }
  201. .btnList {
  202. display: flex;
  203. flex-direction: row;
  204. justify-content: flex-start;
  205. align-items: center;
  206. div {
  207. margin-right: 15px;
  208. }
  209. }
  210. .newBand.close {
  211. background-color: #777;
  212. border: 1px solid #777;
  213. }
  214. }
  215. .stepbox {
  216. display: flex;
  217. flex-direction: row;
  218. justify-content: flex-start;
  219. margin-top: 30px;
  220. .stepspan {
  221. cursor: pointer;
  222. font-size: 14px;
  223. display: block;
  224. line-height: 40px;
  225. // position: relative;
  226. // z-index: 100;
  227. display: flex;
  228. flex-direction: row;
  229. // justify-content: space-between;
  230. margin-left: -17px !important;
  231. .sptep {
  232. width: 110px;
  233. height: 40px;
  234. border: 1px solid #dcdfe6;
  235. border-right: none;
  236. border-bottom: none;
  237. padding-left: 25px;
  238. border-radius: 4px 0 0 0;
  239. text-align: center;
  240. }
  241. .arrow {
  242. height: 40px;
  243. width: 17px;
  244. position: relative;
  245. top: 1px;
  246. z-index: 30;
  247. }
  248. }
  249. .stepspan.stepspan2 {
  250. position: relative;
  251. padding-right: 0;
  252. .sptep {
  253. padding-left: 12px !important;
  254. border-radius: 0 !important;
  255. }
  256. }
  257. .sptep.activestep {
  258. color: #fff;
  259. font-weight: bold;
  260. background-color: #4eada7;
  261. }
  262. }
  263. .stepcontent {
  264. border-top: 1px solid #dcdfe6;
  265. padding-top: 12px;
  266. }
  267. }
  268. </style>