rate-controller.js 2.42 KB
/**
 * 订单评价
 */
define(
    "order/rate-controller",
    [
        'mk7/controller',
        'mk7/url',
        'mk7/utils',
    ],

    function(ctrl, url, utils) {

        var $$ = Dom7;
        var t7 = Template7;
        var ctrl = new ctrl();

        var submitURL = 'order/customer/submit-rate';
        ctrl.run = function () {
            var me = this;
            me.id = me.params.id;
            me.sn = me.params.sn;
            me.setPageTitle("评价");
            me.loadPage();
        }
        ctrl.bindEvents = function () {
            var me = this;
            console.log("bindEvents");
            me.starClickEvent();
            me.submitEvent();
        }
        ctrl.loadPage = function(){
            var me = this;
            me.render();
        }
        ctrl.starClickEvent = function() {
            $$('#rate').on('click','.quality-box .img-star',function(e) {
                var id = $$(this).attr('data-id');
                var stars = $$('#rate .quality-box .img-star')
                $$.each(stars, function(i,n){
                    var cid = $$(n).attr('data-id');
                    if ((cid*1) <= id) {
                        $$(n).addClass('star-on');
                        var rateText = $$('#rate .quality-box').find('.rate-text');
                        var txt = $$(n).attr('data-txt');

                        rateText.html(txt);
                    } else {
                        $$(n).removeClass('star-on');
                    }
                })
            })
        }
        ctrl.submitEvent = function() {
            var me = this;
            $$('#rate .submit-btn').click(function(e){
                var comment = utils.trim($$('#rate .text-content').val());
                var stars = $$('#rate .img-star')
                var star = 0;
                $$.each(stars, function(i,n){
                    if($$(n).hasClass('star-on')) {
                        star++
                    }
                })

                var pData = me.csrf({star:star,comment:comment});
                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;
    }
);