603 lines
28 KiB
HTML
603 lines
28 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<style>
|
|
|
|
</style>
|
|
<div id="app" v-cloak>
|
|
<guava ref="guava">
|
|
<template>
|
|
<el-card shadow="never">
|
|
<div class="btn-group tool-button mt5">
|
|
<el-date-picker v-model="pageForm.year"
|
|
type="year" value-format="yyyy" style="width: 200px" placeholder="选择年">
|
|
</el-date-picker>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-input placeholder="请输入内容" clearable v-model="pageForm.searchKeyword"
|
|
@keyup.enter.native="doSearch">
|
|
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
|
style="width: 110px;">
|
|
<el-option label="场地名称" value="name"></el-option>
|
|
<el-option label="场地地址" value="address"></el-option>
|
|
</el-select>
|
|
</el-input>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-select v-model="pageForm.siteType" placeholder="场地类型" clearable
|
|
style="width: 200px;">
|
|
<el-option v-for="item in activityTypeList" :label="item.text" :value="item.value"></el-option>
|
|
</el-select>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
|
</div>
|
|
|
|
<div class="pull-right offscreen-right mt5">
|
|
<el-button type="primary" icon="el-icon-plus" @click="openAdd">新建场地</el-button>
|
|
</div>
|
|
</el-card>
|
|
|
|
<el-card shadow="never" class="mt20">
|
|
<el-table :data="tableData" row-key="id" @sort-change="pageOrder"
|
|
v-loading="tableLoading">
|
|
<el-table-column align="center" header-align="center" label="序号" type="index">
|
|
<template scope="scope">
|
|
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" show-overflow-tooltip header-align="center" label="场地名称"
|
|
prop="name"></el-table-column>
|
|
<el-table-column align="center" show-overflow-tooltip header-align="center" label="排序编号"
|
|
prop="sortNum"></el-table-column>
|
|
<el-table-column align="center" show-overflow-tooltip header-align="center" label="场地地址"
|
|
prop="address"></el-table-column>
|
|
<el-table-column align="center" show-overflow-tooltip header-align="center" label="联系人"
|
|
prop="contact_person"></el-table-column>
|
|
<el-table-column align="center" show-overflow-tooltip header-align="center" label="联系方式"
|
|
prop="contact_phone"></el-table-column>
|
|
|
|
<el-table-column align="center" :show-overflow-tooltip="true" header-align="center" label="开启状态"
|
|
prop="state">
|
|
<template slot-scope="{row}">
|
|
<el-switch disabled v-model="row.state" active-color="#13ce66"
|
|
inactive-color="#ff4949"></el-switch>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column align="center" label="操作" width="250px">
|
|
<template slot-scope="{row}">
|
|
<el-button type="primary" @click="openEdit(row.id)" size="mini">编辑</el-button>
|
|
<el-button type="danger" @click="doDelete(row)" size="mini">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
<!--#include("/layouts/pagination.html"){}#-->
|
|
</el-card>
|
|
|
|
|
|
</template>
|
|
|
|
<template #edit>
|
|
<vi-title title="输入场地信息"></vi-title>
|
|
<el-form :model="formData" ref="addForm" :rules="formRules" label-width="120px">
|
|
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-form-item prop="name" label="场地名称">
|
|
<el-input maxlength="100" placeholder="请输入场地名称" v-model="formData.name"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="address" label="场地地址">
|
|
<el-input maxlength="100" placeholder="请输入场地地址" v-model="formData.address"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-form-item prop="contact_person" label="联系人">
|
|
<el-input v-model="formData.contact_person" placeholder="请输入联系人" type="text"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="contact_phone" label="联系方式">
|
|
<el-input v-model="formData.contact_phone" placeholder="请输入联系方式" type="text"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-form-item prop="create_username" label="创建人">
|
|
<el-input readonly v-model="formData.create_username" type="text"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="create_time" label="创建时间">
|
|
<el-input readonly v-model="formData.create_time" type="text"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-form-item prop="typeId" label="场地类型">
|
|
<el-select v-model="formData.typeId" style="width: 100%" filterable
|
|
placeholder="请选择场地类型">
|
|
<el-option v-for="item in activityTypeList" :label="item.meetingTypeName"
|
|
:value="item.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="容纳人数" prop="maxNum">
|
|
<el-input v-model="formData.maxNum" placeholder="请输入容纳人数" type="number"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<!--<el-col :span="12">
|
|
<el-form-item prop="reserveTarget" label="面向对象">
|
|
<el-radio-group v-model="formData.reserveTarget" size="medium">
|
|
<el-radio-button :label="1">面向分工会</el-radio-button>
|
|
<el-radio-button :label="2">面向个人</el-radio-button>
|
|
<el-radio-button :label="3">面向集体</el-radio-button>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-col>-->
|
|
</el-row>
|
|
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-form-item prop="sortNum" label="排序编号">
|
|
<el-input v-model="formData.sortNum" placeholder="请输入排序编号" type="number"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="state" label="开启状态">
|
|
<el-radio-group v-model="formData.state" size="medium">
|
|
<el-radio-button :label="true">开启</el-radio-button>
|
|
<el-radio-button :label="false">禁用</el-radio-button>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-form-item prop="filterHolidays" label="排除节假日">
|
|
<el-radio-group v-model="formData.filterHolidays" size="medium">
|
|
<el-radio-button :label="true">是</el-radio-button>
|
|
<el-radio-button :label="false">否</el-radio-button>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item prop="sexLimit" label="性别限制">
|
|
<el-radio-group v-model="formData.sexLimit" size="medium">
|
|
<el-radio-button :label="0">不限制</el-radio-button>
|
|
<el-radio-button :label="1">男</el-radio-button>
|
|
<el-radio-button :label="2">女</el-radio-button>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="禁用时间">
|
|
<el-button type="primary" @click="openSetUpTime" size="small">点击设置禁用时间</el-button>
|
|
<span style="color: #c64120">您已设置{{ formData.notApplyTimeList ? formData.notApplyTimeList.length : 0 }}个禁用时间</span>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-form-item label="场地介绍">
|
|
<text-editor v-model="formData.introduce"></text-editor>
|
|
</el-form-item>
|
|
</el-form>
|
|
<vi-title2 title="添加场次(温馨提醒:如果设置了预约时间单位,那么系统会在开始时间至结束时间范围内,按照设置的单位来拆分成多个时间段,如果未设置或者为0,则表示开始时间至结束时间是一个时间段)">
|
|
<template #func>
|
|
<el-button type="primary" @click="formData.open_hours.push({})">
|
|
添加
|
|
</el-button>
|
|
</template>
|
|
</vi-title2>
|
|
<el-table :data="formData.open_hours" border size="mini">
|
|
|
|
<el-table-column prop="weekNum" label="星期" align="center" header-align="center">
|
|
<template slot-scope="{row}">
|
|
<el-select style="width: 100%" v-model="row.weekNum" filterable placeholder="请选择星期">
|
|
<el-option label="周一" :value="1"></el-option>
|
|
<el-option label="周二" :value="2"></el-option>
|
|
<el-option label="周三" :value="3"></el-option>
|
|
<el-option label="周四" :value="4"></el-option>
|
|
<el-option label="周五" :value="5"></el-option>
|
|
<el-option label="周六" :value="6"></el-option>
|
|
<el-option label="周日" :value="0"></el-option>
|
|
</el-select>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="start_time" label="开始时间" align="center" header-align="center">
|
|
<template slot-scope="{row}">
|
|
<el-time-select
|
|
style="width: 100%"
|
|
placeholder="开始时间"
|
|
v-model="row.start_time"
|
|
:picker-options="{ start: '00:00',step: '00:30',end: '24:00'}">
|
|
</el-time-select>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="end_time" label="结束时间" align="center" header-align="center">
|
|
<template slot-scope="{row}">
|
|
<el-time-select
|
|
style="width: 100%"
|
|
placeholder="结束时间"
|
|
v-model="row.end_time"
|
|
:picker-options="{start: '00:00',step: '00:30',end: '24:00',minTime: row.start_time }">
|
|
</el-time-select>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="timeUnit" label="预约时间单位(小时)" align="center" header-align="center">
|
|
<template slot-scope="{row}">
|
|
<el-input-number style="width: 100%" v-model="row.timeUnit" placeholder="请输入预约时间单位" :step="0.5"></el-input-number>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column label="操作" align="center" header-align="center" width="100px">
|
|
<template slot-scope="scope">
|
|
<el-button type="danger" icon="el-icon-delete" circle
|
|
:disabled="formData.open_hours.length==0"
|
|
@click="formData.open_hours.splice(scope.$index, 1)"></el-button>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
<div style="float: right;margin: 20px 0">
|
|
<el-button type="primary" @click="operation">确 定</el-button>
|
|
</div>
|
|
</template>
|
|
|
|
<template #view>
|
|
</template>
|
|
</guava>
|
|
|
|
<el-dialog :close-on-click-modal="false" :visible.sync="setUpTimeDialog" title="设置时间" top="50px">
|
|
<vi-title title="选择日期"></vi-title>
|
|
<el-date-picker
|
|
@change="setUpDateChange"
|
|
placeholder="请选择一个或多个日期"
|
|
style="width: 100%"
|
|
type="dates"
|
|
v-model="formData.setUpDate"
|
|
value-format="yyyy-MM-dd">
|
|
</el-date-picker>
|
|
<vi-title title="设置禁用时间" class="mt20"></vi-title>
|
|
<el-row>
|
|
<el-time-select
|
|
:picker-options="{
|
|
start: '08:30',
|
|
step: '00:05',
|
|
end: '23:30'
|
|
}"
|
|
placeholder="开始时间"
|
|
v-model="timeOneKeySet.startTime">
|
|
</el-time-select>
|
|
<el-time-select
|
|
:picker-options="{
|
|
start: '08:30',
|
|
step: '00:05',
|
|
end: '23:30'
|
|
}"
|
|
placeholder="结束时间"
|
|
v-model="timeOneKeySet.endTime">
|
|
</el-time-select>
|
|
<el-button @click="oneKeySetStartEndTime" type="primary">一键设置开始/结束时间</el-button>
|
|
</el-row>
|
|
|
|
<el-table :data="formData.notApplyTimeList" class="mt10" max-height="520px" size="mini" @selection-change="handleSelectionChange">
|
|
<el-table-column
|
|
type="selection"
|
|
width="55">
|
|
</el-table-column>
|
|
<el-table-column label="日期" width="200">
|
|
<template v-slot="{row}">
|
|
<i class="el-icon-time"></i>
|
|
{{moment(row.date).format('YYYY-MM-DD')}}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="开始时间">
|
|
<template v-slot="{row}">
|
|
<el-time-select
|
|
size="mini"
|
|
:picker-options="pickerOptions"
|
|
placeholder="开始时间"
|
|
v-model="row.startTime">
|
|
</el-time-select>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="结束时间">
|
|
<template v-slot="{row}">
|
|
<el-time-select
|
|
size="mini"
|
|
:picker-options="pickerOptions"
|
|
placeholder="结束时间"
|
|
v-model="row.endTime">
|
|
</el-time-select>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="操作" width="200">
|
|
<template v-slot="{row, $index}">
|
|
<el-button
|
|
size="mini"
|
|
@click="formData.notApplyTimeList.splice($index,0,{date:row.date,startTime:'',endTime:''})"
|
|
type="primary">
|
|
新增同天时段
|
|
</el-button>
|
|
<el-button size="mini" @click="removeSetUpTableRow(row,$index)" type="danger">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-row class="mt20" justify="end" type="flex">
|
|
<el-button @click="setUpTimeDialog = false">取消</el-button>
|
|
<el-button @click="doConfirmSetUpCourse" type="primary">确定</el-button>
|
|
</el-row>
|
|
</el-dialog>
|
|
</div>
|
|
|
|
<script>
|
|
<!--# include("/platform/activity/includeJs/activityUtil.js"){} #-->
|
|
const activityUtil = new typeUtil()
|
|
const vue = new Vue({
|
|
el: '#app',
|
|
data() {
|
|
return {
|
|
pickerOptions: {
|
|
start: "08:30",
|
|
step: "00:05",
|
|
end: "23:30"
|
|
},
|
|
timeOneKeySet: {
|
|
startTime: "",
|
|
endTime: ""
|
|
},
|
|
activityTypeList: [],
|
|
tabKey: '',
|
|
tableLoading: false,
|
|
subDis: false,
|
|
tableData: [],
|
|
formData: {
|
|
open_hours: [{}],
|
|
sexLimit: 0,
|
|
notApplyTimeList: [],
|
|
reserveTarget: 2,
|
|
filterHolidays: false,
|
|
},
|
|
pageForm: {
|
|
searchName: "name",
|
|
searchKeyword: "",
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0,
|
|
pageOrderName: "",
|
|
pageOrderBy: "",
|
|
year: ""
|
|
},
|
|
formRules: {
|
|
name: [{required: true, message: '请输入场地名称', trigger: ['blur', 'change']}],
|
|
address: [{required: true, message: '请输入场地地址', trigger: ['blur', 'change']}],
|
|
contact_person: [{required: true, message: '请输入联系人', trigger: ['blur', 'change']}],
|
|
contact_phone: [{required: true, message: '请输入联系方式', trigger: ['blur', 'change']}],
|
|
state: [{required: true, message: '请选择开启状态', trigger: ['blur', 'change']}],
|
|
typeId: [{required: true, message: '请选择场地类型', trigger: ['blur', 'change']}],
|
|
openWeekTime: [{required: true, message: '请选择预约时间', trigger: ['blur', 'change']}],
|
|
reserveTarget: [{required: true, message: '请选择面向对象', trigger: ['blur', 'change']}],
|
|
maxNum: [{required: true, message: '请输入容纳人数', trigger: ['blur', 'change']}],
|
|
},
|
|
|
|
setUpTimeDialog: false,
|
|
multipleSelection: [],
|
|
}
|
|
},
|
|
components: {
|
|
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
|
},
|
|
methods: {
|
|
handleSelectionChange(val) {
|
|
this.multipleSelection = val
|
|
},
|
|
doConfirmSetUpCourse() {
|
|
const courseTableData = this.formData.notApplyTimeList
|
|
/*if (courseTableData.length === 0) {
|
|
this.$message.warning("请选择禁用时间")
|
|
return
|
|
}*/
|
|
if (courseTableData && courseTableData.length > 0) {
|
|
const valid = courseTableData.every(v => v.startTime && v.endTime && (v.startTime < v.endTime))
|
|
if (!valid) {
|
|
this.$message.warning("时间不完整或者有误")
|
|
return
|
|
}
|
|
this.setUpTimeDialog = false
|
|
}
|
|
},
|
|
removeSetUpTableRow(row, index) {
|
|
this.formData.notApplyTimeList.splice(index, 1)
|
|
const courseDateArray = this.formData.notApplyTimeList.map(v => moment(v.date).format("YYYY-MM-DD"))
|
|
const scdList = this.formData.setUpDate
|
|
this.formData.setUpDate = scdList.filter(v => {
|
|
return courseDateArray.includes(moment(v).format("YYYY-MM-DD"))
|
|
})
|
|
},
|
|
oneKeySetStartEndTime() {
|
|
if(this.multipleSelection.length === 0) {
|
|
this.$message.warning('请选择需要一键设置的时间')
|
|
return
|
|
}
|
|
const { startTime, endTime } = this.timeOneKeySet
|
|
this.formData.notApplyTimeList.forEach(v => {
|
|
const o = this.multipleSelection.find(o => o.date === v.date && o.startTime === v.startTime && o.endTime === v.endTime)
|
|
if(o) {
|
|
this.$set(v, "startTime", startTime)
|
|
this.$set(v, "endTime", endTime)
|
|
}
|
|
})
|
|
this.$forceUpdate()
|
|
},
|
|
setUpDateChange(val) {
|
|
if (!val) {
|
|
this.formData.notApplyTimeList = []
|
|
return
|
|
}
|
|
if (this.formData.notApplyTimeList === undefined) {
|
|
this.$set(this.formData, "notApplyTimeList", [])
|
|
}
|
|
const ctList = new Set(this.formData.notApplyTimeList.map(v => moment(v.date).format("YYYY-MM-DD")))
|
|
val.forEach(v => {
|
|
if (!ctList.has(v)) {
|
|
this.formData.notApplyTimeList.push({
|
|
date: v, time: null
|
|
})
|
|
}
|
|
})
|
|
this.formData.notApplyTimeList = this.formData.notApplyTimeList.filter(v => {
|
|
return val.includes(moment(v.date).format("YYYY-MM-DD"))
|
|
})
|
|
this.formData.notApplyTimeList.sort((a, b) => {
|
|
return Date.parse(a["date"]) - Date.parse(b["date"])
|
|
})
|
|
},
|
|
openSetUpTime() {
|
|
if(this.formData.notApplyTimeList) {
|
|
this.$set(this.formData, 'setUpDate', this.formData.notApplyTimeList.map(o => o.date))
|
|
}
|
|
this.setUpTimeDialog = true
|
|
},
|
|
doDelete(row) {
|
|
this.$confirm('此操作将删除【' + row.name + '】场地的所有信息!', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
callback: (a, b) => {
|
|
if ("confirm" === a) {
|
|
$.post(location.href + "/doDelete", {id: row.id}, (data) => {
|
|
if (data.code === 0) {
|
|
this.$message.success(data.msg)
|
|
this.pageData();
|
|
} else {
|
|
this.$message.error(data.msg)
|
|
}
|
|
}, "json");
|
|
}
|
|
}
|
|
});
|
|
},
|
|
async operation() {
|
|
let method = this.formData.id ? "/doEdit" : "/doAdd"
|
|
this.subDis = true
|
|
this.$refs["addForm"].validate(async (valid) => {
|
|
if (valid) {
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: '正在提交...',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
|
|
const {code, data, msg} = await $.post(location.href + method, {data: JSON.stringify(this.formData)})
|
|
if (code === 0) {
|
|
this.pageData()
|
|
this.$message.success(msg);
|
|
this.$refs.guava.index()
|
|
} else {
|
|
this.$message.error(msg);
|
|
}
|
|
loading.close()
|
|
this.subDis = false
|
|
}
|
|
});
|
|
},
|
|
async findOneSite(id) {
|
|
const {data} = await $.get("/platform/activity/site/mange/findOneSite", {id: id})
|
|
return data
|
|
},
|
|
openView(row) {
|
|
this.$refs.guava.view()
|
|
},
|
|
async openEdit(id) {
|
|
this.formData = await this.findOneSite(id)
|
|
if(!this.formData.notApplyTimeList) {
|
|
this.$set(this.formData, 'notApplyTimeList', [])
|
|
}
|
|
this.$refs.guava.edit()
|
|
},
|
|
openAdd() {
|
|
this.formData = {
|
|
state: true,
|
|
open_hours: [{}],
|
|
create_username: '${@shiro.getPrincipalProperty("username")}',
|
|
create_time: moment().format('YYYY-MM-DD'),
|
|
sexLimit: '0',
|
|
notApplyTimeList: [],
|
|
reserveTarget: 2,
|
|
filterHolidays: false,
|
|
}
|
|
this.$refs.guava.edit()
|
|
|
|
if (this.$refs['addForm']) {
|
|
this.$refs['addForm'].resetFields()
|
|
}
|
|
},
|
|
doSearch() {
|
|
this.tabKey = new Date().getTime()
|
|
this.pageForm.pageNumber = 1
|
|
this.pageData()
|
|
},
|
|
pageOrder(column) {
|
|
this.pageForm.pageOrderName = column.prop;
|
|
this.pageForm.pageOrderBy = column.order;
|
|
this.pageData();
|
|
},
|
|
pageNumberChange(val) {
|
|
this.pageForm.pageNumber = val;
|
|
this.pageData();
|
|
},
|
|
pageSizeChange(val) {
|
|
this.pageForm.pageSize = val;
|
|
this.pageData();
|
|
},
|
|
pageData() {
|
|
sublime.showLoadingbar();
|
|
this.tableLoading = true
|
|
$.post(location.href + "/pageData", this.pageForm, (res) => {
|
|
const {code, data, msg} = res
|
|
sublime.closeLoadingbar();
|
|
this.tableLoading = false
|
|
if (code === 0) {
|
|
for (let i = 0; i < data.list.length; i++) {
|
|
data.list[i].open_hours = site.reverseRankingDate(data.list[i].open_hours)
|
|
}
|
|
this.tableData = data.list;
|
|
this.pageForm.totalCount = data.totalCount;
|
|
} else {
|
|
this.$message.error(msg);
|
|
}
|
|
}, "json");
|
|
}
|
|
},
|
|
async created() {
|
|
this.pageData();
|
|
this.activityTypeList = await activityUtil.getAllType()
|
|
}
|
|
})
|
|
</script>
|
|
<!--#
|
|
}
|
|
#-->
|