|  | @@ -21,6 +21,7 @@
 | 
	
		
			
				|  |  |                :rules="[
 | 
	
		
			
				|  |  |                  { required: true, message: '请选择缴费时间', trigger: 'blur' },
 | 
	
		
			
				|  |  |                ]"
 | 
	
		
			
				|  |  | +              ref="paymentDate"
 | 
	
		
			
				|  |  |              >
 | 
	
		
			
				|  |  |                <template slot="label">
 | 
	
		
			
				|  |  |                  <p style="position: relative">
 | 
	
	
		
			
				|  | @@ -58,6 +59,7 @@
 | 
	
		
			
				|  |  |                  :rules="[
 | 
	
		
			
				|  |  |                    { required: true, message: '请输入备注', trigger: 'blur' },
 | 
	
		
			
				|  |  |                  ]"
 | 
	
		
			
				|  |  | +                 ref="memo"
 | 
	
		
			
				|  |  |                >
 | 
	
		
			
				|  |  |                  <template slot="label">
 | 
	
		
			
				|  |  |                    <p style="position: relative">
 | 
	
	
		
			
				|  | @@ -316,7 +318,7 @@ export default {
 | 
	
		
			
				|  |  |          maxYearFee: null,
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        dialogSubjectVisible: false, // 预览
 | 
	
		
			
				|  |  | -      preViewData: {}
 | 
	
		
			
				|  |  | +      preViewData: {},
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    mounted() {
 | 
	
	
		
			
				|  | @@ -355,14 +357,14 @@ export default {
 | 
	
		
			
				|  |  |          this.teamActive = false;
 | 
	
		
			
				|  |  |          this.leBaoDisabled = true;
 | 
	
		
			
				|  |  |          this.teamActiveDisabled = true;
 | 
	
		
			
				|  |  | -      }else{
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        await this.getCharges(); // 续费的选择缴费类型
 | 
	
		
			
				|  |  |        await this.formatCourse(); // 临时加课的类型选择以及价格
 | 
	
		
			
				|  |  |        await this.getMemberList(); // 获取会员(团练保信息)
 | 
	
		
			
				|  |  |        await this.getLeBao(); // 获取乐保
 | 
	
		
			
				|  |  |        await this.getActive(); // 获取活动
 | 
	
		
			
				|  |  | -      await this.getMemberRules()
 | 
	
		
			
				|  |  | +      await this.getMemberRules();
 | 
	
		
			
				|  |  |        if (this.$route.query.calenderId) {
 | 
	
		
			
				|  |  |          // 说明是修改  查缴项目详情
 | 
	
		
			
				|  |  |          getMusicGroupPaymentCalenderDetail({
 | 
	
	
		
			
				|  | @@ -391,7 +393,6 @@ export default {
 | 
	
		
			
				|  |  |                // 团练保
 | 
	
		
			
				|  |  |                this.member = true;
 | 
	
		
			
				|  |  |                this.$set(this.form, "memberList", [{ ...res.data.member }]);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (res.data.repair) {
 | 
	
		
			
				|  |  |                this.leBao = true;
 | 
	
	
		
			
				|  | @@ -450,7 +451,6 @@ export default {
 | 
	
		
			
				|  |  |              if (itemValue) {
 | 
	
		
			
				|  |  |                this.rulesForm = itemValue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        } catch (e) {
 | 
	
	
		
			
				|  | @@ -610,7 +610,7 @@ export default {
 | 
	
		
			
				|  |  |        // this.form.eclass = this.form.eclass.filter((item) => !!item);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      submitForm() {
 | 
	
		
			
				|  |  | -      this.$refs.form.validate(async (isok) => {
 | 
	
		
			
				|  |  | +      this.$refs.form.validate(async (isok,obj) => {
 | 
	
		
			
				|  |  |          if (isok) {
 | 
	
		
			
				|  |  |            // const preViewData = this.formatPreviewData()
 | 
	
		
			
				|  |  |            // this.preViewData = preViewData
 | 
	
	
		
			
				|  | @@ -634,19 +634,44 @@ export default {
 | 
	
		
			
				|  |  |                console.log(e);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.$nextTick(() => {
 | 
	
		
			
				|  |  | +            this.scrollView(obj);
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    scrollView(object) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      for (const i in object) {
 | 
	
		
			
				|  |  | +        let dom = this.$refs[i];
 | 
	
		
			
				|  |  | +        // 这里是针对遍历的情况(多个输入框),取值为数组
 | 
	
		
			
				|  |  | +        if (Object.prototype.toString.call(dom) !== "[object Object]") {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          dom = dom[0];
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 第一种方法(包含动画效果)
 | 
	
		
			
				|  |  | +        dom.$el.scrollIntoView({
 | 
	
		
			
				|  |  | +          // 滚动到指定节点
 | 
	
		
			
				|  |  | +          // 值有start,center,end,nearest,当前显示在视图区域中间
 | 
	
		
			
				|  |  | +          block: "center",
 | 
	
		
			
				|  |  | +          // 值有auto、instant,smooth,缓动动画(当前是慢速的)
 | 
	
		
			
				|  |  | +          behavior: "smooth",
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        break; // 跳出循环了
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      formatPreviewData() {
 | 
	
		
			
				|  |  |        // 格式化预览数据
 | 
	
		
			
				|  |  | -      const form = this.form
 | 
	
		
			
				|  |  | +      const form = this.form;
 | 
	
		
			
				|  |  |        // 重置小班课数据
 | 
	
		
			
				|  |  | -      let activeList = form.activeList?.length > 0 ? form.activeList : []
 | 
	
		
			
				|  |  | -      if(activeList.length > 0) {
 | 
	
		
			
				|  |  | -        activeList.forEach(active => {
 | 
	
		
			
				|  |  | -          active.categoryName = active.vipGroupCategoryNames
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +      let activeList = form.activeList?.length > 0 ? form.activeList : [];
 | 
	
		
			
				|  |  | +      if (activeList.length > 0) {
 | 
	
		
			
				|  |  | +        activeList.forEach((active) => {
 | 
	
		
			
				|  |  | +          active.categoryName = active.vipGroupCategoryNames;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        return {
 | 
	
		
			
				|  |  |          musicGroup: this.musicGroup,
 | 
	
	
		
			
				|  | @@ -655,7 +680,7 @@ export default {
 | 
	
		
			
				|  |  |          member: form.memberList?.length > 0 ? { ...form.memberList[0] } : null, // 团练宝
 | 
	
		
			
				|  |  |          memberPrivilegesItemList: [], // 会员基本内容
 | 
	
		
			
				|  |  |          repair: form.leBaoList?.length > 0 ? { ...form.leBaoList[0] } : null, // 乐保
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      fommatDate() {
 | 
	
		
			
				|  |  |        return {
 | 
	
	
		
			
				|  | @@ -684,18 +709,18 @@ export default {
 | 
	
		
			
				|  |  |    watch: {
 | 
	
		
			
				|  |  |      teamCourse(val) {
 | 
	
		
			
				|  |  |        if (!val) {
 | 
	
		
			
				|  |  | -        this.$set(this.form, "eclass",  [{}]);
 | 
	
		
			
				|  |  | +        this.$set(this.form, "eclass", [{}]);
 | 
	
		
			
				|  |  |          this.$set(this.form, "leixing", "2");
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      member(val) {
 | 
	
		
			
				|  |  |        if (!val) {
 | 
	
		
			
				|  |  | -        this.$set(this.form, "memberList",  [{}]);
 | 
	
		
			
				|  |  | +        this.$set(this.form, "memberList", [{}]);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      teamActive(val) {
 | 
	
		
			
				|  |  |        if (!val) {
 | 
	
		
			
				|  |  | -        this.$set(this.form, "activeList",  [{}]);
 | 
	
		
			
				|  |  | +        this.$set(this.form, "activeList", [{}]);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      leBao(val) {
 | 
	
	
		
			
				|  | @@ -706,17 +731,16 @@ export default {
 | 
	
		
			
				|  |  |      async "form.musicGroupOrganizationCourseSettingId"(val) {
 | 
	
		
			
				|  |  |        // && !this.rowDetail !this.$route.query.calenderId
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      if (val && !this.isSetCourseSettingsId  ) {
 | 
	
		
			
				|  |  | +      if (val && !this.isSetCourseSettingsId) {
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  |            const res = await queryByMusicGroupOrganizationCourseSettingsId({
 | 
	
		
			
				|  |  |              id: val,
 | 
	
		
			
				|  |  |            });
 | 
	
		
			
				|  |  | -          let CourseSettingDetail = res.data.map(course=>{
 | 
	
		
			
				|  |  | +          let CourseSettingDetail = res.data.map((course) => {
 | 
	
		
			
				|  |  |              return {
 | 
	
		
			
				|  |  |                ...course,
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          })
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |            this.$set(this.form, "eclass", res.data);
 | 
	
		
			
				|  |  |            // this.syncAllMoney();
 | 
	
		
			
				|  |  |          } catch (error) {}
 |