8ea9c133
陈威
初始化提交
|
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
|
<template>
<div>
<el-carousel :interval="interval" v-loading="loading" >
<el-carousel-item v-for="item in list" :key="item.id" style="text-align: center;">
<img :src="item.imgUrl" @click="openParticulars(item.id)" style="max-width: 100%;max-height: 100%;"/>
</el-carousel-item>
</el-carousel>
<homeNewsParticulars ref="homeNewsParticulars" />
</div>
</template>
<script>
import req from "@/request.js";
import homeNewsParticulars from "./HomeNewsParticulars.vue";
export default {
props: {
classifyId: {
default: "all"
},
height: { String },
interval:{
default: 3000
},
},
components: { homeNewsParticulars },
data() {
return {
loading:false,
list: [],
};
},
created() {
this.init();
},
methods: {
openParticulars(id) {
this.$refs.homeNewsParticulars.openDialog(id);
},
getImg(id){
return new Promise((resolve, reject) => {
req.get(window.context.portal + "/system/file/v1/preview?fileId=" + id, "blob").then(response => {
if (response.data.size > 0) {
var blob = response.data;
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = function (e) {
resolve(e.target.result);
};
} else {
resolve("");
}
},
function errorCallback(response) {
resolve("")
}
);
});
},
getList(){
return new Promise((resolve, reject) => {
req.get(window.context.portal +"/portalNewsNotice/v1/getNews?classifyId=" +this.classifyId)
.then(response => {
resolve(response.data);
})
});
},
async init(){
this.loading=true;
let list=await this.getList();
for (let i = 0; i <list.length ; i++) {
let img=await this.getImg(list[i].rotatingDisplayPictures);
list[i].imgUrl=img;
}
this.list=list;
this.loading=false;
this.$forceUpdate()
}
}
};
</script>
|