足球馆提交

This commit is contained in:
limqhz
2021-03-03 18:51:39 +08:00
parent 89d28d0a1c
commit 4265bcd54d

View File

@@ -0,0 +1,174 @@
<template>
<div class="app-container calendar-list-container">
<!-- 筛选条件 -->
<div class="filter-container">
<el-input v-model="params.search_like_name" placeholder="健身馆名称" style="width: 280px" clearable class="filter-item" ></el-input>
<el-input v-model="params.search_like_phone" placeholder="联系人号码" style="width: 150px" clearable class="filter-item"></el-input>
<el-select v-model="params.search_eq_status" style="width: 120px" class="filter-item" clearable :placeholder="$t('message.status')">
<el-option
v-for="item in options.status"
:key="item.value"
:label="$t(item.label)"
:value="item.value">
</el-option>
</el-select>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleSearch">搜索</el-button>
<el-button class="filter-item pull-right" type="success" icon="edit" @click="handleCreate">添加</el-button>
</div>
<!-- 列表数据 -->
<Pagination uri="/venues" :request-params="params" ref="pagination" :showIndex="false">
<!-- 列表图片 -->
<el-table-column align="center" label="列表图片">
<template scope="scope">
<img :src="scope.row.listImage" width="50px" hight="50px"/>
</template>
</el-table-column>
<!-- 店名称 -->
<el-table-column align="center" label="店名称">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<!-- 地址 -->
<el-table-column align="center" label="地址">
<template scope="scope">
<span>{{scope.row.address}}</span>
</template>
</el-table-column>
<!-- 联系人 -->
<el-table-column align="center" label="联系人">
<template scope="scope">
<span>{{scope.row.contact}}</span>
</template>
</el-table-column>
<!-- 联系人号码 -->
<el-table-column align="center" label="联系人号码">
<template scope="scope">
<span>{{scope.row.phone}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="状态">
<template scope="scope">
<Status :status="scope.row.status"></Status>
</template>
</el-table-column>
<el-table-column align="center" label="微信二维码">
<template scope="scope">
<img :src="scope.row.codeUrl" @click="openCodeUrl(scope.row.codeUrl)" style="width:100px;height:100px;cursor:pointer">
</template>
</el-table-column>
<!-- 创建时间 -->
<el-table-column align="center" label="创建时间">
<template scope="scope">
<span>{{scope.row.createdTime | parseTime('{y}-{m}-{d} {h}:{i}')}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150">
<template scope="scope">
<el-button size="small" v-if="scope.row.status === 0" type="text" @click="handleEdit(scope.row.id)">编辑</el-button>
<el-button size="small" v-if="scope.row.status === 0" type="text" @click="handleLesson(scope.row.id)">课程安排</el-button>
<el-button size="small" v-if="scope.row.status === 0" type="text" @click="handleEditCard(scope.row.id)">会员卡配置</el-button>
<el-button v-if="!scope.row.codeUrl" size="small" type="text" @click="generateCodeUrl(scope.row)">生成二维码</el-button>
<el-button v-if="scope.row.status === 0" class="danger" size="small" type="text" @click="handleUpdateStatus(scope.row, 1)">禁用</el-button>
<el-button v-if="scope.row.status === 1" size="small" type="text" @click="handleUpdateStatus(scope.row, 0)">启用</el-button>
</template>
</el-table-column>
</Pagination>
</div>
</template>
<script>
import { remove, updateStatus, generate } from '@/api//venue'
import waves from '@/directive/waves.js'// 水波纹指令
import Pagination from '@/components/Pagination'
import { getType } from '@/utils/constants.js'
import { statusVenueOptions } from '@/utils/constants'
import Status from '@/components/Status'
export default {
name: 'venue_list',
components: { Pagination, Status },
directives: {
waves
},
data() {
return {
params: {
search_like_name: '',
search_like_phone: '',
search_eq_type: 3
},
options: {
status: statusVenueOptions
}
}
},
created() {
},
methods: {
openCodeUrl(url) {
window.open(url)
},
generateCodeUrl(row) {
generate(row.id).then(response => {
this.$refs.pagination.pageRequest()
})
},
handleEditCard(id) {
this.$router.push({ path: '/venue/card/index', query: { id: id, type: 3 }})
},
handleLesson(id) {
this.$router.push({ path: '/venue/lesson/index', query: { venueId: id }})
},
/**
* 搜索场馆
*/
handleSearch() {
this.$refs.pagination.handleSearch()
},
/**
* 编辑场馆
*/
handleEdit(id) {
this.$router.push({ path: '/venue/edit', query: { id: id, type: 3 }})
},
/**
* 创建场馆
*/
handleCreate() {
this.$router.push({ path: '/venue/edit', query: { type: 3 }})
},
getType(type) {
return getType(type)
},
/**
* 删除场馆
*/
handleDelete(row) {
this.$confirm('确认删除该场馆?').then(_ => {
remove(row.id).then(response => {
this.$refs.pagination.removeItem(row)
})
}).catch(_ => {})
},
handleUpdateStatus(row, status) {
updateStatus(row.id, status).then(response => {
this.$refs.pagination.pageRequest()
})
}
}
}
</script>