فهرست منبع

提交一下

1
mo 3 سال پیش
والد
کامیت
14605c862e
1فایلهای تغییر یافته به همراه131 افزوده شده و 89 حذف شده
  1. 131 89
      src/views/studentManager/studentList.vue

+ 131 - 89
src/views/studentManager/studentList.vue

@@ -72,7 +72,7 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item prop="isActive" >
+        <el-form-item prop="isActive">
           <el-select
             class="multiple"
             v-model.trim="searchForm.isActive"
@@ -95,7 +95,7 @@
             <el-option label="否" value="0"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item prop="operatingTag" v-if="tenantId ==1">
+        <el-form-item prop="operatingTag" v-if="tenantId == 1">
           <el-select
             class="multiple"
             v-model.trim="searchForm.operatingTag"
@@ -106,7 +106,7 @@
             <el-option label="否" :value="0"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item prop="serviceTag" v-if="tenantId==1">
+        <el-form-item prop="serviceTag" v-if="tenantId == 1">
           <el-select
             class="multiple"
             v-model.trim="searchForm.serviceTag"
@@ -174,21 +174,26 @@
           >
         </el-form-item>
       </save-form>
-      <el-button  style="margin-bottom: 20px;" type="primary"
-        @click="addStudentMember" icon="el-icon-plus">创建团练宝缴费</el-button>
+      <el-button
+        style="margin-bottom: 20px"
+        type="primary"
+        @click="addStudentMember"
+        icon="el-icon-plus"
+        >创建团练宝缴费</el-button
+      >
       <el-button
         v-permission="'studentManage/register'"
         @click="addStudent"
         type="primary"
         icon="el-icon-plus"
-        style="margin-bottom:20px"
+        style="margin-bottom: 20px"
       >
         新增学员
       </el-button>
       <el-button
         @click="onCreateQRCode"
         type="primary"
-        style="margin-bottom:20px"
+        style="margin-bottom: 20px"
       >
         学员激活列表
       </el-button>
@@ -199,13 +204,14 @@
           :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
           @selection-change="handleSelectionChange"
         >
-          <el-table-column
-            type="selection"
-            width="55"
-          ></el-table-column>
+          <el-table-column type="selection" width="55"></el-table-column>
           <el-table-column type="expand">
             <template slot-scope="props">
-              <el-form label-position="left" class="demo-table-expand" :inline='true'>
+              <el-form
+                label-position="left"
+                class="demo-table-expand"
+                :inline="true"
+              >
                 <el-row>
                   <el-col :span="6">
                     <el-form-item label="所属学校">
@@ -216,15 +222,24 @@
                         ></overflow-text>
                       </div> </el-form-item
                   ></el-col>
-                  <el-col :span="4" >
+                  <el-col :span="4">
                     <el-form-item>
                       <span slot="label"
                         >是否激活
                         <el-tooltip placement="top" popper-class="mTooltip">
                           <div slot="content">学员是否设置密码</div>
-                          <i @click="()=>{console.log('点击')}"
+                          <i
+                            @click="
+                              () => {
+                                console.log('点击');
+                              }
+                            "
                             class="el-icon-question question"
-                            style="font-size: 18px; color: #f56c6c;cursor:pointer;"
+                            style="
+                              font-size: 18px;
+                              color: #f56c6c;
+                              cursor: pointer;
+                            "
                           ></i> </el-tooltip
                       ></span>
                       <div>{{ props.row.isActive ? "是" : "否" }}</div>
@@ -255,7 +270,7 @@
                     </el-form-item></el-col
                   >
                   <el-col :span="4">
-                    <el-form-item label="是否运营" v-if="tenantId==1">
+                    <el-form-item label="是否运营" v-if="tenantId == 1">
                       <span>{{ props.row.operatingTag ? "是" : "否" }}</span>
                     </el-form-item></el-col
                   >
@@ -277,6 +292,18 @@
                     </el-form-item></el-col
                   >
                 </el-row>
+                <el-row>
+                  <el-col :span="6">
+                    <el-form-item label="学员年级">
+                      <span>{{ props.row.currentGrade }}</span>
+                    </el-form-item></el-col
+                  >
+                  <el-col :span="6">
+                    <el-form-item label="学员班级">
+                      <span>{{ props.row.currentClass }}</span>
+                    </el-form-item></el-col
+                  >
+                </el-row>
               </el-form>
             </template>
           </el-table-column>
@@ -377,7 +404,7 @@
               scope.row.operatingTag ? "是" : "否"
             }}</template>
           </el-table-column> -->
-          <el-table-column align="center" label="是否服务" v-if="tenantId==1">
+          <el-table-column align="center" label="是否服务" v-if="tenantId == 1">
             <template slot-scope="scope">{{
               scope.row.serviceTag ? "是" : "否"
             }}</template>
@@ -464,13 +491,11 @@
               <p style="position: relative">
                 是否是新用户
                 <el-tooltip placement="top" popper-class="mTooltip">
-                  <div slot="content">
-                    未购买VIP课程的学员为新用户
-                  </div>
+                  <div slot="content">未购买VIP课程的学员为新用户</div>
 
                   <i
                     class="el-icon-question"
-                    style="font-size: 18px; color: #f56c6c;cursor:pointer;"
+                    style="font-size: 18px; color: #f56c6c; cursor: pointer"
                   ></i>
                 </el-tooltip>
               </p>
@@ -521,7 +546,9 @@
               <el-button
                 type="text"
                 style="padding-left: 10px"
-                v-if="$helpers.permission('studentManage/studentUpdate/setStudent')"
+                v-if="
+                  $helpers.permission('studentManage/studentUpdate/setStudent')
+                "
                 @click="setStudent(scope.row)"
                 >设置扩展声部</el-button
               >
@@ -692,7 +719,7 @@
             v-model.trim="studentForm.teacherId"
             clearable
             filterable
-            :disabled='!studentForm.organId'
+            :disabled="!studentForm.organId"
           >
             <el-option
               v-for="(item, index) in maskTeacherList"
@@ -702,13 +729,13 @@
             ></el-option>
           </el-select>
         </el-form-item>
-               <el-form-item label="学生年级" prop="currentGradeNum">
+        <el-form-item label="学生年级" prop="currentGradeNum">
           <el-select
             class="multiple"
             v-model.trim="studentForm.currentGradeNum"
             clearable
             filterable
-            :disabled='!studentForm.organId'
+            :disabled="!studentForm.organId"
           >
             <el-option
               v-for="(item, index) in maskTeacherList"
@@ -724,7 +751,7 @@
           :closable="false"
           style="margin-bottom: 15px"
         ></el-alert>
-        <el-form-item label="是否运营" prop="operatingTag" v-if="tenantId==1">
+        <el-form-item label="是否运营" prop="operatingTag" v-if="tenantId == 1">
           <el-select
             class="multiple"
             v-model.trim="studentForm.operatingTag"
@@ -734,7 +761,7 @@
             <el-option :value="0" label="否"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="是否服务" prop="serviceTag" v-if="tenantId==1">
+        <el-form-item label="是否服务" prop="serviceTag" v-if="tenantId == 1">
           <el-select
             class="multiple"
             v-model.trim="studentForm.serviceTag"
@@ -749,9 +776,7 @@
             <p style="position: relative; display: inline-block">
               是否是新用户
               <el-tooltip placement="top" popper-class="mTooltip">
-                <div slot="content">
-                   未购买VIP课程的学员为新用户
-                </div>
+                <div slot="content">未购买VIP课程的学员为新用户</div>
                 <i
                   class="el-icon-question"
                   style="font-size: 18px; color: #f56c6c"
@@ -868,11 +893,21 @@
     </el-dialog>
 
     <el-dialog title="协议下载" :visible.sync="protocolVisible" width="650px">
-      <protocol-model v-if="protocolVisible" @close="protocolVisible = false" :protocolVersions="protocolVersions" />
+      <protocol-model
+        v-if="protocolVisible"
+        @close="protocolVisible = false"
+        :protocolVersions="protocolVersions"
+      />
     </el-dialog>
 
     <el-dialog title="设置扩展分部" :visible.sync="extVisible" width="500px">
-      <student-ext v-if="extVisible" :subjectList="subjectList" :detail="extDetail" @getList="getList" @close="extVisible = false" />
+      <student-ext
+        v-if="extVisible"
+        :subjectList="subjectList"
+        :detail="extDetail"
+        @getList="getList"
+        @close="extVisible = false"
+      />
     </el-dialog>
 
     <el-dialog
@@ -896,7 +931,7 @@
 </template>
 <script>
 import pagination from "@/components/Pagination/index";
-import protocolModel from '@/views/studentManager/modals/protocolModel';
+import protocolModel from "@/views/studentManager/modals/protocolModel";
 import {
   queryStudentList,
   getStudentInfoByPhone,
@@ -908,14 +943,17 @@ import { queryByOrganId } from "@/api/systemManage";
 // import { getGradeList } from "@/";
 import qrCode from "@/components/QrCode/index";
 import { vaildStudentUrl } from "@/utils/validate";
-import { resetPassword2, getTeacher,getAgreement } from "@/api/buildTeam";
-import { organizationCloudTeacherFeeQueryPage, subjectListTree } from "@/api/specialSetting";
+import { resetPassword2, getTeacher, getAgreement } from "@/api/buildTeam";
+import {
+  organizationCloudTeacherFeeQueryPage,
+  subjectListTree,
+} from "@/api/specialSetting";
 import axios from "axios";
 import qs from "qs";
 import { getToken, getTenantId } from "@/utils/auth";
 import load from "@/utils/loading";
 import createMember from "./modals/createMember";
-import studentExt from './modals/studentExt'
+import studentExt from "./modals/studentExt";
 export default {
   name: "studentManagerList",
   components: { pagination, qrCode, createMember, protocolModel, studentExt },
@@ -1003,7 +1041,7 @@ export default {
       protocolVisible: false,
       protocolVersions: [],
       cooperationList: [],
-      tenantId:null
+      tenantId: null,
     };
   },
   mounted() {
@@ -1017,25 +1055,26 @@ export default {
       this.searchForm.hasTeacher = this.$route.params.hasTeacher;
     }
     if (this.$route.params.organId) {
-      this.searchForm.organId = []
+      this.searchForm.organId = [];
 
-      this.searchForm.organId = this.searchForm.organId.push(this.$route.params.organId);
+      this.searchForm.organId = this.searchForm.organId.push(
+        this.$route.params.organId
+      );
     }
     this.$store.dispatch("setBranchs");
     this.$store.dispatch("setTeachers");
     this.getList();
-    this.getAgreement()
-        this.tenantId = this.$helpers.tenantId;
+    this.getAgreement();
+    this.tenantId = this.$helpers.tenantId;
   },
   methods: {
-      async getAgreement() {
+    async getAgreement() {
       try {
         const res = await getAgreement();
         if (!res.data) {
-          this.$bus.$emit("showguide", ['agreement']);
+          this.$bus.$emit("showguide", ["agreement"]);
         }
       } catch (e) {}
-
     },
     handleSelectionChange(val) {
       this.multipleSelection = val;
@@ -1045,14 +1084,14 @@ export default {
     },
     addStudentMember() {
       if (this.multipleSelection.length > 0) {
-        let organIds = []
-        this.multipleSelection.forEach(m => {
-          if(!organIds.includes(m.organId)) {
-            organIds.push(m.organId)
+        let organIds = [];
+        this.multipleSelection.forEach((m) => {
+          if (!organIds.includes(m.organId)) {
+            organIds.push(m.organId);
           }
-        })
+        });
 
-        if(organIds.length == 1) {
+        if (organIds.length == 1) {
           this.memberVisible = true;
         } else {
           this.$message.error("所选学员只能是同一分部");
@@ -1068,13 +1107,14 @@ export default {
     onCreateQRCode() {
       // 生成报名二维码
       this.qrcodeStatus = true;
-      this.qrcodeUrl = vaildStudentUrl() + `/#/queryStudentPer?tenantId=`+ this.tenantId;
+      this.qrcodeUrl =
+        vaildStudentUrl() + `/#/queryStudentPer?tenantId=` + this.tenantId;
     },
     getList() {
-      let params = {...this.searchForm};
+      let params = { ...this.searchForm };
       params.rows = this.pageInfo.limit;
       params.page = this.pageInfo.page;
-      params.organId = this.searchForm.organId.join(',') ;
+      params.organId = this.searchForm.organId.join(",");
       queryStudentList(params).then((res) => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
@@ -1101,28 +1141,32 @@ export default {
       let url = "/api-web/export/studentHasCourse";
       let searchForm = this.searchForm;
       let data = {
-        organId: searchForm.organId.join(','),
-        search: searchForm.search+'' ? searchForm.search : null,
-        isActive: searchForm.isActive+'' ? searchForm.isActive : null,
+        organId: searchForm.organId.join(","),
+        search: searchForm.search + "" ? searchForm.search : null,
+        isActive: searchForm.isActive + "" ? searchForm.isActive : null,
         hasCourse: searchForm.hasCourse == "" ? null : searchForm.hasCourse,
         // isMake: searchForm.isMake ? searchForm.isMake : null,
-        hasPracticeCourse: searchForm.hasPracticeCourse+''
-          ? searchForm.hasPracticeCourse
-          : null,
-        operatingTag: searchForm.operatingTag+'' ? searchForm.operatingTag : null,
-        serviceTag: searchForm.serviceTag+'' ? searchForm.serviceTag : null,
-        teacherId: searchForm.teacherId+'' ? searchForm.teacherId : null,
-        carePackage: searchForm.carePackage+'' ? searchForm.carePackage : null,
-        comeOnPackage: searchForm.comeOnPackage+'' ? searchForm.comeOnPackage : null,
-        isNewUser: searchForm.isNewUser+'' ? searchForm.isNewUser : null,
-        hasTeacher: searchForm.hasTeacher+'' ? searchForm.hasTeacher : null,
-        isRecord: searchForm.isRecord+'' ? searchForm.isRecord : null,
+        hasPracticeCourse:
+          searchForm.hasPracticeCourse + ""
+            ? searchForm.hasPracticeCourse
+            : null,
+        operatingTag:
+          searchForm.operatingTag + "" ? searchForm.operatingTag : null,
+        serviceTag: searchForm.serviceTag + "" ? searchForm.serviceTag : null,
+        teacherId: searchForm.teacherId + "" ? searchForm.teacherId : null,
+        carePackage:
+          searchForm.carePackage + "" ? searchForm.carePackage : null,
+        comeOnPackage:
+          searchForm.comeOnPackage + "" ? searchForm.comeOnPackage : null,
+        isNewUser: searchForm.isNewUser + "" ? searchForm.isNewUser : null,
+        hasTeacher: searchForm.hasTeacher + "" ? searchForm.hasTeacher : null,
+        isRecord: searchForm.isRecord + "" ? searchForm.isRecord : null,
       };
       const options = {
         method: "POST",
         headers: {
           Authorization: getToken(),
-          tenantId: getTenantId()
+          tenantId: getTenantId(),
         },
         url,
         data: qs.stringify(data),
@@ -1148,14 +1192,14 @@ export default {
                 // 判断是否报错
                 if (res.indexOf("code") != -1) {
                   let json = JSON.parse(res);
-                  if(json.code == 403) {
-                    this.$message.error(`登录过期,请重新登录!`)
+                  if (json.code == 403) {
+                    this.$message.error(`登录过期,请重新登录!`);
                     setTimeout(() => {
-                      this.$store.dispatch('user/resetToken').then(() => {
-                        location.reload()
-                      })
+                      this.$store.dispatch("user/resetToken").then(() => {
+                        location.reload();
+                      });
                     }, 1000);
-                    return
+                    return;
                   }
                   this.$message.error(json.msg);
                 } else {
@@ -1293,7 +1337,7 @@ export default {
           });
           this.subjectList = tempArray;
         }
-        console.log(this.subjectList)
+        console.log(this.subjectList);
       });
     },
     async addStudent() {
@@ -1303,7 +1347,7 @@ export default {
       this.maskName = "新增学员";
     },
     async resetStudent(row) {
-          this.studentVisible = true;
+      this.studentVisible = true;
       let organId = row.organId;
       await this.getSubjectList();
       await this.changeStudentOrgan(row.organId);
@@ -1327,7 +1371,7 @@ export default {
           carePackage: row.carePackage,
           comeOnPackage: row.comeOnPackage,
           school: row.cooperationOrganId || null,
-          extSubjectIds: row.extSubjectIds || null
+          extSubjectIds: row.extSubjectIds || null,
         };
         this.studentUpdatePackage = {
           carePackage: row.carePackage,
@@ -1335,7 +1379,8 @@ export default {
         };
       });
     },
-    async setStudent(row) { // 设置扩展分部
+    async setStudent(row) {
+      // 设置扩展分部
       await this.getSubjectList();
       this.extDetail = {
         id: row.userId,
@@ -1353,10 +1398,10 @@ export default {
         carePackage: row.carePackage,
         comeOnPackage: row.comeOnPackage,
         cooperationOrganId: row.cooperationOrganId || null,
-        extSubjectIds: row.extSubjectIds
-      }
-      console.log(row, 'show')
-      this.extVisible = true
+        extSubjectIds: row.extSubjectIds,
+      };
+      console.log(row, "show");
+      this.extVisible = true;
     },
     onMaskClose(formName) {
       this.$refs[formName].resetFields();
@@ -1405,13 +1450,11 @@ export default {
         await getTeacher({ organId: val }).then((res) => {
           if (res.code == 200) {
             this.maskTeacherList = res.data;
-            if(this.maskTeacherList<=0){
-              this.$nextTick(()=>{
-                 this.$bus.$emit("showguide", ['teacher']);
-              })
-
+            if (this.maskTeacherList <= 0) {
+              this.$nextTick(() => {
+                this.$bus.$emit("showguide", ["teacher"]);
+              });
             }
-
           }
         });
         queryByOrganId({ organId: val }).then((res) => {
@@ -1491,5 +1534,4 @@ export default {
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-
 </style>