Authored by 李奇

活动创建和活动列表

... ... @@ -7,18 +7,52 @@ const wheelSurfModel = require('../models/wheel-surf');
const whSurfController = {
entry(req, res) {
if (req.xhr) {
return res.json({
code: 404,
message: 'invalid url'
});
}
res.render('activity/wheel-surf', {
bodyClass: 'nav-md',
module: 'admin',
page: 'wheel-surf'
});
},
create(req, res) {
res.json({})
async create(req, res) {
const title = req.body.title;
const startTime = req.body.startTime;
const endTime = req.body.endTime;
const type = req.body.type || 0;
if (!title || !startTime || !endTime) {
return res.json({
code: 400,
message: '参数缺失'
});
}
const params = {
title,
startTime,
endTime,
type
};
const result = await req.ctx(wheelSurfModel).create(params);
return res.json({
code: 200,
data: result
});
},
list(req, res) {
async list(req, res) {
const result = await req.ctx(wheelSurfModel).list();
return res.json({
code: 200,
data: result
});
}
};
... ...
... ... @@ -8,7 +8,8 @@ class ActWheelSurfModel extends global.yoho.BaseModel {
list() {
return Activity.findAll({where: {type: 1}})
}
create() {
create(data) {
return Activity.create(data);
}
}
... ...
... ... @@ -93,8 +93,11 @@ router.get('/api/user/exportInfoUserList', user.exportInfoUserList);
// 大转盘活动管理
router.get('/wheelSurf', wheelSurf.entry);
router.get('/wheelSurf/*', wheelSurf.entry);
router.post('/wheelSurf/api/create', wheelSurf.create);
router.get('/wheelSurf/api/list', wheelSurf.list);
router.get('/wheelSurf/*', wheelSurf.entry);
module.exports = router;
... ...
... ... @@ -13,11 +13,13 @@ module.exports = function(Sequelize, DataTypes) {
type: DataTypes.STRING(100),
allowNull: false
},
start_time: {
type: DataTypes.INTEGER(10)
startTime: {
type: DataTypes.INTEGER(10),
field: 'start_time'
},
end_time: {
type: DataTypes.INTEGER(10)
endTime: {
type: DataTypes.INTEGER(10),
field: 'end_time'
},
create_time: {
type: DataTypes.DATE,
... ...
... ... @@ -12,7 +12,7 @@ Vue.use(iView);
const router = new VueRouter({
routes: [
{path: '/admin/wheelSurf', component: list},
{path: '/admin/wheelSurf', name: 'list', component: list},
{path: '/admin/wheelSurf/decor', name: 'decor', component: decor},
{path: '/admin/wheelSurf/create', name: 'create', component: create}
],
... ...
... ... @@ -52,8 +52,7 @@
endTime: moment(this.endTime).format('X')
}
}).then(res => {
console.log(res)
this.$router.push({name: 'decor', query: {actId: 1}})
this.$router.push({name: 'list'})
});
}
... ...
... ... @@ -2,7 +2,7 @@
<div class="list">
<button class="btn btn-primary" @click="toCreate">创建新活动</button>
<div class="activity-list">
<Table :columns="columns1" :data="data1"></Table>
<Table :columns="columns1" :data="data"></Table>
</div>
</div>
</template>
... ... @@ -12,50 +12,32 @@
return {
columns1: [
{
title: 'Name',
key: 'name'
title: '活动标题',
key: 'title'
},
{
title: 'Age',
key: 'age'
title: '开始时间',
key: 'startTime'
},
{
title: 'Address',
key: 'address'
title: '结束时间',
key: 'endTime'
}
],
data1: [
{
name: 'John Brown',
age: 18,
address: 'New York No. 1 Lake Park',
date: '2016-10-03'
},
{
name: 'Jim Green',
age: 24,
address: 'London No. 1 Lake Park',
date: '2016-10-01'
},
{
name: 'Joe Black',
age: 30,
address: 'Sydney No. 1 Lake Park',
date: '2016-10-02'
},
{
name: 'Jon Snow',
age: 26,
address: 'Ottawa No. 2 Lake Park',
date: '2016-10-04'
}
]
data: []
}
},
methods: {
toCreate() {
this.$router.push({name: 'create'});
}
},
created() {
$.ajax({
url: '/admin/wheelSurf/api/list',
}).then(res => {
this.data = res.data;
});
}
}
</script>
... ...