Authored by OF1706

feedBack

... ... @@ -7,34 +7,16 @@
'use strict';
const suggestFeedBackModel = require('../models/suggestFeedBack');
const suggestFeedBackModel = require('../models/suggestFeedBack-service');
const _ = require('lodash');
const getFeedBack = (req, res, next) => {
let feedbackId = req.query.feedback_id || 0;
let questionId = req.query.question_id || 0;
let answer = _.trim(req.query.answer) || '';
let solution = req.query.solution || 0;
if (!feedbackId || !questionId || !answer || !solution) {
suggestFeedBackModel.feedBackApi(feedbackId, questionId, answer, solution).then((result) => {
return res.jsonp({
code: 200,
data: result.data,
message: 'success'
});
}).catch(next);
} else {
return res.status(403).send({
message: '意见反馈失败'
});
}
suggestFeedBackModel.suggestFeedBack().then((result) => {
console.log('result99999999999');
console.log(result);
res.jsonp(result);
}).catch(next);
};
module.exports = {
... ...
... ... @@ -6,24 +6,17 @@
'use strict';
const api = global.yoho.API;
const config = global.yoho.config;
const service = global.yoho.ServiceAPI;
const URL_ACTIVITY_QUESTION = '/activity/question/';
/**
* 获取用户信息
* @param uid
* @return string
*/
const feedBackApi = (feedbackId, questionId, answer, solution) => {
let params = {
method: 'open.feedback.submit',
feedback_id: feedbackId,
question_id: questionId,
answer: answer,
solution: solution
};
const feedBackApi = () => {
return api.get('', params, config.apiCache);
return service.get(URL_ACTIVITY_QUESTION + 'questionList', {});
};
module.exports = {
... ...
/**
* suggestFeedBack model
* @author: gxh<xuhui.ge@yoho.cn>
* @date: 2017/05/25
*/
'use strict';
const api = require('./suggestFeedBack-api');
const _ = require('lodash');
const suggestFeedBack = () => {
return api.feedBackApi().then((result) => {
let suggestData = [];
if (result && result.code == 200 && _.get(result, 'data.rows')) {
if (_.get(result, 'data.rows')) {
_.forEach(_.get(result, 'data.rows', []), it => {
let item = {
description: it.description,
title: it.title,
id: it.id
};
suggestData.push(item);
});
}
result = suggestData;
return result;
}
});
};
module.exports = {
suggestFeedBack
};
... ...
... ... @@ -19,7 +19,7 @@ module.exports = {
// test3
singleApi: 'http://api-test3.yohops.com:9999/',
api: 'http://api-test3.yohops.com:9999/',
service: 'http://service-test3.yohops.com:9999/',
service: 'http://192.168.102.14:8090/',
serviceNotify: 'http://service-test3.yohops.com:9999/',
global: 'http://global-test-soa.yohops.com:9999/',
... ...
... ... @@ -44,87 +44,78 @@
<span class="iconfont cur" key="0">&#xe606;</span>
</p>
</dd>
<dd>
<div id="feed-back-box-list" class="foot-panel">
<div class="title">
<div class="title-line"></div>
<div class="text">
<span>意见反馈</span>
</div>
</div>
<ul class="vote clearfix">
<li key="0">
<form class="feed-back-form" action="#">
<div>您喜欢有货的新版吗?</div>
<div class="vote-item clearfix">
<p>
<input type="radio" name="solution" value="33">非常喜欢
</p>
<p>
<input type="radio" name="solution" value="34">喜欢
</p>
<p>
<input type="radio" name="solution" value="35">一般般
</p>
<p>
<input type="radio" name="solution" value="36">不喜欢
</p>
<p>
<input type="radio" name="solution" value="37">非常不喜欢
</p>
</div>
<div>
<span class="feed-back-btn button">提交</span>
</div>
<input class="question-id" type="hidden" name="question_id" value="38">
<input class="feedback-id" type="hidden" name="feedback_id" value="5">
</form>
</li>
<li class="hide" key="1">
<form class="feed-back-form" action="#">
<div>您可以方便的找到想查看的内容吗?</div>
<div class="vote-item clearfix">
<p>
<input type="radio" name="solution" value="38">非常方便
</p>
<p>
<input type="radio" name="solution" value="39">方便
</p>
<p>
<input type="radio" name="solution" value="40">一般般
</p>
<p>
<input type="radio" name="solution" value="41">不方便
</p>
<p>
<input type="radio" name="solution" value="42">非常不方便
</p>
</div>
<div>
<span class="feed-back-btn button">提交</span>
</div>
<input class="question-id" type="hidden" value="39">
<input class="feedback-id" type="hidden" value="5">
</form>
</li>
<li class="hide" key="2">
<form class="feed-back-form" action="#">
<div>您对新版还有哪些意见或建议?</div>
<textarea name="answer" id="feedback-answer" class="feedback-answer"></textarea>
<div>
<span class="feed-back-btn button">提交</span>
</div>
<input class="question-id" type="hidden" value="37">
<input class="feedback-id" type="hidden" value="5">
</form>
</li>
</ul>
</div>
<p id="feed-back-page" class="item-nav center">
<span class="iconfont cur">&#xe606;</span>
<span class="iconfont ">&#xe606;</span>
<span class="iconfont ">&#xe606;</span>
</p>
<dd class="feed-back-box">
<!--<div id="feed-back-box-list" class="foot-panel">-->
<!--<div class="title">-->
<!--<div class="title-line"></div>-->
<!--<div class="text">-->
<!--<span>调研中心</span>-->
<!--</div>-->
<!--</div>-->
<!--<ul class="vote suggest-feed-back clearfix">-->
<!--</ul>-->
<!--&lt;!&ndash;<ul class="vote clearfix">&ndash;&gt;-->
<!--&lt;!&ndash;{{#each suggestData}}&ndash;&gt;-->
<!--&lt;!&ndash;<li key="0">&ndash;&gt;-->
<!--&lt;!&ndash;<form class="feed-back-form" action="#">&ndash;&gt;-->
<!--&lt;!&ndash;<p>{{description}}</p>&ndash;&gt;-->
<!--&lt;!&ndash;<p>{{title}}</p>&ndash;&gt;-->
<!--&lt;!&ndash;<div>&ndash;&gt;-->
<!--&lt;!&ndash;<span class="feed-back-btn button">我要参与</span>&ndash;&gt;-->
<!--&lt;!&ndash;</div>&ndash;&gt;-->
<!--&lt;!&ndash;</form>&ndash;&gt;-->
<!--&lt;!&ndash;</li>&ndash;&gt;-->
<!--&lt;!&ndash;{{/each}}&ndash;&gt;-->
<!--&lt;!&ndash;<li class="hide" key="1">&ndash;&gt;-->
<!--&lt;!&ndash;<form class="feed-back-form" action="#">&ndash;&gt;-->
<!--&lt;!&ndash;<div>您可以方便的找到想查看的内容吗?</div>&ndash;&gt;-->
<!--&lt;!&ndash;<div class="vote-item clearfix">&ndash;&gt;-->
<!--&lt;!&ndash;<p>&ndash;&gt;-->
<!--&lt;!&ndash;<input type="radio" name="solution" value="38">非常方便&ndash;&gt;-->
<!--&lt;!&ndash;</p>&ndash;&gt;-->
<!--&lt;!&ndash;<p>&ndash;&gt;-->
<!--&lt;!&ndash;<input type="radio" name="solution" value="39">方便&ndash;&gt;-->
<!--&lt;!&ndash;</p>&ndash;&gt;-->
<!--&lt;!&ndash;<p>&ndash;&gt;-->
<!--&lt;!&ndash;<input type="radio" name="solution" value="40">一般般&ndash;&gt;-->
<!--&lt;!&ndash;</p>&ndash;&gt;-->
<!--&lt;!&ndash;<p>&ndash;&gt;-->
<!--&lt;!&ndash;<input type="radio" name="solution" value="41">不方便&ndash;&gt;-->
<!--&lt;!&ndash;</p>&ndash;&gt;-->
<!--&lt;!&ndash;<p>&ndash;&gt;-->
<!--&lt;!&ndash;<input type="radio" name="solution" value="42">非常不方便&ndash;&gt;-->
<!--&lt;!&ndash;</p>&ndash;&gt;-->
<!--&lt;!&ndash;</div>&ndash;&gt;-->
<!--&lt;!&ndash;<div>&ndash;&gt;-->
<!--&lt;!&ndash;<span class="feed-back-btn button">提交</span>&ndash;&gt;-->
<!--&lt;!&ndash;</div>&ndash;&gt;-->
<!--&lt;!&ndash;<input class="question-id" type="hidden" value="39">&ndash;&gt;-->
<!--&lt;!&ndash;<input class="feedback-id" type="hidden" value="5">&ndash;&gt;-->
<!--&lt;!&ndash;</form>&ndash;&gt;-->
<!--&lt;!&ndash;</li>&ndash;&gt;-->
<!--&lt;!&ndash;<li class="hide" key="2">&ndash;&gt;-->
<!--&lt;!&ndash;<form class="feed-back-form" action="#">&ndash;&gt;-->
<!--&lt;!&ndash;<div>您对新版还有哪些意见或建议?</div>&ndash;&gt;-->
<!--&lt;!&ndash;<textarea name="answer" id="feedback-answer" class="feedback-answer"></textarea>&ndash;&gt;-->
<!--&lt;!&ndash;<div>&ndash;&gt;-->
<!--&lt;!&ndash;<span class="feed-back-btn button">提交</span>&ndash;&gt;-->
<!--&lt;!&ndash;</div>&ndash;&gt;-->
<!--&lt;!&ndash;<input class="question-id" type="hidden" value="37">&ndash;&gt;-->
<!--&lt;!&ndash;<input class="feedback-id" type="hidden" value="5">&ndash;&gt;-->
<!--&lt;!&ndash;</form>&ndash;&gt;-->
<!--&lt;!&ndash;</li>&ndash;&gt;-->
<!--&lt;!&ndash;<li class="hide" key="3">&ndash;&gt;-->
<!--&lt;!&ndash;<p>调研问卷时间未开始,有货君正在生成调研问卷,<br/>&ndash;&gt;-->
<!--&lt;!&ndash;请您先逛一逛,稍后再来~~&ndash;&gt;-->
<!--&lt;!&ndash;</p>&ndash;&gt;-->
<!--&lt;!&ndash;</li>&ndash;&gt;-->
<!--&lt;!&ndash;</ul>&ndash;&gt;-->
<!--</div>-->
<!--<p id="feed-back-page" class="item-nav center">-->
<!--<span class="iconfont cur">&#xe606;</span>-->
<!--<span class="iconfont ">&#xe606;</span>-->
<!--<span class="iconfont ">&#xe606;</span>-->
<!--</p>-->
</dd>
<dd class="last">
<div class="foot-panel">
... ...
<div id="feed-back-box-list" class="foot-panel">
<div class="title">
<div class="title-line"></div>
<div class="text">
<span>调研中心</span>
</div>
</div>
<ul class="vote clearfix">
{{#if suggestData}}
{{#each suggestData}}
<li key="0">
<form class="feed-back-form" action="#">
<p>{{description}}</p>
<p>{{title}}</p>
<div>
<span class="feed-back-btn button">我要参与</span>
</div>
</form>
</li>
{{/each}}
{{/if}}
{{#unless suggestData}}
<li key="3">
<p class="feed-back-none">调研问卷时间未开始,有货君正在生成调研问卷,<br/>
请您先逛一逛,稍后再来~~
</p>
</li>
{{/unless}}
</ul>
</div>
<p id="feed-back-page" class="item-nav center">
<span class="iconfont cur">&#xe606;</span>
<span class="iconfont ">&#xe606;</span>
<span class="iconfont ">&#xe606;</span>
</p>
... ...
... ... @@ -10,6 +10,8 @@ var $ = require('yoho-jquery'),
var $returnTop = $('.return-top');
var $qrcodeHoverBox = $('.qrcode-hover-box');
var $rightFloatingLayer = $('.right-floating-layer');
var suggestFeedBackHbs = require('hbs/common/suggest-feed-back.hbs');
var $feedBackBox = $('.feed-back-box');
lazyLoad($('img.lazy'));
... ... @@ -65,8 +67,21 @@ function actionSubscription() {
function actionhomeFootChange() {
var $vote = $('.vote'),
$feedBackPage = $('#feed-back-page'),
count = $vote.children('li').length;
$feedBackPage = $('#feed-back-page');
// count = $vote.children('li').length;
var param = {
return_type: 'jsonp',
client_secret: 'web',
code: 200
};
return $.getJSON('//www.yohobuy.com/common/suggestfeedback?callback=?', param,
function(suggestData) {
$feedBackBox.html(suggestFeedBackHbs(suggestData));
}
);
// 意见反馈
$feedBackPage.on('click', 'span', function() {
... ... @@ -84,47 +99,47 @@ function actionhomeFootChange() {
.eq($this.index()).removeClass('hide');
});
$vote.on('click', '.feed-back-btn', function() {
var $this = $(this),
$li = $this.closest('li'),
index = $li.index(),
_solution = [];
var _answer = $li.find('.feedback-answer').val(),
_feedback = $li.find('.feedback-id').val(),
_question = $li.find('.question-id').val();
$li.find(':checked').each(function() {
_solution.push($(this).val());
});
$.ajax({
url: '//new.yohobuy.com/common/suggestfeedback',
dataType: 'jsonp',
data: {
feedback_id: _feedback || 0,
question_id: _question || 0,
answer: _answer || '',
solution: _solution.join(',')
},
success: function(data) {
var next = index + 1;
if (~~data.data.result === 1) {
if (index === count - 1) {
alert('感谢您的参与!'); // eslint-disable-line
return;
}
$li.addClass('hide');
$vote.children(':eq(' + (index + 1) + ')').removeClass('hide');
$feedBackPage.children('.cur').removeClass('cur');
$feedBackPage.children(':eq(' + next + ')').addClass('cur');
}
}
});
});
// $vote.on('click', '.feed-back-btn', function() {
// var $this = $(this),
// $li = $this.closest('li'),
// index = $li.index(),
// _solution = [];
//
// var _answer = $li.find('.feedback-answer').val(),
// _feedback = $li.find('.feedback-id').val(),
// _question = $li.find('.question-id').val();
//
// $li.find(':checked').each(function() {
// _solution.push($(this).val());
// });
//
// $.ajax({
// url: '//www.yohobuy.com/common/suggestfeedback?callback=?',
// dataType: 'jsonp',
// data: {
// feedback_id: _feedback || 0,
// question_id: _question || 0,
// answer: _answer || '',
// solution: _solution.join(',')
// },
// success: function(data) {
// var next = index + 1;
//
// if (~~data.data.result === 1) {
// if (index === count - 1) {
// alert('感谢您的参与!'); // eslint-disable-line
// return;
// }
//
// $li.addClass('hide');
//
// $vote.children(':eq(' + (index + 1) + ')').removeClass('hide');
// $feedBackPage.children('.cur').removeClass('cur');
// $feedBackPage.children(':eq(' + next + ')').addClass('cur');
// }
// }
// });
// });
}
function rePosReturn() {
... ...
... ... @@ -45,6 +45,7 @@
.foot-panel {
background: #fff;
padding: 20px;
min-height: 207px;
}
.title {
... ... @@ -75,6 +76,10 @@
}
}
.feed-back-form {
text-align: center;
}
.item-nav {
padding-top: 20px;
... ... @@ -112,8 +117,13 @@
}
p {
height: 24px;
overflow: hidden;
font-size: 14px;
line-height: 24px;
text-align: center;
}
.feed-back-none {
margin-top: 35px;
}
textarea {
... ...