| <template> | 
|   <el-drawer | 
|     class="global-window" | 
|     title="title" | 
|     :visible="visible" | 
|     :with-header="true" | 
|     :size="width" | 
|     :close-on-press-escape="false" | 
|     :wrapper-closable="false" | 
|     :append-to-body="true" | 
|     @close="close" | 
|   > | 
|     <div slot="title" class="window__header"> | 
|       <span class="header__btn-back" @click="close"><i class="el-icon-arrow-left"></i></span>{{title}} | 
|     </div> | 
|     <div class="window__body"> | 
|       <slot></slot> | 
|     </div> | 
|     <div v-if="withFooter" class="window__footer"> | 
|       <slot name="footer"> | 
|         <el-button @click="confirm" :loading="confirmWorking" type="primary">{{confirmText}}</el-button> | 
|         <el-button @click="close">{{cancelText}}</el-button> | 
|       </slot> | 
|     </div> | 
|   </el-drawer> | 
| </template> | 
|   | 
| <script> | 
| export default { | 
|   name: 'routeproceWindow', | 
|   props: { | 
|     width: { | 
|       type: String, | 
|       default: '69%' | 
|     }, | 
|     // 是否包含底部操作 | 
|     withFooter: { | 
|       type: Boolean, | 
|       default: true | 
|     }, | 
|     // 确认按钮loading状态 | 
|     confirmWorking: { | 
|       type: Boolean, | 
|       default: false | 
|     }, | 
|     // 确认按钮文案 | 
|     confirmText: { | 
|       default: '确定' | 
|     }, | 
|     // 取消按钮文案 | 
|     cancelText: { | 
|       default: '取消' | 
|     }, | 
|     // 标题 | 
|     title: { | 
|       type: String, | 
|       default: '' | 
|     }, | 
|     // 是否展示 | 
|     visible: { | 
|       type: Boolean, | 
|       required: true | 
|     } | 
|   }, | 
|   methods: { | 
|     /** | 
|      * 确认 | 
|      */ | 
|     confirm () { | 
|       this.$emit('confirm') | 
|     }, | 
|     /** | 
|      * 关闭 | 
|      */ | 
|     close () { | 
|       this.$emit('update:visible', false) | 
|     } | 
|   } | 
| } | 
| </script> | 
|   | 
| <style scoped lang="scss"> | 
| @import "@/assets/style/variables.scss"; | 
| // 输入框高度 | 
| $input-height: 32px; | 
| .el-drawer{ | 
| width: 900px; | 
| } | 
| .global-window { | 
|   // 头部标题 | 
|   ::v-deep .el-drawer__header { | 
|     padding: 0 10px 0 0; | 
|     line-height: 40px; | 
|     border-bottom: 1px solid #eee; | 
|     // 返回按钮 | 
|     .header__btn-back { | 
|       display: inline-block; | 
|       width: 30px; | 
|       background: $primary-color; | 
|       color: #fff; | 
|       text-align: center; | 
|       margin-right: 12px; | 
|       border-right: 1px solid #eee; | 
|     } | 
|     .el-drawer__close-btn:focus { | 
|       outline: none; | 
|     } | 
|   } | 
|   // 主体 | 
|   ::v-deep .el-drawer__body { | 
|     display: flex; | 
|     flex-direction: column; | 
|     position: absolute; | 
|     top: 40px; | 
|     bottom: 0; | 
|     width: 100%; | 
|     overflow: hidden; | 
|     // 内容 | 
|     .window__body { | 
|       height: 100%; | 
|       overflow-y: auto; | 
|       padding: 12px 16px; | 
|       // 标签 | 
|       .el-form-item__label { | 
|         float: none; | 
|       } | 
|       // 元素宽度为100% | 
|       .el-form-item__content{ | 
|         & > * { | 
|           width: 100%; | 
|         } | 
|       } | 
|       // 开关表单项 | 
|       .form-item-switch { | 
|         .el-form-item__content > * { | 
|           width: auto !important; | 
|         } | 
|         .switch-text { | 
|           color: #999; | 
|           margin-left: 6px; | 
|           font-size: 13px; | 
|           vertical-align: middle; | 
|         } | 
|       } | 
|     } | 
|     // 尾部 | 
|     .window__footer { | 
|       user-select: none; | 
|       border-top: 1px solid #eee; | 
|       height: 60px; | 
|       line-height: 60px; | 
|       text-align: center; | 
|     } | 
|   } | 
| } | 
| </style> |