<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="收费名称"> <a-input placeholder="请输入收费名称" v-model="queryParam.chargingName"></a-input> </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> <!-- 查询区域-END --> <!-- <div style="text-align:right;margin-bottom:10px;"> <a-button type="primary" @click="visible = true">新增就收费标准</a-button> </div> --> <!-- 操作按钮区域 --> <div class="table-operator"> <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> <a-button type="primary" icon="download" @click="handleExportXls('t_property_chargrule')">导出</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="pagination" :loading="loading" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" class="j-table-force-nowrap" @change="handleTableChange" > <span slot="action" slot-scope="text, record"> <a @click="handleEdit(record)">编辑</a> <a-divider type="vertical"/> <a-dropdown> <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> <a-menu slot="overlay"> <a-menu-item> <a @click="handleDetail(record)">详情</a> </a-menu-item> <a-menu-item> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> <a>删除</a> </a-popconfirm> </a-menu-item> <a-menu-item v-if="record.auditStatus === 'waitAudit'"> <a-popconfirm title="确定审核吗?" ok-text="通过" cancel-text="驳回" @cancel="() => handleVerify(record.id, 'notPass')" @confirm="() => handleVerify(record.id, 'auditPass')"> <a>审核</a> </a-popconfirm> </a-menu-item> </a-menu> </a-dropdown> </span> </a-table> </div> <!-- table区域-end --> <property-chargrule-modal ref="modalForm" @ok="modalFormOk"></property-chargrule-modal> </a-card> </template> <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' import {filterDictTextByCache} from '@/components/dict/JDictSelectUtil' import PropertyChargruleModal from './modules/PropertyChargruleModal' const columns = [ { title: '收费名称', dataIndex: 'chargingName', key: 'chargingName' }, { title: '收费方式', dataIndex: 'chargingCycle', key: 'chargingCycle', customRender: function(text) { return filterDictTextByCache('chargingCycle', text); } },{ title: '授权物业数量', dataIndex: 'empowerNum', key: 'empowerNum' },{ title: '添加人', dataIndex: 'createBy', key: 'createBy' },{ title: '收费金额(元)', dataIndex: 'chargingMoney', key: 'chargingMoney' }, { title: '创建时间', dataIndex: 'createTime', key: 'createTime' }, { title: '审核状态', dataIndex: 'auditStatus', key: 'auditStatus', customRender: function(text) { return filterDictTextByCache('auditStatus', text); } }, { title: '操作', dataIndex: 'action', scopedSlots: { customRender: 'action' }, align: 'center', width: 150 } ] export default { name: 'costListAsync', components: { PropertyChargruleModal }, mixins: [JeecgListMixin], data() { return { // 表头 columns: columns, loading: false, pagination: { total: 0, current: 1, pageSize: 10, showSizeChanger: true }, url: { list: "/property-company/property/propertyChargrule/list", delete: '/property-company/property/propertyChargrule/delete', deleteBatch: '/property-company/property/propertyChargrule/deleteBatch', exportXlsUrl: "/property-company/property/propertyChargrule/exportXls" }, dictOptions: [], } }, methods: { handleVerify(id, auditStatus) { AuditUpdateCostApi({ id, auditStatus }).then(()=> { this.$message.success(`${auditStatus === 'auditPass' ? '审核成功' : '驳回成功'}`); this.loadData(); }) } } } </script> <style scoped> @import '~@assets/less/common.less'; </style>