Files
income_payments_enterprise_…/src/views/mineContract/MineContract.vue
T

186 lines
5.7 KiB
Vue

<template>
<div class="main-box">
<a-card :bordered="false">
<!--查询区域begin-->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="8" :md="8" :sm="24">
<a-form-item label="合同编号/名称">
<a-input placeholder="请输入合同编号/名称" v-model="queryParam.contractName" :maxLength="50"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="8" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button class="reset-button" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!--查询区域end-->
<!-- 表格区域-->
<div>
<a-table
ref="table"
rowKey="id"
size="middle"
:scroll="{x: 1200}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
@change="handleTableChange"
class="j-table-force-nowrap">
<!-- 项目名称-->
<template slot="projectName" slot-scope="text, record">
<j-ellipsis :value="text" :length="20" class="project-name" @click="openDetail(record.id)"></j-ellipsis>
</template>
<!-- 作废-->
<template slot="invalid" slot-scope="text, record">
<j-ellipsis :value="text" :length="18"></j-ellipsis>
<a-tag color="red" v-if="record.status === 6">已作废</a-tag>
</template>
<template slot="text" slot-scope="text, record">
<j-ellipsis :value="text" :length="18"></j-ellipsis>
</template>
<template slot="action" slot-scope="text, record">
<a @click="viewMailInfo(record.id)">查看</a>
</template>
</a-table>
</div>
<!-- 表格区域end-->
</a-card>
<project-detail-modal ref="projectDetail" @openContractModule="openDetail"></project-detail-modal>
<mine-contract-module :visible.sync="detailVisible"
:contract-id="contractId"
:title="modalTitle"
@openProjectDetail="openDetailModal"></mine-contract-module>
</div>
</template>
<script>
import { JeroListMixin } from '@/mixins/JeroListMixin'
import MineContractModule from '@views/mineContract/modules/MineContractModule'
import { getContractDetailById } from '@api/incomePaymentsApi'
import ProjectDetailModal from '@views/MessagePage/ProjectDetailModal'
export default {
name: 'MineContract',
components: { MineContractModule, ProjectDetailModal },
mixins: [JeroListMixin],
data() {
return {
columns: [
{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
}
}, {
title: '合同编号',
dataIndex: 'contractNum',
align: 'center',
scopedSlots: { customRender: 'text' }
}, {
title: '合同名称',
dataIndex: 'contractName',
align: 'center',
scopedSlots: { customRender: 'invalid' }
}, {
title: '关联项目',
dataIndex: 'associatedProject',
align: 'center',
scopedSlots: { customRender: 'text' }
}, {
title: '签订单位',
dataIndex: 'signedCompanyTemporaryName',
align: 'center',
scopedSlots: { customRender: 'text' }
}, {
title: '签订单位联系人',
dataIndex: 'signedContactsTemporaryName',
align: 'center',
scopedSlots: { customRender: 'text' }
}, {
title: '合同总金额',
dataIndex: 'contractAmount',
align: 'center',
width: 200,
scopedSlots: { customRender: 'text' }
}, {
title: '创建时间',
dataIndex: 'createTime',
align: 'center',
width: 160,
scopedSlots: { customRender: 'text' }
}, {
title: '邮寄信息',
dataIndex: 'postStatus',
align: 'center',
width: 100,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: '/contract/payIncomeContract/queryCompanyPageList'
},
contractId: '',
detailVisible: false,
projectType: null,
modalTitle: ''
}
},
methods: {
getContractDetailById,
/**
* 分页变化获取数据
* @param pagination
*/
handlePageChange(pagination) {
this.ipagination.current = pagination.current
this.ipagination.pageSize = pagination.pageSize
this.loadData()
},
/**
* 查看详情
* @param id
*/
openDetail(id) {
this.modalTitle = '合同信息'
this.contractId = id
this.detailVisible = true
},
/**
* 查看邮寄信息
* @param id
*/
viewMailInfo(id) {
this.modalTitle = '合同邮寄信息'
this.contractId = id
this.detailVisible = true
},
/*
* 打开项目详情模态框
* */
openDetailModal(record) {
this.projectType = record.projectType
this.$refs.projectDetail.open(record)
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>