diff --git a/src/components/table/StandardTable.vue b/src/components/table/StandardTable.vue index 27650a4..f9a9f39 100644 --- a/src/components/table/StandardTable.vue +++ b/src/components/table/StandardTable.vue @@ -20,11 +20,15 @@ :dataSource="dataSource" :rowKey="rowKey" :pagination="pagination" + @change="onChange" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: updateSelect}" > + @@ -36,13 +40,14 @@ export default { data () { return { needTotalList: [], - scopedSlots: [] + scopedSlots: [], + slots: [] } }, methods: { updateSelect (selectedRowKeys, selectedRows) { this.$emit('update:selectedRows', selectedRows) - this.$emit('change', selectedRowKeys, selectedRows) + this.$emit('selectedRowChange', selectedRowKeys, selectedRows) }, initTotalList (columns) { const totalList = [] @@ -54,16 +59,30 @@ export default { return totalList }, getScopedSlots(columns) { - return columns.filter(item => item.scopedSlots && item.scopedSlots.customRender) - .map(item => item.scopedSlots.customRender) + let scopedSlots = columns.filter(item => item.scopedSlots).map(item => item.scopedSlots) + scopedSlots = scopedSlots.flatMap(item => { + return Object.keys(item).map(key => item[key]) + }) + return scopedSlots + }, + getSlots(columns) { + let slots = columns.filter(item => item.slots).map(item => item.slots) + slots = slots.flatMap(item => { + return Object.keys(item).map(key => item[key]) + }) + return slots }, onClear() { this.updateSelect([], []) this.$emit('clear') + }, + onChange(pagination, filters, sorter, {currentDataSource}) { + this.$emit('change', pagination, filters, sorter, {currentDataSource}) } }, created () { this.scopedSlots = this.getScopedSlots(this.columns) + this.slots = this.getSlots(this.columns) this.needTotalList = this.initTotalList(this.columns) }, watch: { diff --git a/src/pages/exception/403.vue b/src/pages/exception/403.vue index ca8fae0..92b8f7a 100644 --- a/src/pages/exception/403.vue +++ b/src/pages/exception/403.vue @@ -12,7 +12,7 @@ export default { computed: { ...mapState('setting', ['multiPage']), minHeight() { - return this.multiPage ? this.layoutMinHeight : this.layoutMinHeight + return this.multiPage ? this.layoutMinHeight - 32 : this.layoutMinHeight } } } diff --git a/src/pages/exception/404.vue b/src/pages/exception/404.vue index 3f7dc83..fa0dcb4 100644 --- a/src/pages/exception/404.vue +++ b/src/pages/exception/404.vue @@ -13,7 +13,7 @@ export default { ...mapState('setting', ['multiPage']), minHeight() { let layoutMinHeight = this.layoutMinHeight || window.innerHeight - return this.multiPage ? layoutMinHeight: layoutMinHeight + return this.multiPage ? layoutMinHeight - 32 : layoutMinHeight } } } diff --git a/src/pages/exception/500.vue b/src/pages/exception/500.vue index 2fc76d6..30e2593 100644 --- a/src/pages/exception/500.vue +++ b/src/pages/exception/500.vue @@ -12,7 +12,7 @@ export default { computed: { ...mapState('setting', ['multiPage']), minHeight() { - return this.multiPage ? this.layoutMinHeight : this.layoutMinHeight + return this.multiPage ? this.layoutMinHeight - 24 : this.layoutMinHeight } } }