浏览代码

报名缴费样式修改

1
mo 3 年之前
父节点
当前提交
646a574cc5

+ 25 - 0
src/App.vue

@@ -69,6 +69,31 @@ body {
 }
 </style>
 <style lang="scss">
+.el-loading-spinner .circular{
+  width: 42px;
+  height: 42px;
+  animation: loading-rotate 2s linear infinite;
+  display: none;
+}
+.el-loading-spinner{
+    width: 180px!important;
+    height: 63px;
+    background: linear-gradient(to bottom, #fff 100%, #00f 100%);
+    // -webkit-mask-image: url('assets/img/loading.png');
+    // mask-image: url('assets/img/loading.png');
+    -webkit-mask-repeat: no-repeat;
+    mask-repeat: no-repeat;
+    -webkit-mask-position: center;
+    mask-position: center;
+    animation: raise 4s ease-in-out infinite;
+    top: 20%;
+    left: 50%;
+    margin-left: -90px;
+    position: relative;
+    border-radius: 10px;
+    padding-top: 10px;
+   box-shadow: rgba(0,0,0,.05) 0px 2px 3px 3px;
+}
 .el-table {
   width: 99% !important;
   border-left: 1px solid #ebeef5;

+ 1 - 1
src/constant/guide.js

@@ -67,7 +67,7 @@ export const guideList = {
   },
   vipPrice:{
     name: 'VIP课时单价',
-    desc: '用于计算学员购买VIP时需要支的金额',
+    desc: '用于计算学员购买VIP时需要支的金额',
     path: '/baseRulesClassSetting?tabrouter=8',
     permission: '/vipChargeSeting'
   },

+ 1 - 1
src/utils/loading.js

@@ -16,7 +16,7 @@ function startLoading () {    //使用Element loading-start 方法
     lock: true,
     fullscreen: true,
     text: '加载中……',
-    background: 'rgba(0, 0, 0, 0.7)',
+    background: 'rgba(0, 0, 0, 0)',
     spinner: 'el-icon-loading',
   })
 }

+ 1 - 0
src/views/baseRulesClassSetting/api.js

@@ -39,5 +39,6 @@ export function delPracticePriceList(data) {
     url: api + '/practiceGroupSellPrice/del',
     method: 'post',
     data: data,
+    requestType:'form'
   })
 }

+ 2 - 1
src/views/baseRulesClassSetting/practiceRules.vue

@@ -230,7 +230,8 @@ export default {
           type: "warning",
         });
         delPracticePriceList({ organId: row.organId }).then((res) => {
-          this.messageTips("删除", res);
+          this.$message.success('删除成功')
+          this.getList()
         });
       } catch (error) {}
     },

+ 1 - 1
src/views/categroyManager/generalSettings/overallManagerTwo.vue

@@ -26,7 +26,7 @@
             是否用收费配置:
                <el-select v-model="form['69']"  placeholder="请选择渠道">
               <el-option label="使用" value="1"></el-option>
-               <el-option label="不用" value="0"></el-option>
+               <el-option label="不使用" value="0"></el-option>
             </el-select>
           </el-form-item>
         </el-row>

+ 1 - 0
src/views/categroyManager/insideSetting/staffPlatManager.vue

@@ -716,6 +716,7 @@ export default {
             organIdList: organIdLists.join(","),
             deptIds: tempDeptIds,
             deptId: tempDeptId,
+            tenantId:-1,
             ...res,
           };
           if (this.formActionTitle == "create") {

+ 1 - 1
src/views/courseRulersManager/index.scss

@@ -25,7 +25,7 @@ p,
     position: absolute;
     width: 3px;
     height: 16px;
-    background: #00A79D;
+    background: var(--color-primary);
     border-radius: 2px;
     left: 0;
     top: 2px;

+ 12 - 12
src/views/mailInfoManager/index.vue

@@ -10,28 +10,28 @@
       <el-row :gutter="20">
         <el-col style="width: 395px">
           <el-form-item
-            label="服务器主机名"
+            label="smtp主机名"
             prop="hostName"
-            :rules="[{ required: true, message: '请输入服务器主机名' }]"
+            :rules="[{ required: true, message: '请输入smtp主机名' }]"
           >
             <el-input
               style="width: 355px !important"
               v-model="form.hostName"
-              placeholder="请输服务器主机名"
+              placeholder="请输smtp主机名"
             ></el-input>
           </el-form-item>
         </el-col>
 
         <el-col style="width: 395px">
           <el-form-item
-            label="服务器端口号"
+            label="smtp端口号"
             prop="smtpPort"
-            :rules="[{ required: true, message: '请输入服务器端口号' }]"
+            :rules="[{ required: true, message: '请输入smtp端口号' }]"
           >
             <el-input
               style="width: 355px !important"
               v-model="form.smtpPort"
-              placeholder="请输入服务器端口号"
+              placeholder="请输入smtp端口号"
             ></el-input>
           </el-form-item>
         </el-col>
@@ -39,28 +39,28 @@
       <el-row :gutter="20">
         <el-col style="width: 395px">
           <el-form-item
-            label="服务器用户名"
+            label="smtp用户名"
             prop="userName"
-            :rules="[{ required: true, message: '请输入服务器用户名' }]"
+            :rules="[{ required: true, message: '请输入smtp用户名' }]"
           >
             <el-input
               style="width: 355px !important"
               v-model="form.userName"
-              placeholder="请输入服务器用户名"
+              placeholder="请输入smtp用户名"
             ></el-input>
           </el-form-item>
         </el-col>
         <el-col style="width: 395px">
           <el-form-item
-            label="服务器密码"
+            label="smtp密码"
             prop="password"
-            :rules="[{ required: true, message: '请输入服务器密码' }]"
+            :rules="[{ required: true, message: '请输入smtp密码' }]"
           >
             <el-input
               show-password
               style="width: 355px !important"
               v-model="form.password"
-              placeholder="请输入服务器密码"
+              placeholder="请输入smtp密码"
             ></el-input>
           </el-form-item>
         </el-col>

+ 419 - 278
src/views/resetTeaming/components/payInfoDetail.vue

@@ -1,191 +1,140 @@
 <template>
-  <div class="m-container">
+  <div class="m-container1">
+    <el-page-header
+      @back="goback"
+      style="padding: 20px"
+      :content="$route.query.payUserType == 'SCHOOL' ? '学校缴费' : '学员缴费'"
+    >
+    </el-page-header>
     <div class="payInfoWrap">
       <div class="left">
-        <el-page-header
-          @back="goback"
-          style="padding-bottom: 30px"
-          :content="
-            $route.query.payUserType == 'SCHOOL' ? '学校缴费' : '学员缴费'
-          "
-        >
-        </el-page-header>
-        <div class="m-core">
+        <!-- <div class="Wall"></div> -->
+        <div class="m-core1">
           <el-form :inline="true" :model="form" label-width="120px" ref="form">
-            <div class="payTitle">
-              <div class="squrt"></div>
-              <p>基础信息设置</p>
-            </div>
-            <el-form-item
-              prop="paymentDate"
-              :rules="[
-                { required: true, message: '请选择缴费时间', trigger: 'blur' },
-              ]"
-              ref="paymentDate"
-            >
-              <template slot="label">
-                <p style="position: relative">
-                  <span style="color: #f56c6c; margin-right: 4px">*</span>
-                  缴费时间
-                  <el-tooltip placement="top" popper-class="mTooltip">
-                    <div slot="content">在改时间段内学员才可缴费</div>
-                    <i
-                      class="el-icon-question"
-                      style="
-                        font-size: 18px;
-                        color: #f56c6c;
-                        position: relative;
-                        top: 2px;
-                      "
-                    ></i>
-                  </el-tooltip>
-                </p>
-              </template>
-              <el-date-picker
-                v-model="form.paymentDate"
-                type="daterange"
-                style="width: 280px"
-                :picker-options="{ firstDayOfWeek: 1 }"
-                value-format="yyyy-MM-dd"
-                range-separator="-"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-              >
-              </el-date-picker>
-            </el-form-item>
-            <el-row>
-              <el-form-item
-                prop="memo"
-                :rules="[
-                  { required: true, message: '请输入备注', trigger: 'blur' },
-                ]"
-                 ref="memo"
-              >
-                <template slot="label">
-                  <p style="position: relative">
-                    <span style="color: #f56c6c; margin-right: 4px">*</span>
-                    备注
-                    <el-tooltip placement="top" popper-class="mTooltip">
-                      <div slot="content">本次缴费的内容描述</div>
-                      <i
-                        class="el-icon-question"
-                        style="
-                          font-size: 18px;
-                          color: #f56c6c;
-                          position: relative;
-                          top: 2px;
-                        "
-                      ></i>
-                    </el-tooltip>
-                  </p>
-                </template>
-                <el-input
-                  type="textarea"
-                  style="width: 280px"
-                  :rows="2"
-                  v-model="form.memo"
-                  maxlength="50"
-                  show-word-limit
-                ></el-input>
-              </el-form-item>
-            </el-row>
-            <div class="payTitle">
-              <div class="squrt"></div>
-              <p>基础项目配置</p>
-            </div>
-            <div class="checkWrap">
-              <div
-                class="checkBtn"
-                :class="[
-                  teamCourse ? 'active' : '',
-                  teamCourseDisabled ? 'disabled' : '',
-                ]"
-                @click.prevent="
-                  () => {
-                    if (teamCourseDisabled) return;
-                    teamCourse = !teamCourse;
-                    if (teamCourse && form.eclass.length < 0) {
-                      form.eclass = [];
-                      form.eclass.push({});
-                    }
-                  }
-                "
-              >
-                <p>乐团课</p>
-                <el-checkbox
-                  v-model="teamCourse"
-                  :disabled="teamCourseDisabled"
-                ></el-checkbox>
+            <div :class="isField ? 'baseWrap' : 'baseWrapFixed'">
+              <div class="payTitle">
+                <div class="squrt"></div>
+                <p>基础项目配置</p>
+                <div class="payContext">请选择您需要的课程配置</div>
               </div>
-              <div
-                class="checkBtn"
-                :class="[
-                  member ? 'active' : '',
-                  memberDisabled ? 'disabled' : '',
-                ]"
-                @click.prevent="
-                  () => {
-                    if (memberDisabled) return;
-                    member = !member;
-                    if (member && form.memberList.length < 0) {
-                      form.memberList = [];
-                      form.memberList.push({});
+              <div class="checkWrap">
+                <div
+                  class="checkBtn"
+                  :class="[
+                    teamCourse ? 'active' : '',
+                    teamCourseDisabled ? 'disabled' : '',
+                  ]"
+                  @click.prevent="
+                    () => {
+                      if (teamCourseDisabled) return;
+                      teamCourse = !teamCourse;
+                      if (teamCourse && form.eclass.length < 0) {
+                        form.eclass = [];
+                        form.eclass.push({});
+                      }
                     }
-                  }
-                "
-              >
-                <p>团练宝</p>
-                <el-checkbox
-                  v-model="member"
-                  :disabled="memberDisabled"
-                ></el-checkbox>
-              </div>
-              <div
-                v-if="isShowLeBao&&tenantId==1"
-                class="checkBtn"
-                :class="[
-                  leBao ? 'active' : '',
-                  leBaoDisabled ? 'disabled' : '',
-                ]"
-                @click.prevent="
-                  () => {
-                    if (leBaoDisabled) return;
-                    leBao = !leBao;
-                    if (leBao && form.leBaoList.length < 0) {
-                      form.leBaoList = [];
-                      form.leBaoList.push({});
+                  "
+                >
+                  <div class="checkLeft">
+                    <img src="../images/checkIcon1.png" alt="" />
+                  </div>
+                  <div class="checkRight">
+                    <p>乐团课</p>
+                    <p class="checkSubTitle">创建课程类型标准</p>
+                  </div>
+                  <div class="checTriangle" v-if="teamCourse">
+                    <img src="../images/checkGou.png" alt="" />
+                  </div>
+                  <!-- <el-checkbox
+                    v-model="teamCourse"
+                    :disabled="teamCourseDisabled"
+                  ></el-checkbox> -->
+                </div>
+                <div
+                  class="checkBtn"
+                  :class="[
+                    member ? 'active' : '',
+                    memberDisabled ? 'disabled' : '',
+                  ]"
+                  @click.prevent="
+                    () => {
+                      if (memberDisabled) return;
+                      member = !member;
+                      if (member && form.memberList.length < 0) {
+                        form.memberList = [];
+                        form.memberList.push({});
+                      }
                     }
-                  }
-                "
-              >
-                <p>乐保</p>
-                <el-checkbox
-                  v-model="leBao"
-                  :disabled="leBaoDisabled"
-                ></el-checkbox>
-              </div>
-              <div
-                class="checkBtn"
-                :class="[
-                  teamActive ? 'active' : '',
-                  teamActiveDisabled ? 'disabled' : '',
-                ]"
-                @click.prevent="
-                  () => {
-                    if (teamActiveDisabled) return;
-                    teamActive = !teamActive;
-                    if (teamActive && form.activeList.length < 0) {
-                      form.activeList = [];
-                      form.activeList.push({});
+                  "
+                >
+                  <div class="checkLeft">
+                    <img src="../images/checkIcon2.png" alt="" />
+                  </div>
+                  <div class="checkRight">
+                    <p>团练宝</p>
+                    <p class="checkSubTitle">乐团训练工具</p>
+                  </div>
+                  <div class="checTriangle" v-if="member">
+                    <img src="../images/checkGou.png" alt="" />
+                  </div>
+                </div>
+                <div
+                  v-if="isShowLeBao && tenantId == 1"
+                  class="checkBtn"
+                  :class="[
+                    leBao ? 'active' : '',
+                    leBaoDisabled ? 'disabled' : '',
+                  ]"
+                  @click.prevent="
+                    () => {
+                      if (leBaoDisabled) return;
+                      leBao = !leBao;
+                      if (leBao && form.leBaoList.length < 0) {
+                        form.leBaoList = [];
+                        form.leBaoList.push({});
+                      }
                     }
-                  }
-                "
-              >
-                <p>小课</p>
-                <el-checkbox
-                  v-model="teamActive"
-                  :disabled="teamActiveDisabled"
-                ></el-checkbox>
+                  "
+                >
+                  <div class="checkLeft">
+                    <img src="../images/checkIcon3.png" alt="" />
+                  </div>
+                  <div class="checkRight">
+                    <p>乐保</p>
+                    <p class="checkSubTitle">乐器维修保养</p>
+                  </div>
+                  <div class="checTriangle" v-if="leBao">
+                    <img src="../images/checkGou.png" alt="" />
+                  </div>
+                </div>
+                <div
+                  class="checkBtn"
+                  :class="[
+                    teamActive ? 'active' : '',
+                    teamActiveDisabled ? 'disabled' : '',
+                  ]"
+                  @click.prevent="
+                    () => {
+                      if (teamActiveDisabled) return;
+                      teamActive = !teamActive;
+                      if (teamActive && form.activeList.length < 0) {
+                        form.activeList = [];
+                        form.activeList.push({});
+                      }
+                    }
+                  "
+                >
+                  <div class="checkLeft">
+                    <img src="../images/checkIcon4.png" alt="" />
+                  </div>
+                  <div class="checkRight">
+                    <p>小课</p>
+                    <p class="checkSubTitle">创建活动课程方案</p>
+                  </div>
+                  <div class="checTriangle" v-if="teamActive">
+                    <img src="../images/checkGou.png" alt="" />
+                  </div>
+                </div>
               </div>
             </div>
             <div class="coreList">
@@ -220,12 +169,103 @@
                 @remove="removeActive"
               />
             </div>
+            <div class="teamCourseList coreList">
+              <div class="coreTitle">
+                <p>基础信息设置</p>
+              </div>
+              <el-row :gutter="20">
+                <el-col style="width: 430px">
+                  <el-form-item
+                    prop="paymentDate"
+                    :rules="[
+                      {
+                        required: true,
+                        message: '请选择缴费时间',
+                        trigger: 'blur',
+                      },
+                    ]"
+                    ref="paymentDate"
+                  >
+                    <template slot="label">
+                      <p style="position: relative">
+                        <span style="color: #f56c6c; margin-right: 4px">*</span>
+                        缴费时间
+                        <el-tooltip placement="top" popper-class="mTooltip">
+                          <div slot="content">在改时间段内学员才可缴费</div>
+                          <i
+                            class="el-icon-question"
+                            style="
+                              font-size: 18px;
+                              color: #f56c6c;
+                              position: relative;
+                              top: 2px;
+                            "
+                          ></i>
+                        </el-tooltip>
+                      </p>
+                    </template>
+                    <el-date-picker
+                      v-model="form.paymentDate"
+                      type="daterange"
+                      style="width: 280px"
+                      :picker-options="{ firstDayOfWeek: 1 }"
+                      value-format="yyyy-MM-dd"
+                      range-separator="-"
+                      start-placeholder="开始日期"
+                      end-placeholder="结束日期"
+                    >
+                    </el-date-picker>
+                  </el-form-item>
+                </el-col>
+                <el-col class="memoWrap">
+                  <el-form-item
+                    class="memoWrapItem"
+                    prop="memo"
+                    :rules="[
+                      {
+                        required: true,
+                        message: '请输入备注',
+                        trigger: 'blur',
+                      },
+                    ]"
+                    ref="memo"
+                  >
+                    <template slot="label">
+                      <p style="position: relative">
+                        <span style="color: #f56c6c; margin-right: 4px">*</span>
+                        备注
+                        <el-tooltip placement="top" popper-class="mTooltip">
+                          <div slot="content">本次缴费的内容描述</div>
+                          <i
+                            class="el-icon-question"
+                            style="
+                              font-size: 18px;
+                              color: #f56c6c;
+                              position: relative;
+                              top: 2px;
+                            "
+                          ></i>
+                        </el-tooltip>
+                      </p>
+                    </template>
+
+                    <el-input
+                      style="width: 100%"
+                      :rows="1"
+                      v-model="form.memo"
+                      maxlength="50"
+                      show-word-limit
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </div>
           </el-form>
           <div v-if="!teamCourse && !member && !leBao && !teamActive">
             <empty desc="暂无缴费项目配置" />
           </div>
-          <div v-else style="text-align:center;">
-            <el-button  class="submitBtn" @click="submitForm">确认</el-button>
+          <div v-else style="text-align: center">
+            <el-button class="submitBtn" @click="submitForm">确认</el-button>
           </div>
         </div>
       </div>
@@ -244,7 +284,7 @@
           v-for="(subject, index) in dialogSubjectList"
           :key="index"
           :name="subject.subjectId.toString()"
-          style="max-height: 500px;overflow-y: auto;"
+          style="max-height: 500px; overflow-y: auto"
         >
           <subject-preview
             :subjectId="subject.subjectId"
@@ -254,7 +294,13 @@
       </el-tabs>
 
       <div>
-        <el-button style="width: 100%; border-radius: 0; line-height: 30px" size="medium" type="primary" @click="onSubmit">确认提交</el-button>
+        <el-button
+          style="width: 100%; border-radius: 0; line-height: 30px"
+          size="medium"
+          type="primary"
+          @click="onSubmit"
+          >确认提交</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -279,7 +325,10 @@ import {
   musicGroupcreateCalender,
   musicGroupresetCalender,
 } from "../api";
-import { getMusicGroupPaymentCalenderDetail, findMusicGroupSubjectInfo } from "@/api/buildTeam";
+import {
+  getMusicGroupPaymentCalenderDetail,
+  findMusicGroupSubjectInfo,
+} from "@/api/buildTeam";
 import { vipGroupActivity } from "@/api/vipSeting";
 export default {
   components: {
@@ -287,7 +336,7 @@ export default {
     payMember,
     payLeBao,
     payTeamActive,
-    subjectPreview
+    subjectPreview,
   },
   data() {
     return {
@@ -344,23 +393,27 @@ export default {
       dialogSubjectList: [],
       activeName: null,
       preViewData: {},
-      tenantId:null
+      tenantId: null,
+      isField: false,
     };
   },
   mounted() {
-        let tenantConfig = sessionStorage.getItem('tenantConfig')
-    tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
-    if(tenantConfig.tenantId && tenantConfig.tenantId != 'undefined') {
-      this.tenantId = tenantConfig.tenantId
+    let tenantConfig = sessionStorage.getItem("tenantConfig");
+    tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {};
+    if (tenantConfig.tenantId && tenantConfig.tenantId != "undefined") {
+      this.tenantId = tenantConfig.tenantId;
     }
     this.organizationCourseUnitPriceSettings = JSON.parse(
       localStorage.getItem("organizationCourseUnitPriceSettings")
     );
     this.baseInfo = JSON.parse(localStorage.getItem("payMusicBase"));
     // 判断乐团状态 缴费类型
-
+    window.addEventListener("scroll", this.getScroll);
     this.init();
   },
+  beforeDestroy() {
+    window.removeEventListener("scroll", this.getScroll);
+  },
   methods: {
     async init() {
       this.organId = this.musicGroup?.organId;
@@ -528,9 +581,13 @@ export default {
         // this.charges =[];
         if (this.charges.length <= 0) {
           this.submitList.push("teamCourseType");
-        }else{
-          if(this.form.leixing == 1&&this.teamCourse){
-            this.$set(this.form,'musicGroupOrganizationCourseSettingId',this.charges[0].id)
+        } else {
+          if (this.form.leixing == 1 && this.teamCourse) {
+            this.$set(
+              this.form,
+              "musicGroupOrganizationCourseSettingId",
+              this.charges[0].id
+            );
           }
         }
       } catch (error) {}
@@ -661,25 +718,25 @@ export default {
       );
     },
     submitForm() {
-      this.$refs.form.validate(async (isok,obj) => {
+      this.$refs.form.validate(async (isok, obj) => {
         if (isok) {
           // 学校缴费没有预览
-          if(this.$route.query.payUserType == "SCHOOL") {
-            this.$confirm('是否创建缴费?', '提示', {
-              confirmButtonText: '确定',
-              cancelButtonText: '取消',
-              type: 'warning'
-            }).then(() => {
-              this.onSubmit()
-            }).catch(() => {
-            });
+          if (this.$route.query.payUserType == "SCHOOL") {
+            this.$confirm("是否创建缴费?", "提示", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning",
+            })
+              .then(() => {
+                this.onSubmit();
+              })
+              .catch(() => {});
           } else {
-            const preViewData = this.formatPreviewData()
-            this.preViewData = preViewData
-            await this.onPreview()
+            const preViewData = this.formatPreviewData();
+            this.preViewData = preViewData;
+            await this.onPreview();
           }
-        }else {
-
+        } else {
           this.$nextTick(() => {
             this.scrollView(obj);
           });
@@ -687,9 +744,9 @@ export default {
       });
     },
     onSubmit() {
-      console.log('提交')
+      console.log("提交");
       this.$refs.form.validate(async (isok) => {
-         console.log('isok',isok)
+        console.log("isok", isok);
         if (isok) {
           let obj = this.fommatDate();
           if (this.$route.query.calenderId) {
@@ -714,12 +771,11 @@ export default {
       });
     },
     scrollView(object) {
-        console.log(object)
+      console.log(object);
       for (const i in object) {
         let dom = this.$refs[i];
         // 这里是针对遍历的情况(多个输入框),取值为数组
         if (Object.prototype.toString.call(dom) !== "[object Object]") {
-
           dom = dom[0];
         }
 
@@ -739,37 +795,38 @@ export default {
       // 格式化预览数据
       const form = this.form;
       // 重置小班课数据
-      let tmpActiveList = form.activeList?.length > 0 ? form.activeList : []
-      let activeList = []
-      if(tmpActiveList.length > 0) {
-        tmpActiveList.forEach(active => {
-          if(active.activityId) {
-            active.categoryName = active.vipGroupCategoryNames
-            activeList.push(active)
+      let tmpActiveList = form.activeList?.length > 0 ? form.activeList : [];
+      let activeList = [];
+      if (tmpActiveList.length > 0) {
+        tmpActiveList.forEach((active) => {
+          if (active.activityId) {
+            active.categoryName = active.vipGroupCategoryNames;
+            activeList.push(active);
           }
-        })
+        });
       }
-      let memberObj = form.memberList?.length > 0 ? { ...form.memberList[0] } : null
+      let memberObj =
+        form.memberList?.length > 0 ? { ...form.memberList[0] } : null;
       // 获取会员名称
-      if(memberObj) {
-        this.memberRankList.forEach(item => {
-          if(item.id == memberObj.memberRankSettingId) {
-            memberObj.name = item.name
+      if (memberObj) {
+        this.memberRankList.forEach((item) => {
+          if (item.id == memberObj.memberRankSettingId) {
+            memberObj.name = item.name;
           }
-        })
+        });
       }
       // console.log(memberObj, 'memberObj', activeList)
-      let tempCourseList = form.eclass?.length > 0 ? form.eclass : []
-      let courseList = []
-      if(tempCourseList.length > 0) {
-        tempCourseList.forEach(course => {
-          if(course.courseType) {
-            course.isStudentOptional = true
-            courseList.push(course)
+      let tempCourseList = form.eclass?.length > 0 ? form.eclass : [];
+      let courseList = [];
+      if (tempCourseList.length > 0) {
+        tempCourseList.forEach((course) => {
+          if (course.courseType) {
+            course.isStudentOptional = true;
+            courseList.push(course);
           }
-        })
+        });
       }
-      console.log(courseList)
+
       return {
         payUserType: this.$route.query.payUserType,
         musicGroup: this.musicGroup,
@@ -778,9 +835,12 @@ export default {
           course: courseList, // 课程
           member: memberObj, // 团练宝
           memberPrivilegesItemList: [], // 会员基本内容
-          repair: form.leBaoList?.length > 0 ? { ...form.leBaoList[0], optionalFlag: false } : null, // 乐保
-        }
-      }
+          repair:
+            form.leBaoList?.length > 0
+              ? { ...form.leBaoList[0], optionalFlag: false }
+              : null, // 乐保
+        },
+      };
     },
     fommatDate() {
       return {
@@ -805,6 +865,18 @@ export default {
         musicGroupId: this.$route.query.id,
       };
     },
+    getScroll() {
+      this.scrollTop =
+        window.pageYOffset ||
+        document.documentElement.scrollTop ||
+        document.body.scrollTop;
+      console.log(this.scrollTop);
+      if (!!this.scrollTop && this.scrollTop >= 70) {
+        this.isField = false;
+      } else {
+        this.isField = true;
+      }
+    },
   },
   watch: {
     teamCourse(val) {
@@ -877,6 +949,21 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
+@import "~@/views/resetTeaming/modals/pay.scss";
+.memoWrap {
+  width: calc(100% - 430px);
+  .memoWrapItem {
+    display: block;
+    /deep/.el-form-item__content {
+      display: inline-block;
+      width: calc(100% - 140px);
+    }
+  }
+}
+.Wall {
+  height: 15px;
+  background-color: #f2f2f2;
+}
 /deep/.el-form-item__label:before {
   content: "" !important;
   position: absolute;
@@ -895,6 +982,20 @@ export default {
     text-align: center;
     cursor: pointer;
   }
+  .baseWrap {
+    padding: 20px;
+    background-color: #fff;
+  }
+  .baseWrapFixed {
+    top: 105px;
+    left: 210px; // 205
+    position: fixed;
+    background-color: #fff;
+    width: calc(100% - 220px);
+    z-index: 100;
+    padding: 20px;
+    box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 3px 3px;
+  }
   .left {
     /deep/.el-checkbox {
       padding: 8px 10px 7px 10px;
@@ -937,71 +1038,111 @@ export default {
         position: relative;
         top: -1px;
       }
+      .payContext {
+        color: var(--color-primary);
+        border: 1px solid var(--color-primary);
+        font-size: 14px;
+        line-height: 22px;
+        border-radius: 3px;
+        padding: 0 5px;
+        margin-left: 12px;
+      }
     }
     .checkWrap {
       display: flex;
       flex-direction: row;
       justify-content: flex-start;
+      align-items: center;
       .checkBtn.active {
-        background-color: var(--color-primary);
-        color: #fff;
-        /deep/.el-checkbox .el-checkbox__inner {
-          border: 1px solid #fff;
-        }
+        border: 1px solid var(--color-primary);
       }
       .checkBtn {
-        transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
-          background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
-        transition-property: border-color, background-color;
-        transition-duration: 0.25s, 0.25s;
-        transition-timing-function: cubic-bezier(0.71, -0.46, 0.29, 1.46),
-          cubic-bezier(0.71, -0.46, 0.29, 1.46);
-        transition-delay: 0s, 0s;
+        position: relative;
+        background-color: #f8f8f8;
         margin-right: 12px;
-        padding-left: 14px;
+        padding: 22px;
         display: flex;
         flex-direction: row;
         align-items: center;
-        cursor: pointer;
-        background: rgba(20, 146, 138, 0.12);
         border-radius: 6px;
-        height: 41px;
+        border: 1px solid #dfe8ec;
+        cursor: pointer;
+        height: 104px;
+        width: 251px;
+        overflow: hidden;
         &:hover {
-          background-color: var(--color-primary);
-          color: #fff;
-          /deep/.el-checkbox__inner {
-            background-color: var(--color-primary);
-            border: 1px solid #fff;
-          }
+          border: 1px solid var(--color-primary);
         }
         p {
           height: 41px;
           line-height: 41px;
         }
-      }
-      .checkBtn.disabled {
-        cursor: not-allowed;
-        color: #d9d9d9;
-        background-color: #f2f2f2 !important;
-        /deep/.el-checkbox__inner {
-          background-color: #fff !important;
-          border-color: #d9d9d9;
-          color: #fff;
-          &::after {
-            border-color: #d9d9d9;
+        .checkLeft {
+          width: 60px;
+          height: 60px;
+          margin-right: 16px;
+          img {
+            width: 100%;
           }
         }
-        &:hover {
-          background-color: #f2f2f2 !important;
-          color: #d9d9d9;
-          /deep/.el-checkbox__inner {
-            background-color: #fff !important;
+        .checkRight {
+          p {
+            height: 26px;
+            font-size: 19px;
+            font-weight: 600;
+            color: #1a1a1a;
+            line-height: 26px;
+          }
+          .checkSubTitle {
+            font-size: 14px;
+            font-weight: 400;
+            color: var(--color-primary);
+            line-height: 20px;
+          }
+        }
+        .checTriangle {
+          border-bottom: 44px solid var(--color-primary);
+          border-left: 44px solid transparent;
+          position: absolute;
+          right: 0;
+          bottom: 0;
+          width: 0;
+          height: 0;
+          img {
+            width: 19px;
+            height: 16px;
+            position: absolute;
+            top: 22px;
+            right: 5px;
           }
         }
       }
+      // .checkBtn.disabled {
+      //   cursor: not-allowed;
+      //   color: #d9d9d9;
+      //   background-color: #f2f2f2 !important;
+      //   /deep/.el-checkbox__inner {
+      //     background-color: #fff !important;
+      //     border-color: #d9d9d9;
+      //     color: #fff;
+      //     &::after {
+      //       border-color: #d9d9d9;
+      //     }
+      //   }
+      //   &:hover {
+      //     background-color: #f2f2f2 !important;
+      //     color: #d9d9d9;
+      //     /deep/.el-checkbox__inner {
+      //       background-color: #fff !important;
+      //     }
+      //   }
+      // }
     }
   }
 }
+.coreList {
+  margin: 14px;
+}
 </style>
 <style lang="less" scoped>
 /deep/.el-dialog__body {

二进制
src/views/resetTeaming/images/checkGou.png


二进制
src/views/resetTeaming/images/checkIcon1.png


二进制
src/views/resetTeaming/images/checkIcon2.png


二进制
src/views/resetTeaming/images/checkIcon3.png


二进制
src/views/resetTeaming/images/checkIcon4.png


+ 36 - 19
src/views/resetTeaming/modals/pay.scss

@@ -1,50 +1,67 @@
-
-
 .coreTitle {
   height: 40px;
   line-height: 40px;
-  background-color: #f2f2f2;
+  background-color: #fff;
   color: var(--color-primary);
-  font-size: 18px;
+  font-size: 16px;
   font-weight: 600;
   padding: 0 10px;
   margin-top: 20px;
   border-radius: 6px 6px 0 0;
-  .dot {
-    display: inline-block;
-    width: 6px;
-    height: 6px;
+  align-items: center;
+  position: relative;
+  margin-left: 12px;
+  &::after {
+    position: absolute;
+    width: 3px;
+    height: 16px;
     background: var(--color-primary);
-    border-radius: 50%;
-    margin-left: 10px;
-    line-height: 40px;
-    position: relative;
-    top:-3px;
+    border-radius: 2px;
+    left: 0;
+    top: 12px;
+    content:''
   }
 }
+
 .teamCourseList {
   margin-bottom: 15px;
-  background-color: #f9f9f9;
+  background-color: #fff;
+
   .teamCourseChiose {
     background-color: #f2f2f2;
+
     .el-form-item {
       margin-right: 30px;
       margin-bottom: 8px;
     }
   }
+
   .addBtn {
-    width: 294px;
-    margin: 20px auto;
-    position: relative;
-    left: 50%;
+    float: right;
     margin-left: -149px;
     color: var(--color-primary);
+    margin-top: 6px;
   }
+
   /deep/.number-input .el-input__inner,
   .number-input .el-input__inner {
     text-align: left;
   }
 }
+
 .el-form-item {
-  margin:20px 0;
+  margin: 20px 0;
+}
+
+
+.titleFormItem {
+  margin: 0;
+  align-items: center;
+
+  /deep/.el-form-item__content {
+    margin-top: 3px;
+  }
+}
+.courseTable {
+  border: none;
 }

+ 2 - 1
src/views/resetTeaming/modals/payLeBao.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="teamCourseList">
-    <p class="coreTitle">乐保<span class="dot"></span></p>
+    <p class="coreTitle">乐保</p>
     <el-table
+    class="courseTable"
       :data="form.leBaoList"
       style="width: 100% !important; background: #f9f9f9"
       :header-cell-style="{ background: '#F9F9F9', color: '#444' }"

+ 2 - 1
src/views/resetTeaming/modals/payMember.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="teamCourseList">
-    <p class="coreTitle">团练宝<span class="dot"></span></p>
+    <p class="coreTitle">团练宝</p>
     <el-table
+    class="courseTable"
       :data="form.memberList"
       style="width: 100% !important; background: #f9f9f9"
       :header-cell-style="{ background: '#F9F9F9', color: '#444' }"

+ 3 - 2
src/views/resetTeaming/modals/payTeamActive.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="teamCourseList">
-    <p class="coreTitle">乐团小课<span class="dot"></span></p>
+    <p class="coreTitle">乐团小课  <el-button size="mini" icon="el-icon-plus" plain class="addBtn" @click="$listeners.create">新增活动</el-button></p>
     <el-table
+    class="courseTable"
       :data="form.activeList"
       style="width: 100% !important; background: #f9f9f9"
       :header-cell-style="{ background: '#F9F9F9', color: '#444' }"
@@ -173,7 +174,7 @@
       </el-table-column>
     </el-table>
     <!--          v-if="!isCommon && $listeners.create"  @click="$listeners.create"-->
-    <el-button icon="el-icon-plus" plain class="addBtn" @click="$listeners.create">新增活动</el-button>
+
   </div>
 </template>
 <script>

+ 30 - 20
src/views/resetTeaming/modals/payTeamCourse.vue

@@ -1,8 +1,9 @@
 <template>
   <div class="teamCourseList">
-    <p class="coreTitle">乐团课<span class="dot"></span></p>
-    <div class="teamCourseChiose">
+    <p class="coreTitle">
+      乐团课
       <el-form-item
+        class="titleFormItem"
         label="加课方式"
         prop="leixing"
         :rules="[
@@ -25,6 +26,7 @@
                     courseViewType != 2
                   "-->
       <el-form-item
+        class="titleFormItem"
         v-if="form.leixing == 1"
         label="收费标准"
         prop="musicGroupOrganizationCourseSettingId"
@@ -51,8 +53,18 @@
           </el-option>
         </el-select>
       </el-form-item>
-    </div>
+      <el-button
+        icon="el-icon-plus"
+        size="mini"
+        plain
+        class="addBtn"
+        @click="$listeners.create"
+        v-if="!isDisabled"
+        >新增课程类型</el-button
+      >
+    </p>
     <el-table
+      class="courseTable"
       :data="form.eclass"
       style="width: 100% !important; background: #f9f9f9"
       :header-cell-style="{ background: '#F9F9F9', color: '#444' }"
@@ -148,7 +160,6 @@
               message: '请输入现价',
               trigger: 'blur',
             }"
-
           >
             <!-- $listeners.moneyChange -->
             <el-input-number
@@ -192,21 +203,21 @@
           </el-form-item>
         </template>
       </el-table-column>
-      <el-table-column prop="close" key="close" >
+      <el-table-column prop="close" key="close">
         <template slot-scope="scope">
-          <div style="color: #fa6400; cursor: pointer"  v-if="!isDisabled&&form.eclass.length>1"  @click="$listeners.remove && $listeners.remove(scope.$index)">
+          <div
+            style="color: #fa6400; cursor: pointer"
+            v-if="!isDisabled && form.eclass.length > 1"
+            @click="$listeners.remove && $listeners.remove(scope.$index)"
+          >
             <!--  v-if="form.length > 1" v-if="clearable" -->
-            <i
-
-              class="el-icon-error"
-            ></i>
+            <i class="el-icon-error"></i>
             删除
           </div>
         </template>
       </el-table-column>
     </el-table>
     <!--          v-if="!isCommon && $listeners.create"  -->
-    <el-button icon="el-icon-plus" plain class="addBtn" @click="$listeners.create" v-if="!isDisabled" >新增课程类型</el-button>
   </div>
 </template>
 <script>
@@ -223,22 +234,21 @@ export default {
       boolOptionsOptions: objectToOptions(boolOptions),
     };
   },
-  mounted() {
-  },
+  mounted() {},
   methods: {
     courseItemChange(row, index) {},
     priceChange(row, index) {},
     isOptionDisabled(key) {
-       const selected = this.form.eclass.map(item => item.courseType)
-      return selected.includes(key)
+      const selected = this.form.eclass.map((item) => item.courseType);
+      return selected.includes(key);
     },
     change() {},
   },
-  computed:{
-    isDisabled(){
-      return this.form.leixing == 1
-    }
-  }
+  computed: {
+    isDisabled() {
+      return this.form.leixing == 1;
+    },
+  },
 };
 </script>
 <style lang="scss" scoped>

+ 5 - 2
src/views/studentManager/components/studentVip.vue

@@ -29,9 +29,9 @@
       >
         <el-table-column label="VIP课程组编号" align="center" prop="vipGroupId">
           <template slot-scope="scope">
-            <el-button type="text" @click="gotoVip(scope.row.vipGroupId)">
+            <div @click="gotoVip(scope.row.vipGroupId)" class="groupId">
               <copy-text>{{ scope.row.vipGroupId }}</copy-text>
-            </el-button>
+            </div>
           </template>
         </el-table-column>
         <el-table-column
@@ -254,6 +254,9 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
+.groupId {
+    color: var(--color-primary);
+}
 .vipGroupName {
   width: 140px;
   overflow: hidden;