| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | /** * 消息通知相关js * * @author CaiAoLin * @date 2017/9/25 * @version */let isLoading = false;$(document).ready(function() {    // 消息框弹出    $("#msg").on("shown.bs.modal", function() {        let loadingElement = $("#message-loading");        $.ajax({            url: '/message/list',            type: 'post',            data: '',            dataType: 'json',            error: function() {                loadingElement.text('加载数据失败');            },            beforeSend: function() {                loadingElement.text('正在加载数据').show();            },            success: function(response) {                loadingElement.text('').hide();                $("#message-list").show();                if (response.err === 1 || response.err === undefined) {                    let msg = response.msg !== undefined ? response.msg : '读取数据失败!';                    alert(msg);                    return false;                }                let listData = response.data;                if (listData.length <= 0) {                    return false;                }                let listHtml = '';                for(let tmp of listData) {                    let unreadHtml = tmp.is_read === 0 ? '<i class="fa fa-circle-o text-danger unread" title="未读"></i> ' : '';                    let dateString = moment(tmp.message.release_time).format('YYYY-MM-DD');                    let dateTimeString = moment(tmp.message.release_time).format('YYYY-MM-DD HH:mm:ss');                    listHtml += '<tr>' +                        '<td>'+ unreadHtml +'<a href="javascript:void(0);" class="detail" data-id="'+ tmp._id +'">'+ tmp.message.title +'</a></td>' +                        '<td><span title="'+ dateTimeString +'">'+ dateString +'</span></td>';                }                $("#message-list tbody").html(listHtml);            }        });    });    // 获取详细消息    $("#msg").on("click", "a.detail", function() {        let self = $(this);        let id = self.data("id");        if (id === undefined || id === '' || isLoading) {            return false;        }        let isUnread = self.prev().is(".unread");        let loadingElement = $("#message-loading");        let listElement = $("#message-list");        $.ajax({            url: '/message/detail',            type: 'post',            data: 'id=' + id,            dataType: 'json',            error: function() {                isLoading = false;                listElement.show();                loadingElement.text('').hide();            },            beforeSend: function() {                isLoading = true;                listElement.hide();                loadingElement.text('正在加载详细内容').show();            },            success: function(response) {                isLoading = false;                loadingElement.text('').hide();                let messageData = response.data;                if (response.err === 1 || response.err === undefined || messageData === undefined) {                    let msg = response.msg !== undefined ? response.msg : '读取数据失败!';                    listElement.show();                    loadingElement.text('').hide();                    alert(msg);                    return false;                }                // 移除未读标记                if (isUnread) {                    self.prev('i').remove();                    changeNumByStep(-1);                }                $("#message-content .title").text(messageData.message.title);                $("#message-content .time").text('发布:' + moment(messageData.message.release_time).format('YYYY-MM-DD HH:mm:ss'));                $("#message-content .content-area").html(messageData.message.content);                $("#message-content").show();            }        });    });    // 设置全部已读    $("#set-all-read").click(function() {        if (isLoading) {            return false;        }        $.ajax({            url: '/message/read',            type: 'post',            data: '',            dataType: 'json',            error: function() {                isLoading = false;            },            beforeSend: function() {                isLoading = true;            },            success: function(response) {                isLoading = false;                if (response.err === 0) {                    $("#message-list tbody .unread").remove();                    changeNumByStep(0);                } else {                    let msg = response.msg !== undefined ? response.msg : '未知错误!';                    alert(msg);                }            }        });    });    // 返回按钮    $("#message-content .back").click(function() {        $("#message-content").hide();        $("#message-list").show();    });});/** * 设置头部信封数量 * * @param {Number} step * @return {void} */function changeNumByStep(step) {    let messageElement = $("#notify-info");    let unreadElement = $("#unread-num");    if (step === 0) {        messageElement.removeClass('new-msg');        unreadElement.text(0);    } else {        let currentNum = unreadElement.text();        currentNum = parseInt(currentNum);        let num = currentNum + step;        if (num === 0) {            messageElement.removeClass('new-msg');        }        unreadElement.text(num);    }}
 |