|
@@ -22,7 +22,7 @@
|
|
|
:model.sync="searchForm"
|
|
|
>
|
|
|
<el-form-item>
|
|
|
- <el-input
|
|
|
+ <el-input clearable
|
|
|
placeholder="学生姓名或电话"
|
|
|
@keyup.enter.native="onSearch"
|
|
|
v-model.trim="searchForm.search"
|
|
@@ -73,7 +73,7 @@
|
|
|
<el-option label="否" value="false"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="hasCourse">
|
|
|
+ <el-form-item prop="operatingTag">
|
|
|
<el-select
|
|
|
class="multiple"
|
|
|
v-model.trim="searchForm.operatingTag"
|
|
@@ -84,7 +84,7 @@
|
|
|
<el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="hasCourse">
|
|
|
+ <el-form-item prop="serviceTag">
|
|
|
<el-select
|
|
|
class="multiple"
|
|
|
v-model.trim="searchForm.serviceTag"
|
|
@@ -95,6 +95,30 @@
|
|
|
<el-option label="否" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item prop="carePackage">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="searchForm.carePackage"
|
|
|
+ clearable
|
|
|
+ placeholder="关心包"
|
|
|
+ >
|
|
|
+ <el-option label="不可用" :value="0"></el-option>
|
|
|
+ <el-option label="可用" :value="1"></el-option>
|
|
|
+ <el-option label="已使用" :value="2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="comeOnPackage">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="searchForm.comeOnPackage"
|
|
|
+ clearable
|
|
|
+ placeholder="加油包"
|
|
|
+ >
|
|
|
+ <el-option label="不可用" :value="0"></el-option>
|
|
|
+ <el-option label="可用" :value="1"></el-option>
|
|
|
+ <el-option label="已使用" :value="2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button native-type="submit" type="danger">搜索</el-button>
|
|
|
<el-button native-type="reset" type="primary">重置</el-button>
|
|
@@ -243,6 +267,20 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
+ prop="carePackage"
|
|
|
+ label="关心包"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">{{ scope.row.carePackage | studentPackage }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="comeOnPackage"
|
|
|
+ label="加油包"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">{{ scope.row.comeOnPackage | studentPackage }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
fixed="right"
|
|
|
width="250px"
|
|
|
label="操作"
|
|
@@ -299,7 +337,6 @@
|
|
|
:close-on-click-modal="false"
|
|
|
:visible.sync="studentVisible"
|
|
|
>
|
|
|
- <el-divider>基本信息</el-divider>
|
|
|
<el-form
|
|
|
:model="studentForm"
|
|
|
:inline="true"
|
|
@@ -308,38 +345,12 @@
|
|
|
ref="studentForm"
|
|
|
:rules="studentRules"
|
|
|
>
|
|
|
- <el-form-item
|
|
|
- label="联系电话"
|
|
|
- prop="phone"
|
|
|
- :rules="[
|
|
|
- { required: true, message: '请输入手机号' },
|
|
|
- {
|
|
|
- pattern: /^1\d{10}$/,
|
|
|
- message: '请输入正确的手机号',
|
|
|
- trigger: 'blur',
|
|
|
- },
|
|
|
- ]"
|
|
|
- >
|
|
|
- <!-- @blur="checkPhone(studentForm.phone)" -->
|
|
|
- <el-input v-model.trim="studentForm.phone"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所属分部" prop="organId">
|
|
|
- <el-select
|
|
|
- class="multiple"
|
|
|
- v-model.trim="studentForm.organId"
|
|
|
- filterable
|
|
|
- clearable
|
|
|
- placeholder="请选择分部"
|
|
|
- @change="changeStudentOrgan"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in selects.branchs"
|
|
|
- :key="index"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
+ <el-alert
|
|
|
+ title="课程信息"
|
|
|
+ type="info"
|
|
|
+ :closable="false"
|
|
|
+ style="margin-bottom: 15px;"
|
|
|
+ ></el-alert>
|
|
|
<el-form-item label="学生姓名" prop="name">
|
|
|
<el-input v-model.trim="studentForm.name"></el-input>
|
|
|
</el-form-item>
|
|
@@ -355,6 +366,18 @@
|
|
|
<el-option :value="0" label="女"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="出生日期" prop="date">
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="studentForm.date"
|
|
|
+ style="width: 185px"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ :picker-options="{
|
|
|
+ firstDayOfWeek: 1,
|
|
|
+ }"
|
|
|
+ placeholder="选择日期"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="学生声部" prop="subjectIdList">
|
|
|
<el-select
|
|
|
v-model.trim="studentForm.subjectIdList"
|
|
@@ -376,25 +399,39 @@
|
|
|
</el-option-group>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="是否运营" prop="operatingTag">
|
|
|
- <el-select
|
|
|
- class="multiple"
|
|
|
- v-model.trim="studentForm.operatingTag"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <el-option :value="1" label="是"></el-option>
|
|
|
- <el-option :value="0" label="否"></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="家长姓名" prop="parseName">
|
|
|
+ <el-input v-model.trim="studentForm.parseName"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="是否服务" prop="serviceTag">
|
|
|
+ <el-form-item
|
|
|
+ label="联系电话"
|
|
|
+ prop="phone"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入手机号' },
|
|
|
+ {
|
|
|
+ pattern: /^1\d{10}$/,
|
|
|
+ message: '请输入正确的手机号',
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ >
|
|
|
+ <!-- @blur="checkPhone(studentForm.phone)" -->
|
|
|
+ <el-input :maxlength="11" v-model.trim="studentForm.phone"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="所属分部" prop="organId">
|
|
|
<el-select
|
|
|
class="multiple"
|
|
|
- v-model.trim="studentForm.serviceTag"
|
|
|
+ v-model.trim="studentForm.organId"
|
|
|
+ filterable
|
|
|
clearable
|
|
|
+ placeholder="请选择分部"
|
|
|
+ @change="changeStudentOrgan"
|
|
|
>
|
|
|
- <el-option :value="1" label="是"></el-option>
|
|
|
- <el-option :value="0" label="否"></el-option>
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in selects.branchs"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="指导老师" prop="teacherId">
|
|
@@ -412,21 +449,31 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="家长姓名" prop="parseName">
|
|
|
- <el-input v-model.trim="studentForm.parseName"></el-input>
|
|
|
+ <el-alert
|
|
|
+ title="课程信息"
|
|
|
+ type="info"
|
|
|
+ :closable="false"
|
|
|
+ style="margin-bottom: 15px;"
|
|
|
+ ></el-alert>
|
|
|
+ <el-form-item label="是否运营" prop="operatingTag">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="studentForm.operatingTag"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option :value="1" label="是"></el-option>
|
|
|
+ <el-option :value="0" label="否"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="出生日期" prop="date">
|
|
|
- <el-date-picker
|
|
|
- v-model.trim="studentForm.date"
|
|
|
- style="width: 185px"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- type="date"
|
|
|
- :picker-options="{
|
|
|
- firstDayOfWeek: 1,
|
|
|
- }"
|
|
|
- placeholder="选择日期"
|
|
|
- ></el-date-picker>
|
|
|
+ <el-form-item label="是否服务" prop="serviceTag">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="studentForm.serviceTag"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option :value="1" label="是"></el-option>
|
|
|
+ <el-option :value="0" label="否"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否是新用户" prop="isNewUser">
|
|
|
<template #label>
|
|
@@ -452,6 +499,32 @@
|
|
|
<el-option :value="0" label="否"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="关心包" prop="carePackage">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="studentForm.carePackage"
|
|
|
+ clearable
|
|
|
+ :disabled="!isNew && studentUpdatePackage.carePackage == 2"
|
|
|
+ placeholder="请选择关心包"
|
|
|
+ >
|
|
|
+ <el-option label="不可用" :value="0"></el-option>
|
|
|
+ <el-option label="可用" :value="1"></el-option>
|
|
|
+ <el-option disabled label="已使用" :value="2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="加油包" prop="comeOnPackage">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ v-model.trim="studentForm.comeOnPackage"
|
|
|
+ clearable
|
|
|
+ :disabled="!isNew && studentUpdatePackage.comeOnPackage == 2"
|
|
|
+ placeholder="请选择加油包"
|
|
|
+ >
|
|
|
+ <el-option label="不可用" :value="0"></el-option>
|
|
|
+ <el-option label="可用" :value="1"></el-option>
|
|
|
+ <el-option disabled label="已使用" :value="2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="studentVisible = false">取 消</el-button>
|
|
@@ -550,6 +623,7 @@ import QRCode from "qrcodejs2";
|
|
|
import store from "@/store";
|
|
|
import axios from "axios";
|
|
|
import qs from "qs";
|
|
|
+import { packageStatus } from '@/constant/index'
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import load from "@/utils/loading";
|
|
|
import { permission } from "@/utils/directivePage";
|
|
@@ -570,6 +644,8 @@ export default {
|
|
|
operatingTag: null,
|
|
|
serviceTag: null,
|
|
|
teacherId: null,
|
|
|
+ carePackage: null,
|
|
|
+ comeOnPackage: null,
|
|
|
},
|
|
|
searchList: [],
|
|
|
tableList: [],
|
|
@@ -596,6 +672,12 @@ export default {
|
|
|
teacherId: null,
|
|
|
subjectIdList: null,
|
|
|
isNewUser: null,
|
|
|
+ carePackage: 0,
|
|
|
+ comeOnPackage: 0,
|
|
|
+ },
|
|
|
+ studentUpdatePackage: {
|
|
|
+ carePackage: 0,
|
|
|
+ comeOnPackage: 0
|
|
|
},
|
|
|
studentRules: {
|
|
|
name: [{ required: true, message: "请输入学生姓名" }],
|
|
@@ -792,6 +874,8 @@ export default {
|
|
|
teacherId: studentForm.teacherId,
|
|
|
isNewUser: studentForm.isNewUser,
|
|
|
subjectIdList: studentForm.subjectIdList,
|
|
|
+ carePackage: studentForm.carePackage,
|
|
|
+ comeOnPackage: studentForm.comeOnPackage
|
|
|
};
|
|
|
registerStudent(obj).then((res) => {
|
|
|
if (res.code == 200) {
|
|
@@ -821,6 +905,8 @@ export default {
|
|
|
teacherId: studentForm.teacherId,
|
|
|
isNewUser: studentForm.isNewUser,
|
|
|
subjectIdList: studentForm.subjectIdList,
|
|
|
+ carePackage: studentForm.carePackage,
|
|
|
+ comeOnPackage: studentForm.comeOnPackage
|
|
|
};
|
|
|
updateStudent(obj).then((res) => {
|
|
|
if (res.code == 200) {
|
|
@@ -886,7 +972,13 @@ export default {
|
|
|
teacherId: row.teacherId || null,
|
|
|
isNewUser: row.isNewUser,
|
|
|
subjectIdList: Number(row.subjectIdList) || null,
|
|
|
+ carePackage: row.carePackage,
|
|
|
+ comeOnPackage: row.comeOnPackage
|
|
|
};
|
|
|
+ this.studentUpdatePackage = {
|
|
|
+ carePackage: row.carePackage,
|
|
|
+ comeOnPackage: row.comeOnPackage
|
|
|
+ }
|
|
|
});
|
|
|
},
|
|
|
onMaskClose(formName) {
|