148 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
		
		
			
		
	
	
			148 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
|  | <template> | |||
|  | 	<view class="pr"> | |||
|  | 		<image class="top-bg" src="/static/bg/bf-othedetail.png" mode=""></image> | |||
|  | 		<view class="top-box"> | |||
|  | 			<view class="mb40">{{$t('N_I_129')}}:{{detail.actStartDate}} -{{detail.actEndDate}}</view> | |||
|  | 			<view v-if="detail.residueDay" class="mb20">{{$t('fn_112')}}<text>{{detail.residueDay}}</text>{{$t('S_L_6')}}</view> | |||
|  | 			<view v-else class="mb20">{{$t('fn_113')}}</view> | |||
|  | 			<view >{{ $t('N_I_87') }}:{{ orderAchieve }}</view> | |||
|  | 		</view> | |||
|  | 		<view class="pt20"> | |||
|  | 			<view class="detail-item" v-for="(item,index) in listData" :key="index"> | |||
|  | 				<view class="d-b-c mb20"> | |||
|  | 					<view  class="flex-1 f28 gray3" v-if="item.placeDept >= 4"> | |||
|  |          			   {{ item.placeDept}}<span v-if="languages==='en-US'">th</span> {{ '' }} {{ $t("fn_011") }} | |||
|  |           		  </view> | |||
|  |           		  <view  class="flex-1 f28 gray3" v-else> | |||
|  |              			 {{ item.placeDept}}{{ $t("fn_011") }} | |||
|  |            			 </view> | |||
|  | 					<!-- <view class="flex-1 f28 gray3">{{$t('fn_010')}}{{item.placeDept}}{{$t('fn_011')}}</view> --> | |||
|  | 					<view class="f24 gray9 f-s-0">{{$t('S_C_7')}}:PV</view> | |||
|  | 				</view> | |||
|  | 				<view class="mb20"> | |||
|  | 					<view class="f24 gray9">{{$t('fn_114')}}</view> | |||
|  | 					<view class="f28 gray3">{{formatNum(item.placeDeptPv)}}</view> | |||
|  | 				</view> | |||
|  | 				<view class="slider"> | |||
|  | 					<view v-if="item.complianceFlag==1" class="slider-width" | |||
|  | 						:style="'width: '+((item.sumPv*100)/(item.placeDeptPv *1))+'%;'"></view> | |||
|  | 					<view v-if="item.complianceFlag==0" class="slider-width full" :style="'width: 100%;'"></view> | |||
|  | 				</view> | |||
|  | 				<view class="d-b-s"> | |||
|  | 					<view class="flex-1"> | |||
|  | 						<view class="redfb">{{$t('ENU_REA_S_1')}}</view> | |||
|  | 						<view class="f28 gray3">{{formatNum(item.notSumPv)}}</view> | |||
|  | 					</view> | |||
|  | 					<view class="flex-1"> | |||
|  | 						<view class="green1E">{{$t('ENU_REA_S_0')}}</view> | |||
|  | 						<view class="f28 gray3">{{formatNum(item.sumPv)}}</view> | |||
|  | 					</view> | |||
|  | 				</view> | |||
|  | 			</view> | |||
|  | 		</view> | |||
|  | 	</view> | |||
|  | </template> | |||
|  | 
 | |||
|  | <script> | |||
|  | 	export default { | |||
|  | 		data() { | |||
|  | 			return { | |||
|  | 				pkId: '', | |||
|  | 				listData: [], | |||
|  | 				detail: { | |||
|  | 
 | |||
|  | 				}, | |||
|  | 				languages:'', | |||
|  | 				title: '', | |||
|  | 				orderAchieve:'', | |||
|  | 				actTypes:'' | |||
|  | 			} | |||
|  | 		}, | |||
|  | 		onLoad(e) { | |||
|  | 			this.pkId = e.pkId; | |||
|  | 			this.title = e.actTypeVal; | |||
|  | 			this.actTypes= e.actType; | |||
|  | 			uni.setNavigationBarTitle({ | |||
|  | 				title: this.title | |||
|  | 			}); | |||
|  | 			this.getData(); | |||
|  | 			this.languages= uni.getLocale(); | |||
|  | 		}, | |||
|  | 		methods: { | |||
|  | 			getData() { | |||
|  | 				let self = this; | |||
|  | 				self._get('activity/api/other/other-detail/' + self.pkId, {}, res => { | |||
|  | 					self.listData = res.data.detailList; | |||
|  | 					self.detail = res.data; | |||
|  | 					self.orderAchieve= res.data.orderAchieve; | |||
|  | 				}) | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | </script> | |||
|  | 
 | |||
|  | <style lang="scss" scoped> | |||
|  | 	.top-bg { | |||
|  | 		position: absolute; | |||
|  | 		height: 230rpx; | |||
|  | 		width: 750rpx; | |||
|  | 		left: 0; | |||
|  | 		right: 0; | |||
|  | 		z-index: 0; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	.top-box { | |||
|  | 		position: relative; | |||
|  | 		z-index: 1; | |||
|  | 		height: 230rpx; | |||
|  | 		display: flex; | |||
|  | 		flex-direction: column; | |||
|  | 		justify-content: center; | |||
|  | 		align-items: flex-start; | |||
|  | 		padding: 0 25rpx; | |||
|  | 		color: #fff; | |||
|  | 		font-size: 28rpx; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	.detail-item { | |||
|  | 		background-color: #fff; | |||
|  | 		width: 706rpx; | |||
|  | 		margin: 0 auto; | |||
|  | 		box-sizing: border-box; | |||
|  | 		padding: 28rpx 20rpx 33rpx 20rpx; | |||
|  | 		background: #FFFFFF; | |||
|  | 		border-radius: 20rpx; | |||
|  | 		margin-bottom: 20rpx; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	.slider { | |||
|  | 		width: 665rpx; | |||
|  | 		height: 18rpx; | |||
|  | 		background: #EEEEEE; | |||
|  | 		border-radius: 9rpx; | |||
|  | 		position: relative; | |||
|  | 		margin-bottom: 16rpx; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	.slider-width { | |||
|  | 		position: absolute; | |||
|  | 		left: 0; | |||
|  | 		top: 0; | |||
|  | 		height: 18rpx; | |||
|  | 		border-radius: 9rpx; | |||
|  | 		background-color: #FB3024; | |||
|  | 		z-index: 1; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	.slider-width.full { | |||
|  | 		background: #FFB85C; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	.redfb { | |||
|  | 		color: #FB3024; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	.green1E { | |||
|  | 		color: #1EBD85; | |||
|  | 	} | |||
|  | </style> |