<template> <a-card :bordered="false"> <!-- 查询区域 --> <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> <a-col :md="6" :sm="8"> <a-form-item label="结算编号"> <j-input placeholder="请输入结算编号" v-model="queryParam.balanceNum"></j-input> </a-form-item> </a-col> <a-col :md="6" :sm="8"> <a-form-item label="状态"> <a-select style="width: 100%" v-model="queryParam.chargeTypeId" placeholder="请选择状态"> <a-select-option v-for="item in auditList" :key="item.value" :value="item.value">{{item.label}}</a-select-option> </a-select> </a-form-item> </a-col> <a-col :md="6" :sm="8"> <a-form-item label="缴费开始时间"> <a-date-picker placeholder="缴费开始时间" valueFormat="YYYY-MM-DD" v-model="queryParam.createTime_begin"></a-date-picker> </a-form-item> </a-col> <a-col :md="6" :sm="8"> <a-form-item label="缴费结束时间"> <a-date-picker placeholder="缴费结束时间" valueFormat="YYYY-MM-DD" v-model="queryParam.createTime_end"></a-date-picker> </a-form-item> </a-col> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <a-col :md="6" :sm="24"> <a-button type="primary" @click="searchQuery">查询</a-button> <a-button style="margin-left: 8px" @click="searchReset">重置</a-button> </a-col> </span> </a-row> </a-form> </div> <!-- 操作按钮区域 --> <div class="table-operator"> <!-- <a-button @click="propertyDetails(1)" type="primary" icon="plus">新增</a-button> --> <!-- <a-button type="primary" icon="download" @click="handleExportXls('t_property_settled')">导出</a-button> --> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> <a-menu-item key="1" @click="batchDel"><a-icon type="delete" />删除</a-menu-item> </a-menu> <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> </a-dropdown> </div> <!-- table区域-begin --> <div> <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 <a style="margin-left: 24px" v-if="selectedRowKeys.length > 0" @click="onClearSelected">清空</a> </div> --> <a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap" @change="handleTableChange"> <span slot="empowerEndDate" slot-scope="text, record"> <span v-if="record.empowerEndDate">{{record.empowerBeginDate}} 至 {{record.empowerEndDate}} </span> </span> <span slot="propertyStatus" slot-scope="text, record"> <span>{{record.propertyStatus === 'normal' ? '正常' : '冻结'}}</span> </span> <span slot="action" slot-scope="text, record"> <a href="javascript:;" @click="propertyDetails(1, record.id)">详情</a> <template v-if="record.balanceStatus === 2"> <a-divider type="vertical" /> <a href="javascript:;" @click="propertyDetails(2, record.id)">审核</a> </template> </span> </a-table> </div> <!-- table区域-end --> </a-card> </template> <script> import { auditPropertyApi, freezeOrPropertyApi } from '@/api/api' import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { filterDictTextByStatic, BALANCE_STATUS } from '@/assets/static.js' const columns = [ { title: '结算单号', dataIndex: 'balanceNum', key: 'balanceNum', align: 'center', }, { title: '提交时间', dataIndex: 'balanceDate', key: 'balanceDate', align: 'center', }, { title: '身份', dataIndex: 'platformName', key: 'platformName', align: 'center', }, { title: '提交人', dataIndex: 'updateBy', key: 'updateBy', align: 'center', }, { title: '结算总金额', dataIndex: 'balanceMoney', key: 'balanceMoney', align: 'center', }, { title: '账单数量', dataIndex: 'balanceCount', key: 'balanceCount', align: 'center', }, { title: '结算方式', dataIndex: 'balanceWay', key: 'balanceWay', align: 'center', }, { title: '结算状态', dataIndex: 'balanceStatus', key: 'balanceStatus', align: 'center', customRender: function (text) { return filterDictTextByStatic(BALANCE_STATUS, text) } }, { title: '操作', dataIndex: 'action', scopedSlots: { customRender: 'action' }, align: 'center', fixed: 'right', width: 150, }, ] export default { name: 'PermissionListAsync', mixins: [JeecgListMixin], data() { return { auditList: BALANCE_STATUS, columns: columns, url: { list: '/property-central/partners/shareBalance/list', } } }, methods: { propertyDetails(type, id) { this.$router.push({ path: '/benefits/SettlementDetails?id=' + id +'&type=' + type, }) }, onLoadDetail(record, type) { record['registAdress'] = [record.provinceCode, record.cityCode, record.countyCode] if (type === 'edit') { this.handleEdit(record) } else { this.handleDetail(record) } }, onExamine(record) { let that = this this.$confirm({ title: '确认审核此物业?', closable: true, okText: '审核通过', cancelText: '审核驳回', onOk() { return auditPropertyApi({ id: record.id, auditStatus: 'auditPass', }).then((res) => { that.searchQuery() }) }, onCancel() { return auditPropertyApi({ id: record.id, auditStatus: 'refuse', }).then((res) => { that.searchQuery() }) }, }) }, onStatus(record) { let that = this this.$confirm({ title: `确认${record.propertyStatus === 'normal' ? '冻结' : '解冻'}此物业?`, closable: true, okText: `${record.propertyStatus === 'normal' ? '冻结' : '解冻'}`, onOk() { return freezeOrPropertyApi({ id: record.id, status: `${record.propertyStatus === 'normal' ? 'freeze' : 'normal'}`, }).then((res) => { that.searchQuery() }) }, onCancel() {}, }) }, handlePerssion(roleId) { this.$refs.modalUserRole.show(roleId) } }, } </script> <style scoped> @import '~@assets/less/common.less'; </style>