gdy96 4 år sedan
förälder
incheckning
176c3a39fa
3 ändrade filer med 43 tillägg och 8 borttagningar
  1. 16 0
      src/api/index.ts
  2. 7 0
      src/types/api.d.ts
  3. 20 8
      src/views/put/put-data.vue

+ 16 - 0
src/api/index.ts

@@ -12,6 +12,7 @@ import {
   ADpushSimple,
   IOfficials,
   ADPlanItem,
+  deliveryPlanItem,
 } from "@/types/api";
 
 /**
@@ -102,3 +103,18 @@ export const getADPlanlist = (
 ): AxiosPromise<IList<ADPlanItem>> => {
   return axios("/ad/adData", { params: query });
 };
+
+/**
+ * @description: 获取投放数据列表
+ */
+export const getDeliveryStatList = (
+  query: Partial<{
+    start_time: string;
+    end_time: string;
+    official_name: string;
+    book_name: string;
+    page: number;
+  }> = { page: 1 }
+): AxiosPromise<IList<deliveryPlanItem>> => {
+  return axios("/delivery/stat", { params: query });
+};

+ 7 - 0
src/types/api.d.ts

@@ -103,3 +103,10 @@ export interface ADPlanItem {
   budget: string;
   aim: string;
 }
+
+export interface deliveryPlanItem {
+  date: string;
+  official_id: number;
+  official_name: string;
+  book_name: string;
+}

+ 20 - 8
src/views/put/put-data.vue

@@ -1,35 +1,47 @@
 <template>
   <div class="page-wrap page-wrap-put-books">
-    <tool-bar :text="['account', 'user']"
-              :label="['公众号名称', '用户名']">
+    <tool-bar :text="['account', 'user']" :label="['公众号名称', '用户名']">
       <template #picker>
         <p class="label">日期</p>
         <a-range-picker />
       </template>
     </tool-bar>
-    <a-table :columns="columns"
-             :data-source="list"
-             :scroll="{x: 1800}"></a-table>
+    <a-table :columns="columns" :data-source="list" :scroll="{x: 1800}"></a-table>
   </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, reactive, toRefs } from "vue";
+import { defineComponent, reactive, toRefs, ref } from "vue";
 
 import ToolBar from "@/components/tool-bar/index.vue";
 
 import { TableColumnOfPutData } from "../_pageOptions/table-put";
 
+import { getDeliveryStatList } from "@/api";
+import usePagination from "@/hooks/usePagination";
+
+import { deliveryPlanItem, PageOptions } from "@/types/api";
+
 const PutData = defineComponent({
   components: {
     ToolBar,
   },
   setup() {
+    let { loading, meta, tablePageOptions } = usePagination();
     const data = reactive({
-      list: [],
+      list: ref<deliveryPlanItem[]>([]),
       columns: TableColumnOfPutData,
     });
-
+    getDeliveryStatList().then((res) => {
+      data.list = res.data.list;
+    });
+    const handleTableChange = (pagination: PageOptions) => {
+      const { current, pageSize, total } = pagination;
+      getDeliveryStatList({ page: current }).then((res) => {
+        data.list = res.data.list;
+        meta = res.data.meta;
+      });
+    };
     return { ...toRefs(data) };
   },
 });