| | |
| | | </div> |
| | | |
| | | <div class="right p-3" |
| | | >共<span style="padding: 0 5px">{{page.total}}</span>封 |
| | | >共<span style="padding: 0 5px">{{ page.total }}</span |
| | | >封 |
| | | <a-pagination |
| | | v-model:current="pageCurrent" |
| | | v-model:page-size='page.limit' |
| | | v-model:page-size="page.limit" |
| | | simple |
| | | :total="page.total" |
| | | style="margin-left: 10px" |
| | |
| | | </a-switch> |
| | | </div> |
| | | </div> |
| | | <div v-if="checked" style="height: 30px;" class="left-bt p-3"> |
| | | <div v-if="checked" style="height: 30px" class="left-bt p-3"> |
| | | 已选择此页面上所有 20 封邮件 , 选择全部 335 封邮件 |
| | | </div> |
| | | <div class="p-4" style="height: 90%; overflow: hidden"> |
| | | <a-tabs v-model:activeKey="activeKey"> |
| | | <a-tab-pane |
| | | v-for="item in tabsList" |
| | | :key="item.key" |
| | | :tab="`${item.label}${item.num ? '(' + item.num + ')' : ''}`" |
| | | style="height: 200px" |
| | | > |
| | | <Table |
| | | ref="tableRef" |
| | | :page="pageCurrent" |
| | | :pageList="newList" |
| | | :isDrafts="isDrafts" |
| | | @selectAll="fnSelectAll" |
| | | @updateSelectAll="updateSelectAll" |
| | | /> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | <div class="p-4" style="height: 90%; overflow: auto"> |
| | | <div v-if="isTabs"> |
| | | <a-tabs v-model:activeKey="activeKey"> |
| | | <a-tab-pane |
| | | v-for="item in tabsList" |
| | | :key="item.key" |
| | | :tab="`${item.label}${item.num ? '(' + item.num + ')' : ''}`" |
| | | style="height: 200px" |
| | | > |
| | | <Table |
| | | ref="tableRef" |
| | | :page="pageCurrent" |
| | | :pageList="newList" |
| | | :isDrafts="isDrafts" |
| | | @selectAll="fnSelectAll" |
| | | @updateSelectAll="updateSelectAll" |
| | | /> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </div> |
| | | <div v-else> |
| | | <Table |
| | | ref="tableRef" |
| | | :page="pageCurrent" |
| | | :pageList="newList" |
| | | :isDrafts="isDrafts" |
| | | @selectAll="fnSelectAll" |
| | | @updateSelectAll="updateSelectAll" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </PageWrapper> |
| | |
| | | import pageHeadLeft from './pageHeadLeft.vue'; |
| | | import { PageWrapper } from '@/components/Page'; |
| | | |
| | | import { ref, watch, defineProps, defineEmits, computed, reactive, onMounted,inject } from 'vue'; |
| | | import { ref, watch, defineProps, defineEmits, computed, reactive, onMounted, inject } from 'vue'; |
| | | |
| | | // 定义属性 |
| | | interface Props { |
| | |
| | | pageData?: any; |
| | | mailType?: number; |
| | | isDrafts?: boolean; |
| | | isTabs?: boolean; |
| | | } |
| | | const props = defineProps<Props>(); |
| | | const props = defineProps({ |
| | | isTabs: { |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | pageList: { |
| | | type: Array, |
| | | default: () => [], |
| | | }, |
| | | pageData: { |
| | | type: Object, |
| | | default: () => {}, |
| | | }, |
| | | mailType: { |
| | | type: Number, |
| | | default: 0, |
| | | }, |
| | | isDrafts: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }); |
| | | const newList = ref([]); |
| | | const selectAllRow = ref([]); |
| | | watch( |
| | |
| | | }, |
| | | ); |
| | | |
| | | const page = computed(() => props.pageData); |
| | | const page = computed(() => props.pageData); |
| | | const checked = computed(() => selectAllRow.value.length > 0); |
| | | const pageCurrent = ref(1); |
| | | const tableRef = ref(); |
| | |
| | | }); |
| | | |
| | | const getDataList = inject('getDataList'); |
| | | function handlePageChange(page, pageSize){ |
| | | getDataList(page) |
| | | |
| | | function handlePageChange(page, pageSize) { |
| | | getDataList(page); |
| | | } |
| | | </script> |
| | | <style scoped lang="less"> |
| | |
| | | align-items: center; |
| | | justify-content: space-flex-start; |
| | | width: 100%; |
| | | height: 100%;; |
| | | height: 100%; |
| | | |
| | | & .icon { |
| | | margin-right: 15px; |