签到完成
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<section class="ai-card">
|
||||
<ai-bar v-if="!hideTitle" :title="title" v-bind="$attrs">
|
||||
<section class="ai-card" :class="{panel}">
|
||||
<ai-bar v-if="!hideHeader" :title="title" v-bind="$attrs">
|
||||
<template #title>
|
||||
<slot name="title"></slot>
|
||||
</template>
|
||||
@@ -9,7 +9,8 @@
|
||||
</template>
|
||||
</ai-bar>
|
||||
<div class="ai-card__body">
|
||||
<slot name="content"></slot>
|
||||
<slot v-if="$scopedSlots.content" name="content"/>
|
||||
<slot v-else/>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
@@ -21,7 +22,11 @@ export default {
|
||||
title: {
|
||||
type: String
|
||||
},
|
||||
hideTitle: Boolean
|
||||
hideTitle: Boolean,
|
||||
panel: Boolean
|
||||
},
|
||||
computed: {
|
||||
hideHeader: v => v.hideTitle || v.panel
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -37,5 +42,15 @@ export default {
|
||||
.ai-card__body {
|
||||
padding: 12px 40px 22px;
|
||||
}
|
||||
|
||||
&.panel {
|
||||
margin-bottom: 0;
|
||||
|
||||
.ai-card__body {
|
||||
padding: 12px 16px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<slot v-if="$scopedSlots.btn" name="btn"/>
|
||||
<el-button v-else type="text">{{ text }}</el-button>
|
||||
</div>
|
||||
<ai-dialog :visible.sync="dialog" :title="dialogTitle" :width="width" :customFooter="customFooter" v-on="$listeners"
|
||||
@onConfirm="dialog=false,$emit('onConfirm')" v-bind="$attrs">
|
||||
<ai-dialog :visible.sync="dialog" :title="dialogTitle" :width="width" :customFooter="needFooter" v-on="$listeners"
|
||||
@onConfirm="handleConfirm" v-bind="$attrs">
|
||||
<slot/>
|
||||
<template #footer>
|
||||
<el-button @click="dialog=false">关闭</el-button>
|
||||
@@ -21,12 +21,26 @@ export default {
|
||||
text: {default: "点击弹窗"},
|
||||
dialogTitle: {default: "展示信息"},
|
||||
customFooter: {default: true},
|
||||
width: {default: "1200px"}
|
||||
width: {default: "1200px"},
|
||||
submit: {default: null}
|
||||
},
|
||||
computed: {
|
||||
needFooter: v => v.customFooter && !v.submit
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialog: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleConfirm() {
|
||||
if (!this.submit) {
|
||||
this.dialog = false
|
||||
this.$emit('onConfirm')
|
||||
} else {
|
||||
this.submit?.()?.then(() => this.dialog = false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -6,9 +6,14 @@
|
||||
<div class="ai-list__tabs" v-if="$slots.tabs">
|
||||
<slot name="tabs"></slot>
|
||||
</div>
|
||||
<div class="ai-list__blank" v-else-if="$slots.blank">
|
||||
<slot name="blank"/>
|
||||
</div>
|
||||
<el-row type="flex" class="ai-list__blank" v-else-if="$scopedSlots.blank" :class="{hasLeft:$scopedSlots.left}">
|
||||
<div class="ai-list__content--left" v-if="$scopedSlots.left">
|
||||
<slot name="left"/>
|
||||
</div>
|
||||
<div class="fill">
|
||||
<slot name="blank"/>
|
||||
</div>
|
||||
</el-row>
|
||||
<div class="ai-list__content" v-else :class="contentClass">
|
||||
<div class="ai-list__content--wrapper">
|
||||
<slot name="custom" v-if="!!$slots.custom"/>
|
||||
@@ -68,7 +73,7 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
//全局tab css
|
||||
:deep( .ai-list__tabs ){
|
||||
:deep( .ai-list__tabs ) {
|
||||
margin-top: 0 !important;
|
||||
|
||||
.el-tabs__item {
|
||||
@@ -148,7 +153,7 @@ export default {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
|
||||
:deep( .el-tabs__item ){
|
||||
:deep( .el-tabs__item ) {
|
||||
min-width: 80px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
@@ -158,15 +163,15 @@ export default {
|
||||
border-bottom: 1px solid transparent !important;
|
||||
}
|
||||
|
||||
:deep(.el-tabs__header ){
|
||||
:deep(.el-tabs__header ) {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
:deep(.el-tabs ){
|
||||
:deep(.el-tabs ) {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
:deep(.el-tabs__content ){
|
||||
:deep(.el-tabs__content ) {
|
||||
height: calc(100% - 32px);
|
||||
background: #f3f6f9;
|
||||
|
||||
@@ -222,7 +227,17 @@ export default {
|
||||
flex: 1;
|
||||
padding: 16px;
|
||||
box-sizing: border-box;
|
||||
overflow: auto;
|
||||
height: calc(100% - 50px);
|
||||
|
||||
|
||||
&.hasLeft {
|
||||
padding: 16px 0;
|
||||
}
|
||||
|
||||
& > .fill {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user