lex-xin 5 anni fa
parent
commit
ee5871ac9c

+ 9 - 0
src/api/studentManager.js

@@ -165,4 +165,13 @@ export function getStudentClass (data) {
     method: 'get',
     params: data
   })
+}
+
+// 根据学生id查看学生班级
+export function updateCourseBalance (data) {
+  return request({
+    url: api + `/userCashAccount/updateCourseBalance`,
+    method: 'post',
+    data: qs.stringify(data)
+  })
 }

+ 2 - 2
src/views/journal/vipApply.vue

@@ -134,8 +134,8 @@ export default {
       // 未读消息
       queryCountOfUnread().then(res => {
         if(res.code == 200) {
-          if(res.data && res.data.LEAVE) {
-            this.noReadMessage = res.data.LEAVE
+          if(res.data && res.data.VIPAPPLY) {
+            this.noReadMessage = res.data.VIPAPPLY
           }
         }
       })

+ 43 - 5
src/views/studentManager/components/studentOrder.vue

@@ -6,14 +6,21 @@
           <p>账户余额:<span>{{ dataInfo.balance }}</span></p>
         </div>
         <div class="headItem">
-          <p>银行卡:<span>{{ dataInfo.cardNo }}</span></p>
+          <p v-if="amountStatus">课程余额:<span>{{ dataInfo.courseBalance }}</span></p>
+          <p v-else>账户余额:<span><el-input style="width: 130px;" v-model="dataInfo.courseBalance" placeholder="账户余额"></el-input></span></p>
+          
+          <el-button v-if="amountStatus" @click="amountStatus = false" type="text">修改</el-button>
+          <el-button style="top:0;" @click="onUpdateCourse" v-else type="text">保存</el-button>
         </div>
         <div class="headItem">
+          <p>银行卡:<span>{{ dataInfo.cardNo }}</span></p>
+        </div>
+        <!-- <div class="headItem">
           <p>支付宝:<span>{{ dataInfo.zfb }}</span></p>
         </div>
         <div class="headItem">
           <p>微信:<span>{{ dataInfo.wxBalance }}</span></p>
-        </div>
+        </div> -->
       </div>
     </div>
     <!-- 搜索类型 -->
@@ -83,7 +90,7 @@
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
-import { studentPaymentOrderList, getUserCashAccountBaseInfo } from '@/api/studentManager'
+import { studentPaymentOrderList, getUserCashAccountBaseInfo, updateCourseBalance } from '@/api/studentManager'
 import { orderStatus } from '@/utils/searchArray'
 import store from '@/store'
 export default {
@@ -108,7 +115,8 @@ export default {
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
       tableList: [],
-      dataInfo: {}
+      dataInfo: {},
+      amountStatus: true, // 账户余额状态
     }
   },
   mounted () {
@@ -121,6 +129,7 @@ export default {
         if (res.code == 200) {
           this.dataInfo = {
             balance: res.data.balance,
+            courseBalance: res.data.courseBalance,
             wxBalance: 0,
             cardNo: res.data.cardNo,
             zfb: null
@@ -128,6 +137,26 @@ export default {
         }
       })
     },
+    onUpdateCourse() {
+      if(!this.dataInfo.courseBalance) {
+        this.$message.error('请输入课程余额')
+        reutrn
+      }
+      updateCourseBalance({ 
+        userId: this.searchForm.studentId,
+        decimal: this.dataInfo.courseBalance
+       }).then(res => {
+         let result = res.data
+         console.log(res)
+          if(res.code == 200) {
+            this.$message.success('保存成功')
+            this.amountStatus = true
+            this.__init()
+          } else {
+            this.$message.error(res.msg)
+          }
+       })
+    },
     search () {
       this.pageInfo.page = 1;
       this.getList();
@@ -168,7 +197,16 @@ export default {
   }
 }
 </script>
-<style lang="scss" scope>
+<style lang="scss" scoped>
+.headWrap .left .headItem {
+  position: relative;
+  /deep/.el-button {
+    position: absolute;
+    top: -3px;
+    right: 20px;
+  }
+}
+
 // .studentOrder {
 // }
 </style>

+ 4 - 0
src/views/studentManager/studentList.vue

@@ -60,6 +60,10 @@
                            label="家长联系电话">
           </el-table-column>
           <el-table-column align='center'
+                           prop="courseBalance"
+                           label="课程余额(元)">
+          </el-table-column>
+          <el-table-column align='center'
                            label="操作">
             <template slot-scope="scope">
               <router-link style="color:#409EFF"

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

@@ -57,14 +57,14 @@
           <el-table-column label="线上课">
             <template slot-scope="scope">
               <el-input v-model="scope.row.onlineClassesSalary" placeholder="请输入内容">
-                <template slot="append">元/30分钟</template>
+                <template slot="append">元/45分钟</template>
               </el-input>
             </template>
           </el-table-column>
           <el-table-column label="线下课">
             <template slot-scope="scope">
               <el-input v-model="scope.row.offlineClassesSalary" placeholder="请输入内容">
-                <template slot="append">元/30分钟</template>
+                <template slot="append">元/45分钟</template>
               </el-input>
             </template>
           </el-table-column>

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

@@ -349,6 +349,8 @@ export default {
           type: 'success'
         })
       } else {
+        console.log(res)
+        console.log(this.topForm)
         this.topForm.subjectId = this.topForm.subjectId.split(',')
         this.$message.error(res.msg)
       }

+ 3 - 7
src/views/teamDetail/components/baseInfo.vue

@@ -71,15 +71,11 @@
         </ul>
       </div>
     </div>
-    <div class="baseBottom">
+    <!-- <div class="baseBottom">
       <div class="qrcode code"
            ref="qrCodeUrl"></div>
       <a href="#">www.baidu.com</a>
-      <!-- <div class="btnList">
-        <div class="closeBtn">取消</div>
-        <div class="okBtn">确定</div>
-      </div> -->
-    </div>
+    </div> -->
   </div>
 </template>
 <script>
@@ -112,7 +108,7 @@ export default {
     // 获取乐团基本信息
     // let teamid = '191014135135001';
     // console.log(this.teamid);
-    this.creatQrCode();
+    // this.creatQrCode();
     getMusicGroup({ musicGroupId: this.teamid }).then(res => {
       if (res.code == 200) {
         // console.log(res.data.id)

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

@@ -56,8 +56,10 @@
       <el-table :data='tableList'
                 :header-cell-style="{background:'#EDEEF0',color:'#444'}">
         <el-table-column align='center'
-                         prop="classDate"
                          label="时间">
+          <template slot-scope="scope">
+            {{ scope.row.classDate + ' ' + scope.row.startClassTime }}
+          </template>
         </el-table-column>
         <el-table-column align='center'
                          prop="classGroupName"

+ 53 - 49
src/views/teamDetail/components/studentList.vue

@@ -279,14 +279,10 @@
                        :label="item.name"></el-option>
           </el-select>
         </el-form-item>
-        <!-- <el-form-item label="首缴金额"
-                      prop="price">
-          <el-input v-model="maskForm.price"></el-input>
-        </el-form-item> -->
 
         <el-form-item label="声部费用" 
                       prop="courseFee">
-          <el-input v-model="maskForm.courseFee"></el-input>
+          <el-input v-model="maskForm.courseFee" placeholder="请输入声部费用"></el-input>
         </el-form-item>
 
         <el-divider></el-divider>
@@ -294,36 +290,36 @@
           <el-input v-model="maskForm.temporaryCourseFee" placeholder="本次课程费用"></el-input>
         </el-form-item>
 
-        <el-form-item label="乐器" required style="display: flex;">
-          <el-col :span="8">
-            <el-form-item prop="musicGoodsIdList">
+        <el-form-item label="乐器" class="instrList" >
+          <el-col :span="11" style="width: auto;">
+            <el-form-item>
               <el-select placeholder="选择乐器" clearable v-model="maskForm.musicGoodsIdList">
                 <el-option v-for="(item, index) in INSTRUMENTLIST" :key="index" :value="item.value" :label="item.label"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="1">&nbsp;</el-col>
-          <el-col :span="7">
-            <el-input disabled v-model="maskForm.musicMode" placeholder="购买方式"></el-input>
-          </el-col>
-          <el-col :span="1">&nbsp;</el-col>
-          <el-col :span="7">
-            <el-form-item prop="musicPrice">
-              <el-input v-model="maskForm.musicPrice" placeholder="输入金额"></el-input>
+          <el-col :span="11">
+            <el-form-item>
+              <el-input v-model="maskForm.musicPrice" placeholder="输入金额">
+                <template slot="prepend">
+                  {{ maskForm.musicMode }}
+                </template>
+              </el-input>
             </el-form-item>
           </el-col>
         </el-form-item>
         <el-form-item label="辅件">
-          <el-col :span="11">
-            <el-form-item prop="instrGoodsIdList">
+          <el-col :span="11" style="width: auto;">
+            <el-form-item>
               <el-select filterable multiple placeholder="选择辅件" clearable v-model="maskForm.instrGoodsIdList">
                 <el-option v-for="(item, index) in ACCESSORIESLIST" :key="index" :value="item.value" :label="item.label"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="2">&nbsp;</el-col>
+          <el-col :span="1">&nbsp;</el-col>
           <el-col :span="11">
-            <el-form-item prop="instrPrice">
+            <el-form-item>
               <el-input v-model="maskForm.instrPrice" placeholder="输入金额"></el-input>
             </el-form-item>
           </el-col>
@@ -367,7 +363,7 @@ export default {
   data () {
     return {
       studentClassVisible: false, // 学员所在班级弹窗
-      addStudentVisible: true, //新增学员弹窗
+      addStudentVisible: false, //新增学员弹窗
       topFrom: { // 顶部的禁选框集合
         expect: '2', // 预期招生
         studing: '5', // 在读人数
@@ -535,28 +531,32 @@ export default {
               subjectId: maskForm.sound,
               musicGroupId: this.teamid,
               classGroupId: maskForm.signClass
-            },
-            studentPaymentOrderDetails: [
-              {
-                goodsIdList: maskForm.musicGoodsIdList,
-                type: 'MUSICAL',
-                price: maskForm.musicPrice
-              },
-              {
-                goodsIdList: maskForm.instrGoodsIdList.join(','),
-                type: 'ACCESSORIES',
-                price: maskForm.instrPrice
-              }
-            ]
+            }
+          }
+          params.studentPaymentOrderDetails = []
+          if(maskForm.musicGoodsIdList) {
+            params.studentPaymentOrderDetails.push({
+              goodsIdList: maskForm.musicGoodsIdList,
+              type: 'MUSICAL',
+              price: maskForm.musicPrice
+            })
           }
 
-          console.log(params)
+          if(maskForm.instrGoodsIdList && maskForm.instrGoodsIdList != '') {
+            params.studentPaymentOrderDetails.push({
+              goodsIdList: maskForm.instrGoodsIdList.join(','),
+              type: 'ACCESSORIES',
+              price: maskForm.instrPrice
+            })
+          }
           addStudent(params).then(res => {
             if (res.code == 200) {
               this.$message.success('添加学生成功');
               this.getList()
               this.addStudentVisible = false
             }
+
+            this.$refs.maskForm.resetFields()
           })
         }
       })
@@ -625,27 +625,31 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.moreInput {
-  width: 100%;
-  display: flex;
-  /deep/.el-form-item__content {
-    display: flex;
-    flex-direction: row;
-  }
-  // .el-input {
-  //   flex: 1;
-  //   margin-right: 15px;
-  //   &:last-child {
-  //     margin-right: 0;
-  //   }
-  // }
-}
+// .moreInput {
+//   width: 100%;
+//   display: flex;
+//   /deep/.el-form-item__content {
+//     display: flex;
+//     flex-direction: row;
+//   }
+// }
 /deep/.el-date-editor.el-input {
   width: auto;
   .el-input__inner {
     padding-right: 0;
   }
 }
+// .instrList {
+//   display: flex;
+//   /deep/.el-form-item__content {
+//     width: 80%;
+//   }
+//   .el-col {
+//     /deep/.el-form-item__content {
+//       width: 100%;
+//     }
+//   }
+// }
 .stu-container {
   .topFrom {
     margin: 20px 30px 0;

+ 2 - 2
vue.config.js

@@ -17,10 +17,10 @@ const name = defaultSettings.title || '大雅后台管理系统' // page title
 // http://47.99.212.176:8000 
 // 
 // let target = 'http://192.168.3.27:8000' // 箭河
-// let target = 'http://192.168.3.28:8000' //邹璇
+let target = 'http://192.168.3.28:8000' //邹璇
 // let target = 'http://192.168.3.8:8000' //勇哥
 // let target = 'http://47.99.212.176:8000' // 测试服
-let target = 'http://192.168.3.48:8000' // 乔
+// let target = 'http://192.168.3.48:8000' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
   /**