Showing
16 changed files
with
607 additions
and
0 deletions
apps/service/controllers/chatQa.js
0 → 100644
1 | +/** | ||
2 | + * 服务与反馈 | ||
3 | + * <jing.li@yoho.cn> | ||
4 | + * 2016/11/29 | ||
5 | + */ | ||
6 | + | ||
7 | +'use strict'; | ||
8 | + | ||
9 | +const headerModel = require('../../../doraemon/models/header'); // 头部model | ||
10 | + | ||
11 | +exports.qaList = (req, res, next) => { | ||
12 | + | ||
13 | + let headerData = headerModel.setNav({ | ||
14 | + navTitle: '服务与反馈' | ||
15 | + }); | ||
16 | + | ||
17 | + let responseData = { | ||
18 | + pageHeader: headerData, | ||
19 | + module: 'service', | ||
20 | + page: 'chat-qa', | ||
21 | + title: 'Yoho!Buy有货 | 潮流购物逛不停', | ||
22 | + width750: true, | ||
23 | + pageFooter: true | ||
24 | + }; | ||
25 | + | ||
26 | + res.render('chat/chat-qa', responseData); | ||
27 | +}; | ||
28 | + | ||
29 | +exports.qaSearch = (req, res, next) => { | ||
30 | + | ||
31 | + let headerData = headerModel.setNav({ | ||
32 | + navTitle: '服务与反馈' | ||
33 | + }); | ||
34 | + | ||
35 | + let responseData = { | ||
36 | + pageHeader: headerData, | ||
37 | + module: 'service', | ||
38 | + page: 'chat-qa', | ||
39 | + title: 'Yoho!Buy有货 | 潮流购物逛不停', | ||
40 | + width750: true | ||
41 | + }; | ||
42 | + | ||
43 | + res.render('chat/qa-search', responseData); | ||
44 | +}; | ||
45 | + | ||
46 | + |
@@ -11,7 +11,12 @@ const cRoot = './controllers'; | @@ -11,7 +11,12 @@ const cRoot = './controllers'; | ||
11 | 11 | ||
12 | const chat = require(`${cRoot}/chat`); | 12 | const chat = require(`${cRoot}/chat`); |
13 | 13 | ||
14 | +const chatQa = require(`${cRoot}/chatQa`); // 问题搜索列表页 | ||
15 | + | ||
14 | // Your controller here | 16 | // Your controller here |
15 | router.get('/im/', chat.page); | 17 | router.get('/im/', chat.page); |
16 | 18 | ||
19 | +router.get('/chatQaList', chatQa.qaList); // 问题搜索列表页 | ||
20 | +router.get('/qaSearch', chatQa.qaSearch); // 问题搜索页 | ||
21 | + | ||
17 | module.exports = router; | 22 | module.exports = router; |
apps/service/views/action/chat/chat-qa.hbs
0 → 100644
1 | +<div class="chat-qa-c"> | ||
2 | + <div class="search-c"> | ||
3 | + <a href="./qaSearch"> | ||
4 | + <i class="search-icon iconfont"></i> | ||
5 | + <input type="text" placeholder="有问题?点我搜搜看吧" readonly="readonly" / > | ||
6 | + </a> | ||
7 | + </div> | ||
8 | + <div class="list-title">帮助中心</div> | ||
9 | + <div class="list-group"> | ||
10 | + <div class="list clearfix open-down"> | ||
11 | + <i class="order-ico icon"></i> | ||
12 | + <div> | ||
13 | + <p class="title">订单查询</p> | ||
14 | + <p class="tip">订单修改、取消订单、地址修改</p> | ||
15 | + </div> | ||
16 | + <i class="arr-ico iconfont"></i> | ||
17 | + </div> | ||
18 | + <div class="down-item"> | ||
19 | + <div> | ||
20 | + <p>发货要多长时间?</p> | ||
21 | + <i class="arr-ico iconfont"></i> | ||
22 | + </div> | ||
23 | + <div> | ||
24 | + <p>我的订单为何不能货到付款?</p> | ||
25 | + <i class="arr-ico iconfont"></i> | ||
26 | + </div> | ||
27 | + <div> | ||
28 | + <p>学生认证怎么操作?</p> | ||
29 | + <i class="arr-ico iconfont"></i> | ||
30 | + </div> | ||
31 | + <div> | ||
32 | + <p>分期付款怎么操作?</p> | ||
33 | + <i class="arr-ico iconfont"></i> | ||
34 | + </div> | ||
35 | + <div> | ||
36 | + <p>你们的商品是正品吗?</p> | ||
37 | + <i class="arr-ico iconfont"></i> | ||
38 | + </div> | ||
39 | + </div> | ||
40 | + <div class="list clearfix open-down"> | ||
41 | + <i class="car-ico icon"></i> | ||
42 | + <div> | ||
43 | + <p class="title">物流问题</p> | ||
44 | + <p class="tip">物流费用、时效、跟踪</p> | ||
45 | + </div> | ||
46 | + <i class="arr-ico iconfont"></i> | ||
47 | + </div> | ||
48 | + <div class="down-item"> | ||
49 | + <div> | ||
50 | + <p>发货要多长时间?</p> | ||
51 | + <i class="arr-ico iconfont"></i> | ||
52 | + </div> | ||
53 | + </div> | ||
54 | + <div class="list clearfix open-down"> | ||
55 | + <i class="pay-ico icon"></i> | ||
56 | + <div> | ||
57 | + <p class="title">支付问题</p> | ||
58 | + <p class="tip">分期付款、学生价</p> | ||
59 | + </div> | ||
60 | + <i class="arr-ico iconfont"></i> | ||
61 | + </div> | ||
62 | + <div class="down-item"> | ||
63 | + <div> | ||
64 | + <p>发货要多长时间?</p> | ||
65 | + <i class="arr-ico iconfont"></i> | ||
66 | + </div> | ||
67 | + </div> | ||
68 | + <div class="list clearfix open-down"> | ||
69 | + <i class="reback-ico icon"></i> | ||
70 | + <div> | ||
71 | + <p class="title">售后问题</p> | ||
72 | + <p class="tip">退货、换货</p> | ||
73 | + </div> | ||
74 | + <i class="arr-ico iconfont"></i> | ||
75 | + </div> | ||
76 | + <div class="down-item"> | ||
77 | + <div> | ||
78 | + <p>发货要多长时间?</p> | ||
79 | + <i class="arr-ico iconfont"></i> | ||
80 | + </div> | ||
81 | + </div> | ||
82 | + <div class="list clearfix open-down"> | ||
83 | + <i class="acc-ico icon"></i> | ||
84 | + <div> | ||
85 | + <p class="title">账户问题</p> | ||
86 | + <p class="tip">修改信息、地址管理、账户绑定</p> | ||
87 | + </div> | ||
88 | + <i class="arr-ico iconfont"></i> | ||
89 | + </div> | ||
90 | + <div class="down-item"> | ||
91 | + <div> | ||
92 | + <p>发货要多长时间?</p> | ||
93 | + <i class="arr-ico iconfont"></i> | ||
94 | + </div> | ||
95 | + </div> | ||
96 | + <div class="list clearfix open-down"> | ||
97 | + <i class="good-ico icon"></i> | ||
98 | + <div> | ||
99 | + <p class="title">商品问题</p> | ||
100 | + <p class="tip">正品、尺码、库存</p> | ||
101 | + </div> | ||
102 | + <i class="arr-ico iconfont"></i> | ||
103 | + </div> | ||
104 | + <div class="down-item"> | ||
105 | + <div> | ||
106 | + <p>发货要多长时间?</p> | ||
107 | + <i class="arr-ico iconfont"></i> | ||
108 | + </div> | ||
109 | + </div> | ||
110 | + </div> | ||
111 | + <div class="list-title">常见问题</div> | ||
112 | + <div class="list-group"> | ||
113 | + <div class="common-item"> | ||
114 | + <p>发货要多长时间?</p> | ||
115 | + <i class="arr-ico iconfont"></i> | ||
116 | + </div> | ||
117 | + <div class="common-item"> | ||
118 | + <p>我的订单为何不能货到付款?</p> | ||
119 | + <i class="arr-ico iconfont"></i> | ||
120 | + </div> | ||
121 | + <div class="common-item"> | ||
122 | + <p>学生认证怎么操作?</p> | ||
123 | + <i class="arr-ico iconfont"></i> | ||
124 | + </div> | ||
125 | + <div class="common-item"> | ||
126 | + <p>分期付款怎么操作?</p> | ||
127 | + <i class="arr-ico iconfont"></i> | ||
128 | + </div> | ||
129 | + <div class="common-item"> | ||
130 | + <p>你们的商品是正品吗?</p> | ||
131 | + <i class="arr-ico iconfont"></i> | ||
132 | + </div> | ||
133 | + </div> | ||
134 | + <div class="list-title">没有解决问题</div> | ||
135 | + <div class="list-group"> | ||
136 | + <div class="list clearfix"> | ||
137 | + <i class="gm-ico icon"></i> | ||
138 | + <div> | ||
139 | + <p class="title">在线客服</p> | ||
140 | + <p class="tip">服务时间9:00-22:30</p> | ||
141 | + </div> | ||
142 | + <i class="arr-ico iconfont"></i> | ||
143 | + </div> | ||
144 | + <div class="list clearfix"> | ||
145 | + <i class="advice-ico icon"></i> | ||
146 | + <div> | ||
147 | + <p class="title">意见反馈</p> | ||
148 | + <p class="tip">界面问题、功能问题</p> | ||
149 | + </div> | ||
150 | + <i class="arr-ico iconfont"></i> | ||
151 | + </div> | ||
152 | + <div class="list clearfix"> | ||
153 | + <i class="tel-ico icon"></i> | ||
154 | + <div> | ||
155 | + <p class="title">热线客服</p> | ||
156 | + <p class="tip">服务时间9:00-22:30</p> | ||
157 | + </div> | ||
158 | + <span>400-886-9646</span> | ||
159 | + <i class="arr-ico iconfont"></i> | ||
160 | + </div> | ||
161 | + </div> | ||
162 | +</div> |
apps/service/views/action/chat/qa-search.hbs
0 → 100644
1 | +<div class="qa-search-c"> | ||
2 | + <div class="search-c"> | ||
3 | + <div> | ||
4 | + <i class="search-icon iconfont"></i> | ||
5 | + <input class="get-qa" type="text" placeholder="有问题?点我搜搜看吧" / > | ||
6 | + </div> | ||
7 | + <a class="cancel-btn">取消</a> | ||
8 | + </div> | ||
9 | + <div class="list-group"> | ||
10 | + <div class="common-item"> | ||
11 | + <p>发货要多长时间?</p> | ||
12 | + <i class="arr-ico iconfont"></i> | ||
13 | + </div> | ||
14 | + <div class="common-item"> | ||
15 | + <p>我的订单为何不能货到付款?</p> | ||
16 | + <i class="arr-ico iconfont"></i> | ||
17 | + </div> | ||
18 | + <div class="common-item"> | ||
19 | + <p>学生认证怎么操作?</p> | ||
20 | + <i class="arr-ico iconfont"></i> | ||
21 | + </div> | ||
22 | + <div class="common-item"> | ||
23 | + <p>分期付款怎么操作?</p> | ||
24 | + <i class="arr-ico iconfont"></i> | ||
25 | + </div> | ||
26 | + <div class="common-item"> | ||
27 | + <p>你们的商品是正品吗?</p> | ||
28 | + <i class="arr-ico iconfont"></i> | ||
29 | + </div> | ||
30 | + </div> | ||
31 | + <div class="fix-tip">没有相关问题,请联系<a>在线客服</a></div> | ||
32 | +</div> |
public/img/service/chat/acc-ico.png
0 → 100644

1.95 KB
public/img/service/chat/advice-ico.png
0 → 100644

1.38 KB
public/img/service/chat/car-ico.png
0 → 100644

1.48 KB
public/img/service/chat/gm-ico.png
0 → 100644

2.62 KB
public/img/service/chat/good-ico.png
0 → 100644

1.56 KB
public/img/service/chat/order-ico.png
0 → 100644

1.23 KB
public/img/service/chat/pay-ico.png
0 → 100644

1.09 KB
public/img/service/chat/reback-ico.png
0 → 100644

2.51 KB
public/img/service/chat/tel-ico.png
0 → 100644

2.1 KB
public/js/service/chat-qa.page.js
0 → 100644
1 | + | ||
2 | +'use strict'; | ||
3 | + | ||
4 | +require('../common'); | ||
5 | + | ||
6 | +$('.list-group div').on('touchstart', | ||
7 | + function() { | ||
8 | + $(this).addClass('highlight'); | ||
9 | +}).on('touchend touchcancel', | ||
10 | + function() { | ||
11 | + $(this).removeClass('highlight'); | ||
12 | +} | ||
13 | +); | ||
14 | + | ||
15 | +$('.open-down').click( | ||
16 | + function() { | ||
17 | + $(this).next('.down-item').toggle().siblings('.down-item').hide(); | ||
18 | +} | ||
19 | +); | ||
20 | + | ||
21 | +$('.cancel-btn').click( | ||
22 | + function() { | ||
23 | + window.history.go(-1); | ||
24 | +} | ||
25 | +); | ||
26 | + | ||
27 | +$('.get-qa').keyup( | ||
28 | + function() { | ||
29 | + var searchText = $(this).val(); | ||
30 | + $('.list-group').html('<div class="common-item">' + | ||
31 | + '<p>111<span>' + searchText + '</span></p>' + | ||
32 | + '<i class="arr-ico iconfont"></i>' + | ||
33 | + '</div>' + | ||
34 | + '<div class="common-item">' + | ||
35 | + '<p>222<span>' + searchText + '</span></p>' + | ||
36 | + '<i class="arr-ico iconfont"></i>' + | ||
37 | + '</div>' + | ||
38 | + '<div class="common-item">' + | ||
39 | + '<p>333<span>' + searchText + '</span></p>' + | ||
40 | + '<i class="arr-ico iconfont"></i>' + | ||
41 | + '</div>' + | ||
42 | + '<div class="common-item">' + | ||
43 | + '<p>444<span>' + searchText + '</span></p>' + | ||
44 | + '<i class="arr-ico iconfont"></i>' + | ||
45 | + '</div>' + | ||
46 | + '<div class="common-item">' + | ||
47 | + '<p>555<span>' + searchText + '</span></p>' + | ||
48 | + '<i class="arr-ico iconfont"></i>' + | ||
49 | + '</div>'); | ||
50 | +} | ||
51 | +); |
public/scss/service/chat/_chatQaList.css
0 → 100644
1 | +.chat-qa-c { | ||
2 | + width: 100%; | ||
3 | + position: relative; | ||
4 | + | ||
5 | + .search-c { | ||
6 | + height: 92px; | ||
7 | + padding-top: 17px; | ||
8 | + border-bottom: solid 1px #e0e0e0; | ||
9 | + | ||
10 | + a { | ||
11 | + display: block; | ||
12 | + width: 718px; | ||
13 | + height: 57px; | ||
14 | + background-color: #eaebed; | ||
15 | + margin: 0 auto; | ||
16 | + border-radius: 10px; | ||
17 | + padding: 10px 30px; | ||
18 | + | ||
19 | + .search-icon { | ||
20 | + color: #8e8e93; | ||
21 | + font-size: 30px; | ||
22 | + } | ||
23 | + | ||
24 | + input { | ||
25 | + height: 37px; | ||
26 | + line-height: 37px; | ||
27 | + border: 0px; | ||
28 | + color: #8e8e93; | ||
29 | + font-size: 28px; | ||
30 | + background: none; | ||
31 | + width: 600px; | ||
32 | + padding-left: 20px; | ||
33 | + } | ||
34 | + } | ||
35 | + } | ||
36 | + | ||
37 | + .list-title { | ||
38 | + font-size: 28px; | ||
39 | + color: #b0b0b0; | ||
40 | + width: 100%; | ||
41 | + height: 70px; | ||
42 | + line-height: 70px; | ||
43 | + padding: 0 30px; | ||
44 | + background-color: #f0f0f0; | ||
45 | + } | ||
46 | + | ||
47 | + .list-group { | ||
48 | + border-top: solid 1px #e0e0e0; | ||
49 | + border-bottom: solid 1px #e0e0e0; | ||
50 | + | ||
51 | + .highlight { | ||
52 | + background-color: #eee; | ||
53 | + } | ||
54 | + | ||
55 | + .list { | ||
56 | + min-height: 120px; | ||
57 | + position: relative; | ||
58 | + | ||
59 | + .icon { | ||
60 | + width: 100px; | ||
61 | + height: 120px; | ||
62 | + float: left; | ||
63 | + background-repeat: no-repeat; | ||
64 | + background-size: auto 50%; | ||
65 | + background-position: center center; | ||
66 | + } | ||
67 | + | ||
68 | + .order-ico { | ||
69 | + background-image: resolve("service/chat/order-ico.png"); | ||
70 | + } | ||
71 | + | ||
72 | + .car-ico { | ||
73 | + background-image: resolve("service/chat/car-ico.png"); | ||
74 | + } | ||
75 | + | ||
76 | + .pay-ico { | ||
77 | + background-image: resolve("service/chat/pay-ico.png"); | ||
78 | + } | ||
79 | + | ||
80 | + .reback-ico { | ||
81 | + background-image: resolve("service/chat/reback-ico.png"); | ||
82 | + } | ||
83 | + | ||
84 | + .acc-ico { | ||
85 | + background-image: resolve("service/chat/acc-ico.png"); | ||
86 | + } | ||
87 | + | ||
88 | + .good-ico { | ||
89 | + background-image: resolve("service/chat/good-ico.png"); | ||
90 | + } | ||
91 | + | ||
92 | + .gm-ico { | ||
93 | + background-image: resolve("service/chat/gm-ico.png"); | ||
94 | + } | ||
95 | + | ||
96 | + .advice-ico { | ||
97 | + background-image: resolve("service/chat/advice-ico.png"); | ||
98 | + } | ||
99 | + | ||
100 | + .tel-ico { | ||
101 | + background-image: resolve("service/chat/tel-ico.png"); | ||
102 | + } | ||
103 | + | ||
104 | + .arr-ico { | ||
105 | + line-height: 120px; | ||
106 | + color: #e1e1e1; | ||
107 | + font-size: 25px; | ||
108 | + position: absolute; | ||
109 | + top: 0; | ||
110 | + right: 30px; | ||
111 | + } | ||
112 | + | ||
113 | + div { | ||
114 | + min-height: 120px; | ||
115 | + padding: 25px 80px 20px 0; | ||
116 | + width: 650px; | ||
117 | + float: left; | ||
118 | + border-bottom: solid 1px #e0e0e0; | ||
119 | + | ||
120 | + .title { | ||
121 | + line-height: 40px; | ||
122 | + font-size: 32px; | ||
123 | + } | ||
124 | + | ||
125 | + .tip { | ||
126 | + line-height: 35px; | ||
127 | + font-size: 24px; | ||
128 | + color: #b0b0b0; | ||
129 | + } | ||
130 | + } | ||
131 | + | ||
132 | + span { | ||
133 | + color: #444; | ||
134 | + font-size: 28px; | ||
135 | + position: absolute; | ||
136 | + top: 0; | ||
137 | + right: 70px; | ||
138 | + line-height: 120px; | ||
139 | + } | ||
140 | + | ||
141 | + &:last-child div { | ||
142 | + border-bottom: 0; | ||
143 | + } | ||
144 | + } | ||
145 | + | ||
146 | + .active div{ | ||
147 | + border-bottom: 0; | ||
148 | + } | ||
149 | + | ||
150 | + .down-item { | ||
151 | + display: none; | ||
152 | + margin-top: -1px; | ||
153 | + border-bottom: solid 1px #e0e0e0; | ||
154 | + | ||
155 | + div { | ||
156 | + padding: 0 30px; | ||
157 | + position: relative; | ||
158 | + line-height: 90px; | ||
159 | + border-top: solid 1px #e0e0e0; | ||
160 | + background-color: #f0f0f0; | ||
161 | + | ||
162 | + p { | ||
163 | + font-size: 32px; | ||
164 | + color: #444; | ||
165 | + } | ||
166 | + | ||
167 | + .arr-ico { | ||
168 | + line-height: 90px; | ||
169 | + color: #e1e1e1; | ||
170 | + font-size: 25px; | ||
171 | + position: absolute; | ||
172 | + top: 0; | ||
173 | + right: 30px; | ||
174 | + } | ||
175 | + } | ||
176 | + } | ||
177 | + | ||
178 | + .common-item { | ||
179 | + position: relative; | ||
180 | + line-height: 90px; | ||
181 | + padding: 0 30px; | ||
182 | + border-bottom: solid 1px #e6e6e6; | ||
183 | + | ||
184 | + p { | ||
185 | + font-size: 32px; | ||
186 | + width: 650px; | ||
187 | + } | ||
188 | + | ||
189 | + .arr-ico { | ||
190 | + line-height: 90px; | ||
191 | + color: #e1e1e1; | ||
192 | + font-size: 25px; | ||
193 | + position: absolute; | ||
194 | + top: 0; | ||
195 | + right: 30px; | ||
196 | + } | ||
197 | + | ||
198 | + &:last-child { | ||
199 | + border-bottom: 0; | ||
200 | + } | ||
201 | + } | ||
202 | + } | ||
203 | +} | ||
204 | + | ||
205 | +.qa-search-c { | ||
206 | + width: 100%; | ||
207 | + position: relative; | ||
208 | + | ||
209 | + .search-c { | ||
210 | + height: 92px; | ||
211 | + padding-top: 17px; | ||
212 | + border-bottom: solid 1px #e0e0e0; | ||
213 | + | ||
214 | + div { | ||
215 | + display: block; | ||
216 | + width: 600px; | ||
217 | + height: 57px; | ||
218 | + background-color: #eaebed; | ||
219 | + border-radius: 10px; | ||
220 | + padding: 10px 30px; | ||
221 | + margin-left: 30px; | ||
222 | + float: left; | ||
223 | + | ||
224 | + .search-icon { | ||
225 | + color: #8e8e93; | ||
226 | + font-size: 30px; | ||
227 | + } | ||
228 | + | ||
229 | + input { | ||
230 | + height: 37px; | ||
231 | + line-height: 37px; | ||
232 | + border: 0px; | ||
233 | + color: #8e8e93; | ||
234 | + font-size: 28px; | ||
235 | + background: none; | ||
236 | + width: 480px; | ||
237 | + padding-left: 20px; | ||
238 | + } | ||
239 | + } | ||
240 | + | ||
241 | + .cancel-btn { | ||
242 | + float: left; | ||
243 | + line-height: 57px; | ||
244 | + color: #b0b0b0; | ||
245 | + margin-left: 20px; | ||
246 | + font-size: 32px; | ||
247 | + } | ||
248 | + } | ||
249 | + | ||
250 | + .list-group { | ||
251 | + border-bottom: solid 1px #e0e0e0; | ||
252 | + | ||
253 | + .highlight { | ||
254 | + background-color: #eee; | ||
255 | + } | ||
256 | + | ||
257 | + .common-item { | ||
258 | + position: relative; | ||
259 | + line-height: 90px; | ||
260 | + padding: 0 30px; | ||
261 | + border-bottom: solid 1px #e6e6e6; | ||
262 | + | ||
263 | + p { | ||
264 | + font-size: 32px; | ||
265 | + width: 650px; | ||
266 | + | ||
267 | + span { | ||
268 | + color: #d0021b; | ||
269 | + } | ||
270 | + } | ||
271 | + | ||
272 | + .arr-ico { | ||
273 | + line-height: 90px; | ||
274 | + color: #e1e1e1; | ||
275 | + font-size: 25px; | ||
276 | + position: absolute; | ||
277 | + top: 0; | ||
278 | + right: 30px; | ||
279 | + } | ||
280 | + | ||
281 | + &:last-child { | ||
282 | + border-bottom: 0; | ||
283 | + } | ||
284 | + } | ||
285 | + } | ||
286 | + | ||
287 | + .fix-tip { | ||
288 | + width: 100%; | ||
289 | + height: 70px; | ||
290 | + line-height: 70px; | ||
291 | + background-color: #000; | ||
292 | + color: #fff; | ||
293 | + position: fixed; | ||
294 | + bottom: 0; | ||
295 | + left: 0; | ||
296 | + right: 0; | ||
297 | + text-align: center; | ||
298 | + font-size: 24px; | ||
299 | + z-index: 9; | ||
300 | + opacity: 0.8; | ||
301 | + | ||
302 | + a { | ||
303 | + background-color: #f00; | ||
304 | + color: #fff; | ||
305 | + padding: 3px 8px; | ||
306 | + border-radius: 5px; | ||
307 | + margin-left: 20px; | ||
308 | + } | ||
309 | + } | ||
310 | +} |
-
Please register or login to post a comment