Kaynağa Gözat

refactor(dialog): table dialog use fixed

Casper Dai 3 yıl önce
ebeveyn
işleme
2f24e67904

+ 4 - 1
src/components/dialog/RadioTableDialog/index.vue

@@ -1,7 +1,7 @@
 <template>
   <confirm-dialog
     ref="confirmDialg"
-    :size="size"
+    :size="sizeClassName"
     v-bind="$attrs"
     @confirm="onConfirm"
   >
@@ -73,6 +73,9 @@ export default {
           ...cols
         ]
       }
+    },
+    sizeClassName () {
+      return `table ${this.size} fixed`
     }
   },
   methods: {

+ 4 - 1
src/components/dialog/SelectionTableDialog/index.vue

@@ -1,7 +1,7 @@
 <template>
   <confirm-dialog
     ref="confirmDialg"
-    :size="size"
+    :size="sizeClassName"
     v-bind="$attrs"
     @confirm="onConfirm"
   >
@@ -54,6 +54,9 @@ export default {
           ...cols
         ]
       }
+    },
+    sizeClassName () {
+      return `table ${this.size} fixed`
     }
   },
   methods: {

+ 4 - 1
src/components/dialog/TableDialog/index.vue

@@ -1,7 +1,7 @@
 <template>
   <c-dialog
     ref="dialog"
-    :size="size"
+    :size="sizeClassName"
     v-bind="$attrs"
   >
     <schema-table
@@ -40,6 +40,9 @@ export default {
   computed: {
     hasHeader () {
       return !!this.$scopedSlots.header
+    },
+    sizeClassName () {
+      return `table ${this.size} fixed`
     }
   },
   methods: {

+ 4 - 1
src/components/layout/StatusWrapper/index.vue

@@ -26,7 +26,10 @@ export default {
 
 <style lang="scss" scoped>
 .c-status-wrapper {
-  min-height: 300px;
   line-height: normal;
+
+  ::v-deep .el-empty {
+    padding: $spacing 0;
+  }
 }
 </style>

+ 0 - 1
src/components/service/EventTargetPicker/index.vue

@@ -61,7 +61,6 @@
     />
     <selection-table-dialog
       ref="assetTableDialog"
-      size="medium"
       title="上播内容选择"
       message="请选择上播内容"
       :schema="assetTableSchema"

+ 1 - 1
src/components/table/GridTable/GridTableBody.vue

@@ -18,7 +18,7 @@ export default {
   },
   render (h) {
     return h('div', {
-      staticClass: `l-flex__self l-grid ${this.size} u-overflow-y--auto`
+      staticClass: `l-flex__auto l-grid ${this.size} u-overflow-y--auto`
     }, this.itemRender && this.data?.map(this.itemRender))
   }
 }

+ 0 - 1
src/components/table/GridTable/index.vue

@@ -77,7 +77,6 @@
     />
     <template v-else-if="!custom">
       <grid-table-body
-        class="c-table__main"
         :data="tableData"
         :item-render="itemRender"
         v-bind="$attrs"

+ 1 - 1
src/components/table/Table/index.vue

@@ -73,7 +73,7 @@
     </div>
     <el-table
       ref="table"
-      class="l-flex__self l-flex--col c-table__main"
+      class="l-flex__auto l-flex--col"
       :class="{ 'with-content': tableData.length }"
       :data="tableData"
       v-bind="tableProps"

+ 0 - 4
src/scss/bem/_component.scss

@@ -155,7 +155,6 @@
   &.mini {
     flex: none;
 
-    .c-table__main,
     .el-table__body-wrapper {
       min-height: 0;
     }
@@ -233,8 +232,6 @@
   }
 
   &__main {
-    min-height: 300px;
-
     &.el-table.with-content::before {
       display: none;
     }
@@ -250,7 +247,6 @@
 
   .el-table__body-wrapper {
     flex: 1 1 auto;
-    min-height: 300px;
     overflow-y: auto;
   }
 }