|  | @@ -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) {
 |