add.js 8.18 KB
/*
 *@time: 2016/1/29
 *@author: chenglong
 */

// var $ = require('jquery');
// var edit = require('../common/edit');
// var Handlebars = require('yoho.handlebars');
// var dropDown = require('../common/dropDown');




// var selectOption =
//     '{{# data}}' +
//         '<option value="{{id}}" {{# select}}selected{{/ select}}>{{sortName}}</option>' +
//     '{{/ data}}';

// var optionStr = Handlebars.compile(selectOption);

// function getAllSort(callback, selectId) {
//     $.ajax({
//         url: '/product/class/queryAllProductSortList',
//         type: 'POST',
//         dataType: 'json'
//     }).then(function (d) {

//         var firstSort = [],
//             data = d.data.data,
//             sortLen = data.length,
//             i;
//         var resData;

//         for (i = 0; i < sortLen; i++) {
//             if (!data[i].child) {

//                 if (data[i].id === selectId) {
//                     data[i].select = true;
//                 }

//                 firstSort.push(data[i]);
//             }
//         }

//         callback(firstSort);
//     });
// }

// function getChildSort(id, callback, selectId) {
//     $.ajax({
//         url: '/product/class/queryProductSortList',
//         type: 'POST',
//         dataType: 'json',
//         data: {
//             param: id
//         }
//     }).then(function (d) {

//         var data = d.data.data;
//         var dataLen = data.length;
//         var i;

//         for (i = 0; i < dataLen; i++) {

//             if (data[i].id === selectId) {
//                 data[i].select = true;
//             }
//         }

//         callback(data);
//     });
// }

// var $editInput = $('#editId');
// var editLevel = $editInput.attr('level');
// var toNum = 1;

// function createLevelOneOption(selectedId, callback) {
//     getAllSort(function (data) {

//         $('#parentSortId').after(optionStr({
//             data: data
//         }));

//         new dropDown({
//             el:'#firstSortId'
//         });

//         if (callback) {
//             callback();
//         }

//     }, selectedId*toNum);
// }

// function createLevelTwoOption(parentId, selectedId) {

//     getChildSort(parentId*toNum, function (data) {

//         $('#secondSortId').find('option:first').after(optionStr({
//             data: data
//         }));

//         new dropDown({
//             el:'#secondSortId'
//         });

//     }, selectedId*toNum);
// }


//     console.log(editLevel);

//     // 编辑
//     if (editLevel) {

//         switch (editLevel) {
//             case "1":
//                 createLevelOneOption($editInput.val(), function () {
//                     getChildSort($editInput.val()*toNum, function (data) {
//                         $('#secondSortId').find('option:first').after(optionStr({
//                             data: data
//                         }));
//                     });
//                 });
//                 new dropDown({
//                     el:'#secondSortId'
//                 });
//                 break;
//             case "2":
//                 createLevelOneOption($editInput.attr('pid'), function () {
//                     createLevelTwoOption($editInput.attr('pid'), $editInput.val());
//                 });
//                 break;
//             default :
//                 break;
//         }

//     } else {
//         // 添加
//         getAllSort(function (data) {
//             $('#parentSortId').after(optionStr({
//                 data: data
//             }));
//         });

//         // 选择一\二级菜单时渲染二
//         $('.level-select').change(function () {

//             var id = $(this).val()*toNum;

//             getChildSort(id, function (data) {

//                 $('#childSortId').after(optionStr({
//                     data: data
//                 }));

//             });
//         });

//         new dropDown({
//             el:'#firstSortId'
//         });
//         new dropDown({
//             el:'#secondSortId'
//         });
//     }

//     // 添加品类表单验证
//     var newClassVerification = new edit("#new-class-form");

//     newClassVerification.init();

//     $(".new-class-btn").click(function(){

//         var id = $(this).attr('data-id');
//         var postUrl;
//         var $this = $(this);

//         var pid = $('#secondSortId').val();
//         var ppid = $('#firstSortId').val();

//         if (ppid*toNum) {
//             $('#parentId').val(ppid);
//         }
//         if (pid*toNum) {
//             $('#parentId').val(pid);
//         }

//         if (!!id) {
//             postUrl = '/product/sort/update'
//         } else {
//             postUrl = $("#new-class-form").attr("action");
//         }

//         newClassVerification.submit(postUrl, function(option,that) {
            
//             option.beforeSend = function () {
//                 $this.attr('disabled', 'disabled');
//             };
//             option.success=function(res){

//                 console.log(res);

//                 if (res.data.code === 200) {

//                     newClassVerification.$tip('提交成功');
//                     $this.removeAttr('disabled');

//                     setTimeout(function () {
//                         window.location.href = '/erpproduct/sort/index';
//                     }, 1000);
//                 }
//             };
//             option.error=function(res){

//                 console.log('error');
//             }
//         });
//         return false;
//     });

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

var e=new common.edit("#new-class-form");

var BLL={
    fillselect:function(items,selectedid){
        var HtmlArr=["<option value='-1'>请选择</option>"];
        $.each(items,function(index,item){
            var selected=(item.id==selectedid)?"selected":"";
            var optionHtml=common.util.__template("<option value='{value}' {selected} >{name}</option>",{value:item.id,name:item.sortName,selected:selected});
            HtmlArr.push(optionHtml);
        });
        return HtmlArr.join('');
    },
    select2:function(){
        var __id=$("#firstSortId").val();
        var el="#secondSortId";
        if(__id){
            common.util.__ajax({url:'/product/class/queryProductSortList',data:{param: __id}},function(res){
                $(el).html(BLL.fillselect(res.data,$(el).data("value")));
            },true);
        }else{
            $(el).html(BLL.fillselect([]));
        }
    }
}

e.on("render",function(){
    // new common.dropDown({el:"#firstSortId",ajax:"sortlist"});
    // BLL.select2();
    common.util.__ajax({url:'/product/class/queryAllProductSortList'},function(res){
        var el="#firstSortId";
        $(el).html(BLL.fillselect(res.data,$(el).data("value")));
         new common.dropDown({el:el});
         BLL.select2();
    },true);
});

e.on("bind",function(){
    
    $("#firstSortId").change(function(){
        BLL.select2();
    });
    $("#orderBy").keyup(function(){
         $(this).val($(this).val().replace(/^\D+$/g,''));
    });
});

e.on("validate",function(){
    if(!(/^\d+$/g.test($("#orderBy").val()))){
        return "排序字段请输入0~100的正整数";
    }
});

e.init();

$(document).on("click",".btn-success",function(){
    e.submit($("#new-class-form").attr("action"),function(option){
        var _arr=["firstSortId","secondSortId"]; 
        for(var i in _arr){
            if(!option.data[_arr[i]]){
                delete option.data[_arr[i]];
            }
        }
        option.success=function(res){
            res=res.data;
            if(res.code=="200"){
                e.$tip('提交成功',function(){
                    location.href="/erpproduct/sort/index";
                },'growl-success');
            }else{
                e.$tip(res.message);
            }
            return false;
        }
        option.error=function(res){
            e.$tip("提交失败");
        };
    });
});