342 lines
14 KiB
JavaScript
342 lines
14 KiB
JavaScript
<script src="/cloudstore/release/caa2c848ca50448b882137cb82ffb9a5/index.js"></script>
|
||
|
||
|
||
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<rowArr.length; i++){
|
||
// var rowIndex = rowArr[i];
|
||
// if(rowIndex !== ""){
|
||
// var fieldMark = "field111_"+rowIndex; //遍历明细行字段
|
||
// }
|
||
// }
|
||
}
|
||
|
||
/**
|
||
添加明细行并设置初始值
|
||
* 参数 参数类型 必须 说明
|
||
* detailMark String 是 明细表标示,明细1就是detail_1,以此递增类推
|
||
* initAddRowData JSON 否 给新增后设置初始值,格式为{field110:{value:”11”},field112:{value:”22”},…},注意key不带下划线标示
|
||
* @param detailMark
|
||
* @param initAddRowData
|
||
*/
|
||
WfForm.addDetailRow = function (detailMark, initAddRowData = {}) {
|
||
// //明细2添加一行并给新添加的行字段field111赋值
|
||
// WfForm.addDetailRow("detail_2",{field111:{value:"初始值"}});
|
||
// //添加一行并给浏览按钮字段赋值
|
||
// WfForm.addDetailRow("detail_2",{field222:{
|
||
// value: "2,3",
|
||
// specialobj:[
|
||
// {id:"2",name:"张三"},
|
||
// {id:"3",name:"李四"}
|
||
// ]
|
||
// }});
|
||
// //动态字段赋值,明细1添加一行并给字段名称为begindate的字段赋值
|
||
// var begindatefield = WfForm.convertFieldNameToId("begindate", "detail_1");
|
||
// var addObj = {};
|
||
// addObj[begindatefield] = {value:"2019-03-01"};
|
||
// WfForm.addDetailRow("detail_1", addObj);
|
||
// //不推荐这种动态键值写法,IE不支持,避免掉
|
||
// WfForm.addDetailRow("detail_1",{[begindatefield]:{value:"2019-03-01"}})
|
||
}
|
||
|
||
/**
|
||
* 系统样式的Confirm确认框
|
||
* 参数 参数类型 必须 说明
|
||
* content String 是 确认信息
|
||
* okEvent Function 是 点击确认事件
|
||
* cancelEvent Function 否 点击取消事件
|
||
* otherInfo Object 否 自定义信息(按钮名称)
|
||
* @param content
|
||
* @param okEvent
|
||
* @param cancelEvent
|
||
* @param otherInfo
|
||
*/
|
||
WfForm.showConfirm = function (content, okEvent, cancelEvent, otherInfo = {}) {
|
||
// WfForm.showConfirm("确认删除吗?", function(){
|
||
// alert("删除成功");
|
||
// });
|
||
// WfForm.showConfirm("请问你是否需要技术协助?",function(){
|
||
// alert("点击确认调用的事件");
|
||
// },function(){
|
||
// alert("点击取消调用的事件");
|
||
// },{
|
||
// title:"信息确认", //弹确认框的title,仅PC端有效
|
||
// okText:"需要", //自定义确认按钮名称
|
||
// cancelText:"不需要" //自定义取消按钮名称
|
||
// });
|
||
}
|
||
|
||
/* ******************* 建模表开发依赖 ******************* */
|
||
|
||
const ModeList = {
|
||
/**
|
||
* getCheckedID: function()
|
||
*
|
||
* 描述: 选中的checkbox的值(主表数据ID)
|
||
* @returns {undefined}
|
||
*/
|
||
getCheckedID() {
|
||
return undefined;
|
||
},
|
||
/**
|
||
* showLoading: function(show, size, msg)
|
||
*
|
||
* 描述: 控制全局loading的显示/隐藏
|
||
* @param show
|
||
* @param size
|
||
* @param msg
|
||
*/
|
||
showLoading(show, size, msg) {
|
||
|
||
}
|
||
}
|
||
ModeList.dataLoadAfter = function (data) {
|
||
// 描述:在列表数据加载完,对列表的数据进行二次加工,并渲染。 dataLoadAfter传入dataHandle方法,用来接收并处理数据,dataHandle有两个参数。
|
||
// var dataHandle = function(datas,displayType){
|
||
// //Changes to 'datas' do not directly modify the real database data, but modify the data received at the front end.
|
||
// var newDatas = datas;
|
||
// if(displayType == 'normal'){
|
||
// console.log(newDatas);
|
||
// }
|
||
// return newDatas;
|
||
// }
|
||
// ModeList.dataLoadAfter(dataHandle);
|
||
};
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|