lex-xin 5 سال پیش
والد
کامیت
ee3e302156

+ 12 - 3
src/api/specialSetting.js

@@ -86,9 +86,9 @@ export function courseHomeworkTemplateList(data) {
 // 修改作业模板
 export function homeWorkUpdate(data) {
     return request({
-        url: '/web-server/courseHomeworkTemplate/queryPage',
+        url: '/web-server/courseHomeworkTemplate/update',
         method: 'post',
-        data: data
+        data: qs.stringify(data)
     })
 }
 
@@ -97,6 +97,15 @@ export function homeWorkAdd(data) {
     return request({
         url: '/web-server/courseHomeworkTemplate/add',
         method: 'post',
-        data: data
+        data: qs.stringify(data)
+    })
+}
+
+
+// 修改作业模板
+export function homeWorkDel(id) {
+    return request({
+        url: `/web-server/courseHomeworkTemplate/del/${id}`,
+        method: 'post'
     })
 }

+ 3 - 1
src/router/index.js

@@ -651,6 +651,8 @@ export const asyncRoutes = {
   vipChargeSeting: () => import('@/views/categroyManager/vipChargeSeting'),
   vipActiveList: () => import('@/views/categroyManager/vipActiveList'),
   vipNewActive: () => import('@/views/categroyManager/vipNewActive'),
-  vipParameterManager: () => import('@/views/categroyManager/generalSettings/vipParameterManager')
+  vipParameterManager: () => import('@/views/categroyManager/generalSettings/vipParameterManager'),
+  globalConfig: () => import('@/views/categroyManager/globalConfig'),
+
 }
 export default router

+ 46 - 0
src/views/categroyManager/globalConfig.vue

@@ -0,0 +1,46 @@
+<template>
+  <div class="m-container">
+    <h2>
+      学员详情
+    </h2>
+    <div class="m-core">
+      <!-- navMenu -->
+      <el-tabs v-model="activeIndex" type="card" @tab-click="handleClick">
+        <el-tab-pane label="基本信息" name="1">
+        </el-tab-pane>
+        <el-tab-pane label="乐团&课程" name="2">
+        </el-tab-pane>
+        <el-tab-pane label="VIP课" name="3">
+        </el-tab-pane>
+        <el-tab-pane label="上课记录" name="4">
+          <studentRecord />
+        </el-tab-pane>
+        <el-tab-pane label="扣费记录" name="5">
+        </el-tab-pane>
+        <el-tab-pane label="学员订单" name="6">
+        </el-tab-pane>
+        <el-tab-pane label="学员提现" name="7">
+        </el-tab-pane>
+      </el-tabs>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  components: {
+  },
+  name: 'globalConfig',
+  data () {
+    return {
+      activeIndex: '6'
+    }
+  },
+  methods: {
+    handleClick (val) {
+      this.activeIndex = val.name;
+    }
+  }
+}
+</script>
+<style lang="scss">
+</style>

+ 20 - 8
src/views/categroyManager/specialSetup/jobTemplateSetting.vue

@@ -12,8 +12,11 @@
           <el-table-column align='center' prop="classGroupTypeName"
                            label="对应课程类型">
           </el-table-column>
-          <el-table-column align='center' prop="subjectName"
+          <el-table-column align='center'
                            label="声部">
+            <template slot-scope="scope">
+              {{ scope.row.subjectName ? scope.row.subjectName : '无' }}
+            </template>
           </el-table-column>
           <el-table-column align='center' prop="content"
                            label="模板内容">
@@ -22,7 +25,7 @@
                            label="操作">
             <template slot-scope="scope">
               <el-button @click="openJob('update', scope.row)" type="text">修改</el-button>
-              <el-button type="text">删除</el-button>
+              <el-button @click="onJobDel(scope.row)" type="text">删除</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -40,7 +43,7 @@
           <el-input v-model="form.name" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="对应课程类型" prop="classGroupType" :label-width="formLabelWidth">
-          <el-radio-group v-model="form.classGroupType">
+          <el-radio-group :disabled="formActionTitle == 'update' ? true: false" v-model="form.classGroupType">
             <el-radio label="NORMAL">单技课</el-radio>
             <el-radio label="MIX">合奏课</el-radio>
           </el-radio-group>
@@ -78,7 +81,7 @@
 <script>
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
-import { courseHomeworkTemplateList, subjectListTree, homeWorkUpdate, homeWorkAdd  } from '@/api/specialSetting'
+import { courseHomeworkTemplateList, subjectListTree, homeWorkUpdate, homeWorkAdd, homeWorkDel  } from '@/api/specialSetting'
 export default {
   components: { pagination },
   name: 'adminManager',
@@ -88,8 +91,8 @@ export default {
       subjectList: [], // 声部
       formActionTitle: 'create',
       formTitle: {
-        create: '添加教学点',
-        update: '修改教学点'
+        create: '添加作业模板',
+        update: '修改作业模板'
       },
       jobStatus: false, // 添加教学点 
       formLabelWidth: '120px',
@@ -129,6 +132,9 @@ export default {
               this.messageTips('添加', res)
             })
           } else if (this.formActionTitle == 'update') {
+            if(this.form.classGroupType == 'MIX') {
+              this.form.subjectId = ''
+            }
             homeWorkUpdate(this.form).then(res => {
               this.messageTips('修改', res)
             })
@@ -153,13 +159,18 @@ export default {
         }
       }
     },
+    onJobDel(row) {
+      homeWorkDel(row.id).then(res => {
+        this.messageTips('删除', res)
+      })
+    },
     messageTips(title, res) {
       if(res.code == 200) {
         this.$message({
           message: title + '成功',
           type: 'success'
         })
-        this.branchStatus = false
+        this.jobStatus = false
         this.getList()
       } else {
         this.$message.error(res.msg)
@@ -167,6 +178,7 @@ export default {
     },
     getList () { 
       courseHomeworkTemplateList({
+        delFlag: 0,
         organId: this.organId,
         rows: this.pageInfo.limit,
         page: this.pageInfo.page
@@ -184,7 +196,7 @@ export default {
         subjectId: null,
         content: null,
         organId: store.getters.organ
-      },
+      }
       this.$refs[formName].resetFields()
     },
     getSubjectTree() { // 获取声部列表

+ 112 - 10
src/views/categroyManager/specialSetup/typesManager.vue

@@ -2,7 +2,7 @@
   <div class='m-container'>
     <h2>收费类型设置</h2>
     <div class="m-core">
-      <div class='newBand'>添加</div>
+      <div class='newBand' @click="openTypes('create')">添加</div>
       <!-- 列表 -->
       <div class="tableWrap">
         <el-table :data='tableList'>
@@ -11,15 +11,15 @@
           </el-table-column>
           <el-table-column align='center' 
                            label="声部组合">
-          </el-table-column>
-          <el-table-column align='center'
-                           label="教学规划">
+            <template slot-scope="scope">
+              {{ scope.row.subjectName | joinArray(',') }}
+            </template>
           </el-table-column>
           <el-table-column align='center'
                            label="操作">
             <template slot-scope="scope">
-              <el-button type="text">修改</el-button>
-              <el-button type="text">删除</el-button>
+              <el-button @click="openTypes('update', scope.row)" type="text">修改</el-button>
+              <el-button @click="onTypesDel(scope.row)" type="text">删除</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -30,31 +30,76 @@
                     @pagination="getList" />
       </div>
     </div>
-
+    <el-dialog :title="formTitle[formActionTitle]" :visible.sync="typeStatus"
+               @close="onFormClose('ruleForm')" width="500px">
+      <el-form :model="form" :rules="rules" ref="ruleForm">
+        <el-form-item label="作业模板名称" prop="name" :label-width="formLabelWidth">
+          <el-input v-model="form.name" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="声部选择" v-if="form.classGroupType != 'MIX'"
+          prop="subjectIds" :label-width="formLabelWidth">
+          <el-select v-model="form.subjectIds" multiple>
+              <el-option-group
+                v-for="group in subjectList"
+                :key="group.label"
+                :label="group.label">
+                <el-option
+                  v-for="item in group.options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-option-group>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <span slot="footer"
+            class="dialog-footer">
+        <el-button @click="typeStatus = false">取 消</el-button>
+        <el-button type="primary" @click="onJobSubmit('ruleForm')">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
-import { chargeTypeList } from '@/api/specialSetting'
+import { chargeTypeList, subjectListTree } from '@/api/specialSetting'
 export default {
   components: { pagination },
   name: 'adminManager',
   data () {
     return {
       tableList: [],
+      subjectList: [], // 声部列表
+      formActionTitle: 'create',
+      formTitle: {
+        create: '添加作业模板',
+        update: '修改作业模板'
+      },
+      typeStatus: false, // 添加教学点 
+      formLabelWidth: '120px',
+      form: {
+        name: null, // 作业模块名称
+        subjectIds: [],
+        organId: store.getters.organ
+      },
+      rules: {
+        name: [{ required: true, message: '请输入类型名称', trigger: 'blur' }],
+        subjectIds: [{ required: true, message: '请选择声部组合', trigger: 'change' }]
+      },
       pageInfo: {
         // 分页规则
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
-      },
-      organId: store.getters.organ
+      }
     }
   },
   mounted() {
     this.getList()
+    this.getSubjectTree()
   },
   methods: {
     messageTips(title, res) {
@@ -73,9 +118,66 @@ export default {
       chargeTypeList().then(res => {
         let result = res.data
         if(res.code == 200) {
+          result.rows.forEach(row => {
+            let subjectname = [],
+              subjectIds = []
+            row.subjects.forEach(item => {
+              subjectname.push(item.name)
+              subjectIds.push(item.id)
+            })
+            row.subjectName = subjectname
+            row.subjectIds = subjectIds
+          })
           this.tableList = result.rows
         }
       })
+    },
+    openTypes(type, row) {
+      this.typeStatus = true
+      this.formActionTitle = type
+      // 修改的时候赋值
+      if (type == 'update') {
+        this.form = {
+          id: row.id,
+          name: row.name,
+          subjectIds: row.subjectIds,
+          organId: store.getters.organ
+        }
+      }
+    },
+    onFormClose (formName) { // 关闭弹窗重置验证
+      this.form = {
+        name: null, // 作业模块名称
+        subjectIds: [],
+        organId: store.getters.organ
+      }
+      this.$refs[formName].resetFields()
+    },
+    getSubjectTree() { // 获取声部列表
+      subjectListTree({
+        delFlag: 0,
+        rows: 9999
+      }).then(res => {
+        let result = res.data
+        if(res.code == 200) {
+          let tempArray = []
+          result.rows.forEach((item, index) => {
+            let subject = []
+            item.subjects.forEach(s => {
+              subject.push({
+                value: s.id,
+                label: s.name
+              })
+            })
+            
+            tempArray[index] = {
+              label: item.name,
+              options: subject
+            }
+          })
+          this.subjectList = tempArray
+        }
+      })
     }
   }
 }