//#region 表头初始化
|
var HSubWindowBackData_forDoubleClickBackData=""; //用于记录当前正在打开的弹窗的对应需要返回的数据
|
var HIsMustElementList = []; //必填元素列表
|
var buttonClickListenerList = []; //需要打开弹窗的按钮点击事件列表
|
var buttonClickListenerList_transfer = []; //需要打开弹窗的按钮点击事件列表,transfer组件
|
var HEditValueList = []; //存储数据的元素列表
|
|
//#region 表头初始化
|
function init_BillMain(HModName, user,form) {
|
//表头初始化——表头初始化
|
set_InitMain(HModName, user,form);
|
//表头初始化——设置需要打开弹窗的按钮点击事件的事件监听
|
set_buttonClickListener();
|
//表头初始化——设置需要打开弹窗的按钮点击事件的事件监听_transfer
|
set_buttonClickListener_transfer();
|
}
|
//#endregion
|
|
//#region 表头初始化——加载标签元素
|
function set_InitMain(HModName, user,form) {
|
var ajaxLoad = layer.load();
|
$.ajax({
|
url: GetWEBURL() + '/Xt_DefineBillMainSet/getDefineBillMainSet',
|
type: "GET",
|
async: false,
|
data: { "HModName": HModName, "user": user },
|
success: function (data1) {
|
if (data1.count == 1) {
|
var data = data1.data;
|
|
var HPageLabelElementIDList = ["HBaseInfo", "HFileInfo","HOtherInfo"]; //页签元素ID列表
|
var HElementCountByTab = {}; //记录各个页签显示的元素的个数
|
var columnCount = data[0].HRowElementCount; //页签中每行的元素数
|
|
for (var i = 0; i < data.length; i++) {
|
|
//添加必填元素列表
|
if (data[i].HIsMust == true) {
|
var HElement_IsMust = {
|
"HElementID": data[i].HElementID
|
, "HElementLabel": data[i].HElementLabel
|
, "HDefaultValue": data[i].HDefaultValue
|
, "HFieldDataType": data[i].HFieldDataType
|
}
|
HIsMustElementList.push(HElement_IsMust);
|
}
|
|
//添加存储数据的元素列表
|
if (data[i].HArrangeOrder == 3) {
|
HEditValueList.push(data[i]);
|
}
|
|
if (data[i].HElementType == "标题") {
|
var element_level0 = document.getElementById("formElement");
|
var element_level1 = document.createElement('h1');
|
element_level1.id = data[i].HElementID;
|
element_level1.style = "text-align: center; padding: 10px 0;";
|
//element_level1.innerHTML = data[i].HElementLabel;
|
|
var element_level2 = document.createElement('b');
|
element_level2.innerHTML = data[i].HElementLabel;
|
|
element_level1.appendChild(element_level2);
|
|
element_level0.appendChild(element_level1);
|
}
|
else if (data[i].HElementType == "页签") {
|
var element_level0 = document.getElementById("formElement"); //表头内容根容器
|
|
//判断页签标题的父级容器是否存在,不存在则新建
|
var element_level1 = document.getElementById("parentPageListElement"); //页签标题的父级容器
|
if (element_level1 == null) {
|
var element_level1_Temp = document.createElement('ul'); //新建的页签标题的父级容器
|
element_level1_Temp.id = "parentPageListElement";
|
element_level1_Temp.className = "layui-tab-title";
|
element_level1_Temp.setAttribute('lay-filter', 'tab-all');
|
|
element_level0.appendChild(element_level1_Temp); //将新建的页签标题的父级容器添加到表头内容根容器
|
|
element_level1 = document.getElementById("parentPageListElement"); //获取页签标题的父级容器
|
}
|
|
//创建页签标题,并添加到页签标题的父级容器
|
var element_level2 = document.createElement('li'); //页签标题
|
//element_level2.id = data[i].HElementID;
|
element_level2.setAttribute('lay-id', data[i].HElementID);
|
element_level2.style = "padding:1px;";
|
element_level2.innerHTML = data[i].HElementLabel;
|
element_level1.appendChild(element_level2); //将创建页签标题添加到页签标题的父级容器
|
|
//判断页签内容容器的父级容器是否存在,不存在则新建
|
var element_level1_1 = document.getElementById("pageContent");
|
if (element_level1_1 == null) {
|
var element_level1_1_Temp = document.createElement('div'); //新建的页签内容容器的父级容器
|
element_level1_1_Temp.id = "pageContent";
|
element_level1_1_Temp.className = "layui-tab-content";
|
|
element_level0.appendChild(element_level1_1_Temp); //将新建的页签内容容器的父级容器添加到表头内容根容器
|
|
element_level1_1 = document.getElementById("pageContent"); //获取页签内容容器的父级容器
|
}
|
|
//创建页签内容容器,并添加到页签内容容器的父级容器
|
var element_level2_1 = document.createElement('div'); //页签内容容器
|
if (HPageLabelElementIDList.length == 0) {
|
element_level2_1.className = "layui-tab-item layui-show";
|
} else {
|
element_level2_1.className = "layui-tab-item";
|
}
|
|
|
var element_level3 = document.createElement('div'); //页签内容容器中的form元素容器
|
element_level3.className = "layui-form-item";
|
element_level3.style = "padding-top: 10px;";
|
|
var element_level4 = document.createElement('div'); //form元素容器中的行布局元素容器
|
element_level4.id = data[i].HElementID + "_Content";
|
element_level4.className = "layui-row";
|
|
element_level3.appendChild(element_level4); //将form元素容器中的行布局元素容器添加到对应的form元素容器中
|
|
element_level2_1.appendChild(element_level3); //将页签内容容器中的form元素容器添加到页签内容容器
|
|
element_level1_1.appendChild(element_level2_1); //将页签内容容器添加到页签内容容器的父级容器
|
|
|
HPageLabelElementIDList.push(data[i].HElementID); //记录页签元素的ID
|
|
HElementCountByTab[data[i].HElementID] = 0;
|
}
|
else if (data[i].HElementType == "输入文本") {
|
//获取文本元素所在的页签的行布局元素容器
|
var element_level4 = null;
|
if ($.inArray(data[i].HParentElementID, HPageLabelElementIDList) > -1) {
|
element_level4 = document.getElementById(data[i].HParentElementID + "_Content");
|
}
|
|
var element_level5 = document.createElement('div'); //单据号元素的容器
|
element_level5.className = "layui-inline";
|
//判断是否隐藏
|
if (data[i].HIsHide == true) {
|
element_level5.style.display = "none";
|
}
|
|
var element_level6 = document.createElement('label'); //单据号元素的容器中的label元素
|
element_level6.className = "layui-form-label";
|
element_level6.style.width = "85px";
|
element_level6.innerHTML = data[i].HElementLabel;
|
//判断是否必填,是 则 添加 必填标记元素
|
if (data[i].HIsMust == true) {
|
var element_level7 = document.createElement('label'); //label元素中的必填标记元素
|
element_level7.style = "color:red;";
|
element_level7.innerHTML = "*";
|
|
element_level6.appendChild(element_level7);
|
}
|
|
element_level5.appendChild(element_level6); //将单据号元素的容器中的label元素添加到单据号元素的容器
|
|
|
var element_level6_1 = document.createElement('div'); //单据号元素的容器中的文本框元素的容器
|
element_level6_1.className = "layui-input-block";
|
element_level6_1.style = "margin-left: 120px;";
|
|
var element_level7_1 = document.createElement('input'); //文本框元素的容器中的文本框
|
element_level7_1.id = data[i].HElementID;
|
element_level7_1.name = data[i].HElementID;
|
element_level7_1.type = "text";
|
element_level7_1.className = "layui-input";
|
element_level7_1.setAttribute('lay-verify', data[i].HElementID);
|
element_level7_1.value = data[i].HDefaultValue;
|
|
//判断文本数据类型,设置文本框允许输入的数据类型
|
if (data[i].HFieldDataType == "Int32" || data[i].HFieldDataType == "Decimal") {
|
element_level7_1.type = "number";
|
} else if (data[i].HFieldDataType == "text") {
|
element_level7_1.type = "text";
|
}
|
|
//判断是否禁用,是 则 禁止输入
|
if (data[i].HIsDisabled == true) {
|
element_level7_1.readOnly = true;
|
element_level7_1.style = "background-color:#efefef4d;";
|
}
|
|
//判断是否设置最大长度,若设置则另文本框限制文本最大长度
|
if (data[i].HFieldMaxLength != 0) {
|
element_level7_1.maxLength = data[i].HFieldMaxLength;
|
}
|
|
element_level6_1.appendChild(element_level7_1); //将文本框添加到文本框元素的容器中
|
|
element_level5.appendChild(element_level6_1); //将文本框元素的容器添加到单据号元素的容器中
|
|
element_level4.appendChild(element_level5); //将单据号元素的容器添加到行布局元素容器
|
|
if (data[i].HIsHide == false) {
|
HElementCountByTab[data[i].HParentElementID] = HElementCountByTab[data[i].HParentElementID] + 1;
|
if (HElementCountByTab[data[i].HParentElementID] % columnCount == 0) {
|
var element_level5_1 = document.createElement('br'); //换行
|
element_level4.appendChild(element_level5_1);
|
}
|
}
|
}
|
else if (data[i].HElementType == "选择弹窗") {
|
//获取文本元素所在的页签的行布局元素容器
|
var element_level4 = null;
|
if ($.inArray(data[i].HParentElementID, HPageLabelElementIDList) > -1) {
|
element_level4 = document.getElementById(data[i].HParentElementID + "_Content");
|
}
|
|
var element_level5 = document.createElement('div'); //单据号元素的容器
|
element_level5.className = "layui-inline";
|
//判断是否隐藏
|
if (data[i].HIsHide == true) {
|
element_level5.style.display = "none";
|
}
|
|
var element_level6 = document.createElement('label'); //单据号元素的容器中的label元素
|
element_level6.className = "layui-form-label";
|
element_level6.style.width = "85px";
|
element_level6.innerHTML = data[i].HElementLabel;
|
//判断是否必填,是 则 添加 必填标记元素
|
if (data[i].HIsMust == true) {
|
var element_level7 = document.createElement('label'); //label元素中的必填标记元素
|
element_level7.style = "color:red;";
|
element_level7.innerHTML = "*";
|
|
element_level6.appendChild(element_level7);
|
}
|
|
element_level5.appendChild(element_level6); //将单据号元素的容器中的label元素添加到单据号元素的容器
|
|
|
var element_level6_1 = document.createElement('div'); //单据号元素的容器中的文本框元素的容器
|
element_level6_1.className = "layui-input-block";
|
element_level6_1.style = "margin-left: 77px;";
|
|
var element_level7_1 = document.createElement('input'); //文本框元素的容器中的文本框
|
element_level7_1.id = data[i].HElementID;
|
element_level7_1.name = data[i].HElementID;
|
element_level7_1.type = "text";
|
element_level7_1.className = "layui-input";
|
element_level7_1.setAttribute('lay-verify', data[i].HElementID);
|
element_level7_1.value = data[i].HDefaultValue;
|
//判断是否禁用,是 则 禁止输入
|
if (data[i].HIsDisabled == true) {
|
element_level7_1.readOnly = true;
|
element_level7_1.style = "background-color:#efefef4d;width: 60%;display: inline-block;";
|
}
|
|
element_level6_1.appendChild(element_level7_1); //将文本框添加到文本框元素的容器中
|
|
|
var element_level7_2 = document.createElement('button'); //文本框元素的容器中的按钮
|
element_level7_2.id = data[i].HElementID + "_Button";
|
element_level7_2.type = "button";
|
element_level7_2.className = "layui-btn layuiadmin-btn-order";
|
element_level7_2.style = "padding: 0 10px;float: right;margin-right: 3px;";
|
element_level7_2.setAttribute('lay-filter', data[i].HElementID + "_Button");
|
|
|
//在需要打开弹窗的按钮点击事件列表中添加需要打开弹窗的按钮点击事件
|
buttonClickListenerList.push({
|
"ID": data[i].HElementID + "_Button"
|
, "title_temp": data[i].HElementLabel + "列表"
|
, "url_temp": data[i].HRelateUrl
|
, "HSubWindowBackData": data[i].HSubWindowBackData
|
, "HSubWindowBackDataMethodName": data[i].HSubWindowBackDataMethodName
|
, "filter": data[i].HElementID + "_Button"
|
});
|
|
////设置window对象的方法,用于子窗口调用返回数据
|
//var windowName = data[i].HSubWindowBackDataMethodName;
|
//if (windowName != "") {
|
// window[windowName] = function (obj) {
|
// SubWindowBackData_BySubWindow(obj);
|
// }
|
//}
|
|
var element_level8 = document.createElement('i'); //按钮中的按钮图标元素
|
element_level8.className = "layui-icon layui-icon-search layuiadmin-button-btn";
|
|
element_level7_2.appendChild(element_level8); //将按钮图标元素添加到按钮中
|
|
element_level6_1.appendChild(element_level7_2); //将按钮添加到文本框元素的容器中
|
|
element_level5.appendChild(element_level6_1); //将文本框元素的容器添加到单据号元素的容器中
|
|
element_level4.appendChild(element_level5); //将单据号元素的容器添加到行布局元素容器
|
|
if (data[i].HIsHide == false) {
|
HElementCountByTab[data[i].HParentElementID] = HElementCountByTab[data[i].HParentElementID] + 1;
|
if (HElementCountByTab[data[i].HParentElementID] % columnCount == 0) {
|
var element_level5_1 = document.createElement('br'); //换行
|
element_level4.appendChild(element_level5_1);
|
}
|
}
|
}
|
else if (data[i].HElementType == "选择弹窗_transfer") {
|
//获取文本元素所在的页签的行布局元素容器
|
var element_level4 = null;
|
if ($.inArray(data[i].HParentElementID, HPageLabelElementIDList) > -1) {
|
element_level4 = document.getElementById(data[i].HParentElementID + "_Content");
|
}
|
|
var element_level5 = document.createElement('div'); //单据号元素的容器
|
element_level5.className = "layui-inline";
|
//判断是否隐藏
|
if (data[i].HIsHide == true) {
|
element_level5.style.display = "none";
|
}
|
|
var element_level6 = document.createElement('label'); //单据号元素的容器中的label元素
|
element_level6.className = "layui-form-label";
|
element_level6.style.width = "85px";
|
element_level6.innerHTML = data[i].HElementLabel;
|
//判断是否必填,是 则 添加 必填标记元素
|
if (data[i].HIsMust == true) {
|
var element_level7 = document.createElement('label'); //label元素中的必填标记元素
|
element_level7.style = "color:red;";
|
element_level7.innerHTML = "*";
|
|
element_level6.appendChild(element_level7);
|
}
|
|
element_level5.appendChild(element_level6); //将单据号元素的容器中的label元素添加到单据号元素的容器
|
|
|
var element_level6_1 = document.createElement('div'); //单据号元素的容器中的文本框元素的容器
|
element_level6_1.className = "layui-input-block";
|
element_level6_1.style = "margin-left: 77px;";
|
|
var element_level7_1 = document.createElement('input'); //文本框元素的容器中的文本框
|
element_level7_1.id = data[i].HElementID;
|
element_level7_1.name = data[i].HElementID;
|
element_level7_1.type = "text";
|
element_level7_1.className = "layui-input";
|
element_level7_1.setAttribute('lay-verify', data[i].HElementID);
|
element_level7_1.value = data[i].HDefaultValue;
|
//判断是否禁用,是 则 禁止输入
|
if (data[i].HIsDisabled == true) {
|
element_level7_1.readOnly = true;
|
element_level7_1.style = "background-color:#efefef4d;width: 60%;display: inline-block;";
|
}
|
|
element_level6_1.appendChild(element_level7_1); //将文本框添加到文本框元素的容器中
|
|
|
var element_level7_2 = document.createElement('button'); //文本框元素的容器中的按钮
|
element_level7_2.id = data[i].HElementID + "_Button";
|
element_level7_2.type = "button";
|
element_level7_2.className = "layui-btn layuiadmin-btn-order";
|
element_level7_2.style = "padding: 0 10px;float: right;margin-right: 3px;";
|
element_level7_2.setAttribute('lay-filter', data[i].HElementID + "_Button");
|
|
|
//在需要打开弹窗的按钮点击事件列表中添加需要打开弹窗的按钮点击事件
|
buttonClickListenerList_transfer.push({
|
"ID": data[i].HElementID + "_Button"
|
, "title_temp": data[i].HElementLabel + "列表"
|
, "url_temp": data[i].HRelateUrl
|
, "HSubWindowBackData": data[i].HSubWindowBackData
|
, "filter": data[i].HElementID + "_Button"
|
});
|
|
var element_level8 = document.createElement('i'); //按钮中的按钮图标元素
|
element_level8.className = "layui-icon layui-icon-search layuiadmin-button-btn";
|
|
element_level7_2.appendChild(element_level8); //将按钮图标元素添加到按钮中
|
|
element_level6_1.appendChild(element_level7_2); //将按钮添加到文本框元素的容器中
|
|
element_level5.appendChild(element_level6_1); //将文本框元素的容器添加到单据号元素的容器中
|
|
element_level4.appendChild(element_level5); //将单据号元素的容器添加到行布局元素容器
|
|
if (data[i].HIsHide == false) {
|
HElementCountByTab[data[i].HParentElementID] = HElementCountByTab[data[i].HParentElementID] + 1;
|
if (HElementCountByTab[data[i].HParentElementID] % columnCount == 0) {
|
var element_level5_1 = document.createElement('br'); //换行
|
element_level4.appendChild(element_level5_1);
|
}
|
}
|
}
|
else if (data[i].HElementType == "日期") {
|
//获取文本元素所在的页签的行布局元素容器
|
var element_level4 = null;
|
if ($.inArray(data[i].HParentElementID, HPageLabelElementIDList) > -1) {
|
element_level4 = document.getElementById(data[i].HParentElementID + "_Content");
|
}
|
|
var element_level5 = document.createElement('div'); //单据号元素的容器
|
element_level5.className = "layui-inline";
|
//判断是否隐藏
|
if (data[i].HIsHide == true) {
|
element_level5.style.display = "none";
|
}
|
|
var element_level6 = document.createElement('label'); //单据号元素的容器中的label元素
|
element_level6.className = "layui-form-label";
|
element_level6.style.width = "85px";
|
element_level6.innerHTML = data[i].HElementLabel;
|
//判断是否必填,是 则 添加 必填标记元素
|
if (data[i].HIsMust == true) {
|
var element_level7 = document.createElement('label'); //label元素中的必填标记元素
|
element_level7.style = "color:red;";
|
element_level7.innerHTML = "*";
|
|
element_level6.appendChild(element_level7);
|
}
|
|
element_level5.appendChild(element_level6); //将单据号元素的容器中的label元素添加到单据号元素的容器
|
|
|
var element_level6_1 = document.createElement('div'); //单据号元素的容器中的文本框元素的容器
|
element_level6_1.className = "layui-input-block";
|
element_level6_1.style = "margin-left: 120px; width:180px;";
|
|
var element_level7_1 = document.createElement('input'); //文本框元素的容器中的文本框
|
element_level7_1.id = data[i].HElementID;
|
element_level7_1.name = data[i].HElementID;
|
element_level7_1.type = "date";
|
element_level7_1.className = "layui-input";
|
element_level7_1.style = "padding-left: 80px;";
|
element_level7_1.setAttribute('lay-verify', data[i].HElementID);
|
element_level7_1.value = formatDate(new Date(), "yyyy-MM-dd");
|
|
//判断文本数据类型,设置文本框允许输入的数据类型
|
if (data[i].HFieldDataType == "Date") {
|
element_level7_1.type = "date";
|
}
|
|
//判断是否禁用,是 则 禁止输入
|
if (data[i].HIsDisabled == true) {
|
element_level7_1.readOnly = true;
|
element_level7_1.style = "background-color:#efefef4d;";
|
}
|
|
element_level6_1.appendChild(element_level7_1); //将文本框添加到文本框元素的容器中
|
|
element_level5.appendChild(element_level6_1); //将文本框元素的容器添加到单据号元素的容器中
|
|
element_level4.appendChild(element_level5); //将单据号元素的容器添加到行布局元素容器
|
|
if (data[i].HIsHide == false) {
|
HElementCountByTab[data[i].HParentElementID] = HElementCountByTab[data[i].HParentElementID] + 1;
|
if (HElementCountByTab[data[i].HParentElementID] % columnCount == 0) {
|
var element_level5_1 = document.createElement('br'); //换行
|
element_level4.appendChild(element_level5_1);
|
}
|
}
|
}
|
else if (data[i].HElementType == "下拉列表") {
|
//获取文本元素所在的页签的行布局元素容器
|
var element_level4 = null;
|
if ($.inArray(data[i].HParentElementID, HPageLabelElementIDList) > -1) {
|
element_level4 = document.getElementById(data[i].HParentElementID + "_Content");
|
}
|
|
if (data[i].HElementLabel == "组织" && data[i].HIsHide == false) {
|
var element_level5_0 = document.createElement('br'); //换行
|
element_level4.appendChild(element_level5_0);
|
}
|
|
var element_level5 = document.createElement('div'); //单据号元素的容器
|
element_level5.className = "layui-inline";
|
//判断是否隐藏
|
if (data[i].HIsHide == true) {
|
element_level5.style.display = "none";
|
}
|
|
var element_level6 = document.createElement('label'); //单据号元素的容器中的label元素
|
element_level6.className = "layui-form-label";
|
element_level6.style.width = "85px";
|
element_level6.innerHTML = data[i].HElementLabel;
|
//判断是否必填,是 则 添加 必填标记元素
|
if (data[i].HIsMust == true) {
|
var element_level7 = document.createElement('label'); //label元素中的必填标记元素
|
element_level7.style = "color:red;";
|
element_level7.innerHTML = "*";
|
|
element_level6.appendChild(element_level7);
|
}
|
|
element_level5.appendChild(element_level6); //将单据号元素的容器中的label元素添加到单据号元素的容器
|
|
|
var element_level6_1 = document.createElement('div'); //单据号元素的容器中的文本框元素的容器
|
element_level6_1.className = "layui-input-block";
|
element_level6_1.style = "margin-left: 120px;";
|
if (data[i].HElementLabel == "组织" && data[i].HIsHide == false) {
|
element_level6_1.style = "margin-left: 120px; width: 501px;";
|
}
|
|
|
var element_level7_1 = document.createElement('select'); //文本框元素的容器中的文本框
|
element_level7_1.id = data[i].HElementID;
|
element_level7_1.name = data[i].HElementID;
|
element_level7_1.style = "width:190px;";
|
element_level7_1.setAttribute('lay-filter', data[i].HElementID);
|
//判断是否禁用,是 则 禁止输入
|
if (data[i].HIsDisabled == true) {
|
element_level7_1.readOnly = true;
|
element_level7_1.style = "background-color:#efefef4d;";
|
}
|
|
element_level6_1.appendChild(element_level7_1); //将文本框添加到文本框元素的容器中
|
|
element_level5.appendChild(element_level6_1); //将文本框元素的容器添加到单据号元素的容器中
|
|
element_level4.appendChild(element_level5); //将单据号元素的容器添加到行布局元素容器
|
|
|
//设置下拉框内容
|
ColFilter(data[i].HElementID, data[i].HSelectContent, data[i].HRelateUrl, data[i].HSubWindowBackData,form);
|
|
if (data[i].HElementLabel == "组织" && data[i].HIsHide == false) {
|
var element_level5_1 = document.createElement('br'); //换行
|
element_level4.appendChild(element_level5_1);
|
}
|
else if (data[i].HIsHide == false) {
|
HElementCountByTab[data[i].HParentElementID] = HElementCountByTab[data[i].HParentElementID] + 1;
|
if (HElementCountByTab[data[i].HParentElementID] % columnCount == 0) {
|
var element_level5_1 = document.createElement('br'); //换行
|
element_level4.appendChild(element_level5_1);
|
}
|
}
|
}
|
else if (data[i].HElementType == "富文本框") {
|
//获取文本元素所在的页签的行布局元素容器
|
var element_level4 = null;
|
if ($.inArray(data[i].HParentElementID, HPageLabelElementIDList) > -1) {
|
element_level4 = document.getElementById(data[i].HParentElementID + "_Content");
|
}
|
|
var element_level5_0 = document.createElement('br'); //换行标签
|
element_level4.appendChild(element_level5_0);
|
|
var element_level5 = document.createElement('div'); //单据号元素的容器
|
element_level5.className = "layui-inline";
|
//判断是否隐藏
|
if (data[i].HIsHide == true) {
|
element_level5.style.display = "none";
|
}
|
|
var element_level6 = document.createElement('label'); //单据号元素的容器中的label元素
|
element_level6.className = "layui-form-label";
|
element_level6.style.width = "85px";
|
element_level6.innerHTML = data[i].HElementLabel;
|
//判断是否必填,是 则 添加 必填标记元素
|
if (data[i].HIsMust == true) {
|
var element_level7 = document.createElement('label'); //label元素中的必填标记元素
|
element_level7.style = "color:red;";
|
element_level7.innerHTML = "*";
|
|
element_level6.appendChild(element_level7);
|
}
|
|
element_level5.appendChild(element_level6); //将单据号元素的容器中的label元素添加到单据号元素的容器
|
|
|
var element_level6_1 = document.createElement('div'); //单据号元素的容器中的文本框元素的容器
|
element_level6_1.className = "layui-input-block";
|
element_level6_1.style = "margin-left: 120px; width:1000px;";
|
|
var element_level7_1 = document.createElement('textarea'); //文本框元素的容器中的文本框
|
element_level7_1.id = data[i].HElementID;
|
element_level7_1.name = data[i].HElementID;
|
element_level7_1.style = "height:240px;"
|
element_level7_1.className = "layui-textarea";
|
element_level7_1.setAttribute('lay-verify', data[i].HElementID);
|
element_level7_1.value = data[i].HDefaultValue;
|
//判断是否禁用,是 则 禁止输入
|
if (data[i].HIsDisabled == true) {
|
element_level7_1.readOnly = true;
|
element_level7_1.style = "background-color:#efefef4d;";
|
}
|
|
//判断是否设置最大长度,若设置则另文本框限制文本最大长度
|
if (data[i].HFieldMaxLength != 0) {
|
element_level7_1.maxLength = data[i].HFieldMaxLength;
|
}
|
|
element_level6_1.appendChild(element_level7_1); //将文本框添加到文本框元素的容器中
|
|
element_level5.appendChild(element_level6_1); //将文本框元素的容器添加到单据号元素的容器中
|
|
element_level4.appendChild(element_level5); //将单据号元素的容器添加到行布局元素容器
|
|
var element_level5_1 = document.createElement('br'); //换行标签
|
element_level4.appendChild(element_level5_1);
|
}
|
}
|
|
layer.close(ajaxLoad);
|
} else {
|
layer.close(ajaxLoad);
|
layer.alert(data1.code + data1.Message, { icon: 5 });
|
}
|
}, error: function () {
|
layer.close(ajaxLoad);
|
layer.alert("接口请求失败!", { icon: 5 });
|
}
|
});
|
}
|
//#endregion
|
|
//#region 表头初始化——打开选择弹窗并获取数据
|
function SubWindowBackData(title_temp, url_temp, HSubWindowBackData) {
|
layer.open({
|
type: 2
|
, skin: "layui-layer-rim" //加上边框
|
, title: title_temp //标题
|
, closeBtn: 1 //窗体右上角关闭 的 样式
|
, shift: 2 //弹出动画
|
, area: ["90%", "90%"] //窗体大小
|
, maxmin: true //设置最大最小按钮是否显示
|
, content: [url_temp, "yes"]
|
, btn: ["确定", "取消"]
|
, success: function (layero, index) {
|
HSubWindowBackData_forDoubleClickBackData = HSubWindowBackData;
|
}
|
, btn1: function (index, laero) {
|
//按钮一 的回调
|
var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
|
var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
|
|
if (checkStatus.data.length != 1) {
|
return layer.msg("请选择一条数据");
|
}
|
|
var inputList = HSubWindowBackData.split(";");
|
for (var i = 0; i < inputList.length; i++) {
|
var input_data = inputList[i].split("-");
|
$("#" + input_data[0]).val(checkStatus.data[0][input_data[1]]);
|
}
|
|
layer.close(index);//关闭弹窗
|
}
|
, btn2: function (index, layero) { }
|
, end: function () {
|
HSubWindowBackData_forDoubleClickBackData = "";
|
}
|
})
|
}
|
//#endregion
|
|
//#region 表头初始化——打开选择弹窗并获取数据_transfer
|
function SubWindowBackData_transfer(title_temp, url_temp, HSubWindowBackData) {
|
layer.open({
|
type: 2
|
, skin: "layui-layer-rim" //加上边框
|
, title: title_temp //标题
|
, closeBtn: 1 //窗体右上角关闭 的 样式
|
, shift: 2 //弹出动画
|
, area: ["90%", "90%"] //窗体大小
|
, maxmin: true //设置最大最小按钮是否显示
|
, content: [url_temp, "yes"]
|
, btn: ["确定", "取消"]
|
, btn1: function (index, laero) {
|
//按钮【按钮一】的回调
|
var iframeWindow = window['layui-layer-iframe' + index] //获取弹框页面
|
var checkStatus = iframeWindow.layui.transfer.getData('key123'); //获取已分配数量
|
if (checkStatus.length === 0) {
|
return layer.msg('请选择数据');
|
}
|
|
var HFinalData = {};
|
var inputList = HSubWindowBackData.split(";");
|
for (var i = 0; i < inputList.length; i++) {
|
var input_data = inputList[i].split("-");
|
HFinalData[input_data[0]] = "";
|
|
for (var j = 0; j < checkStatus.length; j++) {
|
HFinalData[input_data[0]] = HFinalData[input_data[0]] + checkStatus[j][input_data[1]] + ",";
|
}
|
|
if (HFinalData[input_data[0]].length > 0) {
|
HFinalData[input_data[0]] = HFinalData[input_data[0]].substr(0, HFinalData[input_data[0]].length - 1);
|
}
|
|
$("#" + input_data[0]).val(HFinalData[input_data[0]]);
|
}
|
|
layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
|
}
|
, btn2: function (index, layero) { }
|
, end: function () { }
|
})
|
}
|
//#endregion
|
|
//#region 表头初始化——设置需要打开弹窗的按钮点击事件的事件监听
|
function set_buttonClickListener() {
|
for (var i = 0; i < buttonClickListenerList.length; i++) {
|
var elementID = buttonClickListenerList[i].ID;
|
var element = document.getElementById(elementID);
|
if (element == null) {
|
continue;
|
} else {
|
element.addEventListener('click', function (event) {
|
var ID = event.currentTarget.id; //获取触发事件的元素的ID
|
for (var j = 0; j < buttonClickListenerList.length; j++) {
|
if (buttonClickListenerList[j].ID == ID) { //根据触发事件的元素的ID,定位到触发事件所需要的信息,调用相关方法并传参
|
//var title_temp = buttonClickListenerList[j].title_temp;
|
//var url_temp = buttonClickListenerList[j].url_temp;
|
//var HSubWindowBackData = buttonClickListenerList[j].HSubWindowBackData;
|
//SubWindowBackData(title_temp, url_temp, HSubWindowBackData);
|
|
var HSubWindowBackDataMethodName_layer = buttonClickListenerList[j].HSubWindowBackDataMethodName + "_layer";
|
window[HSubWindowBackDataMethodName_layer]();
|
}
|
}
|
});
|
}
|
}
|
}
|
//#endregion
|
|
//#region 表头初始化——设置需要打开弹窗的按钮点击事件的事件监听_transfer
|
function set_buttonClickListener_transfer() {
|
for (var i = 0; i < buttonClickListenerList_transfer.length; i++) {
|
var elementID = buttonClickListenerList_transfer[i].ID;
|
var element = document.getElementById(elementID);
|
if (element == null) {
|
continue;
|
} else {
|
element.addEventListener('click', function (event) {
|
var ID = event.currentTarget.id; //获取触发事件的元素的ID
|
for (var j = 0; j < buttonClickListenerList_transfer.length; j++) {
|
if (buttonClickListenerList_transfer[j].ID == ID) { //根据触发事件的元素的ID,定位到触发事件所需要的信息,调用相关方法并传参
|
var title_temp = buttonClickListenerList_transfer[j].title_temp;
|
var url_temp = buttonClickListenerList_transfer[j].url_temp;
|
var HSubWindowBackData = buttonClickListenerList_transfer[j].HSubWindowBackData;
|
SubWindowBackData_transfer(title_temp, url_temp, HSubWindowBackData);
|
}
|
}
|
});
|
}
|
}
|
}
|
//#endregion
|
|
//#region 非空验证_表头
|
function AllowLoadData_BillMain(data) {
|
var ref = /^\d+(\.\d+)?$/; //非负数正则表达式
|
var ref1 = /^[1-9]\d*$/; //正整数正则表达式
|
|
//#region 表头数据检验
|
for (var i = 0; i < HIsMustElementList.length; i++) {
|
var temp = $("#" + HIsMustElementList[i].HElementID).val();
|
if (HIsMustElementList[i].HFieldDataType == "String" || HIsMustElementList[i].HFieldDataType == "DateTime") {
|
if (temp == "") {
|
layer.msg(HIsMustElementList[i].HElementLabel + "为必填项目,请检查是否填写数据!");
|
return false;
|
}
|
}
|
else if (HIsMustElementList[i].HFieldDataType == "Decimal") {
|
if (!ref.test(temp)) {
|
layer.msg(HIsMustElementList[i].HElementLabel + "为必填项目,请检查是否填写数据,数据为数字!");
|
return false;
|
}
|
}
|
else if (HIsMustElementList[i].HFieldDataType == "Int32") {
|
if (!ref1.test(temp)) {
|
layer.msg(HIsMustElementList[i].HElementLabel + "为必填项目,请检查是否填写数据,数据为正整数!");
|
return false;
|
}
|
}
|
}
|
//#endregion
|
|
return true;
|
}
|
//#endregion
|
|
//#region 表头初始化——下拉框设置
|
function ColFilter(id, content, url, HSubWindowBackData,form) {
|
if (url == "") {
|
var HSelect = "";
|
var optionList = content.split(";");
|
for (var i = 0; i < optionList.length; i++) {
|
var value_show = optionList[i].split("——");
|
if (value_show.length == 2) {
|
HSelect += '<option style="color:blue;" value="' + value_show[0] + '">' + value_show[1] + '</option>';
|
}
|
}
|
$("#" + id).empty();
|
$("#" + id).append(HSelect);
|
form.render('select');
|
} else {
|
var urlArray = url.split("?");
|
var url_real = "";
|
var dataParams = {};
|
|
if (urlArray.length == 1) {
|
url_real = urlArray[0];
|
} else if (urlArray.length == 2) {
|
url_real = urlArray[0];
|
|
var dataParamsArray = urlArray[1].split("&");
|
for (var i = 0; i < dataParamsArray.length; i++) {
|
var name_value = dataParamsArray[i].split("=");
|
dataParams[name_value[0]] = name_value[1];
|
}
|
}
|
|
$.ajax({
|
url: GetWEBURL() + url_real,
|
type: "GET",
|
async: false,
|
data: dataParams,
|
success: function (data1) {
|
if (data1.count == 1 && data1.data.length > 0) {
|
var value_show = HSubWindowBackData.split("-");
|
|
var HSelect = "";
|
var data = data1.data;
|
for (var i = 0; i < data.length; i++) {
|
HSelect += '<option style="color:blue;" value="' + data[i][value_show[0]] + '">' + data[i][value_show[1]] + '</option>';
|
}
|
$("#" + id).empty();
|
$("#" + id).append(HSelect);
|
form.render('select');
|
} else {
|
var HSelect = "";
|
var optionList = content.split(";");
|
for (var i = 0; i < optionList.length; i++) {
|
var value_show = optionList[i].split("——");
|
if (value_show.length == 2) {
|
HSelect += '<option style="color:blue;" value="' + value_show[0] + '">' + value_show[1] + '</option>';
|
}
|
}
|
$("#" + id).empty();
|
$("#" + id).append(HSelect);
|
form.render('select');
|
}
|
}, error: function () {
|
var HSelect = "";
|
var optionList = content.split(";");
|
for (var i = 0; i < optionList.length; i++) {
|
var value_show = optionList[i].split("——");
|
if (value_show.length == 2) {
|
HSelect += '<option style="color:blue;" value="' + value_show[0] + '">' + value_show[1] + '</option>';
|
}
|
}
|
$("#" + id).empty();
|
$("#" + id).append(HSelect);
|
form.render('select');
|
}
|
});
|
}
|
|
if (id == "HOrgID") {
|
$("#" + id).val(sessionStorage["OrganizationID"]);
|
form.render('select');
|
}
|
}
|
//#endregion
|
|
//#region 编辑 页面赋值_表头
|
function RoadBillMain_BillMain(url, linterid, user,form)//加载表头
|
{
|
$.ajax({
|
url: GetWEBURL() + url,
|
type: "GET",
|
async: false,
|
data: { "HInterID": linterid, "user": user },
|
success: function (result) {
|
var tableMain = result.data;
|
|
//主表 赋值
|
var formData = {};
|
for (var i = 0; i < HEditValueList.length; i++) {
|
if (HEditValueList[i].HFieldDataType == "Date") {
|
formData[HEditValueList[i].HElementID] = tableMain[0][HEditValueList[i].HFieldName]==null?'': Format(new Date(tableMain[0][HEditValueList[i].HFieldName]), "yyyy-MM-dd");
|
} else if (HEditValueList[i].HFieldDataType == "DateTime") {
|
formData[HEditValueList[i].HElementID] = tableMain[0][HEditValueList[i].HFieldName]==null?'': Format(new Date(tableMain[0][HEditValueList[i].HFieldName]), "yyyy-MM-dd hh:mm:ss");
|
}
|
else {
|
formData[HEditValueList[i].HElementID] = tableMain[0][HEditValueList[i].HFieldName];
|
}
|
}
|
form.val("formData", formData);
|
}
|
})
|
}
|
//#endregion
|
|
//#region 表头初始化--子窗口操作本窗口方法设置数据集
|
function SubWindowBackData_BySubWindow(obj) {
|
var HSubWindowBackData = HSubWindowBackData_forDoubleClickBackData;
|
if (HSubWindowBackData == "") {
|
layer.msg("请检查是否设置该弹窗双击返回方法对应的返回数据!");
|
return;
|
}
|
|
var inputList = HSubWindowBackData.split(";");
|
for (var i = 0; i < inputList.length; i++) {
|
var input_data = inputList[i].split("-");
|
$("#" + input_data[0]).val(obj[0][input_data[1]]);
|
}
|
}
|
//#endregion
|
//#endregion
|