10 changed files with 732 additions and 625 deletions
-
42src/api/statistics/statistics.js
-
1src/views/archiveUtilize/archiveSearch/index.vue
-
33src/views/archiveUtilize/archiveSearch/module/resultList.vue
-
302src/views/archivesStatistics/annualReportStatistics/index.vue
-
2src/views/archivesStatistics/borrowingStatistics/index.vue
-
394src/views/archivesStatistics/dataStatistics/index.vue
-
169src/views/archivesStatistics/roomCollectionStatistics/index.vue
-
156src/views/archivesStatistics/usageCountStatistics/index.vue
-
156src/views/archivesStatistics/utilizeRegistrationStatistics/index.vue
-
102src/views/components/category/PreviewForm.vue
@ -0,0 +1,42 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
import qs from 'qs' |
||||
|
|
||||
|
// 总量统计
|
||||
|
// fondsIds=1&fondsIds=2&fondsIds=3&fondsIds=4&years=2024&years=2025&years=2026
|
||||
|
export function FetchTotalStatistics(params) { |
||||
|
return request({ |
||||
|
url: 'api/control/getTotalStatistics' + '?' + qs.stringify(params, { indices: false }), |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 管理库档案年度
|
||||
|
export function FetchArchivedAllYear(params) { |
||||
|
return request({ |
||||
|
url: 'api/control/getArchivedAllYear' + '?' + qs.stringify(params, { indices: false }), |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 室藏统计
|
||||
|
export function FetchRoomCollectionStatistics(params) { |
||||
|
return request({ |
||||
|
url: 'api/control/getRoomCollectionStatistics' + '?' + qs.stringify(params, { indices: false }), |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 删除AI辅助著录
|
||||
|
// export function FetchDelAssistEnter(data) {
|
||||
|
// return request({
|
||||
|
// url: 'api/ai/delAssistEnter',
|
||||
|
// method: 'post',
|
||||
|
// data
|
||||
|
// })
|
||||
|
// }
|
||||
|
|
||||
|
export default { |
||||
|
FetchTotalStatistics, |
||||
|
FetchArchivedAllYear, |
||||
|
FetchRoomCollectionStatistics |
||||
|
} |
||||
@ -1,302 +0,0 @@ |
|||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<div class="container-main"> |
|
||||
<div class="elect-cont-left"> |
|
||||
<div class="head-container"> |
|
||||
<el-select v-model="form.fondsId" placeholder="请选择" style="width: 225px;" @change="changeFondsValue($event)"> |
|
||||
<el-option |
|
||||
v-for="(item,index) in fondsOptions" |
|
||||
:key="index" |
|
||||
:label="item.fondsName" |
|
||||
:value="item.id" |
|
||||
/> |
|
||||
</el-select> |
|
||||
</div> |
|
||||
<div class="container-left"> |
|
||||
<span class="right-top-line" /> |
|
||||
<span class="left-bottom-line" /> |
|
||||
<ul class="left-annual-type"> |
|
||||
<li class="active">本单位填报(6)</li> |
|
||||
<li>下级上报(0)</li> |
|
||||
<li>汇总上报(0)</li> |
|
||||
</ul> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
<div class="elect-cont-right"> |
|
||||
<div class="head-container" style="position: relative;"> |
|
||||
<crudOperation :permission="permission"> |
|
||||
<template v-slot:middle> |
|
||||
<el-button slot="reference" size="mini" :loading="crud.delAllLoading" :disabled="crud.selections.length === 0" @click="toDelete(crud.selections)"> |
|
||||
<i class="iconfont icon-shanchu" /> |
|
||||
删除 |
|
||||
</el-button> |
|
||||
</template> |
|
||||
</crudOperation> |
|
||||
<div class="double-click-btn" style="top: 3px;"><i class="iconfont icon-zhuyi-lan" /><span>双击列表数据查看年报详情</span></div> |
|
||||
</div> |
|
||||
<div class="container-right"> |
|
||||
<span class="right-top-line" /> |
|
||||
<span class="left-bottom-line" /> |
|
||||
<el-table |
|
||||
ref="table" |
|
||||
v-loading="loading" |
|
||||
class="archives-table" |
|
||||
:data="tableData" |
|
||||
@selection-change="crud.selectionChangeHandler" |
|
||||
@row-click="clickRowHandler" |
|
||||
@row-dblclick="handleDbClick" |
|
||||
> |
|
||||
<el-table-column type="selection" align="center" width="55" /> |
|
||||
<el-table-column label="年度" prop="year" /> |
|
||||
<el-table-column label="统计模板" prop="template" min-width="150px" /> |
|
||||
<el-table-column label="填报单位" prop="unit" /> |
|
||||
<el-table-column label="创建人" prop="creator" /> |
|
||||
<el-table-column prop="create_time" label="创建日期"> |
|
||||
<template slot-scope="scope"> |
|
||||
<div>{{ scope.row.create_time | parseTime }}</div> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column label="备注" prop="remark" /> |
|
||||
<el-table-column label="状态" prop="status" align="center"> |
|
||||
<template slot-scope="scope"> |
|
||||
<!-- <div>{{ scope.row.status === 0 ? '录入中' : '已汇总' }}</div> --> |
|
||||
<span v-if="scope.row.status === 0" class="row-state row-physical state-active">录入中</span> |
|
||||
<span v-else class="row-state row-binding state-active">已汇总</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<!-- <el-table-column label="操作" align="center" prop="deptsStatus" /> --> |
|
||||
</el-table> |
|
||||
<!--分页组件--> |
|
||||
<!-- <pagination v-if="crud.data.length!==0" /> --> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
<el-dialog append-to-body :close-on-click-modal="false" :before-close="handleCloseDialog" :visible.sync="detailVisible" title="详情"> |
|
||||
<div class="setting-dialog"> |
|
||||
<ul class="annual-dialog-detail"> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">年度:</div> |
|
||||
<div class="detail-item-right">{{ detailContent && detailContent.year }}</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">年报模板:</div> |
|
||||
<div class="detail-item-right">2019</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">填报单位:</div> |
|
||||
<div class="detail-item-right">{{ detailContent && detailContent.unit }}</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">报表模板:</div> |
|
||||
<div class="detail-item-right">{{ detailContent && detailContent.template }}</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">填报人:</div> |
|
||||
<div class="detail-item-right">{{ detailContent && detailContent.creator }}</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">上报至:</div> |
|
||||
<div class="detail-item-right">{{ detailContent && detailContent.upToUint }}</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">上报日期:</div> |
|
||||
<div class="detail-item-right">{{ detailContent && detailContent.upToDate | parseTime }}</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">备注:</div> |
|
||||
<div class="detail-item-right">{{ detailContent && detailContent.remark }}</div> |
|
||||
</li> |
|
||||
<li class="detail-item"> |
|
||||
<div class="detail-item-left">附件列表:</div> |
|
||||
<div class="detail-item-right" /> |
|
||||
</li> |
|
||||
</ul> |
|
||||
<div slot="footer" class="dialog-footer"> |
|
||||
<!-- <router-link to="/local-html">跳转到本地HTML文件</router-link> --> |
|
||||
<el-button type="primary" @click="goToHtml">报表详情</el-button> |
|
||||
<!-- <el-button type="text" @click="detailVisible=false">确定</el-button> --> |
|
||||
</div> |
|
||||
</div> |
|
||||
</el-dialog> |
|
||||
|
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import crudDept from '@/api/system/dept' |
|
||||
import { FetchFondsAll } from '@/api/system/fonds' |
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud' |
|
||||
import crudOperation from '@crud/CRUD.operation' |
|
||||
|
|
||||
const defaultForm = { id: null, fondsId: null } |
|
||||
const data = [ |
|
||||
{ |
|
||||
'year': 2024, |
|
||||
'template': '《档案室基本情况表》(2019版)', |
|
||||
'unit': '武汉飞天智能', |
|
||||
'creator': '系统管理员', |
|
||||
'create_time': '1706078799000', |
|
||||
'status': 1, |
|
||||
'remark': '', |
|
||||
'upToUint': '', |
|
||||
'upToDate': null |
|
||||
}, |
|
||||
{ |
|
||||
'year': 2023, |
|
||||
'template': '《档案室基本情况表》(2019版)', |
|
||||
'unit': '武汉飞天智能', |
|
||||
'creator': '系统管理员', |
|
||||
'create_time': '1706078799000', |
|
||||
'status': 1, |
|
||||
'remark': '', |
|
||||
'upToUint': '武汉飞天智能', |
|
||||
'upToDate': '1706078799000' |
|
||||
}, |
|
||||
{ |
|
||||
'year': 2022, |
|
||||
'template': '《档案室基本情况表》(2019版)', |
|
||||
'unit': '武汉飞天智能', |
|
||||
'creator': '系统管理员', |
|
||||
'create_time': '1706078799000', |
|
||||
'status': 1, |
|
||||
'remark': '', |
|
||||
'upToUint': '', |
|
||||
'upToDate': null |
|
||||
}, |
|
||||
{ |
|
||||
'year': 2021, |
|
||||
'template': '《档案室基本情况表》(2019版)', |
|
||||
'unit': '武汉飞天智能', |
|
||||
'creator': '系统管理员', |
|
||||
'create_time': '1706078799000', |
|
||||
'status': 1, |
|
||||
'remark': '', |
|
||||
'upToUint': '', |
|
||||
'upToDate': null |
|
||||
}, |
|
||||
{ |
|
||||
'year': 2020, |
|
||||
'template': '《档案室基本情况表》(2019版)', |
|
||||
'unit': '武汉飞天智能', |
|
||||
'creator': '系统管理员', |
|
||||
'create_time': '1706078799000', |
|
||||
'status': 1, |
|
||||
'remark': '', |
|
||||
'upToUint': '', |
|
||||
'upToDate': null |
|
||||
}, |
|
||||
{ |
|
||||
'year': 2019, |
|
||||
'template': '《档案室基本情况表》(2019版)', |
|
||||
'unit': '武汉飞天智能', |
|
||||
'creator': '系统管理员', |
|
||||
'create_time': '1706078799000', |
|
||||
'status': 1, |
|
||||
'remark': '', |
|
||||
'upToUint': '', |
|
||||
'upToDate': null |
|
||||
} |
|
||||
] |
|
||||
|
|
||||
export default { |
|
||||
name: 'AnnualReportStatistics', |
|
||||
components: { crudOperation }, |
|
||||
cruds() { |
|
||||
return CRUD({ title: '年报统计', idField: 'deptsId', url: 'api/depts/initDeptsList', crudMethod: { ...crudDept }, optShow: { |
|
||||
add: false, |
|
||||
edit: false, |
|
||||
del: false, |
|
||||
reset: false, |
|
||||
download: false, |
|
||||
group: false |
|
||||
}, |
|
||||
queryOnPresenterCreated: false |
|
||||
}) |
|
||||
}, |
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()], |
|
||||
data() { |
|
||||
return { |
|
||||
permission: {}, |
|
||||
fondsOptions: [], |
|
||||
form: { |
|
||||
'fondsId': null |
|
||||
}, |
|
||||
loading: false, |
|
||||
tableData: data, |
|
||||
detailVisible: false, |
|
||||
detailContent: {} |
|
||||
} |
|
||||
}, |
|
||||
mounted() { |
|
||||
this.getFondsDatas() |
|
||||
}, |
|
||||
methods: { |
|
||||
getFondsDatas() { |
|
||||
FetchFondsAll().then(res => { |
|
||||
this.fondsOptions = res |
|
||||
if (this.fondsOptions.length > 0) { |
|
||||
this.form.fondsId = this.fondsOptions[0].id |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
changeFondsValue(value) { |
|
||||
const obj = this.fondsOptions.find(function(item) { |
|
||||
return item.id === value |
|
||||
}) |
|
||||
console.log('obj', obj) |
|
||||
}, |
|
||||
clickRowHandler(row) { |
|
||||
this.$refs.table.clearSelection() |
|
||||
this.$refs.table.toggleRowSelection(row) |
|
||||
}, |
|
||||
handleDbClick(row) { |
|
||||
this.detailVisible = true |
|
||||
this.detailContent = row |
|
||||
}, |
|
||||
handleCloseDialog() { |
|
||||
this.detailVisible = false |
|
||||
}, |
|
||||
goToHtml() { |
|
||||
// 这里的 'test.html' 是你放在 public 目录下的 HTML 文件名称 |
|
||||
// window.location.href = 'report/annual.htm' |
|
||||
window.open('report/annual.htm', '_blank') |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.left-annual-type{ |
|
||||
// padding: 20px 0; |
|
||||
line-height: 36px; |
|
||||
font-size: 14px; |
|
||||
color: #0c0e1e; |
|
||||
li{ |
|
||||
padding: 0 10px; |
|
||||
&:hover, |
|
||||
&.active{ |
|
||||
background-color: #e8f2ff; |
|
||||
color: #0348f3; |
|
||||
cursor: default; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.annual-dialog-detail{ |
|
||||
.detail-item{ |
|
||||
display: flex; |
|
||||
justify-content: flex-start; |
|
||||
line-height: 38px; |
|
||||
font-size: 16px; |
|
||||
.detail-item-left{ |
|
||||
width: 120px; |
|
||||
text-align: right; |
|
||||
} |
|
||||
.detail-item-right{ |
|
||||
color: #0c0e1e; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
||||
@ -1,287 +1,157 @@ |
|||||
<template> |
<template> |
||||
<div class="app-container"> |
|
||||
<div v-for="(company, companyIndex) in allData" :key="'company-' + companyIndex" class="company-section"> |
|
||||
<h3 class="table-header">{{ company.name }}</h3> |
|
||||
<div class="grid-table"> |
|
||||
<div class="grid-header"> |
|
||||
<div class="grid-header-tr"> |
|
||||
<div class="header-row colspan2 rowspan2 th-style">档案门类</div> |
|
||||
</div> |
|
||||
<div class="grid-header-tr"> |
|
||||
<div class="header-row th-style">收集整编</div> |
|
||||
<div class="row-cell"> |
|
||||
<div class="colspan th-style">回收站</div> |
|
||||
<div class="colspan6 th-style">收集库</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="grid-header-tr"> |
|
||||
<div class="header-row th-style">档案管理</div> |
|
||||
<div class="row-cell"> |
|
||||
<div class="colspan th-style">销毁库</div> |
|
||||
<div class="colspan6 th-style">管理库</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div v-for="(row, rowIndex) in company.tableData" :key="'row-' + rowIndex" class="grid-content"> |
|
||||
<div class="colspan2 rowspan3"> {{ row.category }} </div> |
|
||||
<div> |
|
||||
<div class="colspan rowspan2"> {{ row.recycle }} </div> |
|
||||
<div class="grid-item placeholder-line" /> |
|
||||
</div> |
|
||||
<div> |
|
||||
<div class="grid-item"> |
|
||||
<div class="colspan">未归档</div> |
|
||||
<div class="colspan">{{ row.unfiled }}</div> |
|
||||
<div class="colspan">归档中</div> |
|
||||
<div class="colspan">{{ row.collectArchiving }}</div> |
|
||||
</div> |
|
||||
<div class="grid-item"> |
|
||||
<div class="colspan">未装盒</div> |
|
||||
<div class="colspan">{{ row.collectPacked }}</div> |
|
||||
<div class="colspan">已装盒</div> |
|
||||
<div class="colspan">{{ row.collectPacked }}</div> |
|
||||
</div> |
|
||||
<div class="grid-item placeholder-line " /> |
|
||||
</div> |
|
||||
<div> |
|
||||
<div class="grid-item"> |
|
||||
<div class="colspan rowspan2">全部</div> |
|
||||
<div class="colspan rowspan2">{{ row.collectAll }}</div> |
|
||||
</div> |
|
||||
<div class="grid-item placeholder-line placeholder-line-right" /> |
|
||||
</div> |
|
||||
<div class="colspan rowspan3"> {{ row.destroy }} </div> |
|
||||
<div> |
|
||||
<div class="grid-item"> |
|
||||
<div class="colspan">未装盒</div> |
|
||||
<div class="colspan">{{ row.manageUnpacked }}</div> |
|
||||
<div class="colspan">已装盒</div> |
|
||||
<div class="colspan">{{ row.managePacked }}</div> |
|
||||
</div> |
|
||||
<div class="grid-item"> |
|
||||
<div class="colspan">未入库</div> |
|
||||
<div class="colspan">{{ row.manageUnstored }}</div> |
|
||||
<div class="colspan">已入库</div> |
|
||||
<div class="colspan">{{ row.manageStored }}</div> |
|
||||
</div> |
|
||||
<div class="grid-item"> |
|
||||
<div class="colspan">空闲中</div> |
|
||||
<div class="colspan">{{ row.manageIdle }}</div> |
|
||||
<div class="colspan">审批中</div> |
|
||||
<div class="colspan">{{ row.manageApproving }}</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="grid-item"> |
|
||||
<div class="colspan rowspan3">全部</div> |
|
||||
<div class="colspan rowspan3">{{ row.collectAll }}</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
<div class="app-container row-container"> |
||||
|
<div class="connection-header"> |
||||
|
<div class="head-search"> |
||||
|
<el-select |
||||
|
v-model="fondsIds" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择所属全宗" |
||||
|
style="width: 320px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in fondsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.fondsName" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-select |
||||
|
v-model="years" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择年份" |
||||
|
style="width: 150px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in yearsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="getTotalStatistics">查询</el-button> |
||||
|
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
|
|
||||
|
<el-table class="archives-table" :data="allData" :summary-method="getSummaries" show-summary border style="width: 100%;"> |
||||
|
<el-table-column type="index" label="序号" width="60" align="center" /> |
||||
|
<el-table-column prop="categoryName" label="档案门类(国标分类)" align="center" /> |
||||
|
<el-table-column prop="archivesCount" label="案卷数(卷)" align="center" /> |
||||
|
<el-table-column prop="singleCount" label="卷内件数(件)" align="center" /> |
||||
|
<el-table-column prop="fileCount" label="电子原文数量(份)" align="center" /> |
||||
|
<el-table-column prop="fileSize" label="电子档案存储容量(GB)" align="center" /> |
||||
|
</el-table> |
||||
|
|
||||
</div> |
</div> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
const allData = [ |
|
||||
{ |
|
||||
name: '武汉飞天智能', |
|
||||
tableData: [ |
|
||||
{ |
|
||||
category: '文书档案(文件)', |
|
||||
recycle: 4, |
|
||||
unfiled: 0, |
|
||||
collectArchiving: 0, |
|
||||
collectPacked: 1, |
|
||||
collectAll: 5, |
|
||||
destroy: 4, |
|
||||
manageUnpacked: 4, |
|
||||
managePacked: 1, |
|
||||
manageUnstored: 4, |
|
||||
manageStored: 1, |
|
||||
manageIdle: 5, |
|
||||
manageApproving: 0, |
|
||||
manageAll: 5 |
|
||||
}, |
|
||||
{ |
|
||||
category: '文书档案(案卷)', |
|
||||
recycle: 4, |
|
||||
unfiled: 0, |
|
||||
collectArchiving: 0, |
|
||||
collectPacked: 1, |
|
||||
collectAll: 5, |
|
||||
destroy: 4, |
|
||||
manageUnpacked: 4, |
|
||||
managePacked: 1, |
|
||||
manageUnstored: 4, |
|
||||
manageStored: 1, |
|
||||
manageIdle: 5, |
|
||||
manageApproving: 0, |
|
||||
manageAll: 5 |
|
||||
}, |
|
||||
{ |
|
||||
category: '互联网项目', |
|
||||
recycle: 4, |
|
||||
unfiled: 0, |
|
||||
collectArchiving: 0, |
|
||||
collectPacked: 1, |
|
||||
collectAll: 5, |
|
||||
destroy: 4, |
|
||||
manageUnpacked: 4, |
|
||||
managePacked: 1, |
|
||||
manageUnstored: 4, |
|
||||
manageStored: 1, |
|
||||
manageIdle: 5, |
|
||||
manageApproving: 0, |
|
||||
manageAll: 5 |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
name: '闵行客(武汉)科技', |
|
||||
tableData: [ |
|
||||
{ |
|
||||
category: '文书档案(文件)', |
|
||||
recycle: 4, |
|
||||
unfiled: 0, |
|
||||
collectArchiving: 0, |
|
||||
collectPacked: 1, |
|
||||
collectAll: 5, |
|
||||
destroy: 4, |
|
||||
manageUnpacked: 4, |
|
||||
managePacked: 1, |
|
||||
manageUnstored: 4, |
|
||||
manageStored: 1, |
|
||||
manageIdle: 5, |
|
||||
manageApproving: 0, |
|
||||
manageAll: 5 |
|
||||
}, |
|
||||
{ |
|
||||
category: '文书档案(案卷)', |
|
||||
recycle: 4, |
|
||||
unfiled: 0, |
|
||||
collectArchiving: 0, |
|
||||
collectPacked: 1, |
|
||||
collectAll: 5, |
|
||||
destroy: 4, |
|
||||
manageUnpacked: 4, |
|
||||
managePacked: 1, |
|
||||
manageUnstored: 4, |
|
||||
manageStored: 1, |
|
||||
manageIdle: 5, |
|
||||
manageApproving: 0, |
|
||||
manageAll: 5 |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
] |
|
||||
|
import { FetchFondsAll } from '@/api/system/fonds' |
||||
|
import { FetchTotalStatistics, FetchArchivedAllYear } from '@/api/statistics/statistics' |
||||
|
|
||||
export default { |
export default { |
||||
name: 'DataStatistics', |
name: 'DataStatistics', |
||||
data() { |
data() { |
||||
return { |
return { |
||||
allData: allData |
|
||||
|
allData: [], |
||||
|
fondsOptions: [], |
||||
|
fondsIds: [], |
||||
|
yearsOptions: [], |
||||
|
years: [] |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getFondsDatas() |
||||
|
this.getArchivedAllYearDatas() |
||||
|
this.getTotalStatistics() |
||||
|
}, |
||||
|
methods: { |
||||
|
getSummaries(param) { |
||||
|
const { columns, data } = param |
||||
|
const sums = [] |
||||
|
console.log('columns', columns) |
||||
|
console.log('data', data) |
||||
|
columns.forEach((column, index) => { |
||||
|
if (index === 1) { |
||||
|
sums[index] = '合计(全库总量)' |
||||
|
return |
||||
|
} |
||||
|
const values = data.map(item => Number(item[column.property])) |
||||
|
console.log(values) |
||||
|
if (!values.every(value => isNaN(value))) { |
||||
|
if (column.property === 'fileSize') { |
||||
|
sums[index] = values.reduce((prev, curr) => { |
||||
|
return prev + curr |
||||
|
}, 0).toFixed(3) |
||||
|
} else { |
||||
|
sums[index] = values.reduce((prev, curr) => { |
||||
|
return prev + curr |
||||
|
}, 0) |
||||
|
} |
||||
|
} else { |
||||
|
sums[index] = '-' |
||||
|
} |
||||
|
}) |
||||
|
return sums |
||||
|
}, |
||||
|
resetQuery() { |
||||
|
this.fondsIds = [] |
||||
|
this.years = [] |
||||
|
this.getTotalStatistics() |
||||
|
}, |
||||
|
getFondsDatas() { |
||||
|
FetchFondsAll().then(res => { |
||||
|
this.fondsOptions = res |
||||
|
// 默认全选所有档案库 |
||||
|
// this.fondsIds = res.map(item => item.id) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
getArchivedAllYearDatas() { |
||||
|
FetchArchivedAllYear().then(res => { |
||||
|
this.yearsOptions = res.map(item => ({ |
||||
|
id: item, |
||||
|
name: item |
||||
|
})) |
||||
|
// 默认全选所有年份 |
||||
|
// this.years = res.map(item => item) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
checkAndQuery() { |
||||
|
// 当两个数据都加载完成后才执行查询 |
||||
|
if (this.fondsOptions.length > 0 && this.yearsOptions.length > 0) { |
||||
|
this.getTotalStatistics() |
||||
|
} |
||||
|
}, |
||||
|
getTotalStatistics() { |
||||
|
FetchTotalStatistics({ |
||||
|
fondsIds: this.fondsIds, |
||||
|
years: this.years |
||||
|
}).then(res => { |
||||
|
this.allData = res |
||||
|
}) |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
$base-line-height: 30px; |
|
||||
$border-color: #ddd; |
|
||||
$bg-color: #e8f2ff; |
|
||||
|
|
||||
.grid-table{ |
|
||||
border-left: 1px solid $border-color; |
|
||||
} |
|
||||
|
|
||||
.app-container { |
.app-container { |
||||
height: calc(100vh - 140px); |
height: calc(100vh - 140px); |
||||
line-height: $base-line-height; |
|
||||
} |
|
||||
|
|
||||
.company-section { |
|
||||
margin-bottom: 20px; |
|
||||
} |
|
||||
|
|
||||
.table-header{ |
|
||||
height: 40px; |
|
||||
line-height: 40px; |
|
||||
text-align: center; |
|
||||
border: 1px solid $border-color; |
|
||||
border-bottom: none; |
|
||||
width: calc(100vw - 297px); |
|
||||
color: #000; |
|
||||
background-color: $bg-color; |
|
||||
} |
|
||||
|
|
||||
.grid-header{ |
|
||||
display: flex; |
|
||||
justify-content: flex-start; |
|
||||
|
|
||||
.grid-header-tr{ |
|
||||
border-top: 1px solid $border-color; |
|
||||
text-align: center; |
|
||||
|
.head-search{ |
||||
|
.el-select, |
||||
|
.el-button{ |
||||
|
margin-right: 10px; |
||||
|
} |
||||
} |
} |
||||
|
|
||||
.header-row{ |
|
||||
@extend .cell-base; |
|
||||
|
::v-deep .el-table__footer{ |
||||
|
font-size: 14px; |
||||
} |
} |
||||
} |
|
||||
|
|
||||
.cell-base { |
|
||||
border-right: 1px solid $border-color; |
|
||||
border-bottom: 1px solid $border-color; |
|
||||
text-align: center; |
|
||||
} |
|
||||
|
|
||||
.colspan{ |
|
||||
@extend .cell-base; |
|
||||
width: calc((100vw - 298px) / 16); |
|
||||
} |
|
||||
|
|
||||
.colspan2{ |
|
||||
@extend .colspan; |
|
||||
width: calc((100vw - 298px) / 16 * 2); |
|
||||
} |
|
||||
|
|
||||
.colspan6{ |
|
||||
@extend .colspan; |
|
||||
width: calc((100vw - 298px) / 16 * 6); |
|
||||
} |
|
||||
.th-style{ |
|
||||
// background-color: $bg-color; |
|
||||
color: #000; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.placeholder-line{ |
|
||||
height: $base-line-height + 1; |
|
||||
border-bottom: 1px solid $border-color; |
|
||||
} |
|
||||
.placeholder-line-right{ |
|
||||
border-right: 1px solid $border-color; |
|
||||
} |
|
||||
|
|
||||
.rowspan2{ |
|
||||
height: $base-line-height * 2 + 2; |
|
||||
line-height: $base-line-height * 2 + 2; |
|
||||
} |
|
||||
|
|
||||
.rowspan3{ |
|
||||
height: $base-line-height * 3 + 3; |
|
||||
line-height: $base-line-height * 3 + 3; |
|
||||
} |
|
||||
|
|
||||
.row-cell{ |
|
||||
display: flex; |
|
||||
justify-content: flex-start; |
|
||||
div{ |
|
||||
border-right:1px solid $border-color; |
|
||||
|
::v-deep .el-table__empty-block{ |
||||
|
border-bottom: 1px solid #e4e7ed; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.grid-content, .grid-item{ |
|
||||
display: flex; |
|
||||
justify-content: flex-start; |
|
||||
} |
|
||||
</style> |
</style> |
||||
@ -0,0 +1,169 @@ |
|||||
|
<template> |
||||
|
<div class="app-container row-container"> |
||||
|
<div class="connection-header"> |
||||
|
<div class="head-search"> |
||||
|
<el-select |
||||
|
v-model="fondsIds" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择所属全宗" |
||||
|
style="width: 320px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in fondsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.fondsName" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-select |
||||
|
v-model="years" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择年份" |
||||
|
style="width: 150px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in yearsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="getRoomCollectionStatistics">查询</el-button> |
||||
|
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<el-table class="archives-table" :data="displayData" :summary-method="getSummaries" show-summary border style="width: 100%;"> |
||||
|
<el-table-column type="index" label="序号" width="60" align="center" /> |
||||
|
<el-table-column prop="categoryName" label="档案门类" align="center" /> |
||||
|
<el-table-column prop="year" label="统计年度" align="center" /> |
||||
|
<el-table-column prop="permanentCount" label="永久保管(Y)数量" align="center" /> |
||||
|
<el-table-column prop="thirtyYearCount" label="定期30年(D30)数量" align="center" /> |
||||
|
<el-table-column prop="tenYearCount" label="定期10年(D10)数量" align="center" /> |
||||
|
<el-table-column prop="totalCount" label="该类型该年度总量" align="center" /> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { FetchFondsAll } from '@/api/system/fonds' |
||||
|
import { FetchRoomCollectionStatistics, FetchArchivedAllYear } from '@/api/statistics/statistics' |
||||
|
|
||||
|
export default { |
||||
|
name: 'RoomCollectionStatistics', |
||||
|
data() { |
||||
|
return { |
||||
|
allData: [], |
||||
|
fondsOptions: [], |
||||
|
fondsIds: [], |
||||
|
yearsOptions: [], |
||||
|
years: [] |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
displayData() { |
||||
|
// 将嵌套数据转换为扁平化格式 |
||||
|
const result = [] |
||||
|
this.allData.forEach(category => { |
||||
|
category.statistics.forEach(stat => { |
||||
|
result.push({ |
||||
|
categoryName: category.categoryName, |
||||
|
year: stat.year + '年度', |
||||
|
permanentCount: stat.permanentCount, |
||||
|
thirtyYearCount: stat.thirtyYearCount, |
||||
|
tenYearCount: stat.tenYearCount, |
||||
|
totalCount: stat.totalCount |
||||
|
}) |
||||
|
}) |
||||
|
}) |
||||
|
return result |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getFondsDatas() |
||||
|
this.getArchivedAllYearDatas() |
||||
|
this.getRoomCollectionStatistics() |
||||
|
}, |
||||
|
methods: { |
||||
|
getSummaries(param) { |
||||
|
const { columns, data } = param |
||||
|
const sums = [] |
||||
|
columns.forEach((column, index) => { |
||||
|
if (index === 0) { |
||||
|
sums[index] = '-' |
||||
|
} else if (index === 1) { |
||||
|
sums[index] = '该年度全类型合计' |
||||
|
} else if (index === 2) { |
||||
|
sums[index] = '-' |
||||
|
} else { |
||||
|
const values = data.map(item => Number(item[column.property])) |
||||
|
if (!values.every(value => isNaN(value))) { |
||||
|
sums[index] = values.reduce((prev, curr) => prev + curr, 0) |
||||
|
} else { |
||||
|
sums[index] = '-' |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
return sums |
||||
|
}, |
||||
|
resetQuery() { |
||||
|
this.fondsIds = [] |
||||
|
this.years = [] |
||||
|
this.getRoomCollectionStatistics() |
||||
|
}, |
||||
|
getFondsDatas() { |
||||
|
FetchFondsAll().then(res => { |
||||
|
this.fondsOptions = res |
||||
|
// 默认全选所有档案库 |
||||
|
// this.fondsIds = res.map(item => item.id) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
getArchivedAllYearDatas() { |
||||
|
FetchArchivedAllYear().then(res => { |
||||
|
this.yearsOptions = res.map(item => ({ |
||||
|
id: item, |
||||
|
name: item |
||||
|
})) |
||||
|
// 默认全选所有年份 |
||||
|
// this.years = res.map(item => item) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
checkAndQuery() { |
||||
|
// 当两个数据都加载完成后才执行查询 |
||||
|
if (this.fondsOptions.length > 0 && this.yearsOptions.length > 0) { |
||||
|
this.getRoomCollectionStatistics() |
||||
|
} |
||||
|
}, |
||||
|
getRoomCollectionStatistics() { |
||||
|
FetchRoomCollectionStatistics({ |
||||
|
fondsIds: this.fondsIds, |
||||
|
years: this.years |
||||
|
}).then(res => { |
||||
|
this.allData = res |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.app-container { |
||||
|
height: calc(100vh - 140px); |
||||
|
.head-search{ |
||||
|
.el-select, |
||||
|
.el-button{ |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
} |
||||
|
::v-deep .el-table__footer{ |
||||
|
font-size: 14px; |
||||
|
} |
||||
|
::v-deep .el-table__empty-block{ |
||||
|
border-bottom: 1px solid #e4e7ed; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,156 @@ |
|||||
|
<template> |
||||
|
<div class="app-container row-container"> |
||||
|
<div class="connection-header"> |
||||
|
<div class="head-search"> |
||||
|
<el-select |
||||
|
v-model="fondsIds" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择所属全宗" |
||||
|
style="width: 320px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in fondsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.fondsName" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-select |
||||
|
v-model="years" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择年份" |
||||
|
style="width: 150px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in yearsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="getTotalStatistics">查询</el-button> |
||||
|
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="table-container"> |
||||
|
<el-table class="archives-table" :data="allData" :summary-method="getSummaries" show-summary border style="width: 100%;"> |
||||
|
<el-table-column type="index" label="序号" width="60" align="center" /> |
||||
|
<el-table-column prop="categoryName" label="档案门类(国标分类)" align="center" /> |
||||
|
<el-table-column prop="archivesCount" label="案卷数(卷)" align="center" /> |
||||
|
<el-table-column prop="singleCount" label="卷内件数(件)" align="center" /> |
||||
|
<el-table-column prop="fileCount" label="电子原文数量(份)" align="center" /> |
||||
|
<el-table-column prop="fileSize" label="电子档案存储容量(GB)" align="center" /> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { FetchFondsAll } from '@/api/system/fonds' |
||||
|
import { FetchTotalStatistics, FetchArchivedAllYear } from '@/api/statistics/statistics' |
||||
|
|
||||
|
export default { |
||||
|
name: 'UsageCountStatistics', |
||||
|
data() { |
||||
|
return { |
||||
|
allData: [], |
||||
|
fondsOptions: [], |
||||
|
fondsIds: [], |
||||
|
yearsOptions: [], |
||||
|
years: [] |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getFondsDatas() |
||||
|
this.getArchivedAllYearDatas() |
||||
|
this.getTotalStatistics() |
||||
|
}, |
||||
|
methods: { |
||||
|
getSummaries(param) { |
||||
|
const { columns, data } = param |
||||
|
const sums = [] |
||||
|
console.log('columns', columns) |
||||
|
console.log('data', data) |
||||
|
columns.forEach((column, index) => { |
||||
|
if (index === 1) { |
||||
|
sums[index] = '合计(全库总量)' |
||||
|
return |
||||
|
} |
||||
|
const values = data.map(item => Number(item[column.property])) |
||||
|
console.log(values) |
||||
|
if (!values.every(value => isNaN(value))) { |
||||
|
if (column.property === 'fileSize') { |
||||
|
sums[index] = values.reduce((prev, curr) => { |
||||
|
return prev + curr |
||||
|
}, 0).toFixed(3) |
||||
|
} else { |
||||
|
sums[index] = values.reduce((prev, curr) => { |
||||
|
return prev + curr |
||||
|
}, 0) |
||||
|
} |
||||
|
} else { |
||||
|
sums[index] = '-' |
||||
|
} |
||||
|
}) |
||||
|
return sums |
||||
|
}, |
||||
|
resetQuery() { |
||||
|
this.fondsIds = [] |
||||
|
this.years = [] |
||||
|
this.getTotalStatistics() |
||||
|
}, |
||||
|
getFondsDatas() { |
||||
|
FetchFondsAll().then(res => { |
||||
|
this.fondsOptions = res |
||||
|
// 默认全选所有档案库 |
||||
|
// this.fondsIds = res.map(item => item.id) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
getArchivedAllYearDatas() { |
||||
|
FetchArchivedAllYear().then(res => { |
||||
|
this.yearsOptions = res.map(item => ({ |
||||
|
id: item, |
||||
|
name: item |
||||
|
})) |
||||
|
// 默认全选所有年份 |
||||
|
// this.years = res.map(item => item) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
checkAndQuery() { |
||||
|
// 当两个数据都加载完成后才执行查询 |
||||
|
if (this.fondsOptions.length > 0 && this.yearsOptions.length > 0) { |
||||
|
this.getTotalStatistics() |
||||
|
} |
||||
|
}, |
||||
|
getTotalStatistics() { |
||||
|
FetchTotalStatistics({ |
||||
|
fondsIds: this.fondsIds, |
||||
|
years: this.years |
||||
|
}).then(res => { |
||||
|
this.allData = res |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.app-container { |
||||
|
height: calc(100vh - 140px); |
||||
|
.head-search{ |
||||
|
.el-select, |
||||
|
.el-button{ |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
} |
||||
|
::v-deep .el-table__footer{ |
||||
|
font-size: 14px; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,156 @@ |
|||||
|
<template> |
||||
|
<div class="app-container row-container"> |
||||
|
<div class="connection-header"> |
||||
|
<div class="head-search"> |
||||
|
<el-select |
||||
|
v-model="fondsIds" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择所属全宗" |
||||
|
style="width: 320px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in fondsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.fondsName" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-select |
||||
|
v-model="years" |
||||
|
multiple |
||||
|
collapse-tags |
||||
|
placeholder="请选择年份" |
||||
|
style="width: 150px;" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in yearsOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
<el-button class="filter-item filter-search" size="mini" type="success" icon="el-icon-search" @click="getTotalStatistics">查询</el-button> |
||||
|
<el-button class="filter-item filter-refresh" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="table-container"> |
||||
|
<el-table class="archives-table" :data="allData" :summary-method="getSummaries" show-summary border style="width: 100%;"> |
||||
|
<el-table-column type="index" label="序号" width="60" align="center" /> |
||||
|
<el-table-column prop="categoryName" label="档案门类(国标分类)" align="center" /> |
||||
|
<el-table-column prop="archivesCount" label="案卷数(卷)" align="center" /> |
||||
|
<el-table-column prop="singleCount" label="卷内件数(件)" align="center" /> |
||||
|
<el-table-column prop="fileCount" label="电子原文数量(份)" align="center" /> |
||||
|
<el-table-column prop="fileSize" label="电子档案存储容量(GB)" align="center" /> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { FetchFondsAll } from '@/api/system/fonds' |
||||
|
import { FetchTotalStatistics, FetchArchivedAllYear } from '@/api/statistics/statistics' |
||||
|
|
||||
|
export default { |
||||
|
name: 'UtilizeRegistrationStatistics', |
||||
|
data() { |
||||
|
return { |
||||
|
allData: [], |
||||
|
fondsOptions: [], |
||||
|
fondsIds: [], |
||||
|
yearsOptions: [], |
||||
|
years: [] |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getFondsDatas() |
||||
|
this.getArchivedAllYearDatas() |
||||
|
this.getTotalStatistics() |
||||
|
}, |
||||
|
methods: { |
||||
|
getSummaries(param) { |
||||
|
const { columns, data } = param |
||||
|
const sums = [] |
||||
|
console.log('columns', columns) |
||||
|
console.log('data', data) |
||||
|
columns.forEach((column, index) => { |
||||
|
if (index === 1) { |
||||
|
sums[index] = '合计(全库总量)' |
||||
|
return |
||||
|
} |
||||
|
const values = data.map(item => Number(item[column.property])) |
||||
|
console.log(values) |
||||
|
if (!values.every(value => isNaN(value))) { |
||||
|
if (column.property === 'fileSize') { |
||||
|
sums[index] = values.reduce((prev, curr) => { |
||||
|
return prev + curr |
||||
|
}, 0).toFixed(3) |
||||
|
} else { |
||||
|
sums[index] = values.reduce((prev, curr) => { |
||||
|
return prev + curr |
||||
|
}, 0) |
||||
|
} |
||||
|
} else { |
||||
|
sums[index] = '-' |
||||
|
} |
||||
|
}) |
||||
|
return sums |
||||
|
}, |
||||
|
resetQuery() { |
||||
|
this.fondsIds = [] |
||||
|
this.years = [] |
||||
|
this.getTotalStatistics() |
||||
|
}, |
||||
|
getFondsDatas() { |
||||
|
FetchFondsAll().then(res => { |
||||
|
this.fondsOptions = res |
||||
|
// 默认全选所有档案库 |
||||
|
// this.fondsIds = res.map(item => item.id) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
getArchivedAllYearDatas() { |
||||
|
FetchArchivedAllYear().then(res => { |
||||
|
this.yearsOptions = res.map(item => ({ |
||||
|
id: item, |
||||
|
name: item |
||||
|
})) |
||||
|
// 默认全选所有年份 |
||||
|
// this.years = res.map(item => item) |
||||
|
// this.checkAndQuery() |
||||
|
}) |
||||
|
}, |
||||
|
checkAndQuery() { |
||||
|
// 当两个数据都加载完成后才执行查询 |
||||
|
if (this.fondsOptions.length > 0 && this.yearsOptions.length > 0) { |
||||
|
this.getTotalStatistics() |
||||
|
} |
||||
|
}, |
||||
|
getTotalStatistics() { |
||||
|
FetchTotalStatistics({ |
||||
|
fondsIds: this.fondsIds, |
||||
|
years: this.years |
||||
|
}).then(res => { |
||||
|
this.allData = res |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.app-container { |
||||
|
height: calc(100vh - 140px); |
||||
|
.head-search{ |
||||
|
.el-select, |
||||
|
.el-button{ |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
} |
||||
|
::v-deep .el-table__footer{ |
||||
|
font-size: 14px; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue