hot.vue
1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<template>
<div>
<selectComp :cb="onClick">
<div class="hot">
<div class="hot-title">{{name}}</div>
<div class="hot-body">
<img src="~assets/item_bg.png" alt="" srcset="" class="hot-image" v-for="i in list" :key="i.id">
</div>
</div>
</selectComp>
<Modal v-model="show" title="系列资源位" @on-ok="onOk" @on-cancel="onCancel">
<hot-editor :name.sync="name" :list.sync="list"></hot-editor>
</Modal>
</div>
</template>
<script>
import selectComp from './select-comp';
import hotEditor from './hot-editor';
import ResourceService from '@/service/resource-service';
export default {
name: 'hot',
props: ['data', 'resContentDataId'],
data() {
let allData =JSON.parse(this.data);
return {
allData,
show: false,
name: allData.template_intro,
list: allData.data.split(','),
}
},
mounted() {
this.resourceService = new ResourceService();
},
methods: {
onClick() {
this.show = true;
},
onOk() {
this.allData.template_intro = this.name;
this.allData.data = this.list.join(',');
this.resourceService.editResource({
id: this.resContentDataId,
contentData: JSON.stringify(this.allData)
}).then((result) => {
this.$bus.$emit('updated');
if (result.code !== 200) {
this.$Message.error('保存失败')
return;
}
this.$Message.success('保存成功')
}).catch(() => {
this.$bus.$emit('updated');
})
},
onCancel() {
this.name = this.allData.template_intro;
this.list = this.allData.data.split(',');
this.$bus.$emit('updated');
}
},
components: {
selectComp,
hotEditor
}
}
</script>
<style>
.hot {
background-color: white;
}
.hot-title {
font-size: 25px;
text-align: left;
padding-top: 10px;
}
.hot-body {
background-color: white;
text-align: left;
}
.hot-image {
margin-top: 10px;
width: 25%;
}
</style>