diff --git a/src/assets/home/baosongguanli@2x.png b/src/assets/home/baosongguanli@2x.png new file mode 100644 index 0000000..dcd069e Binary files /dev/null and b/src/assets/home/baosongguanli@2x.png differ diff --git a/src/assets/home/bohui@2x.png b/src/assets/home/bohui@2x.png new file mode 100644 index 0000000..4597682 Binary files /dev/null and b/src/assets/home/bohui@2x.png differ diff --git a/src/assets/home/daishenpi@2x.png b/src/assets/home/daishenpi@2x.png new file mode 100644 index 0000000..962e571 Binary files /dev/null and b/src/assets/home/daishenpi@2x.png differ diff --git a/src/assets/home/livelihood_Information.png b/src/assets/home/livelihood_Information.png new file mode 100644 index 0000000..9e70e37 Binary files /dev/null and b/src/assets/home/livelihood_Information.png differ diff --git a/src/assets/home/minganci@2x.png b/src/assets/home/minganci@2x.png new file mode 100644 index 0000000..5f815ad Binary files /dev/null and b/src/assets/home/minganci@2x.png differ diff --git a/src/assets/home/my_process_icon.png b/src/assets/home/my_process_icon.png new file mode 100644 index 0000000..ca3cb40 Binary files /dev/null and b/src/assets/home/my_process_icon.png differ diff --git a/src/assets/home/quanliangbaosong@2x.png b/src/assets/home/quanliangbaosong@2x.png new file mode 100644 index 0000000..c8fcf5d Binary files /dev/null and b/src/assets/home/quanliangbaosong@2x.png differ diff --git a/src/assets/home/quanliangzhishi@2x.png b/src/assets/home/quanliangzhishi@2x.png new file mode 100644 index 0000000..29b9e99 Binary files /dev/null and b/src/assets/home/quanliangzhishi@2x.png differ diff --git a/src/assets/home/shenpi@2x.png b/src/assets/home/shenpi@2x.png new file mode 100644 index 0000000..c333cb1 Binary files /dev/null and b/src/assets/home/shenpi@2x.png differ diff --git a/src/assets/home/shenpitongguo@2x.png b/src/assets/home/shenpitongguo@2x.png new file mode 100644 index 0000000..d62f54f Binary files /dev/null and b/src/assets/home/shenpitongguo@2x.png differ diff --git a/src/assets/home/shixiao@2x.png b/src/assets/home/shixiao@2x.png new file mode 100644 index 0000000..5f3447a Binary files /dev/null and b/src/assets/home/shixiao@2x.png differ diff --git a/src/views/home/components/table/columns.tsx b/src/views/home/components/table/columns.tsx new file mode 100644 index 0000000..e1a0d27 --- /dev/null +++ b/src/views/home/components/table/columns.tsx @@ -0,0 +1,63 @@ +import { tableData } from "../../data"; +import { delay } from "@pureadmin/utils"; +import { ref, onMounted, reactive } from "vue"; +import type { PaginationProps } from "@pureadmin/table"; +import Empty from "./empty.svg?component"; + +export function useColumns() { + const dataList = ref([]); + const loading = ref(true); + const columns: TableColumnList = [ + { + sortable: false, + label: "知识标题", + prop: "questionNumber" + }, + { + sortable: false, + label: "发文日期", + prop: "date" + }, + { + sortable: false, + label: "政策类型", + prop: "resolveNumber" + }, + { + label: "最新时间", + prop: "date" + } + ]; + + /** 分页配置 */ + const pagination = reactive({ + pageSize: 7, + currentPage: 1, + layout: "prev, pager, next", + total: 0, + align: "center" + }); + + function onCurrentChange(page: number) { + console.log("onCurrentChange", page); + loading.value = true; + delay(300).then(() => { + loading.value = false; + }); + } + + onMounted(() => { + dataList.value = tableData; + pagination.total = dataList.value.length; + loading.value = false; + }); + + return { + Empty, + loading, + columns, + dataList, + pagination, + onCurrentChange + }; +} diff --git a/src/views/home/components/table/empty.svg b/src/views/home/components/table/empty.svg new file mode 100644 index 0000000..5c8b211 --- /dev/null +++ b/src/views/home/components/table/empty.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/home/components/table/index.vue b/src/views/home/components/table/index.vue new file mode 100644 index 0000000..26dd56b --- /dev/null +++ b/src/views/home/components/table/index.vue @@ -0,0 +1,70 @@ + + + + + + + diff --git a/src/views/home/data.ts b/src/views/home/data.ts new file mode 100644 index 0000000..19c09e4 --- /dev/null +++ b/src/views/home/data.ts @@ -0,0 +1,61 @@ +import { dayjs, getRandomIntBetween } from "./utils"; +/** 数据统计 */ +const tableData = Array.from({ length: 30 }).map((_, index) => { + return { + id: index + 1, + requiredNumber: getRandomIntBetween(13500, 19999), + questionNumber: getRandomIntBetween(12600, 16999), + resolveNumber: getRandomIntBetween(13500, 17999), + satisfaction: getRandomIntBetween(95, 100), + date: dayjs().subtract(index, "day").format("YYYY-MM-DD") + }; +}); + +const processList = [ + { + label: "全量报送", + value: 24, + bgImage: "/src/assets/home/quanliangbaosong@2x.png" + }, + { + label: "待审批", + value: 24, + bgImage: "/src/assets/home/daishenpi@2x.png" + }, + { + label: "审批通过", + value: 24, + bgImage: "/src/assets/home/shenpitongguo@2x.png" + }, + { + label: "驳回", + value: 0, + bgImage: "/src/assets/home/bohui@2x.png" + }, + { + label: "失效", + value: 24, + bgImage: "/src/assets/home/shixiao@2x.png" + } +]; + +const commonList = [ + { + label: "报送知识管理", + bgImage: "/src/assets/home/baosongguanli@2x.png" + }, + { + label: "全量知识管理", + bgImage: "/src/assets/home/quanliangzhishi@2x.png" + }, + { + label: "敏感词管理", + bgImage: "/src/assets/home/minganci@2x.png" + }, + { + label: "知识审批", + bgImage: "/src/assets/home/shenpi@2x.png" + } +]; + +export { tableData, processList, commonList }; diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 9b5115e..53fcc28 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -1,11 +1,356 @@ + + diff --git a/src/views/home/utils.ts b/src/views/home/utils.ts new file mode 100644 index 0000000..f8a9e03 --- /dev/null +++ b/src/views/home/utils.ts @@ -0,0 +1,6 @@ +export { default as dayjs } from "dayjs"; +export { useDark, cloneDeep } from "@pureadmin/utils"; + +export function getRandomIntBetween(min: number, max: number) { + return Math.floor(Math.random() * (max - min + 1)) + min; +}