| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 | 
							- <template>
 
- 	<view class="pop-view" v-if='visible'>
 
- 		<view class="pop-maskView" :style="{
 
- 		  'background-color': maskBgColor,
 
- 		  zIndex: zIndex - 1
 
- 		}" @tap.stop="handleMaskTap"
 
- 		 @touchmove.stop.prevent="moveHandle">
 
- 		</view>
 
- 		<view class='alterView' :style="{zIndex: zIndex}"
 
- 		 @touchmove.stop.prevent="moveHandle">
 
- 			
 
- 		</view>
 
- 	</view>
 
- </template>
 
- <script>
 
- 	export default {
 
- 		props: {
 
- 			title: String,
 
- 			maskColor: {
 
- 				type: String,
 
- 				default: 'rgba(0, 0, 0, 0.3)'
 
- 			},
 
- 			zIndex: {
 
- 				type: Number,
 
- 				default: 999
 
- 			},
 
- 			maskTapHide: {
 
- 				type: Boolean,
 
- 				default: true
 
- 			},
 
- 			isShowTitle: {
 
- 				type: Boolean,
 
- 				default: true
 
- 			},
 
- 			isShowClose: {
 
- 				type: Boolean,
 
- 				default: true
 
- 			},
 
- 			isShowConfirm: {
 
- 				type: Boolean,
 
- 				default: true
 
- 			}
 
- 		},
 
- 		data() {
 
- 			return {
 
- 				visible: false,
 
- 				containerVisible: false,
 
- 				maskBgColor: '',
 
- 				selectValue: [0],
 
- 				selIdx: 0,
 
- 				themeColor:''
 
- 			}
 
- 		},
 
- 		mounted() {
 
- 			let app = getApp();
 
- 			this.globalData = app.globalData;
 
- 			this.themeColor = this.globalData.themeColor;
 
- 		},
 
- 		methods: {
 
- 			show() {
 
- 				this.visible = true
 
- 				setTimeout(() => {
 
- 					this.maskBgColor = this.maskColor
 
- 					this.containerVisible = true
 
- 				}, 20)
 
- 			},
 
- 			hide() {
 
- 				this.maskBgColor = ''
 
- 				this.containerVisible = false
 
- 				setTimeout(() => {
 
- 					this.visible = false
 
- 				}, 200)
 
- 				this.$emit('close')
 
- 			},
 
- 			handleCancel() {
 
- 				this.hide()
 
- 			},
 
- 			handleConfirm() {
 
- 				this.hide()
 
- 				this.$emit('confirm')
 
- 			},
 
- 			handleMaskTap() {
 
- 				if (this.maskTapHide) {
 
- 					this.hide()
 
- 				}
 
- 			},
 
- 			moveHandle() {},
 
- 		}
 
- 	}
 
- </script>
 
- <style scoped lang="scss">
 
- 	.pop-view {
 
- 		position: relative;
 
- 		.pop-maskView {
 
- 			position: fixed;
 
- 			top: 0;
 
- 			right: 0;
 
- 			left: 0;
 
- 			bottom: 0;
 
- 			transition-property: background-color;
 
- 			transition-duration: 0.3s;
 
- 		}
 
- 		.pop-contentView {
 
- 			position: fixed;
 
- 			right: 0;
 
- 			left: 0;
 
- 			bottom: 0;
 
- 			background-color: #fff;
 
- 			border-radius: 40rpx 40rpx 0rpx 0rpx;
 
- 			box-shadow: 0rpx 8rpx 12rpx 0rpx;
 
- 			display: flex;
 
- 			flex-direction: column;
 
- 			align-items: center;
 
- 			transform: translateY(100%);
 
- 			transition-property: transform;
 
- 			transition-duration: 0.3s;
 
- 			.pop-title {
 
- 				margin-top: 60rpx;
 
- 				font-size: 32rpx;
 
- 				font-family: Verdana, Verdana-Bold;
 
- 				font-weight: 700;
 
- 				text-align: center;
 
- 				color: #333333;
 
- 			}
 
- 			.pop-close {
 
- 				position: absolute;
 
- 				top: 64rpx;
 
- 				right: 30rpx;
 
- 				width: 40rpx;
 
- 				height: 40rpx;
 
- 			}
 
- 			.pop-commit {
 
- 				margin-bottom: 54rpx;
 
- 				width: 260rpx;
 
- 				height: 84rpx;
 
- 				line-height: 84rpx;
 
- 				border-radius: 42rpx;
 
- 				font-size: 32rpx;
 
- 				font-family: Verdana, Verdana-Regular;
 
- 				font-weight: 400;
 
- 				text-align: center;
 
- 				color: #ffffff;
 
- 			}
 
- 		}
 
- 		.pop-contentView-show {
 
- 			transform: translateY(0);
 
- 		}
 
- 	}
 
- </style>
 
 
  |