CateSizeAttr.js 5.85 KB

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

sortmenu.init(function () {
    g.init('/erpproduct/sortattribute/ajax/index');
});

var g = new common.grid({
    el: "#basicTable",
    parms: function () {
        return {
            sortId: window.sortid ? window.sortid : ""
        };
    },
    columns: [
        //分类ID  分类名称    尺码属性ID  尺码属性名   排序  操作
        {display: "分类ID", name: "sortId"},
        {display: "分类名称", name: "sortName"},
        {display: "尺码属性ID", name: "attributeId"},
        {display: "尺码属性名", name: "attributeName"},
        {display: "排序", name: "orderBy"},
        {
            display: "操作", render: function (item) {
            var htmlArr = [];
            // 子类目不能删除父类目所创建的属性
            if (window.sortid == item.sortId) {
                htmlArr.push('<a data-index="' + item.__index + '" href="javascript:void(0)" class="btn btn-success btn-xs delbtn">删除</a>')
                htmlArr.push('<a data-index="' + item.__index + '" href="javascript:void(0)" class="btn btn-primary btn-xs editBtn">修改</a>')
            }
            return htmlArr.join("");
        }
        }
    ]
});


/**
 * 验证
 */
var edit = new common.edit2(".modal-body");

/**
 * 通用
 * @type {{module: null, toast: Bll.toast}}
 */
var Bll = {
    module: null,
    attri: [],
    orderBys: [],
    getOrderBy: function () {
        common.util.__ajax({
            url: '/erpproduct/sortattribute/ajax/index',
            data: {
                "sortId": window.sortid ? window.sortid : ""
            }
        }, function (res) {
            Bll.orderBys = [];
            if (res.data && res.data.list) {
                var list = res.data.list;
                list.forEach(function (x) {
                    if (x.orderBy != 0) {
                        Bll.orderBys.push(x.orderBy);
                    }
                })
            }
        }, true);
    },
    dropDown: function () {
        common.util.__ajax({
            url: '/erpproduct/sortattribute/ajax/automatic',
            data: {
                "sortId": window.sortid ? window.sortid : ""
            }
        }, function (res) {
            $("#attri-content").html(common.util.__template2($("#search-attri").html(), res));
            new common.dropDown({el: "#choose-attri"});
            Bll.attri = res.data;
        }, true);
    },
    //弹框
    toast: function (hint, module, url) {
        Bll.module = module;
        Bll.getOrderBy();
        if (Bll.module.__state == 'add') {
            Bll.dropDown();
        }
        var d = new common.dialog({
            title: hint + "尺码属性",
            content: common.util.__template2($("#template").html(), Bll.module),
            width: '30%',
            button: [
                {
                    value: "保存",
                    callback: function () {
                        var flag = true;
                        if (Bll.orderBys.length > 0) {
                            for (var i = 0; i < Bll.orderBys.length; i++) {
                                if (Bll.orderBys[i] == Bll.module.orderBy) {
                                    flag = false;
                                    common.util.__tip("排序值不可重复", "warning");
                                }
                            }
                        }
                        if (edit.validate() && flag) {
                            common.util.__ajax({
                                url: url,
                                data: Bll.module
                            }, function () {
                                g.reload();
                                d.close();
                            });
                        }
                        return false;
                    },
                    css: "btn-primary"
                },
                {
                    "value": "取消",
                    "css": "btn-info"
                }
            ]
        });
        edit.init();
    }
};
/**
 * 监听输入框变化
 */
$(document).on("change", ".observe", function () {
    var $this = $(this);
    var name = $this.data("field");
    Bll.module = common.util.__buildobj(name, '.', Bll.module, function (obj, name1) {
        obj[name1] = $this.val();
    });
});
/**
 * 添加
 */
$(document).on("click", "#btn-add", function () {
    var item = {
        __state: "add",
        name: "尺码属性",
        sortName: window.sortname,
        sortId: window.sortid,
        attributeName: "",
        attributeId: "",
        orderBy: 0
    };
    Bll.toast("新增", item, '/erpproduct/sortattribute/ajax/add');
});
/**
 * 修改
 */
$(document).on("click", ".editBtn", function () {
    var item = g.rows[$(this).data("index")];
    item = $.extend(true, {}, item);
    item.__state = "update";
    item.name = "尺码属性";
    Bll.toast("修改", item, "/sortAttribute/updateOrderBy");
});
/**
 * 删除
 */
$(document).on("click", ".delbtn", function () {
    var item = g.rows[$(this).data("index")];
    common.dialog.confirm("温馨提示", "你确定要删除吗?", function () {
        common.util.__ajax({
            url: '/erpproduct/sortattribute/ajax/delete',
            data: {sortId: item.sortId, attributeId: item.attributeId}
        }, function () {
            g.reload();
        });
    });
});
/**
 * 下拉变化
 */
$(document).on("change", "#choose-attri", function () {
    var attributeId = $(this).val();
    Bll.module.attributeId = attributeId;
    for (var i = 0; i < Bll.attri.length; i++) {
        if (Bll.attri[i].id == attributeId) {
            Bll.module.attributeName = Bll.attri[i].text;
        }
    }
});

$("#cateSizeListUL .level1, #cateSizeListUL .level2").click(function() {
    $("#btn-add").prop("disabled", true);
});