﻿// 短消息管理

var Smsstore;
Smsmanage = function(node) {
    nodeid = node.id;
    if (!Ext.get("SmsGrid")) {
        var fields = ["id", "senderid", "recipient", "smstitle", "smsstate", "smstitme"];
        Smsstore = new Ext.data.Store({
            proxy: new Ext.data.HttpProxy({ url: "include/url/member/sms/sms.aspx?type=get", method: "POST" }),
            reader: new Ext.data.JsonReader({ fields: fields, root: "data", id: "id", totalProperty: "totalCount" })
        });
        function SmsSend() {
            Smsstore.removeAll();
            Smsstore.reload({ params: { keys: "1", start: 0, limit: pageSize} });
        }

        function SmsRecipient() {
            Smsstore.removeAll();
            Smsstore.reload({ params: { keys: "2", start: 0, limit: pageSize} });
        }


        var sm = new Ext.grid.CheckboxSelectionModel({
            dataIndex: "id"
        });
        var cm = new Ext.grid.ColumnModel([
		sm,
		new Ext.grid.RowNumberer({ header: "ID", width: 27 }),
		{ header: "ID", dataIndex: "id", hidden: true },
		{header: "标题", tooltip: "邮件标题", dataIndex: "smstitle", width: 150, sortable: true, renderer: function(value, r, f) { return "<a href='javascript:SeeSms(" + f.data.id + ")'>" + value + "</a>"; } },
		{ header: "发件人", tooltip: "发件人", dataIndex: "senderid", sortable: true },
		{ header: "收件人", tooltip: "收件人", dataIndex: "recipient", sortable: true,renderer:function(value){if(value=="0"){return "全部会员";}else{return value;}} },
		{ header: "状态", tooltip: "邮件状态", dataIndex: "smsstate", sortable: true, renderer: function(value) {
		    if (value == "-1") return "系统邮件"; else return value == "1" ? "已读" : "<font style='color:red'>未读</font>";
		}
		},
		{ header: "发送时间", tooltip: "发送时间", dataIndex: "smstitme", sortable: true }
		]);
        var SmsRightClick = new Ext.menu.Menu({
            items: [{
                text: '查看',
                iconCls: 'addicon',
                handler: SeeAdFn
            }, {
                text: '删除',
                iconCls: 'deleteicon',
                handler: DeleteSmsFn
            }
]
        });
        var grid = new Ext.grid.GridPanel({
            id: "SmsGrid",
            store: Smsstore,
            sm: sm, cm: cm,
            loadMask: true, autoWidth: true,
            stripeRows: true, autoSizeColumns: true,
            autoScroll: true, border: false,
            viewConfig: {
                columnsText: "显示/隐藏列",
                sortAscText: "正序排列",
                sortDescText: "倒序排列",
                //改变列宽度时自动调整其它列
                forceFit: true
            },
            //分页
            bbar: paging(Smsstore, pageSize),
            tbar: [
                { xtype: 'hidden', id: 'admin', name: 'admin', emptyText: "" },
		        new Ext.Toolbar.Fill(),
		        { text: '收到的短消息', iconCls: 'editicon', handler: SmsSend }, '-',
		        { text: '发送的短消息', iconCls: 'editicon', handler: SmsRecipient }, '-',
		        {
		            text: "添加",
		            tooltip: "给全部用户发信息",
		            iconCls: "addicon",
		            handler: SmsdSmsFn
		        }, "", "-", "", {
		            text: "删除",
		            tooltip: "删除短消息",
		            iconCls: "deleteicon",
		            handler: DeleteSmsFn
		        }, "-"], listeners: {
		            'contextmenu': function(e) {
		                e.stopEvent();
		            },
		            'rowcontextmenu': function(grid, rowIndex, e) {
		                e.stopEvent();
		                SmsRightClick.showAt(e.getXY());
		            }
		        }
        });

        //传入icon样式
        GridMain(node, grid, "zdylable");
        Smsstore.on('beforeload', function(store) {
            store.baseParams = { keys: Ext.getDom('admin').value };
        })
        //加载时参数
        Smsstore.load({ params: { start: 0, limit: pageSize} });
    } else {
        SetActi(node);
    }
}

//删除选中行短消息
DeleteSmsFn = function() {
    if (!CheckRole(nodeid, 3)) {
        return;
    }
    //得到多个record对象
    var row = Ext.getCmp("SmsGrid").getSelectionModel().getSelections();
    if (row.length == 0) {
        Ext.Msg.alert("提示信息", "<br/>很抱歉，请您至少选择一行记录!");
    }
    else {
        Ext.Msg.confirm("提示信息", "您确定要删除选中短消息吗?", function(btn) {
            if (btn == "yes") {
                var deletesplit = "";
                for (var i = 0; i < row.length; i++) {
                    if (row.length == 1) {
                        deletesplit = row[i].data.id;
                    } else {
                        if (i < (row.length - 1)) {
                            deletesplit = row[i].data.id + "," + deletesplit;
                        }
                        if (i == (row.length - 1)) {
                            deletesplit = deletesplit + row[i].data.id;
                        }
                    }
                }
                Ext.Ajax.request({
                    url: "include/url/member/sms/sms.aspx?type=del",
                    method: "POST",
                    params: {
                        id: deletesplit
                    },
                    success: function() {
                        Smsstore.reload();
                    },
                    failure: function() {
                        Ext.Msg.alert("提示信息", "删除失败了!");
                    },
                    waitMsg: 'Loading...'
                });

            }
        })
    }
}

//增加短消息
SmsdSmsFn = function() {
    if (!CheckRole(nodeid, 1)) {
        return;
    }
    AddSms();
}

//查看短消息
SeeAdFn = function() {
    var row = Ext.getCmp("SmsGrid").getSelectionModel().getSelections();
    if (row.length == 0) {
        Ext.Msg.alert("提示信息", "<br/>很抱歉，请您至少选择一行记录!");
    } else if (row.length > 1) {
        Ext.Msg.alert("提示信息", "<br/>很抱歉，只能选择一行记录!");
    } else if (row.length == 1) {
        SeeSms(row[0].data.id);
    }
}

AddSms = function() {
    PublicWinInfo("include/url/member/sms/smssend.aspx", "发送短消息", "520", 253);
}

SeeSms = function(id) {
    PublicWinInfo("include/url/member/sms/showsms.aspx?id=" + id, "查看短消息", "520", 266);
}

function CloseSmsWin(err) {
    if (err == "err") {
        Ext.Msg.alert("提示信息", "<br/>很抱歉，短消息操作过程中出现错误!");
    }
    if (PublicWindow) {
        PublicWindow.close();
        if (Smsstore != null && Smsstore != undefined) {
            Smsstore.reload();
        }
    }
}

