A流程修改已完成的B流程中的数据
管理员您好A流程修改B流程的数据我参考API
var gongzID="7d8ac76a-4794-4303-a250-231331d5efad";//待修改数据流程ID
var gongzdata={};//数据
var action = this.Actions.load("x_processplatform_assemble_surface");
action.DataAction.getWithWork(//平台封装好的方法
gongzID,//uri的参数
function( json ){ //服务调用成功的回调函数, json为服务传回的数据
gongzdata = json.data; //为变量data赋值
gongzdata.zplx="内部招聘"; //修改某字段内容
console.log(gongzdata);
}.bind(this),
function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this)
);
/*action.DataAction.updateWithJob(//平台封装好的方法
gongzID,//uri的参数
gongzdata,//body请求参数
function( json ){ //服务调用成功的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this),
function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this)
);*/
get方法获取不到数据,这是为什么啊
https://www.o2oa.net/forum/data/attachment/forum/202303/06/233927mowzo0rzwfo0wz2z.png
在视图中获取到的工作ID
您哪里执行的?后端有没有报错?
您直接到接口列表里找到这个get的接口,使用id去查询一下看有报错吗?
管理员您好
我改用jobid 能获取到了
var gongzID="766eaf0e-e6d6-4ed5-a27a-159fbed066f2";//待修改数据流程ID 766eaf0e-e6d6-4ed5-a27a-159fbed066f2
var gongzdata={};//数据
var action = this.Actions.load("x_processplatform_assemble_surface");
action.DataAction.getWithJob(//平台封装好的方法
gongzID,//uri的参数
function( json ){ //服务调用成功的回调函数, json为服务传回的数据
gongzdata = json.data; //为变量data赋值
console.log('get'+gongzdata.zplx);
gongzdata.zplx="内部招聘";
}.bind(this),
function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this)
);
console.log('get2'+gongzdata.zplx);
action.DataAction.updateWithJob(//平台封装好的方法
gongzID,//uri的参数
gongzdata,//body请求参数
function( json ){ //服务调用成功的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
console.log('update'+data.zplx);
}.bind(this),
function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this)
);
现在的问题是我在函数内部修改某字段后函数外获取到的是undefined,还有我update方法提示指导的job不存在get和update是用的同一个jobid啊
this.Actions.load默认是异步的,可以改为同步,看一下api
update这里找不到jobid,您可以到接口列表里先确认一下 var gongzID="766eaf0e-e6d6-4ed5-a27a-159fbed066f2";//待修改数据流程ID 766eaf0e-e6d6-4ed5-a27a-159fbed066f2
var gongzdata={};//数据
var action = this.Actions.load("x_processplatform_assemble_surface");
action.DataAction.getWithJob(//平台封装好的方法
gongzID,//uri的参数
function( json ){ //服务调用成功的回调函数, json为服务传回的数据
gongzdata = json.data; //为变量data赋值
console.log('修改前'+gongzdata.zplx);
gongzdata.zplx="内部招聘";
console.log('内部修改后'+gongzdata.zplx);
}.bind(this),
false
/*function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this)
*/
);
console.log('函数外显示'+gongzdata.zplx);
我按照API的写法改为异步 数据依然没有改变如果把
action.DataAction.updateWithJob 写在get里面会提示 updateWithJob不是一个函数
参考的API如下
//查询服务列表找到获取data数据服务为DataAction的getWithWork方法//查询服务列表找到更新data数据服务为DataAction的updateWithWork方法var workid = "cce8bc22-225a-4f85-8132-7374d546886e";var data;this.Actions.load("x_processplatform_assemble_surface").DataAction.getWithWork( //平台封装好的方法 workid, //uri的参数 function( json ){ //服务调用成功的回调函数, json为服务传回的数据 data = json.data; //为变量data赋值 }.bind(this), false //同步执行)data.subject = "新标题"; //修改数据this.Actions.load("x_processplatform_assemble_surface").DataAction.updateWithWork( workid, //uri的参数 data, //保存的数据 function(){ //服务调用成功的回调函数 o2.xDesktop.notice("success", {"y":"top", "x": "right"}, "保存成功");//提示,{"y":"top", "x": "right"}指提示框在顶部右边 }.bind(this));
如果我按workid 会提示没有这个workid 我按这个方法用在 getWithJob 添加false 好像没有同步成功 gongzdata没有赋予数据
我用getWithWork方法显示找不到这个ID我直接访问接口也是找不到
我获取ID 是在视图中获取的 不是这个吗?
workid是这个,但是我看您的接口使用的是jobid呀 我两个都试了workid用这个方法试的 提示找不到这个workid直接到接口列表里也提示找不到这个workid 是不是这样获取的ID不对DataAction.getWithWork DataAction.getWithWork
用jobid能获取到数据但是我更改的数据无法同步到新建的gongzdata中我已经加了false同步 是我没写对吗
var action = this.Actions.load("x_processplatform_assemble_surface");
action.DataAction.getWithJob(//平台封装好的方法
gongzID,//uri的参数
function( json ){ //服务调用成功的回调函数, json为服务传回的数据
gongzdata = json.data; //为变量data赋值
console.log('修改前'+gongzdata.zplx);
gongzdata.zplx="内部招聘";
console.log('内部修改后'+gongzdata.zplx);
}.bind(this),
false
/*function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this)
*/
); 管理员您好我已经能成功赋值了 但是update方法为啥还提示找不到jobid呢 和get方法用的是同一个啊?
var workid =this.data.datatable.data.gongzid;
var data;
this.Actions.load("x_processplatform_assemble_surface").DataAction.getWithJob( //平台封装好的方法
workid, //uri的参数
function( json ){ //服务调用成功的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this),
function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this),
false
)
console.log(data);
data.xueli1 = "无要求"; //修改数据
this.Actions.load("x_processplatform_assemble_surface").DataAction.updateWithJob(
workid, //uri的参数
data, //保存的数据
function(){ //服务调用成功的回调函数
o2.xDesktop.notice("success", {"y":"top", "x": "right"}, "保存成功");//提示,{"y":"top", "x": "right"}指提示框在顶部右边
}.bind(this),
function( json ){ //服务调用失败的回调函数, json为服务传回的数据
data = json.data; //为变量data赋值
}.bind(this),
false
); 调用接口服务也是一样的这是为什么呢? 下面是调用接口服务的结果,换其他的jobid也不行
页:
[1]