| 
					
				 | 
			
			
				@@ -1,150 +1,181 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <div class='m-container'> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="m-container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-page-header @back="onCancel" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      :content="(pageType == 'create' ? '添加' : '修改') + '分部活动'"></el-page-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-page-header 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @back="onCancel" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :content="(pageType == 'create' ? '添加' : '修改') + '分部活动'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ></el-page-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="m-core"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-form :model="result" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               :rules="rules" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               ref="form" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               label-width="120px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item label="活动名称" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      prop="name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form :model="result" :rules="rules" ref="form" label-width="120px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item label="活动名称" prop="name" style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-input v-model.trim="result.name"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item prop="rewardMode" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      label="活动类型" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item prop="rewardMode" label="活动类型" style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-radio-group v-model.trim="result.rewardMode"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-radio label="STAIR">阶梯奖励</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-radio label="PER">累计奖励</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item class="moreRule" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style="margin-bottom: 0;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item class="moreRule" style="margin-bottom: 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span class="min">最小值</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span class="min">最大值</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span class="max">奖励金额</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="moreRule"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class="moreRuleIn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               v-for="(domain, index) in result.domains" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               :key="domain.key"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="moreRuleIn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-for="(domain, index) in result.domains" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :key="domain.key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-form-item :label="'梯度' + (index + 1)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-input type="number" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        v-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :disabled="domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        @mousewheel.native.prevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        v-model.trim="domain.min"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="number" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :disabled="domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @mousewheel.native.prevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model.trim="domain.min" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-input type="number" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        @mousewheel.native.prevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        v-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :disabled="domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        v-model.trim="domain.max"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="number" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @mousewheel.native.prevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :disabled="domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model.trim="domain.max" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-input style="width: auto;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        type="number" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        @mousewheel.native.prevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        :disabled="domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        v-model.trim="domain.money"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-button v-if="index != 0 && !domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         @click.prevent="removeDomain(result, domain)">删除</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="width: auto" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="number" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @mousewheel.native.prevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :disabled="domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model.trim="domain.money" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-if="index != 0 && !domain.disabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @click.prevent="removeDomain(result, domain)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                >删除</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class="el-form-item__error" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               v-if="result.errorText">{{ result.errorText }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="el-form-item__error" v-if="result.errorText"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ result.errorText }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-form-item class="add"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button icon="el-icon-plus" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     @click="addDomain(result)">新增梯度</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button icon="el-icon-plus" @click="addDomain(result)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            >新增梯度</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item prop="vipGroupCategoryIdList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      label="课程类型" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-select style="width: 100% !important;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     v-model.trim="result.vipGroupCategoryIdList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     placeholder="请选择"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-option v-for="item in selects.vipGroupCategory" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :key="item.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :label="item.name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :value="item.id.toString()"> </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          prop="vipGroupCategoryIdList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label="课程类型" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          style="width: 500px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <select-all 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="width: 100% !important" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model.trim="result.vipGroupCategoryIdList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请选择" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- <el-select > --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-for="item in selects.vipGroupCategory" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :key="item.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :label="item.name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :value="item.id.toString()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </select-all> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- </el-select> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item prop="organId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      label="所属分部" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-select style="width: 100% !important;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     @change="onSubjectChange('search')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     v-model.trim="result.organId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     placeholder="请选择"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-option v-for="item in selects.branchs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :key="item.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :label="item.name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :value="item.id.toString()"> </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item prop="organId" label="所属分部" style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="width: 100% !important" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @change="onSubjectChange('search')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model.trim="result.organId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请选择" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-for="item in selects.branchs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :key="item.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :label="item.name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :value="item.id.toString()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item prop="subjectIds" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      label="所属声部" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-select style="width: 100% !important;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     @change="onSubjectChange('search')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     v-model.trim="result.subjectIds" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     placeholder="请选择"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-option v-for="(item, i) in selects.subjects" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         :key="i" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         :label="item.name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         :value="item.id.toString()"></el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item prop="subjectIds" label="所属声部" style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <select-all 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="width: 100% !important" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @change="onSubjectChange('search')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model.trim="result.subjectIds" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请选择" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-for="(item, i) in selects.subjects" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :key="i" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :label="item.name" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :value="item.id.toString()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ></el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </select-all> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-form-item prop="teacherId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      label="老师" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-select style="width: 80% !important;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     v-model.trim="result.teacherId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     placeholder="请选择"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-option v-for="(item, index) in teacherList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :label="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       :value="item.value.toString()"> </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button @click="onCheckAll">全选</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item prop="teacherId" label="老师" style="width: 500px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <select-all 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="width: 100% !important" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model.trim="result.teacherId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            filterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请选择" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-for="(item, index) in teacherList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :label="item.label" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :value="item.value.toString()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-option> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </select-all> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- <el-button @click="onCheckAll">全选</el-button> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-button @click="resetForm">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-button type="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     @click="onSubmit('form')">立即{{ pageType == "create" ? '创建' : '修改' }}</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button type="primary" @click="onSubmit('form')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            >立即{{ pageType == "create" ? "创建" : "修改" }}</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getEmployeeOrgan, getSoundTree } from '@/api/buildTeam' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { courseScheduleRewardsQuery, getUserRole, courseScheduleRewardsAdd, courseScheduleRewardsUpdate, findTeacherByOrganId } from '@/api/systemManage' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { vipGroupCategory } from "@/api/vipSeting" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getEmployeeOrgan, getSoundTree } from "@/api/buildTeam"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  courseScheduleRewardsQuery, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getUserRole, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  courseScheduleRewardsAdd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  courseScheduleRewardsUpdate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  findTeacherByOrganId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from "@/api/systemManage"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { vipGroupCategory } from "@/api/vipSeting"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  name: 'branchActiveOperation', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: "branchActiveOperation", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       organId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       pageType: this.$route.query.type, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -157,224 +188,279 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         organId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         teacherId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         subjectIds: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        courseScheduleType: 'VIP', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        domains: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          min: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          max: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          money: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          disabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          key: Date.now() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        errorText: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        courseScheduleType: "VIP", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        domains: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            min: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            max: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            money: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            disabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key: Date.now(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        errorText: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       rules: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        name: [{ required: true, message: '请输入活动名称', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        rewardMode: [{ required: true, message: '请选择活动类型', trigger: 'change' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        vipGroupCategoryIdList: [{ type: 'array', required: true, message: '请选择课程类型', trigger: 'change' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        organId: [{ required: true, message: '请选择所属分部', trigger: 'change' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        subjectIds: [{ type: 'array', required: true, message: '请选择所属声部', trigger: 'change' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        teacherId: [{ type: 'array', required: true, message: '请选择老师', trigger: 'change' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: [{ required: true, message: "请输入活动名称", trigger: "blur" }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rewardMode: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: "请选择活动类型", trigger: "change" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vipGroupCategoryIdList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: "array", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            message: "请选择课程类型", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            trigger: "change", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        organId: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: "请选择所属分部", trigger: "change" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subjectIds: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: "array", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            message: "请选择所属声部", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            trigger: "change", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        teacherId: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: "array", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            message: "请选择老师", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            trigger: "change", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mounted () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.__init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.__init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async __init () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$refs.form.resetFields() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async __init() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.form.resetFields(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 获取类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$store.dispatch('setVipGroupCategory') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$store.dispatch("setVipGroupCategory"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 获取分部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$store.dispatch('setBranchs') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$store.dispatch("setBranchs"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 获取声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$store.dispatch('setSubjects') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$store.dispatch("setSubjects"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (this.pageType == 'update') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let courseScheduleRewards = await courseScheduleRewardsQuery({ id: this.id }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.pageType == "update") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let courseScheduleRewards = await courseScheduleRewardsQuery({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          id: this.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (courseScheduleRewards.code == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          let data = courseScheduleRewards.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let data = courseScheduleRewards.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.$nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.result.organId = data.organId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.result.subjectIds = data.subjectIds ? data.subjectIds.split(',') : data.subjectIds 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.onSubjectChange('update') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.result.organId = data.organId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.result.subjectIds = data.subjectIds 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ? data.subjectIds.split(",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              : data.subjectIds; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.onSubjectChange("update"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.result = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               id: data.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               name: data.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               rewardMode: data.rewardMode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               organId: data.organId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              subjectIds: data.subjectIds ? data.subjectIds.split(',') : data.subjectIds, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              vipGroupCategoryIdList: data.vipGroupCategoryIdList ? data.vipGroupCategoryIdList.split(',') : data.vipGroupCategoryIdList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              teacherId: data.teacherId ? data.teacherId.split(',') : data.teacherId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              subjectIds: data.subjectIds 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ? data.subjectIds.split(",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                : data.subjectIds, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              vipGroupCategoryIdList: data.vipGroupCategoryIdList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ? data.vipGroupCategoryIdList.split(",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                : data.vipGroupCategoryIdList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              teacherId: data.teacherId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ? data.teacherId.split(",") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                : data.teacherId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               courseScheduleType: data.courseScheduleType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              domains: data.rewardsRulesJson ? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                JSON.parse(data.rewardsRulesJson) : [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  min: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  max: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  money: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  disabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  key: Date.now() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              errorText: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              domains: data.rewardsRulesJson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ? JSON.parse(data.rewardsRulesJson) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                : [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      min: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      max: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      money: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      disabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      key: Date.now(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              errorText: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.resetForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.resetForm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async onSubjectChange (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let organId = this.result.organId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let subject = this.result.subjectIds 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async onSubjectChange(type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let organId = this.result.organId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let subject = this.result.subjectIds; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 判断是否有分部和声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (subject.length <= 0 || !organId || organId == '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.teacherList = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.result.teacherId = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (subject.length <= 0 || !organId || organId == "") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.teacherList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.result.teacherId = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let subjectIds = Object.assign([], subject).join(',') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      await findTeacherByOrganId({ organId: organId, subjectIds: subjectIds, jobNature: 'FULL_TIME' }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let subjectIds = Object.assign([], subject).join(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      await findTeacherByOrganId({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        organId: organId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subjectIds: subjectIds, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        jobNature: "FULL_TIME", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (res.code == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (type != 'update') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.teacherList = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.result.teacherId = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (type != "update") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.teacherList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.result.teacherId = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          res.data.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          res.data.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.teacherList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               label: item.realName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              value: item.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              value: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onCheckAll () { // 全选老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onCheckAll() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 全选老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.teacherList.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.result.teacherId = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.teacherList.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.result.teacherId.push(item.value.toString()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.result.teacherId = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.teacherList.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.result.teacherId.push(item.value.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onSubmit (formName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onSubmit(formName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$refs[formName].validate((valid) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let result = JSON.parse(JSON.stringify(this.result)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.addDomain(result, true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let result = JSON.parse(JSON.stringify(this.result)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.addDomain(result, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (valid && !result.errorText) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           // 如果奖励金额为空时,默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          result.domains.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          result.domains.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!item.money) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              item.money = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              item.money = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           let params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             organId: result.organId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            vipGroupCategoryIdList: result.vipGroupCategoryIdList.join(','), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            teacherId: result.teacherId.join(','), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vipGroupCategoryIdList: result.vipGroupCategoryIdList.join(","), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            teacherId: result.teacherId.join(","), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleType: result.courseScheduleType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rewardMode: result.rewardMode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            subjectIds: result.subjectIds.join(','), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            subjectIds: result.subjectIds.join(","), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rewardsRulesJson: JSON.stringify(result.domains), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            name: result.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (this.pageType == 'update') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            params.id = result.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            courseScheduleRewardsUpdate(params).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              this.messageTips('修改', res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } else if (this.pageType == 'create') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: result.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (this.pageType == "update") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            params.id = result.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleRewardsUpdate(params).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.messageTips("修改", res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else if (this.pageType == "create") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            courseScheduleRewardsAdd(params).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              this.messageTips('添加', res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleRewardsAdd(params).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.messageTips("添加", res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    messageTips (title, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    messageTips(title, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (res.code == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$message.success('修改成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$store.dispatch('delVisitedViews', this.$route) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$router.push({ path: '/vipClassSet/branchActive', query: { rules: this.pageInfo, searchForm: this.searchForm } }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$message.success("修改成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$store.dispatch("delVisitedViews", this.$route); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          path: "/vipClassSet/branchActive", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          query: { rules: this.pageInfo, searchForm: this.searchForm }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$message.error(res.msg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$message.error(res.msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onCancel () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$store.dispatch('delVisitedViews', this.$route) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$router.push({ path: '/vipClassSet/branchActive', query: { rules: this.pageInfo, searchForm: this.searchForm } }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onCancel() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$store.dispatch("delVisitedViews", this.$route); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        path: "/vipClassSet/branchActive", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        query: { rules: this.pageInfo, searchForm: this.searchForm }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    resetForm () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.teacherList = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetForm() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.teacherList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.result = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         name: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rewardMode: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         organId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         subjectIds: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         teacherId: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        courseScheduleType: 'VIP', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        domains: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          min: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          max: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          money: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          disabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          key: Date.now() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        errorText: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$refs.form.resetFields() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        courseScheduleType: "VIP", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        domains: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            min: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            max: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            money: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            disabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key: Date.now(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        errorText: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.form.resetFields(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeDomain (form, item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var index = form.domains.indexOf(item) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeDomain(form, item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var index = form.domains.indexOf(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (index !== -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.domains.splice(index, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.domains.splice(index, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 取消最后一个数据的禁用状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.domains[form.domains.length - 1].disabled = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.errorText = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.domains[form.domains.length - 1].disabled = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.errorText = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addDomain (form, checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addDomain(form, checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // debugger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let domains = form.domains, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         singleLength = domains.length, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lastDate = domains[singleLength - 1] // 获取倒数一个对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        lastDate = domains[singleLength - 1]; // 获取倒数一个对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!lastDate.min) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.errorText = '最小值不能为空' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.errorText = "最小值不能为空"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (singleLength <= 1 && parseInt(lastDate.min) <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.errorText = '最小值不能小于0' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } else if (singleLength > 1 && parseInt(lastDate.min) <= parseInt(domains[singleLength - 2].max)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.errorText = '最小值不能小于或等于上一个梯度的最大值' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.errorText = "最小值不能小于0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleLength > 1 && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parseInt(lastDate.min) <= parseInt(domains[singleLength - 2].max) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.errorText = "最小值不能小于或等于上一个梯度的最大值"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!parseInt(lastDate.max)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.errorText = '最大值不能为空' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.errorText = "最大值不能为空"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else if (parseInt(lastDate.max) <= parseInt(lastDate.min)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        form.errorText = '最大值应大于该梯度的最小值' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        form.errorText = "最大值应大于该梯度的最小值"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      form.errorText = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      form.errorText = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lastDate.disabled = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        lastDate.disabled = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         domains.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           min: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           max: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           disabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          key: Date.now() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          key: Date.now(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .el-button--primary { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -445,4 +531,4 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-right: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |