Authored by 陈峰

Merge branch 'feature/optimize' into 'release/6.7.9'

Feature/optimize



See merge request !70
@@ -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,14 @@ @@ -5,13 +5,14 @@
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"></Input>
12 </FormItem> 13 </FormItem>
13 <FormItem label="奖品类型" prop="type"> 14 <FormItem label="奖品类型" prop="type">
14 - <Select v-model="prize.type" @on-change="typeChange"> 15 + <Select v-model="prize.type" @on-change="typeChange" :disabled="status == 2 || status == 3">
15 <Option :value="1">谢谢惠顾</Option> 16 <Option :value="1">谢谢惠顾</Option>
16 <Option :value="2">红包</Option> 17 <Option :value="2">红包</Option>
17 <Option :value="3">优惠券</Option> 18 <Option :value="3">优惠券</Option>
@@ -19,7 +20,9 @@ @@ -19,7 +20,9 @@
19 </Select> 20 </Select>
20 </FormItem> 21 </FormItem>
21 <FormItem label="奖品token" prop="value"> 22 <FormItem label="奖品token" prop="value">
22 - <Input v-model="prize.value" placeholder="红包优惠券token(实物奖品和谢谢惠顾不填)" :maxlenght="200"></Input> 23 + <Input v-model="prize.value"
  24 + :disabled="status == 2 || status == 3"
  25 + placeholder="红包优惠券token(实物奖品和谢谢惠顾不填)" :maxlenght="200"></Input>
23 </FormItem> 26 </FormItem>
24 <FormItem label="奖品总数" prop="total"> 27 <FormItem label="奖品总数" prop="total">
25 <Input v-model="prize.total" placeholder="奖品总数(不限量奖品可填9999999999)" number 28 <Input v-model="prize.total" placeholder="奖品总数(不限量奖品可填9999999999)" number
@@ -68,6 +71,9 @@ @@ -68,6 +71,9 @@
68 71
69 export default { 72 export default {
70 name: 'AddPrize', 73 name: 'AddPrize',
  74 + props: {
  75 + status: Number
  76 + },
71 data: function () { 77 data: function () {
72 return { 78 return {
73 actId: 0, 79 actId: 0,
@@ -129,8 +135,7 @@ @@ -129,8 +135,7 @@
129 h('Button', { 135 h('Button', {
130 props: { 136 props: {
131 type: 'error', 137 type: 'error',
132 - size: 'small',  
133 - disabled: !!row.id 138 + size: 'small'
134 }, 139 },
135 style: { 140 style: {
136 margin: '2px' 141 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 }