|
@@ -244,7 +244,7 @@
|
|
:visible.sync="addStudentVisible">
|
|
:visible.sync="addStudentVisible">
|
|
<el-form :model="maskForm"
|
|
<el-form :model="maskForm"
|
|
label-position="right"
|
|
label-position="right"
|
|
- label-width="110px"
|
|
|
|
|
|
+ label-width="120px"
|
|
ref="maskForm"
|
|
ref="maskForm"
|
|
:rules="maskRules"
|
|
:rules="maskRules"
|
|
:inline="true">
|
|
:inline="true">
|
|
@@ -326,6 +326,11 @@
|
|
:label="item.name"></el-option>
|
|
:label="item.name"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+
|
|
|
|
+ <!-- <el-form-item label="证件号"
|
|
|
|
+ prop="id">
|
|
|
|
+ <el-input v-model.trim="maskForm.id"></el-input>
|
|
|
|
+ </el-form-item>-->
|
|
<el-form-item label="出生日期"
|
|
<el-form-item label="出生日期"
|
|
style="margin-right: 0;"
|
|
style="margin-right: 0;"
|
|
prop="timer">
|
|
prop="timer">
|
|
@@ -339,13 +344,14 @@
|
|
placeholder="选择日期"></el-date-picker>
|
|
placeholder="选择日期"></el-date-picker>
|
|
</el-col>
|
|
</el-col>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <!-- <el-form-item label="课程费用"
|
|
|
|
|
|
+ <el-form-item label="课程费用"
|
|
prop="courseFee">
|
|
prop="courseFee">
|
|
<el-input v-model.trim="maskForm.courseFee"
|
|
<el-input v-model.trim="maskForm.courseFee"
|
|
type="number"
|
|
type="number"
|
|
@mousewheel.native.prevent
|
|
@mousewheel.native.prevent
|
|
placeholder="续费金额"></el-input>
|
|
placeholder="续费金额"></el-input>
|
|
- </el-form-item> -->
|
|
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <br />
|
|
<el-form-item label="单技班">
|
|
<el-form-item label="单技班">
|
|
<el-select v-model.trim="maskForm.signClass"
|
|
<el-select v-model.trim="maskForm.signClass"
|
|
filterable
|
|
filterable
|
|
@@ -410,43 +416,83 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>-->
|
|
</el-form-item>-->
|
|
|
|
|
|
- <el-divider>缴费周期设置</el-divider>
|
|
|
|
- <div class="section" v-for="(goodsList, index) in maskForm.goodsList" :key="index">
|
|
|
|
- <p>缴费周期1</p>
|
|
|
|
- <el-form-item label="缴费金额"
|
|
|
|
- :prop="'goodsList.' + index + '.money'"
|
|
|
|
- :rules="[{ required: true, message: '请输入金额', trigger: 'blur' }]">
|
|
|
|
- <el-input placeholder="请输入金额" style="width: 420px;">
|
|
|
|
- <template slot="append">元</template>
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="缴费日期"
|
|
|
|
- :prop="'goodsList.' + index + '.date'"
|
|
|
|
- :rules="[{ required: true, message: '请选择缴费日期', trigger: 'change' }]">
|
|
|
|
- <el-date-picker
|
|
|
|
- style="width: 420px;"
|
|
|
|
- type="daterange"
|
|
|
|
- range-separator="至"
|
|
|
|
- start-placeholder="缴费开始日期"
|
|
|
|
- end-placeholder="缴费结束日期">
|
|
|
|
- </el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="缴费有效期"
|
|
|
|
- :prop="'goodsList.' + index + '.date1'"
|
|
|
|
- :rules="[{ required: true, message: '请选择缴费有效期', trigger: 'change' }]">
|
|
|
|
- <el-date-picker
|
|
|
|
- style="width: 420px;"
|
|
|
|
- type="daterange"
|
|
|
|
- range-separator="至"
|
|
|
|
- start-placeholder="有效期开始日期"
|
|
|
|
- end-placeholder="有效期结束日期">
|
|
|
|
- </el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <el-divider>首缴订单信息</el-divider>
|
|
|
|
+ <el-form-item label="课程费用"
|
|
|
|
+ prop="temporaryCourseFee">
|
|
|
|
+ <el-input type="number"
|
|
|
|
+ @mousewheel.native.prevent
|
|
|
|
+ v-model.trim="maskForm.temporaryCourseFee"
|
|
|
|
+ placeholder="首缴课程金额"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="乐器"
|
|
|
|
+ class="instrList">
|
|
|
|
+ <el-col :span="11"
|
|
|
|
+ style="width: auto;">
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-select placeholder="选择乐器"
|
|
|
|
+ filterable
|
|
|
|
+ clearable
|
|
|
|
+ @change="onInstrumentChange"
|
|
|
|
+ v-model.trim="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"> </el-col>
|
|
|
|
+ <el-col :span="11">
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-input type="number"
|
|
|
|
+ @mousewheel.native.prevent
|
|
|
|
+ :disabled="kitStatus"
|
|
|
|
+ v-model.trim="maskForm.musicPrice"
|
|
|
|
+ placeholder="输入金额">
|
|
|
|
+ <el-select v-model.trim="maskForm.kitGroupPurchaseType"
|
|
|
|
+ style="width: 80px !important;"
|
|
|
|
+ @change="onKitGroupChnage"
|
|
|
|
+ slot="prepend">
|
|
|
|
+ <el-option label="免费"
|
|
|
|
+ value="FREE"></el-option>
|
|
|
|
+ <el-option label="团购"
|
|
|
|
+ value="GROUP"></el-option>
|
|
|
|
+ <el-option label="租赁"
|
|
|
|
+ value="LEASE"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="辅件">
|
|
|
|
+ <el-col :span="11"
|
|
|
|
+ style="width: auto;">
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-select filterable
|
|
|
|
+ clearable
|
|
|
|
+ multiple
|
|
|
|
+ placeholder="选择辅件"
|
|
|
|
+ v-model.trim="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="1"> </el-col>
|
|
|
|
+ <el-col :span="11">
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-input v-model.trim="maskForm.instrPrice"
|
|
|
|
+ placeholder="输入金额"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<div slot="footer"
|
|
<div slot="footer"
|
|
class="dialog-footer">
|
|
class="dialog-footer">
|
|
- <el-button @click="addStudentVisible = false">取 消</el-button>
|
|
|
|
|
|
+ <!-- <el-button @click="addStudentVisible = false">取 消</el-button> -->
|
|
<el-button type="primary"
|
|
<el-button type="primary"
|
|
@click="addStudent">确 定</el-button>
|
|
@click="addStudent">确 定</el-button>
|
|
</div>
|
|
</div>
|
|
@@ -502,6 +548,18 @@
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
+ <el-dialog title="报名二维码"
|
|
|
|
+ :visible.sync="qrcodeStatus"
|
|
|
|
+ width="300px">
|
|
|
|
+ <div class="left-code">
|
|
|
|
+ <h2>学员报名连接</h2>
|
|
|
|
+ <div id="qrcode"
|
|
|
|
+ class="qrcode code"
|
|
|
|
+ ref="qrCodeUrl"></div>
|
|
|
|
+ <p class="code-url"
|
|
|
|
+ v-if="codeUrl">{{ codeUrl }}</p>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
<el-dialog title="修改缴费周期"
|
|
<el-dialog title="修改缴费周期"
|
|
:before-close="closePayVisible"
|
|
:before-close="closePayVisible"
|
|
width="600px"
|
|
width="600px"
|
|
@@ -612,10 +670,8 @@
|
|
@click="submitAddVisit">确 定</el-button>
|
|
@click="submitAddVisit">确 定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
-
|
|
|
|
- <qrc v-model="codeStatus" title="学员报名二维码" :codeUrl="codeUrl" />
|
|
|
|
</div>
|
|
</div>
|
|
-</template>
|
|
|
|
|
|
+</template>
|
|
<script>
|
|
<script>
|
|
import {
|
|
import {
|
|
getTeamStudentList,
|
|
getTeamStudentList,
|
|
@@ -638,12 +694,12 @@ import {
|
|
import { visitChiose } from '@/utils/searchArray'
|
|
import { visitChiose } from '@/utils/searchArray'
|
|
import pagination from "@/components/Pagination/index";
|
|
import pagination from "@/components/Pagination/index";
|
|
import { vaildStudentUrl } from "@/utils/validate";
|
|
import { vaildStudentUrl } from "@/utils/validate";
|
|
|
|
+import QRCode from "qrcodejs2";
|
|
import axios from "axios";
|
|
import axios from "axios";
|
|
import { getToken } from "@/utils/auth";
|
|
import { getToken } from "@/utils/auth";
|
|
import { permission } from "@/utils/directivePage";
|
|
import { permission } from "@/utils/directivePage";
|
|
import { addVisit } from "@/views/returnVisitManager/api.js"
|
|
import { addVisit } from "@/views/returnVisitManager/api.js"
|
|
import cleanDeep from 'clean-deep'
|
|
import cleanDeep from 'clean-deep'
|
|
-import qrc from '@/components/QrCode/index'
|
|
|
|
export default {
|
|
export default {
|
|
name: "tstudentList",
|
|
name: "tstudentList",
|
|
data () {
|
|
data () {
|
|
@@ -719,14 +775,13 @@ export default {
|
|
muiscnetwork: "",
|
|
muiscnetwork: "",
|
|
startClass: "",
|
|
startClass: "",
|
|
id: "",
|
|
id: "",
|
|
- goodsList: [1, 2, 3]
|
|
|
|
- // courseFee: null, // 声部费用
|
|
|
|
- // temporaryCourseFee: null, // 本次课程费用
|
|
|
|
- // musicGoodsIdList: null, // 乐器商品编号
|
|
|
|
- // kitGroupPurchaseType: "GROUP", // 乐器购买方式
|
|
|
|
- // musicPrice: null, // 乐器购买金额
|
|
|
|
- // instrGoodsIdList: [], // 辅件商品编号
|
|
|
|
- // instrPrice: null // 辅件购买金额
|
|
|
|
|
|
+ courseFee: null, // 声部费用
|
|
|
|
+ temporaryCourseFee: null, // 本次课程费用
|
|
|
|
+ musicGoodsIdList: null, // 乐器商品编号
|
|
|
|
+ kitGroupPurchaseType: "GROUP", // 乐器购买方式
|
|
|
|
+ musicPrice: null, // 乐器购买金额
|
|
|
|
+ instrGoodsIdList: [], // 辅件商品编号
|
|
|
|
+ instrPrice: null // 辅件购买金额
|
|
},
|
|
},
|
|
remark: "", // 退团原因
|
|
remark: "", // 退团原因
|
|
classList: [],
|
|
classList: [],
|
|
@@ -794,13 +849,11 @@ export default {
|
|
visitTime: [{ required: true, message: "请输入回访时间" }],
|
|
visitTime: [{ required: true, message: "请输入回访时间" }],
|
|
visitType: [{ required: true, message: "请选择回访类型" }]
|
|
visitType: [{ required: true, message: "请选择回访类型" }]
|
|
},
|
|
},
|
|
- pickerOptions: null,
|
|
|
|
- codeStatus: false
|
|
|
|
|
|
+ pickerOptions: null
|
|
};
|
|
};
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
- pagination,
|
|
|
|
- qrc
|
|
|
|
|
|
+ pagination
|
|
},
|
|
},
|
|
created () {
|
|
created () {
|
|
// 判断是否带缓存参数
|
|
// 判断是否带缓存参数
|
|
@@ -965,9 +1018,24 @@ export default {
|
|
},
|
|
},
|
|
onCreateQRCode () {
|
|
onCreateQRCode () {
|
|
// 生成报名二维码
|
|
// 生成报名二维码
|
|
|
|
+ this.qrcodeStatus = true;
|
|
let id = this.$route.query.id;
|
|
let id = this.$route.query.id;
|
|
- this.codeUrl = vaildStudentUrl() + "/#/login?musicGroupId=" + id
|
|
|
|
- this.codeStatus = true
|
|
|
|
|
|
+ if (this.qrcodes) {
|
|
|
|
+ this.qrcodes = false;
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.qrcode = new QRCode("qrcode", {
|
|
|
|
+ width: 200,
|
|
|
|
+ height: 200,
|
|
|
|
+ colorDark: "#000000",
|
|
|
|
+ colorLight: "#ffffff",
|
|
|
|
+ correctLevel: QRCode.CorrectLevel.H
|
|
|
|
+ });
|
|
|
|
+ this.qrcode.makeCode(
|
|
|
|
+ vaildStudentUrl() + "/#/login?musicGroupId=" + id
|
|
|
|
+ );
|
|
|
|
+ this.codeUrl = vaildStudentUrl() + "/#/login?musicGroupId=" + id;
|
|
|
|
+ }, 500);
|
|
|
|
+ }
|
|
},
|
|
},
|
|
getList () {
|
|
getList () {
|
|
let obj = {
|
|
let obj = {
|
|
@@ -1385,7 +1453,7 @@ export default {
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
.el-select {
|
|
.el-select {
|
|
- width: 185px !important;
|
|
|
|
|
|
+ width: 180px !important;
|
|
}
|
|
}
|
|
|
|
|
|
.headWrap {
|
|
.headWrap {
|