Explorar el Código

新增协议引导

1
mo hace 3 años
padre
commit
c26135ad0d

+ 8 - 7
src/api/buildTeam.js

@@ -1647,11 +1647,12 @@ export function getOrganRole(data) {
     params:data
   })
 }
-// export function getOrganRole(data) {
-//   return request2({
-//     url: api + `/organization/getOrganRole`,
-//     method: 'get',
-//     params:data
-//   })
-// }
+// 获取正在启用得协议
+export function getAgreement(data) {
+  return request2({
+    url: api + `/tenantContractTemplate/queryLatestContractTemplate`,
+    method: 'get',
+    params:data
+  })
+}
 

+ 1 - 1
src/constant/guide.js

@@ -86,7 +86,7 @@ export const guideList = {
   agreement:{
     name: '服务协议',
     desc: '服务协议是学员购买服务或商品时签署的交易协议,交易成功后会生成电子合同,具有法律效益,请及时添加本机构的服务协议内容,为本机构及学员提供保障。若无协议学员也可正常购买,但不会生成电子合同。',
-    path: '/courseRulersManager?tabrouter=2',
+    path: '/tenantInfoProtocol',
     permission: 'tenantContractTemplate/list'
   }
 }

+ 61 - 39
src/views/buildVip/index.vue

@@ -301,7 +301,7 @@
           </el-form-item>
           <el-form-item v-if="hasOnline" label="线上课数">
             <el-input
-            :disabled='studentLimit>studentRuleNum'
+              :disabled="studentLimit > studentRuleNum"
               v-model.trim="centerForm.onlineCourseNum"
               @mousewheel.native.prevent
               @input="onCourseNumChange('online')"
@@ -546,7 +546,11 @@
       <div class="btnWrap">
         <div class="okBtn" @click="submitInfo">{{ id ? "修改" : "确定" }}</div>
 
-        <div class="okBtn" style="background-color: var(--color-primary)" @click="resetFrom">
+        <div
+          class="okBtn"
+          style="background-color: var(--color-primary)"
+          @click="resetFrom"
+        >
           重置
         </div>
       </div>
@@ -672,6 +676,7 @@ import {
   getSubject,
   getPracticeApplySubjects,
   getOrganRole,
+  getAgreement,
 } from "@/api/buildTeam";
 import {
   vipGroupCategory,
@@ -682,7 +687,7 @@ import {
   getPracticeGroupCostCount,
   createPractice,
   getPracticeGroupSellPrice,
-  getOnlineMun
+  getOnlineMun,
 } from "@/api/vipSeting";
 import { getTeachSchool, getTeacherBySubject } from "@/api/teacherManager";
 import axios from "axios";
@@ -876,8 +881,9 @@ export default {
       isMusicTheory: false,
       chioseStudent: [],
       classTimeDis: false,
-      studentRuleNum:0,
-        isFirst:false
+      studentRuleNum: 0,
+      isFirst: false,
+      submitList:[]
     };
   },
   computed: {
@@ -927,8 +933,8 @@ export default {
       this.title = "网管课申请";
       this.$route.meta.title = "网管课申请";
       this.hasOffline = false;
-    }else{
-        this.title = "VIP申请";
+    } else {
+      this.title = "VIP申请";
       this.$route.meta.title = "VIP申请";
     }
 
@@ -1026,14 +1032,22 @@ export default {
       localStorage.removeItem("newVip");
       localStorage.removeItem(`newPractice`);
     },
+    async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+           this.submitList.push("agreement");
+          // this.$bus.$emit("showguide", ["agreement"]);
+        }
+      } catch (e) {}
+    },
     async init() {
-      try{
-        const res = await getOnlineMun()
-        let tempObj = JSON.parse(res.data.config)
-        this.studentRuleNum = tempObj.cloud_room_rule.cloud_room_up_limit -1
-
-      }catch(e){
-        console.log(e)
+      try {
+        const res = await getOnlineMun();
+        let tempObj = JSON.parse(res.data.config);
+        this.studentRuleNum = tempObj.cloud_room_rule.cloud_room_up_limit - 1;
+      } catch (e) {
+        console.log(e);
       }
       if (this.$route.query.rules) {
         this.rules = this.$route.query.rules;
@@ -1042,11 +1056,17 @@ export default {
         this.searchForm = this.$route.query.searchForm;
       }
       // 获取所有科目的接口
+     this.submitList =[]
       await this.$store.dispatch("setBranchs");
+      await this.getAgreement();
       if (this.selects.branchs.length <= 0) {
-        this.$bus.$emit("showguide", ["organ"]);
+        submitList.push("organ")
+        // this.$bus.$emit("showguide", ["organ"]);
+      }
+       if (this.submitList.length > 0) {
+        this.$bus.$emit("showguide", this.submitList);
+        return;
       }
-
       if (this.courseType == "PRACTICE") {
         getPracticeApplySubjects().then((res) => {
           if (res.code == 200) {
@@ -1068,14 +1088,14 @@ export default {
       this.pickerOptions = this.beginDate();
       this.pickerOptions1 = this.processDate();
       this.courseOption = this.coursesDate();
-     this.getInstitutionRules()
+      this.getInstitutionRules();
     },
-        async getInstitutionRules() {
+    async getInstitutionRules() {
       try {
         const res = await getSysTenantConfig({ group: "OFFLINE" });
-        this.isFirst = Boolean(res.data[0].createOn)
-        if(!this.isFirst){
-           this.$bus.$emit("showguide", ['offline']);
+        this.isFirst = Boolean(res.data[0].createOn);
+        if (!this.isFirst) {
+          this.$bus.$emit("showguide", ["offline"]);
         }
       } catch (e) {
         console.log(e);
@@ -1156,10 +1176,10 @@ export default {
       }).then((res) => {
         if (res.code == 200) {
           this.teacherList = res.data;
-           if( this.teacherList.length <=0){
-          this.$bus.$emit("showguide", ['teacher']);
-          return
-        }
+          if (this.teacherList.length <= 0) {
+            this.$bus.$emit("showguide", ["teacher"]);
+            return;
+          }
         }
       });
       // getTeacherBySubject({ subjecId: val }).then(res => {
@@ -1176,13 +1196,12 @@ export default {
       this.leftForm.activeType = "";
       this.computationalBtn = false;
       this.leftForm.students = []; // 重置所选学生
-        this.centerForm.onlineCourseNum = 0 // 重置线上课数
+      this.centerForm.onlineCourseNum = 0; // 重置线上课数
       this.changePrice(val);
     },
     changePrice(val) {
       for (let i in this.courseTypeList) {
         if (this.courseTypeList[i].id == val) {
-
           // 学生人数
           this.leftForm.classNum = this.courseTypeList[i].studentNum;
           this.studentLimit = this.courseTypeList[i].studentNum;
@@ -1198,10 +1217,13 @@ export default {
           this.rightForm.offlinePrice =
             this.courseTypeList[i].offlineClassesUnitPrice;
 
-            if(this.rightForm.onlinePrice<=0 || this.rightForm.offlinePrice<=0){
-               this.$bus.$emit("showguide", ['vipPrice']);
-              return
-            }
+          if (
+            this.rightForm.onlinePrice <= 0 ||
+            this.rightForm.offlinePrice <= 0
+          ) {
+            this.$bus.$emit("showguide", ["vipPrice"]);
+            return;
+          }
           this.isMusicTheory = this.courseTypeList[i].musicTheory;
         }
       }
@@ -1991,10 +2013,10 @@ export default {
         }).then((res) => {
           if (res.code == 200) {
             this.scetionList = res.data;
-        //         if(this.scetionList.length <=0){
-        //   this.$bus.$emit("showguide", ['teamPayType']);
-        //   return
-        // }
+            //         if(this.scetionList.length <=0){
+            //   this.$bus.$emit("showguide", ['teamPayType']);
+            //   return
+            // }
           }
         });
       }
@@ -2078,7 +2100,7 @@ export default {
           this.educationList = ruselt?.data?.EDUCATION;
           if (!this.educationList || this.educationList.length <= 0) {
             this.$bus.$emit("showguide", ["teamManager"]);
-            return
+            return;
           }
         } catch (e) {
           console.log(e);
@@ -2199,7 +2221,7 @@ export default {
           method: "get",
           headers: {
             Authorization: getToken(),
-            tenantId: getTenantId()
+            tenantId: getTenantId(),
           },
           params: {
             rows: 9999,
@@ -2263,7 +2285,7 @@ export default {
           categoryId: this.leftForm.courseType,
           teacherId: this.leftForm.teacher,
           studentIds,
-          activityChannel:2
+          activityChannel: 2,
         }).then((res) => {
           if (res.code == 200) {
             this.activeList = res.data;
@@ -2296,7 +2318,7 @@ export default {
           teacherId: this.leftForm.teacher,
           studentIds,
           courseType: this.courseType,
-          activityChannel:2
+          activityChannel: 2,
         }).then((res) => {
           if (res.code == 200) {
             this.activeList = res.data;

+ 14 - 0
src/views/reaplceMusicPlayer/index.vue

@@ -239,6 +239,10 @@ import cleanDeep from 'clean-deep'
 import qs from 'qs';
 import QrCode from "@/components/QrCode/index";
 import { encode } from 'js-base64';
+import {
+  getAgreement,
+} from "@/api/buildTeam";
+
 export default {
   components: { pagination, addUrl, detail, QrCode },
   data() {
@@ -277,12 +281,22 @@ export default {
     this.init();
   },
   methods: {
+        async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+          this.$bus.$emit("showguide", ['agreement']);
+        }
+      } catch (e) {}
+
+    },
     permission(str, parent) {
       return permission(str, parent);
     },
     init() {
       this.$store.dispatch("setBranchs");
       this.getList();
+      this.getAgreement()
     },
     async getList() {
       try {

+ 15 - 2
src/views/resetTeaming/components/payInfoDetail.vue

@@ -79,7 +79,11 @@
                   </div>
                 </div>
                 <div
-                  v-if="isShowLeBao && tenantId == 1 && $route.query.team_status != 'PROGRESS'"
+                  v-if="
+                    isShowLeBao &&
+                    tenantId == 1 &&
+                    $route.query.team_status != 'PROGRESS'
+                  "
                   class="checkBtn"
                   :class="[
                     leBao ? 'active' : '',
@@ -329,6 +333,7 @@ import {
 import {
   getMusicGroupPaymentCalenderDetail,
   findMusicGroupSubjectInfo,
+  getAgreement,
 } from "@/api/buildTeam";
 import { vipGroupActivity } from "@/api/vipSeting";
 export default {
@@ -437,7 +442,6 @@ export default {
       } else if (this.$route.query.team_status == "PROGRESS") {
         this.leBao = false;
         this.leBaoDisabled = true;
-
       }
       if (this.$route.query.payUserType == "SCHOOL") {
         this.member = false;
@@ -454,6 +458,7 @@ export default {
       await this.getLeBao(); // 获取乐保
       await this.getActive(); // 获取活动
       await this.getMemberRules();
+      await this.getAgreement(); // 获取是否有正在启用得协议
       if (this.$route.query.calenderId) {
         // 说明是修改  查缴项目详情
         getMusicGroupPaymentCalenderDetail({
@@ -528,6 +533,14 @@ export default {
         }
       });
     },
+    async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+          this.submitList.push("agreement");
+        }
+      } catch (e) {}
+    },
     async getMemberRules() {
       try {
         const res = await sysConfigList({ group: "DEFAULT" });

+ 41 - 22
src/views/sporadicManager/sporadicList.vue

@@ -73,7 +73,8 @@
           <el-button native-type="reset" type="primary">重置</el-button>
           <el-button
             @click="exportSporad"
-            v-permission="'export/sporadicChargeInfo'">导出</el-button
+            v-permission="'export/sporadicChargeInfo'"
+            >导出</el-button
           >
         </el-form-item>
       </save-form>
@@ -81,7 +82,7 @@
         v-permission="'sporadicChargeInfo/add'"
         @click="newVisible"
         type="primary"
-        style="margin-bottom:20px"
+        style="margin-bottom: 20px"
       >
         新增公用收费
       </el-button>
@@ -89,7 +90,7 @@
         v-permission="'sporadicChargeInfo/add'"
         @click="newVisible1"
         type="primary"
-        style="margin-bottom:20px"
+        style="margin-bottom: 20px"
       >
         新增个人收费
       </el-button>
@@ -113,15 +114,15 @@
             </template>
           </el-table-column>
           <el-table-column align="center" label="标题" prop="title">
-              <template slot-scope="scope">
+            <template slot-scope="scope">
               <div>
                 <copy-text>{{ scope.row.title }}</copy-text>
               </div>
             </template>
           </el-table-column>
-               <el-table-column align="center" label="学生姓名" prop="userName">
+          <el-table-column align="center" label="学生姓名" prop="userName">
             <template slot-scope="scope">
-               <copy-text>{{ scope.row.userName }}</copy-text>
+              <copy-text>{{ scope.row.userName }}</copy-text>
             </template>
           </el-table-column>
           <el-table-column align="center" label="收费状态">
@@ -222,7 +223,11 @@
         ref="maskForm"
       >
         <el-form-item label="标题" prop="title">
-          <el-input v-model.trim="maskForm.title" maxlength="50" :disabled="!isNew"></el-input>
+          <el-input
+            v-model.trim="maskForm.title"
+            maxlength="50"
+            :disabled="!isNew"
+          ></el-input>
         </el-form-item>
         <el-form-item label="收费类型" prop="type">
           <el-select
@@ -233,7 +238,7 @@
             style="width: 180px !important"
           >
             <el-option
-              v-for="item in (isNew ? orderType1 : orderType)"
+              v-for="item in isNew ? orderType1 : orderType"
               :key="item.value"
               :label="item.label"
               :value="item.value"
@@ -383,7 +388,7 @@
             filterable
             style="width: 180px !important"
           >
-            <template v-for="item in (isNew1 ? orderType1 : orderType)">
+            <template v-for="item in isNew1 ? orderType1 : orderType">
               <el-option
                 v-if="item.value != 12"
                 :key="item.value"
@@ -464,7 +469,12 @@
         >
       </span>
     </el-dialog>
-    <el-dialog :visible.sync="qrcodeStatus" center width="300px" title="缴费链接">
+    <el-dialog
+      :visible.sync="qrcodeStatus"
+      center
+      width="300px"
+      title="缴费链接"
+    >
       <div class="right-code">
         <!-- <h2 class="title">缴费链接</h2> -->
         <vue-qr :text="qrCodeUrl" style="width: 100%" :margin="0"></vue-qr>
@@ -479,7 +489,7 @@
   </div>
 </template>
 <script>
-import { getEmployeeOrgan } from "@/api/buildTeam";
+import { getAgreement } from "@/api/buildTeam";
 import pagination from "@/components/Pagination/index";
 import { vaildStudentUrl } from "@/utils/validate";
 import cleanDeep from "clean-deep";
@@ -633,6 +643,7 @@ export default {
     // })
     this.$store.dispatch("setBranchs");
     this.getList();
+    this.getAgreement ()
   },
   methods: {
     search() {
@@ -646,7 +657,7 @@ export default {
         type: null,
         search: null,
       };
-      this.search()
+      this.search();
     },
     getList() {
       let searchForm = this.searchForm;
@@ -707,6 +718,14 @@ export default {
       this.zeroVisible1 = true;
       this.title1 = "新增个人收费";
     },
+    async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+          this.$bus.$emit("showguide", ["agreement"]);
+        }
+      } catch (e) {}
+    },
     lookVisible(row) {
       let maskForm = null;
       if (row.userId) {
@@ -922,7 +941,7 @@ export default {
         method: "get",
         headers: {
           Authorization: getToken(),
-          tenantId: getTenantId()
+          tenantId: getTenantId(),
         },
         params: data,
         url,
@@ -948,14 +967,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 {
@@ -1017,8 +1036,8 @@ export default {
         10: "乐保服务",
         11: "其它",
         12: "双十一活动",
-        13: '网基课活动',
-        15: '团练宝购买',
+        13: "网基课活动",
+        15: "团练宝购买",
       };
       return template[val];
     },
@@ -1043,6 +1062,6 @@ export default {
   width: 180px !important;
 }
 /deep/.el-select {
-    width: auto !important;
+  width: auto !important;
 }
 </style>

+ 11 - 1
src/views/studentManager/studentList.vue

@@ -880,7 +880,7 @@ import {
 import { queryByOrganId } from "@/api/systemManage";
 import qrCode from "@/components/QrCode/index";
 import { vaildStudentUrl } from "@/utils/validate";
-import { resetPassword2, getTeacher } from "@/api/buildTeam";
+import { resetPassword2, getTeacher,getAgreement } from "@/api/buildTeam";
 import { organizationCloudTeacherFeeQueryPage, subjectListTree } from "@/api/specialSetting";
 import axios from "axios";
 import qs from "qs";
@@ -993,9 +993,19 @@ export default {
     this.$store.dispatch("setBranchs");
     this.$store.dispatch("setTeachers");
     this.getList();
+    this.getAgreement()
         this.tenantId = this.$helpers.tenantId;
   },
   methods: {
+      async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+          this.$bus.$emit("showguide", ['agreement']);
+        }
+      } catch (e) {}
+
+    },
     handleSelectionChange(val) {
       this.multipleSelection = val;
     },

+ 59 - 33
src/views/teamBuild/signupList.vue

@@ -298,9 +298,7 @@
                   align="center"
                 >
                   <template slot-scope="scope">
-                    <div>
-                     {{ scope.row.totalAmount | moneyFormat}}元
-                    </div>
+                    <div>{{ scope.row.totalAmount | moneyFormat }}元</div>
                   </template>
                 </el-table-column>
                 <!-- <el-table-column label="购买乐器未入团人数" prop="cloudTeacherStudentNumOfApply" align="center">
@@ -332,7 +330,9 @@
                 v-permission="'musicGroup/updateExpectedStudentNum'"
                 style="margin-right: 20px; margin-top: 20px"
               >
-              <p style="color:red">收费总额:{{allSubjectTotal|moneyFormat}}元</p>
+                <p style="color: red">
+                  收费总额:{{ allSubjectTotal | moneyFormat }}元
+                </p>
                 <el-button
                   v-show="
                     !isEdit &&
@@ -800,7 +800,7 @@
               </auth>
               <auth
                 :auths="'musicGroupQuit/apply2'"
-                v-show="scope.row.paymentStatus == 2&&isManage"
+                v-show="scope.row.paymentStatus == 2 && isManage"
               >
                 <el-button type="text" @click="quitTeam(scope.row)"
                   >退团</el-button
@@ -863,11 +863,7 @@
       >
         <el-button @click="onSelectAll">全选/取消</el-button>
         <auth :auths="'studentRegistration/openPayment'">
-          <el-button
-            @click="onPartPayment"
-            type="primary"
-            >提前缴费</el-button
-          >
+          <el-button @click="onPartPayment" type="primary">提前缴费</el-button>
         </auth>
         <!-- <div class='newBand' v-show="status=='APPLY'">允许缴费</div> -->
       </div>
@@ -973,7 +969,7 @@
       title="开始缴费"
       :visible.sync="paymentStatus"
       width="400px"
-     v-if="paymentStatus"
+      v-if="paymentStatus"
     >
       <el-form
         ref="paymentForm"
@@ -1023,7 +1019,9 @@
               <p>退还课程费用:缴费总额-已结束课时单价之和</p>
               <p>退还乐器费用:报名缴费时缴纳的乐器费用(团购、租金)</p>
               <p>退还教辅费用:报名缴费时缴费的教辅费用</p>
-              <p v-if="$helpers.tenantId ==1">退还乐保费用:报名缴费时缴费的乐保费用</p>
+              <p v-if="$helpers.tenantId == 1">
+                退还乐保费用:报名缴费时缴费的乐保费用
+              </p>
             </div>
             <el-button
               type="text"
@@ -1115,6 +1113,7 @@ import {
   checkCanReg,
   getRefundsDetail,
   applyMusicGroupQuit,
+  getAgreement,
 } from "@/api/buildTeam";
 import {
   setNoneCloudTeacher,
@@ -1300,6 +1299,7 @@ export default {
         address: null,
       },
       sysMsg: "",
+      submitList: [],
     };
   },
   created() {},
@@ -1307,7 +1307,7 @@ export default {
     // 通过乐团状态判断显示隐藏的东西
     let isSuperAdmin = this.$store.getters.isSuperAdmin;
     let roles = this.$store.getters.roles;
-     if (isSuperAdmin) {
+    if (isSuperAdmin) {
       this.isManage = "super";
     } else {
       if (roles.indexOf("1") != -1) {
@@ -1361,7 +1361,7 @@ export default {
       } catch (e) {
         console.log(e);
       }
-
+      await this.getAgreement();
       getMusicGroupGradeList({ musicGroupId: this.id }).then((res) => {
         let result = res.data;
         this.gradeListObj = res.data;
@@ -1393,6 +1393,18 @@ export default {
       // 通过乐团id获取乐团学生列表
       this.getList();
     },
+    async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+          this.submitList.push("agreement");
+        }
+      } catch (e) {}
+      if (this.submitList.length > 0) {
+        this.$bus.$emit("showguide", this.submitList);
+        return;
+      }
+    },
     search() {
       this.rules.page = 1;
       this.getList();
@@ -1529,12 +1541,19 @@ export default {
       // 生成报名二维码
       let id = this.id;
       this.codeStatus = true;
-      let tenantConfig = sessionStorage.getItem('tenantConfig')
-      tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
-      const tenantId = tenantConfig.tenantId || 0
+      let tenantConfig = sessionStorage.getItem("tenantConfig");
+      tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {};
+      const tenantId = tenantConfig.tenantId || 0;
       if (type == "payment") {
         this.codeTitle = "学员报名链接";
-        this.qrCodeUrl = vaildStudentUrl() + "/#/login?musicGroupId=" + id + '&organId=' + this.organId+ '&tenantId=' + tenantId;
+        this.qrCodeUrl =
+          vaildStudentUrl() +
+          "/#/login?musicGroupId=" +
+          id +
+          "&organId=" +
+          this.organId +
+          "&tenantId=" +
+          tenantId;
       } else if (type == "detail") {
         let teamName = this.$route.query.name;
         this.codeTitle = "报名缴费详情";
@@ -1547,7 +1566,14 @@ export default {
       } else if (type == "rePayment") {
         this.codeTitle = "学生报名链接(无乐器)";
         this.qrCodeUrl =
-          vaildStudentUrl() + "/#/login?musicGroupId=" + id + '&organId=' + this.organId + '&tenantId=' + tenantId + "&instrument=1";
+          vaildStudentUrl() +
+          "/#/login?musicGroupId=" +
+          id +
+          "&organId=" +
+          this.organId +
+          "&tenantId=" +
+          tenantId +
+          "&instrument=1";
       }
     },
     onCreateQRCode2() {
@@ -1593,7 +1619,7 @@ export default {
         method: "POST",
         headers: {
           Authorization: getToken(),
-          tenantId: getTenantId()
+          tenantId: getTenantId(),
         },
         data: qs.stringify(data),
         url,
@@ -1619,14 +1645,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 {
@@ -1921,7 +1947,7 @@ export default {
                 memberFee: params.memberFee,
                 musicalFee: params.musicalFee,
               };
-              if (this.isManage!='staff') {
+              if (this.isManage != "staff") {
                 params.status = "APPROVED";
               } else {
                 params.status = "PROCESSING";
@@ -2254,13 +2280,13 @@ export default {
         return ``;
       }
     },
-    allSubjectTotal(){
+    allSubjectTotal() {
       let allConut = 0;
-      this.leftList.forEach(item=>{
-        allConut+=Number(item.totalAmount)
-      })
-      return allConut
-    }
+      this.leftList.forEach((item) => {
+        allConut += Number(item.totalAmount);
+      });
+      return allConut;
+    },
   },
 };
 </script>

+ 15 - 0
src/views/teamDetail/components/studentList.vue

@@ -972,6 +972,7 @@ import {
   getMusicGroupGradeList,
   getRefundsDetail,
   applyMusicGroupQuit,
+  getAgreement
 } from "@/api/buildTeam";
 import {
   addStudent,
@@ -1192,6 +1193,7 @@ export default {
       // memberRankList: [],
       isManage: false,
       gradeListObj: {},
+      submitList:[]
     };
   },
   components: {
@@ -1250,6 +1252,7 @@ export default {
     //   console.log(e);
     // }
     this.init();
+    this.getAgreement()
   },
   methods: {
     onPaymentDetail(row) {
@@ -1965,6 +1968,18 @@ export default {
         params: { search: search },
       });
     },
+        async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+          this.submitList.push("agreement");
+        }
+      } catch (e) {}
+      if (this.submitList.length > 0) {
+        this.$bus.$emit("showguide", this.submitList);
+        return;
+      }
+    },
     // addTryTime() {
     //   if (this.multipleSelection.length > 0) {
     //     this.addTryVisible = true;

+ 25 - 8
src/views/teamDetail/teamClassList.vue

@@ -5,7 +5,7 @@
       <div class="squrt"></div>
       班级管理
       <filter-search
-      v-if="permission('/teamCLassList/abnormal')"
+        v-if="permission('/teamCLassList/abnormal')"
         :keys="['lessThenThreeHighOnline']"
         @reload="reloadSearch"
         :moreKeys="['organId']"
@@ -230,7 +230,10 @@
     </div>
     <classCompound
       :compoundList="compoundList"
-      v-if="permission('classGroup/spanGroupMergeClassSplitClassAffirm')&&compoundList.length>0"
+      v-if="
+        permission('classGroup/spanGroupMergeClassSplitClassAffirm') &&
+        compoundList.length > 0
+      "
       @clearCom="clearCom"
       @getList="getList"
       @cancleCompound="cancleCompound"
@@ -245,7 +248,11 @@ import pagination from "@/components/Pagination/index";
 import load from "@/utils/loading";
 import { courseListType } from "@/utils/searchArray";
 import { musicClassTypeList } from "@/utils/searchArray";
-import { getClassGroupPage, removeSingleClass } from "@/api/buildTeam";
+import {
+  getClassGroupPage,
+  removeSingleClass,
+  getAgreement,
+} from "@/api/buildTeam";
 import { permission } from "@/utils/directivePage";
 import classCompound from "./componentClass/classCompound";
 import { Export } from "@/utils/downLoadFile";
@@ -279,9 +286,9 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-    const { query,params } = this.$route;
-    if(params.search){
-       this.searchForm.search = params.search;
+    const { query, params } = this.$route;
+    if (params.search) {
+      this.searchForm.search = params.search;
     }
     if (query.type) {
       this.searchForm.type = query.type;
@@ -294,12 +301,22 @@ export default {
     this.init();
   },
   methods: {
+    async getAgreement() {
+      try {
+        const res = await getAgreement();
+        if (!res.data) {
+          this.$bus.$emit("showguide", ['agreement']);
+        }
+      } catch (e) {}
+
+    },
     reloadSearch() {
       this.rules.page = 1;
       this.getList();
     },
     init() {
       this.getList();
+      this.getAgreement()
     },
     async getList() {
       try {
@@ -360,11 +377,11 @@ export default {
         // this.hightOnlineCount = 0;
         // this.hightCount = 0;
         // this.compoundList = [];
-        this.compoundList.splice(this.compoundList.length-1,1)
+        this.compoundList.splice(this.compoundList.length - 1, 1);
       }
       if (this.hightCount && this.hightCount != this.compoundList.length) {
         this.$message.error("基础技能班仅能和基础技能班合并");
-          this.compoundList.splice(this.compoundList.length-1,1)
+        this.compoundList.splice(this.compoundList.length - 1, 1);
         // this.hightOnlineCount = 0;
         // this.hightCount = 0;
         // this.compoundList = [];