|
@@ -21,6 +21,13 @@
|
|
</statistic> -->
|
|
</statistic> -->
|
|
|
|
|
|
<!-- style="margin-bottom: 15px" -->
|
|
<!-- style="margin-bottom: 15px" -->
|
|
|
|
+ <p
|
|
|
|
+ style="margin-bottom: 15px; font-size: 16px; font-weight: 400"
|
|
|
|
+ >
|
|
|
|
+ 报名截止时间:{{ applyExpireDate | formatTimer }} 缴费截止时间:{{
|
|
|
|
+ paymentExpireDate | formatTimer
|
|
|
|
+ }}
|
|
|
|
+ </p>
|
|
<div class="studentListWrap" v-if="team_status == 'PROGRESS'">
|
|
<div class="studentListWrap" v-if="team_status == 'PROGRESS'">
|
|
<div
|
|
<div
|
|
class="newBand"
|
|
class="newBand"
|
|
@@ -120,6 +127,20 @@
|
|
>
|
|
>
|
|
合并学员
|
|
合并学员
|
|
</div>
|
|
</div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ team_status == 'APPLY' ||
|
|
|
|
+ team_status == 'PROGRESS' ||
|
|
|
|
+ team_status == 'PREPARE'
|
|
|
|
+ "
|
|
|
|
+ v-permission="'studentRegistration/openPayment'"
|
|
|
|
+ class="newBand"
|
|
|
|
+ style="background-color: #14928a; border: 1px solid #14928a"
|
|
|
|
+ @click="onPartPayment"
|
|
|
|
+ type="primary"
|
|
|
|
+ >
|
|
|
|
+ 提前开启缴费
|
|
|
|
+ </div>
|
|
<el-popover placement="bottom" width="800" trigger="hover">
|
|
<el-popover placement="bottom" width="800" trigger="hover">
|
|
<div>
|
|
<div>
|
|
<el-table
|
|
<el-table
|
|
@@ -169,25 +190,26 @@
|
|
<el-button v-show="isEdit" @click="saveIsEdit">保存</el-button>
|
|
<el-button v-show="isEdit" @click="saveIsEdit">保存</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <auth :auths="'studentRegistration/openPayment'">
|
|
|
|
+ <el-button
|
|
|
|
+ style="background-color: #14928a; border: 1px solid #14928a"
|
|
|
|
+ @click="onPartPayment"
|
|
|
|
+ type="primary"
|
|
|
|
+ >开启缴费</el-button
|
|
|
|
+ >
|
|
|
|
+ </auth>
|
|
<div class="newBand" style="margin-bottom: 10px" slot="reference">
|
|
<div class="newBand" style="margin-bottom: 10px" slot="reference">
|
|
声部报名计划
|
|
声部报名计划
|
|
</div>
|
|
</div>
|
|
</el-popover>
|
|
</el-popover>
|
|
</div>
|
|
</div>
|
|
- <p
|
|
|
|
- style="margin-bottom: 15px; font-size: 16px; font-weight: 400"
|
|
|
|
- v-if="
|
|
|
|
- team_status == 'PAY' ||
|
|
|
|
- team_status == 'PROGRESS' ||
|
|
|
|
- team_status == 'PREPARE'
|
|
|
|
- "
|
|
|
|
- >
|
|
|
|
- 报名截止时间:{{ applyExpireDate | formatTimer }} 缴费截止时间:{{
|
|
|
|
- paymentExpireDate | formatTimer
|
|
|
|
- }}
|
|
|
|
- </p>
|
|
|
|
</div>
|
|
</div>
|
|
- <!-- -->
|
|
|
|
|
|
+ <!-- v-if="
|
|
|
|
+ team_status == 'PAY' ||
|
|
|
|
+ team_status == 'PROGRESS' ||
|
|
|
|
+ team_status == 'PREPARE'
|
|
|
|
+ " -->
|
|
|
|
+
|
|
<!-- 搜索类型 -->
|
|
<!-- 搜索类型 -->
|
|
<save-form
|
|
<save-form
|
|
ref="searchForm"
|
|
ref="searchForm"
|
|
@@ -285,8 +307,9 @@
|
|
filterable
|
|
filterable
|
|
placeholder="报名缴费"
|
|
placeholder="报名缴费"
|
|
>
|
|
>
|
|
- <el-option label="未缴费" value="0"></el-option>
|
|
|
|
- <el-option label="已缴费" value="1"></el-option>
|
|
|
|
|
|
+ <el-option label="未开启" value="0"></el-option>
|
|
|
|
+ <el-option label="开启缴费" value="1"></el-option>
|
|
|
|
+ <el-option label="已缴费" value="2"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item prop="oweFlag">
|
|
<el-form-item prop="oweFlag">
|
|
@@ -369,7 +392,13 @@
|
|
<el-table
|
|
<el-table
|
|
:data="tableList"
|
|
:data="tableList"
|
|
:header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
:header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
|
|
+ @selection-change="handleSelectionChange"
|
|
>
|
|
>
|
|
|
|
+ <el-table-column
|
|
|
|
+ type="selection"
|
|
|
|
+ width="55"
|
|
|
|
+ :selectable="checkboxSelect"
|
|
|
|
+ ></el-table-column>
|
|
<el-table-column label="学员编号" width="120px;" prop="userId">
|
|
<el-table-column label="学员编号" width="120px;" prop="userId">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<copy-text>
|
|
<copy-text>
|
|
@@ -411,7 +440,7 @@
|
|
<div>{{ scope.row.currentGrade + scope.row.currentClass }}</div>
|
|
<div>{{ scope.row.currentGrade + scope.row.currentClass }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center" label="报名专业" prop="subjectName">
|
|
|
|
|
|
+ <el-table-column align="center" label="报名专业" prop="subjectName">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<copy-text>
|
|
<copy-text>
|
|
{{ scope.row.regSubjectName }}
|
|
{{ scope.row.regSubjectName }}
|
|
@@ -437,7 +466,7 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align="center" label="报名缴费">
|
|
<el-table-column align="center" label="报名缴费">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div>{{ scope.row.paymentStatus | studentPays }}</div>
|
|
|
|
|
|
+ <div>{{ scope.row.paymentStatus | paymentStatus }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align="center" label="是否激活">
|
|
<el-table-column align="center" label="是否激活">
|
|
@@ -467,7 +496,7 @@
|
|
<!-- musicGroupPaymentCalenderDetail/queryPage/studentList -->
|
|
<!-- musicGroupPaymentCalenderDetail/queryPage/studentList -->
|
|
<auth
|
|
<auth
|
|
auths="musicGroupPaymentCalenderDetail/queryPage/studentList"
|
|
auths="musicGroupPaymentCalenderDetail/queryPage/studentList"
|
|
- :router="['/business/teamDetails']"
|
|
|
|
|
|
+ :router="['/teamLists']"
|
|
>
|
|
>
|
|
<i
|
|
<i
|
|
style="color: #14928a; font-size: 17px"
|
|
style="color: #14928a; font-size: 17px"
|
|
@@ -1000,7 +1029,12 @@
|
|
:voiceList="leftList"
|
|
:voiceList="leftList"
|
|
/>
|
|
/>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- <el-dialog title="订单详情" :visible.sync="orderVisible" width="600px" v-if="orderVisible">
|
|
|
|
|
|
+ <el-dialog
|
|
|
|
+ title="订单详情"
|
|
|
|
+ :visible.sync="orderVisible"
|
|
|
|
+ width="600px"
|
|
|
|
+ v-if="orderVisible"
|
|
|
|
+ >
|
|
<el-form :model="orderForm" :inline="true">
|
|
<el-form :model="orderForm" :inline="true">
|
|
<!-- name: '',
|
|
<!-- name: '',
|
|
totalAmount: '',
|
|
totalAmount: '',
|
|
@@ -1042,7 +1076,7 @@
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- <el-dialog title="修改专业" :visible.sync="subjectVisible" width="400px">
|
|
|
|
|
|
+ <el-dialog title="修改专业" :visible.sync="subjectVisible" width="400px">
|
|
<el-form :model="maskSoundForm">
|
|
<el-form :model="maskSoundForm">
|
|
<el-form-item label="选择专业">
|
|
<el-form-item label="选择专业">
|
|
<el-select v-model.trim="maskSoundForm.subject" filterable clearable>
|
|
<el-select v-model.trim="maskSoundForm.subject" filterable clearable>
|
|
@@ -1082,14 +1116,14 @@ import {
|
|
getTeamBaseInfo,
|
|
getTeamBaseInfo,
|
|
getintoClass,
|
|
getintoClass,
|
|
resetPlanNum,
|
|
resetPlanNum,
|
|
-
|
|
|
|
|
|
+ openPayment
|
|
} from "@/api/buildTeam";
|
|
} from "@/api/buildTeam";
|
|
import {
|
|
import {
|
|
addStudent,
|
|
addStudent,
|
|
getStudentClass,
|
|
getStudentClass,
|
|
getStudentInfoByPhone,
|
|
getStudentInfoByPhone,
|
|
- getStudentFeeDetail,
|
|
|
|
- resetStudentSubject
|
|
|
|
|
|
+ getStudentFeeDetail,
|
|
|
|
+ resetStudentSubject,
|
|
} from "@/api/studentManager";
|
|
} from "@/api/studentManager";
|
|
import qrCode from "@/components/QrCode/index";
|
|
import qrCode from "@/components/QrCode/index";
|
|
import { getOrganizationCourseUnitPriceSettings } from "@/api/specialSetting";
|
|
import { getOrganizationCourseUnitPriceSettings } from "@/api/specialSetting";
|
|
@@ -1330,10 +1364,11 @@ export default {
|
|
others: "",
|
|
others: "",
|
|
othersPrice: "",
|
|
othersPrice: "",
|
|
},
|
|
},
|
|
- maskSoundForm:{
|
|
|
|
- subject: "",
|
|
|
|
|
|
+ maskSoundForm: {
|
|
|
|
+ subject: "",
|
|
},
|
|
},
|
|
- subjectVisible:false
|
|
|
|
|
|
+ subjectVisible: false,
|
|
|
|
+ multipleSelection: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
@@ -2004,7 +2039,7 @@ export default {
|
|
// let query = this.$route.query;
|
|
// let query = this.$route.query;
|
|
// this.$message.success("开启成功");
|
|
// this.$message.success("开启成功");
|
|
// this.$router.push({
|
|
// this.$router.push({
|
|
- // path: "/business/teamDetail",
|
|
|
|
|
|
+ // path: "/teamList",
|
|
// query: {
|
|
// query: {
|
|
// ...query,
|
|
// ...query,
|
|
// },
|
|
// },
|
|
@@ -2067,7 +2102,7 @@ export default {
|
|
this.$message.success("开启成功");
|
|
this.$message.success("开启成功");
|
|
this.paymentStatus = false;
|
|
this.paymentStatus = false;
|
|
this.$store.dispatch("delVisitedViews", this.$route);
|
|
this.$store.dispatch("delVisitedViews", this.$route);
|
|
- this.$router.push({ path: "/business/teamDetail" });
|
|
|
|
|
|
+ this.$router.push({ path: "/teamList" });
|
|
// this.$router.push({
|
|
// this.$router.push({
|
|
// path: "/business/resetTeaming",
|
|
// path: "/business/resetTeaming",
|
|
// query: {
|
|
// query: {
|
|
@@ -2242,13 +2277,13 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- // 修改专业
|
|
|
|
|
|
+ // 修改专业
|
|
resetSubject(row) {
|
|
resetSubject(row) {
|
|
this.activeId = row.userId;
|
|
this.activeId = row.userId;
|
|
this.subjectVisible = true;
|
|
this.subjectVisible = true;
|
|
// resetStudentSubject().then(res=>{]})
|
|
// resetStudentSubject().then(res=>{]})
|
|
},
|
|
},
|
|
- okReset() {
|
|
|
|
|
|
+ okReset() {
|
|
if (!this.maskSoundForm.subject) {
|
|
if (!this.maskSoundForm.subject) {
|
|
this.$message.error("请选择调剂专业");
|
|
this.$message.error("请选择调剂专业");
|
|
return;
|
|
return;
|
|
@@ -2271,6 +2306,43 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ onPartPayment() {
|
|
|
|
+ // 部分缴费
|
|
|
|
+ let selection = this.multipleSelection;
|
|
|
|
+ if (selection.length <= 0) {
|
|
|
|
+ this.$message.error("您还没有选择学生");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ let ids = [];
|
|
|
|
+ selection.forEach((item) => {
|
|
|
|
+ ids.push(item.id);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ 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(() => {});
|
|
|
|
+ },
|
|
|
|
+ handleSelectionChange(val) {
|
|
|
|
+ this.multipleSelection = val;
|
|
|
|
+ },
|
|
|
|
+ checkboxSelect(row) {
|
|
|
|
+ return row.paymentStatus == 0;
|
|
|
|
+ },
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
quitVisible(val) {
|
|
quitVisible(val) {
|