limitcode-edit.js 4.97 KB
var $ = require('jquery');
var common = require('../common/common');
var editBean = require('./partials/limitcode-edit-bean');

var e = new common.edit2("#basicForm");
var type = $("#basicForm").attr("role"),
    action = $("#basicForm").data("action");

var Bll = {
    __render:function() {
        $("#basicForm").html(common.util.__template2($("#limitcodeEdit-template").html(), editBean));
        e.init();
        if(type != "add") {
            $('input[name="skn_sku"]').prop('disabled', true);
            $(".noEdit").prop("disabled", true);
            $('input[name="userTypeLimit"]').prop('disabled', true);
            if(Bll.getLocalTime(editBean.limitDateFrom) <= Bll.getLocalTime(new Date())) {
                $("#limitDateFrom").prop("disabled", true);
            }
        }
    },
    __checkSkn:function(callback) {
        var flag = false;
        common.util.__ajax({
            async:false,
            url: "/limitCode/checkSknValidity",
            data: {skn:editBean.limitSkn}
        },function(res) {
            if(!res.data.isExist) {
                flag = true;
                common.util.__tip("SKN不存在");
            } else if(res.data.isConflict) {
                flag = true;
                common.util.__tip("SKN与其他限购冲突");
            } else if(res.data.isOnSales) {
                flag = true;
                common.util.__tip("SKN已上架,请先下架");
            }
            callback && callback(res);
        }, true);
        return flag;
    },
    getLocalTime:function(nS) {
        var date = new Date(parseInt(nS) * 1000);
        var mm = date.getMonth() + 1;
        var dd = date.getDate();
        var h = date.getHours();
        var min = date.getMinutes();
        var second = date.getSeconds();
        return date.getFullYear() + "-" + (mm < 10 ? "0" + mm : mm) + "-" + (dd < 10 ? "0" + dd : dd) + " " + (h < 10 ? "0" + h : h) + ":"
            + (min < 10 ? "0" + min : min) + ":" + (second < 10 ? "0" + second : second);
    },
};

if(type != "add") {
    var id = location.href.substring(location.href.lastIndexOf("/") + 1);
    common.util.__ajax({
        url: "/limitCode/getLimitCode",
        data: {id: id}
    }, function (res) {
        editBean = res.data;
        editBean.reqDepartment = editBean.reqDepartment.split("/");
        if(!editBean.reqDepartment.length) {
            editBean.reqDepartment = [
                "零售部",
                "营销策划"
            ];
        }
        editBean.selected = editBean.skus ? "SKU" : "SKN";
        Bll.__render();
    },true);
} else {
    Bll.__render();
}

$(document).on("change", ".observe", function () {
    var $this = $(this);
    var name = $this.data("field");
    editBean = common.util.__buildobj(name, '.', editBean, function (obj, name) {
        obj[name] = $this.val();
    });
    editBean.limitDateFrom = $("#limitDateFrom").val();
    editBean.limitDateTo = $("#limitDateTo").val();
    console.log(editBean);
});

$(document).on("click", ".limitProduct", function() {
    editBean.selected = $(this).val();
    Bll.__render();
    console.log(editBean);
});

$(document).on("click", ".delSku", function () {
    var index = $(this).data("index");
    editBean.skusInfos.splice(index, 1);
    Bll.__render();
});
$(document).on("click", ".addSku", function () {
    editBean.skusInfo.push({
        "sku": "",
        "skuTimes": ""
    });
    Bll.__render();
});

$(document).on("blur", "#limitSkn", function() {
    Bll.__checkSkn(function(res) {
        if (res.data.skuList) {
            editBean.skusInfo = [];
            for (var i = 0; i < res.data.skuList.length; i++) {
                editBean.skusInfo.push({
                    "sku": res.data.skuList[i],
                    "skuTimes": ""
                });
            }
            $(".addSku").prop("disabled", false);
        }
        Bll.__render();
    });
});
$(document).on("blur", ".skus", function() {
    //TODO
});
$(document).on("click","#save_brand", function() {
    //  限购码状态0:待审核 1:审核通过 2:驳回 3:过期 4:作废
    if(e.validate() && (!editBean.limitSkn || !Bll.__checkSkn())) {
        editBean.reqDepartment = editBean.reqDepartment.join("/");
        editBean.creatorId = $("#auth_id").val();
        editBean.creatorName = $("#auth_name").val();
        if (editBean.status != 1) {
            editBean.status = 0;
        }
        if(editBean.selected != "SKN") {
            editBean.skus = "";
            editBean.skuTimes = "";
            for(var item in editBean.skusInfo) {
                if(item != 0) {
                    editBean.skus+=";";
                    editBean.skuTimes+=";";
                }
                editBean.skus += editBean.skusInfo[item].sku;
                editBean.skuTimes+=editBean.skusInfo[item].skuTimes;
            }
        }
        common.util.__ajax({
            url: action,
            data: editBean
        }, function (res) {
            location.href = "/market/limitcode/index";
        });
    }
    return false;
});