mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 20:28:44 +08:00 
			
		
		
		
	
		
			
	
	
		
			144 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
		
		
			
		
	
	
			144 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| 
								 | 
							
								<template>
							 | 
						|||
| 
								 | 
							
									<view class="uni-popup-message">
							 | 
						|||
| 
								 | 
							
										<view class="uni-popup-message__box fixforpc-width" :class="'uni-popup__'+type">
							 | 
						|||
| 
								 | 
							
											<slot>
							 | 
						|||
| 
								 | 
							
												<text class="uni-popup-message-text" :class="'uni-popup__'+type+'-text'">{{message}}</text>
							 | 
						|||
| 
								 | 
							
											</slot>
							 | 
						|||
| 
								 | 
							
										</view>
							 | 
						|||
| 
								 | 
							
									</view>
							 | 
						|||
| 
								 | 
							
								</template>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								<script>
							 | 
						|||
| 
								 | 
							
									import popup from '../uni-popup/popup.js'
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
									 * PopUp 弹出层-消息提示
							 | 
						|||
| 
								 | 
							
									 * @description 弹出层-消息提示
							 | 
						|||
| 
								 | 
							
									 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
							 | 
						|||
| 
								 | 
							
									 * @property {String} type = [success|warning|info|error] 主题样式
							 | 
						|||
| 
								 | 
							
									 *  @value success 成功
							 | 
						|||
| 
								 | 
							
									 * 	@value warning 提示
							 | 
						|||
| 
								 | 
							
									 * 	@value info 消息
							 | 
						|||
| 
								 | 
							
									 * 	@value error 错误
							 | 
						|||
| 
								 | 
							
									 * @property {String} message 消息提示文字
							 | 
						|||
| 
								 | 
							
									 * @property {String} duration 显示时间,设置为 0 则不会自动关闭
							 | 
						|||
| 
								 | 
							
									 */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									export default {
							 | 
						|||
| 
								 | 
							
										name: 'uniPopupMessage',
							 | 
						|||
| 
								 | 
							
										mixins:[popup],
							 | 
						|||
| 
								 | 
							
										props: {
							 | 
						|||
| 
								 | 
							
											/**
							 | 
						|||
| 
								 | 
							
											 * 主题 success/warning/info/error	  默认 success
							 | 
						|||
| 
								 | 
							
											 */
							 | 
						|||
| 
								 | 
							
											type: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: 'success'
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											/**
							 | 
						|||
| 
								 | 
							
											 * 消息文字
							 | 
						|||
| 
								 | 
							
											 */
							 | 
						|||
| 
								 | 
							
											message: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: ''
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											/**
							 | 
						|||
| 
								 | 
							
											 * 显示时间,设置为 0 则不会自动关闭
							 | 
						|||
| 
								 | 
							
											 */
							 | 
						|||
| 
								 | 
							
											duration: {
							 | 
						|||
| 
								 | 
							
												type: Number,
							 | 
						|||
| 
								 | 
							
												default: 3000
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											maskShow:{
							 | 
						|||
| 
								 | 
							
												type:Boolean,
							 | 
						|||
| 
								 | 
							
												default:false
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										data() {
							 | 
						|||
| 
								 | 
							
											return {}
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										created() {
							 | 
						|||
| 
								 | 
							
											this.popup.maskShow = this.maskShow
							 | 
						|||
| 
								 | 
							
											this.popup.messageChild = this
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										methods: {
							 | 
						|||
| 
								 | 
							
											timerClose(){
							 | 
						|||
| 
								 | 
							
												if(this.duration === 0) return
							 | 
						|||
| 
								 | 
							
												clearTimeout(this.timer) 
							 | 
						|||
| 
								 | 
							
												this.timer = setTimeout(()=>{
							 | 
						|||
| 
								 | 
							
													this.popup.close()
							 | 
						|||
| 
								 | 
							
												},this.duration)
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								</script>
							 | 
						|||
| 
								 | 
							
								<style lang="scss" >
							 | 
						|||
| 
								 | 
							
									.uni-popup-message {
							 | 
						|||
| 
								 | 
							
										/* #ifndef APP-NVUE */
							 | 
						|||
| 
								 | 
							
										display: flex;
							 | 
						|||
| 
								 | 
							
										/* #endif */
							 | 
						|||
| 
								 | 
							
										flex-direction: row;
							 | 
						|||
| 
								 | 
							
										justify-content: center;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup-message__box {
							 | 
						|||
| 
								 | 
							
										background-color: #e1f3d8;
							 | 
						|||
| 
								 | 
							
										padding: 10px 15px;
							 | 
						|||
| 
								 | 
							
										border-color: #eee;
							 | 
						|||
| 
								 | 
							
										border-style: solid;
							 | 
						|||
| 
								 | 
							
										border-width: 1px;
							 | 
						|||
| 
								 | 
							
										flex: 1;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									@media screen and (min-width: 500px) {
							 | 
						|||
| 
								 | 
							
										.fixforpc-width {
							 | 
						|||
| 
								 | 
							
											margin-top: 20px;
							 | 
						|||
| 
								 | 
							
											border-radius: 4px;
							 | 
						|||
| 
								 | 
							
											flex: none;
							 | 
						|||
| 
								 | 
							
											min-width: 380px;
							 | 
						|||
| 
								 | 
							
											/* #ifndef APP-NVUE */
							 | 
						|||
| 
								 | 
							
											max-width: 50%;
							 | 
						|||
| 
								 | 
							
											/* #endif */
							 | 
						|||
| 
								 | 
							
											/* #ifdef APP-NVUE */
							 | 
						|||
| 
								 | 
							
											max-width: 500px;
							 | 
						|||
| 
								 | 
							
											/* #endif */
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup-message-text {
							 | 
						|||
| 
								 | 
							
										font-size: 14px;
							 | 
						|||
| 
								 | 
							
										padding: 0;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__success {
							 | 
						|||
| 
								 | 
							
										background-color: #e1f3d8;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__success-text {
							 | 
						|||
| 
								 | 
							
										color: #67C23A;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__warn {
							 | 
						|||
| 
								 | 
							
										background-color: #faecd8;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__warn-text {
							 | 
						|||
| 
								 | 
							
										color: #E6A23C;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__error {
							 | 
						|||
| 
								 | 
							
										background-color: #fde2e2;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__error-text {
							 | 
						|||
| 
								 | 
							
										color: #F56C6C;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__info {
							 | 
						|||
| 
								 | 
							
										background-color: #F2F6FC;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									.uni-popup__info-text {
							 | 
						|||
| 
								 | 
							
										color: #909399;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								</style>
							 |