You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
249 lines
8.6 KiB
Plaintext
249 lines
8.6 KiB
Plaintext
/**
|
|
* 主表中显示从表中主要字段,然后点击新增,编辑使用的方法
|
|
* @param {any} DtlEditType
|
|
* @param {any} dtlNo
|
|
* @param {any} OID
|
|
*/
|
|
//DtlEditType 0 查看 1 编辑 2 新增
|
|
function Dtl_InitPage(DtlEditType, dtlNo, OID) {
|
|
var frmData = dtlExt[dtlNo][0];
|
|
//主表数据,用于变量替换.
|
|
var mainTable = frmData["MainTable"]; //主表数据.
|
|
//从表信息.
|
|
sys_MapDtl = frmData["Sys_MapDtl"][0]; //从表描述.
|
|
sys_mapAttr = frmData["Sys_MapAttr"]; //从表字段.
|
|
var sys_mapExtDtl = frmData["Sys_MapExt"]; //扩展信息.
|
|
var dbDtls = frmData["DBDtl"]; //从表数据.
|
|
var mapDtls = frmData["MapDtls"]; //从表的从表集合.
|
|
var gfs = new Entities("BP.Sys.GroupFields");
|
|
gfs.Retrieve("FrmID", dtlNo);
|
|
|
|
var dbDtl = new Entity(dtlNo, OID);
|
|
|
|
//加入隐藏字段
|
|
var html = "";
|
|
$.grep(frmData.Sys_MapAttr, function (item) {
|
|
return item.UIVisible == 0;
|
|
|
|
}).forEach(function (attr) {
|
|
var defval = ConvertDefVal(frmData, attr.DefVal, attr.KeyOfEn);
|
|
html += "<input type='hidden' id='TB_" + attr.KeyOfEn + "' name='TB_" + attr.KeyOfEn + "' value='" + defval + "' />";
|
|
});
|
|
|
|
$("#DtlContent").html("").append(html);
|
|
var isReadonly;
|
|
if (DtlEditType == 0)
|
|
isReadonly = "0";
|
|
|
|
html = InitDtlMapAttr(frmData.Sys_MapAttr, gfs[0].OID, frmData, isReadonly);
|
|
|
|
$(html).appendTo('#DtlContent');
|
|
|
|
//为 DISABLED 的 TEXTAREA 加TITLE
|
|
var disabledTextAreas = $('#form_Dtl textarea:disabled');
|
|
$.each(disabledTextAreas, function (i, obj) {
|
|
$(obj).attr('title', $(obj).val());
|
|
})
|
|
|
|
//根据NAME 设置ID的值
|
|
var inputs = $('[name]');
|
|
$.each(inputs, function (i, obj) {
|
|
if ($(obj).attr("id") == undefined || $(obj).attr("id") == '') {
|
|
$(obj).attr("id", $(obj).attr("name"));
|
|
}
|
|
});
|
|
|
|
mui(".mui-switch").switch();
|
|
|
|
|
|
|
|
//设置默认值
|
|
for (var j = 0; j < frmData.Sys_MapAttr.length; j++) {
|
|
|
|
var mapAttr = frmData.Sys_MapAttr[j];
|
|
|
|
//添加 label
|
|
//如果是整行的需要添加 style='clear:both'.
|
|
var defValue = ConvertDefVal(dbDtl, mapAttr.DefVal, mapAttr.KeyOfEn);
|
|
//if (mapAttr.DefValType == 0 && mapAttr.DefVal == "10002" && (defValue == "10002" || defValue == "10002.0000"))
|
|
// defValue = "";
|
|
|
|
if ($('#TB_' + mapAttr.KeyOfEn).length == 1) {
|
|
$('#TB_' + mapAttr.KeyOfEn).val(defValue);
|
|
$('#TB_' + mapAttr.KeyOfEn).html(defValue);//只读大文本放到div里
|
|
if (mapAttr.MyDataType == FormDataType.AppDate || mapAttr.MyDataType == FormDataType.AppDateTime)
|
|
$('#LAB_' + mapAttr.KeyOfEn).html(defValue);
|
|
}
|
|
|
|
if ($('#DDL_' + mapAttr.KeyOfEn).length == 1) {
|
|
// 判断下拉框是否有对应option, 若没有则追加
|
|
if ($("option[value='" + defValue + "']", '#DDL_' + mapAttr.KeyOfEn).length == 0) {
|
|
var mainTable = frmData.MainTable[0];
|
|
var selectText = mainTable[mapAttr.KeyOfEn + "Text"];
|
|
//@浙商银行
|
|
if (selectText == undefined)
|
|
selectText = mainTable[mapAttr.FKText];
|
|
if (selectText == undefined)
|
|
selectText = "";
|
|
$('#DDL_' + mapAttr.KeyOfEn).append("<option value='" + defValue + "'>" + selectText + "</option>");
|
|
}
|
|
//
|
|
$('#DDL_' + mapAttr.KeyOfEn).val(defValue);
|
|
}
|
|
|
|
if ($('#CB_' + mapAttr.KeyOfEn).length == 1) {
|
|
if (defValue == "1") {
|
|
$('#CB_' + mapAttr.KeyOfEn).attr("checked", true);
|
|
//判断是否存在mui-active这个类
|
|
if ($("#SW_" + mapAttr.KeyOfEn).hasClass("mui-active") == false)
|
|
$("#SW_" + mapAttr.KeyOfEn).addClass("mui-active");
|
|
} else {
|
|
$('#CB_' + mapAttr.KeyOfEn).attr("checked", false);
|
|
//判断是否存在mui-active这个类
|
|
if ($("#SW_" + mapAttr.KeyOfEn).hasClass("mui-active") == true)
|
|
$("#SW_" + mapAttr.KeyOfEn).removeClass("mui-active");
|
|
}
|
|
}
|
|
|
|
if (mapAttr.UIIsEnable == "0") {
|
|
|
|
$('#TB_' + mapAttr.KeyOfEn).attr('disabled', true);
|
|
$('#DDL_' + mapAttr.KeyOfEn).attr('disabled', true);
|
|
$('#CB_' + mapAttr.KeyOfEn).attr('disabled', true);
|
|
}
|
|
}
|
|
|
|
if (isReadonly != 0)
|
|
AfterBindEn_DealMapExt(frmData);
|
|
|
|
|
|
//显示tb 提示信息.
|
|
// ShowTbNoticeInfo();
|
|
|
|
//初始化复选下拉框
|
|
var selectPicker = $('.selectpicker');
|
|
$.each(selectPicker, function (i, selectObj) {
|
|
var defVal = $(selectObj).attr('data-val');
|
|
var defValArr = defVal.split(',');
|
|
$(selectObj).selectpicker('val', defValArr);
|
|
});
|
|
|
|
|
|
//根据OID获取
|
|
$("#btn").html("");
|
|
//获取dtl的信息 MapAttr,
|
|
if (DtlEditType == 0) {
|
|
//无操作
|
|
}
|
|
if (DtlEditType == 1) {
|
|
|
|
//增加保存按钮
|
|
$('<button type="button" class="mui-btn mui-btn-primary mui-btn-block" style="width: 95%;margin: 15px 10px; height: 46px; padding: 0px;" onclick="SaveDtl('+OID+',\''+dtlNo+'\',0)">保存</button>').appendTo('#btn');
|
|
}
|
|
if (DtlEditType == 2) {
|
|
//增加新增按钮
|
|
$('<button type="button" class="mui-btn mui-btn-primary mui-btn-block" style="width: 95%;margin: 15px 10px; height: 46px; padding: 0px;" onclick="SaveDtl(' + OID + ',\'' + dtlNo + '\',1,\'' + sys_MapDtl.MobileShowField+'\')">确认新增</button>').appendTo('#btn');
|
|
}
|
|
viewApi.go("#frmDtl");
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetDtl(dbDtls, OID) {
|
|
for (var i = 0; i < dbDtls.length; i++) {
|
|
if (dbDtls[i].OID == OID)
|
|
return dbDtls[i];
|
|
}
|
|
}
|
|
function SaveDtl(OID, dtlNo,type,field) {
|
|
if (type == 1) {
|
|
var dtl = new Entity(dtlNo);
|
|
dtl.RefPK = pageData.WorkID;
|
|
dtl.FID = pageData.FID;
|
|
dtl = dtl.Insert();
|
|
dtl = JSON.parse(dtl);
|
|
OID = dtl.OID;
|
|
}
|
|
//必填项和正则表达式检查
|
|
var formCheckResult = true;
|
|
|
|
if (checkBlanks() == false) {
|
|
formCheckResult = false;
|
|
}
|
|
|
|
if (checkReg() == false) {
|
|
formCheckResult = false;
|
|
}
|
|
|
|
if (formCheckResult == false) {
|
|
mui.toast("保存失败,填写必填项!");
|
|
return false;
|
|
}
|
|
|
|
var params = getFormData(true, true, "form_Dtl",true);
|
|
var handler = new HttpHandler("BP.WF.HttpHandler.WF_CCForm");
|
|
handler.AddUrlData();
|
|
handler.AddPara("IsForDtl", 1);
|
|
handler.AddPara("EnsName", dtlNo);
|
|
handler.AddPara("RefPKVal", pageData.WorkID);
|
|
handler.AddPara("OID", OID);
|
|
//$.each(params.split("&"), function (i, o) {
|
|
// var param = o.split("=");
|
|
// if (param.length == 2 && validate(param[1])) {
|
|
// handler.AddPara(param[0], decodeURIComponent(param[1], true));
|
|
// } else {
|
|
// handler.AddPara(param[0], "");
|
|
// }
|
|
//});
|
|
handler.AddJson(params);
|
|
|
|
var data = handler.DoMethodReturnString("FrmGener_Save");
|
|
if (data.indexOf("err@") != -1) {
|
|
alert(data);
|
|
return;
|
|
}
|
|
|
|
mui.toast("保存成功");
|
|
|
|
if (type == 1) {
|
|
//返回主页
|
|
viewApi.back();
|
|
//获取添加按钮的上一个兄弟节点
|
|
var ulObj = $("#Dtl_" + dtlNo).prev();
|
|
//增加一条数据
|
|
var _Html = "";
|
|
var fieldValue = "";
|
|
if ($("#TB_"+field).length != 0) {
|
|
fieldValue = $("#TB_" + field).val();
|
|
} else {
|
|
if ($("#DDL_"+field).length != 0) {
|
|
fieldValue = $("#DDL_"+field).val();
|
|
} else {
|
|
if ($("#CB_"+field).length != 0) {
|
|
fieldValue = $("#DDL_"+field).val();
|
|
}
|
|
}
|
|
}
|
|
_Html += '<li class="mui-table-view-cell mui-media">';
|
|
_Html += '<a href="javascript:;">';
|
|
_Html += "<button type='button' class='mui-btn mui-btn-danger mui-btn-outlined' style='right:90px' onclick='DeleteDtl(\"" + dtlNo + "\"," + OID + ",this)'>";
|
|
_Html += '删除';
|
|
_Html += '<span class="mui-icon mui-icon-trash"></span>';
|
|
_Html += '</button>';
|
|
_Html += "<button type='button' class='mui-btn mui-btn-success mui-btn-outlined' onclick='Dtl_InitPage(1,\"" + dtlNo + "\"," + OID + ")'>";
|
|
_Html += '编辑';
|
|
_Html += '<span class="mui-icon mui-icon-compose"></span>';
|
|
_Html += '</button>';
|
|
_Html += '<div class="mui-media-body">';
|
|
_Html += fieldValue;
|
|
_Html += ' </div>';
|
|
_Html += '</a>';
|
|
_Html += '</li>';
|
|
ulObj.append(_Html);
|
|
|
|
|
|
|
|
}
|
|
|
|
} |