|  | @@ -64,12 +64,13 @@
 | 
	
		
			
				|  |  |            >
 | 
	
		
			
				|  |  |              <el-option label="乐团小课" :value="1"></el-option>
 | 
	
		
			
				|  |  |              <el-option label="常规小课" :value="2"></el-option>
 | 
	
		
			
				|  |  | +            <el-option label="学生购买" :value="3"></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |          <el-form-item
 | 
	
		
			
				|  |  |            label="活动类型"
 | 
	
		
			
				|  |  |            prop="activityType"
 | 
	
		
			
				|  |  | -          v-if="baseForm.activityChannel == 2"
 | 
	
		
			
				|  |  | +          v-if="baseForm.activityChannel !== 1"
 | 
	
		
			
				|  |  |          >
 | 
	
		
			
				|  |  |            <el-select
 | 
	
		
			
				|  |  |              v-model.trim="baseForm.activityType"
 | 
	
	
		
			
				|  | @@ -94,7 +95,7 @@
 | 
	
		
			
				|  |  |              value-format="yyyy-MM-dd HH:mm:ss"
 | 
	
		
			
				|  |  |              start-placeholder="开始日期"
 | 
	
		
			
				|  |  |              :picker-options="{
 | 
	
		
			
				|  |  | -              firstDayOfWeek: 1,
 | 
	
		
			
				|  |  | +              firstDayOfWeek: 1
 | 
	
		
			
				|  |  |              }"
 | 
	
		
			
				|  |  |              end-placeholder="结束日期"
 | 
	
		
			
				|  |  |            ></el-date-picker>
 | 
	
	
		
			
				|  | @@ -108,8 +109,8 @@
 | 
	
		
			
				|  |  |              ></i>
 | 
	
		
			
				|  |  |            </el-tooltip>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <div v-if="baseForm.activityChannel == 2">
 | 
	
		
			
				|  |  | -          <el-form-item label="排课时间范围" prop="courseTime">
 | 
	
		
			
				|  |  | +        <div v-if="baseForm.activityChannel !== 1">
 | 
	
		
			
				|  |  | +          <!-- <el-form-item label="排课时间范围" prop="courseTime">
 | 
	
		
			
				|  |  |              <el-date-picker
 | 
	
		
			
				|  |  |                :disabled="isDisabled"
 | 
	
		
			
				|  |  |                v-model.trim="baseForm.courseTime"
 | 
	
	
		
			
				|  | @@ -119,7 +120,7 @@
 | 
	
		
			
				|  |  |                value-format="yyyy-MM-dd HH:mm:ss"
 | 
	
		
			
				|  |  |                start-placeholder="开始日期"
 | 
	
		
			
				|  |  |                :picker-options="{
 | 
	
		
			
				|  |  | -                firstDayOfWeek: 1,
 | 
	
		
			
				|  |  | +                firstDayOfWeek: 1
 | 
	
		
			
				|  |  |                }"
 | 
	
		
			
				|  |  |                end-placeholder="结束日期"
 | 
	
		
			
				|  |  |              ></el-date-picker>
 | 
	
	
		
			
				|  | @@ -132,7 +133,7 @@
 | 
	
		
			
				|  |  |                  style="font-size: 18px; color: #f56c6c"
 | 
	
		
			
				|  |  |                ></i>
 | 
	
		
			
				|  |  |              </el-tooltip>
 | 
	
		
			
				|  |  | -          </el-form-item>
 | 
	
		
			
				|  |  | +          </el-form-item> -->
 | 
	
		
			
				|  |  |            <el-form-item label="适用学员" prop="applyToStudentType">
 | 
	
		
			
				|  |  |              <el-row>
 | 
	
		
			
				|  |  |                <el-col style="width: 400px">
 | 
	
	
		
			
				|  | @@ -170,7 +171,9 @@
 | 
	
		
			
				|  |  |                v-model.trim="baseForm.studentMaxUsedTimes"
 | 
	
		
			
				|  |  |                :disabled="isDisabled"
 | 
	
		
			
				|  |  |              >
 | 
	
		
			
				|  |  | -              <template slot="append">次</template>
 | 
	
		
			
				|  |  | +              <template slot="append"
 | 
	
		
			
				|  |  | +                >次</template
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  |              </el-input>
 | 
	
		
			
				|  |  |              <el-tooltip placement="top" popper-class="mTooltip">
 | 
	
		
			
				|  |  |                <div slot="content">
 | 
	
	
		
			
				|  | @@ -213,13 +216,12 @@
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                required: true,
 | 
	
		
			
				|  |  |                message: '请选输入活动售价',
 | 
	
		
			
				|  |  | -              trigger: 'blur',
 | 
	
		
			
				|  |  | +              trigger: 'blur'
 | 
	
		
			
				|  |  |              },
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -              pattern:
 | 
	
		
			
				|  |  | -                /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
 | 
	
		
			
				|  |  | -              message: '请输入正确的金额',
 | 
	
		
			
				|  |  | -            },
 | 
	
		
			
				|  |  | +              pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
 | 
	
		
			
				|  |  | +              message: '请输入正确的金额'
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |            ]"
 | 
	
		
			
				|  |  |          >
 | 
	
		
			
				|  |  |            <el-input
 | 
	
	
		
			
				|  | @@ -228,7 +230,9 @@
 | 
	
		
			
				|  |  |              v-model.trim="baseForm.marketPrice"
 | 
	
		
			
				|  |  |              :disabled="isDisabled || status != 'DRAFT'"
 | 
	
		
			
				|  |  |            >
 | 
	
		
			
				|  |  | -            <template slot="append">元</template>
 | 
	
		
			
				|  |  | +            <template slot="append"
 | 
	
		
			
				|  |  | +              >元</template
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  |            </el-input>
 | 
	
		
			
				|  |  |            <el-tooltip placement="top" popper-class="mTooltip">
 | 
	
		
			
				|  |  |              <div slot="content">
 | 
	
	
		
			
				|  | @@ -246,10 +250,9 @@
 | 
	
		
			
				|  |  |            :rules="[
 | 
	
		
			
				|  |  |              { required: true, message: '请选输入活动原价', trigger: 'blur' },
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -              pattern:
 | 
	
		
			
				|  |  | -                /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
 | 
	
		
			
				|  |  | -              message: '请输入正确的金额',
 | 
	
		
			
				|  |  | -            },
 | 
	
		
			
				|  |  | +              pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
 | 
	
		
			
				|  |  | +              message: '请输入正确的金额'
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |            ]"
 | 
	
		
			
				|  |  |          >
 | 
	
		
			
				|  |  |            <el-input
 | 
	
	
		
			
				|  | @@ -258,7 +261,9 @@
 | 
	
		
			
				|  |  |              v-model.trim="baseForm.originalPrice"
 | 
	
		
			
				|  |  |              :disabled="isDisabled || status != 'DRAFT'"
 | 
	
		
			
				|  |  |            >
 | 
	
		
			
				|  |  | -            <template slot="append">元</template>
 | 
	
		
			
				|  |  | +            <template slot="append"
 | 
	
		
			
				|  |  | +              >元</template
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  |            </el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |        </el-form>
 | 
	
	
		
			
				|  | @@ -283,8 +288,8 @@ export default {
 | 
	
		
			
				|  |  |              min: 1,
 | 
	
		
			
				|  |  |              max: 25,
 | 
	
		
			
				|  |  |              message: "长度在 1 到 25 个字符",
 | 
	
		
			
				|  |  | -            trigger: "blur",
 | 
	
		
			
				|  |  | -          },
 | 
	
		
			
				|  |  | +            trigger: "blur"
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          desc: [
 | 
	
		
			
				|  |  |            { required: true, message: "请输入文字描述", trigger: "blur" },
 | 
	
	
		
			
				|  | @@ -292,41 +297,41 @@ export default {
 | 
	
		
			
				|  |  |              min: 1,
 | 
	
		
			
				|  |  |              max: 200,
 | 
	
		
			
				|  |  |              message: "长度在 1 到 200 个字符",
 | 
	
		
			
				|  |  | -            trigger: "blur",
 | 
	
		
			
				|  |  | -          },
 | 
	
		
			
				|  |  | +            trigger: "blur"
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          activityType: [
 | 
	
		
			
				|  |  | -          { required: true, message: "请选择活动类型", trigger: "change" },
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择活动类型", trigger: "change" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          activityChannel: [
 | 
	
		
			
				|  |  | -          { required: true, message: "请选择活动渠道", trigger: "change" },
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择活动渠道", trigger: "change" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          courseTime: [
 | 
	
		
			
				|  |  | -          { required: false, message: "请选择课程时间", trigger: "change" },
 | 
	
		
			
				|  |  | +          { required: false, message: "请选择课程时间", trigger: "change" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          studentMaxUsedTimes: [
 | 
	
		
			
				|  |  |            { required: false, message: "请输入购买次数", trigger: "blur" },
 | 
	
		
			
				|  |  | -          { pattern: /^\+?[1-9]\d*$/, message: "请输入大于0的正整数" },
 | 
	
		
			
				|  |  | +          { pattern: /^\+?[1-9]\d*$/, message: "请输入大于0的正整数" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          organ: [
 | 
	
		
			
				|  |  | -          { required: true, message: "请选择适用分部", trigger: "change" },
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择适用分部", trigger: "change" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          stauts: [
 | 
	
		
			
				|  |  | -          { required: true, message: "请选择活动形式", trigger: "change" },
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择活动形式", trigger: "change" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          applyToStudentType: [
 | 
	
		
			
				|  |  | -          { required: false, message: "请选择是否新生专享" },
 | 
	
		
			
				|  |  | +          { required: false, message: "请选择是否新生专享" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          isPayToBalance: [
 | 
	
		
			
				|  |  |            {
 | 
	
		
			
				|  |  |              required: true,
 | 
	
		
			
				|  |  |              message: "请选择是否支付到余额",
 | 
	
		
			
				|  |  | -            trigger: "change",
 | 
	
		
			
				|  |  | -          },
 | 
	
		
			
				|  |  | +            trigger: "change"
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          allowOnlineToOffline: [
 | 
	
		
			
				|  |  | -          { required: true, message: "请选择课程调整方式", trigger: "change" },
 | 
	
		
			
				|  |  | -        ],
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择课程调整方式", trigger: "change" }
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        courseStatusList: [], // 获取所有课程形式
 | 
	
		
			
				|  |  |        activeType: "",
 | 
	
	
		
			
				|  | @@ -343,7 +348,7 @@ export default {
 | 
	
		
			
				|  |  |        courseNumForm: {
 | 
	
		
			
				|  |  |          minCourseNum: "",
 | 
	
		
			
				|  |  |          maxCourseNum: "",
 | 
	
		
			
				|  |  | -        studentMaxUsedTimes: "",
 | 
	
		
			
				|  |  | +        studentMaxUsedTimes: ""
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        giveClassPaySalaryFlag: true,
 | 
	
		
			
				|  |  |        organList: [],
 | 
	
	
		
			
				|  | @@ -353,14 +358,14 @@ export default {
 | 
	
		
			
				|  |  |          minCourseNum: [
 | 
	
		
			
				|  |  |            { required: true, message: "请输入最小课时数", trigger: "blur" },
 | 
	
		
			
				|  |  |            { validator: this.validateCom, trigger: "blur" },
 | 
	
		
			
				|  |  | -          { validator: this.validateMin, trigger: "blur" },
 | 
	
		
			
				|  |  | +          { validator: this.validateMin, trigger: "blur" }
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          maxCourseNum: [
 | 
	
		
			
				|  |  |            { required: true, message: "请输入最大课时数", trigger: "blur" },
 | 
	
		
			
				|  |  |            { validator: this.validateCom, trigger: "blur" },
 | 
	
		
			
				|  |  | -          { validator: this.validateMax, trigger: "blur" },
 | 
	
		
			
				|  |  | -        ],
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | +          { validator: this.validateMax, trigger: "blur" }
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -445,9 +450,9 @@ export default {
 | 
	
		
			
				|  |  |        this.$emit("resetBaseChannel", val);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      submitFrom() {
 | 
	
		
			
				|  |  | -      this.$refs.form.validate((isok) => {
 | 
	
		
			
				|  |  | +      this.$refs.form.validate(isok => {
 | 
	
		
			
				|  |  |          if (isok) {
 | 
	
		
			
				|  |  | -          this.$refs["vipform"].validate((valid) => {
 | 
	
		
			
				|  |  | +          this.$refs["vipform"].validate(valid => {
 | 
	
		
			
				|  |  |              if (valid) {
 | 
	
		
			
				|  |  |                // 验证通过
 | 
	
		
			
				|  |  |                let coursesStartTime = null,
 | 
	
	
		
			
				|  | @@ -508,7 +513,7 @@ export default {
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  onlineSalarySettlement = {
 | 
	
		
			
				|  |  |                    salarySettlementType: this.onlineSalary,
 | 
	
		
			
				|  |  | -                  settlementValue: this.onlineprice,
 | 
	
		
			
				|  |  | +                  settlementValue: this.onlineprice
 | 
	
		
			
				|  |  |                  };
 | 
	
		
			
				|  |  |                } else {
 | 
	
		
			
				|  |  |                  onlineSalarySettlement = null;
 | 
	
	
		
			
				|  | @@ -525,7 +530,7 @@ export default {
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  offlineSalarySettlement = {
 | 
	
		
			
				|  |  |                    salarySettlementType: this.unonlineSalary,
 | 
	
		
			
				|  |  | -                  settlementValue: this.unonlineprice,
 | 
	
		
			
				|  |  | +                  settlementValue: this.unonlineprice
 | 
	
		
			
				|  |  |                  };
 | 
	
		
			
				|  |  |                } else {
 | 
	
		
			
				|  |  |                  offlineSalarySettlement = null;
 | 
	
	
		
			
				|  | @@ -535,7 +540,7 @@ export default {
 | 
	
		
			
				|  |  |                // let giveClassPaySalaryFlag = this.giveClassPaySalaryFlag * 1;
 | 
	
		
			
				|  |  |                let vipGroupSalarySettlement = {
 | 
	
		
			
				|  |  |                  onlineSalarySettlement,
 | 
	
		
			
				|  |  | -                offlineSalarySettlement,
 | 
	
		
			
				|  |  | +                offlineSalarySettlement
 | 
	
		
			
				|  |  |                };
 | 
	
		
			
				|  |  |                if (type == "BASE_ACTIVITY") {
 | 
	
		
			
				|  |  |                  this.courseNumForm.studentMaxUsedTimes = -1;
 | 
	
	
		
			
				|  | @@ -573,15 +578,15 @@ export default {
 | 
	
		
			
				|  |  |                    offlineClassJoinGradientRewards:
 | 
	
		
			
				|  |  |                      this.offlineClassJoinGradientRewards * 1,
 | 
	
		
			
				|  |  |                    onlineClassJoinGradientRewards:
 | 
	
		
			
				|  |  | -                    this.onlineClassJoinGradientRewards * 1,
 | 
	
		
			
				|  |  | +                    this.onlineClassJoinGradientRewards * 1
 | 
	
		
			
				|  |  |                  })
 | 
	
		
			
				|  |  | -              ).then((res) => {
 | 
	
		
			
				|  |  | +              ).then(res => {
 | 
	
		
			
				|  |  |                  if (res.code == 200) {
 | 
	
		
			
				|  |  |                    this.$message.success("恭喜你,活动创建成功");
 | 
	
		
			
				|  |  |                    // this.onReSet();
 | 
	
		
			
				|  |  |                    this.$store.dispatch("delVisitedViews", this.$route);
 | 
	
		
			
				|  |  |                    this.$router.push({
 | 
	
		
			
				|  |  | -                    path: "/vipActiveManager/vipActiveList",
 | 
	
		
			
				|  |  | +                    path: "/vipActiveManager/vipActiveList"
 | 
	
		
			
				|  |  |                    });
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                });
 | 
	
	
		
			
				|  | @@ -590,7 +595,7 @@ export default {
 | 
	
		
			
				|  |  |                  let isError = document.getElementsByClassName("is-error");
 | 
	
		
			
				|  |  |                  isError[0].scrollIntoView({
 | 
	
		
			
				|  |  |                    block: "center",
 | 
	
		
			
				|  |  | -                  behavior: "smooth",
 | 
	
		
			
				|  |  | +                  behavior: "smooth"
 | 
	
		
			
				|  |  |                  });
 | 
	
		
			
				|  |  |                });
 | 
	
		
			
				|  |  |                // this.$message.error("请填写必要参数");
 | 
	
	
		
			
				|  | @@ -615,7 +620,7 @@ export default {
 | 
	
		
			
				|  |  |        // 选择所有分部
 | 
	
		
			
				|  |  |        let vipform = this.vipform;
 | 
	
		
			
				|  |  |        vipform.organ = [];
 | 
	
		
			
				|  |  | -      this.selects.branchs.forEach((item) => {
 | 
	
		
			
				|  |  | +      this.selects.branchs.forEach(item => {
 | 
	
		
			
				|  |  |          vipform.organ.push(item.id);
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |        this.$refs.vipform.validateField("organ");
 | 
	
	
		
			
				|  | @@ -627,7 +632,7 @@ export default {
 | 
	
		
			
				|  |  |          name: "",
 | 
	
		
			
				|  |  |          desc: "",
 | 
	
		
			
				|  |  |          activeTime: [],
 | 
	
		
			
				|  |  | -        courseTime: [],
 | 
	
		
			
				|  |  | +        courseTime: []
 | 
	
		
			
				|  |  |        };
 | 
	
		
			
				|  |  |        this.activeType = "";
 | 
	
		
			
				|  |  |        this.online = true;
 | 
	
	
		
			
				|  | @@ -644,7 +649,7 @@ export default {
 | 
	
		
			
				|  |  |        this.courseNumForm.maxCourseNum = "";
 | 
	
		
			
				|  |  |        this.courseNumForm.minCourseNum = "";
 | 
	
		
			
				|  |  |        // this.$refs.vipform.resetFields();
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    computed: {
 | 
	
		
			
				|  |  |      balanceDis() {
 | 
	
	
		
			
				|  | @@ -654,8 +659,8 @@ export default {
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  |          return false;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
	
		
			
				|  | @@ -755,5 +760,3 @@ export default {
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  </style>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 |