|
|
@@ -1 +1,91 @@
|
|
|
-<template>报告列表</template>
|
|
|
+<script setup lang="ts">
|
|
|
+import { ref } from "vue";
|
|
|
+import PageHeader from '@/components/PageHeader.vue';
|
|
|
+import QueryBox from './components/QueryBox.vue';
|
|
|
+import CompanySelect from "./components/CompanySelect.vue";
|
|
|
+import ReportItem from './components/ReportItem.vue';
|
|
|
+
|
|
|
+const currentPage = ref(1);
|
|
|
+
|
|
|
+const companies = ref([
|
|
|
+ {
|
|
|
+ label: "企业名称1",
|
|
|
+ tail: 3,
|
|
|
+ checked: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "企业名称2",
|
|
|
+ tail: 7,
|
|
|
+ checked: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "企业名称3",
|
|
|
+ tail: 12,
|
|
|
+ checked: false,
|
|
|
+ }
|
|
|
+]);
|
|
|
+
|
|
|
+function onCompanySelectChange(event: {index: number, checked: boolean}) {
|
|
|
+ console.log('company select change', event);
|
|
|
+ const company = companies.value[event.index];
|
|
|
+ company.checked = event.checked;
|
|
|
+}
|
|
|
+
|
|
|
+function onPaginationChange(page: number, pageSize: number) {
|
|
|
+ console.log('page', page, 'pageSize', pageSize);
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div class="reports-wrap">
|
|
|
+ <PageHeader title="我的报告" />
|
|
|
+ <div class="query-box-wrap">
|
|
|
+ <QueryBox />
|
|
|
+ </div>
|
|
|
+ <a-row class="main-content" :gutter="24">
|
|
|
+ <a-col :xxl="5" :xl="6" :lg="7" :span="8" class="company-filter-wrap">
|
|
|
+ <h3>我所服务的企业</h3>
|
|
|
+ <CompanySelect :data="companies" @change="onCompanySelectChange" />
|
|
|
+ </a-col>
|
|
|
+ <a-col :xxl="19" :xl="18" :lg="17" :span="16">
|
|
|
+ <ReportItem v-for="(i) in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]" :key="i" class="report-item" />
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <div class="pagination-wrap">
|
|
|
+ <a-pagination v-model:current="currentPage" :total="500" @change="onPaginationChange" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+@import "@/assets/base.scss";
|
|
|
+
|
|
|
+.reports-wrap {
|
|
|
+ .query-box-wrap {
|
|
|
+ width: 80%;
|
|
|
+ margin: 0 auto;
|
|
|
+ }
|
|
|
+
|
|
|
+ .main-content {
|
|
|
+ margin-top: 1.5em;
|
|
|
+
|
|
|
+ .company-filter-wrap {
|
|
|
+ border: 1px solid $border-color-primary;
|
|
|
+ padding: 20px 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .report-item {
|
|
|
+ margin-top: 16px;
|
|
|
+
|
|
|
+ &:first-child {
|
|
|
+ margin-top: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .pagination-wrap {
|
|
|
+ margin-top: 1em;
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|