| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | <template>	<view class="grace-dialog-shade" v-if="show" @tap.stop="closeDialogByShade" @touchmove.stop.prevent="stopFun" :style="{backgroundColor:background, zIndex:zIndex}">		<view class="grace-dialog gdFadeIn" @tap.stop="stopFun" :style="{width:width, borderRadius:borderRadius}">			<view class="grace-dialog-title" v-if="isTitle" 			:style="{fontSize:titleSize, color:titleColor, fontWeight:titleWeight?'bold':'', background:titleBg, lineHeight:titleHeight}">{{title}}</view>			<view class="grace-dialog-content" @tap.stop="stopFun"><slot name="content"></slot></view>			<view class="grace-dialog-close-btn" :style="{color:closeBtnColor, zIndex:zIndex+1}" v-if="isCloseBtn" @tap.stop="closeDialog"></view>			<view v-if="isBtns"><slot name="btns"></slot></view>		</view>	</view></template><script>export default {	name: "graceDialog",	props: {		show : {			type : Boolean,			default : false		},		width : {			type : String,			default : '580rpx'		},		isCloseBtn: {			type : Boolean,			default : true		},		closeBtnColor : {			type : String,			default : '#FF0036'		},		isTitle : {			type : Boolean,			default : true		},		title : {			type : String,			default : ''		},		titleBg : {			type : String,			default : ''		},		titleHeight : {			type : String,			default : '100rpx'		},		titleWeight : {			type : Boolean,			default : true		},		titleSize : {			type : String,			default : '28rpx'		},		titleColor : {			type : String,			default : '#333333'		},		isBtns : {			type : Boolean,			default : true		},		background:{			type : String,			default : 'rgba(0, 0, 0, 0.5)'		},		borderRadius : {			type : String,			default : '6rpx'		},		zIndex : {			type : Number,			default : 999		},		canCloseByShade:{			type : Boolean,			default : true		}	},	data() {		return {					}	},	methods:{		closeDialogByShade:function(){			if(this.canCloseByShade){this.closeDialog();}		},		closeDialog : function(){			this.$emit('closeDialog');		},		stopFun : function(){}	}}</script><style scoped>@keyframes gdFadeIn{ from { opacity: 0; } 100% { opacity: 1; }}.gdFadeIn {animation:gdFadeIn 200ms linear;}.grace-dialog-shade{position:fixed; width:100%; height:100%; left:0; top:0; bottom:0; z-index:9991; display:flex; justify-content:center; align-items:center;}.grace-dialog{width:580rpx; background:#FFFFFF; position:relative;}.grace-dialog-title{line-height:100rpx; font-size:30rpx; text-align:center;}.grace-dialog-content{}.grace-dialog-close-btn{position:absolute; z-index:9993; right:0px; top:0px; font-size:30rpx; width:80rpx; height:80rpx; line-height:80rpx; text-align:center; font-family:"grace-iconfont";}.grace-dialog-close-btn:before{content:"\e632";}</style>
 |