<template>
|
<div>
|
<TableList
|
:list="records"
|
:pageInfo="pageInfo"
|
:header="tableHeader"
|
:loading="loading"
|
title="历史电子邮件信息"
|
@doAction="doAction"
|
@handleCurrentChange="handleCurrentChange"
|
@handleSizeChange="handleSizeChange"
|
></TableList>
|
</div>
|
</template>
|
<script>
|
// 历史电子邮件信息列表查询
|
import {
|
contractHistoryList,
|
downloadAttachmentFile
|
} from '@comprehensive/serve/public'
|
import TableList from '../TableList'
|
import { historyElectronicsHeader } from '@comprehensive/utils/tableHeaders'
|
|
const recordButtons = [
|
{
|
label: '下载附件',
|
id: 1,
|
prop: 'downLoadButton'
|
}
|
]
|
|
export default {
|
props: {},
|
components: {
|
TableList
|
},
|
data() {
|
return {
|
records: [],
|
loading: false,
|
tempRecord: {},
|
pageInfo: {
|
currentPage: 1,
|
pageSize: 10,
|
total: 0
|
},
|
tableHeader: [...historyElectronicsHeader]
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
init() {
|
this.pageInfo = {
|
currentPage: 1,
|
pageSize: 10,
|
total: 0
|
}
|
this.getList()
|
},
|
|
async getList() {
|
this.loading = true
|
const { pageInfo } = this
|
const { applySerialNo } = this.$route.query
|
const res = await contractHistoryList({
|
applySerialNo: applySerialNo,
|
...pageInfo
|
})
|
this.loading = false
|
const { records, total } = res.result
|
this.records = records.map(item => {
|
const tempButtons = recordButtons.filter(
|
({ prop }) => item[prop] === '1'
|
)
|
return { ...item, buttons: [...tempButtons] }
|
})
|
this.pageInfo.total = total
|
},
|
|
// 修改翻页条数
|
handleSizeChange(val) {
|
this.pageInfo.pageSize = val
|
this.getList()
|
},
|
|
// 修改翻页数
|
handleCurrentChange(val) {
|
this.pageInfo.currentPage = val
|
this.getList()
|
},
|
|
// 表格按钮事件处理
|
doAction(item, record, buttonItem) {
|
const { prop } = buttonItem
|
this.tempRecord = { ...record }
|
if (prop === 'downLoadButton') {
|
this.download()
|
}
|
},
|
|
// 下载附件
|
async download() {
|
const { tempRecord } = this
|
const { sendId } = tempRecord
|
await downloadAttachmentFile({
|
sendId
|
})
|
}
|
}
|
// watch: {
|
// serialNo() {
|
// this.init()
|
// }
|
// }
|
}
|
</script>
|
|
<style lang="postcss" scoped>
|
.form-section {
|
display: flex;
|
align-items: baseline;
|
& .search {
|
margin: 10px 0 0 50px;
|
padding: 0;
|
}
|
}
|
</style>
|