dbd-meeting-html/src/views/admin/meeting/ReservationPersonList.vue
2024-03-07 09:41:32 +08:00

189 lines
5.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="邀请人id">
<a-input placeholder="请输入邀请人id" v-model="queryParam.userId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="参与人id">
<a-input placeholder="请输入参与人id" v-model="queryParam.participantId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="预约记录id">
<a-input placeholder="请输入预约记录id" v-model="queryParam.reservationId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="参与人名称">
<a-input placeholder="请输入参与人名称" v-model="queryParam.participantName"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="参与人姓名">
<a-input placeholder="请输入参与人姓名" v-model="queryParam.participantPhone"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
</span>
</s-table>
<reservationPerson-modal ref="modal" @ok="handleOk"/>
</a-card>
</template>
<script>
import {STable} from '@/components'
import {delReservationPerson} from '@/api/admin/meeting/reservationPerson'
import ReservationPersonModal from './modules/ReservationPersonModal.vue'
import {checkPermission} from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
ReservationPersonModal
},
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
form: this.$form.createForm(this),
mdl: {},
// 高级搜索 展开/关闭
advanced: false,
// 查询参数
queryParam: {},
// 表头
columns: [
{
title: '邀请人id',
dataIndex: 'userId'
},
{
title: '参与人id',
dataIndex: 'participantId'
},
{
title: '状态 0接受1拒绝',
dataIndex: 'status'
},
{
title: '创建时间',
dataIndex: 'joinTime',
sorter: true
},
{
title: '预约记录id',
dataIndex: 'reservationId'
},
{
title: '参与人名称',
dataIndex: 'participantName'
},
{
title: '参与人姓名',
dataIndex: 'participantPhone'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// 加载数据方法 必须为 Promise 对象
loadData: parameter => {
return getReservationPersonList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('meeting:reservationPerson:add'),
editEnabel: checkPermission('meeting:reservationPerson:edit'),
removeEnable: checkPermission('meeting:reservationPerson:remove')
}
},
filters: {
},
created () {
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
this.$refs.modal.add()
},
handleEdit (record) {
this.$refs.modal.edit(record)
},
handleOk () {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delReservationPerson({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.handleOk()
} else {
this.$message.error(res.msg)
}
this.selectedRowKeys = []
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>