151 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
	<view>
 | 
						|
		<view class="background"></view>
 | 
						|
		<view style="padding-top: 20px;" :class="stepText.length == 5?'step-load':'step-loadaf'">
 | 
						|
			<u-steps :current="stepPage" class="stepbox" active-color="#8d95a1" inactive-color="#d9e6f9">
 | 
						|
				<u-steps-item :title="stepText[0]">
 | 
						|
					<view class="slot-icon-ing" slot="icon" v-if="stepPage === 0">
 | 
						|
						<view class="slot-icon-dot"></view>
 | 
						|
					</view>
 | 
						|
					<view class="slot-icon-ed" slot="icon" v-if="stepPage > 0">
 | 
						|
						<u-icon name="checkbox-mark" color="#fff" size="14"></u-icon>
 | 
						|
					</view>
 | 
						|
				</u-steps-item>
 | 
						|
				<view v-for="(item,index) in stepText.slice(1,stepText.length - 1)" :key="index" style="flex: 1;">
 | 
						|
					<u-steps-item :title="item">
 | 
						|
						<view class="slot-icon-ing" slot="icon" v-if="stepPage === index+1">
 | 
						|
							<view class="slot-icon-dot"></view>
 | 
						|
						</view>
 | 
						|
						<view class="slot-icon-no" slot="icon" v-if="stepPage < index+1">{{index+2}}</view>
 | 
						|
						<view class="slot-icon-ed" slot="icon" v-if="stepPage > index+1">
 | 
						|
							<u-icon name="checkbox-mark" color="#fff" size="14"></u-icon>
 | 
						|
						</view>
 | 
						|
					</u-steps-item>
 | 
						|
				</view>
 | 
						|
				<u-steps-item :title="stepText[stepText.length - 1]">
 | 
						|
					<view class="slot-icon-ing" slot="icon" v-if="stepPage === stepText.length - 1">
 | 
						|
						<view class="slot-icon-dot"></view>
 | 
						|
					</view>
 | 
						|
					<view class="slot-icon-no" slot="icon" v-if="stepPage < stepText.length - 1">{{stepText.length}}</view>
 | 
						|
				</u-steps-item>
 | 
						|
			</u-steps>
 | 
						|
		</view>
 | 
						|
	</view>
 | 
						|
 | 
						|
</template>
 | 
						|
<script>
 | 
						|
	export default {
 | 
						|
		props: {
 | 
						|
			stepPage: {
 | 
						|
				type: Number,
 | 
						|
				default: 0
 | 
						|
			},
 | 
						|
			stepText: {
 | 
						|
				type: Array,
 | 
						|
				default () {
 | 
						|
					return ['基本信息', '作业人员', '确认信息']
 | 
						|
				}
 | 
						|
			}
 | 
						|
		},
 | 
						|
	}
 | 
						|
</script>
 | 
						|
<style scoped>
 | 
						|
	.background {
 | 
						|
		position: fixed;
 | 
						|
		top: 0;
 | 
						|
		left: 0;
 | 
						|
		right: 0;
 | 
						|
		bottom: 0;
 | 
						|
		background: #edf1fd;
 | 
						|
		z-index: -1;
 | 
						|
	}
 | 
						|
 | 
						|
	.step-load>>>.u-steps-item__wrapper {
 | 
						|
		background-color: #edf1fd;
 | 
						|
	}
 | 
						|
 | 
						|
	.step-load>>>.u-text__value--main {
 | 
						|
		color: #3d4b70;
 | 
						|
		font-weight: bold !important;
 | 
						|
	}
 | 
						|
 | 
						|
	.step-load>>>.u-steps-item__line--row {
 | 
						|
		height: 4px;
 | 
						|
		width: 50px !important;
 | 
						|
		left: 55px !important;
 | 
						|
		border-radius: 500px;
 | 
						|
	}
 | 
						|
 | 
						|
	.step-load>>>.u-steps-item__wrapper--row {
 | 
						|
		width: 42px;
 | 
						|
	}
 | 
						|
	.step-loadaf>>>.u-steps-item__wrapper {
 | 
						|
		background-color: #edf1fd;
 | 
						|
	}
 | 
						|
	
 | 
						|
	.step-loadaf>>>.u-text__value--main {
 | 
						|
		color: #3d4b70;
 | 
						|
		font-weight: bold !important;
 | 
						|
	}
 | 
						|
	
 | 
						|
	.step-loadaf>>>.u-steps-item__line--row {
 | 
						|
		height: 4px;
 | 
						|
		width: 119px !important;
 | 
						|
		left: 84px !important;
 | 
						|
		border-radius: 500px;
 | 
						|
	}
 | 
						|
	
 | 
						|
	.step-loadaf>>>.u-steps-item__wrapper--row {
 | 
						|
		width: 62px;
 | 
						|
	}
 | 
						|
 | 
						|
	.slot-icon-ed {
 | 
						|
		width: 24px;
 | 
						|
		height: 24px;
 | 
						|
		background-color: #3d4b70;
 | 
						|
		border-radius: 100px;
 | 
						|
		font-size: 12px;
 | 
						|
		color: #fff;
 | 
						|
		line-height: 24px;
 | 
						|
		text-align: center;
 | 
						|
		display: flex;
 | 
						|
		align-items: center;
 | 
						|
		justify-content: center;
 | 
						|
	}
 | 
						|
 | 
						|
	.slot-icon-ing {
 | 
						|
		width: 24px;
 | 
						|
		height: 24px;
 | 
						|
		background-color: #cceaff;
 | 
						|
		border-radius: 100px;
 | 
						|
		font-size: 12px;
 | 
						|
		color: #fff;
 | 
						|
		line-height: 24px;
 | 
						|
		display: flex;
 | 
						|
		align-items: center;
 | 
						|
		justify-content: center;
 | 
						|
	}
 | 
						|
 | 
						|
	.slot-icon-no {
 | 
						|
		width: 24px;
 | 
						|
		height: 24px;
 | 
						|
		background-color: #7785a2;
 | 
						|
		border-radius: 100px;
 | 
						|
		font-size: 12px;
 | 
						|
		color: #fff;
 | 
						|
		line-height: 24px;
 | 
						|
		text-align: center;
 | 
						|
		display: flex;
 | 
						|
		align-items: center;
 | 
						|
		justify-content: center;
 | 
						|
	}
 | 
						|
 | 
						|
	.slot-icon-dot {
 | 
						|
		width: 12px;
 | 
						|
		height: 12px;
 | 
						|
		background-color: #3695ff;
 | 
						|
		border-radius: 100px;
 | 
						|
		color: #fff;
 | 
						|
		line-height: 10px;
 | 
						|
	}
 | 
						|
</style> |