put-data-more.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <div class="page-wrap page-wrap-put-books">
  3. <tool-bar
  4. :text="['official_name', 'book_name']"
  5. :label="['公众号名称', '书名']"
  6. @confirm="onSearch"
  7. v-model:loading="inSearching"
  8. >
  9. <template #picker>
  10. <p class="label">日期</p>
  11. <a-range-picker />
  12. </template>
  13. </tool-bar>
  14. <a-table :columns="columns" :data-source="list" :scroll="{x: 18500}"></a-table>
  15. </div>
  16. </template>
  17. <script lang="ts">
  18. import { defineComponent, reactive, toRefs, ref } from "vue";
  19. import ToolBar from "@/components/tool-bar/index.vue";
  20. import { TableColumnOfMoreStat } from "../_pageOptions/table-put";
  21. import { getDeliveryMoreStatList } from "@/api";
  22. import usePagination from "@/hooks/usePagination";
  23. import { moreStatPlanItem, PageOptions } from "@/types/api";
  24. const PutData = defineComponent({
  25. components: {
  26. ToolBar,
  27. },
  28. setup() {
  29. let { loading, meta, tablePageOptions } = usePagination();
  30. const state = reactive({
  31. list: ref<moreStatPlanItem[]>([]),
  32. columns: TableColumnOfMoreStat,
  33. inSearching: false,
  34. });
  35. const onSearch = async (fields: Record<string, string>) => {
  36. try {
  37. const { official_name, book_name, start_time, end_time } = fields;
  38. const { data } = await getDeliveryMoreStatList({
  39. start_time,
  40. end_time,
  41. official_name,
  42. book_name,
  43. page: 1,
  44. });
  45. state.list = data.list;
  46. meta.value = data.meta;
  47. } catch (e) {
  48. console.log(e);
  49. } finally {
  50. console.log(state.inSearching);
  51. state.inSearching = false;
  52. }
  53. };
  54. getDeliveryMoreStatList().then((res) => {
  55. state.list = res.data.list;
  56. });
  57. const handleTableChange = (pagination: PageOptions) => {
  58. const { current, pageSize, total } = pagination;
  59. getDeliveryMoreStatList({ page: current }).then((res) => {
  60. state.list = res.data.list;
  61. meta.value = res.data.meta;
  62. });
  63. };
  64. return { ...toRefs(state), onSearch, handleTableChange, meta };
  65. },
  66. });
  67. export default PutData;
  68. </script>