Browse Source

修改判断

lex-xin 5 years ago
parent
commit
250491761d

+ 27 - 0
src/api/buildTeam.js

@@ -525,4 +525,31 @@ export function musicGroupFound (data) {
     method: 'POST',
     method: 'POST',
     data: qs.stringify(data)
     data: qs.stringify(data)
   })
   })
+}
+
+// 延长缴费
+export function extensionPayment (data) {
+  return request({
+    url: api + `/musicGroup/extensionPayment`,
+    method: 'POST',
+    data: qs.stringify(data)
+  })
+}
+
+// 恢复乐团
+export function resumeMusicGroup (data) {
+  return request({
+    url: api + `/musicGroup/resumeMusicGroup`,
+    method: 'POST',
+    data: qs.stringify(data)
+  })
+}
+
+// 暂停乐团
+export function pauseMusicGroup (data) {
+  return request({
+    url: api + `/musicGroup/pauseMusicGroup`,
+    method: 'POST',
+    data: qs.stringify(data)
+  })
 }
 }

+ 2 - 1
src/utils/searchArray.js

@@ -10,7 +10,8 @@ const courseType = [
     { label: '综合课', value: 'COMPREHENSIVE' },
     { label: '综合课', value: 'COMPREHENSIVE' },
     { label: '练习课', value: 'PRACTICE' },
     { label: '练习课', value: 'PRACTICE' },
     { label: '启蒙课', value: 'ENLIGHTENMENT' },
     { label: '启蒙课', value: 'ENLIGHTENMENT' },
-    { label: '集训课', value: 'TRAINING' }
+    { label: '集训课', value: 'TRAINING' },
+    { label: '课堂课', value: 'CLASSROOM' }
 ]
 ]
 
 
 // 考勤状态
 // 考勤状态

+ 4 - 1
src/utils/vueFilter.js

@@ -77,7 +77,10 @@ Vue.filter('coursesType', (value) => {
     COMPREHENSIVE: '综合课',
     COMPREHENSIVE: '综合课',
     PRACTICE: '练习课',
     PRACTICE: '练习课',
     ENLIGHTENMENT: '启蒙课',
     ENLIGHTENMENT: '启蒙课',
-    TRAINING: '集训课'
+    TRAINING: '集训课',
+    TRAINING_SINGLE: '集训单技课',
+    TRAINING_MIX: '集训合奏课',
+    CLASSROOM: '课堂课'
   }
   }
   return template[value]
   return template[value]
 })
 })

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

@@ -6,7 +6,7 @@
       <div class='newBand' @click="openTypes('create')">添加</div>
       <div class='newBand' @click="openTypes('create')">添加</div>
       <!-- 列表 -->
       <!-- 列表 -->
       <div class="tableWrap">
       <div class="tableWrap">
-        <el-table :data='tableList'>
+        <el-table :data='tableList' :header-cell-style="{background:'#EDEEF0',color:'#444'}">
           <el-table-column align='center' prop="name"
           <el-table-column align='center' prop="name"
                            label="分类名称">
                            label="分类名称">
           </el-table-column>
           </el-table-column>

+ 6 - 6
src/views/categroyManager/globalConfig.vue

@@ -21,11 +21,11 @@
         <el-tab-pane label="作业模板管理" name="4">
         <el-tab-pane label="作业模板管理" name="4">
             <jobTemplateSetting v-if="activeStatus[4]" />
             <jobTemplateSetting v-if="activeStatus[4]" />
         </el-tab-pane>
         </el-tab-pane>
-        <el-tab-pane label="梯度结算规则设置" name="5">
+        <!-- <el-tab-pane label="梯度结算规则设置" name="5">
             <gradientSet v-if="activeStatus[5]" />
             <gradientSet v-if="activeStatus[5]" />
-        </el-tab-pane>
-        <el-tab-pane label="热词标签管理" name="6">
-          <errorManager v-if="activeStatus[6]" />
+        </el-tab-pane> -->
+        <el-tab-pane label="热词标签管理" name="5">
+          <errorManager v-if="activeStatus[5]" />
         </el-tab-pane>
         </el-tab-pane>
       </el-tabs>
       </el-tabs>
     </div>
     </div>
@@ -37,7 +37,7 @@ import musicalManager from './specialSetup/musicalManager'
 import typesManager from './specialSetup/typesManager'
 import typesManager from './specialSetup/typesManager'
 import vipParameterManager from './generalSettings/vipParameterManager'
 import vipParameterManager from './generalSettings/vipParameterManager'
 import jobTemplateSetting from './specialSetup/jobTemplateSetting'
 import jobTemplateSetting from './specialSetup/jobTemplateSetting'
-import gradientSet from './insideSetting/gradientSet'
+// import gradientSet from './insideSetting/gradientSet'
 import errorManager from './generalSettings/errorManager'
 import errorManager from './generalSettings/errorManager'
 export default {
 export default {
   components: {
   components: {
@@ -46,7 +46,7 @@ export default {
     typesManager, 
     typesManager, 
     vipParameterManager, 
     vipParameterManager, 
     jobTemplateSetting, 
     jobTemplateSetting, 
-    gradientSet,
+    // gradientSet,
     errorManager
     errorManager
   },
   },
   name: 'globalConfig',
   name: 'globalConfig',

+ 91 - 56
src/views/teacherManager/teacherDetail/components/salarySet.vue

@@ -3,7 +3,7 @@
     <!-- <h4>单次课次参考时长:30min</h4> -->
     <!-- <h4>单次课次参考时长:30min</h4> -->
     <div class="tableList">
     <div class="tableList">
       <div class="left">
       <div class="left">
-        <h3>单次课次参考时长:30min
+        <h3>
           <el-button @click="onMusicGroupSave2()" type="text">保存</el-button>
           <el-button @click="onMusicGroupSave2()" type="text">保存</el-button>
         </h3>
         </h3>
         <el-table :data='teamTable'
         <el-table :data='teamTable'
@@ -13,12 +13,22 @@
               {{ scope.row.courseScheduleType | coursesType }}
               {{ scope.row.courseScheduleType | coursesType }}
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column label="主教课酬">
+          <el-table-column label="主教30min课酬">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <el-input v-model="scope.row.mainTeacherSalary" placeholder="请输入课酬"></el-input>
               <el-input v-model="scope.row.mainTeacherSalary" placeholder="请输入课酬"></el-input>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
-          <el-table-column label="助教课酬">
+          <el-table-column label="助教30min课酬">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.assistantTeacherSalary" placeholder="请输入课酬"></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column label="主教3.0梯度课酬">
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.mainTeacherSalary" placeholder="请输入课酬"></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column label="助教3.0梯度课酬">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <el-input v-model="scope.row.assistantTeacherSalary" placeholder="请输入课酬"></el-input>
               <el-input v-model="scope.row.assistantTeacherSalary" placeholder="请输入课酬"></el-input>
             </template>
             </template>
@@ -28,7 +38,7 @@
         <h3>单次课次参考时长:30min
         <h3>单次课次参考时长:30min
           <el-button @click="onVIPSave()" type="text">保存</el-button>
           <el-button @click="onVIPSave()" type="text">保存</el-button>
         </h3>
         </h3>
-        <el-table :data='vipTable'
+        <el-table :data='vipTable' style="width: 70%"
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}">
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}">
           <el-table-column label="VIP课课酬参考值" prop="vipGroupCategoryName">
           <el-table-column label="VIP课课酬参考值" prop="vipGroupCategoryName">
           </el-table-column>
           </el-table-column>
@@ -44,7 +54,7 @@
           </el-table-column>
           </el-table-column>
         </el-table>
         </el-table>
       </div>
       </div>
-      <div class="right">
+      <!-- <div class="right">
         <h3>乐团课梯度课酬结算
         <h3>乐团课梯度课酬结算
           <el-button @click="onMusicGroupSave()" type="text">保存</el-button>
           <el-button @click="onMusicGroupSave()" type="text">保存</el-button>
         </h3>
         </h3>
@@ -70,7 +80,7 @@
           </el-table-column>
           </el-table-column>
         </el-table>
         </el-table>
         
         
-      </div>
+      </div> -->
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
@@ -87,7 +97,7 @@ export default {
         courseScheduleType: "SINGLE",
         courseScheduleType: "SINGLE",
         mainTeacherSalary: null,
         mainTeacherSalary: null,
         settlementType: "FIXED_SALARY",
         settlementType: "FIXED_SALARY",
-        userId: this.$route.query.teacherId
+        userId: this.$route.query.teacherId,
       },{
       },{
         assistantTeacherSalary: null,
         assistantTeacherSalary: null,
         courseScheduleType: "HIGH",
         courseScheduleType: "HIGH",
@@ -100,6 +110,30 @@ export default {
         mainTeacherSalary: null,
         mainTeacherSalary: null,
         settlementType: "FIXED_SALARY",
         settlementType: "FIXED_SALARY",
         userId: this.$route.query.teacherId
         userId: this.$route.query.teacherId
+      },{
+        assistantTeacherSalary: null,
+        courseScheduleType: "COMPREHENSIVE",
+        mainTeacherSalary: null,
+        settlementType: "FIXED_SALARY",
+        userId: this.$route.query.teacherId
+      },{
+        assistantTeacherSalary: null,
+        courseScheduleType: "TRAINING_SINGLE",
+        mainTeacherSalary: null,
+        settlementType: "FIXED_SALARY",
+        userId: this.$route.query.teacherId
+      },{
+        assistantTeacherSalary: null,
+        courseScheduleType: "TRAINING_MIX",
+        mainTeacherSalary: null,
+        settlementType: "FIXED_SALARY",
+        userId: this.$route.query.teacherId
+      },{
+        assistantTeacherSalary: null,
+        courseScheduleType: "CLASSROOM",
+        mainTeacherSalary: null,
+        settlementType: "FIXED_SALARY",
+        userId: this.$route.query.teacherId
       }],
       }],
       vipTable: [],
       vipTable: [],
       musicGroupTable: [],
       musicGroupTable: [],
@@ -120,8 +154,10 @@ export default {
           let vipData = []
           let vipData = []
           res.data.forEach(item => {
           res.data.forEach(item => {
             vipData.push({
             vipData.push({
-              offlineClassesSalary: item.offlineClassesUnitPrice,
-              onlineClassesSalary: item.onlineClassesUnitPrice,
+              offlineClassesSalary: null,
+              // offlineClassesSalary: item.offlineClassesUnitPrice,
+              onlineClassesSalary: null,
+              // onlineClassesSalary: item.onlineClassesUnitPrice,
               vipGroupCategoryId: item.id,
               vipGroupCategoryId: item.id,
               vipGroupCategoryName: item.name,
               vipGroupCategoryName: item.name,
               userId: this.teacherId
               userId: this.teacherId
@@ -155,52 +191,52 @@ export default {
       })
       })
 
 
       // 乐团梯度结算
       // 乐团梯度结算
-      sysConfigList({ group: 'settlement_rule' }).then(res => {
-        if(res.code == 200 && res.data.length > 0) {
-          let domain = []
-          res.data.forEach(item => {
-              let courseScheduleType
-              if(item.paramName == 'sigle_gradient_settlement_rule') {
-                  courseScheduleType = "SINGLE"
-              }
-              if(item.paramName == "max_gradient_settlement_rule") {
-                  courseScheduleType = "MIX"
-              }
-              if(item.paramName == "high_gradient_settlement_rule") {
-                  courseScheduleType = "HIGH"
-              }
-              if(item.paranValue) {
-                let value = JSON.parse(item.paranValue)
-                value.forEach(type => {
-                  domain.push({
-                    courseScheduleType: courseScheduleType,
-                    durationMax: type.max,
-                    durationMin: type.min,
-                    mainTeacherSalary: null,
-                    assistantTeacherSalary: null,
-                    userId: this.teacherId,
-                    settlementType: 'GRADIENT_SALARY'
-                  })
-                })
-              }
-          })
-          // this.ruleList.push(domain)
+      // sysConfigList({ group: 'settlement_rule' }).then(res => {
+      //   if(res.code == 200 && res.data.length > 0) {
+      //     let domain = []
+      //     res.data.forEach(item => {
+      //         let courseScheduleType
+      //         if(item.paramName == 'sigle_gradient_settlement_rule') {
+      //             courseScheduleType = "SINGLE"
+      //         }
+      //         if(item.paramName == "max_gradient_settlement_rule") {
+      //             courseScheduleType = "MIX"
+      //         }
+      //         if(item.paramName == "high_gradient_settlement_rule") {
+      //             courseScheduleType = "HIGH"
+      //         }
+      //         if(item.paranValue) {
+      //           let value = JSON.parse(item.paranValue)
+      //           value.forEach(type => {
+      //             domain.push({
+      //               courseScheduleType: courseScheduleType,
+      //               durationMax: type.max,
+      //               durationMin: type.min,
+      //               mainTeacherSalary: null,
+      //               assistantTeacherSalary: null,
+      //               userId: this.teacherId,
+      //               settlementType: 'GRADIENT_SALARY'
+      //             })
+      //           })
+      //         }
+      //     })
+      //     // this.ruleList.push(domain)
 
 
-          // 乐团
-          teacherSalaryList({
-            rows: 9999,
-            page: 1,
-            teacherId: this.teacherId,
-            settlementType: 'GRADIENT_SALARY'
-          }).then(res => {
-            if(res.code == 200) {
-              let rows = res.data.rows
-              // this.musicGroupTable = res.data.rows
-              this.teacherSalaryList(domain, rows)
-            }
-          })
-        }
-      })
+      //     // 乐团
+      //     teacherSalaryList({
+      //       rows: 9999,
+      //       page: 1,
+      //       teacherId: this.teacherId,
+      //       settlementType: 'GRADIENT_SALARY'
+      //     }).then(res => {
+      //       if(res.code == 200) {
+      //         let rows = res.data.rows
+      //         // this.musicGroupTable = res.data.rows
+      //         this.teacherSalaryList(domain, rows)
+      //       }
+      //     })
+      //   }
+      // })
     },
     },
     vipListCompare(vipData, rows) { // vip 做对比
     vipListCompare(vipData, rows) { // vip 做对比
       if(!rows) { // 判断是否有数据
       if(!rows) { // 判断是否有数据
@@ -372,11 +408,10 @@ export default {
   }
   }
   .tableList {
   .tableList {
     .left, .right {
     .left, .right {
-      
       float: left;
       float: left;
     }
     }
     .left {
     .left {
-      width: 40%;
+      width: 70%;
       margin-right: 2%;
       margin-right: 2%;
     }
     }
     .right {
     .right {

+ 2 - 2
src/views/teacherManager/teacherDetail/index.vue

@@ -63,8 +63,8 @@ export default {
   data () {
   data () {
     return {
     return {
       teacherName: this.$route.query.teacherName,
       teacherName: this.$route.query.teacherName,
-      activeName: "0",
-      activeStatus: [true, false, false, false, false, false, false, false]
+      activeName: "7",
+      activeStatus: [false, false, false, false, false, false, false, true]
     }
     }
   },
   },
   methods: {
   methods: {

+ 48 - 4
src/views/teamBuild/signupList.vue

@@ -12,7 +12,7 @@
                v-if="status=='APPLY'">开始缴费</div>
                v-if="status=='APPLY'">开始缴费</div>
           <div class='newBand' @click="onGoHome"
           <div class='newBand' @click="onGoHome"
                v-if="status=='PAY'">确认开团</div>
                v-if="status=='PAY'">确认开团</div>
-          <div class='newBand'
+          <div class='newBand' @click="extendPaymentStatus = true"
                v-if="status=='PAY'">延长缴费</div>
                v-if="status=='PAY'">延长缴费</div>
           <div class='newBand' @click="onCreateQRCode" >生成二维码</div>
           <div class='newBand' @click="onCreateQRCode" >生成二维码</div>
         </div>
         </div>
@@ -190,6 +190,26 @@
       </div>
       </div>
     </el-dialog>
     </el-dialog>
 
 
+    <el-dialog title="延长缴费"
+               :visible.sync="extendPaymentStatus"
+               width="400px">
+      <el-form :model="extendForm" ref="extendForm" :rules="extendRule">
+        <el-form-item label="延长时间" prop="expireDate">
+          <el-date-picker
+            v-model="extendForm.expireDate"
+            value-format="yyyy-MM-dd"
+            type="date"
+            placeholder="选择日期">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer"
+           class="dialog-footer">
+        <el-button @click="extendPaymentStatus = false">取 消</el-button>
+        <el-button type="primary" @click="onExtendPayment('extendForm')">确 定</el-button>
+      </div>
+    </el-dialog>
+
     <el-dialog title="订单详情"
     <el-dialog title="订单详情"
                :visible.sync="orderVisible"
                :visible.sync="orderVisible"
                width="600px">
                width="600px">
@@ -283,7 +303,7 @@
 </template>
 </template>
 <script>
 <script>
 import pagination from '@/components/Pagination/index'
 import pagination from '@/components/Pagination/index'
-import { getTeamRecruit, getintoClass, getStudentList, findSound, musicGroupOpenPay, openPayment, musicGroupFound } from '@/api/buildTeam'
+import { getTeamRecruit, getintoClass, getStudentList, findSound, musicGroupOpenPay, openPayment, musicGroupFound, extensionPayment } from '@/api/buildTeam'
 import { resetStudentSubject, getStudentFeeDetail } from '@/api/studentManager'
 import { resetStudentSubject, getStudentFeeDetail } from '@/api/studentManager'
 import QRCode from 'qrcodejs2'
 import QRCode from 'qrcodejs2'
 export default {
 export default {
@@ -341,6 +361,13 @@ export default {
       codeUrl: null,
       codeUrl: null,
       qrcode2: null,
       qrcode2: null,
       codeUrl2: null,
       codeUrl2: null,
+      extendPaymentStatus: false,
+      extendForm: {
+        expireDate: null,
+      }, 
+      extendRule: {
+        expireDate: [{ required: true, message: '请选择延长时间', trigger: 'change' }]
+      }
     }
     }
   },
   },
   created () {
   created () {
@@ -484,9 +511,9 @@ export default {
             message: '开启成功'
             message: '开启成功'
           })
           })
           this.$router.push({
           this.$router.push({
-            path: '/business/teamDetails',
+            path: '/business/teamSeting',
             query: {
             query: {
-              status: 'PROGRESS',
+              status: 'PREPARE',
               id: this.$route.query.id,
               id: this.$route.query.id,
               name: this.$route.query.name
               name: this.$route.query.name
             }
             }
@@ -519,6 +546,23 @@ export default {
       })
       })
 
 
     },
     },
+    onExtendPayment(formName) {
+      this.$refs[formName].validate(valid => {
+        if(valid) {
+          extensionPayment({ 
+            musicGroupId: this.id,
+            expireDate: this.extendForm.expireDate
+          }).then(res => {
+            if(res.code == 200) {
+              this.$message.success('延长缴费成功')
+              this.extendPaymentStatus = false
+            } else {
+              this.$message.error(res.msg);
+            }
+          })
+        }
+      })
+    },
     lookdetail (row) {
     lookdetail (row) {
       console.log(row);
       console.log(row);
       this.orderVisible = true;
       this.orderVisible = true;

+ 24 - 2
src/views/teamDetail/teamList.vue

@@ -139,8 +139,8 @@
                            @click="gotodetailList(scope.row)">发放清单</el-button>
                            @click="gotodetailList(scope.row)">发放清单</el-button>
                 <el-button type="text"
                 <el-button type="text"
                            @click="lookTeamDetail(scope.row)">查看</el-button>
                            @click="lookTeamDetail(scope.row)">查看</el-button>
-                <el-button type="text">启动</el-button>
-                <el-button type="text">暂停</el-button>
+                <el-button v-if="scope.row.status == 'PAUSE'" @click="onTeamOpeation('start', scope.row)" type="text">启动</el-button>
+                <el-button v-if="scope.row.status == 'PROGRESS'" @click="onTeamOpeation('pause', scope.row)"  type="text">暂停</el-button>
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
@@ -160,6 +160,7 @@
 import pagination from '@/components/Pagination/index'
 import pagination from '@/components/Pagination/index'
 // import { truncate } from 'fs';
 // import { truncate } from 'fs';
 import { getTeamList } from '@/api/teamServer'
 import { getTeamList } from '@/api/teamServer'
+import { pauseMusicGroup, resumeMusicGroup } from '@/api/buildTeam'
 export default {
 export default {
   name: "Main",
   name: "Main",
   data () {
   data () {
@@ -294,6 +295,27 @@ export default {
 
 
       }
       }
     },
     },
+    onTeamOpeation(type, row) {
+      if(type == 'start') {
+        resumeMusicGroup({ musicGroupId: row.id }).then(res => {
+          if(res.code == 200) {
+            this.$message.success('开启成功')
+            this.getList()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      } else if(type == 'pause') {
+        pauseMusicGroup({ musicGroupId: row.id }).then(res => {
+          if(res.code == 200) {
+            this.$message.success('暂停成功')
+            this.getList()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }
+    },
     gotoSearch () {
     gotoSearch () {
       this.$refs['topForm'].resetFields();
       this.$refs['topForm'].resetFields();
       this.searchLsit = [];
       this.searchLsit = [];