| | |
| | | <template> |
| | | <div class="square-box"> |
| | | <div class="square-box" :class="setFull"> |
| | | <div class="square-box-mask"></div> |
| | | <!-- 左上 --> |
| | | <div class="square-box-left-top"></div> |
| | |
| | | <div class="square-box-left-bottom"></div> |
| | | <div class="square-box-container"> |
| | | <div class="square-box-title" v-if="showTitle"><Icon :type="icon" /><span class="square-box-title-text">{{title}}</span></div> |
| | | <div class="square-box-content" :style="style"> |
| | | <div class="square-box-content" :style="getContentStyle"> |
| | | <slot></slot> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import $ from 'jquery' |
| | | export default { |
| | | props: { |
| | | minHeight: { |
| | |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | full: false |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | setFull: function() { |
| | | if(typeof(this.full) != 'undefined') { |
| | | return { |
| | | 'full-container': true |
| | | } |
| | | } |
| | | }, |
| | | getContentStyle: function() { |
| | | var result = { |
| | | minHeight: this.minHeight |
| | | }; |
| | | var root = $(this.$el); |
| | | if(typeof(this.full) != 'undefined') { |
| | | result.height = 'calc(100% - 95px)'; |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | |
| | | } |
| | | .square-box { |
| | | position: relative; |
| | | } |
| | | .square-box.full-container { |
| | | height: 100%; |
| | | } |
| | | .square-box-mask { |
| | | position: absolute; |
| | |
| | | position: relative; |
| | | padding: 1px; |
| | | } |
| | | .square-box.full-container .square-box-container { |
| | | height: 100%; |
| | | } |
| | | .square-box-title { |
| | | margin: 15px; |
| | | } |