About jishuang

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

richTextarea修改可选择字体

richTextarea组件其实用的就是百度文本编辑,要修改默认的配置,可以先到网上查找百度文本编辑器怎么修改,一般都是修改的ueditor.config.js文件,在X5中对应的就是/UI2/system/components/justep/richTextarea/umeditor/umeditor.config.js 增加可选择的字体如下操作: 在这个js文件中找到 var UMEDITOR_CONFIG = {中的fontfamily配置(不是toolbarfontfamily上的),默认是注释的,可以把注释放开然后配置自己字体下拉中要实现的字体,如下: //fontfamily //字体设置 ,'fontfamily':[ { name: 'songti', val: '宋体,SimSun'}, { name: 'fangsong', val: '仿宋,FangSong'}, { name: 'fangsong_gb2312', val: '仿宋_GB2312,FangSong_GB2312'}, { name: 'yahei', val: '微软雅黑,Microsoft YaHei'}, { name: 'kaiti', [...]

流程控制附言必填

平台默认提供的流转对话框中都有附言的填写,但不是要求必填,如果自己要在回退、流转等不同的操作控制附言必填可以如下: 回退时附言信息必填 回退的时候如果要求附言信息必须填写参考下面的步骤 修改的文件是/UI2/system/service/process/dialog/processDialog.m.w以及对应的js文件/UI2/system/service/process/dialog/processDialog.m.js 1.把controlData这个data上默认带的这个条记录删除,然后把autoLoad设置为false,autoNew设置为true 2.在controlData这个data上右键设置规则,设置postscript这个关系的必填规则为:$model.flowToExecutorReadonly(也可以设置为:$model.action == 'backQuery') 如下: 3.在对应的js文件Model.prototype.updateControl的函数定义中把 var postscript = controlData.val("postscript") || ""; this.control.setPostscript(postscript); 改为 var controlData = this.comp("controlData"); if (controlData.saveData()) { var postscript = controlData.val("postscript") || ""; this.control.setPostscript(postscript); [...]

KSQL中关联查询的概念对应的数据库跨库了怎么处理?

方案一、如果是oracle\mssql数据库可以通过设置同义词以及授权来实现 oracle中同义词的用法http://www.2cto.com/database/201109/106257.html mysq中是应该没有同义词的设置,但可以模拟一个http://www.tuicool.com/articles/QfuU7n   方案二.可以在数据库中定义视图   注意:如果两个概念是在不同的页面模块中是需要引用的,打开本模块data目录中的model.config.xml文件,include其它模块的data目录 或者是在data目录中的model.config.xml文件,use其它模块的data目录,在mapping文件中添加引用的概念的store

扩展某个具体流程功能的流转对话框

流程process组件有dialog属性,可以设置不同的功能使用不同的流转对话框,如果要实现具体某些功能的流转对话框有不同的控制,可以直接设置dialog属性,为自己添加了控制的流转对话框 扩展流转对话框简单的操作如下: 1.在UI2下自己的功能目录下创建一个processDialog目录,把/UI2/system/service/process/dialog/processDialog.w、/UI2/system/service/process/dialog/processDialog.js、/UI2/system/service/process/dialog/processDialog.m.w和/UI2/system/service/process/dialog/processDialog.m.js这四个文件拷贝到自己创建的目录下 2.修改拷贝的processDialog.js和processDialog.m.js文件中的var OrgKinds = require("./orgKinds");为:var OrgKinds = require("$UI/system/service/process/dialog/orgKinds"); 3.修改拷贝的processDialog.w文件中window组件的extends属性值,路径设置为拷贝到自己目录下的processDialog.m.w路径 然后就可以在拷贝的processDialog.w和对应的js文件进行自己的扩展,扩展后设置process组件上的dialog属性值为自己目录下的processDialog.w文件 注意可能有些组件或节点上没有xid,设计器上是不能修改的,如果要修改设置一下xid即可(processDialog.w是继承processDialog.m.w的,如果processDialog.w中xid为灰色不能设置的要在processDialog.m.w中设置xid) 例如:控制高级这个按钮在某些写情况下可用,定位到高级这个button按钮,设置xid,然后就可以通过bind-disabled控制是否可用 如果要在流转对话框中获取流程表单中的业务数据可以通过下面两种方案 说明: data的xid:业务表单中的.w中的bizData的xid XX:要获取的业务bizData中具体关系值的关系名 方案一:用this.getParent().comp("data的xid").getValue("XX")获取具体的关系的值 方案二:在process组件上可以自定义属性,属性名可以用bind-attr的格式开头,这样属性值就可以直接用$model.data的xid.val('XXX')设置 如bind-attr-value="$model.mainData.val('fName')",在流转对话框中获取值用$(this.getParent().getElementByXid("process")).attr("value"); process:.w中process组件的xid,value:自定义的属性名(只需要bind-attr-后面的即可)

服务端控制台报错javax.naming.NameNotFoundException: Name XXX is not bound in this Context

当登录或者模版中操作数据库时报在模块下获取数据库连接出错,Name XXX is not bound in this Context这样的错误 如下: com.justep.exception.BusinessException: 编码: JUSTEP150055; 提示: 在模块"/OA"下获取数据库连接出错 at com.justep.exception.BusinessException.create(Unknown Source) at com.justep.system.data.Transaction.getConnection(Unknown Source) at com.justep.system.data.Transaction.getConnection(Unknown Source) at com.justep.model.ModelUtils.getConnection(Unknown Source) ... 31 more Caused by: javax.naming.NameNotFoundException: Name oa [...]

报表分页打印时最后一页数据不够一页补充空行

报表分页打印要求最后一页报表数据不够一下空行填充可以用批注控制如下: 加批注auto-fill-row:true与record-per-page:12都设置在加select的那个单元格上 record-per-page是设置一页显示多少行数据,数据够不的时候用用空行填充 比如最后一页数据只有6条,分页设置的是12,那么打印的时候就会再后面加6条空行

调用action给object类型参数传json

action的参数类型有String、Integer、Long、Double、Float、DateTime、Date、Time、Boolean、Decimal、List、Map、Object、Xml、Table 如果要传json格式的数据需要把action中的参数类型设置为Object action的调用分两种情况 第一种:在x5平台内部调用使用X5提供的调用action的API,需要自己构造ObjectParam类型的参数 如下: var context = this.getContext(); var valuejson = {"id":"1","fSendName":"快递","fCost":"免邮","fState":"1"}; // 构造参数 var param = new biz.Request.ActionParam(); var objectParam = new biz.Request.ObjectParam(valuejson); param.setObject("jsonParam", objectParam); // 调用动作 biz.Request.sendBizRequest({ "context" : context, "action" [...]

手动结束通知

流程的通知规则把“打开时自动结束”勾选去掉了以及代码生成的通知如何结束呢? 可以自己在.w页面放放一个button按钮调用平台提供的结束finishTaskAction去结束通知 如下: Model.prototype.button28Click = function(event){ var context = this.getContext() var param = new biz.Request.ActionParam(); param.setString("task", context.getTask()); biz.Request.sendBizRequest({ "context" : context, "action" : "finishTaskAction", "parameters":param }); };