|
@@ -166,6 +166,14 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="批量修改缴费">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.isLock?'可修改':'已锁定'}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column align="center"
|
|
|
label="缴费金额"
|
|
|
prop="courseFee">
|
|
@@ -194,6 +202,8 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align='center'
|
|
|
+ fixed="right"
|
|
|
+ width="250px;"
|
|
|
label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
<div v-if="scope.row.studentStatus != 'QUIT'">
|
|
@@ -216,14 +226,19 @@
|
|
|
@click="chioseType(scope.row)">确定</el-button>
|
|
|
</div>
|
|
|
</el-popover> -->
|
|
|
- <el-button type='text'
|
|
|
- @click="quieTeamMask(scope.row)">退团</el-button>
|
|
|
+
|
|
|
<el-button type="text"
|
|
|
@click="lookClass(scope.row)">查看班级</el-button>
|
|
|
- <!-- <el-button type="text"
|
|
|
- @click="lookClass(scope.row)">锁定</el-button>
|
|
|
<el-button type="text"
|
|
|
- @click="lookClass(scope.row)">解锁</el-button> -->
|
|
|
+ v-if="!scope.row.isLock"
|
|
|
+ @click="lockStudent(scope.row)">锁定</el-button>
|
|
|
+ <el-button v-else
|
|
|
+ type="text"
|
|
|
+ @click="lockStudent(scope.row)">解锁</el-button>
|
|
|
+ <el-button type="text"
|
|
|
+ @click="resetPay(scope.row)">修改缴费</el-button>
|
|
|
+ <el-button type='text'
|
|
|
+ @click="quieTeamMask(scope.row)">退团</el-button>
|
|
|
|
|
|
</div>
|
|
|
</template>
|
|
@@ -523,10 +538,61 @@
|
|
|
v-if="codeUrl">{{ codeUrl }}</p>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog title="修改缴费周期"
|
|
|
+ :before-close='closePayVisible'
|
|
|
+ width='600px'
|
|
|
+ :visible.sync="payVisible">
|
|
|
+ <el-form :model="payForm"
|
|
|
+ ref="payForm"
|
|
|
+ :inline="true">
|
|
|
+ <el-form-item label="学生姓名"
|
|
|
+ prop="studentName">
|
|
|
+ <el-input v-model="payForm.studentName"
|
|
|
+ disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <br>
|
|
|
+ <el-form-item label="缴费金额"
|
|
|
+ prop="payMoney">
|
|
|
+ <el-input type="number"
|
|
|
+ v-model="payForm.payMoney"
|
|
|
+ @mousewheel.native.prevent></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="缴费月份"
|
|
|
+ prop="payMonth">
|
|
|
+ <el-checkbox-group v-model="payForm.payMonth"
|
|
|
+ fill="#14928A"
|
|
|
+ text-color='#474747'>
|
|
|
+
|
|
|
+ <el-checkbox label="1">一月</el-checkbox>
|
|
|
+ <el-checkbox label="2">二月</el-checkbox>
|
|
|
+ <el-checkbox label="3">三月</el-checkbox>
|
|
|
+ <el-checkbox label="4">四月</el-checkbox>
|
|
|
+ <el-checkbox label="5">五月</el-checkbox>
|
|
|
+ <el-checkbox label="6">六月</el-checkbox>
|
|
|
+ <el-checkbox label="7">七月</el-checkbox>
|
|
|
+ <el-checkbox label="8">八月</el-checkbox>
|
|
|
+ <el-checkbox label="9">九月</el-checkbox>
|
|
|
+ <el-checkbox label="10">十月</el-checkbox>
|
|
|
+ <el-checkbox label="11">十一月</el-checkbox>
|
|
|
+ <el-checkbox label="12">十二月</el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <!-- studentName: '',
|
|
|
+ payMoney: '',
|
|
|
+ payMonth -->
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer"
|
|
|
+ class="dialog-footer">
|
|
|
+ <el-button @click="quitVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary"
|
|
|
+ @click="submitPay">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { getTeamStudentList, getTeamStudentInfo, getSingleClass, findSound, StudentQuit, findSubjectPlan, getGoods, getSubject, getMusicGroupAllClass } from '@/api/buildTeam'
|
|
|
+import { getTeamStudentList, getTeamStudentInfo, getSingleClass, findSound, StudentQuit, findSubjectPlan, getGoods, getSubject, getMusicGroupAllClass, StudentFeeIsLock, updateStudentFee } from '@/api/buildTeam'
|
|
|
import { addStudent, getStudentClass, getStudentInfoByPhone } from '@/api/studentManager'
|
|
|
import pagination from '@/components/Pagination/index'
|
|
|
import { vaildStudentUrl } from '@/utils/validate'
|
|
@@ -542,6 +608,7 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
+ payVisible: false,
|
|
|
quitVisible: false, // 退团信息确认的弹窗
|
|
|
studentClassVisible: false, // 学员所在班级弹窗
|
|
|
addStudentVisible: false, //新增学员弹窗
|
|
@@ -641,7 +708,12 @@ export default {
|
|
|
ACCESSORIESLIST: [], // 辅件列表
|
|
|
activeRow: null,
|
|
|
Fsearch: null,
|
|
|
- Frules: null
|
|
|
+ Frules: null,
|
|
|
+ payForm: {
|
|
|
+ studentName: '',
|
|
|
+ payMoney: '',
|
|
|
+ payMonth: []
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
components: {
|
|
@@ -1034,6 +1106,59 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+ },
|
|
|
+ lockStudent (row) {
|
|
|
+ this.$confirm('是否锁定/解锁学生缴费周期?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ let musicGroupId = this.teamid;
|
|
|
+ let studentId = row.userId;
|
|
|
+ let isLock;
|
|
|
+ row.isLock == 0 ? isLock = 1 : isLock = 0;
|
|
|
+
|
|
|
+ StudentFeeIsLock({ musicGroupId, studentId, isLock }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success('修改成功')
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ });
|
|
|
+ },
|
|
|
+ resetPay (row) {
|
|
|
+ this.activeRow = row;
|
|
|
+ this.payVisible = true;
|
|
|
+ this.payForm.studentName = row.realName;
|
|
|
+ this.payForm.payMoney = row.courseFee;
|
|
|
+ this.payForm.payMonth = row.paymentPeriodList.split(',')
|
|
|
+ if (this.payForm.payMonth[0] == "") {
|
|
|
+ this.payForm.payMonth = []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ submitPay () {
|
|
|
+ let studentId = this.activeRow.userId;
|
|
|
+ let musicGroupId = this.teamid;
|
|
|
+ let month = this.payForm.payMonth.join(',') || null;
|
|
|
+ let amount = this.payForm.payMoney;
|
|
|
+ let obj = {
|
|
|
+ studentId,
|
|
|
+ musicGroupId,
|
|
|
+ month,
|
|
|
+ amount
|
|
|
+ }
|
|
|
+ updateStudentFee(obj).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success('修改成功')
|
|
|
+ this.payVisible = false;
|
|
|
+ this.getList();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ closePayVisible () {
|
|
|
+ this.$refs['payForm'].resetFields();
|
|
|
+ this.payVisible = false;
|
|
|
}
|
|
|
}
|
|
|
}
|