|  |  | @ -1,28 +1,25 @@ | 
			
		
	
		
			
				
					|  |  |  | <template> | 
			
		
	
		
			
				
					|  |  |  |   <div> | 
			
		
	
		
			
				
					|  |  |  |     <div v-if="showType === 'list'" class="g-cnt"> | 
			
		
	
		
			
				
					|  |  |  |     <div v-if="showType === 'list'" | 
			
		
	
		
			
				
					|  |  |  |          class="g-cnt"> | 
			
		
	
		
			
				
					|  |  |  |       <el-row :gutter="15"> | 
			
		
	
		
			
				
					|  |  |  |         <el-col :span="6"> | 
			
		
	
		
			
				
					|  |  |  |           <div class="m-sizer"> | 
			
		
	
		
			
				
					|  |  |  |             <div class="item"> | 
			
		
	
		
			
				
					|  |  |  |               <el-cascader | 
			
		
	
		
			
				
					|  |  |  |                 class="customer_cascader" | 
			
		
	
		
			
				
					|  |  |  |                 ref="myCascader" | 
			
		
	
		
			
				
					|  |  |  |                 size="small" | 
			
		
	
		
			
				
					|  |  |  |                 v-model="fmData.orgId" | 
			
		
	
		
			
				
					|  |  |  |                 :options="partyOptions" | 
			
		
	
		
			
				
					|  |  |  |                 :props="partyOptionsProps" | 
			
		
	
		
			
				
					|  |  |  |                 :show-all-levels="false" | 
			
		
	
		
			
				
					|  |  |  |                 @change="handleChangeParty" | 
			
		
	
		
			
				
					|  |  |  |               ></el-cascader> | 
			
		
	
		
			
				
					|  |  |  |               <el-cascader class="customer_cascader" | 
			
		
	
		
			
				
					|  |  |  |                            ref="myCascader" | 
			
		
	
		
			
				
					|  |  |  |                            size="small" | 
			
		
	
		
			
				
					|  |  |  |                            v-model="fmData.orgId" | 
			
		
	
		
			
				
					|  |  |  |                            :options="partyOptions" | 
			
		
	
		
			
				
					|  |  |  |                            :props="partyOptionsProps" | 
			
		
	
		
			
				
					|  |  |  |                            :show-all-levels="false" | 
			
		
	
		
			
				
					|  |  |  |                            @change="handleChangeParty"></el-cascader> | 
			
		
	
		
			
				
					|  |  |  |             </div> | 
			
		
	
		
			
				
					|  |  |  |             <div class="item"> | 
			
		
	
		
			
				
					|  |  |  |               <el-radio v-model="fmData.isSelf" label="1" | 
			
		
	
		
			
				
					|  |  |  |                 >本人创建的活动</el-radio | 
			
		
	
		
			
				
					|  |  |  |               > | 
			
		
	
		
			
				
					|  |  |  |               <el-radio v-model="fmData.isSelf" label="0" | 
			
		
	
		
			
				
					|  |  |  |                 >本组织所有活动</el-radio | 
			
		
	
		
			
				
					|  |  |  |               > | 
			
		
	
		
			
				
					|  |  |  |               <el-radio v-model="fmData.isSelf" | 
			
		
	
		
			
				
					|  |  |  |                         label="1">本人创建的活动</el-radio> | 
			
		
	
		
			
				
					|  |  |  |               <el-radio v-model="fmData.isSelf" | 
			
		
	
		
			
				
					|  |  |  |                         label="0">本组织所有活动</el-radio> | 
			
		
	
		
			
				
					|  |  |  |             </div> | 
			
		
	
		
			
				
					|  |  |  |           </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -34,26 +31,22 @@ | 
			
		
	
		
			
				
					|  |  |  |             <div class="date-week">{{ currentDate.dayFormat }}</div> | 
			
		
	
		
			
				
					|  |  |  |           </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |           <div | 
			
		
	
		
			
				
					|  |  |  |             class="m-list" | 
			
		
	
		
			
				
					|  |  |  |             v-if=" | 
			
		
	
		
			
				
					|  |  |  |           <div class="m-list" | 
			
		
	
		
			
				
					|  |  |  |                v-if=" | 
			
		
	
		
			
				
					|  |  |  |               currentDateData.activityList.length > 0 || | 
			
		
	
		
			
				
					|  |  |  |               currentDateData.scheduleList.length > 0 | 
			
		
	
		
			
				
					|  |  |  |             " | 
			
		
	
		
			
				
					|  |  |  |           > | 
			
		
	
		
			
				
					|  |  |  |             "> | 
			
		
	
		
			
				
					|  |  |  |             <div class="list-title">今日活动/日程</div> | 
			
		
	
		
			
				
					|  |  |  |             <div class="list"> | 
			
		
	
		
			
				
					|  |  |  |               <div | 
			
		
	
		
			
				
					|  |  |  |                 class="item" | 
			
		
	
		
			
				
					|  |  |  |                 :key="item.activityId" | 
			
		
	
		
			
				
					|  |  |  |                 v-for="item in currentDateData.activityList" | 
			
		
	
		
			
				
					|  |  |  |               > | 
			
		
	
		
			
				
					|  |  |  |               <div class="item" | 
			
		
	
		
			
				
					|  |  |  |                    :key="item.activityId" | 
			
		
	
		
			
				
					|  |  |  |                    v-for="item in currentDateData.activityList"> | 
			
		
	
		
			
				
					|  |  |  |                 <div class="item-title"> | 
			
		
	
		
			
				
					|  |  |  |                   {{ item.theme }} | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |                 <div class="item-prop"> | 
			
		
	
		
			
				
					|  |  |  |                   <span>活动类型:</span> | 
			
		
	
		
			
				
					|  |  |  |                   <span>{{ item.type }}</span> | 
			
		
	
		
			
				
					|  |  |  |                   <span>{{ item.actTypeName }}</span> | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |                 <div class="item-prop"> | 
			
		
	
		
			
				
					|  |  |  |                   <span>开始时间:</span> | 
			
		
	
	
		
			
				
					|  |  | @ -67,32 +60,22 @@ | 
			
		
	
		
			
				
					|  |  |  |                   <span>参加组织:</span> | 
			
		
	
		
			
				
					|  |  |  |                   <span>{{ item.joinOrgs.join("、") }}</span> | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |                 <div class="item-ope"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-button | 
			
		
	
		
			
				
					|  |  |  |                     type="primary" | 
			
		
	
		
			
				
					|  |  |  |                     size="mini" | 
			
		
	
		
			
				
					|  |  |  |                     @click="handleClickHuodong('publish', item)" | 
			
		
	
		
			
				
					|  |  |  |                     >发布</el-button | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                   <el-button | 
			
		
	
		
			
				
					|  |  |  |                     type="success" | 
			
		
	
		
			
				
					|  |  |  |                     size="mini" | 
			
		
	
		
			
				
					|  |  |  |                     @click="handleClickHuodong('edit', item)" | 
			
		
	
		
			
				
					|  |  |  |                     >编辑</el-button | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                   <el-button | 
			
		
	
		
			
				
					|  |  |  |                     size="mini" | 
			
		
	
		
			
				
					|  |  |  |                     @click="handleClickHuodong('del', item)" | 
			
		
	
		
			
				
					|  |  |  |                     >删除</el-button | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                 <div v-if="item.isMe" | 
			
		
	
		
			
				
					|  |  |  |                      class="item-ope"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-button type="primary" | 
			
		
	
		
			
				
					|  |  |  |                              size="mini" | 
			
		
	
		
			
				
					|  |  |  |                              @click="handleClickHuodong('publish', item)">发布</el-button> | 
			
		
	
		
			
				
					|  |  |  |                   <el-button type="success" | 
			
		
	
		
			
				
					|  |  |  |                              size="mini" | 
			
		
	
		
			
				
					|  |  |  |                              @click="handleClickHuodong('edit', item)">编辑</el-button> | 
			
		
	
		
			
				
					|  |  |  |                   <el-button size="mini" | 
			
		
	
		
			
				
					|  |  |  |                              @click="handleClickHuodong('del', item)">删除</el-button> | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |               </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |               <div | 
			
		
	
		
			
				
					|  |  |  |                 class="item" | 
			
		
	
		
			
				
					|  |  |  |                 :key="item.scheduleId" | 
			
		
	
		
			
				
					|  |  |  |                 v-for="item in currentDateData.scheduleList" | 
			
		
	
		
			
				
					|  |  |  |               > | 
			
		
	
		
			
				
					|  |  |  |               <div class="item" | 
			
		
	
		
			
				
					|  |  |  |                    :key="item.scheduleId" | 
			
		
	
		
			
				
					|  |  |  |                    v-for="item in currentDateData.scheduleList"> | 
			
		
	
		
			
				
					|  |  |  |                 <div class="item-title"> | 
			
		
	
		
			
				
					|  |  |  |                   {{ item.title }} | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
	
		
			
				
					|  |  | @ -105,29 +88,22 @@ | 
			
		
	
		
			
				
					|  |  |  |                   <span>{{ item.remark }}</span> | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |                 <div class="item-ope"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-button | 
			
		
	
		
			
				
					|  |  |  |                     type="success" | 
			
		
	
		
			
				
					|  |  |  |                     size="mini" | 
			
		
	
		
			
				
					|  |  |  |                     @click="handleClickRicheng('edit', item)" | 
			
		
	
		
			
				
					|  |  |  |                     >编辑</el-button | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                   <el-button | 
			
		
	
		
			
				
					|  |  |  |                     size="mini" | 
			
		
	
		
			
				
					|  |  |  |                     @click="handleClickRicheng('del', item)" | 
			
		
	
		
			
				
					|  |  |  |                     >删除</el-button | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                   <el-button type="success" | 
			
		
	
		
			
				
					|  |  |  |                              size="mini" | 
			
		
	
		
			
				
					|  |  |  |                              @click="handleClickRicheng('edit', item)">编辑</el-button> | 
			
		
	
		
			
				
					|  |  |  |                   <el-button size="mini" | 
			
		
	
		
			
				
					|  |  |  |                              @click="handleClickRicheng('del', item)">删除</el-button> | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |               </div> | 
			
		
	
		
			
				
					|  |  |  |             </div> | 
			
		
	
		
			
				
					|  |  |  |           </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |           <div class="m-ope"> | 
			
		
	
		
			
				
					|  |  |  |             <el-button type="warning" style="width: 48%" @click="addHudong" | 
			
		
	
		
			
				
					|  |  |  |               >添加活动计划</el-button | 
			
		
	
		
			
				
					|  |  |  |             > | 
			
		
	
		
			
				
					|  |  |  |             <el-button style="width: 48%" @click="addRicheng" | 
			
		
	
		
			
				
					|  |  |  |               >添加日程</el-button | 
			
		
	
		
			
				
					|  |  |  |             > | 
			
		
	
		
			
				
					|  |  |  |             <el-button type="warning" | 
			
		
	
		
			
				
					|  |  |  |                        style="width: 48%" | 
			
		
	
		
			
				
					|  |  |  |                        @click="addHudong">添加活动计划</el-button> | 
			
		
	
		
			
				
					|  |  |  |             <el-button style="width: 48%" | 
			
		
	
		
			
				
					|  |  |  |                        @click="addRicheng">添加日程</el-button> | 
			
		
	
		
			
				
					|  |  |  |           </div> | 
			
		
	
		
			
				
					|  |  |  |         </el-col> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -135,67 +111,51 @@ | 
			
		
	
		
			
				
					|  |  |  |           <div class="m-cal"> | 
			
		
	
		
			
				
					|  |  |  |             <div class="hd"> | 
			
		
	
		
			
				
					|  |  |  |               <div class="hd-year"> | 
			
		
	
		
			
				
					|  |  |  |                 <el-date-picker | 
			
		
	
		
			
				
					|  |  |  |                   v-model="currentYearStr" | 
			
		
	
		
			
				
					|  |  |  |                   value-format="yyyy" | 
			
		
	
		
			
				
					|  |  |  |                   type="year" | 
			
		
	
		
			
				
					|  |  |  |                   placeholder="选择年" | 
			
		
	
		
			
				
					|  |  |  |                   size="small" | 
			
		
	
		
			
				
					|  |  |  |                   style="width: 150px" | 
			
		
	
		
			
				
					|  |  |  |                 > | 
			
		
	
		
			
				
					|  |  |  |                 <el-date-picker v-model="currentYearStr" | 
			
		
	
		
			
				
					|  |  |  |                                 value-format="yyyy" | 
			
		
	
		
			
				
					|  |  |  |                                 type="year" | 
			
		
	
		
			
				
					|  |  |  |                                 placeholder="选择年" | 
			
		
	
		
			
				
					|  |  |  |                                 size="small" | 
			
		
	
		
			
				
					|  |  |  |                                 style="width: 150px"> | 
			
		
	
		
			
				
					|  |  |  |                 </el-date-picker> | 
			
		
	
		
			
				
					|  |  |  |               </div> | 
			
		
	
		
			
				
					|  |  |  |               <div class="hd-month"> | 
			
		
	
		
			
				
					|  |  |  |                 <div | 
			
		
	
		
			
				
					|  |  |  |                   class="month-item" | 
			
		
	
		
			
				
					|  |  |  |                   :class="{ 'z-on': m - 1 == currentMonth }" | 
			
		
	
		
			
				
					|  |  |  |                   :key="'month' + m" | 
			
		
	
		
			
				
					|  |  |  |                   @click="currentMonth = m - 1" | 
			
		
	
		
			
				
					|  |  |  |                   v-for="m in 12" | 
			
		
	
		
			
				
					|  |  |  |                 > | 
			
		
	
		
			
				
					|  |  |  |                   <el-badge | 
			
		
	
		
			
				
					|  |  |  |                     :value="monthData[m-1]" | 
			
		
	
		
			
				
					|  |  |  |                     :hidden="monthData[m-1] == 0" | 
			
		
	
		
			
				
					|  |  |  |                     class="item" | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                 <div class="month-item" | 
			
		
	
		
			
				
					|  |  |  |                      :class="{ 'z-on': m - 1 == currentMonth }" | 
			
		
	
		
			
				
					|  |  |  |                      :key="'month' + m" | 
			
		
	
		
			
				
					|  |  |  |                      @click="currentMonth = m - 1" | 
			
		
	
		
			
				
					|  |  |  |                      v-for="m in 12"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-badge :value="monthData[m-1]" | 
			
		
	
		
			
				
					|  |  |  |                             :hidden="monthData[m-1] == 0" | 
			
		
	
		
			
				
					|  |  |  |                             class="item"> | 
			
		
	
		
			
				
					|  |  |  |                     <div class="month-text">{{ m }}月</div> | 
			
		
	
		
			
				
					|  |  |  |                   </el-badge> | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |               </div> | 
			
		
	
		
			
				
					|  |  |  |               <div class="hd-btn"> | 
			
		
	
		
			
				
					|  |  |  |                 <el-button | 
			
		
	
		
			
				
					|  |  |  |                   type="primary" | 
			
		
	
		
			
				
					|  |  |  |                   size="small" | 
			
		
	
		
			
				
					|  |  |  |                   @click="handleAddYearPlan" | 
			
		
	
		
			
				
					|  |  |  |                   >批量生成年度报表</el-button | 
			
		
	
		
			
				
					|  |  |  |                 > | 
			
		
	
		
			
				
					|  |  |  |                 <el-button type="primary" | 
			
		
	
		
			
				
					|  |  |  |                            size="small" | 
			
		
	
		
			
				
					|  |  |  |                            @click="handleAddYearPlan">批量生成年度报表</el-button> | 
			
		
	
		
			
				
					|  |  |  |               </div> | 
			
		
	
		
			
				
					|  |  |  |             </div> | 
			
		
	
		
			
				
					|  |  |  |             <calendar | 
			
		
	
		
			
				
					|  |  |  |               :currentYear="currentYear" | 
			
		
	
		
			
				
					|  |  |  |               :currentMonth="currentMonth" | 
			
		
	
		
			
				
					|  |  |  |               @rangeChange="handleRangeChange" | 
			
		
	
		
			
				
					|  |  |  |               @clickDate="handleChangeDate" | 
			
		
	
		
			
				
					|  |  |  |             > | 
			
		
	
		
			
				
					|  |  |  |             <calendar :currentYear="currentYear" | 
			
		
	
		
			
				
					|  |  |  |                       :currentMonth="currentMonth" | 
			
		
	
		
			
				
					|  |  |  |                       @rangeChange="handleRangeChange" | 
			
		
	
		
			
				
					|  |  |  |                       @clickDate="handleChangeDate"> | 
			
		
	
		
			
				
					|  |  |  |               <template v-slot:date-item="{ item, index }"> | 
			
		
	
		
			
				
					|  |  |  |                 <div | 
			
		
	
		
			
				
					|  |  |  |                   class="tip" | 
			
		
	
		
			
				
					|  |  |  |                   v-if=" | 
			
		
	
		
			
				
					|  |  |  |                 <div class="tip" | 
			
		
	
		
			
				
					|  |  |  |                      v-if=" | 
			
		
	
		
			
				
					|  |  |  |                     rangeData[item.dateId] && | 
			
		
	
		
			
				
					|  |  |  |                     rangeData[item.dateId].activityList.length > 0 | 
			
		
	
		
			
				
					|  |  |  |                   " | 
			
		
	
		
			
				
					|  |  |  |                 > | 
			
		
	
		
			
				
					|  |  |  |                   <div | 
			
		
	
		
			
				
					|  |  |  |                     class="tip-num" | 
			
		
	
		
			
				
					|  |  |  |                     v-if="rangeData[item.dateId].activityList.length > 1" | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                   "> | 
			
		
	
		
			
				
					|  |  |  |                   <div class="tip-num" | 
			
		
	
		
			
				
					|  |  |  |                        v-if="rangeData[item.dateId].activityList.length > 1"> | 
			
		
	
		
			
				
					|  |  |  |                     {{ rangeData[item.dateId].activityList.length }} | 
			
		
	
		
			
				
					|  |  |  |                   </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                   <div class="tip-text"> | 
			
		
	
		
			
				
					|  |  |  |                     <span class="z-on"> | 
			
		
	
		
			
				
					|  |  |  |                       {{ rangeData[item.dateId].activityList[0].type }}</span | 
			
		
	
		
			
				
					|  |  |  |                     > | 
			
		
	
		
			
				
					|  |  |  |                       {{ rangeData[item.dateId].activityList[0].actTypeName }}</span> | 
			
		
	
		
			
				
					|  |  |  |                     {{ | 
			
		
	
		
			
				
					|  |  |  |                       rangeData[item.dateId].activityList[0].isPublicValue | 
			
		
	
		
			
				
					|  |  |  |                         ? "(已发布)" | 
			
		
	
	
		
			
				
					|  |  | @ -206,18 +166,17 @@ | 
			
		
	
		
			
				
					|  |  |  |                     {{ rangeData[item.dateId].activityList[0].topic }} | 
			
		
	
		
			
				
					|  |  |  |                   </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                   <div class="all-list" :class="computeAllListClass(index)"> | 
			
		
	
		
			
				
					|  |  |  |                     <div | 
			
		
	
		
			
				
					|  |  |  |                       class="item" | 
			
		
	
		
			
				
					|  |  |  |                       :key="item.activityId" | 
			
		
	
		
			
				
					|  |  |  |                       v-for="item in rangeData[item.dateId].activityList" | 
			
		
	
		
			
				
					|  |  |  |                     > | 
			
		
	
		
			
				
					|  |  |  |                   <div class="all-list" | 
			
		
	
		
			
				
					|  |  |  |                        :class="computeAllListClass(index)"> | 
			
		
	
		
			
				
					|  |  |  |                     <div class="item" | 
			
		
	
		
			
				
					|  |  |  |                          :key="item.activityId" | 
			
		
	
		
			
				
					|  |  |  |                          v-for="item in rangeData[item.dateId].activityList"> | 
			
		
	
		
			
				
					|  |  |  |                       <div class="item-title"> | 
			
		
	
		
			
				
					|  |  |  |                         {{ item.theme }} | 
			
		
	
		
			
				
					|  |  |  |                       </div> | 
			
		
	
		
			
				
					|  |  |  |                       <div class="item-prop"> | 
			
		
	
		
			
				
					|  |  |  |                         <span>活动类型:</span> | 
			
		
	
		
			
				
					|  |  |  |                         <span>{{ item.type }}</span> | 
			
		
	
		
			
				
					|  |  |  |                         <span>{{ item.actTypeName }}</span> | 
			
		
	
		
			
				
					|  |  |  |                       </div> | 
			
		
	
		
			
				
					|  |  |  |                       <div class="item-prop"> | 
			
		
	
		
			
				
					|  |  |  |                         <span>开始时间:</span> | 
			
		
	
	
		
			
				
					|  |  | @ -234,24 +193,21 @@ | 
			
		
	
		
			
				
					|  |  |  |                     </div> | 
			
		
	
		
			
				
					|  |  |  |                   </div> | 
			
		
	
		
			
				
					|  |  |  |                 </div> | 
			
		
	
		
			
				
					|  |  |  |                 <div | 
			
		
	
		
			
				
					|  |  |  |                   class="corn" | 
			
		
	
		
			
				
					|  |  |  |                   v-if=" | 
			
		
	
		
			
				
					|  |  |  |                 <div class="corn" | 
			
		
	
		
			
				
					|  |  |  |                      v-if=" | 
			
		
	
		
			
				
					|  |  |  |                     rangeData[item.dateId] && | 
			
		
	
		
			
				
					|  |  |  |                     rangeData[item.dateId].scheduleList.length > 0 | 
			
		
	
		
			
				
					|  |  |  |                   " | 
			
		
	
		
			
				
					|  |  |  |                 > | 
			
		
	
		
			
				
					|  |  |  |                   "> | 
			
		
	
		
			
				
					|  |  |  |                   <div class="corn-num"> | 
			
		
	
		
			
				
					|  |  |  |                     {{ rangeData[item.dateId].scheduleList.length }} | 
			
		
	
		
			
				
					|  |  |  |                   </div> | 
			
		
	
		
			
				
					|  |  |  |                   <div class="corn-text">日程</div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                   <div class="all-list" :class="computeAllListClass(index)"> | 
			
		
	
		
			
				
					|  |  |  |                     <div | 
			
		
	
		
			
				
					|  |  |  |                       class="item" | 
			
		
	
		
			
				
					|  |  |  |                       :key="item.scheduleId" | 
			
		
	
		
			
				
					|  |  |  |                       v-for="item in rangeData[item.dateId].scheduleList" | 
			
		
	
		
			
				
					|  |  |  |                     > | 
			
		
	
		
			
				
					|  |  |  |                   <div class="all-list" | 
			
		
	
		
			
				
					|  |  |  |                        :class="computeAllListClass(index)"> | 
			
		
	
		
			
				
					|  |  |  |                     <div class="item" | 
			
		
	
		
			
				
					|  |  |  |                          :key="item.scheduleId" | 
			
		
	
		
			
				
					|  |  |  |                          v-for="item in rangeData[item.dateId].scheduleList"> | 
			
		
	
		
			
				
					|  |  |  |                       <div class="item-title"> | 
			
		
	
		
			
				
					|  |  |  |                         {{ item.title }} | 
			
		
	
		
			
				
					|  |  |  |                       </div> | 
			
		
	
	
		
			
				
					|  |  | @ -274,50 +230,40 @@ | 
			
		
	
		
			
				
					|  |  |  |     </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <div v-if="showType === 'yearplan'"> | 
			
		
	
		
			
				
					|  |  |  |       <yearplan-list | 
			
		
	
		
			
				
					|  |  |  |         @handleOk="handleAddPlanOk" | 
			
		
	
		
			
				
					|  |  |  |         @handleClose="handleAddPlanClose" | 
			
		
	
		
			
				
					|  |  |  |       ></yearplan-list> | 
			
		
	
		
			
				
					|  |  |  |       <yearplan-list @handleOk="handleAddPlanOk" | 
			
		
	
		
			
				
					|  |  |  |                      @handleClose="handleAddPlanClose"></yearplan-list> | 
			
		
	
		
			
				
					|  |  |  |     </div> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <el-dialog | 
			
		
	
		
			
				
					|  |  |  |       v-if="showAdd" | 
			
		
	
		
			
				
					|  |  |  |       :visible.sync="showAdd" | 
			
		
	
		
			
				
					|  |  |  |       :close-on-click-modal="false" | 
			
		
	
		
			
				
					|  |  |  |       :close-on-press-escape="false" | 
			
		
	
		
			
				
					|  |  |  |       :title="addDiaTitle" | 
			
		
	
		
			
				
					|  |  |  |       width="850px" | 
			
		
	
		
			
				
					|  |  |  |       top="5vh" | 
			
		
	
		
			
				
					|  |  |  |       class="dialog-h" | 
			
		
	
		
			
				
					|  |  |  |       @closed="showAdd = false" | 
			
		
	
		
			
				
					|  |  |  |     > | 
			
		
	
		
			
				
					|  |  |  |       <add-activity | 
			
		
	
		
			
				
					|  |  |  |         ref="ref_add_form" | 
			
		
	
		
			
				
					|  |  |  |         :formType="formType" | 
			
		
	
		
			
				
					|  |  |  |         :icPartyActId="icPartyActId" | 
			
		
	
		
			
				
					|  |  |  |         @handleOk="handleOk" | 
			
		
	
		
			
				
					|  |  |  |         @handleClose="handleClose" | 
			
		
	
		
			
				
					|  |  |  |       ></add-activity> | 
			
		
	
		
			
				
					|  |  |  |     <el-dialog v-if="showAdd" | 
			
		
	
		
			
				
					|  |  |  |                :visible.sync="showAdd" | 
			
		
	
		
			
				
					|  |  |  |                :close-on-click-modal="false" | 
			
		
	
		
			
				
					|  |  |  |                :close-on-press-escape="false" | 
			
		
	
		
			
				
					|  |  |  |                :title="addDiaTitle" | 
			
		
	
		
			
				
					|  |  |  |                width="850px" | 
			
		
	
		
			
				
					|  |  |  |                top="5vh" | 
			
		
	
		
			
				
					|  |  |  |                class="dialog-h" | 
			
		
	
		
			
				
					|  |  |  |                @closed="showAdd = false"> | 
			
		
	
		
			
				
					|  |  |  |       <add-activity ref="ref_add_form" | 
			
		
	
		
			
				
					|  |  |  |                     :formType="formType" | 
			
		
	
		
			
				
					|  |  |  |                     :icPartyActId="icPartyActId" | 
			
		
	
		
			
				
					|  |  |  |                     @handleOk="handleOk" | 
			
		
	
		
			
				
					|  |  |  |                     @handleClose="handleClose"></add-activity> | 
			
		
	
		
			
				
					|  |  |  |     </el-dialog> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     <el-dialog | 
			
		
	
		
			
				
					|  |  |  |       v-if="showSchedule" | 
			
		
	
		
			
				
					|  |  |  |       :visible.sync="showSchedule" | 
			
		
	
		
			
				
					|  |  |  |       :close-on-click-modal="false" | 
			
		
	
		
			
				
					|  |  |  |       :close-on-press-escape="false" | 
			
		
	
		
			
				
					|  |  |  |       :title="scheduleDiaTitle" | 
			
		
	
		
			
				
					|  |  |  |       width="850px" | 
			
		
	
		
			
				
					|  |  |  |       top="5vh" | 
			
		
	
		
			
				
					|  |  |  |       class="dialog-h" | 
			
		
	
		
			
				
					|  |  |  |       @closed="showSchedule = false" | 
			
		
	
		
			
				
					|  |  |  |     > | 
			
		
	
		
			
				
					|  |  |  |       <schedule-form | 
			
		
	
		
			
				
					|  |  |  |         ref="ref_schedule_form" | 
			
		
	
		
			
				
					|  |  |  |         :formType="formType" | 
			
		
	
		
			
				
					|  |  |  |         :scheduleId="scheduleId" | 
			
		
	
		
			
				
					|  |  |  |         @handleOk="handleOk" | 
			
		
	
		
			
				
					|  |  |  |         @handleClose="handleClose" | 
			
		
	
		
			
				
					|  |  |  |       > | 
			
		
	
		
			
				
					|  |  |  |     <el-dialog v-if="showSchedule" | 
			
		
	
		
			
				
					|  |  |  |                :visible.sync="showSchedule" | 
			
		
	
		
			
				
					|  |  |  |                :close-on-click-modal="false" | 
			
		
	
		
			
				
					|  |  |  |                :close-on-press-escape="false" | 
			
		
	
		
			
				
					|  |  |  |                :title="scheduleDiaTitle" | 
			
		
	
		
			
				
					|  |  |  |                width="850px" | 
			
		
	
		
			
				
					|  |  |  |                top="5vh" | 
			
		
	
		
			
				
					|  |  |  |                class="dialog-h" | 
			
		
	
		
			
				
					|  |  |  |                @closed="showSchedule = false"> | 
			
		
	
		
			
				
					|  |  |  |       <schedule-form ref="ref_schedule_form" | 
			
		
	
		
			
				
					|  |  |  |                      :formType="formType" | 
			
		
	
		
			
				
					|  |  |  |                      :scheduleId="scheduleId" | 
			
		
	
		
			
				
					|  |  |  |                      @handleOk="handleOk" | 
			
		
	
		
			
				
					|  |  |  |                      @handleClose="handleClose"> | 
			
		
	
		
			
				
					|  |  |  |       </schedule-form> | 
			
		
	
		
			
				
					|  |  |  |     </el-dialog> | 
			
		
	
		
			
				
					|  |  |  |   </div> | 
			
		
	
	
		
			
				
					|  |  | @ -331,7 +277,7 @@ import yearplanList from "../orgActivity/activivityList/yearplanList"; | 
			
		
	
		
			
				
					|  |  |  | import addActivity from "../orgActivity/activivityList/addActivity"; | 
			
		
	
		
			
				
					|  |  |  | import scheduleForm from "../orgActivity/activivityList/scheduleForm"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | function doAfter(fn) { | 
			
		
	
		
			
				
					|  |  |  | function doAfter (fn) { | 
			
		
	
		
			
				
					|  |  |  |   return new Promise(async (resolve) => { | 
			
		
	
		
			
				
					|  |  |  |     while (!fn()) { | 
			
		
	
		
			
				
					|  |  |  |       await nextTick(100); | 
			
		
	
	
		
			
				
					|  |  | @ -348,7 +294,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |     addActivity, | 
			
		
	
		
			
				
					|  |  |  |     scheduleForm, | 
			
		
	
		
			
				
					|  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |   data() { | 
			
		
	
		
			
				
					|  |  |  |   data () { | 
			
		
	
		
			
				
					|  |  |  |     let todayObj = new Date(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     return { | 
			
		
	
	
		
			
				
					|  |  | @ -399,10 +345,10 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |     }; | 
			
		
	
		
			
				
					|  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |   computed: { | 
			
		
	
		
			
				
					|  |  |  |     currentYear() { | 
			
		
	
		
			
				
					|  |  |  |     currentYear () { | 
			
		
	
		
			
				
					|  |  |  |       return parseInt(this.currentYearStr); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |     apiParams() { | 
			
		
	
		
			
				
					|  |  |  |     apiParams () { | 
			
		
	
		
			
				
					|  |  |  |       const { currentYear, fmData } = this; | 
			
		
	
		
			
				
					|  |  |  |       return { | 
			
		
	
		
			
				
					|  |  |  |         yearId: currentYear, | 
			
		
	
	
		
			
				
					|  |  | @ -427,13 +373,13 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       this.getMonthData(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |   async mounted() { | 
			
		
	
		
			
				
					|  |  |  |   async mounted () { | 
			
		
	
		
			
				
					|  |  |  |     await this.getPartyOptions(); | 
			
		
	
		
			
				
					|  |  |  |     this.getMonthData(); | 
			
		
	
		
			
				
					|  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |   methods: { | 
			
		
	
		
			
				
					|  |  |  |     // 添加活动 | 
			
		
	
		
			
				
					|  |  |  |     addHudong() { | 
			
		
	
		
			
				
					|  |  |  |     addHudong () { | 
			
		
	
		
			
				
					|  |  |  |       this.icPartyActId = ""; | 
			
		
	
		
			
				
					|  |  |  |       this.addDiaTitle = "新增活动计划"; | 
			
		
	
		
			
				
					|  |  |  |       this.formType = "add"; | 
			
		
	
	
		
			
				
					|  |  | @ -441,13 +387,14 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     // 添加日程 | 
			
		
	
		
			
				
					|  |  |  |     addRicheng() { | 
			
		
	
		
			
				
					|  |  |  |     addRicheng () { | 
			
		
	
		
			
				
					|  |  |  |       this.formType = "schedule"; | 
			
		
	
		
			
				
					|  |  |  |       this.scheduleId = '' | 
			
		
	
		
			
				
					|  |  |  |       this.showSchedule = true; | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     // 点击活动操作 | 
			
		
	
		
			
				
					|  |  |  |     handleClickHuodong(type, item) { | 
			
		
	
		
			
				
					|  |  |  |     handleClickHuodong (type, item) { | 
			
		
	
		
			
				
					|  |  |  |       console.log(type, item); | 
			
		
	
		
			
				
					|  |  |  |       this.icPartyActId = item.activityId; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -491,7 +438,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     async publishActivity() { | 
			
		
	
		
			
				
					|  |  |  |     async publishActivity () { | 
			
		
	
		
			
				
					|  |  |  |       const url = `/resi/partymember/icPartyAct/publish/${this.icPartyActId}`; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       const { data, code, msg } = await requestPost(url, {}); | 
			
		
	
	
		
			
				
					|  |  | @ -504,7 +451,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     async cancelActivity() { | 
			
		
	
		
			
				
					|  |  |  |     async cancelActivity () { | 
			
		
	
		
			
				
					|  |  |  |       const url = "/resi/partymember/icPartyAct/del"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       let params = []; | 
			
		
	
	
		
			
				
					|  |  | @ -521,7 +468,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     // 点击日程操作 | 
			
		
	
		
			
				
					|  |  |  |     handleClickRicheng(type, item) { | 
			
		
	
		
			
				
					|  |  |  |     handleClickRicheng (type, item) { | 
			
		
	
		
			
				
					|  |  |  |       console.log(type, item); | 
			
		
	
		
			
				
					|  |  |  |       this.scheduleId = item.scheduleId; | 
			
		
	
		
			
				
					|  |  |  |       if (type == "edit") { | 
			
		
	
	
		
			
				
					|  |  | @ -546,7 +493,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     async cancelSchedule() { | 
			
		
	
		
			
				
					|  |  |  |     async cancelSchedule () { | 
			
		
	
		
			
				
					|  |  |  |       const url = "/resi/partymember/icSchedule/del"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       let params = []; | 
			
		
	
	
		
			
				
					|  |  | @ -563,15 +510,15 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     //刷新日历 | 
			
		
	
		
			
				
					|  |  |  |     refreshData() { | 
			
		
	
		
			
				
					|  |  |  |     refreshData () { | 
			
		
	
		
			
				
					|  |  |  |       this.getMonthData(); | 
			
		
	
		
			
				
					|  |  |  |       this.getRangeData(); | 
			
		
	
		
			
				
					|  |  |  |       this.getCurrentDateData(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     handleChangeParty() {}, | 
			
		
	
		
			
				
					|  |  |  |     handleChangeParty () { }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     handleChangeDate(item) { | 
			
		
	
		
			
				
					|  |  |  |     handleChangeDate (item) { | 
			
		
	
		
			
				
					|  |  |  |       console.log("handleChangeDate"); | 
			
		
	
		
			
				
					|  |  |  |       this.currentYearStr = item.year + ""; | 
			
		
	
		
			
				
					|  |  |  |       this.currentMonth = item.month; | 
			
		
	
	
		
			
				
					|  |  | @ -580,7 +527,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       this.getCurrentDateData(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     computeAllListClass(index) { | 
			
		
	
		
			
				
					|  |  |  |     computeAllListClass (index) { | 
			
		
	
		
			
				
					|  |  |  |       let x = index % 7; | 
			
		
	
		
			
				
					|  |  |  |       let y = Math.floor(index / 7); | 
			
		
	
		
			
				
					|  |  |  |       if (x < 3) { | 
			
		
	
	
		
			
				
					|  |  | @ -598,12 +545,12 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     handleRangeChange(arr) { | 
			
		
	
		
			
				
					|  |  |  |     handleRangeChange (arr) { | 
			
		
	
		
			
				
					|  |  |  |       this.rangeDateList = arr; | 
			
		
	
		
			
				
					|  |  |  |       this.getRangeData(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     async getRangeData() { | 
			
		
	
		
			
				
					|  |  |  |     async getRangeData () { | 
			
		
	
		
			
				
					|  |  |  |       const arr = this.rangeDateList; | 
			
		
	
		
			
				
					|  |  |  |       const url = "/resi/partymember/icPartyAct/homeSearch"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -641,7 +588,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     async getMonthData() { | 
			
		
	
		
			
				
					|  |  |  |     async getMonthData () { | 
			
		
	
		
			
				
					|  |  |  |       const url = "/resi/partymember/icPartyAct/homeMonthTotal"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       if (!this.apiParams.orgId) return; | 
			
		
	
	
		
			
				
					|  |  | @ -661,7 +608,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     async getCurrentDateData() { | 
			
		
	
		
			
				
					|  |  |  |     async getCurrentDateData () { | 
			
		
	
		
			
				
					|  |  |  |       const url = "/resi/partymember/icPartyAct/actAndScheduleList"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       if (!this.apiParams.orgId) return; | 
			
		
	
	
		
			
				
					|  |  | @ -678,7 +625,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     async getPartyOptions() { | 
			
		
	
		
			
				
					|  |  |  |     async getPartyOptions () { | 
			
		
	
		
			
				
					|  |  |  |       const url = "/resi/partymember/icPartyOrg/getSearchTreelist"; | 
			
		
	
		
			
				
					|  |  |  |       let params = { | 
			
		
	
		
			
				
					|  |  |  |         customerId: localStorage.getItem("customerId"), | 
			
		
	
	
		
			
				
					|  |  | @ -695,25 +642,25 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     handleAddYearPlan() { | 
			
		
	
		
			
				
					|  |  |  |     handleAddYearPlan () { | 
			
		
	
		
			
				
					|  |  |  |       this.showType = "yearplan"; | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     handleAddPlanOk() { | 
			
		
	
		
			
				
					|  |  |  |     handleAddPlanOk () { | 
			
		
	
		
			
				
					|  |  |  |       this.showType = "list"; | 
			
		
	
		
			
				
					|  |  |  |       this.refreshData(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |     handleAddPlanClose() { | 
			
		
	
		
			
				
					|  |  |  |     handleAddPlanClose () { | 
			
		
	
		
			
				
					|  |  |  |       this.showType = "list"; | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     handleClose() { | 
			
		
	
		
			
				
					|  |  |  |     handleClose () { | 
			
		
	
		
			
				
					|  |  |  |       this.formType = ""; | 
			
		
	
		
			
				
					|  |  |  |       this.showAdd = false; | 
			
		
	
		
			
				
					|  |  |  |       this.showSchedule = false; | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     handleOk() { | 
			
		
	
		
			
				
					|  |  |  |     handleOk () { | 
			
		
	
		
			
				
					|  |  |  |       this.handleClose(); | 
			
		
	
		
			
				
					|  |  |  |       this.refreshData(); | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
	
		
			
				
					|  |  | 
 |