About jishuang

该作者尚未填入任何详情
So far jishuang has created 559 blog entries.

自定义action返回的数据如何以新增的状态加载给data

自定义action返回的数据加载给data可以参考 http://docs.wex5.com/bex5-ui-question-list-10069/ 如果要新增的方式加载给data,可以在action的Table返回前遍历Table设置设置行状态,如下: public static Table loadData() throws InterruptedException { String ksql = "select rq, rq.fName ,rq.fCode,rq.fRQ, rq.fRQSJ from AP_RQ rq where rq.fName = 'aaaa'";//需要查询数据的ksql Table table = KSQL.select(ksql, null, "/appdemo/test/data", null);//调用平台提供的API执行sql,并返回table Iterator<Row> rows [...]

报错”请求错误编码:200, 刷新数据失败! “

查询数据时前端报错如下: Uncaught Error: __justepServerErrorStart__{"message":"请求错误编码:200, 刷新数据失败! ","reason":"","code":"","stack":"","messages":[] 但后端应用服务(tmocat等)未报错时,把 runtime\UIServer\WEB-INF\justep.xml中 <request-use-base64>false</request-use-base64> 配置的false改为true 然后保存重启应用服务(tmocat等) 这个错误是一般是因为网络进行了安全设置对某些特殊字符进行了拦截,而在查询数据时传的参数(拼的过滤条件)等包含这些特殊字符,导致被拦截了

grid中的input如何控制最大长度

控制最大长度需要通过maxlength属性控制 可以在grid中的input的onFocus事件中如下控制: Model.prototype.input2Focus = function(event) { var grid = this.comp("mainGrid"); var data = this.comp("mainData"); var rowid = data.getCurrentRowID(); var cell = grid.getCell(rowid, "fName");//获取要控制长度的cell,fName是input关联的data的action grid.editCell(cell); $(cell).find("input").attr("maxlength", 10); }; mainGrid是grid的xid mainData是data的xid

如何判断流程是否流转到了结束

如果要判断流转是否流转到结束,然后加自己的操作逻辑可以在process组件的onAdvanceCommit事件中判断 如下: Model.prototype.processAdvanceCommit = function(event){ var processControl = event.processControl;//获取流转信息processControl var toItems = processControl.getToItems();//获取环节相应的流转信息 if (toItems) { var unit = toItems[0].getUnit();//获取环节 if(unit == "end1"){//end1就是process文件中结束环节的name属性的值 alert("end"); } } };

待办任务中如何显示业务字段的值

待办任务中的信息默认显示都是SA_Task中的字段信息,如果要显示业务字段的值,可以把业务字段的值存到SA_Task 平台默认提供了sData1、sData2、sData3、sData4是用于存储业务数据的字段,其中sData1中平台默认存储的业务数据的主键值,用于任务数据业务数据关联 sData2、sData3、sData4可以自己填充业务数据,因此可以把要在待办任务中显示的业务字段的信息存储到这3个字段中 如下,在process组件的onBeforeStart中把业务数据存储到sData2 Model.prototype.processBeforeStart = function(event){ var data = this.comp("mainData"); var fCode = data.getValueByID("fCode", event.relations["sData1"]); event.relations["sData2"] = fCode; }; 操作sData2还可以参考http://docs.wex5.com/bex5-process-question-list-10044/ 然后通过扩展空间修改在待办任务页面/UI2/SA/task/taskView/waitActivity.w 在list中放output设置bind-ref为sData2关系

list中显示attachmentSimple上传的多张图片

list中显示attachmentSimple上传的一张图片可以在对应的col中放image组件,然后获取图片的url给image的src显示 如果显示attachmentSimple上传的多张图片,显然放一个image组件无法显示多个,这时可以不放image组件,在col的bind-html中关联函数,函数中返回要显示的image即可 需要注意的时,在bind-html中调用函数中把当前行的rowID和附件关联的关系的值做参数传递 bizData中默认的概念就代表关系,因此在设置当前行rowID的值是可以用val("bizData中concept的值") 具体实现参考如下:   getImgURL函数的实现代码: Model.prototype.getImgURL = function(rowID, fFJ) { if (fFJ && fFJ != '[]') { var jsonList = eval("(" + fFJ + ")"); var ownerID = rowID; var html = [...]

如何设置首页的widget不允许删除

PC端门户首页中的widget默认有关闭按钮可以删除widget 如果要控制widget不允许删除,可以通过控制关闭按钮不显示实现 控制所有的widget都不允许删除,可以在/UI2/portal/pc/main/main.w的model的onload事件最后中如下控制 $(".x-widget-close").addClass('hide'); 控制某个widget不允许删除,如下控制 $("div[widgetid='TaskWaiting']").find(".x-widget-close").addClass('hide'); 说明:TaskWaiting是XX.widget.xml文件中配置的widget对应的item节点中id的属性值

如何控制强制修改初始密码

平台默认在/BIZ/system/config/sys.config.m配置文件中的配置初始化密码,因此默认的每个人的登录初始密码都是一样的 如果要控制用户登录后修改密码没有修改不让操作功能,可以在登录后控制 如下: 1.在/BIZ/SA/OPM/system/system.process.m中loginAction执行后事件,获取输入的密码跟配置的初始化密码做对比,如果一致可以用session中设置一个值 public static void systemProcessAfterLoginAction() { String pwd = (String) ContextHelper.getActionContext().getParameter("pwd");//获取输入的密码 String curPsw = OrgUtils.saltPassword(pwd);//对输入的密码进行转换 String defaultPsw = OrgUtils.getDefauletEncryptPassword();//获取的配置文件中配置的初始化密码 //和初始密码一致 HttpSession session = ContextHelper.getSessionContext().getSession(); if (curPsw.toUpperCase().equals(defaultPsw)){ session.setAttribute("pwdValue", "default"); } else session.setAttribute("pwdValue", [...]