lex-xin hace 5 años
padre
commit
ceb978d915

+ 9 - 0
src/api/buildTeam.js

@@ -752,4 +752,13 @@ export function getMusicGroupAllClass (data) {
     method: 'get',
     params: data
   })
+}
+
+// 乐团【报名中、缴费中】 学生详情列表导出
+export function studentApplyDetailExport(data) {
+  return request({
+    url: api + '/studentRegistration/queryStudentApplyDetailExport',
+    method: 'post',
+    data: qs.stringify(data)
+  })
 }

+ 21 - 12
src/views/studentManager/components/studentOrder.vue

@@ -161,19 +161,28 @@ export default {
         this.$message.error('请输入课程余额')
         return
       }
-      updateCourseBalance({
-        userId: this.searchForm.studentId,
-        decimal: this.dataInfo.courseBalance
-      }).then(res => {
-        let result = res.data
-        if (res.code == 200) {
-          this.$message.success('保存成功')
-          this.amountStatus = true
-          this.__init()
-        } else {
-          this.$message.error(res.msg)
-        }
+      this.$confirm(`确定是否修改该学生课程余额?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        updateCourseBalance({
+          userId: this.searchForm.studentId,
+          decimal: this.dataInfo.courseBalance
+        }).then(res => {
+          let result = res.data
+          if (res.code == 200) {
+            this.$message.success('保存成功')
+            this.amountStatus = true
+            this.__init()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }).catch(() => {
+        this.amountStatus = true
       })
+      
     },
     search () {
       this.pageInfo.page = 1;

+ 24 - 12
src/views/teacherManager/teacherList.vue

@@ -280,18 +280,30 @@ export default {
       })
     },
     onStaffOperation (type, data) {
-      employeeOperate({
-        employeeId: data.id,
-        operate: type
-      }).then(res => {
-        if (res.code == 200) {
-          this.$message.success('更改成功')
-          this.roleStatus = false
-          this.getList()
-        } else {
-          this.$message.error(res.msg)
-        }
-      })
+      let str = ''
+      if(data.lockFlag != 1) {
+        str = `是否冻结${data.realName}老师?`
+      } else {
+        str = `是否解冻${data.realName}老师?`
+      }
+      this.$confirm(str, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        employeeOperate({
+          employeeId: data.id,
+          operate: type
+        }).then(res => {
+          if (res.code == 200) {
+            this.$message.success('更改成功')
+            this.roleStatus = false
+            this.getList()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }).catch(() =>{})
     },
     onReSet () {
       this.searchForm = {

+ 28 - 21
src/views/teamBuild/components/teamResetSound.vue

@@ -222,33 +222,40 @@ export default {
   methods: {
     // 删除声部
     removeListItem () {
-      // 先获取选择的声部 从全局把 this.allActiveStudent
-      for (let i = 0; i < this.activeSoundList.length; i++) {
-        for (let j = 0; j < this.multipleSelection.length; j++) {
-          if (this.activeSoundList[i].id == this.multipleSelection[j].id) {
-            // 在这里把(this.activeSoundList[i]的学生释放出来
-            // console.log(this.activeSoundList[i].studentList)
-            for (let x in this.allActiveStudent) {
-              for (let y in this.activeSoundList[i].studentList) {
-                if (this.allActiveStudent[x].userId == this.activeSoundList[i].studentList[y].userId) {
-                  this.allActiveStudent.splice(x, 1);
-                }
+      this.$confirm(`是否删除该声部?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        // 先获取选择的声部 从全局把 this.allActiveStudent
+        for (let i = 0; i < this.activeSoundList.length; i++) {
+          for (let j = 0; j < this.multipleSelection.length; j++) {
+            if (this.activeSoundList[i].id == this.multipleSelection[j].id) {
+              // 在这里把(this.activeSoundList[i]的学生释放出来
+              // console.log(this.activeSoundList[i].studentList)
+              for (let x in this.allActiveStudent) {
+                for (let y in this.activeSoundList[i].studentList) {
+                  if (this.allActiveStudent[x].userId == this.activeSoundList[i].studentList[y].userId) {
+                    this.allActiveStudent.splice(x, 1);
+                  }
 
+                }
               }
-            }
-            console.log('删除');
-            this.activeSoundList.splice(i, 1);
-            // 遍历循环所有的group 删除所选id
-            for (let key in this.soundLists) {
-              if (this.soundLists[key].indexOf(this.multipleSelection[j].id) != -1) {
-                // console.log(this.soundLists[key], this.multipleSelection[j].id, this.soundLists[key].indexOf(this.multipleSelection[j].id));
-                this.soundLists[key].splice(this.soundLists[key].indexOf(this.multipleSelection[j].id), 1)
+              console.log('删除');
+              this.activeSoundList.splice(i, 1);
+              // 遍历循环所有的group 删除所选id
+              for (let key in this.soundLists) {
+                if (this.soundLists[key].indexOf(this.multipleSelection[j].id) != -1) {
+                  // console.log(this.soundLists[key], this.multipleSelection[j].id, this.soundLists[key].indexOf(this.multipleSelection[j].id));
+                  this.soundLists[key].splice(this.soundLists[key].indexOf(this.multipleSelection[j].id), 1)
+                }
               }
             }
-          }
 
+          }
         }
-      }
+      }).catch(() =>{})
+      
     },
     addListItem () {
       this.dialogTableVisible = true;

+ 56 - 30
src/views/teamBuild/components/teamSoundMoney.vue

@@ -316,22 +316,29 @@ export default {
       this.dialogTableVisible = false;
     },
     removeListItem () {
-      for (let i = 0; i < this.activeSoundList.length; i++) {
-        for (let j = 0; j < this.multipleSelection.length; j++) {
+      this.$confirm(`是否删除该声部?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        for (let i = 0; i < this.activeSoundList.length; i++) {
+          for (let j = 0; j < this.multipleSelection.length; j++) {
 
-          if (this.activeSoundList[i].id == this.multipleSelection[j].id) {
-            this.activeSoundList.splice(i, 1);
-            // 遍历循环所有的group 删除所选id
-            for (let key in this.soundLists) {
-              if (this.soundLists[key].indexOf(this.multipleSelection[j].id) != -1) {
+            if (this.activeSoundList[i].id == this.multipleSelection[j].id) {
+              this.activeSoundList.splice(i, 1);
+              // 遍历循环所有的group 删除所选id
+              for (let key in this.soundLists) {
+                if (this.soundLists[key].indexOf(this.multipleSelection[j].id) != -1) {
 
-                this.soundLists[key].splice(this.soundLists[key].indexOf(this.multipleSelection[j].id), 1)
+                  this.soundLists[key].splice(this.soundLists[key].indexOf(this.multipleSelection[j].id), 1)
+                }
               }
             }
-          }
 
+          }
         }
-      }
+      }).catch(() => {})
+      
     },
     // 勾选选中框处理数据,存储勾选过的checkbox值
     checkinlist (obj) {
@@ -506,12 +513,19 @@ export default {
           }
           obj.musicGroupSubjectPlans.push(item);
         })
-        createTeam(obj).then(res => {
-          if (res.code == 200) {
-            // 成功 跳转到乐团报名详情
-            this.$router.push({ path: '/business/teamDetail' })
-          }
-        })
+        this.$confirm(`确定提交?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          createTeam(obj).then(res => {
+            if (res.code == 200) {
+              // 成功 跳转到乐团报名详情
+              this.$router.push({ path: '/business/teamDetail' })
+            }
+          })
+        }).catch(() => {})
+        
       } else {
         // 只提交第二页的数据
         let obj = {};
@@ -570,24 +584,36 @@ export default {
           }
           obj.musicGroupSubjectPlans.push(item);
         })
-        // 发请求修改声部信息
-        updateSubjectInfo(obj).then(res => {
-          if (res.code == 200) {
-            this.$message.success('提交成功')
-            this.$router.push({ path: '/business/teamDetail' })
-          }
-        })
+        this.$confirm(`确定提交?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          // 发请求修改声部信息
+          updateSubjectInfo(obj).then(res => {
+            if (res.code == 200) {
+              this.$message.success('提交成功')
+              this.$router.push({ path: '/business/teamDetail' })
+            }
+          })
+        }).catch(() => {}) 
       }
-
     },
     // 同意
     approval () {
-      auditSuccess({ musicGroupId: this.teamid }).then(res => {
-        if (res.code == 200) {
-          this.$message.success('审批通过')
-          this.$router.push({ path: '/business/teamDetail' })
-        }
-      })
+      this.$confirm(`是否审核通过?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        auditSuccess({ musicGroupId: this.teamid }).then(res => {
+          if (res.code == 200) {
+            this.$message.success('审核通过')
+            this.$router.push({ path: '/business/teamDetail' })
+          }
+        })
+      }).catch(() => {})
+      
     },
     // 拒绝
     refuse () {

+ 30 - 11
src/views/teamBuild/signupList.vue

@@ -28,6 +28,8 @@
                @click="onCreateQRCode">报名链接</div>
           <div class='newBand'
                @click="onCreateQRCode2">缴费详情</div>
+          <div class='newBand'
+               @click='onDownLoadExecl'>报名导出</div>
           <p style="margin-bottom:15px;">报名缴费截止时间:{{ applyExpireDate | formatTimer }} 0点</p>
         </div>
       </div>
@@ -372,7 +374,7 @@
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
-import { getintoClass, getStudentList, findSound, musicGroupOpenPay, openPayment, musicGroupFound, extensionPayment, resetPlanNum, cancelMusicGroup, getTeamBaseInfo } from '@/api/buildTeam'
+import { getintoClass, getStudentList, findSound, musicGroupOpenPay, openPayment, musicGroupFound, extensionPayment, resetPlanNum, cancelMusicGroup, getTeamBaseInfo, studentApplyDetailExport } from '@/api/buildTeam'
 import { resetStudentSubject, getStudentFeeDetail } from '@/api/studentManager'
 import { vaildStudentUrl, vaildTeacherUrl } from '@/utils/validate'
 import QRCode from 'qrcodejs2'
@@ -563,16 +565,24 @@ export default {
         ids.push(item.id)
       })
 
-      openPayment({
-        ids: ids.join(',')
-      }).then(res => {
-        if (res.code == 200) {
-          this.$message.success('开启成功')
-          this.getList()
-        } else {
-          this.$message.error(res.msg)
-        }
-      })
+
+      this.$confirm(`是否确认提前缴费?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        openPayment({
+          ids: ids.join(',')
+        }).then(res => {
+          if (res.code == 200) {
+            this.$message.success('开启成功')
+            this.getList()
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }).catch(() =>{})
+      
     },
     onCreateQRCode () { // 生成报名二维码
       this.qrcodeStatus = true
@@ -612,6 +622,15 @@ export default {
         }, 500)
       }
     },
+    onDownLoadExecl() { // 报表导出
+      studentApplyDetailExport({
+        musicGroupId: this.$route.query.id,
+        page: 1,
+        rows: 9999
+      }).then(res => {
+        console.log(res)
+      })
+    },
     onGoHome () { // 确认开团
       // 判断是否有学生缴费
       if (this.paymentNum <= 0) {

+ 21 - 14
src/views/teamDetail/components/courseList.vue

@@ -337,21 +337,28 @@ export default {
 
     },
     submitResetClass () {
-      let obj = {
-        actualTeacherId: this.maskForm.teacher,
-        startClassTimeStr: this.maskForm.startTime,
-        endClassTimeStr: this.maskForm.endTime,
-        id: this.maskForm.id,
-        teachingTeacherIdList: this.maskForm.assistant.join(',') || null,
-        classDate: this.maskForm.date
-      }
-      resetCourse(obj).then(res => {
-        if (res.code == 200) {
-          this.$message.success('修改成功')
-          this.getList();
-          this.courseVisible = false;
+      this.$confirm('是否确定?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let obj = {
+          actualTeacherId: this.maskForm.teacher,
+          startClassTimeStr: this.maskForm.startTime,
+          endClassTimeStr: this.maskForm.endTime,
+          id: this.maskForm.id,
+          teachingTeacherIdList: this.maskForm.assistant.join(',') || null,
+          classDate: this.maskForm.date
         }
-      })
+        resetCourse(obj).then(res => {
+          if (res.code == 200) {
+            this.$message.success('修改成功')
+            this.getList();
+            this.courseVisible = false;
+          }
+        })
+      }).catch(() => {})
+      
     },
     handleClose () {
       this.courseVisible = false;

+ 12 - 5
src/views/teamDetail/teamDetailedList.vue

@@ -94,11 +94,18 @@ export default {
       this.$router.push({ path: '/business/teamDetail', query: { search: this.Fsearch, rules: this.Frules } })
     },
     okDetailList () {
-      verifyMusicalList({ musicGroupId: this.teamid }).then(res => {
-        if (res.code == 200) {
-          this.$router.push({ path: '/business/teamDetail' })
-        }
-      })
+      this.$confirm(`是否确认发放清单?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        verifyMusicalList({ musicGroupId: this.teamid }).then(res => {
+          if (res.code == 200) {
+            this.$router.push({ path: '/business/teamDetail' })
+          }
+        })
+      }).catch(() => {})
+      
     }
   },
 }

+ 42 - 22
src/views/teamDetail/teamList.vue

@@ -399,23 +399,36 @@ 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)
-          }
-        })
+        this.$confirm('是否确定开启乐团?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          resumeMusicGroup({ musicGroupId: row.id }).then(res => {
+            if (res.code == 200) {
+              this.$message.success('开启成功')
+              this.getList()
+            } else {
+              this.$message.error(res.msg)
+            }
+          })
+        }).catch(() => {})
+        
       } 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)
-          }
-        })
+        this.$confirm('是否确定暂停乐团?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          pauseMusicGroup({ musicGroupId: row.id }).then(res => {
+            if (res.code == 200) {
+              this.$message.success('暂停成功')
+              this.getList()
+            } else {
+              this.$message.error(res.msg)
+            }
+          })
+        }).catch(() => {})
       }
     },
     gotoSearch () {
@@ -517,12 +530,19 @@ export default {
     },
     // 确认成团
     startTeam (row) {
-      startTeam({ musicGroupId: row.id }).then(res => {
-        if (res.code == 200) {
-          this.$message.success('开启乐团成功')
-          this.getList();
-        }
-      })
+      this.$confirm('是否确定成团?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        startTeam({ musicGroupId: row.id }).then(res => {
+          if (res.code == 200) {
+            this.$message.success('开启乐团成功')
+            this.getList();
+          }
+        })
+      }).catch(()=>{})
+      
     }
   }
 

+ 22 - 15
src/views/vipClass/vipDetail/components/vipStudentList.vue

@@ -199,22 +199,29 @@ export default {
 
     },
     lookFee (scope) {
-      let id = scope.row.id;
-      getStudentSurplusCourseFee({ studentId: id, vipGroupId: this.id }).then(res => {
-        if (res.code == 200) {
-          // scope.row.fee =
-          this.$prompt('请输入退课金额', '提示', {
-            confirmButtonText: '确定',
-            cancelButtonText: '取消',
-            inputValue: res.data.suplusCourseFee
-          }).then(({ value }) => {
-            scope.row.fee = value;
-            this.leaveSchool(scope);
-          }).catch(res => {
+      this.$confirm(`确定是否退学?`, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let id = scope.row.id;
+        getStudentSurplusCourseFee({ studentId: id, vipGroupId: this.id }).then(res => {
+          if (res.code == 200) {
+            // scope.row.fee =
+            this.$prompt('请输入退课金额', '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              inputValue: res.data.suplusCourseFee
+            }).then(({ value }) => {
+              scope.row.fee = value;
+              this.leaveSchool(scope);
+            }).catch(res => {
 
-          })
-        }
-      })
+            })
+          }
+        })
+      }).catch(() =>{})
+      
     },
     addStudentList () {
       // 发请求 搜索学生

+ 2 - 2
vue.config.js

@@ -16,11 +16,11 @@ const name = defaultSettings.title || '管乐迷后台管理系统' // page titl
 // const port = process.env.port || process.env.npm_config_port || 9528 // dev port
 // http://47.99.212.176:8000 
 // // 
-let target = 'http://testadm.dayaedu.com/' //勇哥迁库
+// let target = 'http://testadm.dayaedu.com/' //勇哥迁库
 // let target = 'http://192.168.3.27:8000' // 箭河
 // let target = 'http://192.168.3.28:8000' //邹璇
 // let target = 'http://192.168.3.8:18000' //勇哥
-// let target = 'http://47.99.212.176:8000' // 测试服
+let target = 'http://47.99.212.176:8000' // 测试服
 // let target = 'http://192.168.3.48:8080' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {