起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: tlkj

[处理中] 预览图片

[复制链接]

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-8-29 14:45:22 | 显示全部楼层
我在windowReceiver组件的onReceiver事件中已经取到了这个task_id任务id, event.data.task_id

这个过滤是应该写到这个modelLoad这个事件里面去吧,那我在这个事件里面我应该怎么获取到这个task_id啊?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-8-29 15:05:48 | 显示全部楼层
直接在onReceiver事件中过滤数据就可以,不是必须在onload中去过滤数据
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-8-29 15:50:26 | 显示全部楼层
本帖最后由 tlkj 于 2016-8-29 15:56 编辑

请问下这是什么情况啊?var task_id = event.data.task_id;
                data.setFilter("filter1", "takePhoto.task_id ='" + task_id + "'");

是因为没有匹配的值吗?

excute stream action, params:{"accept":"application/json","action":"createTakePhotoAction","actionFlag":"__action_0__","activity":"rwcx","contentType":"json","executeContext":"","executor":"","parameters":{"table":{"@type":"table","rows":[],"userdata":{"idColumnDefine":"takePhoto","idColumnName":"takePhoto","idColumnType":"Integer","model":"/qx/qx/data","relationAlias":"task_id,timestamp,uploadAddr,user_id","relationTypes":"Integer,DateTime,Text,String","relations":"takePhoto.task_id,takePhoto.timestamp,takePhoto.uploadAddr,takePhoto.user_id","updateMode":"whereAll"}}},"process":"/qx/qx/process/sc_rwcx/sc_rwcxProcess","translateParameter":{"cellnameByRelation":false,"dataType":"row-list","includeState":true,"rowsConfig":{"concept":"takePhoto","sequence":"takePhoto,task_id,timestamp,uploadAddr,user_id"},"transformIdcolumn":true,"useNamespace":true}}
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP180012; 提示: KEY-RELATION "takePhoto.task_id"的默认值不允许为空
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.data.BizData.create(Unknown Source)
        at BizProcedure.create(BizProcedure.java:147)
        ... 27 more

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-8-29 16:22:22 | 显示全部楼层
createTakePhotoAction
报错的是新增的时候出错的,不是过滤数据刷新出错的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-8-29 16:41:14 | 显示全部楼层
这是之前在modelLoad事件中写的能实现这个只显示当前登陆者的.
Model.prototype.modelLoad = function(event) {
                data = this.comp("attData");
                alert(event.data.task_id);
                var personName = this.getContext().getCurrentPersonName();
                data.setFilter("filter1", "takePhoto.user_id ='" + personName + "'");
                data.refreshData();
                if (data.getCount() == 0) {
                        data.newData();
                }
                ;
        }

那我现在在这个onReceiver事件中写就报23的错,而且现在attachment这个控件里面显示的照片还是当前登陆者上传的.
不能实现当前任务的照片展示
Model.prototype.preReceiverReceive = function(event){
               
                data = this.comp("attData");
                alert(event.data.task_id);

                var task_id = event.data.task_id;
                data.setFilter("filter1", "takePhoto.task_id ='" + task_id + "'");
                data.refreshData();
                if (data.getCount() == 0) {
                        data.newData();
                }
                ;
        };
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-8-29 16:53:00 | 显示全部楼层
报错是因为主键task_id没有设置默认值,平台的概念中设置主键关系的关系必须设置默认值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-8-29 17:12:51 | 显示全部楼层
takePhoto.task_id ='" + task_id + "'"

如果takePhoto表的数据里面没有这个event.data.task_id所对应的值,那么attachment控件展示值的时候是不是应该什么不显示???可是现在展示的还是当前登陆者所拍的照片呢...
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-8-29 17:34:09 | 显示全部楼层
没有值你都执行了newData了啊,看看是不是自己给这个关系设置了有默认值
newData就是新增一条数据了
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-8-29 18:03:53 | 显示全部楼层
现在改了一下,这个task_id不是主键了,主键改成fid了,这个task_id是从列表中取出来,通过this.comp('windowsdialog').open({data:{task_id}})传过去的,
当我选中照片上传的时候,怎么在上传这个按键onclick事件中拿到这个task_id然后报存呢?

2.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-8-29 18:08:21 | 显示全部楼层
如果要获取data中的数据就有data的getValue方法获取
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-2 17:26 , Processed in 0.067909 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表