| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- var growHeightCount = 0; //保存初始化growHigh总数
- var itemCount = 0; //保存每块需要初始化growHeight总数
- var initCount = 0; //统计已经初始化growHigh总数
- var initGrowHeightStatus = false; //初始化growHigh完成状态
- //遮罩层样式
- var zzc = '<div id="zzcLoad" style="height:100%;width:100%;position: absolute;z-index: 9999999999;background: #fff;font-size: 38px;text-align: center;padding-top: 23%;">加载中...</div>';
- $(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];
- }
- }
- }
- }
|