You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
4.8 KiB
145 lines
4.8 KiB
<template>
|
|
<div class="app-container">
|
|
<Sticky style="margin-bottom: 10px;">
|
|
<div class="sub-navbar">
|
|
<el-button type="success" icon="el-icon-download" size="medium" @click="exportFilingReport">
|
|
导出
|
|
</el-button>
|
|
</div>
|
|
</Sticky>
|
|
<el-form>
|
|
<el-form-item label="审批日期">
|
|
<el-date-picker v-model="listQuery.startDate" placeholder="选择年" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
|
|
<el-date-picker v-model="listQuery.endDate" placeholder="选择月" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" icon="el-icon-search" @click="handleFilter">
|
|
查询
|
|
</el-button>
|
|
<el-button type="info" icon="el-icon-close" @click="clearQuery">
|
|
清空条件
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-card class="box-card">
|
|
<el-table v-adaptive="{bottomOffset: 50}" height="0" :data="exportData">
|
|
<el-table-column type="index" label="序号" align="center" width="60px" />
|
|
<el-table-column prop="baogaobianhao" label="报告编号" align="center" width="150px" />
|
|
<el-table-column prop="jianyanleibie" label="检验类别" align="center" width="120px" />
|
|
<el-table-column prop="shebeizhonglei" label="设备种类" align="center" width="150px" />
|
|
<el-table-column prop="shiyongdanwei" label="使用单位" align="center" />
|
|
<el-table-column prop="zhucedaima" label="注册代码" align="center" width="180px" />
|
|
<el-table-column prop="shiyongdengjibianhao" label="使用登记证编号" align="center" width="150px" />
|
|
<el-table-column prop="jianyanrenyuan" label="检验人员" align="center" width="150px" />
|
|
<el-table-column prop="jianyanriqi" label="检验日期" align="center" width="120px" />
|
|
<el-table-column prop="xiacijianyanriqi" label="下次检验日期" align="center" width="120px" />
|
|
</el-table>
|
|
<el-pagination
|
|
:current-page="listQuery.pageNum"
|
|
:page-size="listQuery.pageRow"
|
|
:total="totalCount"
|
|
:page-sizes="[10, 20, 40, 100]"
|
|
background
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
@size-change="handleSizeChange"
|
|
@current-change="handleCurrentChange"
|
|
/>
|
|
</el-card>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import Sticky from '@/components/Sticky'
|
|
import { getStaticsList, exportFilingFn } from '@/api/common'
|
|
export default {
|
|
name: 'FilingReport',
|
|
components: { Sticky },
|
|
data() {
|
|
return {
|
|
exportData: [], // 归档报告
|
|
totalCount: 1, // 分页组件--数据总条数
|
|
listQuery: {
|
|
pageNum: 1,
|
|
pageRow: 10
|
|
}
|
|
}
|
|
},
|
|
created() {
|
|
this.$set(this.listQuery, 'startDate', this.formatter.dateFormat('YYYY-MM-dd', new Date()))
|
|
this.$set(this.listQuery, 'endDate', this.formatter.dateFormat('YYYY-MM-dd', new Date()))
|
|
},
|
|
methods: {
|
|
/**
|
|
* 归档报告
|
|
*/
|
|
handleFilter() {
|
|
getStaticsList(this.listQuery).then((data) => {
|
|
this.exportData = data.filingReports
|
|
this.totalCount = data.totalCount
|
|
})
|
|
},
|
|
clearQuery() {
|
|
this.$set(this, 'listQuery', {
|
|
pageNum: 1,
|
|
pageRow: 10
|
|
})
|
|
},
|
|
/**
|
|
* 导出量化表
|
|
*/
|
|
exportFilingReport() {
|
|
const listQuery = this.common.deepCopy(this.listQuery)
|
|
delete listQuery.pageNum
|
|
delete listQuery.pageRow
|
|
exportFilingFn(listQuery).then((data) => {
|
|
const exportData = data.filingReports
|
|
import('@/vendor/Export2Excel').then(excel => {
|
|
const header = ['报告编号', '检验类别', '设备种类', '使用单位', '注册代码', '使用登记证编号', '检验人员', '检验日期', '下次检验日期']
|
|
const filterVal = [
|
|
'baogaobianhao',
|
|
'jianyanleibie',
|
|
'shebeizhonglei',
|
|
'shiyongdanwei',
|
|
'zhucedaima',
|
|
'shiyongdengjibianhao',
|
|
'jianyanrenyuan',
|
|
'jianyanriqi',
|
|
'xiacijianyanriqi'
|
|
]
|
|
const data = this.formatJson(filterVal, exportData)
|
|
const filename = '归档统计表'
|
|
const sheetname = '归档统计表'
|
|
excel.export_json_to_excel({
|
|
header,
|
|
data,
|
|
filename,
|
|
sheetname
|
|
})
|
|
})
|
|
})
|
|
},
|
|
formatJson(filterVal, jsonData) {
|
|
return jsonData.map(v =>
|
|
filterVal.map(j => {
|
|
return v[j]
|
|
})
|
|
)
|
|
},
|
|
handleSizeChange(val) {
|
|
// 改变每页数量
|
|
this.listQuery.pageNum = 1
|
|
this.listQuery.pageRow = val
|
|
this.handleFilter()
|
|
},
|
|
handleCurrentChange(val) {
|
|
// 改变页码
|
|
this.listQuery.pageNum = val
|
|
this.handleFilter()
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
</style>
|
|
|