企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
1、调用平台AJAX方法,把结果赋值给主表某个字段 //参数1:为SQL逻辑编码,参数2:SQL逻辑参数(多个参数以|分隔) var odr = _curClass.ExecSQL("T_OA_HT_Info_GenMaxOdr","@P1=002|@P2=经营").value; //把结果赋值给主表字段 _sys.setValue("SheetNo",odr); 2、新建记录时子表自动增加8行 jQuery(function(){ if(_isNew){ for(var i=0;i<8;i++){ //参数为子表名 _fnSubAdd("T_BX_JKD_MX"); } } } 3、新建记录时,调用平台AJAX方法,查询数据集,并填充到子表中 示例1: jQuery(function(){ if(_isNew){ var keys=[]; keys.push("@P1=002"); keys.push("@P2=经营"); var ret = _curClass.GetDataTable("T_OA_HT_Info_GetTypes",keys.join("|")); if(ret.error) { alert(ret.error.Message);//提示错误信息 } else{ var dt = ret.value; for(var i=0;i<dt.Rows.length;i++){ var tcode = dt.Rows[i].ItemCode; var tname = dt.Rows[i].ItemName; var rowId = _fnSubAdd("T_BX_JKD_MX",true); //给子表字段赋值 _sys.setValue("ItemCode",tcode,false,rowId); _sys.setValue("ItemName",tname,false,rowId); } } } }); 示例2: jQuery(function(){ if(_isNew){ var keys=[]; keys.push("@P1=002"); keys.push("@P2=经营"); var ret = _curClass.GetDataTable("T_OA_HT_Info_GetTypes",keys.join("|")); if(ret.error) { alert(ret.error.Message);//提示错误信息 } else{ var dt = ret.value; for(var i=0;i<dt.Rows.length;i++){ var tcode = dt.Rows[i].ItemCode; var tname = dt.Rows[i].ItemName; var rowData = {"ItemCode":tcode,"ItemName":tname}; var rowId = _fnSubAdd("T_BX_JKD_MX",true,rowData); } } } }); 4、在编辑界面遍历子表行集 $("#btnTest").click(function(){ //数据行的tr对象class=dataRow,T_BX_JKD_MX为子表名 $("#T_BX_JKD_MX .dataRow").each(function(i,tr){ var rowId = tr.id; var fv = _sys.getValue("FYMC",false,rowId); alert(fv); }); }); 5、绑定字段事件 jQuery(function(){   //示例1:通过class(主表名+_+字段名)绑定修改事件,适用于主表字段   $(".T_BX_JKD_PrjName").change(function(){       $(this).css("color","blue");   }); 6、自定义保存前验证事件 function _sysBeforeSave(){ var mc = _sys.getValue("PrjName"); if(mc == ""){ alert("项目名称不能为空!"); return false; } return true; } 7、子表添加行后事件 function _T_BX_JKD_MX_AfterAdd(newOdr , rowId){ //给子表字段赋值 _sys.setValue("FYMC","添加行"+newOdr,false,rowId); } 8、动态改变字段的必填属性 $(".T_BX_JKD_HtType").change(function(){ var htType = _sys.getValue("HtType"); if(htType=="01") _sys.getField("attachId").empty="1"; //当合同类型编码为01时必须上传附件 else _sys.getField("attachId").empty="0"; }); 9、根据过滤条件合计子表字段值 $("#btnTest").click({ var s=0; s = _sumSubField("T_BX_JKD_MX","JE",function(rowId){ var zy=_sys.getValue("ZY",false,rowId); return zy=="是"; }); alert(s); return false; }); 10、子表字段change事件中,修改同一行其它字段的值 $(".T_BX_JKD_MX_FYBH").live("change",function(){ //首先要获取当前行id var rowId = $(this).closest(".dataRow").attr("id"); //也可以使用函数 _getRowId(this.id) 获取行id _sys.setValue("FYBH","122",false,rowId); }); 11、自定义HTML5 EmptyValue 属性,<双击选择> $("#xxx").prop("readonly",true).emptyValue("<请双击选择树>"); 12、自定义子表字段校验程序(当“支付方式”字段为非现金时,收款帐户信息必填) function _sysBeforeSave(){ var flag=true; //循环子表,数据行的tr对象class=dataRow $("#T_FC_JY_FKDJ_MX .dataRow").each(function(i,tr){ var rowId = tr.id; var fv = _sys.getValue("FKFS",false,rowId); var f1 = _sys.getValue("SKZH",false,rowId); var f2 = _sys.getValue("SKHM",false,rowId); var f3 = _sys.getValue("SKKHH",false,rowId); if(fv!="现金" && (f1=="" || f2=="" || f3=="")){ alert("收款账号、收款账户、开户行不能为空!"); flag=false; return false; } }); if(!flag) return false; return true; }