limit-add.js 12.3 KB
/*
 *@time: 2016/2/15
 *@author: chenglong
 */


var $ = require('jquery'),
    common=require('../common/common');

require('../common/bootstrap-wysihtml5');

var ENMA={
    attachType:{1:"图片",2:"视频",3:"文本"}
}

function getLocalTime(nS) {     
    var date= new Date(parseInt(nS) * 1000);
    var mm=date.getMonth()+1;
    var dd=date.getDate();
    return date.getFullYear()+"-"+(mm<10?"0"+mm:mm)+"-"+(dd<10?"0"+dd:dd);     
}
if($("#saleTime").data("time")){
    var date=getLocalTime($("#saleTime").data("time"));
    $("#saleTime").val(date);
}

//测试数据
var g=new common.grid({
    el:"#baseTable",
    columns:[
        {display:"标题",render:function(item){
            if(item.isDefault==1){
                return "默认图片";
            }
            return ENMA.attachType[item.attachType];
        }},
        {display:"内容",render:function(item){
            item.orderBy==item.__index;
            if(item.isDefault==1){
                return '<input type="file" name="coverImg" id="coverImg" value="'+item.attachUrl+'" placeholder="封面图" required/>';
            }else{
                if(item.attachType==1){
                    return "<img src='"+item.attachUrl+"' style='width:120px;height:80px' />";
                }else if(item.attachType==2){
                    return "<video src='"+item.attachUrl+"' controls></video>";
                }else{
                    return item.attachUrl;
                }
            }
        }},
        {display:"操作",render:function(item){
            var htmlArr=[];
            if(!item.isDefault){
                htmlArr.push("<button type='button' data-index='"+item.__index+"' class='delete btn btn-danger btn-xs'>删除</button>");
                htmlArr.push("<button type='button' data-index='"+item.__index+"' class='edit btn btn-info btn-xs'>编辑</button>");
            }
            return htmlArr.join(',');
        }}
    ]
});

var __ac=$.trim($("#attachmentContent").val());
g.__rows=__ac?JSON.parse(__ac):[
      {
        "attachType": 1,
        "attachUrl": "",
        "isDefault": 1
      }
];

g.init(g.__rows);
var e1 = new common.edit('#baseTable');
e1.on("callback",function(obj){
    if(obj.key=="file_onComplete_coverImg"){
        g.__rows[0].attachUrl=obj.data;        
    }
});
e1.init();

//初始化form表单
var e = new common.edit('#editor-group');


e.on("validate",function(){
    var param={
        batchNo: $('#batchNo').val(),
        id:$("#id").val()
    };
    return common.util.__ajax({
        url:'/limit/checkBatch',
        async:true,
        data:param
    },null,true);
});

e.on("validate",function(){
    if(!g.__rows[0].attachUrl){
        return "请上传默认封面";
    }
});

e.init();

//添加修改
$('.limit-add-btn').click(function (option) {
    e.submit($('#limit-add-form').attr('action'),function(option){
        //option.debug=true;
        option.data.attachmentContent=JSON.stringify(g.__rows);
        option.data.saleTime = new Date(option.data.saleTime.replace('-',',')).getTime() / 1000; 
        option.success=function(res){
            res=res.data;
            if(res.code=="200"){
                e.$tip('提交成功',function(){
                    location.href="/limit/product/index";
                },'growl-success');
            }else{
                e.$tip(res.message);
            }
            return false;
        }
        option.error=function(res){
            e.$tip("提交失败");
        };
    });
});


// var $editor = $('#editor'),  //文字,图片,视频容器
//     type = $('#limit-add-form').attr('type');

var Bll={
    imgVideo:function(title,item,index){
        common.dialog.confirm(title,common.util.__template($("#picDialogTemp").html(),item),function(){
            var _html=$.trim($("#imgVideoText").val());
               
               if(_html){
                    if(item.attachType){
                        //修改
                        g.__rows[index].attachUrl=_html;
                    }
                    else{
                        //添加
                        g.__rows.push({
                            "attachType": item.__attachType,
                            "attachUrl": _html,
                            "isDefault": 0,
                            "attachName":$("#attachName").val()
                        });
                    }
                    
                    g.reload();
                    e1.init();
               }
        });
        var a = new common.edit("#upload-wrapper");
        a.on("callback",function(obj){
            if(obj.key=="file_onComplete_imgVideo"){
                $("#imgVideoText").val(obj.data);
            }
        });
        a.init();
    },
    wenZi:function(title,item,index){
        common.dialog.confirm(title,common.util.__template('<textarea id="text-editor">{attachUrl}</textarea>',item),function(){
               var _html=$.trim($("#text-editor").val());
               
               if(_html){
                    if(item.attachType){
                        //修改
                        g.__rows[index].attachUrl=_html;
                    }
                    else{
                        //添加
                        g.__rows.push({
                            "attachType": 3,
                            "attachUrl": _html,
                            "isDefault": 0
                        });
                    }
                    
                    g.reload();
                    e1.init();
               }
        });
        $('#text-editor').wysihtml5();
    }
}

//添加文字
$('body').on('click', '#textDialog', function() {
    Bll.wenZi("添加文字",{});
    return false;
});
$('body').on('click', '#picDialog', function() {
    Bll.imgVideo("添加图片",{name:"图片",__attachType:1});
    return false;
});
$('body').on('click', '#videoDialog', function() {
    Bll.imgVideo("添加视频",{name:"视频",__attachType:2});
    return false;
});
//删除
$('body').on('click',".delete",function(){
    var index=$(this).data("index");
    g.__rows.splice(index,1);
    g.reload();
    e1.init();
});
//修改
$('body').on('click',".edit",function(){
    var item=g.rows[$(this).data("index")];
    Bll[item.attachType==3?"wenZi":"imgVideo"]("修改"+ENMA.attachType[item.attachType],item,$(this).data("index"));
});


// //添加图片
// $('body').on('click', '#picDialog', function() {

//     common.dialog.confirm("添加图片",common.util.__template($("#picDialogTemp").html(),{name:"图片", fileId: "imgUpload"}),function(){
       
//         var imgStr = '<img src="' + $('#imgUpload').attr('value') + '">';
//         var $oImg = $('<div class="quota-content quota-img" data-type="1">' + imgStr + '<a href="javascript:;" class="editor-delete btn btn-default">删除</a></div>');

//         $oImg.appendTo($editor);
//     });
//     var a = new common.edit("#upload-wrapper");
//     a.init();
    
//     return false;
// });

// //添加视频
// $('body').on('click', '#videoDialog', function() {
//     common.dialog.confirm("添加视频",common.util.__template($("#picDialogTemp").html(),{name:"视频"}),function(){

//         /*var imgStr = '<img src="http://img11.static.yhbimg.com/goodsimg/2015/07/07/08/01315b5bbfd72bc5b59fa2fda6c28b9ae6.jpg">';
//         var $oVideo = $('<div class="quota-imf"><img src="' + imgStr + '" alt="" /></div>');

//         $('.quota-video').html(imgStr);*/
//     });
//     var a = new common.edit("#upload-wrapper");
//     a.init();
//     return false;

// });


// // 表单验证
// var limitAddForm = new common.edit("#limit-add-form");
// limitAddForm.init();

// limitAddForm.on("validate", function(){
//     var param = {
//         batchNo: $('#batchNo').val()
//     }
//     if (type == 'update') {
//         param.id =  $('#batchNo').data('id');
//     }
//     /*common.util.__ajax2({
        
//     });*/

    
// });

// //表单提交
// $('.limit-add-btn').click(function () {
//     var $this = $(this);
//     var param = {
//         batchNo: $('#batchNo').val()
//     }
//     if (type == 'update') {
//         param.id =  $('#batchNo').data('id');
//     }

//     common.util.__ajax2({
//         url:'/limit/checkBatch',
//         data: param 
//     }, function(res) {
//         if (res.code == 200) {
//             limitAddForm.submit($('#limit-add-form').attr('action'), function(option, that) {
//                 option.beforeSend = function () {
//                     $this.attr('disabled', 'disabled');
//                     var param = {
//                         batchNo: $('#batchNo').val()
//                     }
//                     if (type == 'update') {
//                         param.id =  $('#batchNo').data('id');
//                     }
                    
//                 };

//                 option.success=function(res){
//                     if (res.data.code == 200) {
//                         //成功返回列表页
//                         limitAddForm.$tip('提交成功',function(){
//                             //window.location.href = '/limit/product/index';
//                         }, 'growl-success');
//                         $this.removeAttr('disabled');
//                     } else {
//                         limitAddForm.$tip(res.data.message);
//                         $this.removeAttr('disabled');
//                     }
//                     return false;
//                 };

//                 option.error=function(res){
//                     limitAddForm.$tip(res.message);
//                     $this.removeAttr('disabled');
//                 };

//                 //文字,图片,视频上传数据
//                 option.data.attachmentContent = [];
//                 option.data.attachmentContent.push({
//                     attachUrl:option.data.coverImg,
//                     isDefault: 1,
//                     attachType: 1,
//                     orderBy: 0
//                 });
//                 if ($('.quota-content').size() > 0) {
//                     $('.quota-content').each(function(i) {
//                         var editType = $(this).data('type'),
//                             content = '',
//                             obj = {
//                                 attachType: editType,  //上传内容类型,1:图片, 2:视频,3:文字
//                                 isDefault: 0,   //是否封面图
//                                 orderBy: i   //排序
//                             };

//                         if (editType == 3) {
//                             content = $(this).find('span').text();
//                             obj.intro = content;  //文字key为intro
//                         } else if (editType == 1) {
//                             content = $(this).find('img').attr('src');
//                             obj.attachUrl = content;    //图片key为attachUrl
//                         }
//                         option.data.attachmentContent.push(obj)
//                     });
//                 }

//                 //因为只能传字符串,转换为字符串
//                 option.data.attachmentContent = JSON.stringify(option.data.attachmentContent);

//                 //时间上传为时间戳
//                 option.data.saleTime = new Date(option.data.saleTime.replace('-',',')).getTime() / 1000; 
//                 console.log(option.data);
                
//             });
//         }
//     });

    
// });

// //编辑页,时间戳转换
// $('#saleTime').val(function() {
//     if ($(this).data('time')) {
//         var date = new Date($(this).data('time') * 1000);
//         return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
//     }
// });

// //富文本删除事件
// $('#limit-add-form').on('click', '.editor-delete', function() {
//     $(this).parents('.quota-content').remove();
// });

// $('input[name="hotFlag"]').on('click', function() {
//     if ($(this).val() == 0) {
//         $('#orderBy').attr('disabled', true);
//     } else {
//         $('#orderBy').removeAttr('disabled');
//     }
// });