/*eslint eqeqeq: ["error", "smart"]*/
DONOTUSE_TABLAYID = undefined;
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (prefix) {
return this.slice(0, prefix.length) === prefix;
};
}
if (typeof Array.prototype.removeByID != 'function') {
Array.prototype.removeByID = function (val) {
var index = -1;
for (var i = 0; i < this.length; i++) {
if (this[i].ID == val.ID) {
index = i;
break;
}
}
if (index > -1) {
this.splice(index, 1);
}
};
}
window.ff = {
DONOTUSE_Text_LoadFailed: "",
DONOTUSE_Text_SubmitFailed: "",
DONOTUSE_Text_PleaseSelect: "",
DONOTUSE_Text_FailedLoadData: "",
SetCookie: function (name, value, allwindow) {
try {
var cookiePrefix = '', windowGuid = '';
if ("undefined" !== typeof DONOTUSE_COOKIEPRE) {
cookiePrefix = DONOTUSE_COOKIEPRE;
}
if ("undefined" !== typeof DONOTUSE_WINDOWGUID) {
windowGuid = DONOTUSE_WINDOWGUID;
}
if (allwindow) {
$.cookie(cookiePrefix + name, value);
}
else {
$.cookie(cookiePrefix + windowGuid + name, value);
}
}
catch (e) { }
},
GetCookie: function (name, allwindow) {
try {
var cookiePrefix = '', windowGuid = '';
if ("undefined" !== typeof DONOTUSE_COOKIEPRE) {
cookiePrefix = DONOTUSE_COOKIEPRE;
}
if ("undefined" !== typeof DONOTUSE_WINDOWGUID) {
windowGuid = DONOTUSE_WINDOWGUID;
}
if (allwindow) {
return $.cookie(cookiePrefix + name);
}
else {
return $.cookie(cookiePrefix + windowGuid + name);
}
}
catch (e) { }
},
GetSelections: function (gridId) {
var checkStatus = layui.table.checkStatus(gridId);
var data = checkStatus.data;
var ids = [];
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
ids.push(data[i].ID);
}
}
return ids;
},
GetNonSelections: function (gridId) {
var table = layui.table
, nums = 0
, ids = [] // 未选中id
, data = table.cache[gridId] || [];
//计算未选中个数
layui.each(data, function (i, item) {
if (item.constructor === Array) {
invalidNum++; //无效数据,或已删除的
return;
}
if (!item[table.config.checkName]) {
nums++;
ids.push(item.ID);
}
});
return ids;
},
GetSelectionData: function (gridId) {
return layui.table.checkStatus(gridId).data;
},
GetNonSelectionData: function (gridId) {
var table = layui.table
, nums = 0 // 未选中个数
, invalidNum = 0
, arr = [] // 未选中数据
, data = table.cache[gridId] || [];
//计算未选中个数
layui.each(data, function (i, item) {
if (item.constructor === Array) {
invalidNum++; //无效数据,或已删除的
return;
}
if (!item[table.config.checkName]) {
nums++;
arr.push(table.clearCacheKey(item));
}
});
return arr;
},
GetIsSelectAll: function (gridId) {
return layui.table.checkStatus(gridId).isAll;
},
Alert: function (msg, title) {
var layer = layui.layer;
if (title != undefined) {
layer.alert(msg, { title: title });
}
else {
layer.alert(msg);
}
},
Msg: function (msg, title) {
var layer = layui.layer;
if (title != undefined) {
layer.msg(msg, { title: title });
}
else {
layer.msg(msg);
}
},
LoadPage: function (url, newwindow, title, para) {
this.SetCookie("windowids", null);
var layer = layui.layer;
var index = layer.load(2);
url = decodeURIComponent(url);
furl = url;
var re = /(\/_framework\/outside\?url=)(.*?)$/ig;
url = url.replace(re, function (match, p1, p2) {
return p1 + encodeURIComponent(p2);
});
if (newwindow === true || para !== undefined) {
var getpost = "GET";
if (para !== undefined) {
getpost = "Post";
}
$.ajax({
type: getpost,
url: url,
data: para,
success: function (data, textStatus, request) {
if (request.getResponseHeader('IsScript') === 'true') {
eval(data);
}
else {
data = '
";
var child = window.open("/Home/PIndex#/_framework/redirect");
child.document.close();
$(child.document).ready(function () {
setTimeout(function () {
$('#LAY_app_body', child.document).html(data);
$(child.document).attr("title", title);
}, 500);
});
}
layer.close(index);
},
error: function (a, b, c) {
layer.close(index);
if (a.responseText !== undefined && a.responseText !== "") {
layer.alert(a.responseText);
}
else {
layer.alert(ff.DONOTUSE_Text_LoadFailed);
}
}
});
}
else {
layer.close(index);
location.hash = url;
}
},
LoadPage1: function (url, where) {
url = url.toLowerCase();
if (url.indexOf("http://") === 0 || url.indexOf("https://") === 0) {
$('#' + where).html("");
$('#' + where).css("overflow-y", "auto");
}
else {
var layer = layui.layer, index = layer.load(2);
$.ajax({
url: decodeURIComponent(url),
type: 'GET',
success: function (data) {
$('#' + where).html(data);
$('#' + where).css("overflow-y", "scroll");
layer.close(index);
},
error: function (xhr, status, error) {
layer.close(index);
layer.alert(ff.DONOTUSE_Text_LoadFailed);
},
complete: function () {
ff.SetCookie("windowids", null);
}
});
}
},
GetPostData: function (formId) {
var richtextbox = $("#" + formId + " textarea");
for (var i = 0; i < richtextbox.length; i++) {
var ra = richtextbox[i].attributes['layeditindex'];
if (ra !== undefined && ra != null) {
var rindex = ra.value;
layui.layedit.sync(rindex);
}
}
var combobox = $('#' + formId + ' :checkbox');
var datastr = $('#' + formId).serialize();
var checkboxes = $('#' + formId + ' :checkbox');
for (i = 0; i < checkboxes.length; i++) {
var ck = checkboxes[i];
if (ck.checked === false && (ck.value === 'true' || ck.value === 'false')) {
datastr += "&" + ck.name + "=false";
}
}
return datastr;
},
RenderForm: function (formId) {
var comboxs = $(".layui-form[lay-filter=" + formId + "] div[wtm-ctype='combo']");
layui.use(['form'], function () {
var form = layui.form.render(null, formId);
});
},
PostForm: function (url, formId, divid, searchervm) {
var layer = layui.layer;
var index = layer.load(2);
if (url === undefined || url === "") {
url = $("#" + formId).attr("action");
}
var d = null;
if (searchervm !== undefined && searchervm !== null && searchervm !== "") {
d = ff.GetSearchFormData(formId, searchervm);
}
else {
d = ff.GetFormData(formId)
}
$.ajax({
cache: false,
type: "POST",
url: url,
data: d,
async: true,
error: function (request) {
layer.close(index);
alert(ff.DONOTUSE_Text_SubmitFailed);
},
success: function (data, textStatus, request) {
if (request.getResponseHeader('IsScript') === 'true') {
eval(data);
}
else {
var inlayer = $("#" + formId).parents(".layui-layer-content");
if (inlayer !== undefined && inlayer.length > 0) {
data = "" + data + "
";
} else {
data = "" + data + "
";
}
$("#" + divid).parent().html(data);
}
layer.close(index);
}
});
},
BgRequest: function (url, para, divid) {
var layer = layui.layer;
var index = layer.load(2);
var getpost = "GET";
if (para !== undefined) {
getpost = "Post";
}
$.ajax({
cache: false,
type: getpost,
url: url,
data: para,
async: true,
error: function (request) {
layer.close(index);
if (request.responseText !== undefined && request.responseText !== "") {
layer.alert(request.responseText);
}
else {
layer.alert(ff.DONOTUSE_Text_LoadFailed);
}
},
success: function (str, textStatus, request) {
layer.close(index);
if (request.getResponseHeader('IsScript') === 'true') {
eval(str);
}
else {
data = "" + str + "
";
var p = $("#" + divid).parent();
p.html(data);
}
}
});
},
OpenDialog: function (url, windowid, title, width, height, para, maxed) {
var layer = layui.layer;
var index = layer.load(2);
var wid = this.GetCookie("windowids");
var owid = wid;
if (wid === null || wid === '') {
wid = windowid;
}
else {
wid += "," + windowid;
}
this.SetCookie("windowids", wid);
if ("undefined" !== typeof DONOTUSE_WINDOWGUID) {
this.SetCookie("windowguid", DONOTUSE_WINDOWGUID, true);
}
var getpost = "GET";
if (para !== undefined) {
getpost = "Post";
}
$.ajax({
cache: false,
type: getpost,
url: url,
data: para,
async: true,
error: function (xhr) {
layer.close(index);
let location = xhr.getResponseHeader("Location");
if (location) {
window.location = location;
return false;
}
ff.SetCookie("windowids", owid);
if (xhr.responseText !== undefined && xhr.responseText !== "") {
layer.alert(xhr.responseText);
}
else {
layer.alert(ff.DONOTUSE_Text_LoadFailed);
}
},
success: function (str, textStatus, request) {
layer.close(index);
max = true;
if (request.getResponseHeader('IsScript') === 'true') {
ff.SetCookie("windowids", owid);
eval(str);
}
else {
str = "" + str + "
";
var area = 'auto';
if (width > document.body.clientWidth) {
max = false;
maxed = true;
}
if (width !== undefined && width !== null && height !== undefined && height !== null) {
area = [width + 'px', height + 'px'];
}
if (width !== undefined && width !== null && (height === undefined || height === null)) {
area = width + 'px';
}
if (title === undefined || title === null || title === '') {
title = false;
max = false;
}
var oid = layer.open({
type: 1
, title: title
, area: area
, maxmin: max
, shade: 0.8
, btn: []
, id: windowid //设定一个id,防止重复弹出
, content: str
//, success: function (layero, index) {
// if (height == undefined || height == null || height == '' || max == false){
// document.getElementById('layui-layer' + index).getElementsByClassName('layui-layer-content')[0].style.overflow = 'unset';
// }
//}
, resizing: function (layero) {
ff.triggerResize();
$(layero).find("div[ischart = '1']").each(
function (index) {
eval($(this).attr('id') + 'Chart.resize();');
}
);
}
, full: function (layero) {
ff.triggerResize();
$(layero).find("div[ischart = '1']").each(
function (index) {
eval($(this).attr('id') + 'Chart.resize();');
}
);
}
, restore : function (layero) {
ff.triggerResize();
$(layero).find("div[ischart = '1']").each(
function (index) {
eval($(this).attr('id') + 'Chart.resize();');
}
);
}
, end: function () {
if (ff.GetCookie("windowids") === wid) {
ff.SetCookie("windowids", owid);
}
}
});
if (maxed === true) {
layer.full(oid);
ff.triggerResize();
}
}
}
});
},
OpenDialog2: function (url, windowid, title, width, height, tempId, para) {
var layer = layui.layer;
var index = layer.load(2);
var wid = this.GetCookie("windowids");
var owid = wid;
if (wid === null || wid === '') {
wid = windowid;
}
else {
wid += "," + windowid;
}
this.SetCookie("windowids", wid);
this.SetCookie("windowguid", DONOTUSE_WINDOWGUID, true);
var getpost = "GET";
if (para !== undefined) {
getpost = "Post";
}
$.ajax({
cache: false,
type: getpost,
url: url,
data: para,
async: true,
error: function (request) {
layer.close(index);
ff.SetCookie("windowids", owid);
if (request.responseText !== undefined && request.responseText !== "") {
layer.alert(request.responseText);
}
else {
layer.alert(ff.DONOTUSE_Text_LoadFailed);
}
},
success: function (str) {
var regGridId = /<\s{0,}table\s+.*\s+id\s{0,}=\s{0,}"(.*)"\s+lay-filter="\1"\s{0,}.*?>\s{0,}<\s{0,}\/\s{0,}table\s{0,}>/im;
var regGridVar = /wtVar_(.*)\s{0,}=\s{0,}table.render\([a-zA-Z0-9_]{1,}option\)/im;
if ($(tempId).length > 0 && regGridId.test(str) && regGridVar.test(str)) {
// 获取gridId
var gridId = regGridId.exec(str)[1];
var gridVar = 'wtVar_' + regGridVar.exec(str)[1];
var template = $(tempId)[0].innerHTML;
template = template.replace(/[$]{2}script[$]{2}/img, "");
//get old gridid
try {
var oldgridid = /table[.]reload\('(.*)',\s{0,}{/img.exec(template)[1];
//替换gridId
template = template.replace(new RegExp(oldgridid, "gim"), gridId);
}
catch (e) { }
str = str.replace('$$SearchPanel$$', template);
}
layer.close(index);
var area = 'auto';
if (width !== undefined && width !== null && height !== undefined && height !== null) {
area = [width + 'px', height + 'px'];
}
if (width !== undefined && width !== null && (height === undefined || height === null)) {
area = width + 'px';
}
var max = true;
if (title === undefined || title === null || title === '') {
title = false;
max = false;
}
if (width > document.body.clientWidth) {
max = false;
}
var oid = layer.open({
type: 1
, title: title
, area: area
, maxmin: max
, btn: []
, shade: 0.8
, id: windowid //设定一个id,防止重复弹出
, content: str
, end: function () {
ff.SetCookie("windowids", owid);
}
});
if (width > document.body.clientWidth) {
layer.full(oid);
}
}
});
},
CloseDialog: function () {
var layer = layui.layer;
var wid = this.GetCookie("windowids");
if (wid !== null && wid !== '') {
var wids = wid.split(",");
var windowid = wids.pop();
var index = $('#' + windowid).parent('.layui-layer').attr("times");
layer.close(index);
this.SetCookie("windowids", wids.join());
}
else {
if (layui.setter == undefined || layui.setter.pageTabs == undefined) {
window.close();
}
else if (layui.setter.pageTabs === false || $('.layadmin-tabsbody-item').length === 0) {
$('#LAY_app_body').html('');
}
else {
layui.admin.closeThisTabs();
}
}
},
ResizeChart: function (id) {
if (layui == undefined ) {
return;
}
if (id === undefined || id === null || id === '') {
layui.use(['admin'], function () {
layui.admin.resize(function () {
{
$("div[ischart = '1']").each(
function (index) {
eval($(this).attr('id') + 'Chart.resize();');
}
);
}
});
}
);
}
else {
layui.use(['admin'], function () {
layui.admin.resize(function () {
{
$("#"+id).find("div[ischart = '1']").each(
function (index) {
eval($(this).attr('id') + 'Chart.resize();');
}
);
}
});
}
);
}
},
ChainChange: function (url, self) {
var form = layui.form;
var linkto = self.attributes["wtm-linkto"];
if (linkto == undefined) {
return;
}
var formid = self.closest("form").id
var target = $('#' + formid).find('#' + linkto.value);
if (target.length == 0) {
return;
}
var controltype = target.attr("wtm-ctype");
var targetfilter = target.attr("lay-filter");
var targetname = target.attr("wtm-name");
var ismulticombo = target.attr("wtm-combo") != undefined;
var targetid = target.attr("id");
var comboid = targetid;
if (controltype == undefined) {
controltype = "";
}
if (targetfilter == undefined) {
targetfilter = "";
}
targetfilter += "div";
//clear
switch (controltype) {
case "combo":
window[comboid].update({ data: [] });
break;
case "checkbox":
target.html('');
form.render('checkbox', targetfilter);
break;
case "radio":
target.html('');
form.render('radio', targetfilter);
break;
case "tree":
window[comboid].update({ data: [] });
break;
case "transfer":
layui.transfer.reload(targetid, {
data: []
});
default:
}
if (url != "") {
$.get(url, {}, function (data, status) {
if (status === "success") {
var i = 0;
var item = null;
if (controltype === "tree") {
window[comboid].update({ data: ff.getTreeItems(data.Data) });
}
if (controltype === "transfer") {
layui.transfer.reload(targetid, {
data: ff.getTransferItems(data.Data)
});
}
if (controltype === "combo") {
window[comboid].update({ data: ff.getComboItems(data.Data) });
}
if (controltype === "checkbox") {
for (i = 0; i < data.Data.length; i++) {
item = data.Data[i];
if (item.Selected === true) {
target.append("");
}
else {
target.append("");
}
}
form.render('checkbox', targetfilter);
}
if (controltype === "radio") {
for (i = 0; i < data.Data.length; i++) {
item = data.Data[i];
if (item.Selected === true) {
target.append("");
}
else {
target.append("");
}
}
form.render('radio', targetfilter);
}
}
else {
layer.alert(ff.DONOTUSE_Text_FailedLoadData);
}
});
}
ff.ChainChange("", target[0], "");
},
LoadComboItems: function (controltype,url, controlid, targetname,svals, cb) {
var target = $("#" + controlid);
var targetfilter = target.attr("lay-filter");
var ismulticombo = target.attr("wtm-combo") != undefined;
if (svals == undefined || svals == null) {
svals = [];
}
$.get(url, {}, function (data, status) {
if (status === "success") {
var i = 0;
var item = null;
if (controltype === "tree") {
var da = ff.getTreeItems(data.Data, svals);
window[controlid].update({ data: da });
if (cb !== undefined && cb != null) {
cb();
}
}
if (controltype == "transfer") {
layui.transfer.reload(controlid, {
data: ff.getTransferItems(data.Data, svals)
});
}
if (controltype === "combo") {
var da = ff.getComboItems(data.Data, svals);
window[controlid].update({ data: da });
}
if (controltype === "checkbox") {
for (i = 0; i < data.Data.length; i++) {
item = data.Data[i];
if (item.Selected === true || svals.indexOf(item.Value) > -1) {
target.append("");
}
else {
target.append("");
}
}
layui.form.render('checkbox', targetfilter + "div");
}
if (controltype === "radio") {
for (i = 0; i < data.Data.length; i++) {
item = data.Data[i];
if (item.Selected === true || svals.indexOf(item.Value) > -1) {
target.append("");
}
else {
target.append("");
}
}
layui.form.render('radio', targetfilter + "div");
}
}
else {
layer.alert(ff.DONOTUSE_Text_FailedLoadData);
}
});
},
GetFormArray: function (formId) {
var searchForm = $('#' + formId), filter = [], fieldElem = searchForm.find('input,select,textarea');
layui.each(fieldElem, function (_, item) {
if (!item.name) return;
if (/^checkbox|radio$/.test(item.type) && !item.checked) return;
if (item.value !== null && item.value !== "")
filter.push({ name: item.name, value: item.value });
});
return filter;
},
GetFormData: function (formId) {
var richtextbox = $("#" + formId + " textarea");
for (var i = 0; i < richtextbox.length; i++) {
var ra = richtextbox[i].attributes['layeditindex'];
if (ra !== undefined && ra != null) {
var rindex = ra.value;
layui.layedit.sync(rindex);
}
}
var searchForm = $('#' + formId), filter = {}, filterback = {}, fieldElem = searchForm.find('input,select,textarea');
var tables = $('#' + formId + ' table[id]');
for (var i = 0; i < tables.length; i++) {
var tableid = tables[i].id;
var loaddata = layui.table.cache[tableid];
if (loaddata == undefined || loaddata.length == 0) {
var subpro = tables[i].attributes["subpro"].value;
if (subpro != undefined && subpro != "") {
filter[subpro + ".length"] = "0";
}
}
}
var xselect = searchForm.find("div[wtm-ctype='tree'],div[wtm-ctype='combo']");
layui.each(xselect, function (_, item) {
var val = window[item.id].getValue('value');
if (val.length > 1) {
fieldElem = fieldElem.filter(function (index) {
return this.name != item.attributes["wtm-name"].value;
})
$.each(val, function (i, v) {
fieldElem.push({ name: item.attributes["wtm-name"].value, value: v });
});
}
});
var check = {};
layui.each(fieldElem, function (_, item) {
if (!item.name) return;
if (/^checkbox$/.test(item.type) && !item.checked) {
if (item.value === "true") {
filter[item.name] = false;
}
return;
}
if (/^radio$/.test(item.type) && !item.checked) {
return;
}
var itemname = item.name;
if (/_DONOTUSE_(.*?)\[(\d?)\]\.(.*?)$/.test(itemname)) {
var name1 = RegExp.$1;
var number = RegExp.$2;
var name2 = RegExp.$3;
if (filterback.hasOwnProperty(name1) == false && filter.hasOwnProperty(name1 + "[" + number + "]." + name2) == false) {
filterback[name1] = 1;
}
return;
}
if (/_DONOTUSE_(.*?)$/.test(itemname)) {
var name1 = RegExp.$1;
if (filterback.hasOwnProperty(name1) == false && filter.hasOwnProperty(name1) == false) {
filterback[name1] = 1;
}
return;
}
var issub = false;
if (/(.*?)\[(\-?\d?)\]\.(.*?)$/.test(itemname)) {
var name1 = RegExp.$1;
var number = RegExp.$2;
var name2 = RegExp.$3;
if (number == "-1") {
var checkname = itemname;
if (check.hasOwnProperty(checkname) == false) {
check[checkname] = 0;
}
if (filterback.hasOwnProperty(name1) == true) {
filterback[name1] = undefined;
}
if (filterback.hasOwnProperty(itemname) == true) {
filterback[itemname] = undefined;
}
var newname = itemname;
newname = name1 + "[" + check[checkname] + "]." + name2;
filter[newname] = item.value;
check[checkname] = check[checkname] + 1;
issub = true;
}
}
if (issub == false) {
if (filter.hasOwnProperty(itemname)) {
var temp = filter[itemname];
if (!(temp instanceof Array))
temp = [temp];
temp.push(item.value);
filter[itemname] = temp;
}
else {
filter[itemname] = item.value;
if (filterback.hasOwnProperty(itemname) == true && item.value != "") {
filterback[itemname] = undefined;
}
}
}
});
for (item in filterback) {
if (filterback[item] !== undefined) {
filter[item] = undefined;
filter[item + ".length"] = "0";
}
}
return filter;
},
GetSearchFormData: function (formId, listvm) {
var data = ff.GetFormData(formId);
for (var attr in data) {
if (attr.startsWith(listvm + ".")) {
data[attr.replace(listvm + ".", "")] = data[attr];
delete data[attr];
}
}
return data;
},
DownloadExcelOrPdf: function (url, formId, defaultcondition, ids) {
var formData = ff.GetSearchFormData(formId);
if (defaultcondition == null) {
defaultcondition = {};
}
var tempwhere = {};
$.extend(tempwhere, defaultcondition);
$.extend(tempwhere, formData);
var form = $('