var growHeightCount = 0; //保存初始化growHigh总数
var itemCount = 0; //保存每块需要初始化growHeight总数
var initCount = 0; //统计已经初始化growHigh总数
var initGrowHeightStatus = false; //初始化growHigh完成状态
//遮罩层样式
var zzc = '
加载中...
';
$(function () {
//需要显示加载中,把该注释去掉
//$(jqContainerDiv).before(zzc);
//去除注释,防止检查出错误内容
var temp = removerComment($(jqContentTemp).html());
itemCount = temp.match(/initGrowHigh/g).length;
if (window.initFloatMenu) {
initFloatMenu()
}
search(1);
})
//设置加载总数
function setDataCount() {
var r = Math.floor($(jqContainerDiv).height() / $(jqContentTemp).height());
var c = Math.floor($(jqContainerDiv).width() / $(jqContentTemp).width());
var dataCount = r * c;
console.log("加载总数:" + dataCount);
$("#rowCountPerPages").val(dataCount);
}
/**
* 移除注释
* @param {Object} html
*/
function removerComment(html) {
//匹配注释代码
var reg = /("([^\\\"]*(\\.)?)*")|('([^\\\']*(\\.)?)*')|(\/{2,}.*?(\r|\n|$))|(\/\*(\n|.)*?\*\/)/g;
return html.replace(reg, function (word) {
// 去除注释后的文本
return /^\/{2,}/.test(word) || /^\/\*/.test(word) ? "" : word;
});
}
//显示加载中
function loading(dataCount) {
initGrowHeightStatus = false;
$("#zzcLoad").show();
growHeightCount = dataCount * itemCount;
initCount = 0;
}
/**
* 加载结束
*/
function loaded() {
if (initGrowHeightStatus == false) {
$("#zzcLoad").hide();
}
initGrowHeightStatus = true;
}
/**
* 初始化growHigh
* @param {Object} areaId
* @param {Object} maxHeight
* @param {Object} buttons
* @param {Object} multimedia
*/
function initGrowHigh(areaId, maxHeight, buttons, multimedia) {
setTimeout(() => {
delete growHeightList[areaId];
wd.display.initGrowHigh(areaId, maxHeight, buttons);
initGrowHeightResult();
}, 0)
}
/**
* 初始化结果,完成就执行显示
*/
function initGrowHeightResult() {
initCount = initCount + 1;
if (growHeightCount <= initCount) {
loaded();
}
}
function search(isClickSerch) {
setDataCount();
$("#float_menu").hide();
if (isClickSerch == 1) {
$("input[name=currentPageNo]").val(1);
}
$.ajax({
type: "post",
url: searchUrl,
data: $("#form").serialize(),
dataType: "json",
success: function (result) {
var page = result.wdPage;
setPage(page);
$(jqContainerDiv).empty();
var data = result[dataName];
var html = loadHtml(data);
//提高效果,先隐藏,等初始化完growHeight
loading(data.length);
$(jqContainerDiv).append(html);
setTimeout(() => {
//三秒后,不管growHigh初始化完不完成都显示
loaded();
}, 3000);
addCheck();
}
});
}
function addCheck() {
var all = $(".sideList");
for (var i = 0; i < all.length; i++) {
var id = $(all[i]).attr(objId);
var findItem = $(jqContainerDiv).find("div[" + objId + "='" + id + "']");
if (findItem) {
var xzzt = findItem.find(".xzzt");
xzzt.removeClass(uncheck).addClass(check);
}
}
}
function setPage(page) {
if (page) {
$("span.totalNumber").text("共 " + page.rowNum + " 条"); // + page.rowCount +。Lin
$("span.prevNumber").text(page.pageNo); // (page.currentPageNo)。Lin
var totalPageNumber = 0; //总页数
if (page.rowNum / page.rowNumPer > Number.parseInt(page.rowNum / page.rowNumPer)) { // (page.rowCount / page.rowCountPerPage))。Lin
totalPageNumber = Number.parseInt(page.rowNum / page.rowNumPer) + 1; // (page.rowCount / page.rowCountPerPage)。Lin
} else {
totalPageNumber = Number.parseInt(page.rowNum / page.rowNumPer); // (page.rowCount / page.rowCountPerPage)。Lin
}
$("span.nextNumber").text(totalPageNumber);
$("input[name=totalPageNo]").val(totalPageNumber);
}
}
function prev() {
$("#float_menu").hide();
var currentPageNoObj = $("input[name=pageNo]"); // [name=currentPageNo]。Lin
if (currentPageNoObj.val()) {
var currentPageNo = Number.parseInt(currentPageNoObj.val());
if (currentPageNo == 1) {
//第一页
currentPageNoObj.val(1);
} else {
//上一页
currentPageNoObj.val(currentPageNo - 1);
search();
}
} else {
currentPageNoObj.val(1);
}
}
function next() {
$("#float_menu").hide();
var totalPageNo = Number.parseInt($("input[name=totalPageNo]").val());
var currentPageNoObj = $("input[name=pageNo]"); // [name=currentPageNo]。Lin
if (currentPageNoObj.val()) {
var currentPageNo = Number.parseInt(currentPageNoObj.val());
if (currentPageNo < totalPageNo) {
//下一页
currentPageNoObj.val(currentPageNo + 1);
search();
} else {
//最后一页
currentPageNoObj.val(totalPageNo);
}
}
}
function replaceHtml(html, json) {
var re = /@\{[\w.]*}@/g; // = /#\{[\w\.]*\}/g。Lin
var all = html.match(re);
if (!all) // 增加,避免抛出错误。Lin
return html;
for (var i = 0; i < all.length; i++) {
var item = all[i];
var value = getValue(item, json);
var re = new RegExp(item, "g");
html = html.replace(re, value);
}
return html;
}
function getValue(item, json) {
/* 改,取不到 "xxx" -- 原为 "#{title}",改为 "@{title}@"。Lin
var key = item.substring(2, item.length - 1);
*/ var key = item.substring(2, item.length -2);
var val = json[key];
if (val == undefined || val == null) {
val = "";
var tJson = json;
if (key.indexOf(".") > -1) {
var keys = key.split(".");
for (var $i = 0; $i < keys.length; $i++) {
var $key = keys[$i];
if ($i == keys.length - 1) {
val = tJson[$key];
}
tJson = tJson[$key];
if (!tJson) {
break;
}
}
}
}
if (val == undefined || val == null) {
return "";
}
return val;
}
function loadHtml(data) {
var html = "";
if (data) {
for (var i = 0; i < data.length; i++) {
var item = data[i];
item["index"] = i;
item["init"] = "true";
converValue(item);
var liHtml = $(jqContentTemp).html();
html += replaceHtml(liHtml, item);
}
}
return html;
}
function loadImge(item, data) {
if (data && window.loadImage) {
return loadImage + encodeURIComponent(data);
} else {
return errorImage;
}
}
function converValue(data) {
if (!window.converMap) {
converMap = {}
}
converMap["sltwj"] = {
repName: "sltwj",
format: loadImge
}
converMap["zjzwj"] = {
repName: "zjzwj",
format: loadImge
}
for (var key in converMap) {
var value = data[key];
var keyItem = converMap[key];
var repName = keyItem["repName"];
if (repName) {
//方法转换
var converValue = keyItem["format"](data, value);
data[repName] = converValue;
} else {
//固定值转换
var converItem = keyItem[value];
for (var itemKey in converItem) {
data[itemKey] = converItem[itemKey];
}
}
}
}