fcf6d777 by joe

1

1 parent ba206416
...@@ -11,7 +11,7 @@ as.defineAvatar = "http://cdn.aiwanpai.com/s/d.jpg"; ...@@ -11,7 +11,7 @@ as.defineAvatar = "http://cdn.aiwanpai.com/s/d.jpg";
11 as.shareLink = as.domains + "/index.html"; 11 as.shareLink = as.domains + "/index.html";
12 as.shareImgUrl = as.domains + "/share.jpg"; 12 as.shareImgUrl = as.domains + "/share.jpg";
13 as.shareTitle = "我C位出道,需要你的一票"; 13 as.shareTitle = "我C位出道,需要你的一票";
14 as.shareDesc = "C位出道需要你的一票。你也想成为C位主角吗?不要犹豫了,赶紧来报名吧!" 14 as.shareDesc = "你也想成为C位主角吗?立乐家“小戏骨选拔赛“,让你C位出道,赶紧来报名吧!"
15 as.success = function () { }; 15 as.success = function () { };
16 as.appSuccess = function () { }; 16 as.appSuccess = function () { };
17 17
......
...@@ -19,6 +19,23 @@ ...@@ -19,6 +19,23 @@
19 </div> 19 </div>
20 </div> 20 </div>
21 21
22 <div class="model" v-if="data.index == 'subcribe'">
23 <div class="model-close" @click="modelCloseHandler"></div>
24 <div class="model-content">
25 <div class="model-head-line"></div>
26 <div class="model-title">微信提示</div>
27
28 <div class="successModel">
29 <div class="model-data">扫码关注<br>及时了解最新赛况及结果哦!</div>
30 <div class="qrcode">
31 <img src="../../assets/imgs/walfare-qrcode.png" />
32 </div>
33
34 <div class="model-bottom-line"></div>
35 </div>
36 </div>
37 </div>
38
22 <div class="model rule-model" v-if="data.index == 'rule'"> 39 <div class="model rule-model" v-if="data.index == 'rule'">
23 <div class="model-close" @click="modelCloseHandler"></div> 40 <div class="model-close" @click="modelCloseHandler"></div>
24 <!-- 规则--> 41 <!-- 规则-->
...@@ -127,7 +144,7 @@ export default { ...@@ -127,7 +144,7 @@ export default {
127 background-color: transparent; 144 background-color: transparent;
128 } 145 }
129 .model-bottom-line { 146 .model-bottom-line {
130 height: 50px; 147 height: 80px;
131 background-color: transparent; 148 background-color: transparent;
132 } 149 }
133 150
...@@ -172,6 +189,22 @@ export default { ...@@ -172,6 +189,22 @@ export default {
172 text-align: center; 189 text-align: center;
173 } 190 }
174 191
192 .qrcode {
193 width: 187px;
194 height: 195px;
195 line-height: 195px;
196 background: url(../../assets/imgs/qrcode-bg.png) no-repeat;
197 background-size: 100%;
198 margin: auto;
199 text-align: center;
200 display: flex;
201 align-items: center;
202 justify-content: center;
203 img {
204 width: 170px;
205 }
206 }
207
175 .rule-model { 208 .rule-model {
176 width: 600px !important; 209 width: 600px !important;
177 210
......
...@@ -26,15 +26,39 @@ ...@@ -26,15 +26,39 @@
26 <div class="name">更多福利</div> 26 <div class="name">更多福利</div>
27 </div> 27 </div>
28 </div> 28 </div>
29
30 <biz-model v-model="model"></biz-model>
29 </div> 31 </div>
30 </template> 32 </template>
31 33
32 <script> 34 <script>
35 let urls = {
36 index: "/jiajiaCHApi/app/index"
37 };
38
39 import { httpGet } from "@/api/fetch-api";
40 import BizModel from "@/components/biz-model/biz-model";
41
33 export default { 42 export default {
34 props: ["value"], 43 props: ["value"],
35 data() { 44 data() {
36 return { 45 return {
37 activityIndex: this.value 46 activityIndex: this.value,
47 model: {
48 show: false,
49 title: "",
50 content: "",
51 index: "subcribe",
52 btnShow: false,
53 btnText: "",
54 confirmHandler: null,
55 labelBtnShow: false,
56 labelBtnText: "",
57 labelBtnHandler: null
58 },
59 indexData: {
60 isSubcribe: 0
61 }
38 }; 62 };
39 }, 63 },
40 methods: { 64 methods: {
...@@ -48,7 +72,11 @@ export default { ...@@ -48,7 +72,11 @@ export default {
48 this.$router.push("/"); 72 this.$router.push("/");
49 break; 73 break;
50 case 2: 74 case 2:
75 if (this.indexData.isSubcribe == 1) {
51 this.$router.push("/sign"); 76 this.$router.push("/sign");
77 } else {
78 this.model.show = true;
79 }
52 break; 80 break;
53 case 3: 81 case 3:
54 this.$router.push("/list"); 82 this.$router.push("/list");
...@@ -64,6 +92,13 @@ export default { ...@@ -64,6 +92,13 @@ export default {
64 if (!this.activityIndex) { 92 if (!this.activityIndex) {
65 this.activityIndex = 1; 93 this.activityIndex = 1;
66 } 94 }
95
96 httpGet({ url: urls.index }).then(res => {
97 this.indexData = res;
98 });
99 },
100 components: {
101 BizModel
67 } 102 }
68 }; 103 };
69 </script> 104 </script>
......
...@@ -330,7 +330,7 @@ export default { ...@@ -330,7 +330,7 @@ export default {
330 position: fixed; 330 position: fixed;
331 left: 0; 331 left: 0;
332 top: 30px; 332 top: 30px;
333 z-index: 8000; 333 z-index: 2000;
334 } 334 }
335 .btn-prize-list{ 335 .btn-prize-list{
336 width: 166px; 336 width: 166px;
...@@ -340,6 +340,6 @@ export default { ...@@ -340,6 +340,6 @@ export default {
340 position: fixed; 340 position: fixed;
341 right: 0; 341 right: 0;
342 top: 30px; 342 top: 30px;
343 z-index: 8000; 343 z-index: 2000;
344 } 344 }
345 </style> 345 </style>
......
...@@ -8,27 +8,66 @@ ...@@ -8,27 +8,66 @@
8 <div class="leap-02"></div> 8 <div class="leap-02"></div>
9 <div class="leap-03"></div> 9 <div class="leap-03"></div>
10 <div class="remain"></div> 10 <div class="remain"></div>
11
12 <biz-model v-model="model"></biz-model>
11 <bottom-tool v-model="activityIndex"></bottom-tool> 13 <bottom-tool v-model="activityIndex"></bottom-tool>
12 </div> 14 </div>
13 </template> 15 </template>
14 16
15 <script> 17 <script>
18 let urls = {
19 index: "/jiajiaCHApi/app/index"
20 };
21
22 import { httpGet } from "@/api/fetch-api";
23
16 import BottomTool from "@/components/bottom-tools/bottom-tools"; 24 import BottomTool from "@/components/bottom-tools/bottom-tools";
25 import BizModel from "@/components/biz-model/biz-model";
26
27 import Vue from "vue";
28 import { Toast } from "vant";
29 Vue.use(Toast);
17 30
18 export default { 31 export default {
19 name: "home", 32 name: "home",
20 data() { 33 data() {
21 return { 34 return {
22 activityIndex: 1 35 activityIndex: 1,
36 model: {
37 show: false,
38 title: "",
39 content: "",
40 index: "subcribe",
41 btnShow: false,
42 btnText: "",
43 confirmHandler: null,
44 labelBtnShow: false,
45 labelBtnText: "",
46 labelBtnHandler: null
47 }
23 }; 48 };
24 }, 49 },
25 methods: { 50 methods: {
26 toSign() { 51 toSign() {
52
53 Toast.loading({
54 mask: true,
55 message: "请稍等..."
56 });
57
58 httpGet({ url: urls.index }).then(res => {
59 Toast.clear();
60 if (res.isSubcribe == 1) {
27 this.$router.push("/sign"); 61 this.$router.push("/sign");
62 } else {
63 this.model.show = true;
64 }
65 });
28 } 66 }
29 }, 67 },
30 components: { 68 components: {
31 BottomTool 69 BottomTool,
70 BizModel
32 } 71 }
33 }; 72 };
34 </script> 73 </script>
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
7 <div class="search-btn" @click="searchWorksHandler('searchBtn')"></div> 7 <div class="search-btn" @click="searchWorksHandler('searchBtn')"></div>
8 </div> 8 </div>
9 <van-row> 9 <van-row>
10 <van-list v-model="isLoading" :finished="!hasMore" finished-text="" @load="refreshMore"> 10 <van-list v-model="isLoading" :finished="!hasMore" finished-text @load="refreshMore">
11 <van-cell v-for="(itemList,index1) in worksList" :key="index1"> 11 <van-cell v-for="(itemList,index1) in worksList" :key="index1">
12 <van-col span="12" v-for="(item,index2) in itemList" :key="index2"> 12 <van-col span="12" v-for="(item,index2) in itemList" :key="index2">
13 <div class="worksItem" @click="toWorksViewHandler(item.worksCode)"> 13 <div class="worksItem" @click="toWorksViewHandler(item.worksCode)">
14 <div 14 <div
15 class="worksThumb" 15 class="worksThumb"
16 v-bind:style="{backgroundImage:'url(' + item.worksList && item.worksList[0] && item.worksList[0].worksUrl + ')'}" 16 v-bind:style="{backgroundImage:'url(' + (item.worksList && item.worksList[0] ? item.worksList[0].worksUrl : '') + ')'}"
17 ></div> 17 ></div>
18 <div class="worksDescription"> 18 <div class="worksDescription">
19 <div class="worksNo">{{item.worksNo}}</div> 19 <div class="worksNo">{{item.worksNo}}</div>
...@@ -49,7 +49,9 @@ import Vue from "vue"; ...@@ -49,7 +49,9 @@ import Vue from "vue";
49 import { Row, Col } from "vant"; 49 import { Row, Col } from "vant";
50 import { Icon } from "vant"; 50 import { Icon } from "vant";
51 import { List, Cell } from "vant"; 51 import { List, Cell } from "vant";
52 import { Toast } from "vant";
52 53
54 Vue.use(Toast);
53 Vue.use(List).use(Cell); 55 Vue.use(List).use(Cell);
54 Vue.use(Icon); 56 Vue.use(Icon);
55 Vue.use(Row).use(Col); 57 Vue.use(Row).use(Col);
...@@ -65,15 +67,15 @@ export default { ...@@ -65,15 +67,15 @@ export default {
65 lastQuery: "", 67 lastQuery: "",
66 listForm: { 68 listForm: {
67 query: "", 69 query: "",
68 page: 1, 70 page: 0,
69 size: 20 71 size: 20
70 } 72 }
71 }; 73 };
72 }, 74 },
73 methods: { 75 methods: {
74 initActvity() { 76 // initActvity() {
75 this.searchWorksHandler(); 77 // this.searchWorksHandler();
76 }, 78 // },
77 toWorksViewHandler(code) { 79 toWorksViewHandler(code) {
78 this.$emit("worksDetail", { worksCode: code }); 80 this.$emit("worksDetail", { worksCode: code });
79 }, 81 },
...@@ -84,8 +86,14 @@ export default { ...@@ -84,8 +86,14 @@ export default {
84 } 86 }
85 this.lastQuery = this.listForm.query; 87 this.lastQuery = this.listForm.query;
86 this.listForm.page = 1; 88 this.listForm.page = 1;
89 Toast.loading({
90 mask: true,
91 message: "加载中..."
92 });
87 } 93 }
94 console.log("this.listForm === ", this.listForm);
88 httpGet({ url: urls.list, data: this.listForm }).then(res => { 95 httpGet({ url: urls.list, data: this.listForm }).then(res => {
96 Toast.clear();
89 let list = []; 97 let list = [];
90 if (this.listForm.page != 1) { 98 if (this.listForm.page != 1) {
91 list = this.worksList; 99 list = this.worksList;
...@@ -107,6 +115,8 @@ export default { ...@@ -107,6 +115,8 @@ export default {
107 // 加载更多 115 // 加载更多
108 this.hasMore = res.list.length == this.listForm.size; 116 this.hasMore = res.list.length == this.listForm.size;
109 this.isLoading = false; 117 this.isLoading = false;
118 }).catch(e=>{
119 Toast.clear();
110 }); 120 });
111 }, 121 },
112 refreshMore() { 122 refreshMore() {
...@@ -116,7 +126,7 @@ export default { ...@@ -116,7 +126,7 @@ export default {
116 } 126 }
117 }, 127 },
118 created() { 128 created() {
119 this.initActvity(); 129 // this.initActvity();
120 } 130 }
121 }; 131 };
122 </script> 132 </script>
...@@ -165,12 +175,12 @@ export default { ...@@ -165,12 +175,12 @@ export default {
165 } 175 }
166 } 176 }
167 177
168
169 .van-row { 178 .van-row {
170 margin-top: 30px; 179 margin-top: 30px;
180 min-height: 400px;
171 } 181 }
172 182
173 .van-cell{ 183 .van-cell {
174 padding: 0; 184 padding: 0;
175 } 185 }
176 186
...@@ -181,6 +191,7 @@ export default { ...@@ -181,6 +191,7 @@ export default {
181 border: solid 1px #d1d0d0; 191 border: solid 1px #d1d0d0;
182 box-shadow: 2px 2px 2px #d1d0d0; 192 box-shadow: 2px 2px 2px #d1d0d0;
183 border-radius: 20px; 193 border-radius: 20px;
194 overflow: hidden;
184 195
185 .worksThumb { 196 .worksThumb {
186 width: 300px; 197 width: 300px;
...@@ -193,12 +204,13 @@ export default { ...@@ -193,12 +204,13 @@ export default {
193 padding-left: 10px; 204 padding-left: 10px;
194 205
195 div { 206 div {
196 font-size: 26px; 207 font-size: 22px;
197 height: 60px; 208 height: 60px;
198 line-height: 60px; 209 line-height: 60px;
199 text-align: left; 210 text-align: left;
200 text-overflow: ellipsis; 211 text-overflow: ellipsis;
201 overflow: hidden; 212 overflow: hidden;
213 font-weight: 600;
202 } 214 }
203 215
204 .worksNo { 216 .worksNo {
...@@ -221,7 +233,7 @@ export default { ...@@ -221,7 +233,7 @@ export default {
221 } 233 }
222 } 234 }
223 .empty { 235 .empty {
224 padding-top: 100px; 236 padding-top: 30px;
225 height: 300px; 237 height: 300px;
226 238
227 .empty-icon { 239 .empty-icon {
......
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
2 <div class="viewClass" v-if="formData"> 2 <div class="viewClass" v-if="formData">
3 <div class="btn-back" @click="backHandler"></div> 3 <div class="btn-back" @click="backHandler"></div>
4 <div class="sys-container-panel content"> 4 <div class="sys-container-panel content">
5 <div class="container-title">小选手:{{formData.name}}</div> 5 <div class="container-title">
6 <div>小选手:{{formData.name}}</div>
7 </div>
6 <div class="head-line"></div> 8 <div class="head-line"></div>
7 <div class="swipe"> 9 <div class="swipe">
8 <van-swipe :autoplay="5000"> 10 <van-swipe :autoplay="5000">
...@@ -43,20 +45,24 @@ ...@@ -43,20 +45,24 @@
43 </div> 45 </div>
44 46
45 <div class="view-btn-group"> 47 <div class="view-btn-group">
46 <div class="sys-btn-02" @click="selfPraiseHandler">投TA一票</div> 48 <div class="sys-btn-02" @click="praiseHandler">投TA一票</div>
47 <div class="sys-btn-02" @click="showShareHandler">呼叫亲友团</div> 49 <div class="sys-btn-02" @click="showShareHandler">呼叫亲友团</div>
48 </div> 50 </div>
49 51
50 <div class="btn-tips">*每用户每天仅能投票一次</div> 52 <div class="btn-tips">*每用户每天仅能投票一次</div>
53
54 <biz-model v-model="model"></biz-model>
51 </div> 55 </div>
52 </template> 56 </template>
53 57
54 <script> 58 <script>
55 let urls = { 59 let urls = {
60 index: "/jiajiaCHApi/app/index",
56 praise: "/jiajiaCHApi/app/works/praise" 61 praise: "/jiajiaCHApi/app/works/praise"
57 }; 62 };
58 63
59 import { request } from "@/api/fetch-api"; 64 import { request, httpGet } from "@/api/fetch-api";
65 import BizModel from "@/components/biz-model/biz-model";
60 66
61 import Vue from "vue"; 67 import Vue from "vue";
62 import { Toast } from "vant"; 68 import { Toast } from "vant";
...@@ -70,33 +76,43 @@ export default { ...@@ -70,33 +76,43 @@ export default {
70 data() { 76 data() {
71 return { 77 return {
72 formData: this.value.data, 78 formData: this.value.data,
73 isMy: this.value.isMy 79 isMy: this.value.isMy,
80 model: {
81 show: false,
82 title: "",
83 content: "",
84 index: "subcribe",
85 btnShow: false,
86 btnText: "",
87 confirmHandler: null,
88 labelBtnShow: false,
89 labelBtnText: "",
90 labelBtnHandler: null
91 }
74 }; 92 };
75 }, 93 },
76 methods: { 94 methods: {
77 formEditHandler() { 95 praiseHandler() {
78 this.$emit("edit");
79 },
80 selfPraiseHandler() {
81 // 自己点赞
82 let data = {
83 worksCode: this.formData.worksCode
84 };
85 Toast.loading({ 96 Toast.loading({
86 mask: true, 97 mask: true,
87 message: "数据提交..." 98 message: "请稍等..."
88 }); 99 });
89 request 100 httpGet({ url: urls.index }).then(res => {
90 .post(urls.praise, data) 101 if (res.isSubcribe == 1) {
91 .then(res => { 102 let data = {
103 worksCode: this.formData.worksCode
104 };
105 request.post(urls.praise, data).then(res => {
92 Toast.clear(); 106 Toast.clear();
93 this.$emit("praiseSuccess"); 107 this.$emit("praiseSuccess");
94 }) 108 });
95 .catch(res => { 109 } else {
96 let msg = res.data.errMsg; 110 Toast.clear();
97 Toast(msg); 111 this.model.show = true;
112 }
98 }); 113 });
99 }, 114 },
115
100 showShareHandler() { 116 showShareHandler() {
101 // 出现分享层 117 // 出现分享层
102 this.$emit("showShare"); 118 this.$emit("showShare");
...@@ -104,6 +120,9 @@ export default { ...@@ -104,6 +120,9 @@ export default {
104 backHandler() { 120 backHandler() {
105 this.$emit("back"); 121 this.$emit("back");
106 } 122 }
123 },
124 components: {
125 BizModel
107 } 126 }
108 }; 127 };
109 </script> 128 </script>
...@@ -234,8 +253,11 @@ export default { ...@@ -234,8 +253,11 @@ export default {
234 } 253 }
235 } 254 }
236 255
237 .container-title { 256 .container-title div {
257 width: 350px;
258 margin: auto;
238 font-size: 28px; 259 font-size: 28px;
260 font-weight: bold;
239 text-overflow: ellipsis; 261 text-overflow: ellipsis;
240 overflow: hidden; 262 overflow: hidden;
241 } 263 }
...@@ -268,6 +290,6 @@ export default { ...@@ -268,6 +290,6 @@ export default {
268 position: fixed; 290 position: fixed;
269 left: 0; 291 left: 0;
270 top: 30px; 292 top: 30px;
271 z-index: 8000; 293 z-index: 1000;
272 } 294 }
273 </style> 295 </style>
......
...@@ -278,6 +278,6 @@ export default { ...@@ -278,6 +278,6 @@ export default {
278 position: fixed; 278 position: fixed;
279 left: 0; 279 left: 0;
280 top: 30px; 280 top: 30px;
281 z-index: 8000; 281 z-index: 1000;
282 } 282 }
283 </style> 283 </style>
......
...@@ -135,7 +135,19 @@ export default { ...@@ -135,7 +135,19 @@ export default {
135 showWorksList() { 135 showWorksList() {
136 this.listVisiabled = true; 136 this.listVisiabled = true;
137 }, 137 },
138 praiseSuccessHandler() {}, 138 praiseSuccessHandler() {
139 this.model.show = true;
140 this.model.title = "点赞成功";
141 this.model.content = "您已获得一次抽奖机会";
142 this.model.btnShow = true;
143 this.model.btnText = "前往抽奖";
144
145 let that = this;
146 this.model.confirmHandler = function() {
147 that.$router.push("/draw");
148 };
149 this.model.labelBtnShow = false;
150 }
139 }, 151 },
140 created() { 152 created() {
141 this.initActivity(); 153 this.initActivity();
......
1 <template> 1 <template>
2 <div class="home"> 2 <div class="home">
3 <head-view></head-view> 3 <head-view></head-view>
4 4
5 <ViewModel 5 <ViewModel
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 <div class="shareIcon"></div> 22 <div class="shareIcon"></div>
23 </div> 23 </div>
24 </div> 24 </div>
25 </div> 25 </div>
26 </template> 26 </template>
27 27
28 <script> 28 <script>
...@@ -134,6 +134,8 @@ export default { ...@@ -134,6 +134,8 @@ export default {
134 let link = location.origin + location.pathname; 134 let link = location.origin + location.pathname;
135 if (this.formData.worksCode) { 135 if (this.formData.worksCode) {
136 link += "?worksCode=" + this.formData.worksCode; 136 link += "?worksCode=" + this.formData.worksCode;
137 } else {
138 return;
137 } 139 }
138 let desc = this.formData.profile || null; 140 let desc = this.formData.profile || null;
139 let imgurl = 141 let imgurl =
......