/**
* 订单评价
*/
define(
"order/rate-controller",
[
'mk7/controller',
'mk7/url',
'mk7/utils',
'mk7/uploadjs',
],
function(ctrl, url, utils, uploadjs) {
var $$ = Dom7;
var t7 = Template7;
var ctrl = new ctrl();
var submitURL = 'order/customer/submit-rate';
var uploadURL = '/user/default/upload-file';
ctrl.run = function () {
var me = this;
me.id = me.params.id;
me.sn = me.params.sn;
me.imgLimit = 4;
me.setPageTitle("评价");
me.loadPage();
}
ctrl.bindEvents = function () {
var me = this;
console.log("bindEvents");
me.starClickEvent();
me.submitEvent();
me.uploadImgEvent();
}
ctrl.loadPage = function(){
var me = this;
me.render();
}
ctrl.starClickEvent = function() {
$$('#rate').on('click', '.img-star',function(e) {
var id = $$(this).attr('data-id');
var parentBox = $$(this).parent('.star-div');
var stars = parentBox.find('.img-star')
$$.each(stars, function(i,n){
var cid = $$(n).attr('data-id');
if ((cid*1) <= id) {
$$(n).addClass('star-on');
var rateText = parentBox.find('.rate-text');
var txt = $$(n).attr('data-txt');
rateText.html(txt);
} else {
$$(n).removeClass('star-on');
}
})
})
}
ctrl.uploadImgEvent = function() {
var me = this;
$$('#rate #upload-btn').change(function () {
if ('' == $$(this).val() || null == $$(this).val()) {
return;
}
var uploadParent = $$(this).parents('li');
uploadjs.uploadFile({
selector: '#upload-btn',
url: url.to(uploadURL),
processAppendTo: '#rate',
success: function (response, e) {
try {
if (response.success) {
var imgUrl = response.tmpUrl;
$$('
' + '
').insertBefore(uploadParent);
if (me.imgLimit == $$('#rate #image-list').find('.up-img').length) {
$$('#rate .upload-btn-li').hide();
}
} else {
utils.toast({content: response.message, closeDelay: 5000});
}
} catch (ex) {
console.log(ex)
utils.toast({content: '出错', closeDelay: 5000});
}
}
});
})
$$('#rate #image-list').on('click', '.del-img', function(e){
$$(this).parent().remove();
if (me.imgLimit >= $$('#rate #image-list').find('.up-img').length) {
$$('#rate .upload-btn-li').show();
}
})
}
ctrl.getUploadImgs = function() {
var images = $$('#rate #image-list').find('.up-img');
var returnImg = [];
if (images.length == 0 ) {
return [];
}
$$.each(images, function(i, n){
var img = $$(n).find('.upload-item');
returnImg.push(img.attr('data'))
})
return returnImg;
}
ctrl.submitEvent = function() {
var me = this;
$$('#rate .submit-btn').click(function(e){
var comment = utils.trim($$('#rate .text-content').val());
var qualityStars = $$('#rate .quality-box .img-star')
var qualityStar = 0;
$$.each(qualityStars, function(i,n){
if($$(n).hasClass('star-on')) {
qualityStar++
}
})
var effectStars = $$('#rate .effect-box .img-star')
var effectStar = 0;
$$.each(effectStars, function(i,n){
if($$(n).hasClass('star-on')) {
effectStar++
}
})
var serviceStars = $$('#rate .service-box .img-star')
var serviceStar = 0;
$$.each(serviceStars, function(i,n){
if($$(n).hasClass('star-on')) {
serviceStar++
}
})
var images = me.getUploadImgs();
var pData = me.csrf({
comment:comment,
id:me.id,
qualityStar:qualityStar,
effectStar:effectStar,
serviceStar:serviceStar,
images:images
});
utils.httpPost(url.to(submitURL), pData, function(res) {
if (res.success) {
window.location.replace(url.to('order/customer#customer-order/'+me.id+'/'+me.sn));
} else {
utils.toast({content:res.message});
}
}, true)
})
}
return ctrl;
}
);