足球馆 & 新增健康报告页面

This commit is contained in:
limqhz
2021-03-07 00:33:08 +08:00
parent 5afe493b81
commit 0b651dc87d
7 changed files with 275 additions and 3 deletions

View File

@@ -38,6 +38,7 @@
<template scope="scope">
<span v-if="scope.row.venueType === 1">篮球馆</span>
<span v-if="scope.row.venueType === 2">健身馆</span>
<span v-if="scope.row.venueType === 3">足球场</span>
</template>
</el-table-column>

View File

@@ -50,6 +50,7 @@
<template scope="scope">
<span v-if="scope.row.veneuType === 1">篮球馆</span>
<span v-if="scope.row.veneuType === 2">健身馆</span>
<span v-if="scope.row.veneuType === 3">足球场</span>
</template>
</el-table-column>
@@ -131,6 +132,10 @@ export default {
{
value: 2,
label: '健身馆'
},
{
value: 3,
label: '足球场'
}
],
status: [

View File

@@ -33,6 +33,7 @@
<el-col :span="5" >场馆类型: </el-col>
<span v-if="form.veneuType === 1">篮球馆</span>
<span v-if="form.veneuType === 2">健身馆</span>
<span v-if="form.veneuType === 2">足球场</span>
</el-col>
<el-col :span="10">
<el-col :span="5" > &nbsp;&nbsp; 订单号: </el-col>
@@ -40,12 +41,12 @@
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-col :span="5" >支付时间: </el-col>
<span>{{form.payTime | parseTime('{y}-{m}-{d} {h}:{i}')}}</span>
</el-col>
<el-col :span="10">
<el-col :span="5" >会员卡类型: </el-col>
<span v-text="form.cardType"></span>

View File

@@ -139,6 +139,7 @@
<template scope="scope">
<span v-if="scope.row.veneuType === 1">篮球馆</span>
<span v-if="scope.row.veneuType === 2">健身馆</span>
<span v-if="scope.row.veneuType === 2">足球场</span>
</template>
</el-table-column>

View File

@@ -15,6 +15,7 @@
<el-col :span="8" class="span-fost">场馆类型: </el-col>
<span v-if="form.veneuType === 1">篮球馆</span>
<span v-if="form.veneuType === 2">健身馆</span>
<span v-if="form.veneuType === 2">足球场</span>
</el-col>
</el-row>
<el-row>
@@ -66,7 +67,7 @@
margin-bottom : 10px;
}
.span-fost{
text-align: right;
text-align: right;
margin-right: 20px;
}
</style>

View File

@@ -0,0 +1,143 @@
<template>
<div class="app-container app-edit">
<el-form class="small-space" :model="form" :rules="rules" ref="form" label-position="right" label-width="120px" style="width: 700px;">
<!-- 用户ID -->
<el-form-item label="用户ID" prop="memberId">
<el-input v-model="form.memberId" placeholder="请输入用户ID"></el-input>
</el-form-item>
<!-- 会员卡类型 -->
<el-form-item label="会员卡类型" prop="cardType">
<el-input v-model="form.cardType" placeholder="请输入会员卡类型"></el-input>
</el-form-item>
<!-- 场馆类型 -->
<el-form-item label="场馆类型" prop="veneuType">
<el-input v-model="form.veneuType" placeholder="请输入场馆类型"></el-input>
</el-form-item>
<!-- 场馆ID -->
<el-form-item label="场馆ID" prop="venueId">
<el-input v-model="form.venueId" placeholder="请输入场馆ID"></el-input>
</el-form-item>
<!-- 有效开始时间 -->
<el-form-item label="有效开始时间" prop="startTime">
<el-input v-model="form.startTime" placeholder="请输入有效开始时间"></el-input>
</el-form-item>
<!-- 有效结束时间 -->
<el-form-item label="有效结束时间" prop="endTime">
<el-input v-model="form.endTime" placeholder="请输入有效结束时间"></el-input>
</el-form-item>
<!-- 状态 -->
<el-form-item label="状态">
<el-radio class="radio" v-model="form.status" :label="1">可用</el-radio>
<el-radio class="radio" v-model="form.status" :label="0">禁用</el-radio>
</el-form-item>
<!-- 平台来源ID -->
<el-form-item label="平台来源ID" prop="platformId">
<el-input v-model="form.platformId" placeholder="请输入平台来源ID"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="onSubmit" @click="handleSave">保存</el-button>
<el-button @click="handleCancel">取消</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { find, save } from '@/api//member/card'
export default {
data() {
return {
form: {
id: undefined,
memberId: '',
cardType: '',
veneuType: '',
venueId: '',
startTime: '',
endTime: '',
status: 1,
platformId: ''
},
onSubmit: false,
// 表单验证规则
rules: {
// mobile: [
// { required: true, message: '请输入手机号码', trigger: 'blur' }
// ],
// username: [
// { required: true, message: '请输入姓名', trigger: 'blur' },
// { max: 15, message: '姓名长度不能超过15个字符', trigger: 'blur' }
// ],
// email: [
// { required: true, message: '请输入邮箱', trigger: 'blur' },
// { type: 'email', message: '您输入的邮箱格式不正确', trigger: 'blur' }
// ],
// password: [
// { required: true, message: '请输入密码', trigger: 'blur' },
// { min: 6, message: '密码长度不能少于6个字符', trigger: 'blur' }
// ]
}
}
},
created() {
if (this.$route.query.id) {
this.form.id = this.$route.query.id
this.findById(this.form.id)
}
},
methods: {
/**
* 查询用户会员卡
*/
findById(id) {
find(id).then(response => {
this.form.memberId = response.memberCard.memberId
this.form.cardType = response.memberCard.cardType
this.form.veneuType = response.memberCard.veneuType
this.form.venueId = response.memberCard.venueId
this.form.startTime = response.memberCard.startTime
this.form.endTime = response.memberCard.endTime
this.form.status = response.memberCard.status
this.form.platformId = response.memberCard.platformId
})
},
/**
* 保存用户会员卡
*/
handleSave() {
this.$refs.form.validate(valid => {
if (!valid) {
return false
}
this.onSubmit = true
save(this.form).then(response => {
this.$router.go(-1)
}).finally(() => {
this.onSubmit = false
})
})
},
/**
* 取消
*/
handleCancel() {
this.$router.go(-1)
}
}
}
</script>

View File

@@ -0,0 +1,120 @@
<template>
<div class="app-container calendar-list-container">
<!-- 筛选条件 -->
<div class="filter-container">
<el-input @keyup.enter.native="handleSearch" style="width: 200px;" clearable class="filter-item" placeholder="昵称" v-model="params.search_like_nickname"></el-input>
<el-select v-model="params.veneuType" style="width: 120px" class="filter-item" clearable placeholder="文档类型">
<el-option v-for="item in options.docType"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleSearch">搜索</el-button>
</div>
<!-- 列表数据 -->
<Pagination uri="/member/cards" :request-params="params" ref="pagination">
<!-- 用户ID -->
<el-table-column align="center" label="用户昵称">
<template scope="scope">
<span>{{scope.row.nickname}}</span>
</template>
</el-table-column>
<!-- 场馆ID -->
<el-table-column align="center" label="报告ID">
<template scope="scope">
<span>{{scope.row.docId}}</span>
</template>
</el-table-column>
<!-- 文档类型 -->
<el-table-column align="center" label="报告类型">
<template scope="scope">
<span>{{scope.row.docType}}</span>
</template>
</el-table-column>
<!-- 报告时间 -->
<el-table-column align="center" label="报告时间">
<template scope="scope">
<span>{{scope.row.date | parseTime('{y}-{m}-{d}')}}</span>
</template>
</el-table-column>
</Pagination>
</div>
</template>
<script>
import { remove } from '@/api//member/card'
import waves from '@/directive/waves.js'// 水波纹指令
import Pagination from '@/components/Pagination'
export default {
name: 'memberCard_list',
components: { Pagination },
directives: {
waves
},
data() {
return {
params: {
veneuType: undefined,
search_eq_card_type: undefined,
search_like_nickname: undefined,
venueName: undefined
},
options: {
docType: [
{
value: 0,
label: '健康报告'
}
],
status: [
]
}
}
},
created() {
},
methods: {
/**
* 搜索用户会员卡
*/
handleSearch() {
// this.$refs.pagination.pageRequest()
this.$refs.pagination.handleSearch()
},
/**
* 编辑用户会员卡
*/
handleEdit(id) {
this.$router.push({ path: '/member/card/edit', query: { id: id }})
},
/**
* 创建用户会员卡
*/
handleCreate() {
this.$router.push({ path: '/member/card/edit' })
},
/**
* 删除用户会员卡
*/
handleDelete(row) {
this.$confirm('确认删除该用户会员卡?').then(_ => {
remove(row.id).then(response => {
this.$refs.pagination.removeItem(row)
})
}).catch(_ => {})
}
}
}
</script>