ソースを参照

Merge branch 'wxl_01_15' into 01/21VipReset

lex-xin 4 年 前
コミット
d10e8584f3

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/index.html


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-135391cc.e7bbb7a0.css


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/css/chunk-d4343a04.d3d8d7b2.css


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/app.5380d529.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-135391cc.87d3fbd4.js


ファイルの差分が大きいため隠しています
+ 0 - 0
dist/static/js/chunk-d4343a04.f929dad4.js


+ 6 - 0
src/constant/index.js

@@ -218,3 +218,9 @@ export const complaintsStatus = {
   2: '待处理',
   3: '撤销'
 }
+
+export const packageStatus = {
+  0: '不可用',
+  1: '可用',
+  2: '已使用',
+}

+ 2 - 0
src/utils/searchArray.js

@@ -154,6 +154,8 @@ export const practiceGroupType = [
   { value: "FREE", label: "免费" },
   { value: "CHARGE", label: "收费" },
   { value: "TRIAL", label: "试听课" },
+  { value: "CARE_PACKAGE", label: "关心包" },
+  { value: "COME_ON_PACKAGE", label: "加油包" }
 ]
 export const visitChiose = [
   { value: '课程推荐', label: '课程推荐', children: [{ value: '新课推荐', label: '新课推荐' }, { value: '续费提醒', label: '续费提醒' }] },

+ 7 - 0
src/utils/vueFilter.js

@@ -526,6 +526,8 @@ Vue.filter('comType', value => {
     FREE: "免费",
     CHARGE: '收费',
     TRIAL: '试听课',
+    CARE_PACKAGE: '关心包',
+    COME_ON_PACKAGE: '加油包'
   }
   return template[value]
 })
@@ -719,3 +721,8 @@ Vue.filter('journalTypeFormat', value => {
 Vue.filter('inspectionItemFormat', value => {
   return constant.inspectionItem[value]
 })
+
+// 学员列表关心包,加油包
+Vue.filter('studentPackage', value => {
+  return constant.packageStatus[value]
+})

+ 15 - 15
src/views/accompanyManager/accompanys.vue

@@ -59,9 +59,23 @@
                          align="center"
                          prop="classDate">
           <template slot-scope="scope">
-            <div>{{ scope.row.classDate | formatTimer}}</div>
+            <div>{{ scope.row.classDate | formatTimer}} {{ scope.row.startClassTimeStr |  timerForMinFormat}}~{{ scope.row.endClassTimeStr | timerForMinFormat}}</div>
           </template>
         </el-table-column>
+        <!-- <el-table-column label="开始时间"
+                         align="center"
+                         prop="startClassTimeStr">
+          <template slot-scope="scope">
+            <div>{{ scope.row.startClassTimeStr |  timerForMinFormat}}</div>
+          </template>
+        </el-table-column>
+        <el-table-column label="结束时间"
+                         align="center"
+                         prop="endClassTimeStr">
+          <template slot-scope="scope">
+            <div>{{ scope.row.endClassTimeStr | timerForMinFormat}}</div>
+          </template>
+        </el-table-column> -->
         <el-table-column label="是否点名"
                          align="center"
                          prop="status">
@@ -80,20 +94,6 @@
             <div>{{scope.row.isSettlement?'已结算':'未结算'}}</div>
           </template>
         </el-table-column>
-        <el-table-column label="开始时间"
-                         align="center"
-                         prop="startClassTimeStr">
-          <template slot-scope="scope">
-            <div>{{ scope.row.startClassTimeStr |  timerForMinFormat}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column label="结束时间"
-                         align="center"
-                         prop="endClassTimeStr">
-          <template slot-scope="scope">
-            <div>{{ scope.row.endClassTimeStr | timerForMinFormat}}</div>
-          </template>
-        </el-table-column>
         <!-- <el-table-column label="教学点" align="center" prop="schoolName">
           <template slot-scope="scope">
             <div>{{scope.row.schoolName?scope.row.schoolName:'网络教室'}}</div>

+ 1 - 1
src/views/contentManager/contentOperation.vue

@@ -592,7 +592,7 @@ export default {
           let { subjectIdList, ...rest } = this.form
           let form = {
             ...rest,
-            subjectIdList: subjectIdList.join(',')
+            subjectIdList: subjectIdList ? subjectIdList.join(',') : null
           }
           let actionTime = form.actionTime
           // console.log(actionTime)

+ 10 - 0
src/views/studentManager/components/studentInfo.vue

@@ -83,6 +83,16 @@
             <el-input :value="studentForm.isNewUser ? '是' : '否'" disabled></el-input>
           </el-form-item>
         </el-col>
+        <el-col :xl="6" :lg="8" :md="8" :xs="12">
+          <el-form-item label="关心包">
+            <el-input :value="studentForm.carePackage | studentPackage" disabled></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xl="6" :lg="8" :md="8" :xs="12">
+          <el-form-item label="加油包">
+            <el-input :value="studentForm.comeOnPackage | studentPackage" disabled></el-input>
+          </el-form-item>
+        </el-col>
       </el-row>
     </el-form>
 

+ 156 - 64
src/views/studentManager/studentList.vue

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

+ 45 - 3
src/views/teamDetail/components/studentList.vue

@@ -156,6 +156,30 @@
           <el-option label="否" value="false"></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 type="primary" native-type="reset">重置</el-button>
@@ -257,6 +281,18 @@
             <div>{{ scope.row.hasCourse ? "是" : "否" }}</div>
           </template>
         </el-table-column>
+        <el-table-column
+            align="center"
+            label="关心包"
+          >
+            <template slot-scope="scope">{{ scope.row.carePackage | studentPackage }}</template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="加油包"
+          >
+            <template slot-scope="scope">{{ scope.row.comeOnPackage | studentPackage }}</template>
+          </el-table-column>
         <el-table-column align="center" label="欠费金额(元)">
           <template slot-scope="scope">
             <div :class="[scope.row.noPaymentAmount > 0 ? 'error' : null]">{{ scope.row.noPaymentAmount | moneyFormat }}
@@ -694,7 +730,9 @@ export default {
         isActive: "",
         oweFlag: '',
         classGroupId: null,
-        hasCourse: null
+        hasCourse: null,
+        carePackage: null,
+        comeOnPackage: null
       },
       organizationCourseUnitPriceSettings: [],
       quitForm: {
@@ -976,7 +1014,9 @@ export default {
         search: this.searchForm.search || null,
         isActive: this.searchForm.isActive || null,
         classGroupId: this.searchForm.classGroupId || null,
-        hasCourse: this.searchForm.hasCourse || null
+        hasCourse: this.searchForm.hasCourse || null,
+        comeOnPackage: this.searchForm.comeOnPackage,
+        carePackage: this.searchForm.carePackage,
       };
       const options = {
         method: "get",
@@ -1052,7 +1092,9 @@ export default {
         isActive: this.searchForm.isActive || null,
         classGroupId: this.searchForm.classGroupId || null,
         oweFlag: this.searchForm.oweFlag || null,
-        hasCourse: this.searchForm.hasCourse || null
+        hasCourse: this.searchForm.hasCourse || null,
+        comeOnPackage: this.searchForm.comeOnPackage,
+        carePackage: this.searchForm.carePackage,
       };
       getTeamStudentList(obj).then((res) => {
         if (res.code == 200) {

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません