/** * 订单评价 */ 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; } );