129 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
		
		
			
		
	
	
			129 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
|  | <template> | ||
|  |     <view class="wrap"> | ||
|  |         <view class="top-head"> | ||
|  | 			<view class="top-tabbar"> | ||
|  | 				<view class="tab-item" :class="{ active: goalType == 1 }" @click="changeType(1)">{{ $t('S_C_59') }}</view> | ||
|  | 				<view class="tab-item" :class="{ active: goalType == 2 }" @click="changeType(2)">{{ $t('S_C_60') }}</view> | ||
|  | 				<view class="tab-item" :class="{ active: goalType == 3 }" @click="changeType(3)">{{ $t('S_C_61') }}</view> | ||
|  | 			</view> | ||
|  | 		</view> | ||
|  |         <view class="cardWrap"> | ||
|  |             <!-- 月度目标 --> | ||
|  |             <template v-if="goalType == 1"> | ||
|  |                 <template v-if="showForm"> | ||
|  |                     <monthlyIndex :goalType="goalType" @get-data="getData" /> | ||
|  |                 </template> | ||
|  |                 <template v-else> | ||
|  |                     <detailsIndex :data="showFormData" /> | ||
|  |                 </template> | ||
|  |             </template> | ||
|  |             <!-- 季度目标 --> | ||
|  |             <template v-if="goalType == 2"> | ||
|  |                 <template v-if="showForm"> | ||
|  |                     <quarterIndex :goalType="goalType" @get-data="getData" /> | ||
|  |                 </template> | ||
|  |                 <template v-else> | ||
|  |                     <quarterDetailsIndex :data="showFormData" /> | ||
|  |                 </template> | ||
|  |             </template> | ||
|  |              <!-- 年度目标 --> | ||
|  |              <template v-if="goalType == 3"> | ||
|  |                 <template v-if="showForm"> | ||
|  |                     <yearIndex :goalType="goalType" @get-data="getData" /> | ||
|  |                 </template> | ||
|  |                 <template v-else> | ||
|  |                     <yearDetailsIndex :data="showFormData" /> | ||
|  |                 </template> | ||
|  |             </template> | ||
|  |         </view> | ||
|  |     </view> | ||
|  | </template> | ||
|  | 
 | ||
|  | <script> | ||
|  |     import monthlyIndex from "./monthly/forms/index.vue"; | ||
|  |     import detailsIndex from "./monthly/details/index.vue"; | ||
|  |     import quarterIndex from "./quarter/forms/index.vue"; | ||
|  |     import quarterDetailsIndex from "./quarter/details/index.vue"; | ||
|  |     import yearIndex from "./year/forms/index.vue"; | ||
|  |     import yearDetailsIndex from "./year/details/index.vue"; | ||
|  | 	export default { | ||
|  | 		components: { | ||
|  |             monthlyIndex, | ||
|  |             detailsIndex, | ||
|  |             quarterIndex, | ||
|  |             quarterDetailsIndex, | ||
|  |             yearIndex, | ||
|  |             yearDetailsIndex, | ||
|  | 		}, | ||
|  | 		data() { | ||
|  | 			return { | ||
|  |                 goalType: 1, | ||
|  |                 showForm: true, | ||
|  |                 showFormData: {}, | ||
|  | 			}; | ||
|  | 		}, | ||
|  |         onShow(){ | ||
|  |             this.getShowGoals(); | ||
|  |         }, | ||
|  | 		methods: { | ||
|  |             getData(){ | ||
|  |                 this.getShowGoals(); | ||
|  |             }, | ||
|  |             getShowGoals(){ | ||
|  |                 let self = this; | ||
|  |                 self.showForm = true; | ||
|  |                 self.loading = true; | ||
|  |                 uni.showLoading({ | ||
|  |                     title: self.$t('MN_F_6') | ||
|  |                 }); | ||
|  |                 self._get('member/api/goals/show-goals', { | ||
|  |                     goalType: self.goalType, | ||
|  |                 }, res => { | ||
|  |                     const { data } = res; | ||
|  |                     if(data){ | ||
|  |                         self.showForm = false; | ||
|  |                         self.showFormData = data; | ||
|  |                     } | ||
|  |                     self.loading = false; | ||
|  |                     uni.hideLoading(); | ||
|  |                 }) | ||
|  |             }, | ||
|  |             changeType(v){ | ||
|  |                 this.goalType = v; | ||
|  |                 this.getShowGoals(); | ||
|  |             }, | ||
|  |         } | ||
|  | 	}; | ||
|  | </script> | ||
|  | 
 | ||
|  | <style lang="scss" scoped> | ||
|  | .cardWrap{ | ||
|  |     padding: 20rpx; | ||
|  |     box-sizing: border-box; | ||
|  |      | ||
|  |     /* .cardBox{ | ||
|  |         padding: 77rpx 56rpx; | ||
|  |         background: #fff; | ||
|  |         border-radius: 20rpx; | ||
|  |         display: grid; | ||
|  |         grid-template-columns: repeat(3,1fr); | ||
|  |         grid-gap: 69rpx; | ||
|  |     } | ||
|  |     .cardItem{ | ||
|  |         text-align: center; | ||
|  |         .img{ | ||
|  |             width: 102rpx; | ||
|  |             height: 102rpx; | ||
|  |             background: #FB3024; | ||
|  |             border-radius: 35rpx; | ||
|  |             display: block; | ||
|  |             margin: 0 auto; | ||
|  |         } | ||
|  |         .txt{ | ||
|  |             font-size: 26rpx; | ||
|  |             color: #666666; | ||
|  |             margin-top: 25rpx; | ||
|  |         } | ||
|  |     } */ | ||
|  | } | ||
|  | </style> |