|
@@ -3,7 +3,7 @@
|
3
|
3
|
<form class="mainForm">
|
4
|
4
|
<ul>
|
5
|
5
|
<li class="flex-h">
|
6
|
|
- <span>选择案场:</span>
|
|
6
|
+ <span>选择案场:<em>*</em></span>
|
7
|
7
|
<div class="flex-item">
|
8
|
8
|
<div style="width:50%">
|
9
|
9
|
<el-select v-model="cardInfo.CaseId" placeholder="请选择" @change="caseChange">
|
|
@@ -18,7 +18,7 @@
|
18
|
18
|
</div>
|
19
|
19
|
</li>
|
20
|
20
|
<li class="flex-h">
|
21
|
|
- <span>卡图片:</span>
|
|
21
|
+ <span>卡图片:<em>*</em></span>
|
22
|
22
|
<div class="flex-item">
|
23
|
23
|
<div>
|
24
|
24
|
<el-upload
|
|
@@ -34,7 +34,7 @@
|
34
|
34
|
</div>
|
35
|
35
|
</li>
|
36
|
36
|
<li class="flex-h">
|
37
|
|
- <span>卡名称:</span>
|
|
37
|
+ <span>卡名称:<em>*</em></span>
|
38
|
38
|
<div class="flex-item">
|
39
|
39
|
<div style="width:200px;">
|
40
|
40
|
<el-input
|
|
@@ -46,7 +46,7 @@
|
46
|
46
|
</div>
|
47
|
47
|
</li>
|
48
|
48
|
<li class="flex-h">
|
49
|
|
- <span>卡价格:</span>
|
|
49
|
+ <span>卡价格:<em>*</em></span>
|
50
|
50
|
<div class="flex-item">
|
51
|
51
|
<div style="width:200px;">
|
52
|
52
|
<el-input
|
|
@@ -58,7 +58,7 @@
|
58
|
58
|
</div>
|
59
|
59
|
</li>
|
60
|
60
|
<li class="flex-h">
|
61
|
|
- <span>总张数:</span>
|
|
61
|
+ <span>总张数:<em>*</em></span>
|
62
|
62
|
<div class="flex-item">
|
63
|
63
|
<div style="width:200px;">
|
64
|
64
|
<el-input
|
|
@@ -70,7 +70,7 @@
|
70
|
70
|
</div>
|
71
|
71
|
</li>
|
72
|
72
|
<li class="flex-h">
|
73
|
|
- <span>发送类型:</span>
|
|
73
|
+ <span>发送类型:<em>*</em></span>
|
74
|
74
|
<div class="flex-item">
|
75
|
75
|
<div>
|
76
|
76
|
<el-radio v-model="cardInfo.SendType" label="channel">渠道</el-radio>
|
|
@@ -80,7 +80,7 @@
|
80
|
80
|
</div>
|
81
|
81
|
</li>
|
82
|
82
|
<li class="flex-h" v-if="cardInfo.SendType === 'channel'">
|
83
|
|
- <span>选择渠道:</span>
|
|
83
|
+ <span>选择渠道:<em>*</em></span>
|
84
|
84
|
<div class="flex-item">
|
85
|
85
|
<div style="width:50%">
|
86
|
86
|
<el-select v-model="cardInfo.ChannelId" placeholder="请选择">
|
|
@@ -95,7 +95,7 @@
|
95
|
95
|
</div>
|
96
|
96
|
</li>
|
97
|
97
|
<li class="flex-h">
|
98
|
|
- <span>目标课程:</span>
|
|
98
|
+ <span>目标课程:<em>*</em></span>
|
99
|
99
|
<div class="flex-item">
|
100
|
100
|
<div>
|
101
|
101
|
<el-select v-model="cardInfo.Targets[0].TargetId" placeholder="请选择">
|
|
@@ -111,21 +111,10 @@
|
111
|
111
|
</div>
|
112
|
112
|
</li>
|
113
|
113
|
<li class="flex-h">
|
114
|
|
- <span>卡有效时间:</span>
|
|
114
|
+ <span>卡有效时间:<em>*</em></span>
|
115
|
115
|
<div class="flex-item">
|
116
|
116
|
<div>
|
117
|
117
|
<div class="addLine flex-h" style="align-item:center;margin-bottom:20px;">
|
118
|
|
- <!-- <el-date-picker
|
119
|
|
- v-model="cardInfo.StartDate"
|
120
|
|
- type="date"
|
121
|
|
- placeholder="选择起始日期">
|
122
|
|
- </el-date-picker>
|
123
|
|
- <span style="line-height:40px;">至</span>
|
124
|
|
- <el-date-picker
|
125
|
|
- v-model="cardInfo.EndDate"
|
126
|
|
- type="date"
|
127
|
|
- placeholder="选择截止日期">
|
128
|
|
- </el-date-picker> -->
|
129
|
118
|
<el-date-picker
|
130
|
119
|
v-model="date"
|
131
|
120
|
type="daterange"
|
|
@@ -139,7 +128,7 @@
|
139
|
128
|
</div>
|
140
|
129
|
</li>
|
141
|
130
|
<li class="flex-h" v-if="cardInfo.SendType !== 'case' && cardInfo.SendType !== 'system'">
|
142
|
|
- <span>视频:</span>
|
|
131
|
+ <span>视频:<em>*</em></span>
|
143
|
132
|
<div class="flex-item">
|
144
|
133
|
<div style="vertical-align: middle;">
|
145
|
134
|
<a style="line-height: 40px;" v-if="videoOff" :href="cardInfo.VideoUrl" target="blank">{{cardInfo.VideoUrl}}</a>
|
|
@@ -156,7 +145,7 @@
|
156
|
145
|
</div>
|
157
|
146
|
</li>
|
158
|
147
|
<li class="flex-h">
|
159
|
|
- <span>分享描述:</span>
|
|
148
|
+ <span>分享描述:<em>*</em></span>
|
160
|
149
|
<div class="flex-item">
|
161
|
150
|
<div>
|
162
|
151
|
<el-input
|
|
@@ -169,7 +158,7 @@
|
169
|
158
|
</div>
|
170
|
159
|
</li>
|
171
|
160
|
<li class="flex-h">
|
172
|
|
- <span>规则描述:</span>
|
|
161
|
+ <span>规则描述:<em>*</em></span>
|
173
|
162
|
<div class="flex-item">
|
174
|
163
|
<div>
|
175
|
164
|
<el-input
|
|
@@ -182,7 +171,7 @@
|
182
|
171
|
</div>
|
183
|
172
|
</li>
|
184
|
173
|
<li class="flex-h">
|
185
|
|
- <span>使用说明:</span>
|
|
174
|
+ <span>使用说明:<em>*</em></span>
|
186
|
175
|
<div class="flex-item">
|
187
|
176
|
<div>
|
188
|
177
|
<el-input
|
|
@@ -236,7 +225,11 @@ export default {
|
236
|
225
|
TotalCount: '',
|
237
|
226
|
CaseId: '',
|
238
|
227
|
OrgId: '',
|
239
|
|
- Share: {},
|
|
228
|
+ Share: {
|
|
229
|
+ CardShareInfo: '',
|
|
230
|
+ CardUseRule: '',
|
|
231
|
+ CardUseInstruction: '',
|
|
232
|
+ },
|
240
|
233
|
Images: null,
|
241
|
234
|
Targets: [{}],
|
242
|
235
|
ChannelId: ''
|
|
@@ -355,7 +348,110 @@ export default {
|
355
|
348
|
addGoods () { // 添加指定商品
|
356
|
349
|
this.centerDialogVisible = true
|
357
|
350
|
},
|
|
351
|
+ checkInfo () { // 校验表单信息
|
|
352
|
+ if (this.cardInfo.CaseId === '') {
|
|
353
|
+ this.$message({
|
|
354
|
+ type: 'error',
|
|
355
|
+ message: '案场不能为空'
|
|
356
|
+ })
|
|
357
|
+ return false
|
|
358
|
+ }
|
|
359
|
+ if (this.cardInfo.Images === '') {
|
|
360
|
+ this.$message({
|
|
361
|
+ type: 'error',
|
|
362
|
+ message: '卡图片不能为空'
|
|
363
|
+ })
|
|
364
|
+ return false
|
|
365
|
+ }
|
|
366
|
+ if (this.cardInfo.CardName === '') {
|
|
367
|
+ this.$message({
|
|
368
|
+ type: 'error',
|
|
369
|
+ message: '卡名称不能为空'
|
|
370
|
+ })
|
|
371
|
+ return false
|
|
372
|
+ }
|
|
373
|
+ if (this.cardInfo.Price === '') {
|
|
374
|
+ this.$message({
|
|
375
|
+ type: 'error',
|
|
376
|
+ message: '卡价格不能为空'
|
|
377
|
+ })
|
|
378
|
+ return false
|
|
379
|
+ }
|
|
380
|
+ if (this.cardInfo.TotalCount === '') {
|
|
381
|
+ this.$message({
|
|
382
|
+ type: 'error',
|
|
383
|
+ message: '总张数不能为空'
|
|
384
|
+ })
|
|
385
|
+ return false
|
|
386
|
+ }
|
|
387
|
+ if (this.cardInfo.SendType === '') {
|
|
388
|
+ this.$message({
|
|
389
|
+ type: 'error',
|
|
390
|
+ message: '发送类型不能为空'
|
|
391
|
+ })
|
|
392
|
+ return false
|
|
393
|
+ }
|
|
394
|
+ if (this.cardInfo.SendType === 'channel' && this.cardInfo.ChannelId === '') {
|
|
395
|
+ this.$message({
|
|
396
|
+ type: 'error',
|
|
397
|
+ message: '渠道不能为空'
|
|
398
|
+ })
|
|
399
|
+ return false
|
|
400
|
+ }
|
|
401
|
+ if (this.cardInfo.Targets[0].TargetId === '') {
|
|
402
|
+ this.$message({
|
|
403
|
+ type: 'error',
|
|
404
|
+ message: '目标课程不能为空'
|
|
405
|
+ })
|
|
406
|
+ return false
|
|
407
|
+ }
|
|
408
|
+ if (this.cardInfo.StartDate === '') {
|
|
409
|
+ this.$message({
|
|
410
|
+ type: 'error',
|
|
411
|
+ message: '开始时间不能为空'
|
|
412
|
+ })
|
|
413
|
+ return false
|
|
414
|
+ }
|
|
415
|
+ if (this.cardInfo.EndDate === '') {
|
|
416
|
+ this.$message({
|
|
417
|
+ type: 'error',
|
|
418
|
+ message: '截止时间不能为空'
|
|
419
|
+ })
|
|
420
|
+ return false
|
|
421
|
+ }
|
|
422
|
+ if (this.cardInfo.SendType === 'channel' && this.cardInfo.VideoUrl === '') {
|
|
423
|
+ this.$message({
|
|
424
|
+ type: 'error',
|
|
425
|
+ message: '视频不能为空'
|
|
426
|
+ })
|
|
427
|
+ return false
|
|
428
|
+ }
|
|
429
|
+ if (this.cardInfo.Share.CardShareInfo === '') {
|
|
430
|
+ this.$message({
|
|
431
|
+ type: 'error',
|
|
432
|
+ message: '分享描述不能为空'
|
|
433
|
+ })
|
|
434
|
+ return false
|
|
435
|
+ }
|
|
436
|
+ if (this.cardInfo.Share.CardUseRule === '') {
|
|
437
|
+ this.$message({
|
|
438
|
+ type: 'error',
|
|
439
|
+ message: '使用规则不能为空'
|
|
440
|
+ })
|
|
441
|
+ return false
|
|
442
|
+ }
|
|
443
|
+ if (this.cardInfo.Share.CardUseInstruction === '') {
|
|
444
|
+ this.$message({
|
|
445
|
+ type: 'error',
|
|
446
|
+ message: '使用说明不能为空'
|
|
447
|
+ })
|
|
448
|
+ return false
|
|
449
|
+ }
|
|
450
|
+ },
|
358
|
451
|
submit () { // 保存
|
|
452
|
+ if (!this.checkInfo()) {
|
|
453
|
+ return false
|
|
454
|
+ }
|
359
|
455
|
if (this.$route.query.id) {
|
360
|
456
|
if (this.date !== '') {
|
361
|
457
|
this.cardInfo.StartDate = this.date[0]
|
|
@@ -368,14 +464,12 @@ export default {
|
368
|
464
|
}
|
369
|
465
|
}
|
370
|
466
|
this.cardInfo.TotalCount = this.cardInfo.TotalCount - 0
|
371
|
|
- console.log(JSON.stringify(this.cardInfo))
|
372
|
467
|
this.editCard(this.cardInfo).then((res) => {
|
373
|
|
- this.$alert('操作成功', '提示', {
|
374
|
|
- confirmButtonText: '确定',
|
375
|
|
- callback: action => {
|
376
|
|
- this.$router.push({ name: 'cardList' })
|
377
|
|
- }
|
|
468
|
+ this.$message({
|
|
469
|
+ type: 'success',
|
|
470
|
+ message: '操作成功'
|
378
|
471
|
})
|
|
472
|
+ this.$router.push({ name: 'cardList' })
|
379
|
473
|
})
|
380
|
474
|
} else {
|
381
|
475
|
this.cardInfo.OrgId = this.OrgId
|