import { ref } from "vue";
import {
  queryInviteList
} from "@/api/modules/invite";
export function useData() {
  const loading = ref(true);
  const tableList = ref([]);
  const isShow = ref(false);
  const pagination = ref({
    total: 0,
    pageSize: 10,
    pageSizes: [10, 20, 50, 100, 500, 1000, 2000],
    currentPage: 1,
    background: true
  });
  const tableLabel = ref([
    {
      label: "邀请列表ID",
      prop: "id"
    },
    {
      label: "邀请用户ID",
      prop: "user_id"
    },
    {
      label: "下级用户ID",
      prop: "sub_user_id"
    },
    {
      label: "邀请码",
      prop: "init_code"
    },
    {
      label: "创建时间",
      prop: "createtime"
    },
    {
      label: "邀请者昵称",
      prop: "parent_username"
    },
    {
      label: "下级用户昵称",
      prop: "username"
    }
  ]);
  const onSearch = async () => {
    loading.value = true;
    const { data, code } = await queryInviteList({
      page: pagination.value.currentPage,
      page_limit: pagination.value.pageSize,

    });
    if (code) {
      tableList.value = data.lists.map(ele => {
        return {
          ...ele, ...data.total
        }
      });
      pagination.value.total = data.count;
      pagination.value.currentPage = data.page;
    }
    loading.value = false;
  };
  const handleSizeChange = (val: number) => {
    pagination.value.pageSize = val;
    onSearch();
  };
  const handleCurrentChange = (val: number) => {
    pagination.value.currentPage = val;
    onSearch();
  };
  return {
    onSearch,
    isShow,
    tableList,
    tableLabel,
    pagination,
    handleSizeChange,
    handleCurrentChange,
    loading
  };
}
