dbd-meeting-html/src/views/admin/meeting/ReservationList.vue
2024-02-25 11:17:48 +08:00

274 lines
8.1 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.roomContentId"/>
</a-form-item>
</a-col>
<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.ticketId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="企业id">
<a-input placeholder="请输入企业id" v-model="queryParam.customerId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="主题">
<a-input placeholder="请输入主题" v-model="queryParam.title"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="预约状态">
<a-input placeholder="请输入预约状态" v-model="queryParam.stauts"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="是否申请售后0否1是">
<a-input placeholder="请输入是否申请售后0否1是" v-model="queryParam.isAfterSale"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="订单号">
<a-input placeholder="请输入订单号" v-model="queryParam.oderNumber"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="订单价格">
<a-input placeholder="请输入订单价格" v-model="queryParam.orderMoney"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="订单取消原因">
<a-input placeholder="请输入订单取消原因" v-model="queryParam.cancelResaon"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="会议室id">
<a-input placeholder="请输入会议室id" v-model="queryParam.meetingId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="备注">
<a-input placeholder="请输入备注" v-model="queryParam.remake"/>
</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>
<reservation-modal ref="modal" @ok="handleOk"/>
</a-card>
</template>
<script>
import {STable} from '@/components'
import {delReservation,getReservationList} from '@/api/admin/meeting/reservation'
import ReservationModal from './modules/ReservationModal.vue'
import {checkPermission} from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
ReservationModal
},
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: 'roomContentId'
},
{
title: '用户id',
dataIndex: 'userId'
},
{
title: '优惠卷id',
dataIndex: 'ticketId'
},
{
title: '企业id',
dataIndex: 'customerId'
},
{
title: '主题',
dataIndex: 'title'
},
{
title: '预约状态',
dataIndex: 'stauts'
},
{
title: '是否申请售后0否1是',
dataIndex: 'isAfterSale'
},
{
title: '订单号',
dataIndex: 'oderNumber'
},
{
title: '订单价格',
dataIndex: 'orderMoney'
},
{
title: '订单取消时间',
dataIndex: 'cancelTime',
sorter: true
},
{
title: '订单取消原因',
dataIndex: 'cancelResaon'
},
{
title: '参观目的1领导视察2参观学习3合作调研4同行交流',
dataIndex: 'visitType'
},
{
title: '讲解需求1需要0不需要',
dataIndex: 'explainNeedType'
},
{
title: '会议室需求1需要0不需要',
dataIndex: 'meetingNeedType'
},
{
title: '会议室id',
dataIndex: 'meetingId'
},
{
title: '摄影需求1需要0不需要',
dataIndex: 'photographType'
},
{
title: '预约-开始时间',
dataIndex: 'startTime',
sorter: true
},
{
title: '预约-结束时间',
dataIndex: 'endTime',
sorter: true
},
{
title: '备注',
dataIndex: 'remake'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// 加载数据方法 必须为 Promise 对象
loadData: parameter => {
return getReservationList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('meeting:reservation:add'),
editEnabel: checkPermission('meeting:reservation:edit'),
removeEnable: checkPermission('meeting:reservation: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) {
delReservation({ 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>