瀏覽代碼

Merge branch '0709_OA' into 11/24SAAS

lex 2 年之前
父節點
當前提交
b7abdb65f9

+ 349 - 288
src/router/index.js

@@ -1,10 +1,10 @@
-import Vue from 'vue'
-import Router from 'vue-router'
+import Vue from "vue";
+import Router from "vue-router";
 
-Vue.use(Router)
+Vue.use(Router);
 
 /* Layout */
-import Layout from '@/layout'
+import Layout from "@/layout";
 
 /**
  * Note: sub-menu only appear when route children.length >= 1
@@ -43,19 +43,21 @@ export const constantRoutes = [
   //   children:
   // },
   {
-    path: '/instructions', // 侧边栏
+    path: "/instructions", // 侧边栏
     component: Layout,
     hidden: true,
-    children: [{
-      name: '说明文档',
-      path: 'instructions',
-      component: () => import('@/layout/components/fullPageIns'),
-      hidden: true,
-      meta: {
-        noCache: '1',
-        title: '说明文档'
+    children: [
+      {
+        name: "说明文档",
+        path: "instructions",
+        component: () => import("@/layout/components/fullPageIns"),
+        hidden: true,
+        meta: {
+          noCache: "1",
+          title: "说明文档"
+        }
       }
-    }]
+    ]
   },
   // {
   //   path: '/photo-detail', // 相册详情
@@ -74,495 +76,554 @@ export const constantRoutes = [
   //   }]
   // },
   {
-    path: '/setSilder', // 侧边栏
+    path: "/setSilder", // 侧边栏
     component: Layout,
     hidden: true,
-    children: [{
-      name: '提交表单',
-      path: 'save-form',
-      component: () => import('@/views/save-form-test'),
-      hidden: true,
-      meta: {
-        noCache: '1',
-        title: '提交表单'
+    children: [
+      {
+        name: "提交表单",
+        path: "save-form",
+        component: () => import("@/views/save-form-test"),
+        hidden: true,
+        meta: {
+          noCache: "1",
+          title: "提交表单"
+        }
       }
-    }]
+    ]
   },
   {
-    path: '/login',
-    name: '登录',
-    component: () => import('@/views/login/index'),
+    path: "/login",
+    name: "登录",
+    component: () => import("@/views/login/index"),
     hidden: true
   },
 
   {
-    path: '/',
-    redirect:'/main',
+    path: "/",
+    redirect: "/main",
     hidden: true
   },
   {
-    path: '/redirect',
-    component: () => import('@/views/Layout/centerpage'),
+    path: "/redirect",
+    component: () => import("@/views/Layout/centerpage"),
     hidden: true
   },
   {
-    path: '/404',
-    component: () => import('@/views/404'),
+    path: "/404",
+    component: () => import("@/views/404"),
     hidden: true
   },
   {
-    path: '/403',
-    component: () => import('@/views/403'),
+    path: "/403",
+    component: () => import("@/views/403"),
     hidden: true
   },
   {
-    path: '/noPermission',
-    component: () => import('@/views/noPermission'),
+    path: "/noPermission",
+    component: () => import("@/views/noPermission"),
     hidden: true
   },
   {
-    path: '/systemMaintain',
-    component: () => import('@/views/systemMaintain'),
+    path: "/systemMaintain",
+    component: () => import("@/views/systemMaintain"),
     hidden: true
-  },
+  }
   // { path: '*', redirect: '/404', hidden: true }
-]
+];
 // export const constantRoutes = [{
 //   path: '/',
 //   redirect: '/upms',
 // }]
-const createRouter = () => new Router({
-  // mode: 'history', // require service support
-  scrollBehavior: () => ({
-    y: 0
-  }),
-  routes: constantRoutes
-})
+const createRouter = () =>
+  new Router({
+    // mode: 'history', // require service support
+    scrollBehavior: () => ({
+      y: 0
+    }),
+    routes: constantRoutes
+  });
 
-const router = createRouter()
+const router = createRouter();
 
 // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
 export function resetRouter() {
-  const newRouter = createRouter()
-  router.matcher = newRouter.matcher // reset router
+  const newRouter = createRouter();
+  router.matcher = newRouter.matcher; // reset router
 }
 export const asyncRoutes = {
   Layout: Layout,
   // 首页
-  main: () => import('@/views/main/index'),
+  main: () => import("@/views/main/index"),
   // 内容管理
-  contentManager: () => import('@/views/contentManager/index'),
-  platformIndex: () => import('@/views/contentManager/platformIndex'),
-  accompaniment: () => import('@/views/accompaniment'),
-  contentOperation: () => import('@/views/contentManager/contentOperation'),
+  contentManager: () => import("@/views/contentManager/index"),
+  platformIndex: () => import("@/views/contentManager/platformIndex"),
+  accompaniment: () => import("@/views/accompaniment"),
+  contentOperation: () => import("@/views/contentManager/contentOperation"),
   // 系统日志
-  journal: () => import('@/views/workBenchManager/journal/index'),
+  journal: () => import("@/views/workBenchManager/journal/index"),
   // 课酬确认
-  classFeesIsOk: () => import('@/views/workBenchManager/classFeesIsOk'),
+  classFeesIsOk: () => import("@/views/workBenchManager/classFeesIsOk"),
   // 课酬申诉
-  requestProcessing: () => import('@/views/workBenchManager/requestProcessing'),
+  requestProcessing: () => import("@/views/workBenchManager/requestProcessing"),
   // 考勤申诉
-  payAppeal: () => import('@/views/workBenchManager/payAppeal'),
+  payAppeal: () => import("@/views/workBenchManager/payAppeal"),
   // 乐团管理
-  teamDetail: () => import('@/views/teamDetail/teamList'),
-  teamBuild: () => import('@/views/teamBuild/index'), // 新建
-  teamDraft: () => import('@/views/teamBuild/teamDraft'), // 编辑
-  teamAudit: () => import('@/views/teamBuild/teamDraft'), // 审核
-  feeAudit: () => import('@/views/teamBuild/teamDraft'), // 费用审核
-  auditFailed: () => import('@/views/teamBuild/teamDraft'), // 审核失败
-  forecastName: () => import('@/views/teamBuild/forecastNameList'), // 预报名页面forecastName
-  createPayment: () => import('@/views/teamBuild/createPayment'), // 创建缴费页面
+  teamDetail: () => import("@/views/teamDetail/teamList"),
+  teamBuild: () => import("@/views/teamBuild/index"), // 新建
+  teamDraft: () => import("@/views/teamBuild/teamDraft"), // 编辑
+  teamAudit: () => import("@/views/teamBuild/teamDraft"), // 审核
+  feeAudit: () => import("@/views/teamBuild/teamDraft"), // 费用审核
+  auditFailed: () => import("@/views/teamBuild/teamDraft"), // 审核失败
+  forecastName: () => import("@/views/teamBuild/forecastNameList"), // 预报名页面forecastName
+  createPayment: () => import("@/views/teamBuild/createPayment"), // 创建缴费页面
   // VIP管理
-  vipList: () => import('@/views/vipClass/vipList'),
+  vipList: () => import("@/views/vipClass/vipList"),
   // vip修改
-  vipReset: () => import('@/views/vipClass/vipReset'),
+  vipReset: () => import("@/views/vipClass/vipReset"),
   // vip详情
   // @/views/buildVip/index   @/views/vipClass/vipDetail
-  vipDetail: () => import('@/views/vipClass/vipDetail'),
-  buildVip: () => import('@/views/buildVip/index'),
+  vipDetail: () => import("@/views/vipClass/vipDetail"),
+  buildVip: () => import("@/views/buildVip/index"),
   // 教师管理
-  teacherList: () => import('@/views/teacherManager/teacherList'),
+  teacherList: () => import("@/views/teacherManager/teacherList"),
   // 新增&修改教师
-  teacherOperation: () => import('@/views/teacherManager/teacherOperation/index'),
-  teacherOperationUpdate: () => import('@/views/teacherManager/teacherOperation/index'),
+  teacherOperation: () =>
+    import("@/views/teacherManager/teacherOperation/index"),
+  teacherOperationUpdate: () =>
+    import("@/views/teacherManager/teacherOperation/index"),
   // 老师详情
-  teacherDetail: () => import('@/views/teacherManager/teacherDetail/index'),
+  teacherDetail: () => import("@/views/teacherManager/teacherDetail/index"),
   // 学员管理
-  studentList: () => import('@/views/studentManager/studentList'),
+  studentList: () => import("@/views/studentManager/studentList"),
   // 学员详情
-  studentDetail: () => import('@/views/studentManager/index'),
+  studentDetail: () => import("@/views/studentManager/index"),
   // 订单管理
-  orderList: () => import('@/views/businessManager/orderManager/index'),
+  orderList: () => import("@/views/businessManager/orderManager/index"),
   // 订单列表
-  income: () => import('@/views/businessManager/orderManager/income'),
-  incomeOne: () => import('@/views/businessManager/orderManager/incomeOne'),
-  incomeTwo: () => import('@/views/businessManager/orderManager/incomeTwo'),
+  income: () => import("@/views/businessManager/orderManager/income"),
+  incomeOne: () => import("@/views/businessManager/orderManager/incomeOne"),
+  incomeTwo: () => import("@/views/businessManager/orderManager/incomeTwo"),
   // 财务管理(含陶气)
-  'financeManager-taoqi': () => import('@/views/businessManager/orderManager/financeManager-taoqi'),
+  "financeManager-taoqi": () =>
+    import("@/views/businessManager/orderManager/financeManager-taoqi"),
   // 财务管理
-  financeManager: () => import('@/views/businessManager/orderManager/financeManager'),
+  financeManager: () =>
+    import("@/views/businessManager/orderManager/financeManager"),
   // 充值列表
-  incomebuy: () => import('@/views/businessManager/orderManager/incomebuy'),
+  incomebuy: () => import("@/views/businessManager/orderManager/incomebuy"),
   // 退费订单
-  backOrder: () => import('@/views/businessManager/orderManager/backMoney'),
+  backOrder: () => import("@/views/businessManager/orderManager/backMoney"),
   // 支出
-  expend: () => import('@/views/businessManager/orderManager/expend'),
+  expend: () => import("@/views/businessManager/orderManager/expend"),
   // 商品管理
-  shopManager: () => import('@/views/businessManager/shopManager/shopList'),
+  shopManager: () => import("@/views/businessManager/shopManager/shopList"),
   // 商品修改(添加)
-  shopOperation: () => import('@/views/businessManager/shopManager/shopOperation'),
+  shopOperation: () =>
+    import("@/views/businessManager/shopManager/shopOperation"),
   // 商品类型管理
-  shopCategory: () => import('@/views/businessManager/shopManager/shopCategory'),
+  shopCategory: () =>
+    import("@/views/businessManager/shopManager/shopCategory"),
   // 报表中心
-  reportForm: () => import('@/views/reportForm/index'),
+  reportForm: () => import("@/views/reportForm/index"),
   // musicalManager: () => import('@/views/categroyManager/specialSetup/musicalManager'),
   // 系统管理
-  specialSetup: () => import('@/views/categroyManager/specialSetup/index'),
+  specialSetup: () => import("@/views/categroyManager/specialSetup/index"),
   // 类型管理
-  typesManager: () => import('@/views/categroyManager/specialSetup/typesManager'),
-  tryClass: () => import('@/views/categroyManager/specialSetup/tryClass'),
-  activityManager: () => import('@/views/categroyManager/specialSetup/activityManager'),
-  tempalteManager: () => import('@/views/categroyManager/specialSetup/tempalteManager'),
-  bannerManager: () => import('@/views/categroyManager/specialSetup/bannerManager'),
-  holidayManager: () => import('@/views/categroyManager/specialSetup/holidayManager'),
-  branchSetting: () => import('@/views/categroyManager/specialSetup/branchSetting'),
-  jobTemplateSetting: () => import('@/views/categroyManager/specialSetup/jobTemplateSetting'),
-  generalSettings: () => import('@/views/categroyManager/generalSettings/index'),
-  siginManager: () => import('@/views/categroyManager/generalSettings/siginManager'),
-  leaveManager: () => import('@/views/categroyManager/generalSettings/leaveManager'),
-  cycleManager: () => import('@/views/categroyManager/generalSettings/cycleManager'),
-  overallManager: () => import('@/views/categroyManager/generalSettings/overallManager'),
-  payManager: () => import('@/views/categroyManager/generalSettings/payManager'),
-  insideSetting: () => import('@/views/categroyManager/insideSetting/index'),
-  adminManager: () => import('@/views/categroyManager/insideSetting/adminManager'),
-  adminOperation: () => import('@/views/categroyManager/insideSetting/adminOperation'),
-  staffManager: () => import('@/views/categroyManager/insideSetting/staffManager'),
-  branchManager: () => import('@/views/categroyManager/insideSetting/branchManager'),
-  addressManager: () => import('@/views/categroyManager/insideSetting/addressManager'),
-  branchActive: () => import('@/views/categroyManager/insideSetting/branchActive'),
-  branchActiveOperation: () => import('@/views/categroyManager/insideSetting/branchActiveOperation'),
-  vipChargeSeting: () => import('@/views/categroyManager/vipChargeSeting'),
-  vipActiveList: () => import('@/views/categroyManager/vipActiveList'),
-  vipNewActive: () => import('@/views/categroyManager/vipNewActive'),
-  vipParameterManager: () => import('@/views/categroyManager/generalSettings/vipParameterManager'),
-  globalConfig: () => import('@/views/categroyManager/globalConfig'),
+  typesManager: () =>
+    import("@/views/categroyManager/specialSetup/typesManager"),
+  tryClass: () => import("@/views/categroyManager/specialSetup/tryClass"),
+  activityManager: () =>
+    import("@/views/categroyManager/specialSetup/activityManager"),
+  tempalteManager: () =>
+    import("@/views/categroyManager/specialSetup/tempalteManager"),
+  bannerManager: () =>
+    import("@/views/categroyManager/specialSetup/bannerManager"),
+  holidayManager: () =>
+    import("@/views/categroyManager/specialSetup/holidayManager"),
+  branchSetting: () =>
+    import("@/views/categroyManager/specialSetup/branchSetting"),
+  jobTemplateSetting: () =>
+    import("@/views/categroyManager/specialSetup/jobTemplateSetting"),
+  generalSettings: () =>
+    import("@/views/categroyManager/generalSettings/index"),
+  siginManager: () =>
+    import("@/views/categroyManager/generalSettings/siginManager"),
+  leaveManager: () =>
+    import("@/views/categroyManager/generalSettings/leaveManager"),
+  cycleManager: () =>
+    import("@/views/categroyManager/generalSettings/cycleManager"),
+  overallManager: () =>
+    import("@/views/categroyManager/generalSettings/overallManager"),
+  payManager: () =>
+    import("@/views/categroyManager/generalSettings/payManager"),
+  insideSetting: () => import("@/views/categroyManager/insideSetting/index"),
+  adminManager: () =>
+    import("@/views/categroyManager/insideSetting/adminManager"),
+  adminOperation: () =>
+    import("@/views/categroyManager/insideSetting/adminOperation"),
+  staffManager: () =>
+    import("@/views/categroyManager/insideSetting/staffManager"),
+  branchManager: () =>
+    import("@/views/categroyManager/insideSetting/branchManager"),
+  addressManager: () =>
+    import("@/views/categroyManager/insideSetting/addressManager"),
+  branchActive: () =>
+    import("@/views/categroyManager/insideSetting/branchActive"),
+  branchActiveOperation: () =>
+    import("@/views/categroyManager/insideSetting/branchActiveOperation"),
+  vipChargeSeting: () => import("@/views/categroyManager/vipChargeSeting"),
+  vipActiveList: () => import("@/views/categroyManager/vipActiveList"),
+  vipNewActive: () => import("@/views/categroyManager/vipNewActive"),
+  vipParameterManager: () =>
+    import("@/views/categroyManager/generalSettings/vipParameterManager"),
+  globalConfig: () => import("@/views/categroyManager/globalConfig"),
   // 全局声部设置
-  globalSubjects: () => import('@/views/categroyManager/globalSubjects'),
+  globalSubjects: () => import("@/views/categroyManager/globalSubjects"),
   // 全局乐团设置
-  globalMusicGroup: () => import('@/views/categroyManager/globalMusicGroup'),
+  globalMusicGroup: () => import("@/views/categroyManager/globalMusicGroup"),
   // 全局产品设置
-  productSystem: () => import('@/views/categroyManager/productSystem'),
-  memberFeeSet: () => import('@/views/categroyManager/productSystem/memberFeeSet'),
-  memberSet: () => import('@/views/categroyManager/productSystem/memberSet'),
+  productSystem: () => import("@/views/categroyManager/productSystem"),
+  memberFeeSet: () =>
+    import("@/views/categroyManager/productSystem/memberFeeSet"),
+  memberSet: () => import("@/views/categroyManager/productSystem/memberSet"),
   // 侧边栏管理
-  setSilder: () => import('@/views/setSilder/addSilder'),
+  setSilder: () => import("@/views/setSilder/addSilder"),
   // 乐团老师点名记录
-  teamTeacherRecord: () => import('@/views/teamDetail/components/teamTeacherRecord'),
+  teamTeacherRecord: () =>
+    import("@/views/teamDetail/components/teamTeacherRecord"),
   // 乐团筹备中 报名中
-  signupList: () => import('@/views/teamBuild/signupList'),
-  remedy: () => import('@/views/teamBuild/signupList'),
+  signupList: () => import("@/views/teamBuild/signupList"),
+  remedy: () => import("@/views/teamBuild/signupList"),
   // 乐团筹备设置 (班级 老师 小课)
-  teamSeting: () => import('@/views/teamBuild/teamSeting/'),
+  teamSeting: () => import("@/views/teamBuild/teamSeting/"),
   //乐团详情
-  teamDetails: () => import('@/views/teamDetail'),
+  teamDetails: () => import("@/views/teamDetail"),
   // 乐团课表详情
-  teamDetailCourse: () => import('@/views/teamDetail/indexCourse'),
+  teamDetailCourse: () => import("@/views/teamDetail/indexCourse"),
   // 学生点名总汇
-  studentSignin: () => import('@/views/teamDetail/components/studentSignin'),
+  studentSignin: () => import("@/views/teamDetail/components/studentSignin"),
   // 班级调整
-  resetClass: () => import('@/views/teamDetail/components/resetClass'),
+  resetClass: () => import("@/views/teamDetail/components/resetClass"),
   // 发放清单
-  teamDetailedList: () => import('@/views/teamDetail/teamDetailedList'),
+  teamDetailedList: () => import("@/views/teamDetail/teamDetailedList"),
   // 基础技能班设置
-  setImprovement: () => import('@/views/teamBuild/teamSeting/components/setImprovement'),
+  setImprovement: () =>
+    import("@/views/teamBuild/teamSeting/components/setImprovement"),
   // 乐团修改 @/views/resetTeaming/index
-  resetTeaming: () => import('@/views/resetTeaming/index'),
+  resetTeaming: () => import("@/views/resetTeaming/index"),
   // 乐团课排课
-  coursePlan: () => import('@/views/teamBuild/teamSeting/components/coursePlan'),
+  coursePlan: () =>
+    import("@/views/teamBuild/teamSeting/components/coursePlan"),
   // 收费分润管理
-  chargeProfitManager: () => import('../views/categroyManager/insideSetting/chargeProfitManager'),
+  chargeProfitManager: () =>
+    import("../views/categroyManager/insideSetting/chargeProfitManager"),
   // 收费管理
-  chargeManager: () => import('../views/chargeManager/index'),
+  chargeManager: () => import("../views/chargeManager/index"),
   // 零星管理
-  sporadicManager: () => import('@/views/sporadicManager/sporadicList'),
+  sporadicManager: () => import("@/views/sporadicManager/sporadicList"),
   // 课表列表
-  teamCourseList: () => import('@/views/teamDetail/teamCourseList'),
+  teamCourseList: () => import("@/views/teamDetail/teamCourseList"),
   // 运营预警
-  operationalList: () => import('@/views/operationalEarly/operationalList'),
+  operationalList: () => import("@/views/operationalEarly/operationalList"),
   // 网管课列表
-  accompanyList: () => import('@/views/accompanyManager/accompanyList'),
+  accompanyList: () => import("@/views/accompanyManager/accompanyList"),
   // 网管课详情
-  accompanys: () => import('@/views/accompanyManager/accompanys'),
-  accompany: () => import('@/views/accompanyManager'),
+  accompanys: () => import("@/views/accompanyManager/accompanys"),
+  accompany: () => import("@/views/accompanyManager"),
   // 网管课购买
-  accompanyBuys: () => import('@/views/accompanyManager/accompanyBuys'),
+  accompanyBuys: () => import("@/views/accompanyManager/accompanyBuys"),
   // 版本控制
-  editionList: () => import('@/views/editionManager/editionList'),
+  editionList: () => import("@/views/editionManager/editionList"),
   // 定时任务
-  timedTask: () => import('@/views/timedTask/index'),
+  timedTask: () => import("@/views/timedTask/index"),
   // 月报
-  evaluateList: () => import('@/views/evaluateManager/evaluateList'),
+  evaluateList: () => import("@/views/evaluateManager/evaluateList"),
   // 月报详情
-  evaluateDetail: () => import('@/views/evaluateManager/evaluateDetail'),
+  evaluateDetail: () => import("@/views/evaluateManager/evaluateDetail"),
   // 评价管理
-  commentManager: () => import('@/views/evaluateManager'),
+  commentManager: () => import("@/views/evaluateManager"),
   // 网管课评价
-  networkList: () => import('@/views/evaluateManager/networkList'),
+  networkList: () => import("@/views/evaluateManager/networkList"),
   // 时间充值活动
-  entryActivities: () => import('@/views/app/entryActivities'),
+  entryActivities: () => import("@/views/app/entryActivities"),
   // 添加或修改
-  entryOperation: () => import('@/views/app/entryOperation'),
+  entryOperation: () => import("@/views/app/entryOperation"),
   // 意见反馈
-  suggestion: () => import('@/views/app/suggestion'),
+  suggestion: () => import("@/views/app/suggestion"),
   // 云教练意见反馈
-  clouldSuggestion: () => import('@/views/app/clouldSuggestion'),
+  clouldSuggestion: () => import("@/views/app/clouldSuggestion"),
   // 帮助分类
-  helpCategory: () => import('@/views/helpCenter/helpCategory'),
+  helpCategory: () => import("@/views/helpCenter/helpCategory"),
   // 帮助内容
-  helpContent: () => import('@/views/helpCenter/helpContent'),
+  helpContent: () => import("@/views/helpCenter/helpContent"),
   // 对外订单
-  incomeOut: () => import('@/views/businessManager/orderManager/incomeOut'),
+  incomeOut: () => import("@/views/businessManager/orderManager/incomeOut"),
   // // 课外训练
   // afterSchoolList:()=>import('@/views/afterSchoolManager/afterSchoolList'),
   // // 课外训练
   // afterWorkList:()=>import('@/views/afterSchoolManager/afterWorkList'),
   // 课外管理
-  afterSchoolManager: () => import('@/views/afterSchoolManager'),
-  afterSchoolDetail: () => import('@/views/afterSchoolManager/afterSchoolDetail'),
+  afterSchoolManager: () => import("@/views/afterSchoolManager"),
+  afterSchoolDetail: () =>
+    import("@/views/afterSchoolManager/afterSchoolDetail"),
   // 运营管理 学员列表
-  operateStudent: () => import('@/views/operateManager/operateStudent'),
+  operateStudent: () => import("@/views/operateManager/operateStudent"),
   // 运营管理 结转奖励
-  settlementList: () => import('@/views/settlementManager/settlementList'),
+  settlementList: () => import("@/views/settlementManager/settlementList"),
   // 运营管理 服务指标
-  serverIndexList: () => import('@/views/operateManager/serverIndexList'),
+  serverIndexList: () => import("@/views/operateManager/serverIndexList"),
   // 运营管理 服务指标详情
-  serverIndexDetail: () => import('@/views/operateManager/serverIndexDetail'),
+  serverIndexDetail: () => import("@/views/operateManager/serverIndexDetail"),
   // 维修单列表
-  repairList: () => import('@/views/repairManager/repairList'),
+  repairList: () => import("@/views/repairManager/repairList"),
   // 乐团缴费详情
-  strudentPayInfo: () => import('@/views/resetTeaming/components/strudentPayInfo'),
+  strudentPayInfo: () =>
+    import("@/views/resetTeaming/components/strudentPayInfo"),
   // 学生缴费金额设置
-  studentPayBase: () => import('@/views/resetTeaming/components/studentPayBase'),
+  studentPayBase: () =>
+    import("@/views/resetTeaming/components/studentPayBase"),
   // 考情列表
-  recodeList: () => import('@/views/recodeManager/recodeList'),
+  recodeList: () => import("@/views/recodeManager/recodeList"),
   // 考级报名列表
-  levelManager: () => import('@/views/levelManager/levelManager'),
+  levelManager: () => import("@/views/levelManager/levelManager"),
   // 汇会账号管理
-  adapayManager: () => import('@/views/adapayAccount/index'),
-  adapayOperation: () => import('@/views/adapayAccount/form'),
+  adapayManager: () => import("@/views/adapayAccount/index"),
+  adapayOperation: () => import("@/views/adapayAccount/form"),
   // 日历课表
-  calendarList: () => import('@/views/teacherManager/teacherDetail/components/calendarList'),
-  returnVisitList: () => import('@/views/returnVisitManager/index'),
+  calendarList: () =>
+    import("@/views/teacherManager/teacherDetail/components/calendarList"),
+  returnVisitList: () => import("@/views/returnVisitManager/index"),
   // 经营报表
-  businessStatement: () => import('@/views/businessManager/orderManager/businessStatement'),
+  businessStatement: () =>
+    import("@/views/businessManager/orderManager/businessStatement"),
   //经营详情
-  businessStatementDetail: () => import('@/views/businessManager/orderManager/businessStatementDetail'),
+  businessStatementDetail: () =>
+    import("@/views/businessManager/orderManager/businessStatementDetail"),
   // 支出记录
-  payRecord: () => import('@/views/businessManager/orderManager/payRecord'),
+  payRecord: () => import("@/views/businessManager/orderManager/payRecord"),
   // 销售列表
-  salesList: () => import('@/views/businessManager/orderManager/salesList'),
+  salesList: () => import("@/views/businessManager/orderManager/salesList"),
   // 人力资源
-  HumanResources: () => import('@/views/HumanResources'),
+  HumanResources: () => import("@/views/HumanResources"),
   // 查看乐团基本信息
-  teamLookBase: () => import('@/views/teamDetail/teamInfo'),
+  teamLookBase: () => import("@/views/teamDetail/teamInfo"),
   // 更换列表
-  resetList: () => import('@/views/businessManager/resetList'),
+  resetList: () => import("@/views/businessManager/resetList"),
   // 进货清单
-  purchaseLlist: () => import('@/views/businessManager/shopManager/purchase-llist'),
+  purchaseLlist: () =>
+    import("@/views/businessManager/shopManager/purchase-llist"),
   // 抽奖活动管理
-  lotteryManager: () => import('@/views/luckyDraw/lotteryManager'),
+  lotteryManager: () => import("@/views/luckyDraw/lotteryManager"),
   // 活动奖品设置
-  trophyManager: () => import('@/views/luckyDraw/trophyManager'),
+  trophyManager: () => import("@/views/luckyDraw/trophyManager"),
   // 抽奖记录
-  lotteryRecord: () => import('@/views/luckyDraw/lotteryRecord'),
+  lotteryRecord: () => import("@/views/luckyDraw/lotteryRecord"),
   // 审核列表
-  auditList: () => import('@/views/auditList/index'),
+  auditList: () => import("@/views/auditList/index"),
   // 订单审核
-  orderAudit: () => import('@/views/businessManager/orderManager/orderAudit'),
-  orderAuditTaoqi: () => import('@/views/businessManager/orderManager/orderAudit-taoqi'),
+  orderAudit: () => import("@/views/businessManager/orderManager/orderAudit"),
+  orderAuditTaoqi: () =>
+    import("@/views/businessManager/orderManager/orderAudit-taoqi"),
   // 长三角比赛
-  matchManager: () => import('@/views/matchManager/index'),
+  matchManager: () => import("@/views/matchManager/index"),
   // 考勤列表
-  attendanceList: () => import('@/views/attendanceManager/attendanceList'),
+  attendanceList: () => import("@/views/attendanceManager/attendanceList"),
   // 学生考情列表
-  stuRecodeManager: () => import('@/views/stuRecodeManager'),
+  stuRecodeManager: () => import("@/views/stuRecodeManager"),
   // 乐团班级列表
-  teamCLassList: () => import('@/views/teamDetail/teamClassList'),
+  teamCLassList: () => import("@/views/teamDetail/teamClassList"),
   // 乐团巡查
-  musicInspection: () => import('@/views/musicInspection/index'),
+  musicInspection: () => import("@/views/musicInspection/index"),
   // 乐团主管日程详情
-  scheduleDetail: () => import('@/views/main/teamSchedule/scheduleDetail'),
+  scheduleDetail: () => import("@/views/main/teamSchedule/scheduleDetail"),
   // 乐团班级列表
-  WithdrawalApplication: () => import('@/views/withdrawal-application'),
+  WithdrawalApplication: () => import("@/views/withdrawal-application"),
   // 欠费学员列表
-  ArrearageStudents: () => import('@/views/arrearage-students'),
+  ArrearageStudents: () => import("@/views/arrearage-students"),
   // 课程组管理
-  courseListManager: () => import('@/views/courseListManager'),
+  courseListManager: () => import("@/views/courseListManager"),
   // 班级管理
-  classManager: () => import('@/views/courseListManager'),
+  classManager: () => import("@/views/courseListManager"),
   // 课程管理
-  courseManager: () => import('@/views/courseListManager'),
+  courseManager: () => import("@/views/courseListManager"),
   // 训练管理
-  workManager: () => import('@/views/courseListManager'),
+  workManager: () => import("@/views/courseListManager"),
   // 老师管理
-  teacherManager: () => import('@/views/courseListManager'),
+  teacherManager: () => import("@/views/courseListManager"),
   // 学生管理
-  studentManager: () => import('@/views/courseListManager'),
+  studentManager: () => import("@/views/courseListManager"),
   // 订单管理
-  orderManager: () => import('@/views/courseListManager'),
+  orderManager: () => import("@/views/courseListManager"),
   // 财务录入
-  financeIn: () => import('@/views/courseListManager'),
+  financeIn: () => import("@/views/courseListManager"),
   // vip参数设置
-  vipSet: () => import('@/views/courseListManager'),
+  vipSet: () => import("@/views/courseListManager"),
   // 基本信息配置
-  sysBasics: () => import('@/views/courseListManager'),
+  sysBasics: () => import("@/views/courseListManager"),
   // 参数设置
-  parameter: () => import('@/views/courseListManager'),
+  parameter: () => import("@/views/courseListManager"),
   // 抽奖活动
-  luckyDraw: () => import('@/views/courseListManager'),
+  luckyDraw: () => import("@/views/courseListManager"),
   // 乐团管理
-  teamMananger: () => import('@/views/courseListManager'),
+  teamMananger: () => import("@/views/courseListManager"),
   // vip管理
-  vipManager: () => import('@/views/courseListManager'),
+  vipManager: () => import("@/views/courseListManager"),
   // 网管课管理
-  accompanyManager: () => import('@/views/courseListManager'),
+  accompanyManager: () => import("@/views/courseListManager"),
   // 乐团管理
   // 评论管理
-  commentManagerWrap: () => import('@/views/courseListManager'),
+  commentManagerWrap: () => import("@/views/courseListManager"),
   // 课外训练
-  afterSchoolManagerWrap: () => import('@/views/courseListManager'),
+  afterSchoolManagerWrap: () => import("@/views/courseListManager"),
   //
-  serverIndexManager: () => import('@/views/courseListManager'),
-  reportFormCenter: () => import('@/views/courseListManager'),
+  serverIndexManager: () => import("@/views/courseListManager"),
+  reportFormCenter: () => import("@/views/courseListManager"),
   // 乐器维护
-  musicalManager: () => import('@/views/musicalManager'),
+  musicalManager: () => import("@/views/musicalManager"),
   // 服务指标明细
-  branchActiveManager: () => import('@/views/courseListManager'),
+  branchActiveManager: () => import("@/views/courseListManager"),
   // vip活动管理
-  vipActiveManager: () => import('@/views/courseListManager'),
+  vipActiveManager: () => import("@/views/courseListManager"),
   // 乐团缴费
-  teamPayInfo: () => import('@/views/courseListManager'),
-  serverDetail: () => import('@/views/serverDetail'),
+  teamPayInfo: () => import("@/views/courseListManager"),
+  serverDetail: () => import("@/views/serverDetail"),
   // 未在班级学员
-  notClassStudent: () => import('@/views/main/notClassStudent'),
+  notClassStudent: () => import("@/views/main/notClassStudent"),
   // 报表中心 下载列表
-  downList: () => import('@/views/reportForm/downList'),
+  downList: () => import("@/views/reportForm/downList"),
   // 乐器置换
-  reaplceMusicPlayer: () => import('@/views/reaplceMusicPlayer'),
-  answerList: () => import('@/views/reaplceMusicPlayer/answerList'),
+  reaplceMusicPlayer: () => import("@/views/reaplceMusicPlayer"),
+  answerList: () => import("@/views/reaplceMusicPlayer/answerList"),
   // 问卷管理
-  setQuestions: () => import('@/views/setQuestions'),
-  questionOperation: () => import('@/views/setQuestions/operation'),
+  setQuestions: () => import("@/views/setQuestions"),
+  questionOperation: () => import("@/views/setQuestions/operation"),
   // 21暑期考级
-  childrensDay: () => import('@/views/childrensDay'),
+  childrensDay: () => import("@/views/childrensDay"),
   // 考级详情
-  childrensdayDetail: () => import('@/views/childrensDay/detail'),
+  childrensdayDetail: () => import("@/views/childrensDay/detail"),
   // 异常数据
-  indexErrDataRecord: () => import('@/views/indexErrDataRecord'),
-  dictionaryManager: () => import('@/views/dictionaryManager'),
+  indexErrDataRecord: () => import("@/views/indexErrDataRecord"),
+  dictionaryManager: () => import("@/views/dictionaryManager"),
   // 会员排课列表
-  memberClassList: () => import('@/views/teamDetail/components/memberClassList'),
+  memberClassList: () =>
+    import("@/views/teamDetail/components/memberClassList"),
   // 设备号管理
-  deviceNum: () => import('@/views/deviceNumManager'),
+  deviceNum: () => import("@/views/deviceNumManager"),
   // 乐团会员列表
-  teamMemberList: () => import('@/views/studentManager/memberList'),
+  teamMemberList: () => import("@/views/studentManager/memberList"),
   //2021十一活动
-  memeberActionManager: () => import('@/views/2021memeberActionManager'),
+  memeberActionManager: () => import("@/views/2021memeberActionManager"),
   // 优惠券管理
-  couponManager: () => import('@/views/couponManager'),
+  couponManager: () => import("@/views/couponManager"),
   // 优惠券明细
-  couponDetail: () => import('@/views/couponManager/couponDetail'),
+  couponDetail: () => import("@/views/couponManager/couponDetail"),
   // 优惠券明细
-  activeMarketing: () => import('@/views/activityScheduling/activeMarketing'),
+  activeMarketing: () => import("@/views/activityScheduling/activeMarketing"),
   // 2021双11
-  '2021double11List': () => import('@/views/activityScheduling/2021double11List'),
+  "2021double11List": () =>
+    import("@/views/activityScheduling/2021double11List"),
   // 活动资格管理
-  activeSenior: () => import('@/views/categroyManager/activeSenior'),
-  backManager: () => import('@/views/backManager'),
+  activeSenior: () => import("@/views/categroyManager/activeSenior"),
+  backManager: () => import("@/views/backManager"),
   // 教材列表
-  teachManager: () => import('@/views/teachManager'),
+  teachManager: () => import("@/views/teachManager"),
   // 教材分类
-  teachClass: () => import('@/views/teachManager/teachClass'),
+  teachClass: () => import("@/views/teachManager/teachClass"),
   // 课程规则设置
-  courseRulersManager: () => import('@/views/courseRulersManager'),
+  courseRulersManager: () => import("@/views/courseRulersManager"),
   // 基础规则设置
-  baseRulesManager: () => import('@/views/baseRulesManager'),
+  baseRulesManager: () => import("@/views/baseRulesManager"),
   // 课程参数设置
-  baseRulesClassSetting: () => import('@/views/baseRulesClassSetting'),
+  baseRulesClassSetting: () => import("@/views/baseRulesClassSetting"),
   // 产品管理
-  productManager: () => import('@/views/platformManager/productManger'),
+  productManager: () => import("@/views/platformManager/productManger"),
   // 服务管理
   // 基本信息配置
-  serviceManager: () => import('@/views/courseListManager'),
-  serviceList: () => import('@/views/platformManager/serviceManager/index'),
-  serviceOperation: () => import('@/views/platformManager/serviceManager/form'),
-   // 机构申请
-   tenantApply: () => import('@/views/platformManager/tenantApply'),
+  serviceManager: () => import("@/views/courseListManager"),
+  serviceList: () => import("@/views/platformManager/serviceManager/index"),
+  serviceOperation: () => import("@/views/platformManager/serviceManager/form"),
+  // 机构申请
+  tenantApply: () => import("@/views/platformManager/tenantApply"),
   // 云教练流量包
-  cloudTrafficPackage: () => import('@/views/platformManager/cloudTrafficPackage'),
-  accompanyBaseConfig: () => import('@/views/categroyManager/accompanyBaseConfig'),
+  cloudTrafficPackage: () =>
+    import("@/views/platformManager/cloudTrafficPackage"),
+  accompanyBaseConfig: () =>
+    import("@/views/categroyManager/accompanyBaseConfig"),
   // 网管课价格配置
-  accompanyFeeConfig: () => import('@/views/categroyManager/accompanyFeeConfig'),  // 机构列表
-  organList: () => import('@/views/organManager'),
-  organOperation: () => import('@/views/organManager/organOperation'),
+  accompanyFeeConfig: () =>
+    import("@/views/categroyManager/accompanyFeeConfig"), // 机构列表
+  organList: () => import("@/views/organManager"),
+  organOperation: () => import("@/views/organManager/organOperation"),
   // 课酬预警
-  earlyWarning: () => import('@/views/categroyManager/generalSettings/earlyWarning'),
-  holidaySetting: () => import('@/views/categroyManager/generalSettings/holidaySetting'),
+  earlyWarning: () =>
+    import("@/views/categroyManager/generalSettings/earlyWarning"),
+  holidaySetting: () =>
+    import("@/views/categroyManager/generalSettings/holidaySetting"),
   // 平台课程默认值
-  platformCourseDeault:()=>import('@/views/platformManager/platformCourseDeault'),
+  platformCourseDeault: () =>
+    import("@/views/platformManager/platformCourseDeault"),
   // 特殊参数默认值
-  specialDeault:() => import('@/views/baseRulesManager/special.vue'),
+  specialDeault: () => import("@/views/baseRulesManager/special.vue"),
   // 机构设置
-  tenantInfoSetting:() => import('@/views/tenantSetting/tenantInfo.vue'),
+  tenantInfoSetting: () => import("@/views/tenantSetting/tenantInfo.vue"),
   // 机构协议管理
-  tenantInfoProtocol:() => import('@/views/tenantSetting/tenantInfoProtocol.vue'),
+  tenantInfoProtocol: () =>
+    import("@/views/tenantSetting/tenantInfoProtocol.vue"),
   // 机构交易管理
-  tenantTradeManager:() => import('@/views/tenantSetting/tenantTradeManager.vue'),
+  tenantTradeManager: () =>
+    import("@/views/tenantSetting/tenantTradeManager.vue"),
   // 云教练激活记录
-  groupRecordManager:() => import('@/views/tenantSetting/groupRecordManager.vue'),
+  groupRecordManager: () =>
+    import("@/views/tenantSetting/groupRecordManager.vue"),
   // 扣费记录
-  chargingRecord:() => import('@/views/tenantSetting/chargingRecord.vue'),
+  chargingRecord: () => import("@/views/tenantSetting/chargingRecord.vue"),
   // 操作手册管理
-  operationManual:() => import('@/views/operationManual'),
+  operationManual: () => import("@/views/operationManual"),
   // 产品服务
-  productService: () => import('@/views/productService'),
+  productService: () => import("@/views/productService"),
   // 声部分类列表
-  subjectCategroyList:() => import('@/views/categroyManager/subjectCategroyList'),
+  subjectCategroyList: () =>
+    import("@/views/categroyManager/subjectCategroyList"),
   // oa信息管理
-  OAMananger:() => import('@/views/OAMananger'),
+  OAMananger: () => import("@/views/OAMananger"),
   // 平台员工管理
-  staffPlatManager: () => import('@/views/categroyManager/insideSetting/staffPlatManager'),
+  staffPlatManager: () =>
+    import("@/views/categroyManager/insideSetting/staffPlatManager"),
   //邮件配置服务
-  mailInfoManager:()=>import('@/views/mailInfoManager'),
+  mailInfoManager: () => import("@/views/mailInfoManager"),
   // 机构协议管理
-  protocolManagement:()=>import('@/views/protocolManagement'),
+  protocolManagement: () => import("@/views/protocolManagement"),
   //
-  studentGroupPractice:()=>import('@/views/studentManager/studentGroupPractice'),
+  studentGroupPractice: () =>
+    import("@/views/studentManager/studentGroupPractice"),
   // 云教练缴费记录
-  studentGroupRecord:()=>import('@/views/studentManager/studentGroupRecord'),
+  studentGroupRecord: () => import("@/views/studentManager/studentGroupRecord"),
   // 直播课管理
-  liveClassManager:()=>import('@/views/liveClassManager'),
+  liveClassManager: () => import("@/views/liveClassManager"),
   // 新建直播课
-  createLiveClass:()=>import('@/views/liveClassManager/newLiveClass'),
+  createLiveClass: () => import("@/views/liveClassManager/newLiveClass"),
   // 直播课详情
-  liveClassDetail:()=>import('@/views/liveClassManager/liveClassDetail'),
+  liveClassDetail: () => import("@/views/liveClassManager/liveClassDetail"),
   // 平台员工管理
-  platformAdminManger:()=>import('@/views/platformManager/paltformAdmin'),
+  platformAdminManger: () => import("@/views/platformManager/paltformAdmin"),
   // 小课学员管理
-  smallStudentManager:()=>import('@/views/smallStudentManager'),
+  smallStudentManager: () => import("@/views/smallStudentManager"),
   // 代理商管理
-  agentList:()=>import('@/views/agentManager/agentList'),
+  agentList: () => import("@/views/agentManager/agentList"),
   // 云教练分润
-  memberShareList:()=>import('@/views/agentManager/memberShareList'),
+  memberShareList: () => import("@/views/agentManager/memberShareList"),
   // 群组管理
-  groupChatManager:()=>import('@/views/groupChatManager'),
+  groupChatManager: () => import("@/views/groupChatManager"),
   // 群聊公告
-  sysGroupCat:()=>import('@/views/groupChatManager/sysGroupCat'),
+  sysGroupCat: () => import("@/views/groupChatManager/sysGroupCat"),
   // 小小艺术家训练营
-  littleArtistCamp:()=>import('@/views/littleArtistCamp'),
-  liveShopManger:()=>import('@/views/liveShopManger'),
+  littleArtistCamp: () => import("@/views/littleArtistCamp"),
+  liveShopManger: () => import("@/views/liveShopManger"),
   // 学员乐保
-  studentLebaoManager:()=>import('@/views/studentLebaoManager'),
-}
+  studentLebaoManager: () => import("@/views/studentLebaoManager"),
+  // 排课资格
+  courseCredentials: () => import("@/views/courseCredentials")
+};
 
-export default router
+export default router;

+ 127 - 126
src/router/notKeepAliveList.js

@@ -1,129 +1,130 @@
 export default [
-  '/setSilder/save-form',
-  '/contentManager/accompaniment', // 教学伴奏
-  '/orderList/orderAudit', // 订单管理 订单审核
-  '/business/teamCourseList', // 课表列表
-  '/business/auditList', // 费用审核列表
-  '/business/forecastName', // 预报名
-  '/orderList/financeManager', // 财务管理
-  '/vipClassSet/vipParameterManager', // VIP参数设置
-  '/vipClassSet/branchActive', // VIP分部活动列表
-  '/vipClassSet/branchActiveOperation', // VIP分部活动修改
-  '/vipClassSet/vipChargeSeting', // VIP课程收费设置
-  '/vipClassSet/vipActiveList', // VIP活动方案
-  '/vipClassSet/vipNewActive', // VIP活动方案修改
-  '/workbench', // 首页
-  '/main/notClassStudent', // 未在班级学员
-  '/journal/journal', // 系统日志
-  '/business/accompany', // 网管课管理
-  '/business/accompanys', // 网管课详情
-  '/journal/classFeesIsOk', // 课酬列表
-  '/journal/requestProcessing', // 课酬申述
-  '/journal/payAppeal', // 考勤申诉
-  '/teamList', // 乐团列表
-  '/business/vipList', // vip列表
-  '/business/teacherList', // 老师列表
-  '/business/studentList', // 学员管理
-  '/business/studentDetail', // 学员管理详情
+  "/setSilder/save-form",
+  "/contentManager/accompaniment", // 教学伴奏
+  "/orderList/orderAudit", // 订单管理 订单审核
+  "/business/teamCourseList", // 课表列表
+  "/business/auditList", // 费用审核列表
+  "/business/forecastName", // 预报名
+  "/orderList/financeManager", // 财务管理
+  "/vipClassSet/vipParameterManager", // VIP参数设置
+  "/vipClassSet/branchActive", // VIP分部活动列表
+  "/vipClassSet/branchActiveOperation", // VIP分部活动修改
+  "/vipClassSet/vipChargeSeting", // VIP课程收费设置
+  "/vipClassSet/vipActiveList", // VIP活动方案
+  "/vipClassSet/vipNewActive", // VIP活动方案修改
+  "/workbench", // 首页
+  "/main/notClassStudent", // 未在班级学员
+  "/journal/journal", // 系统日志
+  "/business/accompany", // 网管课管理
+  "/business/accompanys", // 网管课详情
+  "/journal/classFeesIsOk", // 课酬列表
+  "/journal/requestProcessing", // 课酬申述
+  "/journal/payAppeal", // 考勤申诉
+  "/teamList", // 乐团列表
+  "/business/vipList", // vip列表
+  "/business/teacherList", // 老师列表
+  "/business/studentList", // 学员管理
+  "/business/studentDetail", // 学员管理详情
   // '/operateManager/HumanResources'
-  '/business/attendanceList',
-  '/userManager/studentManager/returnVisitList', // 回访记录
-  '/business/levelManager',
-  '/matchManager/matchManager',
-  '/luckyDraw/lotteryManager', // 抽奖活动管理
-  '/luckyDraw/trophyManager', // 奖品设置
-  '/luckyDraw/lotteryRecord', // 抽奖记录
-  '/specialSetup/globalConfig', // 全局配置
-  '/specialSetup/globalMusicGroup',
-  '/specialSetup/globalSubjects',
-  '/specialSetup/adminManager', // 系统角色权限管理
-  '/specialSetup/adminoperation',
-  '/reportForm/index', // 报表中心
-  '/business/repairList', // 维修单列表
-  '/business/afterSchoolManager', // 课外训练
-  '/business/afterSchoolDetail', // 课外训练详情
-  '/insideSetting/staffManager', // 员工管理
-  '/insideSetting/branchManager', // 合作单位
-  '/insideSetting/addressManager', // 教学点管理
-  '/insideSetting/branchSetting', // 分部设置
-  '/insideSetting/chargeManager', // 收费管理
-  '/insideSetting/editionList', // 版本控制
-  '/insideSetting/adapayManager', // 汇仁账号管理
-  '/insideSetting/adapayOperation', //
-  '/operateManager/stuRecodeManager',// 学生考勤
-  '/operateManager/operateStudent', // 运营指标
-  '/operateManager/serverIndexList', // 服务指标
-  '/operateManager/settlementList', // 结转奖励
-  '/insideSetting/entryActivities', // 时间充值活动
-  '/insideSetting/entryOperation',
-  '/insideSetting/helpContent', // 帮助中心
-  '/insideSetting/helpCategory', // 帮助中心分类
-  '/shopManager/shopManager', // 商品管理
-  '/shopManager/shopOperation', // 商品详情
-  '/shopManager/purchaseLlist', // 进货清单
-  '/shopManager/shopCategory',
-  '/operateManager/operationalList', // 运营预警
-  '/operateManager/sporadicManager', //零星收费
-  '/operateManager/recodeList', // 老师考勤列表
-  '/operateManager/HumanResources', //人力资源表
-  '/operateManager/commentManager', // 评论管理
-  '/orderList/income', // 订单管理
-  '/orderList/backOrder', // 退费管理
-  '/orderList/expend', // 提现列表
-  '/orderList/salesList', // 销售列表
-  '/orderList/payRecord', // 支出记录
-  '/orderList/businessStatement', // 经营报表
-  '/business/buildVip', // 新建vip
-  '/orderList/resetList', // 更换列表
-  '/orderList/incomeOut', // 对外订单管理
-  '/business/signupList', // 报名缴费
-  '/teamLists', //进行中 查看
-  '/business/teamTeacherRecord', // 进行中 查看 上课记录
-  '/business/teamLookBase', // 筹备中 乐团信息
-  '/business/vipReset', // vip修改
-  '/business/vipDetail', // vip查看
-  '/contentManager/contentManager', // 内容管理
-  '/contentManager/contentOperation', // 内容编辑
-  '/business/teamCLassList', // 班级列表
-  '/business/musicInspection', // 乐团巡查
-  '/main/scheduleDetail',
-  '/business/WithdrawalApplication', // 退团申请
-  '/business/teacherDetail',
-  '/arrearage-students',
-  '/business/strudentPayInfo',
-  '/timedTask/timedTask',
-  '/business/musicalManager', // 乐器维护
-  '/business/createPayment',
-  '/business/teamDraft',
-  '/business/teamAudit',
-  '/business/auditFailed',
-  '/business/resetTeaming', // 进行中修改
-  '/business/teacherOperationUpdate',
-  '/business/ArrearageStudents',
-  '/operateManager/serverDetail', // 服务指标明细
-  '/business/remedy', //
-  '/setSilder/setSilder',
-  '/downList', //下载列表
-  '/business/reaplceMusicPlayer', // 乐器置换
-  '/operateManager/userAskList',
+  "/business/attendanceList",
+  "/userManager/studentManager/returnVisitList", // 回访记录
+  "/business/levelManager",
+  "/matchManager/matchManager",
+  "/luckyDraw/lotteryManager", // 抽奖活动管理
+  "/luckyDraw/trophyManager", // 奖品设置
+  "/luckyDraw/lotteryRecord", // 抽奖记录
+  "/specialSetup/globalConfig", // 全局配置
+  "/specialSetup/globalMusicGroup",
+  "/specialSetup/globalSubjects",
+  "/specialSetup/adminManager", // 系统角色权限管理
+  "/specialSetup/adminoperation",
+  "/reportForm/index", // 报表中心
+  "/business/repairList", // 维修单列表
+  "/business/afterSchoolManager", // 课外训练
+  "/business/afterSchoolDetail", // 课外训练详情
+  "/insideSetting/staffManager", // 员工管理
+  "/insideSetting/branchManager", // 合作单位
+  "/insideSetting/addressManager", // 教学点管理
+  "/insideSetting/branchSetting", // 分部设置
+  "/insideSetting/chargeManager", // 收费管理
+  "/insideSetting/editionList", // 版本控制
+  "/insideSetting/adapayManager", // 汇仁账号管理
+  "/insideSetting/adapayOperation", //
+  "/operateManager/stuRecodeManager", // 学生考勤
+  "/operateManager/operateStudent", // 运营指标
+  "/operateManager/serverIndexList", // 服务指标
+  "/operateManager/settlementList", // 结转奖励
+  "/insideSetting/entryActivities", // 时间充值活动
+  "/insideSetting/entryOperation",
+  "/insideSetting/helpContent", // 帮助中心
+  "/insideSetting/helpCategory", // 帮助中心分类
+  "/shopManager/shopManager", // 商品管理
+  "/shopManager/shopOperation", // 商品详情
+  "/shopManager/purchaseLlist", // 进货清单
+  "/shopManager/shopCategory",
+  "/operateManager/operationalList", // 运营预警
+  "/operateManager/sporadicManager", //零星收费
+  "/operateManager/recodeList", // 老师考勤列表
+  "/operateManager/HumanResources", //人力资源表
+  "/operateManager/commentManager", // 评论管理
+  "/orderList/income", // 订单管理
+  "/orderList/backOrder", // 退费管理
+  "/orderList/expend", // 提现列表
+  "/orderList/salesList", // 销售列表
+  "/orderList/payRecord", // 支出记录
+  "/orderList/businessStatement", // 经营报表
+  "/business/buildVip", // 新建vip
+  "/orderList/resetList", // 更换列表
+  "/orderList/incomeOut", // 对外订单管理
+  "/business/signupList", // 报名缴费
+  "/teamLists", //进行中 查看
+  "/business/teamTeacherRecord", // 进行中 查看 上课记录
+  "/business/teamLookBase", // 筹备中 乐团信息
+  "/business/vipReset", // vip修改
+  "/business/vipDetail", // vip查看
+  "/contentManager/contentManager", // 内容管理
+  "/contentManager/contentOperation", // 内容编辑
+  "/business/teamCLassList", // 班级列表
+  "/business/musicInspection", // 乐团巡查
+  "/main/scheduleDetail",
+  "/business/WithdrawalApplication", // 退团申请
+  "/business/teacherDetail",
+  "/arrearage-students",
+  "/business/strudentPayInfo",
+  "/timedTask/timedTask",
+  "/business/musicalManager", // 乐器维护
+  "/business/createPayment",
+  "/business/teamDraft",
+  "/business/teamAudit",
+  "/business/auditFailed",
+  "/business/resetTeaming", // 进行中修改
+  "/business/teacherOperationUpdate",
+  "/business/ArrearageStudents",
+  "/operateManager/serverDetail", // 服务指标明细
+  "/business/remedy", //
+  "/setSilder/setSilder",
+  "/downList", //下载列表
+  "/business/reaplceMusicPlayer", // 乐器置换
+  "/operateManager/userAskList",
   // '/business/feeAudit',
-  '/baseRulersManager',
-  '/courseRulersManager',
-  '/earlyWarning',
-  '/holidaySetting',
-  '/business/studentPaySet',
-  '/staffPlatManager',
-  '/infoOAMananger',
-  '/business/createLiveClass',
-  '/business/liveClassDetail',
-  '/liveClassManager',
-  '/tenantApply',
-  '/platformAdminManger', // 平台员工管理
-  '/studentManager/smallStudentManager',
-  '/memberShareList',
-  '/agentList',
-  '/groupChatManager', // 群组管理
-  '/littleArtistCamp', // 小小艺术家训练营
-  '/sysGroupCat',
-  '/business/liveStudentList'
-]
+  "/baseRulersManager",
+  "/courseRulersManager",
+  "/earlyWarning",
+  "/holidaySetting",
+  "/business/studentPaySet",
+  "/staffPlatManager",
+  "/infoOAMananger",
+  "/business/createLiveClass",
+  "/business/liveClassDetail",
+  "/liveClassManager",
+  "/tenantApply",
+  "/platformAdminManger", // 平台员工管理
+  "/studentManager/smallStudentManager",
+  "/memberShareList",
+  "/agentList",
+  "/groupChatManager", // 群组管理
+  "/littleArtistCamp", // 小小艺术家训练营
+  "/sysGroupCat",
+  "/business/liveStudentList",
+  "/studentManager/courseCredentials" // 排课资格
+];

+ 57 - 54
src/views/categroyManager/modals/baseInfo.vue

@@ -64,12 +64,13 @@
           >
             <el-option label="乐团小课" :value="1"></el-option>
             <el-option label="常规小课" :value="2"></el-option>
+            <el-option label="学生购买" :value="3"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item
           label="活动类型"
           prop="activityType"
-          v-if="baseForm.activityChannel == 2"
+          v-if="baseForm.activityChannel !== 1"
         >
           <el-select
             v-model.trim="baseForm.activityType"
@@ -94,7 +95,7 @@
             value-format="yyyy-MM-dd HH:mm:ss"
             start-placeholder="开始日期"
             :picker-options="{
-              firstDayOfWeek: 1,
+              firstDayOfWeek: 1
             }"
             end-placeholder="结束日期"
           ></el-date-picker>
@@ -108,8 +109,8 @@
             ></i>
           </el-tooltip>
         </el-form-item>
-        <div v-if="baseForm.activityChannel == 2">
-          <el-form-item label="排课时间范围" prop="courseTime">
+        <div v-if="baseForm.activityChannel !== 1">
+          <!-- <el-form-item label="排课时间范围" prop="courseTime">
             <el-date-picker
               :disabled="isDisabled"
               v-model.trim="baseForm.courseTime"
@@ -119,7 +120,7 @@
               value-format="yyyy-MM-dd HH:mm:ss"
               start-placeholder="开始日期"
               :picker-options="{
-                firstDayOfWeek: 1,
+                firstDayOfWeek: 1
               }"
               end-placeholder="结束日期"
             ></el-date-picker>
@@ -132,7 +133,7 @@
                 style="font-size: 18px; color: #f56c6c"
               ></i>
             </el-tooltip>
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item label="适用学员" prop="applyToStudentType">
             <el-row>
               <el-col style="width: 400px">
@@ -170,7 +171,9 @@
               v-model.trim="baseForm.studentMaxUsedTimes"
               :disabled="isDisabled"
             >
-              <template slot="append">次</template>
+              <template slot="append"
+                >次</template
+              >
             </el-input>
             <el-tooltip placement="top" popper-class="mTooltip">
               <div slot="content">
@@ -213,13 +216,12 @@
             {
               required: true,
               message: '请选输入活动售价',
-              trigger: 'blur',
+              trigger: 'blur'
             },
             {
-              pattern:
-                /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
-              message: '请输入正确的金额',
-            },
+              pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+              message: '请输入正确的金额'
+            }
           ]"
         >
           <el-input
@@ -228,7 +230,9 @@
             v-model.trim="baseForm.marketPrice"
             :disabled="isDisabled || status != 'DRAFT'"
           >
-            <template slot="append">元</template>
+            <template slot="append"
+              >元</template
+            >
           </el-input>
           <el-tooltip placement="top" popper-class="mTooltip">
             <div slot="content">
@@ -246,10 +250,9 @@
           :rules="[
             { required: true, message: '请选输入活动原价', trigger: 'blur' },
             {
-              pattern:
-                /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
-              message: '请输入正确的金额',
-            },
+              pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+              message: '请输入正确的金额'
+            }
           ]"
         >
           <el-input
@@ -258,7 +261,9 @@
             v-model.trim="baseForm.originalPrice"
             :disabled="isDisabled || status != 'DRAFT'"
           >
-            <template slot="append">元</template>
+            <template slot="append"
+              >元</template
+            >
           </el-input>
         </el-form-item>
       </el-form>
@@ -283,8 +288,8 @@ export default {
             min: 1,
             max: 25,
             message: "长度在 1 到 25 个字符",
-            trigger: "blur",
-          },
+            trigger: "blur"
+          }
         ],
         desc: [
           { required: true, message: "请输入文字描述", trigger: "blur" },
@@ -292,41 +297,41 @@ export default {
             min: 1,
             max: 200,
             message: "长度在 1 到 200 个字符",
-            trigger: "blur",
-          },
+            trigger: "blur"
+          }
         ],
         activityType: [
-          { required: true, message: "请选择活动类型", trigger: "change" },
+          { required: true, message: "请选择活动类型", trigger: "change" }
         ],
         activityChannel: [
-          { required: true, message: "请选择活动渠道", trigger: "change" },
+          { required: true, message: "请选择活动渠道", trigger: "change" }
         ],
         courseTime: [
-          { required: false, message: "请选择课程时间", trigger: "change" },
+          { required: false, message: "请选择课程时间", trigger: "change" }
         ],
         studentMaxUsedTimes: [
           { required: false, message: "请输入购买次数", trigger: "blur" },
-          { pattern: /^\+?[1-9]\d*$/, message: "请输入大于0的正整数" },
+          { pattern: /^\+?[1-9]\d*$/, message: "请输入大于0的正整数" }
         ],
         organ: [
-          { required: true, message: "请选择适用分部", trigger: "change" },
+          { required: true, message: "请选择适用分部", trigger: "change" }
         ],
         stauts: [
-          { required: true, message: "请选择活动形式", trigger: "change" },
+          { required: true, message: "请选择活动形式", trigger: "change" }
         ],
         applyToStudentType: [
-          { required: false, message: "请选择是否新生专享" },
+          { required: false, message: "请选择是否新生专享" }
         ],
         isPayToBalance: [
           {
             required: true,
             message: "请选择是否支付到余额",
-            trigger: "change",
-          },
+            trigger: "change"
+          }
         ],
         allowOnlineToOffline: [
-          { required: true, message: "请选择课程调整方式", trigger: "change" },
-        ],
+          { required: true, message: "请选择课程调整方式", trigger: "change" }
+        ]
       },
       courseStatusList: [], // 获取所有课程形式
       activeType: "",
@@ -343,7 +348,7 @@ export default {
       courseNumForm: {
         minCourseNum: "",
         maxCourseNum: "",
-        studentMaxUsedTimes: "",
+        studentMaxUsedTimes: ""
       },
       giveClassPaySalaryFlag: true,
       organList: [],
@@ -353,14 +358,14 @@ export default {
         minCourseNum: [
           { required: true, message: "请输入最小课时数", trigger: "blur" },
           { validator: this.validateCom, trigger: "blur" },
-          { validator: this.validateMin, trigger: "blur" },
+          { validator: this.validateMin, trigger: "blur" }
         ],
         maxCourseNum: [
           { required: true, message: "请输入最大课时数", trigger: "blur" },
           { validator: this.validateCom, trigger: "blur" },
-          { validator: this.validateMax, trigger: "blur" },
-        ],
-      },
+          { validator: this.validateMax, trigger: "blur" }
+        ]
+      }
     };
   },
 
@@ -445,9 +450,9 @@ export default {
       this.$emit("resetBaseChannel", val);
     },
     submitFrom() {
-      this.$refs.form.validate((isok) => {
+      this.$refs.form.validate(isok => {
         if (isok) {
-          this.$refs["vipform"].validate((valid) => {
+          this.$refs["vipform"].validate(valid => {
             if (valid) {
               // 验证通过
               let coursesStartTime = null,
@@ -508,7 +513,7 @@ export default {
                 }
                 onlineSalarySettlement = {
                   salarySettlementType: this.onlineSalary,
-                  settlementValue: this.onlineprice,
+                  settlementValue: this.onlineprice
                 };
               } else {
                 onlineSalarySettlement = null;
@@ -525,7 +530,7 @@ export default {
                 }
                 offlineSalarySettlement = {
                   salarySettlementType: this.unonlineSalary,
-                  settlementValue: this.unonlineprice,
+                  settlementValue: this.unonlineprice
                 };
               } else {
                 offlineSalarySettlement = null;
@@ -535,7 +540,7 @@ export default {
               // let giveClassPaySalaryFlag = this.giveClassPaySalaryFlag * 1;
               let vipGroupSalarySettlement = {
                 onlineSalarySettlement,
-                offlineSalarySettlement,
+                offlineSalarySettlement
               };
               if (type == "BASE_ACTIVITY") {
                 this.courseNumForm.studentMaxUsedTimes = -1;
@@ -573,15 +578,15 @@ export default {
                   offlineClassJoinGradientRewards:
                     this.offlineClassJoinGradientRewards * 1,
                   onlineClassJoinGradientRewards:
-                    this.onlineClassJoinGradientRewards * 1,
+                    this.onlineClassJoinGradientRewards * 1
                 })
-              ).then((res) => {
+              ).then(res => {
                 if (res.code == 200) {
                   this.$message.success("恭喜你,活动创建成功");
                   // this.onReSet();
                   this.$store.dispatch("delVisitedViews", this.$route);
                   this.$router.push({
-                    path: "/vipActiveManager/vipActiveList",
+                    path: "/vipActiveManager/vipActiveList"
                   });
                 }
               });
@@ -590,7 +595,7 @@ export default {
                 let isError = document.getElementsByClassName("is-error");
                 isError[0].scrollIntoView({
                   block: "center",
-                  behavior: "smooth",
+                  behavior: "smooth"
                 });
               });
               // this.$message.error("请填写必要参数");
@@ -615,7 +620,7 @@ export default {
       // 选择所有分部
       let vipform = this.vipform;
       vipform.organ = [];
-      this.selects.branchs.forEach((item) => {
+      this.selects.branchs.forEach(item => {
         vipform.organ.push(item.id);
       });
       this.$refs.vipform.validateField("organ");
@@ -627,7 +632,7 @@ export default {
         name: "",
         desc: "",
         activeTime: [],
-        courseTime: [],
+        courseTime: []
       };
       this.activeType = "";
       this.online = true;
@@ -644,7 +649,7 @@ export default {
       this.courseNumForm.maxCourseNum = "";
       this.courseNumForm.minCourseNum = "";
       // this.$refs.vipform.resetFields();
-    },
+    }
   },
   computed: {
     balanceDis() {
@@ -654,8 +659,8 @@ export default {
       } else {
         return false;
       }
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>
@@ -755,5 +760,3 @@ export default {
   }
 }
 </style>
-
-

+ 57 - 41
src/views/categroyManager/modals/payInfo.vue

@@ -19,7 +19,7 @@
             label="课程类型"
             prop="courseType"
             :rules="[
-              { required: true, message: '请选择课程类型', trigger: 'change' },
+              { required: true, message: '请选择课程类型', trigger: 'change' }
             ]"
           >
             <el-select
@@ -38,7 +38,7 @@
         <el-row>
           <el-form-item
             :rules="[
-              { required: true, message: '请选择课程形式', trigger: 'change' },
+              { required: true, message: '请选择课程形式', trigger: 'change' }
             ]"
             label="课程形式"
             prop="vipGroupCategoryIdList"
@@ -61,7 +61,7 @@
             </el-select>
           </el-form-item>
         </el-row>
-        <!-- <el-row v-if="activityChannel == 2">
+        <!-- <el-row v-if="activityChannel != 1">
           <el-form-item
             :rules="[
               { required: true, message: '请选择上课模式', trigger: 'change' },
@@ -84,7 +84,7 @@
             </el-select>
           </el-form-item>
         </el-row> -->
-        <!-- <el-row v-if="activityChannel == 2">
+        <!-- <el-row v-if="activityChannel != 1">
           <el-form-item
             label="课程调整方式"
             prop="allowOnlineToOffline"
@@ -114,7 +114,7 @@
             label="单课时长"
             prop="singleCourseTime"
             :rules="[
-              { required: true, message: '请输入单课时长', trigger: 'blur' },
+              { required: true, message: '请输入单课时长', trigger: 'blur' }
             ]"
           >
             <el-input
@@ -124,11 +124,13 @@
               placeholder="单课时长"
               :disabled="isDisabled"
             >
-              <template slot="append">分钟</template>
+              <template slot="append"
+                >分钟</template
+              >
             </el-input>
           </el-form-item>
         </el-row>
-        <el-row v-if="activityChannel == 2">
+        <el-row v-if="activityChannel != 1">
           <el-form-item
             label="是否限制课时数"
             prop="isLimitNum"
@@ -136,8 +138,8 @@
               {
                 required: false,
                 message: '请选择是否限制课时数',
-                trigger: 'blur',
-              },
+                trigger: 'blur'
+              }
             ]"
           >
             <el-select
@@ -153,14 +155,14 @@
             </el-select>
           </el-form-item>
         </el-row>
-        <el-row v-if="payForm.isLimitNum && activityChannel == 2">
+        <el-row v-if="payForm.isLimitNum && activityChannel != 1">
           <el-form-item
             prop="minCourseNum"
             label="最小课时数"
             :rules="[
               { required: true, message: '请输入最小课时数', trigger: 'blur' },
               { validator: this.validateCom, trigger: 'blur' },
-              { validator: this.validateMin, trigger: 'blur' },
+              { validator: this.validateMin, trigger: 'blur' }
             ]"
           >
             <el-input
@@ -171,18 +173,20 @@
               placeholder="最小课时数"
               :disabled="isDisabled"
             >
-              <template slot="append">课时</template>
+              <template slot="append"
+                >课时</template
+              >
             </el-input>
           </el-form-item>
         </el-row>
-        <el-row v-if="payForm.isLimitNum && activityChannel == 2">
+        <el-row v-if="payForm.isLimitNum && activityChannel != 1">
           <el-form-item
             prop="maxCourseNum"
             label="最大课时数"
             :rules="[
               { required: true, message: '请输入最大课时数', trigger: 'blur' },
               { validator: this.validateCom, trigger: 'blur' },
-              { validator: this.validateMax, trigger: 'blur' },
+              { validator: this.validateMax, trigger: 'blur' }
             ]"
           >
             <el-input
@@ -193,7 +197,9 @@
               placeholder="最大课时数"
               :disabled="isDisabled"
             >
-              <template slot="append">课时</template>
+              <template slot="append"
+                >课时</template
+              >
             </el-input>
           </el-form-item>
         </el-row>
@@ -203,7 +209,7 @@
             prop="minCourseNum"
             label="课时数"
             :rules="[
-              { required: true, message: '请输入课时数', trigger: 'blur' },
+              { required: true, message: '请输入课时数', trigger: 'blur' }
             ]"
           >
             <el-input
@@ -214,7 +220,9 @@
               placeholder="课时数"
               :disabled="isDisabled"
             >
-              <template slot="append">课时</template>
+              <template slot="append"
+                >课时</template
+              >
             </el-input>
           </el-form-item>
         </el-row>
@@ -225,7 +233,7 @@
             label="会员名称"
             prop="memberRankId"
             :rules="[
-              { required: true, message: '请选择会员名称', trigger: 'change' },
+              { required: true, message: '请选择会员名称', trigger: 'change' }
             ]"
           >
             <el-select
@@ -249,7 +257,7 @@
             label="会员周期"
             prop="periodEnum"
             :rules="[
-              { required: true, message: '请选择会员周期', trigger: 'change' },
+              { required: true, message: '请选择会员周期', trigger: 'change' }
             ]"
           >
             <el-select
@@ -269,7 +277,7 @@
           </el-form-item>
         </el-row>
       </div>
-      <el-row v-if="activityChannel == 2">
+      <el-row v-if="activityChannel != 1">
         <!--  {
               pattern: /^100$|^(\d|[1-9]\d)(\.\d{1,8})*$/,
               message: '请输入正确的折扣',
@@ -278,7 +286,7 @@
           prop="discount"
           label="折扣值"
           :rules="[
-            { required: true, message: '请输入折扣值', trigger: 'blur' },
+            { required: true, message: '请输入折扣值', trigger: 'blur' }
           ]"
         >
           <el-input
@@ -288,11 +296,13 @@
             placeholder="折扣值"
             :disabled="isDisabled"
           >
-            <template slot="append">%</template>
+            <template slot="append"
+              >%</template
+            >
           </el-input>
         </el-form-item>
       </el-row>
-      <el-row v-if="activityChannel == 2">
+      <el-row v-if="activityChannel != 1">
         <el-form-item prop="fullMinusCourseTimes" label="满赠达标数量">
           <el-input
             v-model.number="payForm.fullMinusCourseTimes"
@@ -305,14 +315,14 @@
           </el-input>
         </el-form-item>
       </el-row>
-      <el-row v-if="activityChannel == 2">
+      <el-row v-if="activityChannel != 1">
         <el-col>
           <el-form-item
             label="赠送类型"
             prop="giveCourseType"
             v-if="payForm.fullMinusCourseTimes"
             :rules="[
-              { required: true, message: '请选择赠送类型', trigger: 'change' },
+              { required: true, message: '请选择赠送类型', trigger: 'change' }
             ]"
           >
             <el-select
@@ -337,7 +347,7 @@
               payForm.giveCourseType == 'VIP' && payForm.fullMinusCourseTimes
             "
             :rules="[
-              { required: true, message: '请选择赠课形式', trigger: 'change' },
+              { required: true, message: '请选择赠课形式', trigger: 'change' }
             ]"
           >
             <el-select
@@ -416,7 +426,7 @@
           payForm.giveCourseType != 'MEMBER' && payForm.fullMinusCourseTimes
         "
         :rules="[
-          { required: true, message: '请选择赠课时长', trigger: 'blur' },
+          { required: true, message: '请选择赠课时长', trigger: 'blur' }
         ]"
       >
         <el-input
@@ -426,7 +436,9 @@
           placeholder="赠课时长"
           :disabled="isDisabled"
         >
-          <template slot="append">分钟</template>
+          <template slot="append"
+            >分钟</template
+          >
         </el-input>
       </el-form-item>
       <el-row
@@ -438,7 +450,7 @@
           prop="giveCourseNum"
           label="赠送课时数"
           :rules="[
-            { required: true, message: '请输入赠送课时数', trigger: 'blur' },
+            { required: true, message: '请输入赠送课时数', trigger: 'blur' }
           ]"
         >
           <el-input
@@ -449,7 +461,9 @@
             placeholder="赠送课时数"
             :disabled="isDisabled"
           >
-            <template slot="append">课时</template>
+            <template slot="append"
+              >课时</template
+            >
           </el-input>
         </el-form-item>
       </el-row>
@@ -465,8 +479,8 @@
             {
               required: true,
               message: '请选择赠送会员名称',
-              trigger: 'change',
-            },
+              trigger: 'change'
+            }
           ]"
         >
           <el-select
@@ -481,7 +495,7 @@
               :key="index"
               :label="item.name"
               :value="item.id"
-              :disabled='item.id==2'
+              :disabled="item.id == 2"
             ></el-option>
           </el-select>
         </el-form-item>
@@ -494,7 +508,7 @@
             payForm.giveCourseType == 'MEMBER' && payForm.fullMinusCourseTimes
           "
           :rules="[
-            { required: true, message: '请输入赠送会员时长', trigger: 'blur' },
+            { required: true, message: '请输入赠送会员时长', trigger: 'blur' }
           ]"
         >
           <el-input
@@ -504,7 +518,9 @@
             placeholder="请输入赠送会员时长"
             :disabled="isDisabled"
           >
-            <template slot="append">天</template>
+            <template slot="append"
+              >天</template
+            >
           </el-input>
         </el-form-item>
       </el-row>
@@ -523,7 +539,7 @@ export default {
     "activeType",
     "remberList",
     "isDisabled",
-    "activityChannel",
+    "activityChannel"
   ],
   data() {
     return {
@@ -532,7 +548,7 @@ export default {
       memberEnumList,
       studentRuleNum: null,
       unOnlinePay: false,
-      unOnlineFee: false,
+      unOnlineFee: false
     };
   },
   async mounted() {
@@ -586,7 +602,7 @@ export default {
       this.$emit("changeGiveCourseType", val);
     },
     chageSalary(val) {
-      this.selects.vipGroupCategory.forEach((item) => {
+      this.selects.vipGroupCategory.forEach(item => {
         if (item.id == val) {
           this.studentNum = item.studentNum;
         }
@@ -622,7 +638,7 @@ export default {
       }
     },
     changeCateFee(val) {
-      this.selects.vipGroupCategory.forEach((item) => {
+      this.selects.vipGroupCategory.forEach(item => {
         if (item.id == val) {
           this.studentNum = item.studentNum;
         }
@@ -639,8 +655,8 @@ export default {
         this.$set(this.payForm, "teachMode", null);
         this.$set(this.payForm, "allowOnlineToOffline", null);
       }
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>

+ 44 - 33
src/views/categroyManager/vipActiveList.vue

@@ -1,4 +1,4 @@
-<template >
+<template>
   <div class="m-container">
     <h2>
       <div class="squrt"></div>
@@ -27,7 +27,6 @@
         @click="onActiveExport"
         >活动资格导出</el-button
       > -->
-
       </div>
 
       <save-form
@@ -72,6 +71,7 @@
           >
             <el-option label="乐团小课" :value="'1'"></el-option>
             <el-option label="常规小课" :value="'2'"></el-option>
+            <el-option label="学生购买" :value="'3'"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item prop="status">
@@ -153,7 +153,10 @@
           <el-table-column align="center" prop="activityType" label="活动渠道">
             <template slot-scope="scope">
               <div>
-                {{ scope.row.activityChannel == 1 ? "乐团小课" : "常规小课" }}
+                <!-- {{ scope.row.activityChannel == 1 ? "乐团小课" : "常规小课" }} -->
+                {{ scope.row.activityChannel == 1 ? "乐团小课" : "" }}
+                {{ scope.row.activityChannel == 2 ? "乐团小课" : "" }}
+                {{ scope.row.activityChannel == 3 ? "学生购买" : "" }}
               </div>
             </template>
           </el-table-column>
@@ -269,11 +272,11 @@
                 <el-button
                   v-if="
                     scope.row.status == 'PROGRESS' &&
-                    scope.row.maxCourseNum &&
-                    scope.row.minCourseNum &&
-                    scope.row.maxCourseNum > 0 &&
-                    scope.row.minCourseNum > 0 &&
-                    scope.row.minCourseNum == scope.row.maxCourseNum
+                      scope.row.maxCourseNum &&
+                      scope.row.minCourseNum &&
+                      scope.row.maxCourseNum > 0 &&
+                      scope.row.minCourseNum > 0 &&
+                      scope.row.minCourseNum == scope.row.maxCourseNum
                   "
                   type="text"
                   v-permission="'/activeSenior'"
@@ -349,7 +352,7 @@ import pagination from "@/components/Pagination/index";
 import {
   vipGroupActivity,
   removeVipActive,
-  enableVipGroupActivity,
+  enableVipGroupActivity
 } from "@/api/vipSeting";
 import ExportChiose from "@/components/Export-chiose";
 import qs from "qs";
@@ -369,7 +372,7 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       searchForm: {
         organId: null,
@@ -378,9 +381,9 @@ export default {
         applyToStudentType: null,
         allowOnlineToOffline: null,
         status: null,
-        activityChannel: null,
+        activityChannel: null
       },
-      dialogVisible: false,
+      dialogVisible: false
     };
   },
   // created() {
@@ -451,7 +454,9 @@ export default {
         switch (obj.onlineSalarySettlement.salarySettlementType) {
           case "RATIO_DISCOUNT": {
             if (obj.onlineSalarySettlement.settlementValue) {
-              return `线上:比例结算${obj.onlineSalarySettlement.settlementValue}%`;
+              return `线上:比例结算${
+                obj.onlineSalarySettlement.settlementValue
+              }%`;
             } else {
               return "线上:比例结算";
             }
@@ -463,7 +468,9 @@ export default {
           }
           case "FIXED_SALARY": {
             if (obj.onlineSalarySettlement.settlementValue) {
-              return `线上:固定课酬${obj.onlineSalarySettlement.settlementValue}/次`;
+              return `线上:固定课酬${
+                obj.onlineSalarySettlement.settlementValue
+              }/次`;
             } else {
               return "线上:固定课酬";
             }
@@ -483,7 +490,9 @@ export default {
         switch (obj.offlineSalarySettlement.salarySettlementType) {
           case "RATIO_DISCOUNT": {
             if (obj.offlineSalarySettlement.settlementValue) {
-              return `线下:比例结算${obj.offlineSalarySettlement.settlementValue}%`;
+              return `线下:比例结算${
+                obj.offlineSalarySettlement.settlementValue
+              }%`;
             } else {
               return "线下:比例结算";
             }
@@ -495,7 +504,9 @@ export default {
           }
           case "FIXED_SALARY": {
             if (obj.offlineSalarySettlement.settlementValue) {
-              return `线下:固定课酬${obj.offlineSalarySettlement.settlementValue}/次`;
+              return `线下:固定课酬${
+                obj.offlineSalarySettlement.settlementValue
+              }/次`;
             } else {
               return "线下:固定课酬";
             }
@@ -503,7 +514,7 @@ export default {
           }
         }
       }
-    },
+    }
   },
   methods: {
     async init() {
@@ -520,7 +531,7 @@ export default {
       let obj = {
         ...rest,
         page: this.rules.page,
-        rows: this.rules.limit,
+        rows: this.rules.limit
       };
       await Export(
         this,
@@ -528,7 +539,7 @@ export default {
           url: "/api-web/export/vipGroupActivity",
           fileName: "活动列表.xls",
           method: "post",
-          params: qs.stringify(cleanDeep(obj)),
+          params: qs.stringify(cleanDeep(obj))
         },
         "您确定活动列表?"
       );
@@ -548,7 +559,7 @@ export default {
     onCheckAllBranch() {
       // 适用所有分部
       this.resetForm.organ = [];
-      this.organList.forEach((item) => {
+      this.organList.forEach(item => {
         this.resetForm.organ.push(item.id);
       });
     },
@@ -577,8 +588,8 @@ export default {
         status: this.searchForm.status,
         activityChannel: this.searchForm.activityChannel,
         enable,
-        search,
-      }).then((res) => {
+        search
+      }).then(res => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
@@ -682,9 +693,9 @@ export default {
       this.$router.push(
         {
           path: "/operateManager/vipNewActive?type=reset",
-          query: { id: row.id },
+          query: { id: row.id }
         },
-        (router) => {
+        router => {
           router.meta.title = "修改活动方案";
         }
       );
@@ -692,20 +703,20 @@ export default {
     look(row) {
       this.$router.push({
         path: "/operateManager/vipNewActive?type=look",
-        query: { id: row.id },
+        query: { id: row.id }
       });
     },
     // 活动资格管理
     activeManager(row) {
       this.$router.push({
         path: "/operateManager/activeSenior",
-        query: { id: row.id },
+        query: { id: row.id }
       });
     },
     // 点击确认按钮发送修改请求
     remove(scope) {
       let id = scope.row.id;
-      removeVipActive({ id }).then((res) => {
+      removeVipActive({ id }).then(res => {
         if (res.code == 200) {
           this.$message.success("恭喜您删除成功");
           this.getList();
@@ -719,10 +730,10 @@ export default {
       // let searchForm = JSON.stringify(this.searchForm);
       this.$router.push(
         {
-          path: "/operateManager/vipNewActive?type=create",
+          path: "/operateManager/vipNewActive?type=create"
           // query: { rules, searchForm },
         },
-        (router) => {
+        router => {
           router.meta.title = "新建活动方案";
         }
       );
@@ -773,10 +784,10 @@ export default {
       this.$confirm(`是否${tempString}该活动?`, "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
-          enableVipGroupActivity({ id: row.id }).then((res) => {
+          enableVipGroupActivity({ id: row.id }).then(res => {
             if (res.code == 200) {
               this.$message.success("操作成功");
               this.getList();
@@ -784,8 +795,8 @@ export default {
           });
         })
         .catch(() => {});
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>

+ 43 - 46
src/views/categroyManager/vipNewActive.vue

@@ -27,7 +27,6 @@
           :status="statuss"
         />
 
-
         <payInfo
           :payForm="payForm"
           ref="payInfo"
@@ -101,7 +100,7 @@ import {
   vipGroupCategory,
   addVipActive,
   resetVipActive,
-  getVipGroupActivity,
+  getVipGroupActivity
 } from "@/api/vipSeting";
 import cleanDeep from "clean-deep";
 const payBaseForm = {
@@ -125,39 +124,39 @@ const payBaseForm = {
   giveCourseNum: null,
   giveMemberRankId: null,
   giveMemberTime: null,
-  giveAllowOnlineToOffline: null,
+  giveAllowOnlineToOffline: null
 };
 const baseSalaryForm = {
   vipOnlineSalarySettlement: {
     salarySettlementType: null,
-    settlementValue: null,
+    settlementValue: null
   },
   offlineSalarySettlement: {
     salarySettlementType: null,
-    settlementValue: null,
+    settlementValue: null
   },
   giveVipOnlineSalarySettlement: {
     salarySettlementType: null,
-    settlementValue: null,
+    settlementValue: null
   },
   giveVipOfflineSalarySettlement: {
     salarySettlementType: null,
-    settlementValue: null,
+    settlementValue: null
   },
   practiceSalarySettlement: {
     salarySettlementType: null,
-    settlementValue: null,
+    settlementValue: null
   },
   givePracticeSalarySettlement: {
     salarySettlementType: null,
-    settlementValue: null,
-  },
+    settlementValue: null
+  }
 };
 export default {
   components: {
     baseInfo,
     payInfo,
-    salaryInfo,
+    salaryInfo
   },
   data() {
     return {
@@ -175,16 +174,16 @@ export default {
         isPayToBalance: "",
         marketPrice: "",
         activityChannel: null,
-        originalPrice:null
+        originalPrice: null
       },
       title: "新建课程活动方案",
       payForm: {
-        ...payBaseForm,
+        ...payBaseForm
       },
       salaryForm: {
-        ...baseSalaryForm,
+        ...baseSalaryForm
       },
-      remberList: [],
+      remberList: []
     };
   },
   async mounted() {
@@ -197,7 +196,7 @@ export default {
       this.baseForm.id = this.$route.query.id;
       const rusult = await getVipGroupActivity({ id: this.$route.query.id });
       this.formatDetail(rusult.data);
-      this.$router
+      this.$router;
     } else {
       this.payInfo = { ...payBaseForm };
       this.salaryForm = JSON.parse(JSON.stringify({ ...baseSalaryForm }));
@@ -212,20 +211,20 @@ export default {
       this.$store.dispatch("delVisitedViews", this.$route);
       this.$router.push({
         path: "/vipActiveManager/vipActiveList",
-        query: { rules: this.rules, searchForm: this.searchForm },
+        query: { rules: this.rules, searchForm: this.searchForm }
       });
       // }
     },
     next() {
       let flags = true;
       if (this.active == 1) {
-        this.$refs.baseForm.$refs.vipform.validate((flag) => {
+        this.$refs.baseForm.$refs.vipform.validate(flag => {
           flags = flag;
         });
         // 验证表单1
       } else if (this.active == 2) {
         // 验证表单2
-        this.$refs.payInfo.$refs.form.validate((flag) => {
+        this.$refs.payInfo.$refs.form.validate(flag => {
           flags = flag;
         });
       }
@@ -243,7 +242,7 @@ export default {
     },
     resetPayInfo() {
       this.payForm = {
-        ...payBaseForm,
+        ...payBaseForm
       };
     },
     resetBaseChannel(val) {
@@ -254,10 +253,10 @@ export default {
       this.$set(this.baseForm, "isPayToBalance", null);
       this.$set(this.baseForm, "marketPrice", null);
       this.$set(this.baseForm, "originalPrice", null);
-      if(val == 1){
-         this.$set(this.baseForm, "activityType", 0);
-         this.$set(this.payForm, "allowOnlineToOffline",1);
-         this.$set(this.payForm, "teachMode", -1);
+      if (val == 1) {
+        this.$set(this.baseForm, "activityType", 0);
+        this.$set(this.payForm, "allowOnlineToOffline", 1);
+        this.$set(this.payForm, "teachMode", -1);
       }
     },
     changeCourseType(val) {
@@ -266,10 +265,10 @@ export default {
         this.$set(this.payForm, "vipGroupCategoryIdList", "");
         this.$set(this.payForm, "teachMode", "");
         this.$set(this.payForm, "singleCourseTime", 25);
-        this.$set(this.payForm, "allowOnlineToOffline", '');
+        this.$set(this.payForm, "allowOnlineToOffline", "");
       } else {
         this.$set(this.payForm, "singleCourseTime", 45);
-        this.$set(this.payForm, "allowOnlineToOffline", '');
+        this.$set(this.payForm, "allowOnlineToOffline", "");
         this.$set(this.payForm, "vipGroupCategoryIdList", "");
         this.$set(this.payForm, "teachMode", "");
       }
@@ -307,7 +306,7 @@ export default {
     },
     async submit() {
       if (this.$refs?.salaryInfo?.$refs?.salaryForm) {
-        this.$refs.salaryInfo.$refs.salaryForm.validate((flag) => {
+        this.$refs.salaryInfo.$refs.salaryForm.validate(flag => {
           if (flag) {
             this.baseForm.status = "PROGRESS";
             this.submitDataFormat("PROGRESS");
@@ -348,7 +347,7 @@ export default {
       // let vipGroupCategoryIdList =
       //   this.payForm.vipGroupCategoryIdList.join(",");
       let vipGroupSalarySettlement = this.salaryForm;
-      if(this.baseForm.activityChannel == 1){
+      if (this.baseForm.activityChannel == 1) {
         this.payForm.maxCourseNum = this.payForm.minCourseNum;
       }
       let obj = {
@@ -360,18 +359,18 @@ export default {
         startTime,
         endTime,
         applyToStudentType,
-        vipGroupSalarySettlement,
+        vipGroupSalarySettlement
       };
       if (this.baseForm.id) {
-        resetVipActive(cleanDeep(obj)).then((res) => {
+        resetVipActive(cleanDeep(obj)).then(res => {
           if (res.code == 200) {
             if (status == "DRAFT") {
               this.$message.success("恭喜你,保存草稿成功");
               this.baseForm.id = res.data.id;
               this.$router.push({
                 query: merge(this.$route.query, {
-                  id: res.data.id,
-                }),
+                  id: res.data.id
+                })
               });
               this.formatDetail(res.data);
             } else {
@@ -380,7 +379,7 @@ export default {
               this.$message.success("活动修改成功");
               this.$store.dispatch("delVisitedViews", this.$route);
               this.$router.push({
-                path: "/vipActiveManager/vipActiveList",
+                path: "/vipActiveManager/vipActiveList"
               });
             }
 
@@ -392,7 +391,7 @@ export default {
           }
         });
       } else {
-        addVipActive(cleanDeep(obj)).then((res) => {
+        addVipActive(cleanDeep(obj)).then(res => {
           if (res.code == 200) {
             if (status == "DRAFT") {
               this.$message.success("恭喜你,保存草稿成功");
@@ -402,14 +401,14 @@ export default {
               });
               this.$router.push({
                 query: merge(this.$route.query, {
-                  id: res.data.id,
-                }),
+                  id: res.data.id
+                })
               });
             } else {
               this.$message.success("活动创建成功");
               this.$store.dispatch("delVisitedViews", this.$route);
               this.$router.push({
-                path: "/vipActiveManager/vipActiveList",
+                path: "/vipActiveManager/vipActiveList"
               });
             }
           }
@@ -444,7 +443,7 @@ export default {
         activeTime,
         courseTime,
         marketPrice: data.marketPrice,
-        organ: data.organId.split(",").map((organ) => {
+        organ: data.organId.split(",").map(organ => {
           return Number(organ);
         }),
         activityType: data.activityType,
@@ -453,7 +452,7 @@ export default {
         isPayToBalance: Number(data.payToBalance),
         id: this.$route.query.id,
         activityChannel: data.activityChannel,
-        originalPrice:data.originalPrice
+        originalPrice: data.originalPrice
       });
       // this.baseForm = {
       //   name: data.name,
@@ -480,7 +479,7 @@ export default {
       this.payForm = {
         courseType: data.courseType,
         vipGroupCategoryIdList: data.vipGroupCategoryIdList
-          ? data.vipGroupCategoryIdList.split(",").map((id) => {
+          ? data.vipGroupCategoryIdList.split(",").map(id => {
               return Number(id);
             })[0]
           : null,
@@ -503,7 +502,7 @@ export default {
         giveMemberRankId: data.giveMemberRankId,
         givePeriod: data.givePeriodEnum,
         giveMemberTime: data.giveMemberTime ? data.giveMemberTime : null,
-        giveAllowOnlineToOffline: data.giveAllowOnlineToOffline + "",
+        giveAllowOnlineToOffline: data.giveAllowOnlineToOffline + ""
       };
       // 格式化缴费金额
       if (data.salarySettlementJson && data.salarySettlementJson != "null") {
@@ -517,7 +516,7 @@ export default {
         this.salaryForm = JSON.parse(JSON.stringify({ ...baseSalaryForm }));
       }
       this.$forceUpdate();
-    },
+    }
   },
   computed: {
     isDisabled() {
@@ -529,8 +528,8 @@ export default {
     },
     statuss() {
       return this.status;
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss" scoped>
@@ -542,5 +541,3 @@ export default {
   border-color: var(--color-primary) !important;
 }
 </style>
-
-

+ 15 - 0
src/views/courseCredentials/api.js

@@ -0,0 +1,15 @@
+import request2 from "@/utils/request2";
+
+export const queryDetailPage = data =>
+  request2({
+    url: "/api-web/activityUserMapper/queryDetailPage",
+    data,
+    method: "post"
+  });
+
+export const querySumPage = data =>
+  request2({
+    url: "/api-web/activityUserMapper/querySumPage",
+    data,
+    method: "post"
+  });

+ 153 - 0
src/views/courseCredentials/detail.vue

@@ -0,0 +1,153 @@
+<template>
+  <div class="detail">
+    <save-form
+      :inline="true"
+      :model="searchForm"
+      ref="searchForm"
+      @submit="search"
+      @reset="onReSet"
+    >
+      <el-form-item prop="search">
+        <el-input
+          placeholder="活动编号/活动名称"
+          clearable
+          type="text"
+          v-model.trim="searchForm.search"
+        ></el-input>
+      </el-form-item>
+      <!-- <el-form-item prop="hasSubCourse">
+        <el-select
+          class="multiple"
+          clearable
+          v-model.trim="searchForm.hasSubCourse"
+          placeholder="是否有剩余为排课"
+        >
+          <el-option label="是" :value="1"></el-option>
+          <el-option label="否" :value="0"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item prop="hasSubCourse">
+        <el-select
+          class="multiple"
+          clearable
+          v-model.trim="searchForm.hasSubCourse"
+          placeholder="课程类型"
+        >
+          <el-option label="是" :value="1"></el-option>
+          <el-option label="否" :value="0"></el-option>
+        </el-select>
+      </el-form-item> -->
+
+      <el-form-item>
+        <el-button native-type="submit" type="primary">搜索</el-button>
+        <el-button native-type="reset" type="danger">重置</el-button>
+      </el-form-item>
+    </save-form>
+    <el-table
+      style="width: 100%"
+      :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+      :data="tableList"
+    >
+      <el-table-column
+        align="center"
+        prop="activityId"
+        label="活动编号"
+      ></el-table-column>
+      <el-table-column
+        align="center"
+        prop="addMemo"
+        label="活动名称"
+      ></el-table-column>
+      <el-table-column
+        width="160px"
+        align="center"
+        prop="createTime"
+        label="时间"
+      ></el-table-column>
+      <el-table-column align="center" prop="freeFlag" label="付费方式">
+        <template slot-scope="scope">
+          {{ scope.row.freeFlag ? "赠送" : "付费" }}
+        </template>
+      </el-table-column>
+      <el-table-column align="center" prop="organName" label="排课资格">
+        <template slot-scope="scope">
+          {{ Math.abs(scope.row.totalCourseNum - scope.row.subCourseNum) }}/{{
+            scope.row.totalCourseNum
+          }}
+        </template>
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="subCoursePrice"
+        label="剩余金额"
+      ></el-table-column>
+    </el-table>
+    <pagination
+      sync
+      :total.sync="rules.total"
+      :page.sync="rules.page"
+      :limit.sync="rules.limit"
+      :page-sizes="rules.page_size"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/Pagination/index";
+import { queryDetailPage } from "./api";
+export default {
+  name: "detail",
+  props: ["userId"],
+  components: {
+    pagination
+  },
+  data() {
+    return {
+      tableList: [],
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      searchForm: {
+        search: null,
+        hasSubCourse: null
+      }
+    };
+  },
+  mounted() {
+    this.getList();
+  },
+  methods: {
+    async getList() {
+      try {
+        const res = await queryDetailPage({
+          page: this.rules.page,
+          rows: this.rules.limit,
+          userId: this.userId,
+          ...this.searchForm
+        });
+        this.tableList = res.data.rows;
+        this.rules.total = res.data.total;
+      } catch (e) {}
+    },
+    search() {
+      this.rules.page = 1;
+      this.getList();
+    },
+    onReSet() {
+      this.rules = {
+        ...this.rules,
+        page: 1
+      };
+      this.$refs.searchForm.resetFields();
+      this.search();
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 317 - 0
src/views/courseCredentials/index.vue

@@ -0,0 +1,317 @@
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>
+      排课资格列表
+    </h2>
+    <div class="m-core">
+      <save-form
+        :inline="true"
+        :model="searchForm"
+        ref="searchForm"
+        @submit="search"
+        @reset="onReSet"
+      >
+        <el-form-item prop="search">
+          <el-input
+            placeholder="学生编号/姓名"
+            clearable
+            type="text"
+            v-model.trim="searchForm.search"
+          ></el-input>
+        </el-form-item>
+        <el-form-item prop="organId">
+          <el-select
+            class="multiple"
+            filterable
+            v-model.trim="searchForm.organId"
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item>
+          <el-button native-type="submit" type="primary">搜索</el-button>
+          <el-button native-type="reset" type="danger">重置</el-button>
+        </el-form-item>
+      </save-form>
+
+      <div class="tableWrap">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column
+            align="center"
+            prop="organName"
+            label="分部"
+          ></el-table-column>
+          <el-table-column align="center" label="学员信息" width="120px">
+            <template slot-scope="scope">
+              {{ scope.row.username }}
+              <copy-text>{{ scope.row.userId }}</copy-text>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="phone"
+            label="手机号"
+            width="120px"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="one"
+            label="1v1"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="two"
+            label="1v2"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="three"
+            label="1v3"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="four"
+            label="1v4"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="five"
+            label="1v5"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="six"
+            label="1v6"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="seven"
+            label="1v7"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="theory"
+            label="乐理课"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="practice"
+            label="网管课"
+          ></el-table-column>
+          <!-- <el-table-column
+            align="center"
+            prop="activityId"
+            label="活动编号"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="addMemo"
+            label="活动名称"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="organName"
+            label="分部"
+          ></el-table-column>
+          <el-table-column align="center" label="学员信息">
+            <template slot-scope="scope">
+              {{ scope.row.username }}
+              <copy-text>{{ scope.row.userId }}</copy-text>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="teacherName"
+            label="指导老师"
+          ></el-table-column>
+
+          <el-table-column align="center" label="付费类型">
+            <template slot-scope="scope">
+              <span v-if="scope.row.vipFlag">
+                {{ scope.row.categoryName }}
+              </span>
+              <span v-if="scope.row.practiceFlag">
+                网管课
+              </span>
+              <span v-if="scope.row.memberFlag">云教练</span>
+
+              <span
+                v-if="
+                  !scope.row.vipFlag &&
+                    !scope.row.practiceFlag &&
+                    !scope.row.memberFlag
+                "
+                >--</span
+              >
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="付费课资格">
+            <template slot-scope="scope">
+              <span v-if="scope.row.vipFlag || scope.row.practiceFlag">
+                <span v-if="!scope.row.memberFlag"
+                  >{{ scope.row.totalCourseNum - scope.row.subCourseNum }}/{{
+                    scope.row.totalCourseNum
+                  }}</span
+                >
+              </span>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="赠送类型">
+            <template slot-scope="scope">
+              <span v-if="scope.row.giveVipFlag">
+                {{ scope.row.giveCategoryName }}
+              </span>
+              <span v-if="scope.row.givePracticeFlag">
+                网管课
+              </span>
+              <span v-if="scope.row.giveMemberFlag">云教练</span>
+
+              <span
+                v-if="
+                  !scope.row.giveVipFlag &&
+                    !scope.row.givePracticeFlag &&
+                    !scope.row.giveMemberFlag
+                "
+                >--</span
+              >
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="赠送课资格">
+            <template slot-scope="scope">
+              <span v-if="scope.row.giveVipFlag || scope.row.givePracticeFlag">
+                <span v-if="!scope.row.giveMemberFlag"
+                  >{{
+                    scope.row.totalGiveCourseNum - scope.row.subGiveCourseNum
+                  }}/{{ scope.row.totalGiveCourseNum }}</span
+                >
+              </span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="musicTheoryNum"
+            label="是否退费"
+          >
+            <template slot-scope="scope">
+              {{ scope.row.returnFee ? "是" : "否" }}
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="actualPrice"
+            label="支付金额"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="subNoCoursePrice"
+            label="剩余排课金额"
+          ></el-table-column> -->
+          <el-table-column align="center" label="操作">
+            <template slot-scope="scope">
+              <div>
+                <el-button type="text" @click="gotoDetail(scope.row)"
+                  >详情</el-button
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
+      </div>
+    </div>
+
+    <el-dialog :visible.sync="detailVisible" title="查看详情" width="900px">
+      <detail v-if="detailVisible" :userId="selectUserId" />
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/Pagination/index";
+import { querySumPage } from "./api";
+import detail from "./detail.vue";
+export default {
+  name: "credentials",
+  components: {
+    pagination,
+    detail
+  },
+  data() {
+    return {
+      searchForm: {
+        search: null,
+        organId: null,
+        hasSubCourse: null,
+        returnFee: null
+      },
+      tableList: [],
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      detailVisible: false,
+      selectUserId: null
+    };
+  },
+  mounted() {
+    // 获取分部
+    this.$store.dispatch("setBranchs");
+    this.getList();
+  },
+  methods: {
+    async getList() {
+      try {
+        const res = await querySumPage({
+          page: this.rules.page,
+          rows: this.rules.limit,
+          ...this.searchForm
+        });
+        this.tableList = res.data.rows;
+        this.rules.total = res.data.total;
+      } catch (e) {}
+    },
+    search() {
+      this.rules.page = 1;
+      this.getList();
+    },
+    onReSet() {
+      this.rules = {
+        ...this.rules,
+        page: 1
+      };
+      this.$refs.searchForm.resetFields();
+      this.search();
+    },
+    gotoDetail(row) {
+      // console.log(row, "121212", row.userId);
+      this.selectUserId = row.userId;
+      this.detailVisible = true;
+    }
+  }
+};
+</script>
+
+<style lang="scss"></style>

+ 5 - 2
src/views/resetTeaming/modals/giveMemberModel.vue

@@ -129,7 +129,8 @@ export default {
               orderSubject,
               tenantId,
               returnUrl,
-              notifyUrl
+              notifyUrl,
+              wxAppId
             } = res.data.payMap;
             this.orderNo = orderNo;
             this.codeUrl =
@@ -152,7 +153,9 @@ export default {
               "&returnUrl=" +
               returnUrl +
               "&notifyUrl=" +
-              notifyUrl;
+              notifyUrl +
+              "&wxAppId=" +
+              wxAppId;
             console.log(this.codeUrl, "codeUrl");
             this.payMentVisible = true;
           } catch (e) {}

+ 30 - 27
src/views/studentManager/studentGroupPractice.vue

@@ -22,7 +22,13 @@
       <!-- <div class="newBand"
           @click="resetPays"
           v-permission="'musicGroupStudentFee/batchUpdateCourseFee'">修改缴费金额</div> -->
-      <el-button @click="addMember" v-if="$helpers.permission('cloudTeacherOrder/pay/student')" type="primary" style="margin-bottom: 20px">激活云教练</el-button>
+      <el-button
+        @click="addMember"
+        v-if="$helpers.permission('cloudTeacherOrder/pay/student')"
+        type="primary"
+        style="margin-bottom: 20px"
+        >激活云教练</el-button
+      >
 
       <div class="tableWrap">
         <el-table
@@ -47,11 +53,7 @@
             prop="subjectName"
             label="学员声部"
           ></el-table-column>
-          <el-table-column
-            align="center"
-            prop="type"
-            label="云教练类型"
-          >
+          <el-table-column align="center" prop="type" label="云教练类型">
             <template slot-scope="scope">
               {{ scope.row.type | memberEnumType }}
             </template>
@@ -61,10 +63,7 @@
             prop="time"
             label="数量"
           ></el-table-column>
-          <el-table-column
-            align="center"
-            label="缴费金额(元)"
-          >
+          <el-table-column align="center" label="缴费金额(元)">
             <template slot-scope="scope">
               {{ scope.row.amount | hasMoneyFormat }}
             </template>
@@ -98,13 +97,17 @@
       v-if="giveMemberVisible"
       append-to-body
     >
-      <giveMemberModel :tableList="selectStudentList" @getList="getList" @close="giveMemberVisible = false" />
+      <giveMemberModel
+        :tableList="selectStudentList"
+        @getList="getList"
+        @close="giveMemberVisible = false"
+      />
     </el-dialog>
   </div>
 </template>
 <script>
 import pagination from "@/components/Pagination/index";
-import { queryInactive } from '@/views/resetTeaming/api'
+import { queryInactive } from "@/views/resetTeaming/api";
 import giveMemberModel from "@/views/resetTeaming/modals/giveMemberModel";
 export default {
   components: { pagination, giveMemberModel },
@@ -115,7 +118,7 @@ export default {
       giveMemberVisible: false,
       searchForm: {
         queryCondition: "",
-        subjectId: "",
+        subjectId: ""
       },
       soundList: [],
       tableList: [],
@@ -124,13 +127,13 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50], // 选择限制显示条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
-      selectStudentList: [], // 选中的学生列表
+      selectStudentList: [] // 选中的学生列表
     };
   },
   mounted() {
-    this.getList()
+    this.getList();
   },
   methods: {
     async getList() {
@@ -138,15 +141,15 @@ export default {
         const res = await queryInactive({
           ...this.searchForm,
           page: this.rules.page,
-          rows: this.rules.limit,
+          rows: this.rules.limit
         });
         this.rules.total = res.data.total;
         this.tableList = res.data.rows;
-      } catch (e) { }
-      queryInactive
+      } catch (e) {}
+      queryInactive;
     },
     handleSelectionChange(val) {
-      this.selectStudentList = val || []
+      this.selectStudentList = val || [];
     },
     search() {
       this.rules.page = 1;
@@ -154,15 +157,15 @@ export default {
     },
     onReSet() {
       this.searchForm = { search: "", subjectId: "" };
-      this.search()
+      this.search();
     },
-    addMember(){
-      if(this.selectStudentList.length <= 0) {
-        this.$message.error('至少选择一名学生')
-        return
+    addMember() {
+      if (this.selectStudentList.length <= 0) {
+        this.$message.error("至少选择一名学生");
+        return;
       }
-      this.giveMemberVisible = true
+      this.giveMemberVisible = true;
     }
-  },
+  }
 };
 </script>