mo 3 lat temu
rodzic
commit
2c9a7c269c

+ 105 - 98
src/views/categroyManager/modals/baseInfo.vue

@@ -53,19 +53,24 @@
             :disabled="isDisabled || status != 'DRAFT'"
             :disabled="isDisabled || status != 'DRAFT'"
           ></el-input>
           ></el-input>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="活动渠道" prop="aceicityChannel">
-                  <el-select
-            v-model.trim="baseForm.aceicityChannel"
-            placeholder="请选择活动类型"
+        <el-form-item label="活动渠道" prop="activityChannel">
+          <el-select
+            v-model.trim="baseForm.activityChannel"
+            placeholder="请选择活动渠道"
             clearable
             clearable
             style="width: 400px !important"
             style="width: 400px !important"
             :disabled="isDisabled || status != 'DRAFT'"
             :disabled="isDisabled || status != 'DRAFT'"
+             @change="changeActivityChannel"
           >
           >
             <el-option label="乐团渠道" :value="1"></el-option>
             <el-option label="乐团渠道" :value="1"></el-option>
             <el-option label="常规活动" :value="2"></el-option>
             <el-option label="常规活动" :value="2"></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="活动类型" prop="activityType" v-if="baseForm.aceicityChannel == 2">
+        <el-form-item
+          label="活动类型"
+          prop="activityType"
+          v-if="baseForm.activityChannel == 2"
+        >
           <el-select
           <el-select
             v-model.trim="baseForm.activityType"
             v-model.trim="baseForm.activityType"
             placeholder="请选择活动类型"
             placeholder="请选择活动类型"
@@ -103,83 +108,81 @@
             ></i>
             ></i>
           </el-tooltip>
           </el-tooltip>
         </el-form-item>
         </el-form-item>
-        <div v-if="baseForm.aceicityChannel == 2">
-
-
-        <el-form-item label="排课时间范围" prop="courseTime">
-          <el-date-picker
-            :disabled="isDisabled"
-            v-model.trim="baseForm.courseTime"
-            type="datetimerange"
-            :default-time="['00:00:00', '23:59:59']"
-            range-separator="至"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            start-placeholder="开始日期"
-            :picker-options="{
-              firstDayOfWeek: 1,
-            }"
-            end-placeholder="结束日期"
-          ></el-date-picker>
-          <el-tooltip placement="top" popper-class="mTooltip">
-            <div slot="content">
-             通过该方案购买的课程排课时,课程时间不可超过该时间范围,不填则不限制
-            </div>
-            <i
-              class="el-icon-question micon el-tooltip"
-              style="font-size: 18px; color: #f56c6c"
-            ></i>
-          </el-tooltip>
-        </el-form-item>
-        <el-form-item label="适用学员" prop="applyToStudentType">
-          <el-row>
-            <el-col style="width: 400px">
-              <select-all
-                v-model.trim="baseForm.applyToStudentType"
-                style="width: 400px"
-                multiple
-                filterable
-                clearable
-                placeholder="请选择适用学员"
-                @change="applyToStudentTypeChange"
-                :disabled="isDisabled"
-              >
-                <el-option label="新学员" value="1"></el-option>
-                <el-option label="老学员" value="0"></el-option>
-                <el-option label="会员" value="2"></el-option>
-                <el-option label="非会员" value="3"></el-option>
-              </select-all>
-            </el-col>
+        <div v-if="baseForm.activityChannel == 2">
+          <el-form-item label="排课时间范围" prop="courseTime">
+            <el-date-picker
+              :disabled="isDisabled"
+              v-model.trim="baseForm.courseTime"
+              type="datetimerange"
+              :default-time="['00:00:00', '23:59:59']"
+              range-separator="至"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              start-placeholder="开始日期"
+              :picker-options="{
+                firstDayOfWeek: 1,
+              }"
+              end-placeholder="结束日期"
+            ></el-date-picker>
             <el-tooltip placement="top" popper-class="mTooltip">
             <el-tooltip placement="top" popper-class="mTooltip">
               <div slot="content">
               <div slot="content">
-                可通过该方案购买课程的学员群体,不填则不限制
+                通过该方案购买的课程排课时,课程时间不可超过该时间范围,不填则不限制
               </div>
               </div>
               <i
               <i
                 class="el-icon-question micon el-tooltip"
                 class="el-icon-question micon el-tooltip"
-                style="font-size: 18px; color: #f56c6c; margin-left: 3px"
+                style="font-size: 18px; color: #f56c6c"
               ></i>
               ></i>
             </el-tooltip>
             </el-tooltip>
-          </el-row>
-        </el-form-item>
-        <el-form-item label="可购买次数" prop="studentMaxUsedTimes">
-          <el-input
-            style="width: 400px"
-            type="number"
-            v-model.trim="baseForm.studentMaxUsedTimes"
-            :disabled="isDisabled"
-          >
-            <template slot="append">次</template>
-          </el-input>
-          <el-tooltip placement="top" popper-class="mTooltip">
-            <div slot="content">
-              学员可以购买该活动方案的次数限制,不填则不限制
-            </div>
-            <i
-              class="el-icon-question micon el-tooltip"
-              style="font-size: 18px; color: #f56c6c"
-            ></i>
-          </el-tooltip>
-        </el-form-item>
-        <!-- <el-form-item label="是否充值课程余额" prop="isPayToBalance">
+          </el-form-item>
+          <el-form-item label="适用学员" prop="applyToStudentType">
+            <el-row>
+              <el-col style="width: 400px">
+                <select-all
+                  v-model.trim="baseForm.applyToStudentType"
+                  style="width: 400px"
+                  multiple
+                  filterable
+                  clearable
+                  placeholder="请选择适用学员"
+                  @change="applyToStudentTypeChange"
+                  :disabled="isDisabled"
+                >
+                  <el-option label="新学员" value="1"></el-option>
+                  <el-option label="老学员" value="0"></el-option>
+                  <el-option label="会员" value="2"></el-option>
+                  <el-option label="非会员" value="3"></el-option>
+                </select-all>
+              </el-col>
+              <el-tooltip placement="top" popper-class="mTooltip">
+                <div slot="content">
+                  可通过该方案购买课程的学员群体,不填则不限制
+                </div>
+                <i
+                  class="el-icon-question micon el-tooltip"
+                  style="font-size: 18px; color: #f56c6c; margin-left: 3px"
+                ></i>
+              </el-tooltip>
+            </el-row>
+          </el-form-item>
+          <el-form-item label="可购买次数" prop="studentMaxUsedTimes">
+            <el-input
+              style="width: 400px"
+              type="number"
+              v-model.trim="baseForm.studentMaxUsedTimes"
+              :disabled="isDisabled"
+            >
+              <template slot="append">次</template>
+            </el-input>
+            <el-tooltip placement="top" popper-class="mTooltip">
+              <div slot="content">
+                学员可以购买该活动方案的次数限制,不填则不限制
+              </div>
+              <i
+                class="el-icon-question micon el-tooltip"
+                style="font-size: 18px; color: #f56c6c"
+              ></i>
+            </el-tooltip>
+          </el-form-item>
+          <!-- <el-form-item label="是否充值课程余额" prop="isPayToBalance">
           <el-select
           <el-select
             v-model.trim="baseForm.isPayToBalance"
             v-model.trim="baseForm.isPayToBalance"
             placeholder="请选择是否充值课程余额"
             placeholder="请选择是否充值课程余额"
@@ -202,25 +205,25 @@
             ></i>
             ></i>
           </el-tooltip>
           </el-tooltip>
         </el-form-item> -->
         </el-form-item> -->
-        <el-form-item label="营销活动售价" prop="marketPrice">
-          <el-input
-            style="width: 400px"
-            type="number"
-            v-model.trim="baseForm.marketPrice"
-            :disabled="isDisabled || status != 'DRAFT'"
-          >
-            <template slot="append">元</template>
-          </el-input>
-          <el-tooltip placement="top" popper-class="mTooltip">
-            <div slot="content">
-              该字段仅用于关联的营销活动中本方案的销售价格,后台、老师端为学员创建课程不受此价格影响
-            </div>
-            <i
-              class="el-icon-question micon el-tooltip"
-              style="font-size: 18px; color: #f56c6c"
-            ></i>
-          </el-tooltip>
-        </el-form-item>
+          <el-form-item label="营销活动售价" prop="marketPrice">
+            <el-input
+              style="width: 400px"
+              type="number"
+              v-model.trim="baseForm.marketPrice"
+              :disabled="isDisabled || status != 'DRAFT'"
+            >
+              <template slot="append">元</template>
+            </el-input>
+            <el-tooltip placement="top" popper-class="mTooltip">
+              <div slot="content">
+                该字段仅用于关联的营销活动中本方案的销售价格,后台、老师端为学员创建课程不受此价格影响
+              </div>
+              <i
+                class="el-icon-question micon el-tooltip"
+                style="font-size: 18px; color: #f56c6c"
+              ></i>
+            </el-tooltip>
+          </el-form-item>
         </div>
         </div>
       </el-form>
       </el-form>
     </div>
     </div>
@@ -262,15 +265,15 @@ export default {
         activityType: [
         activityType: [
           { required: true, message: "请选择活动类型", trigger: "change" },
           { required: true, message: "请选择活动类型", trigger: "change" },
         ],
         ],
-        // activeTime: [
-        //   { required: false, message: "请选择活动时间", trigger: "blur" },
-        // ],
+        activityChannel: [
+          { required: true, message: "请选择活动渠道", trigger: "change" },
+        ],
         courseTime: [
         courseTime: [
           { required: false, message: "请选择课程时间", trigger: "change" },
           { required: false, message: "请选择课程时间", trigger: "change" },
         ],
         ],
         studentMaxUsedTimes: [
         studentMaxUsedTimes: [
           { required: false, message: "请输入购买次数", trigger: "blur" },
           { required: false, message: "请输入购买次数", trigger: "blur" },
-          { pattern:  /^\+?[1-9]\d*$/, message: "请输入大于0的正整数" },
+          { pattern: /^\+?[1-9]\d*$/, message: "请输入大于0的正整数" },
         ],
         ],
         organ: [
         organ: [
           { required: true, message: "请选择适用分部", trigger: "change" },
           { required: true, message: "请选择适用分部", trigger: "change" },
@@ -404,6 +407,10 @@ export default {
     changeActivityType(val) {
     changeActivityType(val) {
       this.$emit("resetPayInfo");
       this.$emit("resetPayInfo");
     },
     },
+    changeActivityChannel(){
+      this.$emit("resetPayInfo");
+      this.$meit('resetBaseChannel')
+    },
     submitFrom() {
     submitFrom() {
       this.$refs.form.validate((isok) => {
       this.$refs.form.validate((isok) => {
         if (isok) {
         if (isok) {

+ 30 - 7
src/views/categroyManager/vipActiveList.vue

@@ -52,6 +52,18 @@
             ></el-option>
             ></el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
+        <el-form-item prop="activityChannel">
+          <el-select
+            filterable
+            style="width: 180px !important"
+            v-model="searchForm.activityChannel"
+            clearable
+            placeholder="活动渠道"
+          >
+            <el-option label="乐团渠道" :value="'1'"></el-option>
+            <el-option label="常规活动" :value="'2'"></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item prop="status">
         <el-form-item prop="status">
           <el-select
           <el-select
             filterable
             filterable
@@ -131,6 +143,13 @@
           <el-table-column align="center" prop="activityType" label="活动类型">
           <el-table-column align="center" prop="activityType" label="活动类型">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
+                {{ scope.row.activityChannel ==1 ? "乐团渠道" : "常规活动" }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="activityType" label="活动类型">
+            <template slot-scope="scope">
+              <div>
                 {{ scope.row.activityType ? "会员活动" : "课程活动" }}
                 {{ scope.row.activityType ? "会员活动" : "课程活动" }}
               </div>
               </div>
             </template>
             </template>
@@ -152,7 +171,10 @@
           <el-table-column align="center" prop="type" label="赠送类型">
           <el-table-column align="center" prop="type" label="赠送类型">
             <template slot-scope="scope">
             <template slot-scope="scope">
               <div>
               <div>
-                {{ scope.row.giveCourseType | courseTypeFormat }}
+                <p v-if="scope.row.giveCourseType">
+                  {{ scope.row.giveCourseType | courseTypeFormat }}
+                </p>
+                <p v-else>--</p>
               </div>
               </div>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
@@ -237,10 +259,10 @@
                 <el-button
                 <el-button
                   v-if="
                   v-if="
                     scope.row.status == 'PROGRESS' &&
                     scope.row.status == 'PROGRESS' &&
-                    scope.row.maxCourseNum&&
-                    scope.row.minCourseNum&&
-                    scope.row.maxCourseNum >0&&
-                    scope.row.minCourseNum>0 &&
+                    scope.row.maxCourseNum &&
+                    scope.row.minCourseNum &&
+                    scope.row.maxCourseNum > 0 &&
+                    scope.row.minCourseNum > 0 &&
                     scope.row.minCourseNum == scope.row.maxCourseNum
                     scope.row.minCourseNum == scope.row.maxCourseNum
                   "
                   "
                   type="text"
                   type="text"
@@ -283,12 +305,11 @@
                   <p>确定删除?</p>
                   <p>确定删除?</p>
                   <div style="text-align: right; margin: 0">
                   <div style="text-align: right; margin: 0">
                     <el-button
                     <el-button
-                      
                       type="text"
                       type="text"
                       @click="scope._self.$refs[scope.$index].doClose()"
                       @click="scope._self.$refs[scope.$index].doClose()"
                       >取消</el-button
                       >取消</el-button
                     >
                     >
-                    <el-button type="primary"  @click="remove(scope)"
+                    <el-button type="primary" @click="remove(scope)"
                       >确定</el-button
                       >确定</el-button
                     >
                     >
                   </div>
                   </div>
@@ -346,6 +367,7 @@ export default {
         applyToStudentType: null,
         applyToStudentType: null,
         allowOnlineToOffline: null,
         allowOnlineToOffline: null,
         status: null,
         status: null,
+        activityChannel: null,
       },
       },
       dialogVisible: false,
       dialogVisible: false,
     };
     };
@@ -542,6 +564,7 @@ export default {
         rows: this.rules.limit,
         rows: this.rules.limit,
         page: this.rules.page,
         page: this.rules.page,
         status: this.searchForm.status,
         status: this.searchForm.status,
+        activityChannel:this.searchForm.activityChannel,
         enable,
         enable,
         search,
         search,
       }).then((res) => {
       }).then((res) => {

+ 4 - 0
src/views/categroyManager/vipNewActive.vue

@@ -21,6 +21,7 @@
         v-if="active == 1"
         v-if="active == 1"
         ref="baseForm"
         ref="baseForm"
         @resetPayInfo="resetPayInfo"
         @resetPayInfo="resetPayInfo"
+         @resetBaseChannel="resetBaseChannel"
         :isDisabled="isDisabled"
         :isDisabled="isDisabled"
         :status="statuss"
         :status="statuss"
       />
       />
@@ -32,6 +33,7 @@
         @changeGiveCourseType="changeGiveCourseType"
         @changeGiveCourseType="changeGiveCourseType"
         @chageSalary="chageSalary"
         @chageSalary="chageSalary"
         @resetIsLimitNum="resetIsLimitNum"
         @resetIsLimitNum="resetIsLimitNum"
+
         v-if="active == 2"
         v-if="active == 2"
         :remberList="remberList"
         :remberList="remberList"
         :isDisabled="isDisabled || statuss != 'DRAFT'"
         :isDisabled="isDisabled || statuss != 'DRAFT'"
@@ -239,6 +241,7 @@ export default {
         ...payBaseForm,
         ...payBaseForm,
       };
       };
     },
     },
+    resetBaseChannel(){},
     changeCourseType(val) {
     changeCourseType(val) {
       // this.$emit("changeCourseType", val);
       // this.$emit("changeCourseType", val);
       if (val == "PRACTICE") {
       if (val == "PRACTICE") {
@@ -429,6 +432,7 @@ export default {
         studentMaxUsedTimes: data.studentMaxUsedTimes,
         studentMaxUsedTimes: data.studentMaxUsedTimes,
         isPayToBalance: Number(data.payToBalance),
         isPayToBalance: Number(data.payToBalance),
         id: this.$route.query.id,
         id: this.$route.query.id,
+        activityChannel:data.activityChannel
 
 
       });
       });
       // this.baseForm = {
       // this.baseForm = {

+ 1 - 6
src/views/courseRulersManager/components/offlineTeamRules.vue

@@ -367,13 +367,8 @@
           <span style="color: #f56c6c; margin-right: 4px">{{
           <span style="color: #f56c6c; margin-right: 4px">{{
             addFormMinute("13:00:00", form["81"])
             addFormMinute("13:00:00", form["81"])
           }}</span
           }}</span
-          >,超过
-          <span style="color: #f56c6c; margin-right: 4px">{{
-            addFormMinute("13:00:00", form["81"])
-          }}</span
-          >无法签退。
+          >。
         </p>
         </p>
-
         <p class="subtitle">异常签退:</p>
         <p class="subtitle">异常签退:</p>
         <el-row>
         <el-row>
           课程结束前
           课程结束前