const ecodeSDK = {} ecodeSDK.setCom = (id, name, Com) => { } ecodeSDK.imp = (obj) => { } ecodeSDK.exp = (obj) => { } const WfForm = { isMobile: () => { // true表示是eMobile、微信、钉钉等移动终端,false代表PC端 }, /** * 4.6 函数式自定义渲染表单字段 * 最低版本要求:KB900190701 * * 以函数返回值方式自定义渲染表单字段,支持全部的字段类型,可实现基于原组件追加/复写/重新布局等等 * * 建议结合ecode工具,放到模块加载前调用,使用JSX,可实现与表单字段渲染有关的二次开发 * * 此接口的优先级高于4.4、4.5,即使用此接口代理的字段,如再使用4.4、4.5会直接无效 * * proxyFieldContentComp: function(fieldid,fn) * @param convertFieldNameToId * @param customerRender */ proxyFieldContentComp(convertFieldNameToId, customerRender = (info, compFn) => { // console.log("字段id:",info.fieldid); // console.log("明细行号:",info.rowIndex); // console.log("字段只读必填属性:",info.viewAttr); // console.log("字段值:",info.fieldValue); // //返回自定义渲染的组件 // return React.createElement("div", {}, ["想怎么玩就怎么玩"]); // //返回原组件 // return compFn(); // //返回基于原组件的复写组件 // return React.createElement("div", {}, ["前置组件",compFn(),"后置组件"]); } ) { }, /** * //如果此接口调用在代码块、custompage等(非模块加载前调用),需强制渲染字段一次 * WfForm.forceRenderField("field111"); * @param field */ forceRenderField(field) { }, // 说明:手动触发一次字段涉及的所有联动,包括字段联动、SQL联动、日期时间计算、字段赋值、公式、行列规则、显示属性联动、选择框联动、bindPropertyChange事件绑定等 // // 场景:触发出的子流程打开默认不执行字段联动、归档节点查看表单不执行联动,可通过此接口实现 // // triggerFieldAllLinkage:function(fieldMark) triggerFieldAllLinkage(s) { //表单打开强制执行某字段的联动 // jQuery(document).ready(function(){ // WfForm.triggerFieldAllLinkage("field110"); //执行字段涉及的所有联动 // }); }, // 5.2 删除明细表指定行/全部行 // delDetailRow: function(detailMark, rowIndexMark) // // 说明:此方法会清空明细已选情况,删除时没有提示”是否删除”的确认框 // // 参数说明 // // 参数 参数类型 必须 说明 // detailMark String 是 明细表标示,明细1就是detail_1,以此递增类推 // rowIndexMark String 是 需要删除的行标示,删除全部行:all,删除部分行:”1,2,3” delDetailRow(tableName, all) { WfForm.delDetailRow("detail_1", "all"); //删除明细1所有行 WfForm.delDetailRow("detail_1", "3,6"); //删除明细1行标为3,6的行 } } WfForm.OPER_SAVE = '保存' WfForm.OPER_SUBMIT = '提交/批准/提交需反馈/不需反馈等' WfForm.OPER_SUBMITCONFIRM = '提交至确认页面,如果是确认界面,点确认触发的是SUBMIT' WfForm.OPER_REJECT = '退回' WfForm.OPER_REMARK = '批注提交' WfForm.OPER_INTERVENE = '干预' WfForm.OPER_FORWARD = '转发' WfForm.OPER_TAKEBACK = '强制收回' WfForm.OPER_DELETE = '删除' WfForm.OPER_ADDROW = '添加明细行,需拼明细表序号' WfForm.OPER_DELROW = '删除明细行,需拼明细表序号' WfForm.OPER_PRINTPREVIEW = '打印预览 KB900190501' WfForm.OPER_EDITDETAILROW = '移动端-编辑明细 KB900191101' WfForm.OPER_BEFOREVERIFY = '校验必填前触发事件 KB900191201' WfForm.OPER_TURNHANDLE = '转办 KB900201101' WfForm.OPER_ASKOPINION = '意见征询 KB900201101' WfForm.OPER_TAKFROWARD = '征询转办 KB900201101' WfForm.OPER_TURNREAD = '传阅 KB900201101' WfForm.OPER_FORCEOVER = '强制归档 KB900201101' WfForm.OPER_BEFORECLICKBTN = '点右键按钮前 KB900201101' WfForm.OPER_SAVECOMPLETE = '保存后页面跳转前 KB900210501' WfForm.OPER_WITHDRAW = '撤回 KB900201101' WfForm.OPER_CLOSE = '页面关闭' /** * 注册流程事件 * @param type * @param callback */ WfForm.registerCheckEvent = (type, callback = (callback) = {}) => { // WfForm.registerCheckEvent(WfForm.OPER_SAVE+","+WfForm.OPER_SUBMIT,function(callback){ // //... 执行自定义逻辑 // callback(); // }); } WfForm.ACTION_ADDROW = '添加明细行,需拼明细表序号 KB900190407' WfForm.ACTION_DELROW = '删除明细行,需拼明细表序号 KB900190407' WfForm.ACTION_EDITDETAILROW = '移动端-编辑明细行,需拼明细表序号 KB900190501' WfForm.ACTION_SWITCHDETAILPAGING = '切换明细分页 KB900191201' WfForm.ACTION_SWITCHTABLAYOUT = '切换模板布局标签页 KB900191201' WfForm.registerAction = (type, callback) => { // WfForm.registerAction(WfForm.ACTION_ADDROW+"1", function(index){ // alert("添加行下标是"+index); // }); //下标从1开始,明细1添加行触发事件,注册函数入参为新添加行下标 // WfForm.registerAction(WfForm.ACTION_DELROW+"2", function(arg){ // alert("删除行下标集合是"+arg.join(",")); // }); //下标从1开始,明细2删除行触发事件 // WfForm.registerAction(WfForm.ACTION_SWITCHDETAILPAGING, function(groupid){ // alert("切换明细表"+(groupid+1)+"的页码触发事件"); // }); // WfForm.registerAction(WfForm.ACTION_SWITCHTABLAYOUT, function(tabid){ // alert("切换到标签项"+tabid+"触发事件"); // }); } WfForm.convertFieldNameToId = (fieldName, table, flag) => { // var fieldid = WfForm.convertFieldNameToId("zs"); // var fieldid = WfForm.convertFieldNameToId("zs_mx", "detail_1"); // var fieldid = WfForm.convertFieldNameToId("zs_mx", "detail_1", false); } WfForm.getFieldValue = function (fieldMark) { // fieldMark String 是 字段标示,格式field${字段ID}_${明细行号} // var fieldvalue = WfForm.getFieldValue("field110"); } WfForm.bindFieldChangeEvent = function (fieldMarkStr, funobj = (obj, id, value) => { }) { // fieldMarkStr String 是 绑定字段标示,可多个拼接逗号隔开,例如:field110(主字段),field111_2(明细字段)…… // funobj Function 是 字段值变化触发的自定义函数,函数默认传递以下三个参数,参数1:触发字段的DOM对象,参数2:触发字段的标示(field27555等),参数3:修改后的值 // WfForm.bindFieldChangeEvent("field27555,field27556", function (obj, id, value) { // console.log("WfForm.bindFieldChangeEvent--", obj, id, value); // }); } WfForm.bindDetailFieldChangeEvent = function (fieldMarkStr, funobj = (id, rowIndex, value) => { }) { } WfForm.controlBtnDisabled = function (isDisabled) { // isDisabled boolean 是 true:按钮全部置灰不可操作,false:恢复按钮可操作状态 // function subimtForm(params){ // WfForm.controlBtnDisabled(true); //操作按钮置灰 // ... // WfForm.controlBtnDisabled(false); // } } WfForm.showMessage = function (msg, type, duration) { // 参数 参数类型 必须 说明 // msg String true 提示信息内容 // type int false 提示类型,1(警告)、2(错误)、3(成功)、4(一般),默认为1,不同类型提示信息效果不同 // duration Float false 多长时间自动消失,单位秒,默认为1.5秒 // WfForm.showMessage("结束时间需大于开始时间"); //警告信息,1.5s后自动消失 // WfForm.showMessage("运算错误", 2, 10); //错误信息,10s后消失 } WfForm.getBaseInfo = function () { // console.log(WfForm.getBaseInfo()); //返回当前请求基础信息 // //输出对象说明: return { f_weaver_belongto_userid: "5240", //用户信息 f_weaver_belongto_usertype: "0", formid: -2010, //表单id isbill: "1", //新表单/老表单 nodeid: 19275, //节点id requestid: 4487931, //请求id workflowid: 16084, //路径id } } WfForm.changeFieldValue = function (fieldMark, valueInfo) { // fieldMark String 是 字段标示,格式field${字段ID}_${明细行号} // valueInfo JSON 是 字段值信息,非浏览按钮字段格式为{value:”修改的值”};specialobj为浏览按钮信息,数组格式;showhtml属性只在单行文本类型且只读情况下生效; //修改文本框、多行文本、选择框等字段类型 // WfForm.changeFieldValue("field123", {value:"1.234"}); // //修改浏览框字段的值,必须有specialobj数组结构对象 // WfForm.changeFieldValue("field11_2", { // value: "2,3", // specialobj:[ // {id:"2",name:"张三"}, // {id:"3",name:"李四"} // ] // }); // //修改check框字段(0不勾选、1勾选) // WfForm.changeFieldValue("field123", {value:"1"}); // //针对单行文本框字段类型,只读情况,支持显示值跟入库值不一致 // WfForm.changeFieldValue("field123", { // value: "入库真实值", // specialobj: { // showhtml: "界面显示值" // } // }); } /** * 获取流览框显示值 * fieldMark String 是 字段标示,格式field${字段ID}_${明细行号} * splitChar String 否 分隔符,默认以逗号分隔 * @param fieldMark * @param splitChar */ WfForm.getBrowserShowName = function (fieldMark, splitChar) { } /** * 获取明细行所有行标示 * @param detailMark */ WfForm.getDetailAllRowIndexStr = function (detailMark) { // 遍历明细行的写法 // var rowArr = WfForm.getDetailAllRowIndexStr("detail_1").split(","); // for(var i=0; i