<template>
|
<div>
|
<TableList
|
:list="records"
|
:pageInfo="pageInfo"
|
:header="tableHeader"
|
:loading="loading"
|
title="电子合同信息"
|
@doAction="doAction"
|
@handleCurrentChange="handleCurrentChange"
|
@handleSizeChange="handleSizeChange"
|
@handleSelectionChange="handleSelectionChange"
|
:isMultipleSelect="isEdit"
|
></TableList>
|
</div>
|
</template>
|
<script>
|
// 电子合同信息
|
import { mapState, mapMutations } from 'vuex'
|
import { qryEContractList, getContractUrl } from '@comprehensive/serve/public'
|
import TableList from '../TableList'
|
import { EContractListHeader } from '@comprehensive/utils/tableHeaders'
|
|
export default {
|
props: {
|
// 申请编号
|
serialNo: {
|
type: String,
|
default: ''
|
}
|
},
|
components: {
|
TableList
|
},
|
data() {
|
return {
|
records: [],
|
loading: false,
|
pageInfo: {
|
currentPage: 1,
|
pageSize: 10,
|
total: 0
|
},
|
tableHeader: [...EContractListHeader]
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
init() {
|
this.pageInfo.currentPage = 1
|
this.qryEContractList()
|
},
|
|
async qryEContractList() {
|
this.loading = true
|
const { serialNo, pageInfo } = this
|
const { applySerialNo } = this.$route.query
|
const objectno = serialNo || applySerialNo
|
|
const res = await qryEContractList({
|
objectno: objectno,
|
...pageInfo
|
})
|
this.loading = false
|
const { records, total } = res.result
|
this.records = records
|
this.pageInfo.total = total
|
},
|
|
// 修改翻页条数
|
handleSizeChange(val) {
|
this.pageInfo.pageSize = val
|
this.qryEContractList()
|
},
|
|
// 修改翻页数
|
handleCurrentChange(val) {
|
this.pageInfo.currentPage = val
|
this.qryEContractList()
|
},
|
|
// 表单事件回调
|
doAction(name, item, index) {
|
// 点击申请编号的处理
|
if (name === 'edocno') {
|
// 点击电子合同编号
|
this.getContractUrl(item.edocno, item.bucketname)
|
}
|
},
|
|
handleSelectionChange(arr) {
|
this.SET_ContractNoArray(arr.map(({ serialno }) => serialno))
|
},
|
|
// 打开pdf
|
async getContractUrl(edocno, bucketname) {
|
const res = await getContractUrl({
|
edocno,
|
bucketname
|
})
|
window.open(res.result.url, '_blank')
|
},
|
|
...mapMutations(['SET_ContractNoArray'])
|
},
|
computed: {
|
...mapState({
|
isEdit: state => state.comprehensiveTransaction.isEdit
|
})
|
},
|
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>
|