2024-03-02 17:03:44 +08:00

201 lines
5.7 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="类型">
<a-input placeholder="请选择类型" v-model="queryParam.type" />
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="名称">
<a-input placeholder="请输入名称" v-model="queryParam.meetingName" />
</a-form-item>
</a-col>
<!-- <a-col :md="5" :sm="15">
<a-form-item label="容纳人数">
<a-input placeholder="请输入容纳人数" v-model="queryParam.capacityNum" />
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="扩充人数">
<a-input placeholder="请输入扩充人数" v-model="queryParam.expandNum" />
</a-form-item>
</a-col> -->
<!-- <a-col :md="5" :sm="15">-->
<!-- <a-form-item label="是否展示">-->
<!-- <a-input placeholder="请输入是否展示" v-model="queryParam.isShow" />-->
<!-- </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>
<roomContent-modal ref="modal" @ok="handleOk" />
</a-card>
</template>
<script>
import { STable } from '@/components'
import { getRoomContentList,delRoomContent } from '@/api/admin/meeting/roomContent'
import RoomContentModal from './modules/RoomContentModal.vue'
import { checkPermission } from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
RoomContentModal
},
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: '类型',
dataIndex: 'typeName'
},
{
title: '名称',
dataIndex: 'meetingName'
},
{
title: '容纳人数',
dataIndex: 'capacityNum'
},
{
title: '开始时间',
dataIndex: 'startTime',
sorter: true
},
{
title: '结束时间',
dataIndex: 'endDate',
sorter: true
},
// {
// title: '价格单位1小时、2天、3半天',
// dataIndex: 'priceUnit'
// },
{
title: '金额',
dataIndex: 'money'
},
{
title: '是否展示',
dataIndex: 'isShow'
},
{
title: '房间id',
dataIndex: 'roomId'
},
{
title: '形状',
dataIndex: 'shape'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
},
],
// 加载数据方法 必须为 Promise 对象
loadData: (parameter) => {
return getRoomContentList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('meeting:roomContent:add'),
editEnabel: checkPermission('meeting:roomContent:edit'),
removeEnable: checkPermission('meeting:roomContent: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) {
delRoomContent({ 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>