|
|
@@ -6,6 +6,7 @@ import QueryBox from './components/report-list/QueryBox.vue';
|
|
|
import type { FieldType } from './components/report-list/QueryBox.vue';
|
|
|
import CompanySelect from "./components/report-list/CompanySelect.vue";
|
|
|
import ReportItem from './components/report-list/ReportItem.vue';
|
|
|
+import ReportStatusItem from './components/report-list/ReportStatusItem.vue'
|
|
|
import * as reportService from "@/services/report.service"
|
|
|
import * as reportsService from "@/services/reports.service"
|
|
|
import { CompLog } from "@/libs/log.lib";
|
|
|
@@ -19,6 +20,22 @@ const logError = CompLog.logErr(_componentName)
|
|
|
|
|
|
const currentPage = ref(1);
|
|
|
|
|
|
+const reportStatus = ref([
|
|
|
+ {
|
|
|
+ label: '全部',
|
|
|
+ value: undefined
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '编写中',
|
|
|
+ value: 0
|
|
|
+ },{
|
|
|
+ label: '已完成',
|
|
|
+ value: 1
|
|
|
+ }
|
|
|
+])
|
|
|
+
|
|
|
+const status = ref(undefined)
|
|
|
+
|
|
|
interface CompanyAggProp {
|
|
|
id?: number;
|
|
|
label: string;
|
|
|
@@ -44,7 +61,7 @@ const templateSelect = ref<InstanceType<typeof TemplateSelect> | null>(null)
|
|
|
|
|
|
function fetchReports(companyIds?: Array<number>, page?: number, field?: string, keyword?: string) {
|
|
|
spinning.value = true;
|
|
|
- reportsService.query(page, companyIds, field, keyword).then((resp) => {
|
|
|
+ reportsService.query(page, companyIds, field, keyword, status.value).then((resp) => {
|
|
|
total.value = resp.total;
|
|
|
reports.value = resp.reports;
|
|
|
spinning.value = false;
|
|
|
@@ -95,6 +112,11 @@ function onTemplateSelected(templateId: number | null) {
|
|
|
}).catch(logError);
|
|
|
}
|
|
|
|
|
|
+function onFilterChange() {
|
|
|
+ currentPage.value = 1
|
|
|
+ fetchReports(companyIdSelected.value, currentPage.value)
|
|
|
+}
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
fetchReports()
|
|
|
// 左侧企业名录统计
|
|
|
@@ -120,6 +142,10 @@ onMounted(() => {
|
|
|
<div class="query-box-wrap">
|
|
|
<QueryBox v-model:field="field" v-model:keyword="keyword" @search="onQuery" />
|
|
|
</div>
|
|
|
+ <div class="filter-box-wrap">
|
|
|
+ <a-radio-group :options="reportStatus" v-model:value="status" @change="onFilterChange()"/>
|
|
|
+ </div>
|
|
|
+
|
|
|
<a-row class="main-content" :gutter="24">
|
|
|
<a-col :xxl="5" :xl="6" :lg="7" :span="8" class="company-filter-wrap">
|
|
|
<h3>我所服务的企业</h3>
|
|
|
@@ -147,6 +173,10 @@ onMounted(() => {
|
|
|
margin: 0 auto;
|
|
|
}
|
|
|
|
|
|
+ .filter-box-wrap{
|
|
|
+ display: flex;
|
|
|
+ margin: 1.5em 21.1%;
|
|
|
+ }
|
|
|
.main-content {
|
|
|
margin-top: 1.5em;
|
|
|
|