index.js 7.96 KB
/**
 * 限购码列表页
 */
'use strict';
var $ = require('jquery'),
    common=require('../common/common');

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

exports.init = function() {

    //下拉框
    new common.dropDown({el: '#filter-dep'});
    
    var t = new common.tab({
        el:"#basicTab",
        click:function(){
            g.reload();
        },
        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({"0":0,"1":0,"2":0,"3":0,"4":0,"all":0});

    //grid
    var g = new common.grid({
        el: '#basicTable',
        // tabUrl: $('#tabUrl').val(),
        // tabConvert: statusConvert,
        // size: 10,
        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="/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="/coupon/info/'+ item.id+'" class="btn btn-info btn-xs">查看详情</a>');
                if(item.status == 0){
                    HtmArr.push('<a class="btn btn-primary 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="/coupon/update/'+ item.id+'">修改</a>');
                }
                return HtmArr.join('');
            }}
        ]
    })
   

    //tab
    
    var loadtab=function(){
        setTimeout(function(){
            common.util.__ajax({
                url:'/coupon/ajax/getCodeCount',
                data:g.options.parms()

            },function(res){
                t.init(res.data);
            },true);
        },400);
    }

     g.init($("#gridurl").val());
     loadtab();
    

    $("#filter-btn").click(function(){
        g.reload();
        loadtab();
    });
    $("#all-btn").click(function(){
        $("#filter-id").add("#filter-name").val('');
        $('#filter-dep').val("-1").trigger("change");
        g.reload();
        loadtab();
    });

    var Bll={
        toast:function(content,fn){
            common.dialog.confirm("温馨提示",content,function(){
                common.util.__ajax({
                    url:'/coupon/auditPromotion',
                    data:fn()
                },function(){
                    g.reload();
                });
            });
        },
        definetoast:function(content,fn,fn1){
            common.dialog({
                title:"温馨提示",
                content:content,
                button:[
                    {value:"取消"},
                    {value:"确定" ,callback: function(){
                        common.util.__ajax({
                            url:'/coupon/auditPromotion',
                            data:fn()
                        },function(){
                            g.reload();
                        });
                    }},
                    {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="/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('/coupon/sendPromotion');
                    }}
                ]
            });
        }
    }

    //作废事件
    $('#basicTable').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,
                    operations:reason
                };
        }
        Bll.toast(common.util.__template($("#template").html(),{name:"您确定要作废此优惠码吗?"}),data);
    });

    //驳回事件
    $('#basicTable').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,
                    operations:reason
                };
        }
        Bll.toast(common.util.__template($("#template").html(),{name:"您确定要驳回该申请吗?"}),data);
    });
    //通过事件
    $('#basicTable').on('click', '.apply-success', function() {
        var item=g.rows[$(this).data("index")];
        var data=function(){
            return {
                    id:item.id,
                    status:1,
                    operations:reason
                };
        }
        Bll.definetoast("您确定要通过该申请吗?",data,function(){
            return {auditTime:item.limitDateFrom};
        });
    });
    
}