Browse Source

修改bug

1
mo 3 years ago
parent
commit
09c4c6a0f0

+ 121 - 88
src/views/studentManager/studentList.vue

@@ -17,7 +17,10 @@
           <el-input
             clearable
             placeholder="学生姓名或电话"
-            @keyup.enter.native="onSearch"
+            @keydown.enter.native="(e)=>{
+              e.target.blur()
+              onSearch()
+            }"
             v-model.trim="searchForm.search"
           ></el-input>
         </el-form-item>
@@ -72,7 +75,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 +98,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 +109,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 +177,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 +207,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 +225,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 +273,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
                   >
@@ -377,7 +395,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 +482,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 +537,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 +710,7 @@
             v-model.trim="studentForm.teacherId"
             clearable
             filterable
-            :disabled='!studentForm.organId'
+            :disabled="!studentForm.organId"
           >
             <el-option
               v-for="(item, index) in maskTeacherList"
@@ -708,7 +726,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"
@@ -718,7 +736,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"
@@ -733,9 +751,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"
@@ -852,11 +868,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
@@ -880,7 +906,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,
@@ -891,14 +917,17 @@ import {
 import { queryByOrganId } from "@/api/systemManage";
 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 },
@@ -986,7 +1015,7 @@ export default {
       protocolVisible: false,
       protocolVersions: [],
       cooperationList: [],
-      tenantId:null
+      tenantId: null,
     };
   },
   mounted() {
@@ -1000,25 +1029,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;
@@ -1028,14 +1058,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("所选学员只能是同一分部");
@@ -1051,13 +1081,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;
@@ -1084,28 +1115,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),
@@ -1131,14 +1166,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 {
@@ -1276,7 +1311,7 @@ export default {
           });
           this.subjectList = tempArray;
         }
-        console.log(this.subjectList)
+        console.log(this.subjectList);
       });
     },
     async addStudent() {
@@ -1286,7 +1321,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);
@@ -1310,7 +1345,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,
@@ -1318,7 +1353,8 @@ export default {
         };
       });
     },
-    async setStudent(row) { // 设置扩展分部
+    async setStudent(row) {
+      // 设置扩展分部
       await this.getSubjectList();
       this.extDetail = {
         id: row.userId,
@@ -1336,10 +1372,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();
@@ -1388,13 +1424,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) => {
@@ -1474,5 +1508,4 @@ export default {
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-
 </style>

+ 39 - 18
src/views/teamDetail/componentCourse/studentWork.vue

@@ -5,12 +5,10 @@
     :closable="false"
     :description="content">
   </el-alert> -->
-    <div class="workTitle" v-if="title||content">
-       {{ title }}:<span>{{ content }}</span>
-    </div>
-    <div v-else class="workTitle">
-      暂未布置作业
+    <div class="workTitle" v-if="title || content">
+      {{ title }}:<span>{{ content }}</span>
     </div>
+    <div v-else class="workTitle">暂未布置作业</div>
 
     <el-form :inline="true" class="workForm" style="padding: 0 25px">
       <el-form-item label="应交学生数">
@@ -123,14 +121,16 @@
               v-for="(item, index) in activeRow.urlList"
               :key="index"
             >
-              <video
-                style="width: 480px"
-                :src="item"
-                ref="dialogVideo"
-                controls="controls"
-              >
-                您的浏览器不支持视频播放
-              </video>
+              <div class="videoWrap">
+                <video
+                  style="width: 480px"
+                  :src="item"
+                  ref="dialogVideo"
+                  controls="controls"
+                >
+                  您的浏览器不支持视频播放
+                </video>
+              </div>
             </swiper-slide>
             <div class="swiper-pagination" slot="pagination"></div>
             <div
@@ -239,9 +239,11 @@ export default {
       repliedNum: null,
       activeUrl: null,
       content: null,
-      title:null,
+      title: null,
       activeRow: null,
       swiperOptions: {
+        // autoHeight: true,
+        speed: 300,
         loop: true,
         pagination: ".swiper-pagination",
         navigation: {
@@ -267,7 +269,6 @@ export default {
     },
   },
   mounted() {
-    console.log(this.$route);
     this.init();
   },
   activated() {
@@ -294,7 +295,7 @@ export default {
         if (res.code == 200) {
           if (res.data) {
             this.content = res.data.content;
-            this.title = res.data.title
+            this.title = res.data.title;
           }
 
           this.content ? this.content : (this.content = "");
@@ -311,10 +312,16 @@ export default {
         if (res.code == 200) {
           this.rules.total = res.data.total;
           this.tableList = res.data.rows.map((item) => {
-            item.urlList = item.url ? item.url.split(",") : [];
+            item.urlList = [];
+            if (item.url) {
+              item.url.split(",").forEach((url) => {
+                if (url) {
+                  item.urlList.push(url);
+                }
+              });
+            }
             return item;
           });
-          console.log(this.tableList);
         }
       });
     },
@@ -335,9 +342,11 @@ export default {
       this.activeUrl = "";
     },
     prev(val) {
+
       this.swiper.slidePrev();
     },
     next(val) {
+      console.log(val)
       this.swiper.slideNext();
     },
     lookReplied(row) {
@@ -376,6 +385,18 @@ export default {
   flex-direction: row;
   height: 100%;
 }
+.videoWrap{
+  min-height:640px;
+
+  //  background-color: #efefef;
+   align-items: center;
+   display: flex;
+   flex-direction: row;
+}
+
+.swiper-wrapper {
+
+}
 .sliderWrap {
   width: 100%;
   display: flex;