Browse Source

修改小问题

lex-xin 5 years ago
parent
commit
4f8e112bd5

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

@@ -6,7 +6,7 @@
       <el-row>
         <el-col :span="12" v-for="(config, index) in configList" :key="config.id">
           {{ config.description[0] }}
-          <el-input type="number" v-model="input[index]">
+          <el-input v-model="input[index]">
             <template slot="append" v-if="config.description[1]">{{ config.description[1] }}</template>
           </el-input>
           <el-button @click="onSave(config, index)" type="primary">保存</el-button>

+ 12 - 7
src/views/categroyManager/globalConfig.vue

@@ -12,20 +12,23 @@
         <el-tab-pane label="声部设置" name="1">
             <musicalManager v-if="activeStatus[1]" />
         </el-tab-pane>
-        <el-tab-pane label="乐团收费类型" name="2">
+        <!-- <el-tab-pane label="乐团收费类型" name="2">
             <typesManager v-if="activeStatus[2]" />
-        </el-tab-pane>
+        </el-tab-pane> -->
         <!-- <el-tab-pane label="VIP课程参数设置" name="3">
           <vipParameterManager v-if="activeStatus[3]" />
         </el-tab-pane> -->
-        <el-tab-pane label="乐团作业模板" name="3">
-            <jobTemplateSetting v-if="activeStatus[3]" />
+        <el-tab-pane label="乐团作业模板" name="2">
+            <jobTemplateSetting v-if="activeStatus[2]" />
         </el-tab-pane>
         <!-- <el-tab-pane label="梯度结算规则设置" name="5">
             <gradientSet v-if="activeStatus[5]" />
         </el-tab-pane> -->
-        <el-tab-pane label="热词标签" name="4">
-          <errorManager v-if="activeStatus[4]" />
+        <el-tab-pane label="热词标签" name="3">
+          <errorManager v-if="activeStatus[3]" />
+        </el-tab-pane>
+        <el-tab-pane label="乐团收费标准" name="4">
+          <charges v-if="activeStatus[4]" />
         </el-tab-pane>
       </el-tabs>
     </div>
@@ -39,6 +42,7 @@ import typesManager from './specialSetup/typesManager'
 import jobTemplateSetting from './specialSetup/jobTemplateSetting'
 // import gradientSet from './insideSetting/gradientSet'
 import errorManager from './generalSettings/errorManager'
+import charges from './specialSetup/charges'
 export default {
   components: {
     overallManager, 
@@ -47,7 +51,8 @@ export default {
     // vipParameterManager, 
     jobTemplateSetting, 
     // gradientSet,
-    errorManager
+    errorManager,
+    charges
   },
   name: 'globalConfig',
   data () {

+ 233 - 0
src/views/categroyManager/specialSetup/charges.vue

@@ -0,0 +1,233 @@
+<template>
+  <div class='m-container'>
+    <!-- <h2>收费类型设置</h2> -->
+    <div class="m-core">
+      <div class='newBand' @click="openTypes('create')">添加</div>
+      <!-- 列表 -->
+      <div class="tableWrap">
+        <el-table :data='tableList' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+          <el-table-column align='center' prop="name"
+                           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 @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>
+        <pagination :total="pageInfo.total"
+                    :page.sync="pageInfo.page"
+                    :limit.sync="pageInfo.limit"
+                    :page-sizes="pageInfo.page_size"
+                    @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="onTypesSubmit('ruleForm')">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import pagination from '@/components/Pagination/index'
+import store from '@/store'
+import { chargeTypeList, subjectListTree, chargeTypeUpSet, chargeTypeDel } 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] // 选择限制显示条数
+      }
+    }
+  },
+  mounted() {
+    this.getList()
+    this.getSubjectTree()
+  },
+  methods: {
+    onTypesSubmit (formName) { // 添加数据
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.formActionTitle == 'create') {
+            if(this.form.id) { // 判断有没有Id,如果有则删除
+              delete this.form.id
+            }
+            chargeTypeUpSet(this.form).then(res => {
+              this.messageTips('添加', res)
+            })
+          } else if (this.formActionTitle == 'update') {
+            chargeTypeUpSet(this.form).then(res => {
+              this.messageTips('修改', res)
+            })
+          }
+        } else {
+          return false;
+        }
+      })
+    },
+    messageTips(title, res) {
+      if(res.code == 200) {
+        this.$message({
+          message: title + '成功',
+          type: 'success'
+        })
+        this.typeStatus = false
+        this.getList()
+      } else {
+        this.$message.error(res.msg)
+      }
+    },
+    onTypesDel(row) {
+      chargeTypeDel(row.id).then(res => {
+        this.messageTips('删除', res)
+      })
+    },
+    getList () { 
+      chargeTypeList({
+        rows: this.pageInfo.limit,
+        page: this.pageInfo.page
+      }).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
+          this.pageInfo.total = result.total
+        }
+      })
+    },
+    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 = []
+            if(item.subjects) {
+              item.subjects.forEach(s => {
+                subject.push({
+                  value: s.id,
+                  label: s.name
+                })
+              })
+            }
+            
+            tempArray[index] = {
+              label: item.name,
+              options: subject
+            }
+          })
+          this.subjectList = tempArray
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.el-button--primary {
+  background: #14928a;
+  border-color: #14928a;
+  color: #fff;
+  &:hover, &:active, &:focus {
+    background: #14928a;
+    border-color: #14928a;
+    color: #FFF;
+  }
+}
+.el-date-editor.el-input{
+  width: 100% !important;
+}
+.el-select {
+  width: 98% !important;
+}
+</style>

+ 2 - 2
src/views/teacherManager/teacherOperation/components/salarySet.vue

@@ -12,7 +12,7 @@
           </el-table-column>
           <el-table-column label="默认课酬-主教">
             <template slot-scope="scope">
-              <el-input :disabled="scope.row.courseScheduleType == 'HIGH'" v-model="scope.row.mainTeacher30MinSalary" placeholder="请输入课酬">
+              <el-input v-model="scope.row.mainTeacher30MinSalary" placeholder="请输入课酬">
                 <template slot="append" v-if="scope.row.courseScheduleType == 'HIGH'">元/45分钟</template>
                 <template slot="append" v-else-if="scope.row.courseScheduleType == 'CLASSROOM'">元/40分钟</template>
                 <template slot="append" v-else>元/30分钟</template>
@@ -21,7 +21,7 @@
           </el-table-column>
           <el-table-column label="默认课酬-助教">
             <template slot-scope="scope">
-              <el-input :disabled="scope.row.courseScheduleType == 'HIGH'" v-model="scope.row.assistantTeacher30MinSalary" placeholder="请输入课酬">
+              <el-input v-model="scope.row.assistantTeacher30MinSalary" placeholder="请输入课酬">
                 <template slot="append" v-if="scope.row.courseScheduleType == 'HIGH'">元/45分钟</template>
                 <template slot="append" v-else-if="scope.row.courseScheduleType == 'CLASSROOM'">元/40分钟</template>
                 <template slot="append" v-else>元/30分钟</template>

+ 22 - 5
src/views/teamBuild/signupList.vue

@@ -21,7 +21,9 @@
                @click="extendPaymentStatus = true"
                v-if="status=='PAY'">延长缴费</div>
           <div class='newBand'
-               @click="onCreateQRCode">报名二维码</div>
+               @click="onCreateQRCode">报名链接</div>
+          <div class='newBand'
+               @click="onCreateQRCode2">缴费详情</div>
         </div>
       </div>
       <!--  stepImgs: {
@@ -332,7 +334,7 @@
     </el-dialog>
     <el-dialog title="报名二维码"
                :visible.sync="qrcodeStatus"
-               width="500px">
+               width="300px">
       <div class="left-code">
         <h2>学员报名连接</h2>
         <div id="qrcode"
@@ -341,6 +343,10 @@
         <p class="code-url"
            v-if="codeUrl">{{ codeUrl }}</p>
       </div>
+    </el-dialog>
+    <el-dialog title="缴费详情二维码"
+               :visible.sync="qrcodeStatus2"
+               width="300px">
       <div class="right-code">
         <h2>报名缴费详情</h2>
         <div id="qrcode2"
@@ -415,6 +421,8 @@ export default {
       qrcodes: true,
       qrcode: null,
       codeUrl: null,
+      qrcodeStatus2: false, // 生成二维码
+      qrcodes2: true,
       qrcode2: null,
       codeUrl2: null,
       extendPaymentStatus: false,
@@ -564,7 +572,16 @@ export default {
           })
           this.qrcode.makeCode('http://mstudev.dayaedu.com/#/login?musicGroupId=' + id)
           this.codeUrl = 'http://mstudev.dayaedu.com/#/login?musicGroupId=' + id
-
+        }, 500)
+      }
+    },
+    onCreateQRCode2 () { // 生成报名二维码
+      this.qrcodeStatus2 = true
+      let id = this.$route.query.id
+      let teamName = this.$route.query.name
+      if (this.qrcodes2) {
+        this.qrcodes2 = false
+        setTimeout(() => {
           this.qrcode2 = new QRCode('qrcode2', {
             width: 200,
             height: 200,
@@ -820,8 +837,8 @@ export default {
 }
 .left-code,
 .right-code {
-  width: 50%;
-  float: left;
+  // width: 50%;
+  // float: left;
   h2 {
     font-size: 18px;
     text-align: center;