mo преди 5 години
родител
ревизия
01aa83f168
променени са 97 файла, в които са добавени 1383 реда и са изтрити 708 реда
  1. 2 0
      package.json
  2. 72 0
      src/components/ScrollPane/index.vue
  3. 9 3
      src/layout/components/AppMain.vue
  4. 218 0
      src/layout/components/TagsView.vue
  5. 1 0
      src/layout/components/index.js
  6. 6 2
      src/layout/index.vue
  7. 3 1
      src/store/index.js
  8. 6 2
      src/store/modules/permission.js
  9. 78 0
      src/store/modules/tagsView.js
  10. 10 0
      src/utils/i18n.js
  11. 1 0
      src/views/buildVip/index.vue
  12. 1 1
      src/views/businessManager/orderManager/backMoney.vue
  13. 1 1
      src/views/businessManager/orderManager/expend.vue
  14. 234 174
      src/views/businessManager/orderManager/incomeOne.vue
  15. 24 20
      src/views/businessManager/orderManager/incomeTwo.vue
  16. 1 1
      src/views/businessManager/orderManager/incomebuy.vue
  17. 1 0
      src/views/businessManager/shopManager/shopCategory.vue
  18. 1 0
      src/views/businessManager/shopManager/shopList.vue
  19. 1 0
      src/views/businessManager/shopManager/shopOperation.vue
  20. 1 1
      src/views/categroyManager/generalSettings/overallManager.vue
  21. 1 1
      src/views/categroyManager/generalSettings/overallManagerTwo.vue
  22. 1 0
      src/views/categroyManager/generalSettings/vipParameterManager.vue
  23. 1 0
      src/views/categroyManager/insideSetting/addressManager.vue
  24. 1 0
      src/views/categroyManager/insideSetting/adminManager.vue
  25. 1 0
      src/views/categroyManager/insideSetting/adminOperation.vue
  26. 1 0
      src/views/categroyManager/insideSetting/branchActive.vue
  27. 1 0
      src/views/categroyManager/insideSetting/branchActiveOperation.vue
  28. 1 0
      src/views/categroyManager/insideSetting/branchManager.vue
  29. 1 0
      src/views/categroyManager/insideSetting/chargeProfitManager.vue
  30. 1 1
      src/views/categroyManager/insideSetting/gradientSet.vue
  31. 1 0
      src/views/categroyManager/insideSetting/staffManager.vue
  32. 1 0
      src/views/categroyManager/specialSetup/bannerManager.vue
  33. 1 0
      src/views/categroyManager/specialSetup/branchSetting.vue
  34. 1 1
      src/views/categroyManager/specialSetup/chargesList.vue
  35. 1 0
      src/views/categroyManager/specialSetup/jobTemplateSetting.vue
  36. 2 2
      src/views/categroyManager/specialSetup/musicalManager.vue
  37. 1 0
      src/views/categroyManager/specialSetup/tryClass.vue
  38. 1 0
      src/views/categroyManager/specialSetup/typesManager.vue
  39. 1 0
      src/views/categroyManager/vipActiveList.vue
  40. 1 0
      src/views/categroyManager/vipChargeSeting.vue
  41. 1 0
      src/views/categroyManager/vipNewActive.vue
  42. 1 0
      src/views/contentManager/components/activity.vue
  43. 1 0
      src/views/contentManager/components/banner.vue
  44. 1 0
      src/views/contentManager/components/information.vue
  45. 1 0
      src/views/contentManager/components/training.vue
  46. 3 1
      src/views/contentManager/contentOperation.vue
  47. 6 4
      src/views/contentManager/index.vue
  48. 11 5
      src/views/journal/index.vue
  49. 44 29
      src/views/journal/journalItem.vue
  50. 136 108
      src/views/journal/leaveOperation.vue
  51. 1 0
      src/views/journal/musicGroup.vue
  52. 1 0
      src/views/journal/studentComplain.vue
  53. 91 58
      src/views/journal/vipApply.vue
  54. 3 2
      src/views/main/index.vue
  55. 1 0
      src/views/reportForm/index.vue
  56. 1 0
      src/views/resetTeaming/components/resetSound.vue
  57. 1 0
      src/views/resetTeaming/index.vue
  58. 1 0
      src/views/setSilder/addSilder.vue
  59. 1 0
      src/views/sporadicManager/sporadicList.vue
  60. 23 13
      src/views/studentManager/components/studentCashout.vue
  61. 1 0
      src/views/studentManager/components/studentInfo.vue
  62. 3 2
      src/views/studentManager/components/studentOrder.vue
  63. 1 0
      src/views/studentManager/components/studentPayList.vue
  64. 1 0
      src/views/studentManager/components/teamAndcourse.vue
  65. 1 0
      src/views/teacherManager/teacherDetail/components/courseInfo.vue
  66. 1 0
      src/views/teacherManager/teacherDetail/components/courseInfo1.vue
  67. 1 0
      src/views/teacherManager/teacherDetail/components/courseInfo2.vue
  68. 1 0
      src/views/teacherManager/teacherDetail/components/leaveRecord.vue
  69. 1 0
      src/views/teacherManager/teacherDetail/components/settlement.vue
  70. 92 54
      src/views/teacherManager/teacherDetail/components/teacherInfo.vue
  71. 1 0
      src/views/teacherManager/teacherDetail/components/teacherRecord.vue
  72. 1 0
      src/views/teacherManager/teacherOperation/components/salarySet.vue
  73. 1 0
      src/views/teacherManager/teacherOperation/components/teacherOperation.vue
  74. 1 1
      src/views/teacherManager/teacherOperation/index.vue
  75. 1 0
      src/views/teamBuild/components/teamBaseInfo.vue
  76. 1 0
      src/views/teamBuild/components/teamResetSound.vue
  77. 1 0
      src/views/teamBuild/components/teamSoundMoney.vue
  78. 1 0
      src/views/teamBuild/signupList.vue
  79. 1 0
      src/views/teamBuild/teamSeting/components/coursePlan.vue
  80. 1 0
      src/views/teamBuild/teamSeting/components/improvementClass.vue
  81. 1 0
      src/views/teamBuild/teamSeting/components/lookCourse.vue
  82. 1 0
      src/views/teamBuild/teamSeting/components/salarySet.vue
  83. 1 0
      src/views/teamBuild/teamSeting/components/setClass.vue
  84. 1 0
      src/views/teamBuild/teamSeting/components/setImprovement.vue
  85. 1 0
      src/views/teamBuild/teamSeting/components/setTeacher.vue
  86. 1 0
      src/views/teamBuild/teamSeting/index.vue
  87. 2 1
      src/views/teamDetail/componentCourse/classList.vue
  88. 1 0
      src/views/teamDetail/componentCourse/courseList.vue
  89. 228 213
      src/views/teamDetail/components/baseInfo.vue
  90. 1 0
      src/views/teamDetail/components/classList.vue
  91. 1 0
      src/views/teamDetail/components/courseList.vue
  92. 1 0
      src/views/teamDetail/components/resetClass.vue
  93. 1 1
      src/views/teamDetail/components/salaryList.vue
  94. 1 0
      src/views/teamDetail/components/studentList.vue
  95. 1 1
      src/views/teamDetail/components/studentSignin.vue
  96. 5 4
      src/views/teamDetail/components/teacherList.vue
  97. 1 0
      src/views/teamDetail/index.vue

+ 2 - 0
package.json

@@ -50,6 +50,8 @@
     "eslint": "5.15.3",
     "eslint-plugin-vue": "5.2.2",
     "html-webpack-plugin": "3.2.0",
+    "less": "^3.10.3",
+    "less-loader": "^5.0.0",
     "mockjs": "1.0.1-beta3",
     "node-sass": "^4.9.0",
     "runjs": "^4.3.2",

+ 72 - 0
src/components/ScrollPane/index.vue

@@ -0,0 +1,72 @@
+<template>
+  <div class="scroll-container" ref="scrollContainer" @wheel.prevent="handleScroll">
+    <div class="scroll-wrapper" ref="scrollWrapper" :style="{left: left + 'px'}">
+      <slot></slot>
+    </div>
+  </div>
+</template>
+
+<script>
+const padding = 15 // tag's padding
+
+export default {
+  name: 'scrollPane',
+  data () {
+    return {
+      left: 0
+    }
+  },
+  methods: {
+    handleScroll (e) {
+      const eventDelta = e.wheelDelta || -e.deltaY * 3
+      const $container = this.$refs.scrollContainer
+      const $containerWidth = $container.offsetWidth
+      const $wrapper = this.$refs.scrollWrapper
+      const $wrapperWidth = $wrapper.offsetWidth
+
+      if (eventDelta > 0) {
+        this.left = Math.min(0, this.left + eventDelta)
+      } else {
+        if ($containerWidth - padding < $wrapperWidth) {
+          if (this.left < -($wrapperWidth - $containerWidth + padding)) {
+            this.left = this.left
+          } else {
+            this.left = Math.max(this.left + eventDelta, $containerWidth - $wrapperWidth - padding)
+          }
+        } else {
+          this.left = 0
+        }
+      }
+    },
+    moveToTarget ($target) {
+      const $container = this.$refs.scrollContainer
+      const $containerWidth = $container.offsetWidth
+      const $targetLeft = $target.offsetLeft
+      const $targetWidth = $target.offsetWidth
+
+      if ($targetLeft < -this.left) {
+        // tag in the left
+        this.left = -$targetLeft + padding
+      } else if ($targetLeft + padding > -this.left && $targetLeft + $targetWidth < -this.left + $containerWidth - padding) {
+        // tag in the current view
+        // eslint-disable-line
+      } else {
+        // tag in the right
+        this.left = -($targetLeft - ($containerWidth - $targetWidth) + padding)
+      }
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.scroll-container {
+  white-space: nowrap;
+  position: relative;
+  overflow: hidden;
+  width: 100%;
+  .scroll-wrapper {
+    position: absolute;
+  }
+}
+</style>

+ 9 - 3
src/layout/components/AppMain.vue

@@ -1,8 +1,11 @@
 <template>
   <section class="app-main">
-    <transition name="fade-transform"
-                mode="out-in">
-      <router-view :key="key" />
+    <!-- mode="out-in"  -->
+    <transition name="fade-transform">
+      <!-- :include="cachedViews" -->
+      <keep-alive>
+        <router-view :key="key" />
+      </keep-alive>
     </transition>
   </section>
 </template>
@@ -13,6 +16,9 @@ export default {
   computed: {
     key () {
       return this.$route.path
+    },
+    cachedViews () {
+      return this.$store.state.tagsView.cachedViews
     }
   }
 }

+ 218 - 0
src/layout/components/TagsView.vue

@@ -0,0 +1,218 @@
+<template>
+  <div class="tags-view-container">
+    <scroll-pane class='tags-view-wrapper'
+                 ref='scrollPane'>
+      <router-link ref='tag'
+                   class="tags-view-item"
+                   :class="isActive(tag)?'active':''"
+                   v-for="tag in Array.from(visitedViews)"
+                   :to="tag.path"
+                   :key="tag.path"
+                   @contextmenu.prevent.native="openMenu(tag,$event)">
+        {{generateTitle(tag.title)}}
+        <span class='el-icon-close'
+              @click.prevent.stop='closeSelectedTag(tag)'></span>
+      </router-link>
+    </scroll-pane>
+    <ul class='contextmenu'
+        v-show="visible"
+        :style="{left:left+'px',top:top+'px'}">
+      <li @click="closeSelectedTag(selectedTag)">关闭</li>
+      <li @click="closeOthersTags">关闭其他</li>
+      <li @click="closeAllTags">关闭所有</li>
+    </ul>
+  </div>
+</template>
+
+<script>
+import ScrollPane from '@/components/ScrollPane'
+import { generateTitle } from '@/utils/i18n'
+
+export default {
+  name: 'TagsView',
+  components: { ScrollPane },
+  data () {
+    return {
+      visible: false,
+      top: 0,
+      left: 0,
+      selectedTag: {}
+    }
+  },
+  computed: {
+    visitedViews () {
+      return this.$store.state.tagsView.visitedViews
+    }
+  },
+  watch: {
+    $route () {
+      this.addViewTags()
+      this.moveToCurrentTag()
+    },
+    visible (value) {
+      if (value) {
+        document.body.addEventListener('click', this.closeMenu)
+      } else {
+        document.body.removeEventListener('click', this.closeMenu)
+      }
+    }
+  },
+  mounted () {
+    this.addViewTags()
+
+  },
+  methods: {
+    // generateTitle by vue-i18n  
+    generateTitle,
+    generateRoute () {
+      console.log(this.$route)
+      if (this.$route.name) {
+        return this.$route
+      }
+      return false
+    },
+    isActive (route) {
+      return route.path === this.$route.path || route.name === this.$route.name
+    },
+    addViewTags () {
+      const route = this.generateRoute()
+      console.log(route)
+      if (!route) {
+        return false
+      }
+      this.$store.dispatch('addVisitedViews', route)
+    },
+    moveToCurrentTag () {
+      const tags = this.$refs['tag']
+      // console.log('标签')
+      // console.log(this.$store.state.tagsView)
+      // console.log(this.$refs)
+      this.$nextTick(() => {
+        for (const tag of tags) {
+          if (tag.to === this.$route.path) {
+            this.$refs.scrollPane.moveToTarget(tag.$el)
+            break
+          }
+        }
+      })
+    },
+    closeSelectedTag (view) {
+      this.$store.dispatch('delVisitedViews', view).then((views) => {
+        if (this.isActive(view)) {
+          const latestView = views.slice(-1)[0]
+          if (latestView) {
+            this.$router.push(latestView.path)
+          } else {
+            this.$router.push('/')
+          }
+        }
+      })
+    },
+    closeOthersTags () {
+      this.$router.push(this.selectedTag.path)
+      this.$store.dispatch('delOthersViews', this.selectedTag).then(() => {
+        this.moveToCurrentTag()
+      })
+    },
+    closeAllTags () {
+      this.$store.dispatch('delAllViews')
+      this.$router.push('/')
+    },
+    openMenu (tag, e) {
+      this.visible = true
+      this.selectedTag = tag
+      this.left = e.clientX
+      this.top = e.clientY
+    },
+    closeMenu () {
+      this.visible = false
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.tags-view-container {
+  .tags-view-wrapper {
+    background: #fff;
+    height: 34px;
+    border-bottom: 1px solid #d8dce5;
+    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
+    .tags-view-item {
+      display: inline-block;
+      position: relative;
+      height: 26px;
+      line-height: 26px;
+      border: 1px solid #d8dce5;
+      color: #495060;
+      background: #fff;
+      padding: 0 8px;
+      font-size: 12px;
+      margin-left: 5px;
+      margin-top: 4px;
+      &:first-of-type {
+        margin-left: 15px;
+      }
+      &.active {
+        background-color: #42b983;
+        color: #fff;
+        border-color: #42b983;
+        &::before {
+          content: "";
+          background: #fff;
+          display: inline-block;
+          width: 8px;
+          height: 8px;
+          border-radius: 50%;
+          position: relative;
+          margin-right: 2px;
+        }
+      }
+    }
+  }
+  .contextmenu {
+    margin: 0;
+    background: #fff;
+    z-index: 100;
+    position: absolute;
+    list-style-type: none;
+    padding: 5px 0;
+    border-radius: 4px;
+    font-size: 12px;
+    font-weight: 400;
+    color: #333;
+    box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
+    li {
+      margin: 0;
+      padding: 7px 16px;
+      cursor: pointer;
+      &:hover {
+        background: #eee;
+      }
+    }
+  }
+}
+//reset element css of el-icon-close
+.tags-view-wrapper {
+  .tags-view-item {
+    .el-icon-close {
+      width: 16px;
+      height: 16px;
+      vertical-align: 2px;
+      border-radius: 50%;
+      text-align: center;
+      transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+      transform-origin: 100% 50%;
+      &:before {
+        transform: scale(0.6);
+        display: inline-block;
+        vertical-align: -3px;
+      }
+      &:hover {
+        background-color: #b4bccc;
+        color: #fff;
+      }
+    }
+  }
+}
+</style>

+ 1 - 0
src/layout/components/index.js

@@ -1,3 +1,4 @@
 export { default as Navbar } from './Navbar'
 export { default as Sidebar } from './Sidebar'
 export { default as AppMain } from './AppMain'
+export { default as TagsView } from './TagsView'

+ 6 - 2
src/layout/index.vue

@@ -9,13 +9,14 @@
       <div :class="{'fixed-header':fixedHeader}">
         <navbar />
       </div>
+      <!-- <tags-view></tags-view> -->
       <app-main />
     </div>
   </div>
 </template>
 
 <script>
-import { Navbar, Sidebar, AppMain } from './components'
+import { Navbar, Sidebar, AppMain, TagsView } from './components'
 import ResizeMixin from './mixin/ResizeHandler'
 
 export default {
@@ -23,7 +24,8 @@ export default {
   components: {
     Navbar,
     Sidebar,
-    AppMain
+    AppMain,
+    TagsView
   },
   mixins: [ResizeMixin],
   computed: {
@@ -45,6 +47,8 @@ export default {
       }
     }
   },
+  mounted () {
+  },
   methods: {
     handleClickOutside () {
       this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })

+ 3 - 1
src/store/index.js

@@ -6,6 +6,7 @@ import settings from './modules/settings'
 import user from './modules/user'
 import permission from './modules/permission'
 import buildTeam from './modules/buildTeam'
+import tagsView from './modules/tagsView'
 
 Vue.use(Vuex)
 
@@ -15,7 +16,8 @@ const store = new Vuex.Store({
     settings,
     user,
     permission,
-    buildTeam
+    buildTeam,
+    tagsView
   },
   getters
 })

+ 6 - 2
src/store/modules/permission.js

@@ -51,6 +51,10 @@ function recursionRouter (arr) {
     let newArr = arr.map(item => {
       let obj = {};
       obj.component = item.component;
+      // if (item.type != '1' && item.component != 'Layout') {
+      //   console.log(item)
+      //   obj.name = item.name
+      // }
       item.hid == 0 ? obj.hidden = false : obj.hidden = true
       obj.path = item.path;
       obj.meta = { 'title': item.name, 'icon': item.icon }
@@ -65,10 +69,10 @@ function recursionRouter (arr) {
 
 // 递归遍历数组
 let tempArr = []
-function recursionPerission(arr) {
+function recursionPerission (arr) {
   arr.map(item => {
     tempArr.push(item.permission)
-    if(item.sysMenus && item.sysMenus.length > 0) {
+    if (item.sysMenus && item.sysMenus.length > 0) {
       recursionPerission(item.sysMenus)
     }
   })

+ 78 - 0
src/store/modules/tagsView.js

@@ -0,0 +1,78 @@
+const tagsView = {
+  state: {
+    visitedViews: []
+    // cachedViews: []
+  },
+  mutations: {
+    ADD_VISITED_VIEWS: (state, view) => {
+      if (state.visitedViews.some(v => v.path === view.path)) return
+      state.visitedViews.push({
+        name: view.name,
+        path: view.path,
+        title: view.meta.title || 'no-name'
+      })
+      // if (!view.meta.noCache) {
+      //   state.cachedViews.push(view.name)
+      // }
+    },
+    DEL_VISITED_VIEWS: (state, view) => {
+      for (const [i, v] of state.visitedViews.entries()) {
+        if (v.path === view.path) {
+          state.visitedViews.splice(i, 1)
+          break
+        }
+      }
+      // for (const i of state.cachedViews) {
+      //   if (i === view.name) {
+      //     const index = state.cachedViews.indexOf(i)
+      //     state.cachedViews.splice(index, 1)
+      //     break
+      //   }
+      // }
+    },
+    DEL_OTHERS_VIEWS: (state, view) => {
+      for (const [i, v] of state.visitedViews.entries()) {
+        if (v.path === view.path) {
+          state.visitedViews = state.visitedViews.slice(i, i + 1)
+          break
+        }
+      }
+      // for (const i of state.cachedViews) {
+      //   if (i === view.name) {
+      //     const index = state.cachedViews.indexOf(i)
+      //     state.cachedViews = state.cachedViews.slice(index, i + 1)
+      //     break
+      //   }
+      // }
+    },
+    DEL_ALL_VIEWS: (state) => {
+      state.visitedViews = []
+      // state.cachedViews = []
+    }
+  },
+  actions: {
+    addVisitedViews ({ commit }, view) {
+      commit('ADD_VISITED_VIEWS', view)
+    },
+    delVisitedViews ({ commit, state }, view) {
+      return new Promise((resolve) => {
+        commit('DEL_VISITED_VIEWS', view)
+        resolve([...state.visitedViews])
+      })
+    },
+    delOthersViews ({ commit, state }, view) {
+      return new Promise((resolve) => {
+        commit('DEL_OTHERS_VIEWS', view)
+        resolve([...state.visitedViews])
+      })
+    },
+    delAllViews ({ commit, state }) {
+      return new Promise((resolve) => {
+        commit('DEL_ALL_VIEWS')
+        resolve([...state.visitedViews])
+      })
+    }
+  }
+}
+
+export default tagsView

+ 10 - 0
src/utils/i18n.js

@@ -0,0 +1,10 @@
+// translate router.meta.title, be used in breadcrumb sidebar tagsview
+export function generateTitle (title) {
+  // const hasKey = this.$te('route.' + title)
+  // const translatedTitle = this.$t('route.' + title) // $t :this method from vue-i18n, inject in @/lang/index.js
+  //
+  // if (hasKey) {
+  //   return translatedTitle
+  // }
+  return title
+}

+ 1 - 0
src/views/buildVip/index.vue

@@ -396,6 +396,7 @@ import { vipGroupCategory, vipGroupActivityFind, getVipGroupCostCount, createVip
 import { getTeachSchool, getTeacherBySubject } from '@/api/teacherManager'
 import { queryStudentList } from '@/api/studentManager'
 export default {
+  name: 'buildVip',
   data () {
     return {
       dialogFormVisible: false,

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

@@ -135,7 +135,7 @@ import { getEmployeeOrgan } from '@/api/buildTeam'
 import store from '@/store'
 export default {
   components: { pagination },
-  name: 'income',
+  name: 'backMoney',
   data () {
     return {
       orderDate: null,

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

@@ -130,7 +130,7 @@ import { getEmployeeOrgan } from '@/api/buildTeam'
 import store from '@/store'
 export default {
   components: { pagination },
-  name: 'income',
+  name: 'expend',
   data () {
     return {
       searchForm: {

+ 234 - 174
src/views/businessManager/orderManager/incomeOne.vue

@@ -4,67 +4,124 @@
       <div class="squrt"></div>订单管理
     </h2>
     <div class="m-core">
-      <div class="newBand" @click="onOrderExport" v-permission="{child: 'export/orderList', parent: '/incomeOne'}">报表导出</div>
+      <div class="newBand"
+           @click="onOrderExport"
+           v-permission="{child: 'export/orderList', parent: '/incomeOne'}">报表导出</div>
       <!-- 搜索类型 -->
-      <el-form :inline="true" class="searchForm" v-model="searchForm">
+      <el-form :inline="true"
+               class="searchForm"
+               v-model="searchForm">
         <el-form-item prop='organId'>
-          <el-select class='multiple' v-model="searchForm.organId" @clear="onClear('organId')" filterable clearable placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList" :key="index" :label="item.name" :value="item.id"></el-option>
+          <el-select class='multiple'
+                     v-model="searchForm.organId"
+                     @clear="onClear('organId')"
+                     filterable
+                     clearable
+                     placeholder="请选择分部">
+            <el-option v-for="(item,index) in organList"
+                       :key="index"
+                       :label="item.name"
+                       :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-date-picker v-model="orderDate" style="width:410px;" type="daterange" value-format="yyyy-MM-dd" @change="searchOrderDate"
-            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+          <el-date-picker v-model="orderDate"
+                          style="width:410px;"
+                          type="daterange"
+                          value-format="yyyy-MM-dd"
+                          @change="searchOrderDate"
+                          range-separator="至"
+                          start-placeholder="开始日期"
+                          end-placeholder="结束日期">
           </el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="searchForm.paymentType" @clear="onClear('paymentType')" clearable filterable placeholder="交易类型">
-            <el-option v-for="(item, index) in orderStatus" :key="index" :label="item.label" :value="item.value"></el-option>
+          <el-select v-model="searchForm.paymentType"
+                     @clear="onClear('paymentType')"
+                     clearable
+                     filterable
+                     placeholder="交易类型">
+            <el-option v-for="(item, index) in orderStatus"
+                       :key="index"
+                       :label="item.label"
+                       :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="searchForm.paymentStatus" @clear="onClear('paymentStatus')" clearable filterable placeholder="交易状态">
-            <el-option v-for="(item, index) in dealStatus" :key="index" :label="item.label" :value="item.value"></el-option>
+          <el-select v-model="searchForm.paymentStatus"
+                     @clear="onClear('paymentStatus')"
+                     clearable
+                     filterable
+                     placeholder="交易状态">
+            <el-option v-for="(item, index) in dealStatus"
+                       :key="index"
+                       :label="item.label"
+                       :value="item.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="search" type="danger">搜索</el-button>
-          <el-button @click="onReSet" type="primary">重置</el-button>
+          <el-button @click="search"
+                     type="danger">搜索</el-button>
+          <el-button @click="onReSet"
+                     type="primary">重置</el-button>
         </el-form-item>
       </el-form>
       <!-- 列表 -->
       <div class="tableWrap">
-        <el-table :data='tableList' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-          <el-table-column align='center' width="180px" prop="transNo" label="交易流水号">
+        <el-table :data='tableList'
+                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+          <el-table-column align='center'
+                           width="180px"
+                           prop="transNo"
+                           label="交易流水号">
           </el-table-column>
-          <el-table-column align='center' width="210px" prop="orderNo" label="订单号">
+          <el-table-column align='center'
+                           width="210px"
+                           prop="orderNo"
+                           label="订单号">
           </el-table-column>
-          <el-table-column align='center' width="180px" prop="createTime" label="订单日期">
+          <el-table-column align='center'
+                           width="180px"
+                           prop="createTime"
+                           label="订单日期">
           </el-table-column>
-          <el-table-column align='center' label="交易类型">
+          <el-table-column align='center'
+                           label="交易类型">
             <template slot-scope="scope">
               {{ scope.row.type | orderType }}
             </template>
           </el-table-column>
-          <el-table-column align='center' prop="expectAmount" label="应付金额">
+          <el-table-column align='center'
+                           prop="expectAmount"
+                           label="应付金额">
           </el-table-column>
-          <el-table-column align='center' prop="balancePaymentAmount" label="余额支付">
+          <el-table-column align='center'
+                           prop="balancePaymentAmount"
+                           label="余额支付">
           </el-table-column>
-          <el-table-column align='center' prop="actualAmount" label="实付金额">
+          <el-table-column align='center'
+                           prop="actualAmount"
+                           label="实付金额">
           </el-table-column>
-          <el-table-column align='center' prop="user.username" label="学员姓名">
+          <el-table-column align='center'
+                           prop="user.username"
+                           label="学员姓名">
           </el-table-column>
-          <el-table-column align='center' prop="paymentChannel" label="交易方式">
+          <el-table-column align='center'
+                           prop="paymentChannel"
+                           label="交易方式">
             <template slot-scope="scope">
               {{ scope.row.paymentChannel | paymentChannelStatus }}
             </template>
           </el-table-column>
-          <el-table-column align='center' label="收款账户">
+          <el-table-column align='center'
+                           label="收款账户">
             <template slot-scope="scope">
               {{ scope.row.merNos }}
             </template>
           </el-table-column>
-          <el-table-column align='center' label="交易状态">
+          <el-table-column align='center'
+                           label="交易状态">
             <template slot-scope="scope">
               {{ scope.row.status | dealStatus }}
             </template>
@@ -76,171 +133,174 @@
             </template>
           </el-table-column>
         </el-table>
-        <pagination :total="pageInfo.total" :page.sync="pageInfo.page" :limit.sync="pageInfo.limit" :page-sizes="pageInfo.page_size"
-          @pagination="getList" />
+        <pagination :total="pageInfo.total"
+                    :page.sync="pageInfo.page"
+                    :limit.sync="pageInfo.limit"
+                    :page-sizes="pageInfo.page_size"
+                    @pagination="getList" />
       </div>
     </div>
   </div>
 </template>
 <script>
-  import pagination from '@/components/Pagination/index'
-  import {
-    orderQueryPage1
-  } from '@/api/orderManager'
-  import {
-    getEmployeeOrgan
-  } from '@/api/buildTeam'
-  // import store from '@/store'
-  import {
-    orderStatus,
-    dealStatus
-  } from '@/utils/searchArray'
-  import axios from 'axios'
-  import qs from 'qs'
-  import {
-    getToken
-  } from '@/utils/auth'
-  export default {
-    components: {
-      pagination
+import pagination from '@/components/Pagination/index'
+import {
+  orderQueryPage1
+} from '@/api/orderManager'
+import {
+  getEmployeeOrgan
+} from '@/api/buildTeam'
+// import store from '@/store'
+import {
+  orderStatus,
+  dealStatus
+} from '@/utils/searchArray'
+import axios from 'axios'
+import qs from 'qs'
+import {
+  getToken
+} from '@/utils/auth'
+export default {
+  components: {
+    pagination
+  },
+  name: 'incomeOne',
+  data () {
+    return {
+      orderStatus: orderStatus,
+      dealStatus: dealStatus,
+      orderDate: null,
+      searchForm: {
+        orderStartDate: null,
+        orderEndDate: null,
+        paymentStatus: 'SUCCESS',
+        paymentType: null,
+        organId: null
+      },
+      tableList: [],
+      organList: [],
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+    }
+  },
+  mounted () {
+    getEmployeeOrgan().then(res => {
+      if (res.code == 200) {
+        this.organList = res.data;
+      }
+    })
+    this.getList()
+  },
+  methods: {
+    onClear (type) {
+      if (type == 'paymentType') {
+        this.searchForm.paymentType = null
+      } else if (type == 'paymentStatus') {
+        this.searchForm.paymentStatus = null
+      } else if (type == 'organId') {
+        this.searchForm.organId = null
+      }
     },
-    name: 'income',
-    data() {
-      return {
-        orderStatus: orderStatus,
-        dealStatus: dealStatus,
-        orderDate: null,
-        searchForm: {
-          orderStartDate: null,
-          orderEndDate: null,
-          paymentStatus: 'SUCCESS',
-          paymentType: null,
-          organId: null
-        },
-        tableList: [],
-        organList: [],
-        pageInfo: {
-          // 分页规则
-          limit: 10, // 限制显示条数
-          page: 1, // 当前页
-          total: 0, // 总条数
-          page_size: [10, 20, 40, 50] // 选择限制显示条数
+    onOrderExport () { // 报表导出
+      let url = '/api-web/export/orderList'
+      let data = {
+        orderType: 1
+      }
+      let searchForm = this.searchForm
+      if (searchForm.paymentStatus) {
+        data.paymentStatus = searchForm.paymentStatus
+      }
+
+      if (searchForm.paymentType) {
+        data.paymentType = searchForm.paymentType
+      }
+
+      if (searchForm.organId) {
+        data.organId = searchForm.organId
+      }
+
+      if (searchForm.orderStartDate && searchForm.orderEndDate) {
+        data.orderStartDate = searchForm.orderStartDate
+        data.orderEndDate = searchForm.orderEndDate
+      }
+      const options = {
+        method: 'POST',
+        headers: {
+          'Authorization': getToken()
         },
+        data: qs.stringify(data),
+        url,
+        responseType: 'blob'
       }
+      this.$confirm('您确定导出报表', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        axios(options).then(res => {
+          let blob = new Blob([res.data], {
+            // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
+            type: 'application/vnd.ms-excel;charset=utf-8'
+            //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
+          })
+          let objectUrl = URL.createObjectURL(blob)
+          let link = document.createElement("a")
+          let nowTime = new Date()
+          let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate() + '' +
+            nowTime.getHours() +
+            '' + nowTime.getMinutes()
+          let fname = '报表导出' + new Date().getTime() //下载文件的名字
+          link.href = objectUrl
+          link.setAttribute("download", fname)
+          document.body.appendChild(link)
+          link.click()
+        })
+      }).catch(() => { })
+    },
+    search () {
+      this.pageInfo.page = 1;
+      this.getList();
     },
-    mounted() {
-      getEmployeeOrgan().then(res => {
+    getList () {
+      let params = this.searchForm
+      params.rows = this.pageInfo.limit
+      params.page = this.pageInfo.page
+      orderQueryPage1(params).then(res => {
+        let result = res.data
         if (res.code == 200) {
-          this.organList = res.data;
+          this.tableList = result.rows
+          this.pageInfo.total = result.total
+
         }
       })
+    },
+    searchOrderDate (value) {
+      if (value) {
+        this.searchForm.orderStartDate = value[0]
+        this.searchForm.orderEndDate = value[1]
+      } else {
+        this.searchForm.orderStartDate = null
+        this.searchForm.orderEndDate = null
+      }
+    },
+    onReSet () { // 重置搜索
+      this.orderDate = null
+      this.searchForm = {
+        orderStartDate: null,
+        orderEndDate: null,
+        paymentStatus: null,
+        paymentType: null,
+        organId: null
+      }
       this.getList()
     },
-    methods: {
-      onClear(type) {
-        if(type == 'paymentType') {
-          this.searchForm.paymentType = null
-        } else if(type  == 'paymentStatus') {
-          this.searchForm.paymentStatus = null
-        } else if(type == 'organId') {
-          this.searchForm.organId = null
-        }
-      },
-      onOrderExport() { // 报表导出
-        let url = '/api-web/export/orderList'
-        let data = {
-          orderType: 1
-        }
-        let searchForm = this.searchForm
-        if(searchForm.paymentStatus) {
-          data.paymentStatus = searchForm.paymentStatus
-        }
-
-        if(searchForm.paymentType) {
-          data.paymentType = searchForm.paymentType
-        }
-
-        if(searchForm.organId) {
-          data.organId = searchForm.organId
-        }
-
-        if(searchForm.orderStartDate && searchForm.orderEndDate) {
-          data.orderStartDate = searchForm.orderStartDate
-          data.orderEndDate = searchForm.orderEndDate
-        }
-        const options = {
-          method: 'POST',
-          headers: {
-            'Authorization': getToken()
-          },
-          data: qs.stringify(data),
-          url,
-          responseType: 'blob'
-        }
-        this.$confirm('您确定导出报表', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          axios(options).then(res => {
-            let blob = new Blob([res.data], {
-              // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
-              type: 'application/vnd.ms-excel;charset=utf-8'
-              //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
-            })
-            let objectUrl = URL.createObjectURL(blob)
-            let link = document.createElement("a")
-            let nowTime = new Date()
-            let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate() + '' +
-              nowTime.getHours() +
-              '' + nowTime.getMinutes()
-            let fname = '报表导出' + new Date().getTime() //下载文件的名字
-            link.href = objectUrl
-            link.setAttribute("download", fname)
-            document.body.appendChild(link)
-            link.click()
-          })
-        }).catch(() => {})
-      },
-      search() {
-        this.pageInfo.page = 1;
-        this.getList();
-      },
-      getList() {
-        let params = this.searchForm
-        params.rows = this.pageInfo.limit
-        params.page = this.pageInfo.page
-        orderQueryPage1(params).then(res => {
-          let result = res.data
-          if (res.code == 200) {
-            this.tableList = result.rows
-            this.pageInfo.total = result.total
-
-          }
-        })
-      },
-      searchOrderDate(value) {
-        if (value) {
-          this.searchForm.orderStartDate = value[0]
-          this.searchForm.orderEndDate = value[1]
-        } else {
-          this.searchForm.orderStartDate = null
-          this.searchForm.orderEndDate = null
-        }
-      },
-      onReSet() { // 重置搜索
-        this.orderDate = null
-        this.searchForm = {
-          orderStartDate: null,
-          orderEndDate: null,
-          paymentStatus: null,
-          paymentType: null,
-          organId: null
-        }
-        this.getList()
-      },
-    }
   }
+}
 </script>
 <style lang="scss" scoped>
 </style>

+ 24 - 20
src/views/businessManager/orderManager/incomeTwo.vue

@@ -4,7 +4,9 @@
       <div class="squrt"></div>订单管理
     </h2>
     <div class="m-core">
-      <div class="newBand" @click="onOrderExport" v-permission="{child: 'export/orderList', parent: '/incomeTwo'}">报表导出</div>
+      <div class="newBand"
+           @click="onOrderExport"
+           v-permission="{child: 'export/orderList', parent: '/incomeTwo'}">报表导出</div>
       <!-- 搜索类型 -->
       <el-form :inline="true"
                class="searchForm"
@@ -37,7 +39,7 @@
           <el-select v-model="searchForm.paymentType"
                      clearable
                      filterable
-                      @clear="onClear('paymentType')"
+                     @clear="onClear('paymentType')"
                      placeholder="交易类型">
             <el-option v-for="(item, index) in orderStatus"
                        :key="index"
@@ -68,7 +70,8 @@
       <div class="tableWrap">
         <el-table :data='tableList'
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-          <el-table-column align='center' width="180px"
+          <el-table-column align='center'
+                           width="180px"
                            prop="transNo"
                            label="交易流水号">
           </el-table-column>
@@ -77,7 +80,8 @@
                            prop="orderNo"
                            label="订单号">
           </el-table-column>
-          <el-table-column align='center' width="180px"
+          <el-table-column align='center'
+                           width="180px"
                            prop="createTime"
                            label="订单日期">
           </el-table-column>
@@ -144,14 +148,14 @@ import { orderQueryPage2 } from '@/api/orderManager'
 import { getEmployeeOrgan } from '@/api/buildTeam'
 // import store from '@/store'
 import { orderStatus, dealStatus } from '@/utils/searchArray'
-  import axios from 'axios'
-  import qs from 'qs'
-  import {
-    getToken
-  } from '@/utils/auth'
+import axios from 'axios'
+import qs from 'qs'
+import {
+  getToken
+} from '@/utils/auth'
 export default {
   components: { pagination },
-  name: 'income',
+  name: 'incomeTwo',
   data () {
     return {
       orderStatus: orderStatus,
@@ -184,34 +188,34 @@ export default {
     this.getList()
   },
   methods: {
-    onClear(type) {
-      if(type == 'paymentType') {
+    onClear (type) {
+      if (type == 'paymentType') {
         this.searchForm.paymentType = null
-      } else if(type  == 'paymentStatus') {
+      } else if (type == 'paymentStatus') {
         this.searchForm.paymentStatus = null
-      } else if(type == 'organId') {
+      } else if (type == 'organId') {
         this.searchForm.organId = null
       }
     },
-    onOrderExport() { // 报表导出
+    onOrderExport () { // 报表导出
       let url = '/api-web/export/orderList'
       let data = {
         orderType: 2
       }
       let searchForm = this.searchForm
-      if(searchForm.paymentStatus) {
+      if (searchForm.paymentStatus) {
         data.paymentStatus = searchForm.paymentStatus
       }
 
-      if(searchForm.paymentType) {
+      if (searchForm.paymentType) {
         data.paymentType = searchForm.paymentType
       }
 
-      if(searchForm.organId) {
+      if (searchForm.organId) {
         data.organId = searchForm.organId
       }
 
-      if(searchForm.orderStartDate && searchForm.orderEndDate) {
+      if (searchForm.orderStartDate && searchForm.orderEndDate) {
         data.orderStartDate = searchForm.orderStartDate
         data.orderEndDate = searchForm.orderEndDate
       }
@@ -247,7 +251,7 @@ export default {
           document.body.appendChild(link)
           link.click()
         })
-      }).catch(() => {})
+      }).catch(() => { })
     },
     search () {
       this.pageInfo.page = 1;

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

@@ -90,7 +90,7 @@ import store from '@/store'
 import { orderStatus, dealStatus } from '@/utils/searchArray'
 export default {
   components: { pagination },
-  name: 'income',
+  name: 'incomebuy',
   data () {
     return {
       orderStatus: orderStatus,

+ 1 - 0
src/views/businessManager/shopManager/shopCategory.vue

@@ -90,6 +90,7 @@ import { subjectListTree } from '@/api/specialSetting'
 import { categoryListTree, categoryUpSet, categoryUpSetDel } from '@/api/businessManager'
 export default {
   components: { pagination },
+  name: 'shopCategory',
   data () {
     return {
       tableList: [],

+ 1 - 0
src/views/businessManager/shopManager/shopList.vue

@@ -130,6 +130,7 @@ import { goodsQuery, goodsUpdate, goodsDelete } from '@/api/businessManager'
 import store from '@/store'
 export default {
   components: { pagination },
+  name: 'shopList',
   data () {
     return {
       organId: null,

+ 1 - 0
src/views/businessManager/shopManager/shopOperation.vue

@@ -112,6 +112,7 @@ let validPrice = (rule, value, callback) => {
   }
 }
 export default {
+  name: 'shopOperation',
   data () {
     return {
       categoryList: [],

+ 1 - 1
src/views/categroyManager/generalSettings/overallManager.vue

@@ -24,7 +24,7 @@ import pagination from '@/components/Pagination/index'
 import { sysConfigList, sysConfigUpdate } from '@/api/generalSettings'
 export default {
   components: { pagination },
-  name: 'musicalManager',
+  name: 'overallManager',
   data () {
     return {
       configList: [],

+ 1 - 1
src/views/categroyManager/generalSettings/overallManagerTwo.vue

@@ -24,7 +24,7 @@ import pagination from '@/components/Pagination/index'
 import { sysConfigList, sysConfigUpdate } from '@/api/generalSettings'
 export default {
   components: { pagination },
-  name: 'musicalManager',
+  name: 'overallManagerTwo',
   data () {
     return {
       configList: [],

+ 1 - 0
src/views/categroyManager/generalSettings/vipParameterManager.vue

@@ -182,6 +182,7 @@
 <script>
 import { vipGroupCategory, getDefaultClassesCycle, addVipGroupCategory, resetVipGroupCategory, removeVipGroupCategory, addDefaultClassesCycle, resetDefaultClassesCycle, removeDefaultClassesCycle } from "@/api/vipSeting"
 export default {
+  name: 'vipParameterManager',
   data () {
     return {
       leftList: [],

+ 1 - 0
src/views/categroyManager/insideSetting/addressManager.vue

@@ -267,6 +267,7 @@ VueAMap.initAMapApiLoader({
 })
 
 export default {
+  name: 'addressManager',
   components: { pagination },
   data () {
     let self = this

+ 1 - 0
src/views/categroyManager/insideSetting/adminManager.vue

@@ -41,6 +41,7 @@
 import pagination from '@/components/Pagination/index'
 import { roleQueryPage } from '@/api/systemManage'
 export default {
+  name: 'adminManager',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/categroyManager/insideSetting/adminOperation.vue

@@ -52,6 +52,7 @@ import store from '@/store'
 import { getSilder } from '@/api/silder'
 import { roleGetMenus, getRoleInfo, roleUpdate, roleAdd } from '@/api/systemManage'
 export default {
+  name: 'adminOperation',
   data () {
     return {
       organId: null,

+ 1 - 0
src/views/categroyManager/insideSetting/branchActive.vue

@@ -106,6 +106,7 @@ import { vipGroupCategory } from "@/api/vipSeting"
 import { getTeacher } from '@/api/buildTeam'
 import store from '@/store'
 export default {
+  name: 'branchActive',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/categroyManager/insideSetting/branchActiveOperation.vue

@@ -126,6 +126,7 @@ import { getEmployeeOrgan } from '@/api/buildTeam'
 import { courseScheduleRewardsQuery, getUserRole, courseScheduleRewardsAdd, courseScheduleRewardsUpdate, findTeacherByOrganId } from '@/api/systemManage'
 import { vipGroupCategory } from "@/api/vipSeting"
 export default {
+  name: 'branchActiveOperation',
   data () {
     return {
       organId: null,

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

@@ -159,6 +159,7 @@ let validPhone = (rule, value, callback) => {
   }
 }
 export default {
+  name: 'branchManager',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/categroyManager/insideSetting/chargeProfitManager.vue

@@ -190,6 +190,7 @@ import store from '@/store'
 //   }
 // }
 export default {
+  name: 'chargeProfitManager',
   components: { pagination },
   data () {
     return {

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

@@ -128,7 +128,7 @@ import store from '@/store'
 import { sysConfigList, sysConfigUpdate } from '@/api/generalSettings'
 export default {
   components: { pagination },
-  name: 'gradientset',
+  name: 'gradientSet',
   data () {
     return {
       organId: null,

+ 1 - 0
src/views/categroyManager/insideSetting/staffManager.vue

@@ -252,6 +252,7 @@ let validPhone = (rule, value, callback) => {
   }
 }
 export default {
+  name: 'staffManager',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/categroyManager/specialSetup/bannerManager.vue

@@ -38,6 +38,7 @@
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'bannerManager',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/categroyManager/specialSetup/branchSetting.vue

@@ -118,6 +118,7 @@ import pagination from '@/components/Pagination/index'
 import { branchQueryPage, areaQueryChild, branchAdd, branchUpdate, getParentArea } from '@/api/specialSetting'
 import store from '@/store'
 export default {
+  name: 'branchSetting',
   components: { pagination },
   data () {
     return {

+ 1 - 1
src/views/categroyManager/specialSetup/chargesList.vue

@@ -90,7 +90,7 @@ import pagination from '@/components/Pagination/index'
 import { chargeTypeList, chargeTypeOrganizationFeeAdd, chargeTypeOrganizationFeeDelete, chargeTypeOrganizationFeeUpdate, chargeTypeOrganizationFee, branchQueryPage } from '@/api/specialSetting'
 export default {
   components: { pagination },
-  name: 'charges',
+  name: 'chargesList',
   data () {
     return {
       id: null,

+ 1 - 0
src/views/categroyManager/specialSetup/jobTemplateSetting.vue

@@ -108,6 +108,7 @@ import pagination from '@/components/Pagination/index'
 import { courseHomeworkTemplateList, subjectListTree, homeWorkUpdate, homeWorkAdd, homeWorkDel } from '@/api/specialSetting'
 export default {
   components: { pagination },
+  name: 'jobTemplateSetting',
   data () {
     return {
       tableList: [],

+ 2 - 2
src/views/categroyManager/specialSetup/musicalManager.vue

@@ -102,7 +102,7 @@ export default {
         name: this.oneTypeName
       }).then(res => {
         this.messageTips('添加', res)
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.oneTypeName = null
         }
       })
@@ -115,7 +115,7 @@ export default {
         name: this.inputValue[index]
       }).then(res => {
         this.messageTips('添加', res)
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.inputValue[index] = null
         }
       })

+ 1 - 0
src/views/categroyManager/specialSetup/tryClass.vue

@@ -38,6 +38,7 @@
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'tryClass',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/categroyManager/specialSetup/typesManager.vue

@@ -81,6 +81,7 @@
 import pagination from '@/components/Pagination/index'
 import { chargeTypeList, subjectListTree, chargeTypeUpSet, chargeTypeDel } from '@/api/specialSetting'
 export default {
+  name: 'typesManager',
   components: { pagination },
   data () {
     return {

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

@@ -307,6 +307,7 @@ import pagination from '@/components/Pagination/index'
 import { vipGroupActivity, vipGroupCategory, addVipActive, resetVipActive, removeVipActive } from "@/api/vipSeting"
 import { getEmployeeOrgan } from '@/api/buildTeam'
 export default {
+  name: 'vipActiveList',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/categroyManager/vipChargeSeting.vue

@@ -68,6 +68,7 @@
 import { vipGroupCategory, defaultClassesUnitPrice } from '@/api/vipSeting'
 import { getEmployeeOrgan } from '@/api/buildTeam'
 export default {
+  name: 'vipChargeSeting',
   data () {
     return {
       dataList: [],

+ 1 - 0
src/views/categroyManager/vipNewActive.vue

@@ -206,6 +206,7 @@
 import { vipGroupCategory, addVipActive } from '@/api/vipSeting'
 import { getEmployeeOrgan } from '@/api/buildTeam'
 export default {
+  name: 'vipNewActive',
   data () {
     return {
       pageType: this.$route.query.type,

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

@@ -61,6 +61,7 @@ import { newsList, newsUpdate, newsDel } from '@/api/contentManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'activity',
   components: {
     pagination
   },

+ 1 - 0
src/views/contentManager/components/banner.vue

@@ -61,6 +61,7 @@ import { newsList, newsUpdate, newsDel } from '@/api/contentManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'banner',
   components: {
     pagination
   },

+ 1 - 0
src/views/contentManager/components/information.vue

@@ -61,6 +61,7 @@ import { newsList, newsUpdate, newsDel } from '@/api/contentManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'information',
   components: {
     pagination
   },

+ 1 - 0
src/views/contentManager/components/training.vue

@@ -61,6 +61,7 @@ import { newsList, newsUpdate, newsDel } from '@/api/contentManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'training',
   components: {
     pagination
   },

+ 3 - 1
src/views/contentManager/contentOperation.vue

@@ -36,7 +36,8 @@
             <i v-else
                class="el-icon-plus avatar-uploader-icon"></i>
           </el-upload>
-          <p class="imageSize" v-if="imageSize">上传图片尺寸为:{{ imageSize }}</p>
+          <p class="imageSize"
+             v-if="imageSize">上传图片尺寸为:{{ imageSize }}</p>
         </el-form-item>
         <el-form-item label="内容"
                       prop="content">
@@ -124,6 +125,7 @@ const titleConfig = {
   'ql-upload': '文件'
 };
 export default {
+  name: 'contentOperation',
   components: {
     quillEditor
   },

+ 6 - 4
src/views/contentManager/index.vue

@@ -1,6 +1,8 @@
 <template>
   <div class='m-container'>
-    <h2><div class="squrt"></div> 内容管理 </h2>
+    <h2>
+      <div class="squrt"></div> 内容管理
+    </h2>
     <div class="m-core">
       <el-tabs v-model="activeName"
                type="card"
@@ -32,16 +34,16 @@ import information from './components/information'
 import training from './components/training'
 export default {
   components: { banner, activity, information, training },
-  name: 'teacherDetail',
+  name: 'contentManager',
   data () {
     return {
       activeName: "0",
       activeStatus: [true, false, false, false]
     }
   },
-  created() {
+  created () {
     let type = this.$route.query.type
-    if(type != null) {
+    if (type != null) {
       this.activeName = type.toString()
       this.activeStatus[type] = true
     }

+ 11 - 5
src/views/journal/index.vue

@@ -1,19 +1,24 @@
 <template>
   <div class="m-container">
-    <h2><div class="squrt"></div>系统日志
+    <h2>
+      <div class="squrt"></div>系统日志
     </h2>
     <div class="m-core">
       <el-tabs type="border-card"
-               v-model="activeIndex" @tab-click="handleClick">
-        <el-tab-pane label="系统通知" v-if="permissionList.journalItem"
+               v-model="activeIndex"
+               @tab-click="handleClick">
+        <el-tab-pane label="系统通知"
+                     v-if="permissionList.journalItem"
                      name='0'>
           <item v-if="activeIndex == 0" />
         </el-tab-pane>
-        <el-tab-pane label="学员申诉" v-if="permissionList.studentComplain"
+        <el-tab-pane label="学员申诉"
+                     v-if="permissionList.studentComplain"
                      name='1'>
           <studentComplain v-if="activeIndex == 1" />
         </el-tab-pane>
-        <el-tab-pane label="退团退课" v-if="permissionList.musicGroupCourse"
+        <el-tab-pane label="退团退课"
+                     v-if="permissionList.musicGroupCourse"
                      name='2'>
           <musicGroup v-if="activeIndex == 2" />
         </el-tab-pane>
@@ -42,6 +47,7 @@ export default {
   components: {
     item, studentComplain, musicGroup, leaveOperation, vipApply
   },
+  name: 'journal',
   data () {
     return {
       activeIndex: '0',

+ 44 - 29
src/views/journal/journalItem.vue

@@ -1,12 +1,17 @@
 <template>
   <div class='infoWrap'>
-    <div class="left" style="width: 110px;">
-      <div class="unread" @click="onLookMessage('all')">全部</div>
-      <div class="unread" @click="onLookMessage('0')"> <img :src="img.boxicon"
+    <div class="left"
+         style="width: 110px;">
+      <div class="unread"
+           @click="onLookMessage('all')">全部</div>
+      <div class="unread"
+           @click="onLookMessage('0')"> <img :src="img.boxicon"
              alt=""> 未读消息
-        <div class="count" v-if="noReadMessage >= 1">{{ noReadMessage }}</div>
+        <div class="count"
+             v-if="noReadMessage >= 1">{{ noReadMessage }}</div>
       </div>
-      <div class="read" @click="onLookMessage('1')">
+      <div class="read"
+           @click="onLookMessage('1')">
         <img :src="img.bookicon"
              alt="">
         已读消息</div>
@@ -16,22 +21,29 @@
         回收站</div> -->
     </div>
     <div class="middle">
-      <div class="msgItem" :class="[isCheckMessage == item.id ? 'active' : '']" @click="onClickRead(item)" v-for="(item, index) in dataList" :key="index">
+      <div class="msgItem"
+           :class="[isCheckMessage == item.id ? 'active' : '']"
+           @click="onClickRead(item)"
+           v-for="(item, index) in dataList"
+           :key="index">
         <!-- <h6 class="type">审批</h6> -->
         <h4 class="name">系统消息 <span class='time'>{{ item.createOn }}</span>
-          <div class="dot" v-if="item.readStatus == 0"></div>
+          <div class="dot"
+               v-if="item.readStatus == 0"></div>
         </h4>
         <p class='msg'>{{ item.content }}</p>
       </div>
       <el-pagination style="text-align: right"
-        small v-if="dataList.length > 0"
-        @current-change="onChange"
-        :hide-on-single-page="pageInfo.isSinglePage"
-        layout="prev, pager, next"
-        :total="pageInfo.total">
+                     small
+                     v-if="dataList.length > 0"
+                     @current-change="onChange"
+                     :hide-on-single-page="pageInfo.isSinglePage"
+                     layout="prev, pager, next"
+                     :total="pageInfo.total">
       </el-pagination>
     </div>
-    <div class="right" v-if="showRight">
+    <div class="right"
+         v-if="showRight">
       <div class="rightWrap">
         <!-- <img src="@/assets/images/base/placehorder-icon.png"
              class="header"
@@ -49,6 +61,7 @@
 <script>
 import { queryCountOfUnread, sysMessageList, setRead } from '@/api/journal'
 export default {
+  name: 'journalItem',
   data () {
     return {
       img: {
@@ -59,7 +72,7 @@ export default {
         boxicon: require('@/assets/images/base/boxicon.png'),
         Hboxicon: require('@/assets/images/base/boxicon-h.png')
       },
-      activities: [{ }],
+      activities: [{}],
       pageInfo: {
         isSinglePage: false, // 是否只有一页
         limit: 10,
@@ -74,40 +87,40 @@ export default {
       showMessage: {}
     }
   },
-  mounted() {
+  mounted () {
     this.__init()
     this.sysMessageList()
   },
   methods: {
-    __init() {
+    __init () {
       // 未读消息
       queryCountOfUnread().then(res => {
-        if(res.code == 200) {
-          if(res.data && res.data.SYSTEM) {
+        if (res.code == 200) {
+          if (res.data && res.data.SYSTEM) {
             this.noReadMessage = res.data.SYSTEM
           }
         }
       })
     },
-    sysMessageList() { // 列表
+    sysMessageList () { // 列表
       sysMessageList({
         group: 'SYSTEM',
         rows: this.pageInfo.limit,
         page: this.pageInfo.page,
         readStatus: this.pageInfo.readStatus
       }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.dataList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    onChange(page) { // 分页
+    onChange (page) { // 分页
       this.pageInfo.page = page
       this.sysMessageList()
     },
-    onLookMessage(type) { // 查看对应的数据
-      if(type == "all") {
+    onLookMessage (type) { // 查看对应的数据
+      if (type == "all") {
         this.pageInfo.readStatus = null
       } else {
         this.pageInfo.readStatus = type
@@ -118,20 +131,20 @@ export default {
       this.isCheckMessage = null
       this.sysMessageList()
     },
-    onClickRead(item) {
+    onClickRead (item) {
       this.isCheckMessage = item.id
-      
-      if(item.readStatus == 1) {
+
+      if (item.readStatus == 1) {
         this.showRight = true
         this.showMessage = item
       } else {
         setRead({ id: item.id }).then(res => {
           let result = res.data
-          if(res.code == 200) {
+          if (res.code == 200) {
             this.showRight = true
             this.showMessage = item
             item.readStatus = 1
-            
+
             this.noReadMessage--
           }
         })
@@ -181,7 +194,9 @@ export default {
         top: 8px;
       }
     }
-    .unread, .read, .recovery {
+    .unread,
+    .read,
+    .recovery {
       cursor: pointer;
     }
     .read {

+ 136 - 108
src/views/journal/leaveOperation.vue

@@ -1,33 +1,44 @@
 <template>
   <div class='infoWrap'>
     <div class="left">
-      <div class="unread" @click="onLookMessage('all')">全部</div>
-      <div class="unread" @click="onLookMessage('0')"> <img :src="img.boxicon"
+      <div class="unread"
+           @click="onLookMessage('all')">全部</div>
+      <div class="unread"
+           @click="onLookMessage('0')"> <img :src="img.boxicon"
              alt=""> 未读消息
-        <div class="count" v-if="noReadMessage >= 1">{{ noReadMessage }}</div>
+        <div class="count"
+             v-if="noReadMessage >= 1">{{ noReadMessage }}</div>
       </div>
-      <div class="read" @click="onLookMessage('1')">
+      <div class="read"
+           @click="onLookMessage('1')">
         <img :src="img.bookicon"
              alt="">
         已读消息</div>
     </div>
     <div class="middle">
-      <div class="msgItem" :class="[isCheckMessage == item.id ? 'active' : '']" @click="onClickRead(item)" v-for="(item, index) in dataList" :key="index">
+      <div class="msgItem"
+           :class="[isCheckMessage == item.id ? 'active' : '']"
+           @click="onClickRead(item)"
+           v-for="(item, index) in dataList"
+           :key="index">
         <!-- <h6 class="type"></h6> -->
         <h4 class="name">请假处理<span class='time'>{{ item.createOn }}</span>
-          <div class="dot" v-if="item.readStatus == 0"></div>
+          <div class="dot"
+               v-if="item.readStatus == 0"></div>
         </h4>
         <p class='msg'>{{ item.content }}</p>
       </div>
       <el-pagination style="text-align: right"
-        small v-if="dataList.length > 0"
-        @current-change="onChange"
-        :hide-on-single-page="pageInfo.isSinglePage"
-        layout="prev, pager, next"
-        :total="pageInfo.total">
+                     small
+                     v-if="dataList.length > 0"
+                     @current-change="onChange"
+                     :hide-on-single-page="pageInfo.isSinglePage"
+                     layout="prev, pager, next"
+                     :total="pageInfo.total">
       </el-pagination>
     </div>
-    <div class="right" v-if="showRight">
+    <div class="right"
+         v-if="showRight">
       <div class="rightWrap">
         <img src="@/assets/images/base/placehorder-icon.png"
              class="header"
@@ -35,8 +46,12 @@
         <div class="info">
           <h2>{{ showMessage.user.username }}
             <!-- <span class="phone">【{{ showMessage.user.phone }}】</span> -->
-            <el-tag v-if="showMessage.status == 'PASS'" type="success" effect="plain">已处理</el-tag>
-            <el-tag v-if="showMessage.status == 'REJECT'" type="danger" effect="plain">已拒绝</el-tag>
+            <el-tag v-if="showMessage.status == 'PASS'"
+                    type="success"
+                    effect="plain">已处理</el-tag>
+            <el-tag v-if="showMessage.status == 'REJECT'"
+                    type="danger"
+                    effect="plain">已拒绝</el-tag>
           </h2>
           <p class="subMsg">发至 <span class='san'></span> <span style="margin-left:30px">我</span></p>
           <div class="textWrap">
@@ -46,35 +61,40 @@
             <p>备注: {{ showMessage.remark }}</p>
           </div>
           <div class="leaverecord">
-              <el-table :data="showMessage.coursesScheduleJson" style="width: 100%"  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-                <el-table-column label="类型" width="60px">
-                  <template slot-scope="scope">
-                    {{ scope.row.befor.type == "VIP" ? 'VIP课' : '乐团课' }}
-                  </template>
-                </el-table-column>
-                <el-table-column prop="befor.name" label="班名" width="140px">
-                </el-table-column>
-                <el-table-column label="调整前日期">
-                  <template slot-scope="scope">
-                    {{ scope.row.befor.classDate | formatTimer }}
-                  </template>
-                </el-table-column>
-                <el-table-column label="上课时间">
-                  <template slot-scope="scope">
-                    {{ scope.row.befor.startClassTime | getFormatTime(scope.row.befor.endClassTime) }}
-                  </template>
-                </el-table-column>
-                <el-table-column label="调整后日期">
-                  <template slot-scope="scope">
-                    {{ scope.row.after.classDate | formatTimer }}
-                  </template>
-                </el-table-column>
-                <el-table-column label="调整后时间">
-                  <template slot-scope="scope">
-                    {{ scope.row.after.startClassTime | getFormatTime(scope.row.after.endClassTime) }}
-                  </template>
-                </el-table-column>
-                <!-- <el-table-column label="操作" v-if="showMessage.status == 'ING'">
+            <el-table :data="showMessage.coursesScheduleJson"
+                      style="width: 100%"
+                      :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+              <el-table-column label="类型"
+                               width="60px">
+                <template slot-scope="scope">
+                  {{ scope.row.befor.type == "VIP" ? 'VIP课' : '乐团课' }}
+                </template>
+              </el-table-column>
+              <el-table-column prop="befor.name"
+                               label="班名"
+                               width="140px">
+              </el-table-column>
+              <el-table-column label="调整前日期">
+                <template slot-scope="scope">
+                  {{ scope.row.befor.classDate | formatTimer }}
+                </template>
+              </el-table-column>
+              <el-table-column label="上课时间">
+                <template slot-scope="scope">
+                  {{ scope.row.befor.startClassTime | getFormatTime(scope.row.befor.endClassTime) }}
+                </template>
+              </el-table-column>
+              <el-table-column label="调整后日期">
+                <template slot-scope="scope">
+                  {{ scope.row.after.classDate | formatTimer }}
+                </template>
+              </el-table-column>
+              <el-table-column label="调整后时间">
+                <template slot-scope="scope">
+                  {{ scope.row.after.startClassTime | getFormatTime(scope.row.after.endClassTime) }}
+                </template>
+              </el-table-column>
+              <!-- <el-table-column label="操作" v-if="showMessage.status == 'ING'">
                   <template slot-scope="scope">
                     <el-button @click="onClssTime(scope.row)" type="text">调整</el-button>
                   </template>
@@ -84,35 +104,42 @@
 
         </div>
       </div>
-      <div v-permission="'teacherLeaveRecord/approve'" class="infoFoot" v-if="showMessage.status == 'ING'">
-        <div class="noBtn" @click="onSubmit(showMessage, 'REJECT')">拒绝</div>
-        <div class="yesBtn" @click="onSubmit(showMessage, 'PASS')">同意</div>
+      <div v-permission="'teacherLeaveRecord/approve'"
+           class="infoFoot"
+           v-if="showMessage.status == 'ING'">
+        <div class="noBtn"
+             @click="onSubmit(showMessage, 'REJECT')">拒绝</div>
+        <div class="yesBtn"
+             @click="onSubmit(showMessage, 'PASS')">同意</div>
       </div>
     </div>
 
     <el-dialog title="调整时间"
-      :visible.sync="dialogVisible"
-      width="30%">
-      <el-form ref="form" label-width="80px">
+               :visible.sync="dialogVisible"
+               width="30%">
+      <el-form ref="form"
+               label-width="80px">
         <el-form-item label="调整日期">
-          <el-date-picker
-          v-model="changeDate"
-          value-format="yyyy-MM-dd HH:mm:SS"
-          type="datetime"
-          placeholder="选择日期">
-        </el-date-picker>
+          <el-date-picker v-model="changeDate"
+                          value-format="yyyy-MM-dd HH:mm:SS"
+                          type="datetime"
+                          placeholder="选择日期">
+          </el-date-picker>
         </el-form-item>
       </el-form>
-      <span slot="footer" class="dialog-footer">
+      <span slot="footer"
+            class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="onDialogChange">确 定</el-button>
+        <el-button type="primary"
+                   @click="onDialogChange">确 定</el-button>
       </span>
-  </el-dialog>
+    </el-dialog>
   </div>
 </template>
 <script>
-import { queryCountOfUnread, sysMessageList, leaveQueryDetail, setRead, approve  } from '@/api/journal'
+import { queryCountOfUnread, sysMessageList, leaveQueryDetail, setRead, approve } from '@/api/journal'
 export default {
+  name: 'leaveOperation',
   data () {
     return {
       img: {
@@ -140,22 +167,22 @@ export default {
       showMessage: {}
     }
   },
-  mounted() {
+  mounted () {
     this.__init()
     this.sysMessageList()
   },
   methods: {
-    __init() {
+    __init () {
       // 未读消息
       queryCountOfUnread().then(res => {
-        if(res.code == 200) {
-          if(res.data && res.data.LEAVE) {
+        if (res.code == 200) {
+          if (res.data && res.data.LEAVE) {
             this.noReadMessage = res.data.LEAVE
           }
         }
       })
     },
-    onSubmit(showMessage, type) {
+    onSubmit (showMessage, type) {
       let params = {
         id: showMessage.id,
         // remark: null,
@@ -163,7 +190,7 @@ export default {
         userId: showMessage.userId
       }
       approve(params).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.$message.success('处理成功')
           this.getLeaveItem(JSON.stringify({ leaveRecordId: showMessage.id }))
         } else {
@@ -171,64 +198,64 @@ export default {
         }
       })
     },
-    onDialogChange() {
-      if(!this.changeDate) {
+    onDialogChange () {
+      if (!this.changeDate) {
         this.$message.error('请选择调整日期')
         return
       }
 
       let tempDate = new Date(this.changeDate)
       let startStr = '2019/10/10 ' + this.getDateInfo(this.dialogData.befor.startClassTime),
-          endStr = '2019/10/10 ' + this.getDateInfo(this.dialogData.befor.endClassTime)
+        endStr = '2019/10/10 ' + this.getDateInfo(this.dialogData.befor.endClassTime)
       let startDate = new Date(startStr),
-          endDate = new Date(endStr)
+        endDate = new Date(endStr)
       let m = parseInt(Math.abs(endDate.getTime() - startDate.getTime()) / 1000 / 60)
       let tempLastDate = tempDate.setMinutes(tempDate.getMinutes() + m)
 
-      
+
       this.dialogData.after.classDate = this.getFormatDate(tempDate)
       this.dialogData.after.startClassTime = this.getFormatDate(tempDate)
       this.dialogData.after.endClassTime = this.getFormatDate(tempLastDate)
       this.dialogVisible = false
     },
-    getFormatDate(data) {
-        let tempDate = new Date(data)
-        let month = (tempDate.getMonth() + 1) >= 10 ? (tempDate.getMonth() + 1) : '0' + (tempDate.getMonth() + 1)
-        let day = tempDate.getDate() >= 10 ? tempDate.getDate() : '0' + tempDate.getDate()
-        let tDate =  tempDate.getFullYear() + '-' + month + '-' + day
-        let hours = tempDate.getHours() >= 10 ? tempDate.getHours() : '0' + tempDate.getHours()
-        let min = tempDate.getMinutes() >= 10 ? tempDate.getMinutes() : '0' + tempDate.getMinutes()
-        return tDate + ' ' + hours + ':' + min + ':00'
+    getFormatDate (data) {
+      let tempDate = new Date(data)
+      let month = (tempDate.getMonth() + 1) >= 10 ? (tempDate.getMonth() + 1) : '0' + (tempDate.getMonth() + 1)
+      let day = tempDate.getDate() >= 10 ? tempDate.getDate() : '0' + tempDate.getDate()
+      let tDate = tempDate.getFullYear() + '-' + month + '-' + day
+      let hours = tempDate.getHours() >= 10 ? tempDate.getHours() : '0' + tempDate.getHours()
+      let min = tempDate.getMinutes() >= 10 ? tempDate.getMinutes() : '0' + tempDate.getMinutes()
+      return tDate + ' ' + hours + ':' + min + ':00'
     },
-    getDateInfo(value) {
-        let tempValue = value
-        if(typeof value !== 'object') {
-            tempValue = value.replace(/-/ig, '/')
-        }
-        let d = new Date(tempValue)
-        let hour = d.getHours() >= 10 ? d.getHours() : '0' + d.getHours()
-        let minute = d.getMinutes() >= 10 ? d.getMinutes() : '0' + d.getMinutes()
-        return hour + ':' + minute + ':00'
+    getDateInfo (value) {
+      let tempValue = value
+      if (typeof value !== 'object') {
+        tempValue = value.replace(/-/ig, '/')
+      }
+      let d = new Date(tempValue)
+      let hour = d.getHours() >= 10 ? d.getHours() : '0' + d.getHours()
+      let minute = d.getMinutes() >= 10 ? d.getMinutes() : '0' + d.getMinutes()
+      return hour + ':' + minute + ':00'
     },
-    onClssTime(row) {
+    onClssTime (row) {
       this.dialogVisible = true
       this.dialogData = row
     },
-    sysMessageList() { // 列表
+    sysMessageList () { // 列表
       sysMessageList({
         group: 'LEAVE',
         rows: this.pageInfo.limit,
         page: this.pageInfo.page,
         readStatus: this.pageInfo.readStatus
       }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.dataList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    onLookMessage(type) { // 查看对应的数据
-      if(type == "all") {
+    onLookMessage (type) { // 查看对应的数据
+      if (type == "all") {
         this.pageInfo.readStatus = null
       } else {
         this.pageInfo.readStatus = type
@@ -239,18 +266,18 @@ export default {
       this.isCheckMessage = null
       this.sysMessageList()
     },
-    onChange(page) { // 分页
+    onChange (page) { // 分页
       this.pageInfo.page = page
       this.sysMessageList()
     },
-    onClickRead(item) {
+    onClickRead (item) {
       this.isCheckMessage = item.id
-      if(item.readStatus == 1) {
+      if (item.readStatus == 1) {
         this.getLeaveItem(item.memo)
       } else {
         setRead({ id: item.id }).then(res => {
           let result = res.data
-          if(res.code == 200) {
+          if (res.code == 200) {
             item.readStatus = 1
             this.getLeaveItem(item.memo)
 
@@ -259,12 +286,12 @@ export default {
         })
       }
     },
-    getLeaveItem(memo) {
+    getLeaveItem (memo) {
       memo = JSON.parse(memo)
       leaveQueryDetail({ id: memo.leaveRecordId }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.showRight = true
-          if(res.data.coursesScheduleJson) {
+          if (res.data.coursesScheduleJson) {
             res.data.coursesScheduleJson = JSON.parse(res.data.coursesScheduleJson)
           }
           this.showMessage = res.data
@@ -276,15 +303,15 @@ export default {
     }
   },
   filters: {
-    getFormatTime(tempA, tempB) {
-        tempA = new Date(tempA.replace(/-/g, "/")),
+    getFormatTime (tempA, tempB) {
+      tempA = new Date(tempA.replace(/-/g, "/")),
         tempB = new Date(tempB.replace(/-/g, "/"))
-        let hours = Number(tempA.getHours()) >= 10 ? tempA.getHours() : '0' + tempA.getHours()
-        let hours2 = Number(tempB.getHours()) >= 10 ? tempB.getHours() : '0' + tempB.getHours()
-        let min = Number(tempA.getMinutes()) >= 10 ? tempA.getMinutes() : '0' + tempA.getMinutes()
-        let min2 = Number(tempB.getMinutes()) >= 10 ? tempB.getMinutes() : '0' + tempB.getMinutes()
+      let hours = Number(tempA.getHours()) >= 10 ? tempA.getHours() : '0' + tempA.getHours()
+      let hours2 = Number(tempB.getHours()) >= 10 ? tempB.getHours() : '0' + tempB.getHours()
+      let min = Number(tempA.getMinutes()) >= 10 ? tempA.getMinutes() : '0' + tempA.getMinutes()
+      let min2 = Number(tempB.getMinutes()) >= 10 ? tempB.getMinutes() : '0' + tempB.getMinutes()
 
-        return hours + ':' + min + '-' + hours2 + ':' + min2
+      return hours + ':' + min + '-' + hours2 + ':' + min2
     }
   }
 }
@@ -310,7 +337,9 @@ export default {
         top: 6px;
       }
     }
-    .unread, .read, .recovery {
+    .unread,
+    .read,
+    .recovery {
       cursor: pointer;
     }
     .unread {
@@ -526,5 +555,4 @@ export default {
     }
   }
 }
-
 </style>

+ 1 - 0
src/views/journal/musicGroup.vue

@@ -160,6 +160,7 @@
 import {  queryCountOfUnread, sysMessageList, setRead,
   queryApplyRefundDetail, applyRefundAudit, musicGroupQuit, quitMusicGroup} from '@/api/journal'
 export default {
+  name: 'musicGroup',
   data () {
     return {
       img: {

+ 1 - 0
src/views/journal/studentComplain.vue

@@ -144,6 +144,7 @@
 <script>
 import { queryCountOfUnread, sysMessageList, setRead, queryCourseScheduleComplaintsDetail, courseScheduleCommplaintAudit } from '@/api/journal'
 export default {
+  name: 'studentComplain',
   data () {
     return {
       img: {

+ 91 - 58
src/views/journal/vipApply.vue

@@ -1,41 +1,56 @@
 <template>
   <div class='infoWrap'>
     <div class="left">
-      <div class="unread" @click="onLookMessage('all')">全部</div>
-      <div class="unread" @click="onLookMessage('0')"> <img :src="img.boxicon"
+      <div class="unread"
+           @click="onLookMessage('all')">全部</div>
+      <div class="unread"
+           @click="onLookMessage('0')"> <img :src="img.boxicon"
              alt=""> 未读消息
-        <div class="count" v-if="noReadMessage >= 1">{{ noReadMessage }}</div>
+        <div class="count"
+             v-if="noReadMessage >= 1">{{ noReadMessage }}</div>
       </div>
-      <div class="read" @click="onLookMessage('1')">
+      <div class="read"
+           @click="onLookMessage('1')">
         <img :src="img.bookicon"
              alt="">
         已读消息</div>
     </div>
     <div class="middle">
-      <div class="msgItem" :class="[isCheckMessage == item.id ? 'active' : '']" @click="onClickRead(item)" v-for="(item, index) in dataList" :key="index">
+      <div class="msgItem"
+           :class="[isCheckMessage == item.id ? 'active' : '']"
+           @click="onClickRead(item)"
+           v-for="(item, index) in dataList"
+           :key="index">
         <!-- <h6 class="type"></h6> -->
         <h4 class="name">VIP申请审核<span class='time'>{{ item.createOn }}</span>
-          <div class="dot" v-if="item.readStatus == 0"></div>
+          <div class="dot"
+               v-if="item.readStatus == 0"></div>
         </h4>
         <p class='msg'>{{ item.content }}</p>
       </div>
       <el-pagination style="text-align: right"
-        small v-if="dataList.length > 0"
-        @current-change="onChange"
-        :hide-on-single-page="pageInfo.isSinglePage"
-        layout="prev, pager, next"
-        :total="pageInfo.total">
+                     small
+                     v-if="dataList.length > 0"
+                     @current-change="onChange"
+                     :hide-on-single-page="pageInfo.isSinglePage"
+                     layout="prev, pager, next"
+                     :total="pageInfo.total">
       </el-pagination>
     </div>
-    <div class="right" v-if="showRight">
+    <div class="right"
+         v-if="showRight">
       <div class="rightWrap">
         <img src="@/assets/images/base/placehorder-icon.png"
              class="header"
              alt="">
         <div class="info">
           <h2>{{ showMessage.userName }}
-            <el-tag v-if="showMessage.auditStatus == 'PASS'" type="success" effect="plain">已处理</el-tag>
-            <el-tag v-if="showMessage.auditStatus == 'REJECT'" type="danger" effect="plain">已拒绝</el-tag>
+            <el-tag v-if="showMessage.auditStatus == 'PASS'"
+                    type="success"
+                    effect="plain">已处理</el-tag>
+            <el-tag v-if="showMessage.auditStatus == 'REJECT'"
+                    type="danger"
+                    effect="plain">已拒绝</el-tag>
           </h2>
           <!-- <span class="subMsg">发至 <span class='san'></span> <span style="margin-left:30px">我</span></p> -->
           <div class="textWrap">
@@ -43,63 +58,80 @@
             <p>开始时间: {{ showMessage.createTime }}</p>
           </div>
           <div class="leaverecord">
-             <el-form :inline="true"  label-width="100px">
+            <el-form :inline="true"
+                     label-width="100px">
               <el-form-item label="老师姓名">
-                <el-input disabled :value="showMessage.userName" ></el-input>
+                <el-input disabled
+                          :value="showMessage.userName"></el-input>
               </el-form-item>
               <el-form-item label="线上课数">
-                <el-input disabled :value="showMessage.onlineClassesNum" ></el-input>
+                <el-input disabled
+                          :value="showMessage.onlineClassesNum"></el-input>
               </el-form-item>
               <el-form-item label="线下课数">
-                <el-input disabled :value="showMessage.offlineClassesNum" ></el-input>
+                <el-input disabled
+                          :value="showMessage.offlineClassesNum"></el-input>
               </el-form-item>
 
               <el-form-item label="科目名">
-                <el-input disabled :value="showMessage.subjectName" ></el-input>
+                <el-input disabled
+                          :value="showMessage.subjectName"></el-input>
               </el-form-item>
               <el-form-item label="线上课单价">
-                <el-input disabled :value="showMessage.onlineClassesUnitPrice"></el-input>
+                <el-input disabled
+                          :value="showMessage.onlineClassesUnitPrice"></el-input>
               </el-form-item>
               <el-form-item label="线下课单价">
-                <el-input disabled :value="showMessage.offlineClassesUnitPrice"></el-input>
+                <el-input disabled
+                          :value="showMessage.offlineClassesUnitPrice"></el-input>
               </el-form-item>
 
               <el-form-item label="活动名称">
-                <el-input disabled :value="showMessage.vipGroupActivityName"></el-input>
+                <el-input disabled
+                          :value="showMessage.vipGroupActivityName"></el-input>
               </el-form-item>
               <el-form-item label="线上课课酬">
-                <el-input disabled :value="showMessage.onlineTeacherSalary"></el-input>
+                <el-input disabled
+                          :value="showMessage.onlineTeacherSalary"></el-input>
               </el-form-item>
               <el-form-item label="线下课课酬">
-                <el-input disabled :value="showMessage.offlineTeacherSalary" ></el-input>
+                <el-input disabled
+                          :value="showMessage.offlineTeacherSalary"></el-input>
               </el-form-item>
 
               <el-form-item label="商品价格">
-                <el-input disabled :value="showMessage.totalPrice"></el-input>
+                <el-input disabled
+                          :value="showMessage.totalPrice"></el-input>
               </el-form-item>
 
               <el-form-item label="原因">
-                <el-input :disabled="showMessage.auditStatus != 'ING'" type="textarea" v-model="reason"></el-input>
+                <el-input :disabled="showMessage.auditStatus != 'ING'"
+                          type="textarea"
+                          v-model="reason"></el-input>
               </el-form-item>
-              
+
             </el-form>
           </div>
 
         </div>
       </div>
-      <div v-permission="'vipGroupManage/vipApplyAudit'" class="infoFoot" v-if="showMessage.auditStatus == 'ING'">
-        <div class="noBtn" @click="onSubmit(showMessage, 'REJECT')">拒绝</div>
-        <div class="yesBtn" @click="onSubmit(showMessage, 'PASS')">同意</div>
+      <div v-permission="'vipGroupManage/vipApplyAudit'"
+           class="infoFoot"
+           v-if="showMessage.auditStatus == 'ING'">
+        <div class="noBtn"
+             @click="onSubmit(showMessage, 'REJECT')">拒绝</div>
+        <div class="yesBtn"
+             @click="onSubmit(showMessage, 'PASS')">同意</div>
       </div>
     </div>
 
-    
   </div>
 </template>
 <script>
 import { getVipGroupDetail } from '@/api/vipSeting'
-import { queryCountOfUnread, sysMessageList, setRead, vipApplyAudit  } from '@/api/journal'
+import { queryCountOfUnread, sysMessageList, setRead, vipApplyAudit } from '@/api/journal'
 export default {
+  name: 'vipApply',
   data () {
     return {
       img: {
@@ -125,23 +157,23 @@ export default {
       showMessage: {}
     }
   },
-  mounted() {
+  mounted () {
     this.__init()
     this.sysMessageList()
   },
   methods: {
-    __init() {
+    __init () {
       // 未读消息
       queryCountOfUnread().then(res => {
-        if(res.code == 200) {
-          if(res.data && res.data.VIPAPPLY) {
+        if (res.code == 200) {
+          if (res.data && res.data.VIPAPPLY) {
             this.noReadMessage = res.data.VIPAPPLY
           }
         }
       })
     },
-    onSubmit(showMessage, type) {
-      if(!this.reason || this.reason == '') {
+    onSubmit (showMessage, type) {
+      if (!this.reason || this.reason == '') {
         this.$message.error('请输入原因')
         return
       }
@@ -151,7 +183,7 @@ export default {
         auditStatus: type,
       }
       vipApplyAudit(params).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.$message.success('处理成功')
           this.getVipGroupItem(JSON.stringify({ vipGroupId: showMessage.id }))
         } else {
@@ -160,21 +192,21 @@ export default {
       })
     },
 
-    sysMessageList() { // 列表
+    sysMessageList () { // 列表
       sysMessageList({
         group: 'VIPAPPLY',
         rows: this.pageInfo.limit,
         page: this.pageInfo.page,
         readStatus: this.pageInfo.readStatus
       }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.dataList = res.data.rows
           this.pageInfo.total = res.data.total
         }
       })
     },
-    onLookMessage(type) { // 查看对应的数据
-      if(type == "all") {
+    onLookMessage (type) { // 查看对应的数据
+      if (type == "all") {
         this.pageInfo.readStatus = null
       } else {
         this.pageInfo.readStatus = type
@@ -185,18 +217,18 @@ export default {
       this.isCheckMessage = null
       this.sysMessageList()
     },
-    onChange(page) { // 分页
+    onChange (page) { // 分页
       this.pageInfo.page = page
       this.sysMessageList()
     },
-    onClickRead(item) {
+    onClickRead (item) {
       this.isCheckMessage = item.id
-      if(item.readStatus == 1) {
+      if (item.readStatus == 1) {
         this.getVipGroupItem(item.memo)
       } else {
         setRead({ id: item.id }).then(res => {
           let result = res.data
-          if(res.code == 200) {
+          if (res.code == 200) {
             item.readStatus = 1
             this.getVipGroupItem(item.memo)
 
@@ -205,10 +237,10 @@ export default {
         })
       }
     },
-    getVipGroupItem(memo) {
+    getVipGroupItem (memo) {
       memo = JSON.parse(memo)
       getVipGroupDetail({ vipGroupId: memo.vipGroupId }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.showRight = true
           this.showMessage = res.data
           this.reason = res.data.stopReason
@@ -219,15 +251,15 @@ export default {
     }
   },
   filters: {
-    getFormatTime(tempA, tempB) {
-        tempA = new Date(tempA.replace(/-/g, "/")),
+    getFormatTime (tempA, tempB) {
+      tempA = new Date(tempA.replace(/-/g, "/")),
         tempB = new Date(tempB.replace(/-/g, "/"))
-        let hours = Number(tempA.getHours()) >= 10 ? tempA.getHours() : '0' + tempA.getHours()
-        let hours2 = Number(tempB.getHours()) >= 10 ? tempB.getHours() : '0' + tempB.getHours()
-        let min = Number(tempA.getMinutes()) >= 10 ? tempA.getMinutes() : '0' + tempA.getMinutes()
-        let min2 = Number(tempB.getMinutes()) >= 10 ? tempB.getMinutes() : '0' + tempB.getMinutes()
+      let hours = Number(tempA.getHours()) >= 10 ? tempA.getHours() : '0' + tempA.getHours()
+      let hours2 = Number(tempB.getHours()) >= 10 ? tempB.getHours() : '0' + tempB.getHours()
+      let min = Number(tempA.getMinutes()) >= 10 ? tempA.getMinutes() : '0' + tempA.getMinutes()
+      let min2 = Number(tempB.getMinutes()) >= 10 ? tempB.getMinutes() : '0' + tempB.getMinutes()
 
-        return hours + ':' + min + '-' + hours2 + ':' + min2
+      return hours + ':' + min + '-' + hours2 + ':' + min2
     }
   }
 }
@@ -253,7 +285,9 @@ export default {
         top: 6px;
       }
     }
-    .unread, .read, .recovery {
+    .unread,
+    .read,
+    .recovery {
       cursor: pointer;
     }
     .unread {
@@ -469,5 +503,4 @@ export default {
     }
   }
 }
-
 </style>

+ 3 - 2
src/views/main/index.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="m-container">
-    <h2><div class="squrt"></div>首页 
+    <h2>
+      <div class="squrt"></div>首页
     </h2>
     <div class="m-core">
       <div class="itemWrap">
@@ -185,7 +186,7 @@
 <script>
 import { getIndex } from '@/api/user'
 export default {
-  // name: 'main',
+  name: 'main',
   data () {
     return {
       dataInfo: {}

+ 1 - 0
src/views/reportForm/index.vue

@@ -45,6 +45,7 @@
 </template>
 <script>
 export default {
+  name: 'reportForm',
   data () {
     return {
       searchList: {

+ 1 - 0
src/views/resetTeaming/components/resetSound.vue

@@ -222,6 +222,7 @@
 <script>
 import { findMusicGroupSubjectInfo, resetSubjectPlan, getSoundTree, getGoods, updateSubjectInfo } from '@/api/buildTeam'
 export default {
+  name: 'resetSound',
   data () {
     return {
       dialogTableVisible: false,

+ 1 - 0
src/views/resetTeaming/index.vue

@@ -50,6 +50,7 @@ import improvement from '@/views/teamBuild/teamSeting/components/improvementClas
 import { permission } from '@/utils/directivePage'
 export default {
   components: { teamBaseInfo, resetSound, resetClass, coursePlan, lookCourse, improvement },
+  name: 'resetTeaming',
   data () {
     return {
       activeIndex: '1',

+ 1 - 0
src/views/setSilder/addSilder.vue

@@ -125,6 +125,7 @@
 <script>
 import { addSilder, getSilder, deleteSilder, resetSilder } from '@/api/silder'
 export default {
+  name: 'addSilder',
   data () {
     return {
       tableList: [], // 数据列表

+ 1 - 0
src/views/sporadicManager/sporadicList.vue

@@ -325,6 +325,7 @@ import { vaildStudentUrl } from '@/utils/validate'
 import { addZero, getZero, removeZero, getBasic } from '@/api/zeroManager'
 import QRCode from 'qrcodejs2'
 export default {
+  name: 'sporadicList',
   components: { pagination },
   data () {
     return {

+ 23 - 13
src/views/studentManager/components/studentCashout.vue

@@ -1,27 +1,36 @@
 <template>
   <div>
     <div class="tableWrap">
-      <el-table :data="tableList" :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-        <el-table-column label=提现交易流水号 prop="id">
+      <el-table :data="tableList"
+                :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+        <el-table-column label=提现交易流水号
+                         prop="id">
         </el-table-column>
-        <el-table-column label=申请时间 prop="createTime">
+        <el-table-column label=申请时间
+                         prop="createTime">
         </el-table-column>
-        <el-table-column label=提现金额 prop="amount">
+        <el-table-column label=提现金额
+                         prop="amount">
         </el-table-column>
-        <el-table-column label=账户余额 prop="balance">
+        <el-table-column label=账户余额
+                         prop="balance">
         </el-table-column>
-        <el-table-column label=账户号 prop="bankCardNo">
+        <el-table-column label=账户号
+                         prop="bankCardNo">
         </el-table-column>
-        <el-table-column label=提现状态 >
+        <el-table-column label=提现状态>
           <template slot-scope="scope">
             {{ scope.row.status | dealStatus }}
           </template>
         </el-table-column>
-        <el-table-column label=支付账号 prop="platformAccountNo">
+        <el-table-column label=支付账号
+                         prop="platformAccountNo">
         </el-table-column>
-        <el-table-column label=支付渠道 prop="channel">
+        <el-table-column label=支付渠道
+                         prop="channel">
         </el-table-column>
-        <el-table-column label=交易流水号 prop="withdrawNo">
+        <el-table-column label=交易流水号
+                         prop="withdrawNo">
         </el-table-column>
       </el-table>
       <pagination :total="pageInfo.total"
@@ -36,6 +45,7 @@
 import pagination from '@/components/Pagination/index'
 import { studentWithdraw } from '@/api/studentManager'
 export default {
+  name: 'studentCashout',
   components: { pagination },
   data () {
     return {
@@ -50,17 +60,17 @@ export default {
       },
     }
   },
-  mounted() {
+  mounted () {
     this.getList()
   },
   methods: {
-    getList() {
+    getList () {
       studentWithdraw({
         userId: this.$route.query.userId,
         rows: this.pageInfo.limit,
         page: this.pageInfo.page
       }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           this.tableList = res.data.rows
         }
       })

+ 1 - 0
src/views/studentManager/components/studentInfo.vue

@@ -65,6 +65,7 @@
 <script>
 import { findStudentBaseInfo, findStudentMusicGroups } from '@/api/studentManager'
 export default {
+  name: 'studentInfo',
   data () {
     return {
       userId: this.$route.query.userId,

+ 3 - 2
src/views/studentManager/components/studentOrder.vue

@@ -116,6 +116,7 @@ import { studentPaymentOrderList, getUserCashAccountBaseInfo, updateCourseBalanc
 import { orderStatus } from '@/utils/searchArray'
 import store from '@/store'
 export default {
+  name: 'studentOrder',
   components: { pagination },
   data () {
     return {
@@ -146,8 +147,8 @@ export default {
     this.__init()
   },
   methods: {
-    onClear(type) {
-      if(type == 'paymentType') {
+    onClear (type) {
+      if (type == 'paymentType') {
         this.searchForm.paymentType = null
       }
     },

+ 1 - 0
src/views/studentManager/components/studentPayList.vue

@@ -80,6 +80,7 @@ import { queryStudentPayment } from '@/api/studentManager'
 import { attendanceStatus } from '@/utils/searchArray'
 import store from '@/store'
 export default {
+  name: 'studentPayList',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/studentManager/components/teamAndcourse.vue

@@ -155,6 +155,7 @@
 import pagination from '@/components/Pagination/index'
 import { findStudentMusicGroups, findStudentCourses } from '@/api/studentManager'
 export default {
+  name: 'teamAndcourse',
   components: { pagination },
   data () {
     return {

+ 1 - 0
src/views/teacherManager/teacherDetail/components/courseInfo.vue

@@ -47,6 +47,7 @@ import { getTeacherMusicClass } from '@/api/teacherManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'courseInfo',
   components: {
     pagination
   },

+ 1 - 0
src/views/teacherManager/teacherDetail/components/courseInfo1.vue

@@ -66,6 +66,7 @@ import { getVipList } from '@/api/vipSeting'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'courseInfo1',
   components: {
     pagination
   },

+ 1 - 0
src/views/teacherManager/teacherDetail/components/courseInfo2.vue

@@ -30,6 +30,7 @@ import { findTeacherDemoGroups } from '@/api/teacherManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
 export default {
+  name: 'courseInfo2',
   components: {
     pagination
   },

+ 1 - 0
src/views/teacherManager/teacherDetail/components/leaveRecord.vue

@@ -65,6 +65,7 @@ import pagination from '@/components/Pagination/index'
 import store from '@/store'
 import { attendance } from '@/utils/searchArray'
 export default {
+  name: 'leaveRecord',
   components: {
     pagination
   },

+ 1 - 0
src/views/teacherManager/teacherDetail/components/settlement.vue

@@ -180,6 +180,7 @@ import pagination from '@/components/Pagination/index'
 import store from '@/store'
 import { courseType, attendance } from '@/utils/searchArray'
 export default {
+  name: 'settlement',
   components: {
     pagination
   },

+ 92 - 54
src/views/teacherManager/teacherDetail/components/teacherInfo.vue

@@ -3,111 +3,145 @@
     <div class="infoWrap">
       <div class="left">
         <h4>基本信息</h4>
-        <el-form :model="topForm" >
+        <el-form :model="topForm">
           <el-row>
             <el-col :span="12">
-              <el-form-item label="老师编号" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.id"></el-input>
+              <el-form-item label="老师编号"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.id"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="性别" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.gender"></el-input>
+              <el-form-item label="性别"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.gender"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="出生日期" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.birthdate"></el-input>
+              <el-form-item label="出生日期"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.birthdate"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="工作类别" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.jobNature "></el-input>
+              <el-form-item label="工作类别"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.jobNature "></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="入职日期" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.entryDate"></el-input>
+              <el-form-item label="入职日期"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.entryDate"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="教学点" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.teacherSchools"></el-input>
+              <el-form-item label="教学点"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.teacherSchools"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="所属分部" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.organName"></el-input>
+              <el-form-item label="所属分部"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.organName"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="流动范围" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.flowOrganRange"></el-input>
+              <el-form-item label="流动范围"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.flowOrganRange"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="老师简介" :label-width="formLabelWidth">
-                <el-input disabled type='textarea'
+              <el-form-item label="老师简介"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          type='textarea'
                           v-model="topForm.introduction"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
-          
+
           <h4>资料学历</h4>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="手机号" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.phone"></el-input>
+              <el-form-item label="手机号"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.phone"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="毕业学校" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.graduateSchool"></el-input>
+              <el-form-item label="毕业学校"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.graduateSchool"></el-input>
               </el-form-item>
             </el-col>
-            
+
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="电子邮箱" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.email"></el-input>
+              <el-form-item label="电子邮箱"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.email"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="最高学历" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.educationBackground"></el-input>
+              <el-form-item label="最高学历"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.educationBackground"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="专业技能" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.subjectName"></el-input>
+              <el-form-item label="专业技能"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.subjectName"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="职称" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.technicalTitles"></el-input>
+              <el-form-item label="职称"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.technicalTitles"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="12">
-              <el-form-item label="证件类型" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.certificateType"></el-input>
+              <el-form-item label="证件类型"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.certificateType"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="证件号码" :label-width="formLabelWidth">
-                <el-input disabled v-model="topForm.certificateNum"></el-input>
+              <el-form-item label="证件号码"
+                            :label-width="formLabelWidth">
+                <el-input disabled
+                          v-model="topForm.certificateNum"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -115,9 +149,11 @@
       </div>
       <div class="right">
         <div class="teacherIcon">
-          <img v-if="topForm.avatar" :src="topForm.avatar"
+          <img v-if="topForm.avatar"
+               :src="topForm.avatar"
                alt="">
-          <img v-else src="@/assets/images/base/woman.png"
+          <img v-else
+               src="@/assets/images/base/woman.png"
                alt="">
         </div>
 
@@ -129,6 +165,7 @@
 <script>
 import { teacherGet } from '@/api/teacherManager'
 export default {
+  name: 'teacherInfo',
   data () {
     return {
       formLabelWidth: '80px',
@@ -136,13 +173,13 @@ export default {
       topForm: {}
     }
   },
-  mounted() {
+  mounted () {
     this.teacherGet()
   },
   methods: {
-    teacherGet() {
+    teacherGet () {
       teacherGet({ teacherId: this.teacherId }).then(res => {
-        if(res.code == 200) {
+        if (res.code == 200) {
           let tempData = res.data
           tempData.subjectName = this.joinArray(tempData.subjectName)
           let sn = []
@@ -158,24 +195,24 @@ export default {
         }
       })
     },
-    joinArray(value, type) {
+    joinArray (value, type) {
       if (!type) {
-          type = ' '
+        type = ' '
       }
       if (typeof value == 'object' && value != null) {
-          return value.join(type)
+        return value.join(type)
       } else {
-          return value
+        return value
       }
     },
-    formatTimer(value) {
+    formatTimer (value) {
       if (value) {
-          return value.split(' ')[0]
+        return value.split(' ')[0]
       } else {
-          return value
+        return value
       }
     },
-    jobNature(value) {
+    jobNature (value) {
       let template = {
         PART_TIME: "兼职",
         FULL_TIME: "全职",
@@ -220,11 +257,12 @@ export default {
 /deep/.el-form-item {
   width: 100%;
 }
-/deep/.el-date-editor.el-input, /deep/.el-select  {
-    width: 100% !important;
+/deep/.el-date-editor.el-input,
+/deep/.el-select {
+  width: 100% !important;
 }
 /deep/.el-form-item__content {
-    font-size: 14px !important;
-    margin-right: 5%;
+  font-size: 14px !important;
+  margin-right: 5%;
 }
 </style>

+ 1 - 0
src/views/teacherManager/teacherDetail/components/teacherRecord.vue

@@ -102,6 +102,7 @@ import pagination from '@/components/Pagination/index'
 import store from '@/store'
 import { courseType, attendance } from '@/utils/searchArray'
 export default {
+  name: 'teacherRecord',
   components: {
     pagination
   },

+ 1 - 0
src/views/teacherManager/teacherOperation/components/salarySet.vue

@@ -120,6 +120,7 @@ import { sysConfigList } from '@/api/generalSettings'
 import { findTeacherDefaultSalary } from '@/api/vipSeting'
 export default {
   props: ['teacherId'],
+  name: 'salarySet',
   data () {
     return {
       pageType: this.$route.query.type, // 页面类型

+ 1 - 0
src/views/teacherManager/teacherOperation/components/teacherOperation.vue

@@ -279,6 +279,7 @@ let validPhone = (rule, value, callback) => {
   }
 }
 export default {
+  name: 'teacherOperation',
   data () {
     return {
       jobNature: jobNature,

+ 1 - 1
src/views/teacherManager/teacherOperation/index.vue

@@ -32,7 +32,7 @@ import salarySet from './components/salarySet'
 import { permission } from '@/utils/directivePage'
 export default {
   components: { teacherOperation, salarySet },
-  name: 'vipDetail',
+  name: 'teacherOperations',
   data () {
     return {
       pageType: this.$route.query.type,

+ 1 - 0
src/views/teamBuild/components/teamBaseInfo.vue

@@ -413,6 +413,7 @@ import axios from 'axios'
 import store from '@/store'
 import qs from 'qs'
 export default {
+  name: 'teamBaseInfo',
   props: ['getTeamList'],
   data () {
     return {

+ 1 - 0
src/views/teamBuild/components/teamResetSound.vue

@@ -176,6 +176,7 @@
 import store from '@/store'
 import { getSubject, getDefaultSubject, getGoods, createTeam, getSoundTree, findSound, teamSoundStudent } from '@/api/buildTeam'
 export default {
+  name: 'teamResetSound',
   props: ['getTeamList'],
   data () {
     return {

+ 1 - 0
src/views/teamBuild/components/teamSoundMoney.vue

@@ -285,6 +285,7 @@
 import store from '@/store'
 import { getSubject, getDefaultSubject, getGoods, createTeam, getSoundTree, findMusicGroupSubjectInfo, updateSubjectInfo, auditSuccess, auditFailed } from '@/api/buildTeam'
 export default {
+  name: 'teamSoundMoney',
   data () {
     return {
       dialogTableVisible: false,

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

@@ -391,6 +391,7 @@ import axios from 'axios'
 import { getToken } from '@/utils/auth'
 import qs from 'qs'
 export default {
+  name: 'signupList',
   components: {
     pagination
   },

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

@@ -274,6 +274,7 @@ import { getAllClass, getAllSignClass, workOut, checkCourse, getHoliday } from '
 import axios from 'axios'
 import qs from 'qs'
 export default {
+  name: 'coursePlan',
   data () {
     return {
       // type: this.$route.query.type || null, // 当前页面类型

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

@@ -190,6 +190,7 @@ import { findSound, findMusicGroupClassTeacher, getTeacher, getTeamDetail, addHi
 let that;
 import { permission } from '@/utils/directivePage'
 export default {
+  name: 'improvementClass',
   props: {
     teamid: {
       type: String,

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

@@ -70,6 +70,7 @@
 <script>
 import { getAllClass, getClassCOurse, deteleAllCourse } from '@/api/buildTeam'
 export default {
+  name: 'lookCourse',
   props: {
     isSetSalary: {
       type: Boolean,

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

@@ -135,6 +135,7 @@
 import { findMusicGroupClassTeacherSalary, setClassGroupTeacherSalary, getTeamDetail } from '@/api/buildTeam'
 import { format } from 'path'
 export default {
+  name: 'salarySet',
   props: {
     teamid: {
       type: String,

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

@@ -213,6 +213,7 @@
 import { queryEmployByOrganId } from '@/api/systemManage'
 import { getTeamRecruit, getSingleClass, getNoClassStudent, addSingleClass, removeSingleClass, addAllClass, getAllClass, findNoClassSingle, removeAllClass, getTeacher, checkAllStudent, getTeamBaseInfo } from "@/api/buildTeam"
 export default {
+  name: 'setClass',
   props: {
     teamid: {
       type: String,

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

@@ -137,6 +137,7 @@ import { highClassGroups, teamSoundStudent, resetHighClass, pushMessage } from '
 import { getClassAllStudent, addStudents, removeStudents } from '@/api/studentManager'
 // import QRCode from 'qrcodejs2'
 export default {
+  name: 'setImprovement',
   data () {
     return {
       tableList: [],

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

@@ -117,6 +117,7 @@
 <script>
 import { getEveryClass, getTeacher, setTeamTeacher } from '@/api/buildTeam'
 export default {
+  name: 'setTeacher',
   props: {
     teamid: {
       type: String,

+ 1 - 0
src/views/teamBuild/teamSeting/index.vue

@@ -107,6 +107,7 @@ import improvement from '@/views/teamBuild/teamSeting/components/improvementClas
 import lookCourse from '@/views/teamBuild/teamSeting/components/lookCourse'
 import { getTeamBaseInfo, checkSetSalary } from '@/api/buildTeam'
 export default {
+  name: 'teamSeting',
   components: {
     classSeting,
     teacherSeting,

+ 2 - 1
src/views/teamDetail/componentCourse/classList.vue

@@ -28,7 +28,7 @@
                          prop="currentClassTimes"
                          label="是否有课">
           <template slot-scope="scope">
-              {{ scope.row.totalClassTimes ? '是' : '否'}}
+            {{ scope.row.totalClassTimes ? '是' : '否'}}
           </template>
         </el-table-column>
         <el-table-column align='center'
@@ -49,6 +49,7 @@ import pagination from '@/components/Pagination/index'
 import { getClassList, coursePostpone } from '@/api/buildTeam'
 import { permission } from '@/utils/directivePage'
 export default {
+  name: 'tclassList',
   props: {
     teamid: {
       type: String,

+ 1 - 0
src/views/teamDetail/componentCourse/courseList.vue

@@ -93,6 +93,7 @@
 import pagination from '@/components/Pagination/index'
 import { getTeacher, getMusicGroupAllClass, getCourseSchedule } from '@/api/buildTeam'
 export default {
+  name: 'tcourseList',
   props: {
     teamid: {
       type: String,

+ 228 - 213
src/views/teamDetail/components/baseInfo.vue

@@ -2,43 +2,52 @@
   <div class='basea-container'>
     <div class="baseTop">
       <div class="left">
-        <el-form :inline="true" :model="topForm">
+        <el-form :inline="true"
+                 :model="topForm">
           <el-form-item label="乐团编号">
-            <el-input v-model="topForm.num" disabled></el-input>
+            <el-input v-model="topForm.num"
+                      disabled></el-input>
           </el-form-item>
           <el-form-item label="教务老师">
-            <el-input v-model="topForm.teacher" disabled></el-input>
+            <el-input v-model="topForm.teacher"
+                      disabled></el-input>
             <!-- <el-select>
               <el-option label="啦啦啦"
                          value="1"></el-option>
             </el-select> -->
           </el-form-item>
           <el-form-item label="所属分部">
-            <el-input v-model="topForm.section" disabled></el-input>
+            <el-input v-model="topForm.section"
+                      disabled></el-input>
             <!-- <el-select v-model="topForm.section">
               <el-option label="啦啦啦"
                          value="1"></el-option>
             </el-select> -->
           </el-form-item>
           <el-form-item label="乐队指导">
-            <el-input v-model="topForm.boss" disabled></el-input>
+            <el-input v-model="topForm.boss"
+                      disabled></el-input>
             <!-- <el-select v-model="topForm.boss">
               <el-option label="啦啦啦"
                          value="1"></el-option>
             </el-select> -->
           </el-form-item>
           <el-form-item label="合作单位">
-            <el-input v-model="topForm.cooperate" disabled></el-input>
+            <el-input v-model="topForm.cooperate"
+                      disabled></el-input>
             <!-- <el-select v-model="topForm.cooperate">
               <el-option label="啦啦啦"
                          value="1"></el-option>
             </el-select> -->
           </el-form-item>
           <el-form-item label="上课地点">
-            <el-input v-model="topForm.add" disabled style="width:370px;"></el-input>
+            <el-input v-model="topForm.add"
+                      disabled
+                      style="width:370px;"></el-input>
           </el-form-item>
           <el-form-item label="收费类型">
-            <el-input v-model="topForm.type" disabled></el-input>
+            <el-input v-model="topForm.type"
+                      disabled></el-input>
             <!-- <el-select v-model="topForm.type">
               <el-option label="啦啦啦"
                          value="1"></el-option>
@@ -53,12 +62,17 @@
             </el-select>
           </el-form-item> -->
         </el-form>
-        <el-button type="text" v-permission="'order/musicalListExport'" @click="musicalListExport">发放清单导出</el-button>
-        <el-button type="text" v-permission="'order/musicalListDetailExport'" @click="musicalListDetailExport">分发清单导出</el-button>
+        <el-button type="text"
+                   v-permission="'order/musicalListExport'"
+                   @click="musicalListExport">发放清单导出</el-button>
+        <el-button type="text"
+                   v-permission="'order/musicalListDetailExport'"
+                   @click="musicalListDetailExport">分发清单导出</el-button>
       </div>
       <div class="right">
         <ul>
-          <li v-for="(item,index) in processList" :key='index'>{{ item.createTime}} {{ item.realName }} {{item.event}}</li>
+          <li v-for="(item,index) in processList"
+              :key='index'>{{ item.createTime}} {{ item.realName }} {{item.event}}</li>
 
         </ul>
       </div>
@@ -71,235 +85,236 @@
   </div>
 </template>
 <script>
-  import {
-    getMusicGroup,
-    getMusicGroupProcess
-  } from '@/api/buildTeam'
-  import QRCode from 'qrcodejs2'
-  import axios from 'axios'
-  import qs from 'qs'
-  import {
-    getToken
-  } from '@/utils/auth'
-  export default {
-    props: {
-      teamid: {
-        type: String,
-        required: true
-      },
+import {
+  getMusicGroup,
+  getMusicGroupProcess
+} from '@/api/buildTeam'
+import QRCode from 'qrcodejs2'
+import axios from 'axios'
+import qs from 'qs'
+import {
+  getToken
+} from '@/utils/auth'
+export default {
+  name: "tbaseInfo",
+  props: {
+    teamid: {
+      type: String,
+      required: true
     },
-    data() {
-      return {
-        topForm: {
-          num: '',
-          teacher: '',
-          section: '',
-          boss: '',
-          cooperate: '',
-          add: '',
-          type: '',
-          salary: ''
-        },
-        name: '',
-        processList: []
+  },
+  data () {
+    return {
+      topForm: {
+        num: '',
+        teacher: '',
+        section: '',
+        boss: '',
+        cooperate: '',
+        add: '',
+        type: '',
+        salary: ''
+      },
+      name: '',
+      processList: []
+    }
+  },
+  mounted () {
+    // 获取乐团基本信息
+    // let teamid = '191014135135001';
+    // this.creatQrCode();
+    getMusicGroup({
+      musicGroupId: this.teamid
+    }).then(res => {
+      if (res.code == 200) {
+        this.topForm.num = res.data.id;
+        // this.topForm.teacher = res.data.teamTeacherName;
+        this.topForm.teacher = res.data.educationalTeacherName;
+        this.topForm.boss = res.data.directorUserName;
+        this.topForm.cooperate = res.data.schoolName;
+        this.topForm.type = res.data.chargeTypeName;
+        this.topForm.section = res.data.organName;
+        this.topForm.add = res.data.address
+        // 差上课地点
+        this.$emit('getname', res.data.name)
       }
-    },
-    mounted() {
-      // 获取乐团基本信息
-      // let teamid = '191014135135001';
-      // this.creatQrCode();
-      getMusicGroup({
-        musicGroupId: this.teamid
-      }).then(res => {
-        if (res.code == 200) {
-          this.topForm.num = res.data.id;
-          // this.topForm.teacher = res.data.teamTeacherName;
-          this.topForm.teacher = res.data.educationalTeacherName;
-          this.topForm.boss = res.data.directorUserName;
-          this.topForm.cooperate = res.data.schoolName;
-          this.topForm.type = res.data.chargeTypeName;
-          this.topForm.section = res.data.organName;
-          this.topForm.add = res.data.address
-          // 差上课地点
-          this.$emit('getname', res.data.name)
-        }
-      })
+    })
 
-      // 根据乐团id获取乐团流程
-      getMusicGroupProcess({
-        musicGroupId: this.teamid
-      }).then(res => {
-        if (res.code == 200) {
-          this.processList = res.data;
-        }
+    // 根据乐团id获取乐团流程
+    getMusicGroupProcess({
+      musicGroupId: this.teamid
+    }).then(res => {
+      if (res.code == 200) {
+        this.processList = res.data;
+      }
+    })
+  },
+  methods: {
+    creatQrCode () {
+      var qrcode = new QRCode(this.$refs.qrCodeUrl, {
+        text: 'http://www.baidu.com',
+        width: 300,
+        height: 300,
+        colorDark: '#000000',
+        colorLight: '#ffffff',
+        correctLevel: QRCode.CorrectLevel.H
       })
     },
-    methods: {
-      creatQrCode() {
-        var qrcode = new QRCode(this.$refs.qrCodeUrl, {
-          text: 'http://www.baidu.com',
-          width: 300,
-          height: 300,
-          colorDark: '#000000',
-          colorLight: '#ffffff',
-          correctLevel: QRCode.CorrectLevel.H
-        })
-      },
-      musicalListExport() { // 报表导出
-        let url = '/api-web/order/musicalListExport'
-        let data = { }
-        const options = {
-          method: 'POST',
-          headers: {
-            'Authorization': getToken()
-          },
-          data: qs.stringify(data),
-          url,
-          responseType: 'blob'
-        }
-        this.$confirm('您确定导出发放清单', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          axios(options).then(res => {
-            let blob = new Blob([res.data], {
-              // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
-              type: 'application/vnd.ms-excel;charset=utf-8'
-              //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
-            })
-            let objectUrl = URL.createObjectURL(blob)
-            let link = document.createElement("a")
-            let nowTime = new Date()
-            let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate() + '' +
-              nowTime.getHours() +
-              '' + nowTime.getMinutes()
-            let fname = this.$route.query.id + '-' + ymd + '发放清单' //下载文件的名字
-            link.href = objectUrl
-            link.setAttribute("download", fname)
-            document.body.appendChild(link)
-            link.click()
+    musicalListExport () { // 报表导出
+      let url = '/api-web/order/musicalListExport'
+      let data = {}
+      const options = {
+        method: 'POST',
+        headers: {
+          'Authorization': getToken()
+        },
+        data: qs.stringify(data),
+        url,
+        responseType: 'blob'
+      }
+      this.$confirm('您确定导出发放清单', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        axios(options).then(res => {
+          let blob = new Blob([res.data], {
+            // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
+            type: 'application/vnd.ms-excel;charset=utf-8'
+            //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
           })
-        }).catch(() => {})
+          let objectUrl = URL.createObjectURL(blob)
+          let link = document.createElement("a")
+          let nowTime = new Date()
+          let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate() + '' +
+            nowTime.getHours() +
+            '' + nowTime.getMinutes()
+          let fname = this.$route.query.id + '-' + ymd + '发放清单' //下载文件的名字
+          link.href = objectUrl
+          link.setAttribute("download", fname)
+          document.body.appendChild(link)
+          link.click()
+        })
+      }).catch(() => { })
 
-      },
-      musicalListDetailExport() { // 报表导出
-        let url = '/api-web/order/musicalListDetailExport'
-        let data = {
-          musicGroupId: this.$route.query.id
-        }
-        const options = {
-          method: 'POST',
-          headers: {
-            'Authorization': getToken()
-          },
-          data: qs.stringify(data),
-          url,
-          responseType: 'blob'
-        }
-        this.$confirm('您确定导出分发清单', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          axios(options).then(res => {
-            let blob = new Blob([res.data], {
-              // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
-              type: 'application/vnd.ms-excel;charset=utf-8'
-              //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
-            })
-            let objectUrl = URL.createObjectURL(blob)
-            let link = document.createElement("a")
-            let nowTime = new Date()
-            let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate() + '' +
-              nowTime.getHours() +
-              '' + nowTime.getMinutes()
-            let fname = this.$route.query.id + '-' + ymd + '分发清单' //下载文件的名字
-            link.href = objectUrl
-            link.setAttribute("download", fname)
-            document.body.appendChild(link)
-            link.click()
-          })
-        }).catch(() => {})
-      }
     },
-  }
+    musicalListDetailExport () { // 报表导出
+      let url = '/api-web/order/musicalListDetailExport'
+      let data = {
+        musicGroupId: this.$route.query.id
+      }
+      const options = {
+        method: 'POST',
+        headers: {
+          'Authorization': getToken()
+        },
+        data: qs.stringify(data),
+        url,
+        responseType: 'blob'
+      }
+      this.$confirm('您确定导出分发清单', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        axios(options).then(res => {
+          let blob = new Blob([res.data], {
+            // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
+            type: 'application/vnd.ms-excel;charset=utf-8'
+            //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
+          })
+          let objectUrl = URL.createObjectURL(blob)
+          let link = document.createElement("a")
+          let nowTime = new Date()
+          let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate() + '' +
+            nowTime.getHours() +
+            '' + nowTime.getMinutes()
+          let fname = this.$route.query.id + '-' + ymd + '分发清单' //下载文件的名字
+          link.href = objectUrl
+          link.setAttribute("download", fname)
+          document.body.appendChild(link)
+          link.click()
+        })
+      }).catch(() => { })
+    }
+  },
+}
 </script>
 <style lang="scss" scope>
-  .basea-container {
-    margin-top: 35px;
+.basea-container {
+  margin-top: 35px;
 
-    .baseTop {
-      display: flex;
-      flex-direction: row;
-      justify-content: space-between;
+  .baseTop {
+    display: flex;
+    flex-direction: row;
+    justify-content: space-between;
 
-      .left {
-        max-width: 750px;
+    .left {
+      max-width: 750px;
 
-        .el-select {
-          width: 180px !important;
-        }
+      .el-select {
+        width: 180px !important;
       }
+    }
 
-      .right {
-        height: 40vh;
-        overflow: scroll;
+    .right {
+      height: 40vh;
+      overflow: scroll;
 
-        ul {
-          li {
-            list-style: none;
-            line-height: 22px;
-            font-size: 14px;
-            color: #aaa;
-          }
+      ul {
+        li {
+          list-style: none;
+          line-height: 22px;
+          font-size: 14px;
+          color: #aaa;
         }
+      }
 
-        &::-webkit-scrollbar {
-          display: none;
-        }
+      &::-webkit-scrollbar {
+        display: none;
       }
     }
+  }
 
-    .baseBottom {
-      margin-top: 40px;
-      display: flex;
-      flex-direction: column;
-      justify-content: center;
-      align-items: center;
+  .baseBottom {
+    margin-top: 40px;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
 
-      .code {
-        width: 300px;
-        height: 300px;
-        background-color: red;
-        margin-bottom: 20px;
-      }
+    .code {
+      width: 300px;
+      height: 300px;
+      background-color: red;
+      margin-bottom: 20px;
+    }
 
-      .btnList {
-        width: 300px;
-        display: flex;
-        flex-direction: row;
-        justify-content: space-between;
-        margin-top: 60px;
+    .btnList {
+      width: 300px;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-between;
+      margin-top: 60px;
 
-        div {
-          cursor: pointer;
-          width: 120px;
-          height: 40px;
-          line-height: 40px;
-          border-radius: 4px;
-          color: #fff;
-          text-align: center;
-        }
+      div {
+        cursor: pointer;
+        width: 120px;
+        height: 40px;
+        line-height: 40px;
+        border-radius: 4px;
+        color: #fff;
+        text-align: center;
+      }
 
-        .closeBtn {
-          background-color: #777;
-        }
+      .closeBtn {
+        background-color: #777;
+      }
 
-        .okBtn {
-          background-color: #f97215;
-        }
+      .okBtn {
+        background-color: #f97215;
       }
     }
   }
+}
 </style>

+ 1 - 0
src/views/teamDetail/components/classList.vue

@@ -137,6 +137,7 @@ import pagination from '@/components/Pagination/index'
 import { getClassList, coursePostpone } from '@/api/buildTeam'
 import { permission } from '@/utils/directivePage'
 export default {
+  name: 'tclassList',
   props: {
     teamid: {
       type: String,

+ 1 - 0
src/views/teamDetail/components/courseList.vue

@@ -263,6 +263,7 @@ import pagination from '@/components/Pagination/index'
 import { bathDelete } from '@/api/vipSeting'
 import { getCourseList, findMusicGroupClassTeacher, resetCourse, getTeacher, getMusicGroupAllClass, getCourseSchedule, batchAdjustment } from '@/api/buildTeam'
 export default {
+  name: 'tcourseList',
   props: {
     teamid: {
       type: String,

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

@@ -648,6 +648,7 @@ import { queryEmployByOrganId } from '@/api/systemManage'
 import axios from 'axios'
 import qs from 'qs'
 export default {
+  name: 'tresetClass',
   data () {
     return {
       pickerOptions: {

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

@@ -135,7 +135,7 @@ import pagination from '@/components/Pagination/index'
 import { getCourseList, getTeacherSalary } from '@/api/buildTeam'
 import { updateTeacherCoursesSalary } from '@/api/teacherManager'
 export default {
-  name: 'salaryList',
+  name: 'tsalaryList',
   props: {
     teamid: {
       type: String,

+ 1 - 0
src/views/teamDetail/components/studentList.vue

@@ -603,6 +603,7 @@ import QRCode from 'qrcodejs2'
 import axios from 'axios'
 import { getToken } from '@/utils/auth'
 export default {
+  name: "tstudentList",
   props: {
     teamid: {
       type: String,

+ 1 - 1
src/views/teamDetail/components/studentSignin.vue

@@ -90,7 +90,7 @@ import pagination from '@/components/Pagination/index'
 import { getStudentRecord } from '@/api/studentManager'
 import { getMusicGroupAllClass } from '@/api/buildTeam'
 export default {
-  name: 'studentSignin',
+  name: 'tstudentSignin',
   components: {
     pagination
   },

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

@@ -103,6 +103,7 @@
 import pagination from '@/components/Pagination/index'
 import { getTeamTeacherList, getAllClass } from '@/api/buildTeam'
 export default {
+  name: 'tteacherList',
   props: {
     teamid: {
       type: String,
@@ -164,13 +165,13 @@ export default {
       })
     },
     gotoRecord () {
-      this.$router.push({ 
-        path: `/business/teamTeacherRecord`, 
-        query: { 
+      this.$router.push({
+        path: `/business/teamTeacherRecord`,
+        query: {
           id: this.teamid,
           status: this.$route.query.status,
           name: this.$route.query.name
-        } 
+        }
       })
     }
   }

+ 1 - 0
src/views/teamDetail/index.vue

@@ -68,6 +68,7 @@ import salaryList from '@/views/teamDetail/components/salaryList'
 import baseinfo from '@/views/teamDetail/components/baseInfo'
 // import { getMusicGroup } from '@/api/buildTeam'
 export default {
+  name: 'teamDetail',
   data () {
     return {
       activeIndex: this.$route.query.checkIndex ? this.$route.query.checkIndex : '1',