comment.page.js 4.09 KB
/**
 * 我的评论
 * @author: liuchuanyang<chuanyang.liu@yoho.cn>
 * @date: 2016/10/28
 */
var $ = require('yoho-jquery');
var ImgPreview = require('../common/img-preview');
var preview = new ImgPreview();

require('../common/ajaxfileupload');

$('.comment-add').on('click', '.btn-submit', function() {

    var $f = $(this).closest('.comment-add');
    var param = {
        productSkn: $f.find('input[name=productSkn]').val(),
        productId: $f.find('input[name=productId]').val(),
        goodsId: $f.find('input[name=goodsId]').val(),
        orderCode: $f.find('input[name=orderCode]').val(),
        orderId: $f.find('input[name=orderId]').val(),
        erpSkuId: $f.find('input[name=erpSkuId]').val(),
        content: $f.find('[name=goodsComment]').val(),
        url: $f.find('[name=imgUrl]').val(),

        height: $f.find('input[name=height]').val(),
        weight: $f.find('input[name=weight]').val(),
        satisfied: $f.find('[data-role="star"]').find('.active[data-star]').attr('data-star'),
        size: $f.find('[data-role="size"]').find('.active[data-size]').attr('data-size')
    };

    $.ajax({
        type: 'POST',
        url: '/home/comment/saveComment',
        data: param
    }).then(function(jsonData) {

        if (jsonData.code === 200) {
            //console.log(JSON.stringify(jsonData));

        } else {
            alert(jsonData.message);
        }
    });
});

// 图片预览
$('.img-preview').on('click', 'i.view', function(e) {

    var url = $(this).closest('.img-preview').find('img').attr('src');

    e.stopPropagation();
    preview.preview(url);
});

// 图片删除
$('.img-preview').on('click', 'i.del', function(e) {

    var $p = $(this).closest('.img-preview');

    e.stopPropagation();
    $p.removeClass('selected');
    $p.find('input[name=imgUrl]').val('');
    $p.find('img').attr('src', '');
});

// 图片上传
$('.comment-add').on('change', 'input[type=file]', function() {

    var $f = $(this);
    var $p = $f.closest('.img-preview');

    if ($f.val()) {
        $.ajaxFileUpload({
            url: '/common/upload/image',
            secureuri: false,
            fileElementId: $f,
            data: {
                bucket: 'sns'
            },
            dataType: 'json',
            success: function(data /* , status */) {

                var url, relaUrl;

                if (data && data.code === 200 && data.data && data.data.images && data.data.images[0]) {
                    url = data.data.images[0];
                    relaUrl = data.data.imagesList[0];
                    $p.find('img').attr('src', url);
                    $p.find('input[name=imgUrl]').val(relaUrl);
                    $p.addClass('selected');
                }
            },
            error: function() {    /** data, status, e **/
                alert('上传失败,请稍后再试!');
            },
            complete: function() {
                $f.clone().replaceAll($f);
            }
        });
    }
});

// comment form
$('.comment-table').on('click', '[data-role="showCommentForm"]', function() {
    // $('[data-role="showCommentForm"]).
    var $ntr = $(this).closest('tr').next('tr');

    if ($ntr.attr('data-role') === 'commentAddForm') {
        $ntr.toggle();
    }
});


// star
$('.comment-table').on('click', '.comment-star.editable > span', function() {
    $(this).parent().find('span').removeClass('active');
    $(this).addClass('active');
});

// btn group
$('.comment-add').on('click', ' .btn-group .btn', function() {
    $(this).siblings('.btn').removeClass('active');
    $(this).addClass('active');
});

// goods comment textarea
$('.comment-table').on('focus', '[data-role="goodsCommentWrap"] textarea', function() {
    $(this).parent().find('.text-tip').hide();
});
$('.comment-table').on('blur', '[data-role="goodsCommentWrap"] textarea', function() {
    if (!$(this).val()) {
        $(this).parent().find('.text-tip').show();
    }
});
$('.comment-table').on('click', '[data-role="goodsCommentWrap"] .text-tip', function() {
    $(this).parent().find('textarea').focus();
});
$('.comment-table').find('[data-role="goodsCommentWrap"] textarea').trigger('blur');