| 
					
				 | 
			
			
				@@ -0,0 +1,162 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <transition name="fade"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="modal-backdrop" v-if="visible"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="modal"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="modal-header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {{ title }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <i class="iconfont icon-close close" @click="close"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="modal-body"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ content }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="modal-footer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <button type="button" class="btn-close" @click="close" v-if="showCancle"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{cancleText ? cancleText : '取消'}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <button type="button" class="btn-confirm" @click="confirm"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{confirmText ? confirmText : '确定'}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </transition> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'Modal', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // midal标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    title:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: '提示' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // modal内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    content: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 是否显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    visible: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 是否显示取消按钮 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showCancle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 确认按钮文字 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    confirmText: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default: '确认' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 取消按钮文字 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cancleText: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default: '取消' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  watch:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    visible (curVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(curVal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 关闭按钮事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    close() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit('update:visible', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 确定按钮事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    confirm() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit('confirm'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 动画效果 淡入淡出 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.fade-enter-active, .fade-leave-active{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  transition: all 0.5s ease; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.fade-enter, .fade-leave-active{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  opacity: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.modal-backdrop {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: fixed;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  right: 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bottom: 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: 0;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-color: rgba(0,0,0,.5);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  justify-content: center;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  align-items: center;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  z-index: 99999; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .modal { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: relative;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background-color: #fff;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    box-shadow: 2px 2px 20px 1px;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    overflow-x: auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 400px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .modal-header {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-bottom: 1px solid #eee;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    color: #313131;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 20px;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    font-size: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .close { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      right: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #909399; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      font-size: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .modal-footer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 10px 20px 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    text-align: right; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .btn-close, .btn-confirm {     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        border-radius: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        border: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        padding: 12px 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        outline: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .btn-close { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #606266; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        border: 1px solid #dcdfe6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-right: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        &:hover { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: #409eff;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          background-color: #ecf5ff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .btn-confirm { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #fff;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        background-color: #409eff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        border-color: #409eff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        &:hover { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          background-color: #66b1ff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .modal-body {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: relative;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 30px 20px;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    line-height: 22px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |