Authored by 李奇

后台优化

@@ -140,11 +140,24 @@ const whSurfController = { @@ -140,11 +140,24 @@ const whSurfController = {
140 msg: '参数为空' 140 msg: '参数为空'
141 }); 141 });
142 } 142 }
  143 + let actInfo = await req.ctx(wheelSurfModel).actInfo(actId);
143 let result = await req.ctx(wheelSurfModel).configFindOne(actId); 144 let result = await req.ctx(wheelSurfModel).configFindOne(actId);
144 145
  146 + let actStatus = 2; // 1: 活动未开始 2: 活动进行中 3:活动已过期
  147 + let now = parseInt(new Date().getTime() / 1000);
  148 +
  149 + if (now < actInfo.startTime) {
  150 + actStatus = 1;
  151 + } else if (now > actInfo.endTime) {
  152 + actStatus = 3;
  153 + }
  154 +
145 return res.json({ 155 return res.json({
146 code: 200, 156 code: 200,
147 - data: result 157 + data: {
  158 + conf: result,
  159 + status: actStatus
  160 + }
148 }); 161 });
149 }, 162 },
150 163
@@ -42,6 +42,10 @@ class ActWheelSurfModel extends global.yoho.BaseModel { @@ -42,6 +42,10 @@ class ActWheelSurfModel extends global.yoho.BaseModel {
42 return ActWheelSurfConf.findOne({where: {act_id}}); 42 return ActWheelSurfConf.findOne({where: {act_id}});
43 } 43 }
44 44
  45 + actInfo(act_id) {
  46 + return Activity.findOne({where: {id: act_id}});
  47 + }
  48 +
45 prizeCreate(arr) { 49 prizeCreate(arr) {
46 return ActWheelSurfPrize.bulkCreate(arr); 50 return ActWheelSurfPrize.bulkCreate(arr);
47 } 51 }
@@ -182,7 +182,7 @@ var CURRENT_URL = window.location.href.split('#')[0].split('?')[0], @@ -182,7 +182,7 @@ var CURRENT_URL = window.location.href.split('#')[0].split('?')[0],
182 multi_selection: false, 182 multi_selection: false,
183 filters: { 183 filters: {
184 mime_types: [{ 184 mime_types: [{
185 - extensions: 'jpg,jpeg,png,mp4' 185 + extensions: 'gif,jpg,jpeg,png,mp4'
186 }] 186 }]
187 }, 187 },
188 dragdrop: false, 188 dragdrop: false,
@@ -5,13 +5,15 @@ @@ -5,13 +5,15 @@
5 <div slot="left" class="split-pane"> 5 <div slot="left" class="split-pane">
6 <Form ref="prizeForm" :model="prize" :rules="prizeRules" :label-width="120"> 6 <Form ref="prizeForm" :model="prize" :rules="prizeRules" :label-width="120">
7 <FormItem label="奖品位置" prop="prize_idx"> 7 <FormItem label="奖品位置" prop="prize_idx">
8 - <Input v-model="prize.prize_idx" placeholder="奖品位置序号(竖直方向顺时针从1开始)" :maxlength="1"></Input> 8 + <Input v-model="prize.prize_idx" :disabled="status == 2 || status == 3"
  9 + placeholder="奖品位置序号(竖直方向顺时针从1开始)" :maxlength="1"></Input>
9 </FormItem> 10 </FormItem>
10 <FormItem label="奖品名称" prop="name"> 11 <FormItem label="奖品名称" prop="name">
11 - <Input v-model="prize.name" placeholder="奖品名称" :maxlength="50"></Input> 12 + <Input v-model="prize.name" placeholder="奖品名称" :maxlength="50"
  13 + :disabled="status == 2 || status == 3"></Input>
12 </FormItem> 14 </FormItem>
13 <FormItem label="奖品类型" prop="type"> 15 <FormItem label="奖品类型" prop="type">
14 - <Select v-model="prize.type" @on-change="typeChange"> 16 + <Select v-model="prize.type" @on-change="typeChange" :disabled="status == 2 || status == 3">
15 <Option :value="1">谢谢惠顾</Option> 17 <Option :value="1">谢谢惠顾</Option>
16 <Option :value="2">红包</Option> 18 <Option :value="2">红包</Option>
17 <Option :value="3">优惠券</Option> 19 <Option :value="3">优惠券</Option>
@@ -19,7 +21,9 @@ @@ -19,7 +21,9 @@
19 </Select> 21 </Select>
20 </FormItem> 22 </FormItem>
21 <FormItem label="奖品token" prop="value"> 23 <FormItem label="奖品token" prop="value">
22 - <Input v-model="prize.value" placeholder="红包优惠券token(实物奖品和谢谢惠顾不填)" :maxlenght="200"></Input> 24 + <Input v-model="prize.value"
  25 + :disabled="status == 2 || status == 3"
  26 + placeholder="红包优惠券token(实物奖品和谢谢惠顾不填)" :maxlenght="200"></Input>
23 </FormItem> 27 </FormItem>
24 <FormItem label="奖品总数" prop="total"> 28 <FormItem label="奖品总数" prop="total">
25 <Input v-model="prize.total" placeholder="奖品总数(不限量奖品可填9999999999)" number 29 <Input v-model="prize.total" placeholder="奖品总数(不限量奖品可填9999999999)" number
@@ -68,6 +72,9 @@ @@ -68,6 +72,9 @@
68 72
69 export default { 73 export default {
70 name: 'AddPrize', 74 name: 'AddPrize',
  75 + props: {
  76 + status: Number
  77 + },
71 data: function () { 78 data: function () {
72 return { 79 return {
73 actId: 0, 80 actId: 0,
@@ -129,8 +136,7 @@ @@ -129,8 +136,7 @@
129 h('Button', { 136 h('Button', {
130 props: { 137 props: {
131 type: 'error', 138 type: 'error',
132 - size: 'small',  
133 - disabled: !!row.id 139 + size: 'small'
134 }, 140 },
135 style: { 141 style: {
136 margin: '2px' 142 margin: '2px'
@@ -152,7 +152,7 @@ @@ -152,7 +152,7 @@
152 </div> 152 </div>
153 </TabPane> 153 </TabPane>
154 <TabPane label="奖品配置"> 154 <TabPane label="奖品配置">
155 - <add-prize></add-prize> 155 + <add-prize :status="actStatus"></add-prize>
156 </TabPane> 156 </TabPane>
157 </Tabs> 157 </Tabs>
158 </template> 158 </template>
@@ -164,6 +164,7 @@ @@ -164,6 +164,7 @@
164 return { 164 return {
165 actId: 0, 165 actId: 0,
166 confId: 0, 166 confId: 0,
  167 + actStatus: 2,
167 conf: { 168 conf: {
168 act_id: 0, 169 act_id: 0,
169 id: 0, 170 id: 0,
@@ -232,8 +233,9 @@ @@ -232,8 +233,9 @@
232 url: '/admin/wheelSurf/api/config/detail', 233 url: '/admin/wheelSurf/api/config/detail',
233 data: {act_id: this.actId} 234 data: {act_id: this.actId}
234 }).then(res => { 235 }).then(res => {
235 - if (res.code === 200 && res.data && res.data.id) {  
236 - this.conf = res.data; 236 + this.actStatus = res.data.status;
  237 + if (res.code === 200 && res.data && res.data.conf && res.data.conf.id) {
  238 + this.conf = res.data.conf;
237 } else { 239 } else {
238 this.$Message.error(res.msg); 240 this.$Message.error(res.msg);
239 } 241 }