$(function(){
|
layui.use(['layer','element', 'laypage'], function () {
|
var element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
|
var laypage = layui.laypage;
|
var layer=layui.layer;
|
var $ = layui.$;
|
var itemColor="layui-bg-blue";
|
var Subscript=null;//要显示角标
|
var sort = SortType || 'msgbyType';//默认
|
var nowelem;//全局tab页卡对象
|
var nowback = 0;
|
var data = {
|
'm': SortType || 'msgbyType',//默认
|
'userCode': $('#usercode').val(),//用户代码
|
'hrCode': $('#usercode').val(),//用户代码
|
'isfinshed': 1,//是否已处理
|
'searchKey': '',//查询
|
'actionType': '',//审批类型
|
'num': 1,
|
'msgType': 1,//内容类型
|
'formid': 0,//功能号
|
'pageSize': 20,//默认每页返回20条数据
|
'pageIndex': 1 //页码
|
}
|
//监听tab1
|
element.on('tab(tab1)', function (elem) {
|
$('.sort a').removeClass('disable-button');
|
data.isfinshed = $(this).data('isfinshed');
|
data.actionType = $(this).data('actiontype');
|
nowback = 0;
|
data.formid = 0;
|
data.num = 1;
|
data.searchKey = '';
|
switch (elem.index) {
|
case 0://待办
|
itemColor="";
|
element.tabChange('tab2', 1); //切换到:对应类型
|
break;
|
case 1://已办
|
itemColor="layui-bg-gray";
|
element.tabChange('tab3', 1); //切换到:对应类型
|
break;
|
case 2://在线交流
|
itemColor="layui-bg-blue";
|
element.tabChange('tab4', 4); //切换到:对应类型 4表示未读页卡
|
break;
|
case 3://通知
|
itemColor="layui-bg-blue";
|
element.tabChange('tab5', 4); //切换到:对应类型 4表示未读页卡
|
// data.m = sort;
|
// active(elem);
|
break;
|
case 4://抄送我的
|
itemColor="layui-bg-blue";
|
element.tabChange('tab6', 4); //切换到:对应类型 4表示未读页卡
|
break;
|
default://搜索
|
if (!$($('.sort a')[0]).hasClass('disable-button')) {
|
$($('.sort a')[0]).addClass('disable-button');
|
}
|
if (data.m = 'msgbyType') {
|
sort = 'msgv2';
|
data.m = sort;
|
$('.sort a').removeClass('sortColor');
|
$($('.sort a')[1]).addClass('sortColor');
|
}
|
data.num=10;
|
data.searchKey = $('#demoReload').val();
|
active(elem);
|
break;
|
|
}
|
});
|
//监听tab2
|
element.on('tab(tab2)', function (elem) {
|
data.msgType = $(this).attr('lay-id');
|
Subscript = (data.msgType == "1" ? this : null);
|
parmSet(elem);
|
});
|
//监听tab3
|
element.on('tab(tab3)', function (elem) {
|
Subscript=null;
|
parmSet(elem);
|
});
|
//监听tab4
|
element.on('tab(tab4)', function (elem) {
|
data.msgType = $(this).attr('lay-id');
|
Subscript = (data.msgType == "4" ? this : null);
|
parmSet(elem);
|
});
|
//监听tab5
|
element.on('tab(tab5)', function (elem) {
|
data.msgType = $(this).attr('lay-id');
|
Subscript = (data.msgType == "4" ? this : null);
|
parmSet(elem);
|
});
|
//监听tab6
|
element.on('tab(tab6)', function (elem) {
|
data.msgType = $(this).attr('lay-id');
|
Subscript = (data.msgType == "4" ? this : null);
|
parmSet(elem);
|
});
|
|
//搜索按钮触发
|
$('.demoTable .layui-btn').on('click', function () {
|
search();
|
});
|
//搜索回车触发
|
$('.demoTable input').on('keydown', function (e) {
|
if (e.keyCode == 13) {
|
search();
|
}
|
});
|
//排序触发
|
$('.sort a').on('click', function () {
|
if ($(this).hasClass('disable-button')) {
|
return;
|
}
|
if (!$(this).hasClass('sortColor')) {
|
$('.sort a').removeClass('sortColor');
|
$(this).addClass('sortColor');
|
}
|
sort = $(this).data('type');
|
data.m = sort;
|
data.formid = 0;
|
data.num = 1;
|
active(nowelem);
|
});
|
|
var parmSet=function(elem){
|
nowback = 0;
|
data.formid = 0;
|
data.num = 1;
|
data.m = sort;
|
active(elem);
|
}
|
//触发加载数据
|
var active = function (elem, label) {
|
try {
|
var id = elem.elem[0].id;//获取到对应页卡id
|
var refresh = $(elem.elem[0].lastElementChild).find('.layui-breadcrumb');//刷新span对象
|
var collapse = $(elem.elem[0].lastElementChild).find('.layui-show').find('.layui-collapse');//内容div对象
|
Tips('layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop', '正在加载中...', collapse);
|
var array = [];
|
data.pageIndex = 1;
|
var s = 0;
|
for (var n = 0; n < data.num; n++) {
|
data.pageIndex = n + 1;
|
$.post('/webmenu.do?m=' + data.m, data, function (res) {
|
s++
|
if (res != null && res.length > 0) {
|
for (var r in res) {
|
var key = res[r].key;
|
var nuu = FFF(array, key);
|
if (nuu >= 0) {
|
var h = array[nuu].value.concat(res[r].value);
|
array[nuu].value = h;
|
} else {
|
res[r].sort = sorct(key);
|
array.push(res[r]);
|
}
|
}
|
}
|
if (s == data.num) {
|
array = array.sort((a, b) => a.sort.localeCompare(b.sort, 'zh'))
|
elem.index = elem.index > 2 ? 2 : elem.index;
|
if (data.searchKey != null && data.searchKey != '') {
|
collapse = collapse[5];
|
} else {
|
collapse = collapse.length > elem.index ? collapse[elem.index] : collapse[0];
|
}
|
getHtml(array, id, elem, label, refresh, collapse);
|
}
|
}).error(function () {
|
Tips('layui-icon layui-icon-face-surprised', '获取数据的时候出错了!', elem);
|
return;
|
});
|
}
|
getCountNum(true);//刷新角标数字
|
} catch (e) {
|
Tips('layui-icon layui-icon-face-surprised', '数据处理异常!', elem);
|
return;
|
}
|
}
|
//加载角标数字总数
|
var getCountNum=function (isAsync) {
|
$.ajaxSettings.async=isAsync;//是否异步处理
|
$.post('/webmenu.do?m=msgNumV2',function (data) {
|
if (data != null && data.count != null && data.count > 0) {
|
let list = data.list;
|
let t;
|
let tab = $(".tab1ul li");
|
for (let i = 0; i < list.length; i++) {
|
let color="layui-bg-blue";
|
switch (list[i].ActionType) {
|
case '审核':
|
t = tab.eq(0);
|
color="";
|
break;
|
case '在线交流':
|
t = tab.eq(2);
|
break;
|
case '通知':
|
t = tab.eq(3);
|
break
|
case '抄送我的':
|
t = tab.eq(4);
|
break
|
}
|
t.find("span").remove();
|
if (list[i].ActionCount == 0) {
|
continue;
|
}
|
t.append("<span class=\"layui-badge "+color+"\">" + list[i].ActionCount + "</span>");
|
}
|
}
|
})
|
}
|
var getHtml = function (res, id, elem, label, refresh, collapse) {
|
var html = "";
|
let counts=[];
|
let htttt=function(val){
|
let html = '';
|
html += '<div class="itemv2">';
|
html += '<div><img src="' + val.largImagePath + '"/></div>';
|
html += '<ul>';
|
html += '<li>' + val.topicText + '</li>';
|
html += '<li>' + (val.DocStatusName != null && val.DocStatusName != "" ? val.DocStatusName + ':' : '单据状态:')
|
+ ((val.CurcheckerName != null && val.CurcheckerName != "") ? val.CurcheckerName : '') + '</li>';
|
html += '<li>[' + ((val.DocType != null && val.DocType != "") ? val.DocType + " / " : "") + (val.EnterName != null ? val.EnterName : "") + '提交]';
|
html += '<span style="float: right;">' + val.inserttime + '</span></li>';
|
html += '</ul>';
|
html += '</div>';
|
return html;
|
}
|
if (res.length > 0) {
|
let num=0;//角标数
|
switch (data.m) {
|
case 'msgbyType':
|
for (var i in res) {
|
var t = (res[i].key != null && res[i].key != "" ? res[i].key : "其他");
|
html += '<div class="layui-colla-item">';
|
html += '<h3 class="layui-colla-title" style="height:25px;line-height:25px;">' + t + '</h3>';
|
html += '<div class="layui-colla-content layui-show">';//' + (i == nowback ? "layui-show" : (nowback == t ? "layui-show" : "")) + '">';
|
for (var j in res[i].value) {
|
var val = res[i].value[j];
|
html += '<div class="item" title="' + val.FormName + '" data-formid="' + val.FormId + '" data-type="' + t + '">';
|
html += '<span class="layui-badge '+itemColor+'">' + val.FormIdCount + '</span>';
|
html += '<img src="' + val.largImagePath + '" /><br><span class="formName">'
|
+ (val.FormName.length > 5 ? val.FormName.substring(0, 5) + "..." : val.FormName) + '</span>';
|
html += '</div>';
|
num+=val.FormIdCount;
|
}
|
html += '</div></div>';
|
}
|
break;
|
case 'msgv2':
|
case 'msgTime':
|
for (var v in res) {
|
html += '<div class="layui-colla-item">';
|
html += '<h3 class="layui-colla-title" style="height:25px;line-height:25px;">' + (res[v].key != null && res[v].key != "" ? res[v].key : "其他") + '</h3>';
|
html += '<div id="pii'+v+'" class="layui-colla-content collapse-height layui-show">';//' + (v == 0 ? "layui-show" : "") + '">';
|
for (let j in res[v].value) {
|
let val = res[v].value[j];
|
html+=htttt(val);
|
}
|
html += '</div><div id="pageC'+v+'" data-it="pii'+v+'" class="pageCont" style="padding: 0px 14px;"></div></div>';
|
counts['pageC'+v]=res[v].value;
|
}
|
break;
|
default:
|
html = Tips('layui-icon layui-icon-face-surprised', '切换排序类型时候出错了!');
|
break;
|
}
|
if (Subscript != null) {
|
if(data.m=="msgbyType"){
|
$(Subscript).find("span").remove();
|
}
|
if (num != 0) {
|
$(Subscript).append("<span class=\"layui-badge " + itemColor + "\" style='margin-top: 13px'>" + num + "</span>");
|
}
|
}
|
} else {
|
html = Tips('layui-icon layui-icon-face-surprised', '没有需要办理的事宜');
|
}
|
$(collapse).html(html);
|
element.render('collapse', id + '-' + elem.index);
|
$(collapse).find(".pageCont").each(function () {
|
let pii = $(this).data("it");
|
let data = counts[this.id];
|
if (data != null && data.length > 5) {
|
laypage.render({
|
elem: this
|
, limit: 5
|
, count: data.length //数据总数
|
, jump: function (obj,first) {
|
//模拟渲染
|
$(collapse).find("#" + pii)[0].innerHTML = function () {
|
// document.getElementById(pii).innerHTML = function(){
|
let html = ''
|
, thisData = data.concat().splice(obj.curr * obj.limit - obj.limit, obj.limit);
|
layui.each(thisData, function (index, item) {
|
html += htttt(item);
|
});
|
return html;
|
}();
|
}
|
});
|
}
|
})
|
//刷新和返回便签。
|
$(refresh).html((label != undefined ? label : "") + '<a href="#" data-formid="' + data.formid + '">刷新</a>');
|
var ref = '';
|
if (id == 'tab2') {
|
ref = 'refresh0';
|
} else if (id == 'tab3') {
|
ref = 'refresh1';
|
} else if (id == 'tab4') {
|
ref = 'refresh2';
|
} else if (id == 'tab5') {
|
ref = 'refresh3';
|
} else if (id == 'tab6') {
|
ref = 'refresh4';
|
}else {
|
ref = 'refresh' + elem.index;
|
}
|
element.render('breadcrumb', ref);
|
$('.item').on('click', function () {
|
nowback = $(this).data('type');
|
data.formid = $(this).data('formid');
|
data.m = 'msgv2';
|
data.num = Math.ceil(Number($(this).find('.layui-badge').html()) / 20);
|
active(elem, '<a href="#" data-formid="0">返回</a>');
|
});
|
$('.refresh a').on('click', function () {
|
data.formid = $(this).data('formid');
|
if (data.formid == 0) {
|
data.num = 1;
|
data.m = sort;
|
active(elem);
|
} else {
|
active(elem, '<a href="#" data-formid="0">返回</a>');
|
}
|
});
|
nowelem = elem;
|
}
|
var FFF = function (array, key) {
|
for (var a in array) {
|
var jsonValue = array[a].key;//JSON.parse(array[a]);
|
if (jsonValue == key) {
|
return parseInt(a);
|
}
|
}
|
return -1;
|
}
|
var sorct = function (sor) {
|
var z = sor;
|
switch (sor) {
|
case '今天':
|
z = 'a';
|
break
|
case '昨天':
|
z = 'b';
|
break
|
case '星期一':
|
z = 'c';
|
break
|
case '星期二':
|
z = 'd';
|
break
|
case '星期三':
|
z = 'e';
|
break
|
case '星期四':
|
z = 'f';
|
break
|
case '星期五':
|
z = 'g';
|
break
|
case '星期六':
|
z = 'h';
|
break
|
case '星期日':
|
z = 'i';
|
break
|
case '上周':
|
z = 'j';
|
break
|
case '更早':
|
z = 'k';
|
break
|
}
|
return z;
|
}
|
//搜索
|
var search = function () {
|
data.searchKey = $('#demoReload').val();
|
if (data.searchKey==""){
|
layer.alert("请输入关键词搜索");
|
return;
|
}
|
var exist = $("li[lay-id='other']").length; //判断是否存在tab
|
if (exist == 0) {
|
//新增一个Tab项
|
element.tabAdd('tab1', {
|
title: '<img src="/FangYuanAdmin/myImages/png/0187.png" class="layui-nav-img"/>搜索结果<i class="layui-icon layui-unselect layui-tab-close">ဆ</i>'//标题
|
, content: '<div class="layui-collapse" lay-filter="tab7"></div>'//内容 lay-accordion添加是手提琴模式
|
, id: '6' //lay-id
|
});
|
//关闭
|
$('.layui-tab-close').on('click', function () {
|
element.tabDelete('tab1', '6');
|
element.tabChange('tab1', '1');
|
});
|
}
|
element.tabChange('tab1', '6');
|
}
|
//提示模板
|
var Tips = function (c, m, collapse) {
|
var text = '<div class="mask"><i class="' + c + '"></i><span>' + m + '</span></div>';
|
if (collapse != undefined) {
|
$(collapse).html(text);
|
} else {
|
return text;
|
}
|
}
|
//跳转界面
|
postT219001 = function (s1, s2, s3, s4, s5) {
|
parent.addTab(s1, s2, s3, s4, s5);
|
setTimeout(function () {
|
getCountNum(false);//刷新角标
|
if (Subscript != null) {
|
let num = $(Subscript).find("span").text();
|
if (num != null && num > 0) {
|
if (num == 1) {
|
$(Subscript).find("span").remove();
|
} else {
|
$(Subscript).find("span").text(num - 1);
|
}
|
}
|
}
|
}, 1000)
|
}
|
//加载完后切换到对应类型。
|
element.tabChange('tab1', '1');
|
});
|
})
|