Index.js 7.98 KB
/**
 * 优惠码列表页
 */
'use strict';
var $ = require('jquery'),
    common = require('../../../common/common');

var ENUM = {
    status: {0: '待审核', 1: '审核通过', 2: '驳回', 3: '过期', 4: '作废'},//全部
    tips: {"0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "all": 0}
};

//下拉框
new common.dropDown({el: '#filter-dep'});

//通用对象
var Bll = {
    loadtab: function () {
        t.active = undefined;
        setTimeout(function () {
            common.util.__ajax({
                url: '/market/coupon/getCodeCount',
                data: g.options.parms()

            }, function (res) {
                var __dt = $.extend({}, ENUM.tips, res.data);
                t.init(__dt);
            }, true);
        }, 400);
    },
    toast: function (content, fn) {
        common.dialog.confirm("温馨提示", content, function () {
            common.util.__ajax({
                url: '/market/coupon/auditPromotion',
                data: fn()
            }, function () {
                g.reload();
                Bll.loadtab();
            });
        });
    },
    definetoast: function (content, fn, fn1) {
        common.dialog({
            title: "温馨提示",
            content: content,
            button: [
                {value: "取消"},
                {
                    value: "确定", callback: function () {
                    common.util.__ajax({
                        url: '/market/coupon/auditPromotion',
                        data: fn()
                    }, function () {
                        g.reload();
                        Bll.loadtab();
                    });
                }, css: "btn btn-primary"
                },
                {
                    value: "发放列表", callback: function () {
                    common.dialog({
                        title: "发放列表",
                        content: '<div id="faGrid"></div>'
                    });
                    new common.grid({
                        el: "#faGrid",
                        parms: fn1,
                        columns: [
                            {
                                display: "批次号", name: "batchNo", render: function (item) {
                                return '<a href="/market/coupon/info/' + item.id + '">' + item.batchNo + '</a>';
                            }
                            },
                            {
                                display: "基本信息", name: "name", render: function (item) {
                                return '<p>名称:' + item.name + '</p><p>次数' + item.limitTimes + '</p><p>部门:' + item.reqDepartment + '</p>';
                            }
                            },
                            {
                                display: '使用期限', name: "limit", render: function (item) {
                                return '<p class="audit-time">' + item.limitDateFrom + '</p><p>' + item.limitDateTo + '</p>'
                            }
                            },
                            {display: '优惠码说明', name: "describe"},
                            {display: '申请记录', name: "staff"}
                        ]
                    }).init('/market/coupon/sendPromotion');
                }, css: "btn btn-info"
                }
            ]
        });
    }
};

//tab
var t = new common.tab({
    el: "#basicTab",
    click: function () {
        g.reload(1);
    },
    columns: [
        {name: "0", display: "待审核({0})"},
        {name: "1", display: "审核通过({1})"},
        {name: "2", display: "驳回({2})"},
        {name: "3", display: "过期({3})"},
        {name: "4", display: "作废({4})"},
        {name: "all", display: "全部({all})"}
    ]
}).init(ENUM.tips);

//grid
var g = new common.grid({
    el: '#basicTable',
    parms: function () {
        return {
            batchNo: common.util.__input("filter-id"),
            name: common.util.__input("filter-name"),
            reqDepartment: common.util.__input("filter-dep"),
            status: t.active
        };
    },
    columns: [
        {
            display: "批次号", name: "batchNo", render: function (item) {
            return '<a href="/market/coupon/info/' + item.id + '">' + item.batchNo + '</a>';
        }
        },
        {
            display: "基本信息", name: "name", render: function (item) {
            return '<p>名称:' + item.name + '</p><p>次数:' + item.limitTimes + '</p><p>部门:' + item.reqDepartment + '</p>';
        }
        },
        {
            display: '使用期限', name: "limit", render: function (item) {
            return '<p class="audit-time">' + item.limitDateFrom + '</p><p>' + item.limitDateTo + '</p>'
        }
        },
        {display: '优惠码说明', name: "describe"},
        {display: '申请记录', name: "staff"},
        {
            display: '状态', name: "status", render: function (item) {
            var html = ENUM.status[item.status] || '全部';
            if (item.reason) {
                html += '<p style="color:red;">(' + item.reason + ')</p>';
            }
            return html;
        }
        },
        {
            display: "操作", name: "operate", render: function (item) {
            var HtmArr = [];
            HtmArr.push('<a href="/market/coupon/info/' + item.id + '" class="btn btn-primary btn-xs">查看详情</a>');
            if (item.status == 0) {
                HtmArr.push('<a class="btn btn-success btn-xs apply-success" data-index="' + item.__index + '" href="javascript:;">通过</a>');
                HtmArr.push('<a class="btn btn-warning btn-xs apply-back" data-index="' + item.__index + '" href="javascript:;">驳回</a>');
                HtmArr.push('<a class="btn btn-danger btn-xs apply-cancel" data-index="' + item.__index + '" href="javascript:;">作废</a>');
            }
            if (item.status == 1) {
                HtmArr.push('<a class="btn btn-danger btn-xs apply-cancel" data-index="' + item.__index + '" href="javascript:;">作废</a>');
            }
            if (item.status == 2) {
                HtmArr.push('<a class="btn btn-info btn-xs apply-modify"  href="/market/coupon/update/' + item.id + '">修改</a>');
            }
            return HtmArr.join('');
        }
        }
    ]
});

Bll.loadtab();
g.init("/market/coupon/getPromotion");

//筛选按钮
$("#filter-btn").click(function () {
    Bll.loadtab();
    g.reload(1);

});

//添加按钮
$("#all-btn").click(function () {
    $("#filter-id").add("#filter-name").val('');
    $('#filter-dep').val("-1").trigger("change");
    g.reload();
    Bll.loadtab();

});

//作废事件
$(document).on('click', '.apply-cancel', function () {
    var item = g.rows[$(this).data("index")];
    var data = function () {
        var reason = $('#reason').val();
        if (reason === '' || $.trim(reason) === '') {
            return "请填写作废原因";
        }
        return {
            id: item.id,
            status: 4,
            reason: reason
        };
    };
    Bll.toast(common.util.__template2($("#template").html(), {name: "您确定要作废此优惠码吗?"}), data);
});

//驳回事件
$(document).on('click', '.apply-back', function () {
    var item = g.rows[$(this).data("index")];
    var data = function () {
        var reason = $('#reason').val();
        if (reason === '' || $.trim(reason) === '') {
            return "请填写驳回原因";
        }
        return {
            id: item.id,
            status: 2,
            reason: reason
        };
    };
    Bll.toast(common.util.__template2($("#template").html(), {name: "您确定要驳回该申请吗?"}), data);
});
//通过事件
$(document).on('click', '.apply-success', function () {
    var item = g.rows[$(this).data("index")];
    var data = function () {
        return {
            id: item.id,
            status: 1,
            reason: "申请通过"
        };
    };
    Bll.definetoast("您确定要通过该申请吗?", data, function () {
        return {auditTime: item.limitDateFrom};
    });
});