功能描述

此功能用于当用户配置按钮时,可点击弹出对话框。里面的内容可自主定义,包括组件和URL地址。

代码实现

###open(conf,destroy)

ontest(){
var row=this.table.getSelectedRow();
var self_=this;
    var instId=row.INST_ID_;
    this.getAjax().get("/api-bpm/bpm/core/bpmTask/getByInstId?instId="+instId).then(taskList=>{
        this.open({
        component:'modules/bpm/core/BpmTaskStart',
        curVm:this,
        max:true,
        title: '任务处理',
        data:{
            taskId:taskList[0].taskId,//任务ID
            instId:instId//实例ID
          }
        },function (action){
        if(action=='ok'){
          self_.onRefresh();
        }
      });
    });
}

###openUrl(conf,destory)

    this.openUrl({
        url:'http://www.baidu.com',
        curVm:this,
        max:true,
        title: '百度一下'
        },function (action){
        if(action=='ok'){
          self_.onRefresh();
        }
      })

#示例

实例:列表选中一行数据,点击按钮,跳转到另外一个表单的表单方案,需要把某个值传到表单中。

单值

ontest(){
    var _self = this ; 
    var obj= {"A":'WLMC',"B":'WLGG'};
    var objdata = {}
    for(var key in obj){
        objdata[key] = _self.table.getSelectedRow()["F_"+ obj[key]] ;
    }

this.getDialogBox().showForm({
title:"测试",
curVm:this,
data:{
    alias:"Ab",
    setInitData:function(data){
        for(var key in objdata){
            data[key] = objdata[key];
        }

    return data;
    }

  },
  widthHeight:['800px','600px']
  },function(action){
  });
}

双值:需要转一下json

实例:选中列表一行,到另外一张表去获取相应的数据

getWeight(){
     var row=this.table.getSelectedRow();
     if(!row){
         alert("请选中一行数据");
         return;
     }


     this.invokeScriptPromise("getWeight",{"CH":row.F_CH,"ID":row.ID_}).then(res=>{
         alert("更新皮重成功!");
         this.loadData();
     });
}
import com.redxun.common.utils.SpringUtil;
import com.redxun.db.CommonDao;

CommonDao dao = SpringUtil.getBean(CommonDao.class);
String ch=params.CH;
String id=params.ID;

String sql="select F_PZ from w_czmx where F_CH='"+ch+"' ORDER BY CREATE_TIME_ DESC LIMIT 1;";
logger.error(sql);
Map  map=dao.queryForMap("form",sql);
String pz=map.get("F_PZ");
logger.error(pz);
String updSQL="UPDATE w_gbmx SET F_PZ=" + pz + " WHERE ID_='"+id+"'";

logger.error(updSQL);

dao.execute("form",updSQL);

return "1";

实例:列表自定义按钮,需要把选中的数据的数值传到表单中,并可启动流程


startFlow(){
   var rows=this.table.getSelectedRows();//选中一行数据
    //选中数据的状态判断
   if(rows[0].F_CGTZDJZT=='未完成'){
   var jsonObj= {
   //送货通知单的采购单明细获取采购通知单的数据
    "sub__cgdmx": []
    };
    var jsonAry=jsonObj.sub__cgdmx;
    for(var i=0;i<rows.length;i++){
        var obj=rows[i];
        var gys=JSON.stringify({value:obj.F_GYS,label:obj.F_GYS_NAME});
        var row= {
           "cgsqdh": obj.F_CGSQDH,"wlbm": obj.F_WLBM,"wlmc": obj.F_WLMC,"wlgg": obj.F_WLGG,"dw": obj.F_DW,"jhsl": obj.F_SL,"gys": gys,"cgy": obj.F_CGY_NAME,"jhdhrq": obj.F_JHDHRQ_display};
        jsonAry.push(row);
    };



//绑定送货通知单的流程定义
    var data= {
    "defId":"1320922966273728513",
    "formData":   jsonObj
    };

//点击生成送货通知单按钮打开松江通知单单据
var self_=this;
    this.open({
        component:'modules/bpm/core/BpmInstStart',
        curVm:this,
        max:true,
        title: '流程启动',
        data: data
        },function (action){
        if(action=='ok'){
          self_.onRefresh();
        }
      });

}else {
alert("该选中的数据已生成发货通知单");

}
}
文档更新时间: 2021-08-19 14:03   作者:hujun