|
|
|
|
|
|
|
|
|
define(function(require, exports, module) {
|
|
|
|
|
var sendWindow = require('apps/edp/frs/frs008/send');
|
|
|
|
|
var viewWindow = require('apps/edp/frs/frs008/view');
|
|
|
|
|
var BasePage = require('system/views/pages/page');
|
|
|
|
|
var Main = require(Store.mainPageJs);
|
|
|
|
|
// var MSG = require('../../../../locale/{lang}/frs');
|
|
|
|
|
// _.extend(Store.MSG, MSG);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function Email(id, node, template) {
|
|
|
|
|
|
|
|
|
|
this.node = node;
|
|
|
|
|
this.id = id;
|
|
|
|
|
var newtpl = Store.compile(template, Store.MSG);
|
|
|
|
|
var EmailVM = avalon.define({
|
|
|
|
|
$id: id,
|
|
|
|
|
tpl: newtpl,
|
|
|
|
|
category: 0,
|
|
|
|
|
|
|
|
|
|
//写信窗口
|
|
|
|
|
writeemail: function() {
|
|
|
|
|
//sendWindow与变量一致出现第二次不能加载
|
|
|
|
|
options = {
|
|
|
|
|
onClose: function() {
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
sendwindow = new sendWindow(options);
|
|
|
|
|
sendwindow.open();
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
//刷新
|
|
|
|
|
refresh: function() {
|
|
|
|
|
EmailVM.ecount();
|
|
|
|
|
EmailVM.emalist();
|
|
|
|
|
},
|
|
|
|
|
//邮箱数量统计
|
|
|
|
|
ecount: function() {
|
|
|
|
|
Store.services.emailCount({}, function(isok, data) {
|
|
|
|
|
if (isok) {
|
|
|
|
|
$("edp_email_unreadbox").text(data.unread); //未读数
|
|
|
|
|
Main.setMsgBadge(data.unread);
|
|
|
|
|
$("edp_email_readbox").text(data.read);
|
|
|
|
|
$("edp_email_outbox").text(data.draft); //草稿数
|
|
|
|
|
$("edp_email_sentbox").text(data.sended); //已发送数
|
|
|
|
|
$("edp_email_delbox").text(data.deleted);
|
|
|
|
|
$(".delbox1").text(data.delunread);
|
|
|
|
|
$(".delbox2").text(data.delread);
|
|
|
|
|
$(".delbox3").text(data.delsended);
|
|
|
|
|
$(".delbox4").text(data.deldraft);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
Store.showError(data.returnMessage || Store.MSG.FRS008_19);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//获取邮箱列表
|
|
|
|
|
emalist: function() {
|
|
|
|
|
//获取请求的数据
|
|
|
|
|
var pageopt = $('.email').datagrid('getPager').data("pagination").options;
|
|
|
|
|
var params = {
|
|
|
|
|
"Category": EmailVM.category,
|
|
|
|
|
"pageIndex": pageopt.pageNumber == 0 ? 1 : pageopt.pageNumber,
|
|
|
|
|
"pageSize": pageopt.pageSize
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (EmailVM.category == 0) {
|
|
|
|
|
$('.setr').show();
|
|
|
|
|
$('.setunr').hide();
|
|
|
|
|
} else if (EmailVM.category == 1) {
|
|
|
|
|
$('.setunr').show();
|
|
|
|
|
$('.setr').hide();
|
|
|
|
|
} else {
|
|
|
|
|
$('.setunr').hide();
|
|
|
|
|
$('.setr').hide();
|
|
|
|
|
}
|
|
|
|
|
if (EmailVM.category >= 0 && EmailVM.category <= 3) {
|
|
|
|
|
$('.delbutab').hide();
|
|
|
|
|
$('.delbut').show();
|
|
|
|
|
}
|
|
|
|
|
if (EmailVM.category >= 5 && EmailVM.category <= 8) {
|
|
|
|
|
$('.delbut').hide();
|
|
|
|
|
$('.delbutab').show();
|
|
|
|
|
}
|
|
|
|
|
if (EmailVM.category == 1 || EmailVM.category == 0 || EmailVM.category == 5 || EmailVM.category == 6) {
|
|
|
|
|
$('.email').datagrid('hideColumn', 'addresseeer');
|
|
|
|
|
$('.email').datagrid('showColumn', 'sender');
|
|
|
|
|
}
|
|
|
|
|
if (EmailVM.category == 2 || EmailVM.category == 3 || EmailVM.category == 7 || EmailVM.category == 8) {
|
|
|
|
|
$('.email').datagrid('hideColumn', 'sender');
|
|
|
|
|
$('.email').datagrid('showColumn', 'addresseeer');
|
|
|
|
|
}
|
|
|
|
|
/* if(EmailVM.category>=4){
|
|
|
|
|
$('.delbut').hide();
|
|
|
|
|
$('.email').datagrid('hideColumn','addresseeer');
|
|
|
|
|
$('.email').datagrid('showColumn','sender');
|
|
|
|
|
|
|
|
|
|
}*/
|
|
|
|
|
Store.services.emailList(
|
|
|
|
|
params,
|
|
|
|
|
function(isok, data) {
|
|
|
|
|
if (isok) {
|
|
|
|
|
if (data.emailList.length > 0) {
|
|
|
|
|
//处理内部表格
|
|
|
|
|
var elist = {
|
|
|
|
|
"total": data.total,
|
|
|
|
|
"rows": data.emailList,
|
|
|
|
|
}
|
|
|
|
|
$('.email').datagrid('loadData', elist);
|
|
|
|
|
} else {
|
|
|
|
|
var elist = {
|
|
|
|
|
"total": 0,
|
|
|
|
|
"rows": [],
|
|
|
|
|
}
|
|
|
|
|
$('.email').datagrid('loadData', elist);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Store.showError(data.returnMessage || Store.MSG.FRS008_19);
|
|
|
|
|
// 获取邮件数量出错!
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
delete_share: function(deletemark) {
|
|
|
|
|
var self = this;
|
|
|
|
|
var elist = [];
|
|
|
|
|
var str = $('.email').datagrid('getSelections');
|
|
|
|
|
if (str.length == 0) {
|
|
|
|
|
Store.messager.warn(Store.MSG.FRS008_20);
|
|
|
|
|
// 未选中邮件!
|
|
|
|
|
} else {
|
|
|
|
|
for (var i in str) {
|
|
|
|
|
elist.push(str[i].emailid);
|
|
|
|
|
}
|
|
|
|
|
params = {
|
|
|
|
|
"category": EmailVM.category,
|
|
|
|
|
"eidlist": elist,
|
|
|
|
|
"deletemark": deletemark
|
|
|
|
|
}
|
|
|
|
|
if (deletemark == 1) {
|
|
|
|
|
Store.messager.confirm(Store.MSG.FRS008_21, function(replace) { // "邮件,是否删除?"
|
|
|
|
|
if (replace) {
|
|
|
|
|
Store.services.delete(
|
|
|
|
|
params,
|
|
|
|
|
function(isok, data) {
|
|
|
|
|
if (isok) {
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
Store.messager.tip(Store.MSG.FRS008_22); //邮件删除成功!
|
|
|
|
|
} else {
|
|
|
|
|
Store.showError(data.returnMessage || Store.MSG.FRS008_23); //邮件删除出错
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
Store.messager.confirm("邮件,是否彻底删除?", function(replace) {
|
|
|
|
|
if (replace) {
|
|
|
|
|
Store.services.delete(
|
|
|
|
|
params,
|
|
|
|
|
function(isok, data) {
|
|
|
|
|
if (isok) {
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
Store.messager.tip("邮件彻底删除成功!"); //删除成功展示
|
|
|
|
|
} else {
|
|
|
|
|
Store.showError(data.returnMessage || '邮件彻底删除出错!');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
setIsRead: function(isread) {
|
|
|
|
|
var self = this;
|
|
|
|
|
var elist = [];
|
|
|
|
|
var str = $('.email').datagrid('getSelections');
|
|
|
|
|
if (str.length == 0) {
|
|
|
|
|
Store.messager.warn("未选中邮件!");
|
|
|
|
|
} else {
|
|
|
|
|
for (var i in str) {
|
|
|
|
|
elist.push(str[i].emailid);
|
|
|
|
|
}
|
|
|
|
|
params = {
|
|
|
|
|
"isread": isread,
|
|
|
|
|
"eidlist": elist,
|
|
|
|
|
},
|
|
|
|
|
Store.services.setIsRead(
|
|
|
|
|
params,
|
|
|
|
|
function(isok, data) {
|
|
|
|
|
if (isok) {
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
if (isread == 1) {
|
|
|
|
|
Store.messager.tip("已读设置成功!");
|
|
|
|
|
} else {
|
|
|
|
|
Store.messager.tip("未读设置成功!");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Store.showError(data.returnMessage || '已读未读设置出错!');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
//回收站
|
|
|
|
|
emaildelbox: function() {
|
|
|
|
|
$('.delbut').hide();
|
|
|
|
|
$('.delbutab').show();
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},
|
|
|
|
|
publicEmailList: function(pageIndex, category) {
|
|
|
|
|
$(".recy").removeClass('in');
|
|
|
|
|
EmailVM.pageIndex = pageIndex,
|
|
|
|
|
EmailVM.category = category,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},
|
|
|
|
|
publicDelEmailList: function(pageIndex, category) {
|
|
|
|
|
EmailVM.pageIndex = pageIndex,
|
|
|
|
|
EmailVM.category = category,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},
|
|
|
|
|
/* //未读
|
|
|
|
|
emailunread: function() {
|
|
|
|
|
$(".recy").removeClass('in');
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 0,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
},
|
|
|
|
|
//已读
|
|
|
|
|
emailreaded: function() {
|
|
|
|
|
$(".recy").removeClass('in');
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 1,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
},
|
|
|
|
|
//草稿箱
|
|
|
|
|
emailoutbox: function() {
|
|
|
|
|
$(".recy").removeClass('in');
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 2,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
},
|
|
|
|
|
//已发送
|
|
|
|
|
emailsentbox: function() {
|
|
|
|
|
$(".recy").removeClass('in');
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 3,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
},*/
|
|
|
|
|
|
|
|
|
|
/* listactive: function() {
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
delunread: function() {
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 5,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},
|
|
|
|
|
delread: function() {
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 6,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},
|
|
|
|
|
delsended: function() {
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 7,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},
|
|
|
|
|
deldraft: function() {
|
|
|
|
|
EmailVM.pageIndex = 1,
|
|
|
|
|
EmailVM.category = 8,
|
|
|
|
|
EmailVM.refresh();
|
|
|
|
|
$("li").removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
},*/
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
this.EmailVM = EmailVM;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inherits(Email, BasePage);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Email.prototype.initgrid = function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
var $em = $('edpEmailRightMenu');
|
|
|
|
|
self.$emaillist.datagrid({
|
|
|
|
|
pagination: true, //显示分页
|
|
|
|
|
fit: true, //datagrid自适应宽度
|
|
|
|
|
fitColumn: false, //列自适应宽度
|
|
|
|
|
striped: true, //行背景交换
|
|
|
|
|
nowap: true, //列内容多时自动折至第二行
|
|
|
|
|
border: false,
|
|
|
|
|
checkOnSelect: true,
|
|
|
|
|
selectOnCheck: true,
|
|
|
|
|
singleSelect: false,
|
|
|
|
|
ctrlSelect: true,
|
|
|
|
|
remoteSort: false,
|
|
|
|
|
onRefresh: function() {
|
|
|
|
|
self.EmailVM.ecount();
|
|
|
|
|
self.EmailVM.emalist();
|
|
|
|
|
},
|
|
|
|
|
onDblClickRow: function(rowIndex, rowData) {
|
|
|
|
|
params = {
|
|
|
|
|
emailId: rowData.emailid
|
|
|
|
|
}
|
|
|
|
|
Store.services.viewEmail(
|
|
|
|
|
params,
|
|
|
|
|
function(isok, data) {
|
|
|
|
|
if (isok) {
|
|
|
|
|
self.view(data);
|
|
|
|
|
} else {
|
|
|
|
|
Store.showError(data.returnMessage || '获取邮件详情出错!');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
onRowContextMenu: function(e, rowIndex, rowData) {
|
|
|
|
|
var abdel = $('edp_email_abdel');
|
|
|
|
|
var del = $('edp_email_del');
|
|
|
|
|
var unread = $('edp_email_unread');
|
|
|
|
|
var read = $('edp_email_read');
|
|
|
|
|
if (self.EmailVM.category >= 0 && self.EmailVM.category <= 3) {
|
|
|
|
|
$em.menu('showItem', abdel);
|
|
|
|
|
$em.menu('showItem', del);
|
|
|
|
|
}
|
|
|
|
|
if (self.EmailVM.category >= 4 && self.EmailVM.category <= 8) {
|
|
|
|
|
$em.menu('hideItem', del);
|
|
|
|
|
$em.menu('showItem', abdel);
|
|
|
|
|
}
|
|
|
|
|
if (self.EmailVM.category == 0) {
|
|
|
|
|
$em.menu('hideItem', unread);
|
|
|
|
|
$em.menu('showItem', read);
|
|
|
|
|
} else if (self.EmailVM.category == 1) {
|
|
|
|
|
$em.menu('hideItem', read);
|
|
|
|
|
$em.menu('showItem', unread);
|
|
|
|
|
} else {
|
|
|
|
|
$em.menu('hideItem', read);
|
|
|
|
|
$em.menu('hideItem', unread);
|
|
|
|
|
}
|
|
|
|
|
self.$emaillist.datagrid('selectRow', rowIndex);
|
|
|
|
|
var test = self.$emaillist.datagrid('getSelected');
|
|
|
|
|
if (test != null) {
|
|
|
|
|
$em.menu('show', {
|
|
|
|
|
left: e.pageX, //弹出窗口的方位坐标
|
|
|
|
|
top: e.pageY
|
|
|
|
|
});
|
|
|
|
|
e.preventDefault(); //阻止浏览器自带的右键菜单弹出
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var p = self.$emaillist.datagrid('getPager');
|
|
|
|
|
self.initpage(p);
|
|
|
|
|
self.initmenu($em);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Email.prototype.initpage = function($p) {
|
|
|
|
|
var self = this;
|
|
|
|
|
$($p).pagination({
|
|
|
|
|
pageNumber: 1,
|
|
|
|
|
pageSize: 20, //每页显示的记录条数,默认为10
|
|
|
|
|
pageList: [15, 20, 25, 30], //可以设置每页记录条数的列表
|
|
|
|
|
onSelectPage: function() {
|
|
|
|
|
self.EmailVM.ecount()
|
|
|
|
|
self.EmailVM.emalist();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
Email.prototype.initmenu = function($em) {
|
|
|
|
|
var self = this;
|
|
|
|
|
$em.menu({
|
|
|
|
|
onClick: function(item) {
|
|
|
|
|
if (item.text == '设置未读') {
|
|
|
|
|
if (self.EmailVM.category == 1) {
|
|
|
|
|
self.EmailVM.setIsRead(0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (item.text == '设置已读') {
|
|
|
|
|
if (self.EmailVM.category == 0) {
|
|
|
|
|
self.EmailVM.setIsRead(1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (item.text == '删除') {
|
|
|
|
|
self.EmailVM.delete_share(1);
|
|
|
|
|
}
|
|
|
|
|
if (item.text == '彻底删除') {
|
|
|
|
|
self.EmailVM.delete_share(2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
Email.prototype.view = function(pdata) {
|
|
|
|
|
var self = this;
|
|
|
|
|
if (self.EmailVM.category == 2 || self.EmailVM.category == 8) {
|
|
|
|
|
pdata.draft = 1;
|
|
|
|
|
options = {
|
|
|
|
|
onBeforeClose: function() {
|
|
|
|
|
self.EmailVM.ecount();
|
|
|
|
|
self.EmailVM.emalist();
|
|
|
|
|
},
|
|
|
|
|
onClose: function() {
|
|
|
|
|
self.EmailVM.ecount();
|
|
|
|
|
self.EmailVM.emalist();
|
|
|
|
|
},
|
|
|
|
|
data: pdata,
|
|
|
|
|
}
|
|
|
|
|
sendwindow = new sendWindow(options);
|
|
|
|
|
sendwindow.open();
|
|
|
|
|
} else {
|
|
|
|
|
options = {
|
|
|
|
|
onClose: function() {
|
|
|
|
|
self.EmailVM.ecount();
|
|
|
|
|
self.EmailVM.emalist();
|
|
|
|
|
},
|
|
|
|
|
data: pdata,
|
|
|
|
|
}
|
|
|
|
|
var viewwindow = new viewWindow(options);
|
|
|
|
|
viewwindow.open();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//初始化完成
|
|
|
|
|
Email.prototype.initCompleted = function($container) {
|
|
|
|
|
|
|
|
|
|
var self = this;
|
|
|
|
|
this.$emaillist = this.getElement('table.email');
|
|
|
|
|
self.initgrid();
|
|
|
|
|
self.EmailVM.ecount();
|
|
|
|
|
self.EmailVM.emalist();
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
return Email;
|
|
|
|
|
});
|