huangyinfeng
4 天以前 db42d08c39ae6129e2b95cd24c0d57c6769282e5
src/views/email/components/ListPage/list.vue
@@ -23,10 +23,11 @@
        </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"
@@ -61,27 +62,39 @@
          </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>
@@ -98,7 +111,7 @@
  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 {
@@ -106,8 +119,30 @@
    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(
@@ -117,7 +152,7 @@
    },
  );
const page = computed(() => props.pageData);
  const page = computed(() => props.pageData);
  const checked = computed(() => selectAllRow.value.length > 0);
  const pageCurrent = ref(1);
  const tableRef = ref();
@@ -189,9 +224,8 @@
  });
  const getDataList = inject('getDataList');
  function handlePageChange(page, pageSize){
    getDataList(page)
  function handlePageChange(page, pageSize) {
    getDataList(page);
  }
</script>
<style scoped lang="less">
@@ -212,7 +246,7 @@
        align-items: center;
        justify-content: space-flex-start;
        width: 100%;
        height: 100%;;
        height: 100%;
        & .icon {
          margin-right: 15px;