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