var Form_ReadOnly = false; var mainData; var gfs; //明细表分组 var dtlSize = 0; //明细表条数 var sys_mapAttr; //加载明细表数据 function Load_DtlInit() { var dtl_No = $("#HD_CurDtl_No").val(); $("#DtlContent").empty(); var args = new RequestArgs(); //获得mapdtl实体的基本信息. var hand = new HttpHandler("BP.WF.HttpHandler.WF_CCForm"); hand.AddPara("EnsName", dtl_No); hand.AddPara("RefPKVal", args.WorkID); hand.AddPara("FK_Node", args.FK_Node); hand.AddPara("IsReadonly", args.IsReadonly); mainData = hand.DoMethodReturnJSON("Dtl_Init"); //获取正真含有的分组 //var handler = new HttpHandler("BP.WF.HttpHandler.CCMobile_MyFlow"); //handler.AddPara("FK_Node", args.FK_Node); //handler.AddPara("FK_MapData", dtl_No); //var gfs = handler.DoMethodReturnJSON("GetGroupFields"); gfs = new Entities("BP.Sys.GroupFields"); gfs.Retrieve("FrmID", dtl_No); //主表数据,用于变量替换. var mainTable = mainData["MainTable"]; //主表数据. //从表信息. sys_MapDtl = mainData["Sys_MapDtl"][0]; //从表描述. sys_mapAttr = mainData["Sys_MapAttr"]; //从表字段. var sys_mapExtDtl = mainData["Sys_MapExt"]; //扩展信息. var dbDtl = mainData["DBDtl"]; //从表数据. var mapDtls = mainData["MapDtls"]; //从表的从表集合. dtlSize = dbDtl.length; var _Html = ""; //判断是否有数据 if(dbDtl.length == 0){ _Html = "
"; _Html += "
没有数据
"; _Html += "
"; } if (Form_ReadOnly == true || (sys_MapDtl.IsInsert == "0" && sys_MapDtl.IsUpdate == "0")) { Form_ReadOnly = true; } //加载表单元素\数据 var dtl_Idx = 1; for (var j = 0; j < dbDtl.length; j++) { _Html += ""; dtl_Idx++; } //启用新增按钮 if (Form_ReadOnly == false && sys_MapDtl.IsInsert == "1") { _Html += ""; } //添加保存按钮 if (Form_ReadOnly == false && dbDtl.length > 0 && (sys_MapDtl.IsInsert == "1" || sys_MapDtl.IsUpdate == "1")) { $("#dtlDone").html("提交"); $("#dtlDone").off("tap").on("tap", function () { Dtl_SaveData(); // function (data) { // var pushData = cceval('(' + data + ')'); // if (pushData.Msg) { // mui.toast(pushData.Msg); // return; // } viewApi.back(); mui.toast("保存成功!"); Load_DtlInit(); // }); }); } //更新明细表记录数量 //$("#" + dtl_No + "_Count").html("(" + dbDtl.length + ")条记录"); //生成页面 $(_Html).appendTo('#DtlContent'); //解析扩展设置,MapExt for (var y = 0; y < dbDtl.length; y++) { AfterBindDtl_DealMapExt(mainData, dbDtl[y].OID); } if (Form_ReadOnly == false && dbDtl.length > 0 && (sys_MapDtl.IsInsert == "1" || sys_MapDtl.IsUpdate == "1")) { //日期控件 mui(".mui-input-row").off("tap").on("tap", ".ccformdate", function () { var dDate = new Date(); var optionsJson = this.getAttribute('data-options') || '{}'; var ctrID = this.getAttribute('id'); var options = JSON.parse(optionsJson); var picker = new mui.DtPicker(options); picker.show(function (rs) { var timestr = rs.text; $("#" + ctrID).html(timestr); $("#TB_" + ctrID.substr(4)).val(timestr); picker.dispose(); }); }); } //添加行事件 $(".dtl_addpanel a").on("click", function () { //先保存后新增行 Dtl_SaveData(); Dtl_InsertRow(); Load_DtlInit(); }); //删除事件 $(".dtl_deleterow").on("click", function () { var target = $(this); var oid = target.attr("id"); //先保存后删除行 Dtl_SaveData(); Dtl_DeleteByOID(oid); }); } //保存数据 function Dtl_SaveData(CallBack) { var urlExt = urlExtFrm(); var args = new RequestArgs(); var dtl_No = $("#HD_CurDtl_No").val(); var url = GetHrefUrl(); if (url.indexOf('/jflow-web/') >= 0) { var index = url.indexOf('/jflow-web'); url = url.substring(index); } var handler = new HttpHandler("BP.WF.HttpHandler.CCMobile_CCForm"); handler.AddPara("EnsName", dtl_No); handler.AddPara("RefPKVal", args.WorkID); handler.AddFormData(); handler.AddUrlData(); var data = handler.DoMethodReturnString("Dtl_SaveRow"); if (data.indexOf("err@") == 0) { mui.toast(data); return; } } //添加行 function Dtl_InsertRow() { var dtl_No = $("#HD_CurDtl_No").val(); var args = new RequestArgs(); var dtl = new Entity(dtl_No); dtl.RefPK = args.WorkID; dtl.FID = args.FID; dtl = dtl.Insert(); Load_DtlForm(JSON.parse(dtl)); } function Load_DtlForm(dbDtl) { var _Html = ""; var index = parseInt(dtlSize)+1; _Html += ""; $(_Html).appendTo('#DtlContent'); } //删除记录通过主键OID function Dtl_DeleteByOID(oid) { var btnArray = ['否', '是']; mui.confirm('确定要删除所选记录吗?', '提示', btnArray, function (e) { if (e.index == 1) { var dtl_No = $("#HD_CurDtl_No").val(); var handler = new HttpHandler("BP.WF.HttpHandler.WF_CCForm"); handler.AddPara("FK_MapDtl", dtl_No); handler.AddPara("OID", oid); handler.DoMethodReturnString("Dtl_DeleteRow"); Load_DtlInit(); } }); } //打开明细表的明细表 function DtlChild_ShowPage(dtlNo, dtlName, OID) { $("#HD_CurChildDtl_No").val(dtlNo); $("#HD_CurDtl_OID").val(OID); $("#frmChildDtlTitle").html(dtlName); Load_ChildDtlForm(); viewApi.go("#frmChildDtl"); } //加载明细表的字表数据 function Load_ChildDtlForm() { var cdtl_No = $("#HD_CurChildDtl_No").val(); $("#ChildDtlContent").empty(); var OID = $("#HD_CurDtl_OID").val(); var args = new RequestArgs(); //获得mapdtl实体的基本信息. var hand = new HttpHandler("BP.WF.HttpHandler.WF_CCForm"); hand.AddPara("EnsName", cdtl_No); hand.AddPara("RefPKVal", OID); hand.AddPara("FK_Node", args.FK_Node); hand.AddPara("IsReadonly", args.IsReadonly); mainData = hand.DoMethodReturnJSON("Dtl_Init"); //获取正真含有的分组 var handler = new HttpHandler("BP.WF.HttpHandler.CCMobile_MyFlow"); handler.AddPara("FK_Node", args.FK_Node); handler.AddPara("FK_MapData", cdtl_No); var gfs = handler.DoMethodReturnJSON("GetGroupFields"); //主表数据,用于变量替换. var mainTable = mainData["MainTable"]; //主表数据. //从表信息. sys_MapDtl = mainData["Sys_MapDtl"][0]; //从表描述. var sys_mapAttr = mainData["Sys_MapAttr"]; //从表字段. var sys_mapExtDtl = mainData["Sys_MapExt"]; //扩展信息. var dbDtl = mainData["DBDtl"]; //从表数据. //var mapDtls = mainData["MapDtls"]; //从表的从表集合. var _Html = ""; //判断是否有数据 if (dbDtl.length == 0) { if (Form_ReadOnly == false && sys_MapDtl.Insert == "1") { Dtl_InsertRow(); return; } _Html = "
"; _Html += "
没有数据
"; _Html += "
"; } else if (Form_ReadOnly == true || (sys_MapDtl.IsInsert == "0" && sys_MapDtl.IsUpdate == "0")) { //只读 Form_ReadOnly = true; } //加载表单元素\数据 var dtl_Idx = 1; for (var j = 0; j < dbDtl.length; j++) { _Html += ""; } //生成页面 $("#AddInfo").before(_Html); if (Form_ReadOnly == false && dbDtl.length > 0 && (sys_MapDtl.IsInsert == "1" || sys_MapDtl.IsUpdate == "1")) { //日期控件 mui(".mui-input-row").off("tap").on("tap", ".ccformdate", function () { var dDate = new Date(); var optionsJson = this.getAttribute('data-options') || '{}'; var ctrID = this.getAttribute('id'); var options = JSON.parse(optionsJson); var picker = new mui.DtPicker(options); picker.show(function (rs) { var timestr = rs.text; $("#" + ctrID).html(timestr); $("#TB_" + ctrID.substr(4)).val(timestr); picker.dispose(); }); }); } } //保存子表数据 function DtlChild_SaveData(CallBack) { var urlExt = urlExtFrm(); var args = new RequestArgs(); var dtl_No = $("#HD_CurChildDtl_No").val(); var revpk = $("#HD_CurDtl_OID").val(); var url = GetHrefUrl(); if (url.indexOf('/jflow-web/') >= 0) { var index = url.indexOf('/jflow-web'); url = url.substring(index); } var ccmobile = url.substring(0, url.lastIndexOf('/') + 1) + "CCForm/ProcessRequest.do"; $("#form_ChildDtl").ajaxSubmit({ type: 'post', url: ccmobile + "?DoType=SaveDtl&EnsName=" + dtl_No + "&RefPKVal=" + revpk, success: function (data) { CallBack(data); }, error: function (XmlHttpRequest, textStatus, errorThrown) { mui.toast("保存失败,请检查表单!"); } }); } //子表添加行 function DtlChild_InsertRow() { var dtl_No = $("#HD_CurChildDtl_No").val(); var revpk = $("#HD_CurDtl_OID").val(); var dtl = new Entity(dtl_No); dtl.RefPK = revpk; dtl.FID = 0; dtl = dtl.Insert(); Load_ChildDtlForm(); } //删除记录通过主键OID function DtlChild_DeleteByOID(oid) { var btnArray = ['否', '是']; mui.confirm('确定要删除所选记录吗?', '提示', btnArray, function (e) { if (e.index == 1) { var dtl_No = $("#HD_CurChildDtl_No").val(); var dtl = new Entity(dtl_No); dtl.OID = oid; dtl.SetPKVal(oid); var dtl = dtl.Delete(); Load_ChildDtlForm(); } }); } //转控件 function TranseDtlControl(dtlColumn, DataRow) { this.control = dtlColumn; this.DataRow = DataRow; this.Ctrl_Class = ""; //控件是否可用 this.Enable = true; } //控件属性 TranseDtlControl.prototype = { To_Html: function () { var _html = ""; this.Ctrl_Class = ""; this.Enable = true; //判断控件是否可用 if (this.control.UIIsEnable == "0" || Form_ReadOnly == true) { this.Enable = false; this.Ctrl_Class = "disabled = \"disabled\" "; } _html = "
  • "; //标签 _html += " "; //图片签名 if (this.control.IsSigan == "1") { _html += this.CreateSignPicture(); _html += "
  • " return _html; } var Ctrl_Val = ""; if (this.DataRow != null) Ctrl_Val = this.DataRow[this.control.KeyOfEn]; if (Ctrl_Val == undefined) Ctrl_Val = ""; //加载其他数据控件 switch (this.control.LGType) { case FieldTypeS.Normal: //输出普通类型字段 if (this.control.UIContralType == UIContralType.DDL) { //判断外部数据或WS类型. if (this.Enable == false) { this.Ctrl_Class = "disabled = \"disabled\" "; } _html += this.CreateDDLPK(Ctrl_Val); break; } switch (this.control.MyDataType) { case FormDataType.AppString: _html += this.CreateTBString(Ctrl_Val); break; case FormDataType.AppInt: _html += this.CreateTBInt(Ctrl_Val); break; case FormDataType.AppFloat: case FormDataType.AppDouble: case FormDataType.AppMoney: _html += this.CreateTBFloat(Ctrl_Val); break; case FormDataType.AppDate: if (this.Enable == false) { this.Ctrl_Class = "readonly = \"readonly\" "; } _html += this.CreateTBDate(Ctrl_Val); break; case FormDataType.AppDateTime: if (this.Enable == false) { this.Ctrl_Class = "readonly = \"readonly\" "; } _html += this.CreateTBDateTime(Ctrl_Val); break; case FormDataType.AppBoolean: if (this.Enable == false) { this.Ctrl_Class = "readonly = \"readonly\" "; } _html += this.CreateCBBoolean(Ctrl_Val); break; } break; case FieldTypeS.Enum: //枚举值下拉框 if (this.Enable == false) { this.Ctrl_Class = "disabled = \"disabled\" "; } _html += this.CreateDDLEnum(Ctrl_Val); break; case FieldTypeS.FK: //外键表下拉框 if (this.Enable == false) { this.Ctrl_Class = "disabled = \"disabled\" "; } _html += this.CreateDDLPK(Ctrl_Val); break; } _html += "" return _html; }, CreateSignPicture: function (Ctrl_Val) { //图片签名 var sign_id = this.control.KeyOfEn; var val = this.DataRow[sign_id]; var errorVal = this.DataRow["ImgErrorValue"]; return ""; }, CreateTBString: function (Ctrl_Val) { var Ctrl_Id = "TB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; //var Ctrl_Val = this.DataRow[this.control.KeyOfEn]; //多行文本 if (this.control.UIHeight > 40) { return ""; } //单行文本 return ""; }, CreateTBInt: function (Ctrl_Val) { var Ctrl_Id = "TB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; // var Ctrl_Val = this.DataRow[this.control.KeyOfEn]; var inputHtml = ""; return inputHtml; }, CreateTBFloat: function (Ctrl_Val) { var Ctrl_Id = "TB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; // var Ctrl_Val = this.DataRow[this.control.KeyOfEn]; return ""; }, CreateTBDate: function (Ctrl_Val) { var Ctrl_Id = "TB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; var LAB_Id = "LAB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; //var Ctrl_Val = this.DataRow[this.control.KeyOfEn]; var Ctrl_Text = Ctrl_Val; if (this.Enable == false) { return ""; } var inputHtml = ""; if (Ctrl_Val == "") { Ctrl_Text = "

    请选择日期

    "; } inputHtml += ""; inputHtml += " " + Ctrl_Text + ""; inputHtml += ""; inputHtml += ""; return inputHtml; }, CreateTBDateTime: function (Ctrl_Val) { var Ctrl_Id = "TB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; var LAB_Id = "LAB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; //var Ctrl_Val = this.DataRow[this.control.KeyOfEn]; var Ctrl_Text = Ctrl_Val; if (this.Enable == false) { return ""; } var inputHtml = ""; if (Ctrl_Val == "") { Ctrl_Text = "

    请选择时间

    "; } inputHtml += ""; inputHtml += " " + Ctrl_Text + ""; inputHtml += ""; inputHtml += ""; return inputHtml; }, CreateCBBoolean: function (Ctrl_Val) { var checkBoxVal = ""; var Ctrl_Id = "CB_" + this.control.KeyOfEn + "_" + this.DataRow.OID; //var Ctrl_Val = this.DataRow[this.control.KeyOfEn]; var CB_Html = "
    "; if (Ctrl_Val == "1" || Ctrl_Val == "是") checkBoxVal = "checked='checked'"; CB_Html += " "; CB_Html += " "; CB_Html += " "; CB_Html += "
    "; return CB_Html; }, CreateDDLEnum: function (Ctrl_Val) { //下拉框和单选都使用下拉框实现 var Ctrl_Id = "RB_" + this.control.KeyOfEn + "_" + this.DataRow.OID if (this.control.UIContralType == UIContralType.DDL) { Ctrl_Id = "DDL_" + this.control.KeyOfEn + "_" + this.DataRow.OID; } //获取枚举数据 var enums = new Entities("BP.Sys.SysEnums"); enums.Retrieve("EnumKey", this.control.UIBindKey); var html_Select = ""; html_Select += ""; return html_Select; }, CreateDDLPK: function (Ctrl_Val) { var args = new RequestArgs(); // var Ctrl_Val = this.DataRow[this.control.KeyOfEn]; var Ctrl_Id = "DDL_" + this.control.KeyOfEn + "_" + this.DataRow.OID; var dtl_OID = this.DataRow.OID; var isEnable = this.Enable == true ? 1 : 0; var WorkID = args.WorkID; var html_Select = ""; html_Select += ""; return html_Select; } } //处理 MapExt 的扩展. 工作处理器,独立表单都要调用他. function AfterBindDtl_DealMapExt(dtlForm, OID) { var mapExts = dtlForm.Sys_MapExt; var mapAttrs = dtlForm.Sys_MapAttr; // 主表扩展(统计从表) var detailExt = {}; wxh: for (var i = 0; i < mapExts.length; i++) { var mapExt = mapExts[i]; //一起转成entity. var mapExt = new Entity("BP.Sys.MapExt", mapExt); var mapAttr = null; for (var j = 0; j < mapAttrs.length; j++) { if (mapAttrs[j].FK_MapData == mapExt.FK_MapData && mapAttrs[j].KeyOfEn == mapExt.AttrOfOper) { if (mapAttrs[j].UIIsEnable == 0 && (mapExt.ExtType == 'PopBranchesAndLeaf' || mapExt.ExtType == 'PopBranches' || mapExt.ExtType == 'PopTableSearch' || mapExt.ExtType == 'PopGroupList')) continue wxh;//如果控件只读,并且是pop弹出形式,就continue到外循环 mapAttr = mapAttrs[j]; break; } } switch (mapExt.ExtType) { case "MultipleChoiceSmall": MultipleChoiceSmall(mapExt, mapAttr); //调用 /CCForm/JS/MultipleChoiceSmall.js 的方法来完成. break; case "MultipleChoiceSearch": MultipleChoiceSearch(mapExt); //调用 /CCForm/JS/MultipleChoiceSmall.js 的方法来完成. break; case "PopBranchesAndLeaf": //树干叶子模式. Dtl_PopBranchesAndLeaf(mapExt, mapAttr, OID); //调用 /CCForm/JS/Pop.js 的方法来完成. break; case "PopBranches": //树干简单模式. Dtl_PopBranches(mapExt, mapAttr, OID); //调用 /CCForm/JS/Pop.js 的方法来完成. break; case "PopGroupList": //分组模式. PopGroupList(mapExt, mapAttr); //调用 /CCForm/JS/Pop.js 的方法来完成. break; case "PopSelfUrl": //自定义url. SelfUrl(mapExt, mapAttr); //调用 /CCForm/JS/MultipleChoiceSmall.js 的方法来完成. break; case "PopTableSearch": //表格查询. Dtl_PopTableSearch(mapExt, mapAttr, OID); //调用 /CCForm/TableSearch.js 的方法来完成. break; case "PopVal": //PopVal窗返回值. var tb = $('[name$=' + mapExt.AttrOfOper + ']'); tb.attr("onclick", "ShowHelpDiv('TB_" + mapExt.AttrOfOper + "','','" + mapExt.MyPK + "','" + mapExt.FK_MapData + "','returnvalccformpopval');"); tb.attr("ondblclick", "ReturnValCCFormPopValGoogle(this,'" + mapExt.MyPK + "','" + mapExt.FK_MapData + "', " + mapExt.W + "," + mapExt.H + ",'" + GepParaByName("Title", mapExt.AtPara) + "');"); tb.attr('readonly', 'true'); var icon = ''; var popWorkModelStr = ''; var popWorkModelIndex = mapExt.AtPara != undefined ? mapExt.AtPara.indexOf('@PopValWorkModel=') : -1; if (popWorkModelIndex >= 0) { popWorkModelIndex = popWorkModelIndex + '@PopValWorkModel='.length; popWorkModelStr = mapExt.AtPara.substring(popWorkModelIndex, popWorkModelIndex + 1); } switch (popWorkModelStr) { /// /// 自定义URL /// //SelfUrl =1, case "1": icon = "glyphicon glyphicon-th"; break; /// /// 表格模式 /// // TableOnly, case "2": icon = "glyphicon glyphicon-list"; break; /// /// 表格分页模式 /// //TablePage, case "3": icon = "glyphicon glyphicon-list-alt"; break; /// /// 分组模式 /// // Group, case "4": icon = "glyphicon glyphicon-list-alt"; break; /// /// 树展现模式 /// // Tree, case "5": icon = "glyphicon glyphicon-tree-deciduous"; break; /// /// 双实体树 /// // TreeDouble case "6": icon = "glyphicon glyphicon-tree-deciduous"; break; default: break; } tb.width(tb.width() - 40); tb.height('auto'); var eleHtml = '
    ' + tb.parent().html() + '
    '; tb.parent().html(eleHtml); break; case "BindFunction": //控件绑定函数. if ($('#TB_' + mapExt.AttrOfOper).length == 1) { $('#TB_' + mapExt.AttrOfOper).bind(DynamicBind(mapExt, "TB_")); break; } if ($('#DDL_' + mapExt.AttrOfOper).length == 1) { $('#DDL_' + mapExt.AttrOfOper).bind(DynamicBind(mapExt, "DDL_")); break; } if ($('#CB_' + mapExt.AttrOfOper).length == 1) { $('#CB_' + mapExt.AttrOfOper).bind(DynamicBind(mapExt, "CB_")); break; } if ($('#RB_' + mapExt.AttrOfOper).length == 1) { $('#RB_' + mapExt.AttrOfOper).bind(DynamicBind(mapExt, "RB_")); break; } break; case "RegularExpression": //正则表达式 统一在保存和提交时检查 if (mapExt.Tag == "onblur") { var tb = $('[name$=' + "TB_" + mapExt.AttrOfOper + ']'); tb.blur(function () { // 失去焦点 // SetQingJiaTianShu(); }); return; } var tb = $('[name$=' + mapExt.AttrOfOper + ']'); if (tb.attr('class') != undefined && tb.attr('class').indexOf('CheckRegInput') > 0) { break; } else { tb.addClass("CheckRegInput"); tb.data(mapExt) } break; case "InputCheck": //输入检查 break; case "TBFullCtrl": //自动填充 TBFullCtrl(mapExt, mapAttr); break; var tbAuto = $("#TB_" + mapExt.AttrOfOper); if (tbAuto == null) continue; tbAuto.attr("ondblclick", "ReturnValTBFullCtrl(this,'" + mapExt.MyPK + "');"); tbAuto.attr("onkeyup", "DoAnscToFillDiv(this,this.value,\'TB_" + mapExt.AttrOfOper + "\', \'" + mapExt.MyPK + "\');"); tbAuto.attr("AUTOCOMPLETE", "OFF"); if (mapExt.Tag != "") { /* 处理下拉框的选择范围的问题 */ var strs = mapExt.Tag.split('$'); for (var str in strs) { var str = strs[k]; if (str = "") { continue; } var myCtl = str.split(':'); var ctlID = myCtl[0]; var ddlC1 = $("#DDL_" + ctlID); if (ddlC1 == null) { continue; } //如果文本库数值为空,就让其返回. var txt = tbAuto.val(); if (txt == '') continue; } } break; case "ActiveDDL": /*自动初始化ddl的下拉框数据. 下拉框的级联操作 已经 OK*/ var ddlPerant = $("#DDL_" + mapExt.AttrOfOper + "_" + OID); var ddlChild = $("#DDL_" + mapExt.AttrsOfActive + "_" + OID); if (ddlPerant == null || ddlChild == null) continue; ddlPerant.attr("onchange", "DDLAnsc(this.value,\'" + "DDL_" + mapExt.AttrsOfActive + "_" + OID + "\', \'" + mapExt.MyPK + "\',\'" + ddlPerant.val() + "\')"); var valClient = ConvertDefVal(frmData, '', mapExt.AttrsOfActive); // ddlChild.SelectedItemStringVal; //初始化页面时方法加载 DDLAnsc(ddlPerant.val(), "DDL_" + mapExt.AttrsOfActive + "_" + OID, mapExt.MyPK, dbSrc, mapExt.DBType); //ddlChild.select(valClient); 未写 break; case "AutoFullDLL": // 自动填充下拉框. continue; //已经处理了。 case "AutoFull": //自动填充 //a+b=c DOC='@DanJia*@ShuLiang' 等待后续优化 //循环 KEYOFEN //替换@变量 //处理 +-*% if (mapExt.Doc == undefined || mapExt.Doc == '') continue; calculator(mapExt); break; case "AutoFullDtlField": //主表扩展(统计从表) var docs = mapExt.Doc.split("\."); if (docs.length == 3) { var ext = { "DtlNo": docs[0], "FK_MapData": mapExt.FK_MapData, "AttrOfOper": mapExt.AttrOfOper, "Doc": mapExt.Doc, "DtlColumn": docs[1], "exp": docs[2] }; if (!$.isArray(detailExt[ext.DtlNo])) { detailExt[ext.DtlNo] = []; } detailExt[ext.DtlNo].push(ext); var iframeDtl = $("#F" + ext.DtlNo); iframeDtl.load(function () { $(this).contents().find(":input[id=formExt]").val(JSON.stringify(detailExt[ext.DtlNo])); if (this.contentWindow && typeof this.contentWindow.parentStatistics === "function") { this.contentWindow.parentStatistics(detailExt[ext.DtlNo]); } }); $(":input[name=TB_" + ext.AttrOfOper + "]").attr("disabled", true); } break; case "DDLFullCtrl": // 自动填充其他的控件.. var ddlOper = $("#DDL_" + mapExt.AttrOfOper); if (ddlOper.length == 0) continue; var enName = frmData.Sys_MapData[0].No; var dbSrc = mapExt.Doc; //SQL 数据源获取 if (mapExt.DBType == 0) dbSrc = ""; ddlOper.attr("onchange", "Change('" + enName + "');DDLFullCtrl(this.value,\'" + "DDL_" + mapExt.AttrOfOper + "\', \'" + mapExt.MyPK + "\')"); if (mapExt.Tag != null && mapExt.Tag != "") { /* 下拉框填充范围. */ var strs = mapExt.Tag.split('$'); for (var k = 0; k < strs.length; k++) { var str = strs[k]; if (str == "") continue; var myCtl = str.split(':'); var ctlID = myCtl[0]; var ddlC1 = $("#DDL_" + ctlID); if (ddlC1 == null) { //me.Tag = ""; //me.Update(); continue; } //如果触发的dll 数据为空,则不处理. if (ddlOper.val() == "") continue; var sql = myCtl[1].replace(/~/g, "'"); sql = sql.replace("@Key", ddlOper.val()); var operations = ''; ddlC1.children().remove(); ddlC1.html(operations); //ddlC1.SetSelectItem(valC1); } } break; } } } /****************************************** 树干枝叶模式 **********************************/ function Dtl_PopBranchesAndLeaf(mapExt, mapAttr, OID) { if (mapAttr.UIVisible == 0) { return; } var attrOfOper = mapExt.AttrOfOper + "_" + OID; var ctrlID = "TB_" + mapExt.AttrOfOper + "_" + OID; var target = $("#" + ctrlID); target.hide(); var parentTarget = target.parent(); if (mapAttr.UIIsEnable != 0 && mapAttr.UIVisible != 0) { //增加a标签 var aLink = $(''); aLink.on('tap', function () { viewApi.go("#branchesAndLeaf"); initBranchesLPage(mapExt, OID, attrOfOper); }); aLink.append($('

    请选择

    ')); parentTarget.append(aLink); } //增加显示选择结果行 var width = target.width(); var height = target.height(); var container = $("
    "); parentTarget.after(container); container.attr("id", attrOfOper + "_mtags"); $("#" + attrOfOper + "_mtags").mtags({ "fit": true, "onUnselect": function (record) { DeleteFrmEleDB(attrOfOper, OID, record.No); var mtags = $("#" + ctrlID + "_mtags i"); var len = mtags.length; var RemoveFunc = mapExt.GetPara("RemoveFunc"); if (RemoveFunc) { if (RemoveFunc.indexOf("(") == -1) { RemoveFunc = RemoveFunc + "('" + record.No + "','" + len + "')"; } else { var para = record.No + "','" + len; RemoveFunc = replaceAll(RemoveFunc, "Key", para); RemoveFunc = replaceAll(RemoveFunc, "~", "'"); } //调用移除函数 DBAccess.RunDBSrc(RemoveFunc, mapExt.DBType,mapExt.FK_DBSrc); } console.log("unselect: " + JSON.stringify(record)); } }); //初始加载 Refresh_Mtags(mapExt.FK_MapData, attrOfOper, OID, mapAttr); return; } /****************************************** 树干模式 **********************************/ function Dtl_PopBranches(mapExt, mapAttr, OID) { if (mapAttr.UIVisible == 0) { return; } var attrOfOper = mapExt.AttrOfOper + "_" + OID; var ctrlID = "TB_" + mapExt.AttrOfOper + "_" + OID; var target = $("#" + ctrlID); target.hide(); var parentTarget = target.parent(); var oid = GetPKVal(); if (mapAttr.UIIsEnable != 0 && mapAttr.UIVisible != 0) { //增加a标签 var aLink = $(''); aLink.on('tap', function () { viewApi.go("#branches"); initBranchesPage(mapExt, OID, attrOfOper); }); aLink.append($('

    请选择

    ')); parentTarget.append(aLink); } //增加显示选择结果行 var width = target.width(); var height = target.height(); var container = $("
    "); parentTarget.after(container); container.attr("id", attrOfOper + "_mtags"); $("#" + attrOfOper + "_mtags").mtags({ "fit": true, "onUnselect": function (record) { console.log("unselect: " + JSON.stringify(record)); DeleteFrmEleDB(attrOfOper, OID, record.No); var mtags = $("#" + attrOfOper + "_mtags i"); var len = mtags.length; var RemoveFunc = mapExt.GetPara("RemoveFunc"); if (RemoveFunc) { if (RemoveFunc.indexOf("(") == -1) { RemoveFunc = RemoveFunc + "('" + record.No + "','" + len + "')"; } else { var para = record.No + "','" + len; RemoveFunc = replaceAll(RemoveFunc, "Key", para); RemoveFunc = replaceAll(RemoveFunc, "~", "'"); } //调用移除函数 DBAccess.RunDBSrc(RemoveFunc, mapExt.DBType, mapExt.FK_DBSrc); } } }); //初始加载 Refresh_Mtags(mapExt.FK_MapData, attrOfOper, OID, mapAttr); } /****************************************** 表格查询 **********************************/ function Dtl_PopTableSearch(mapExt, mapAttr, OID) { if (mapAttr.UIVisible == 0) { return; } var attrOfOper = mapExt.AttrOfOper + "_" + OID; var ctrlID = "TB_" + mapExt.AttrOfOper + "_" + OID; var target = $("#" + ctrlID); target.hide(); var parentTarget = target.parent(); var oid = OID; if (mapAttr.UIIsEnable != 0 && mapAttr.UIVisible != 0) { //增加a标签 var aLink = $(''); aLink.on('tap', function () { viewApi.go("#tableSearch"); initTableSPage(mapExt, oid, attrOfOper); }); aLink.append($('

    请选择

    ')); parentTarget.append(aLink); } //增加显示选择结果行 var width = target.width(); var height = target.height(); var container = $("
    "); parentTarget.after(container); container.attr("id", attrOfOper + "_mtags"); $("#" + attrOfOper + "_mtags").mtags({ "fit": true, "onUnselect": function (record) { DeleteFrmEleDB(attrOfOper, oid, record.No); } }); //初始加载 Refresh_Mtags(mapExt.FK_MapData, attrOfOper, oid, mapAttr); }