Lxw100514 发表于 2023-3-8 13:48:50

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



论坛管理员 发表于 2023-3-9 10:12:33

您哪里执行的?后端有没有报错?
您直接到接口列表里找到这个get的接口,使用id去查询一下看有报错吗?

Lxw100514 发表于 2023-3-9 14:16:48

管理员您好
我改用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啊


论坛管理员 发表于 2023-3-9 15:47:42

this.Actions.load默认是异步的,可以改为同步,看一下api
update这里找不到jobid,您可以到接口列表里先确认一下

Lxw100514 发表于 2023-3-9 17:46:24

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没有赋予数据






Lxw100514 发表于 2023-3-9 18:05:40

我用getWithWork方法显示找不到这个ID我直接访问接口也是找不到
我获取ID 是在视图中获取的   不是这个吗?


论坛管理员 发表于 2023-3-10 09:21:12

workid是这个,但是我看您的接口使用的是jobid呀

Lxw100514 发表于 2023-3-10 10:11:09

我两个都试了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)
   */
    );

Lxw100514 发表于 2023-3-10 11:58:01

管理员您好我已经能成功赋值了   但是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
);

Lxw100514 发表于 2023-3-10 13:28:10

调用接口服务也是一样的这是为什么呢? 下面是调用接口服务的结果,换其他的jobid也不行


页: [1]
查看完整版本: A流程修改已完成的B流程中的数据