本文最后更新于 2024-11-14,文章内容可能已经过时。

需求背景

  • 建模引擎增加自定义操作按钮,方便用户一键操作,如图所示:

  • 点击按钮后,可以自定创建流程并带出设定字段

实现方法

  • 在应用建模--模块页面,找到对应的模块

    点击页面扩展新建

    附:目标链接地址以供参考

(function(){
var ids = ModeList.getCheckedID();
if(ids==''){ModeList.showMessage('请选择出借出证书', 2,1);return;}
var datas = ModeList.getTableDatas();
var url='/spa/workflow/static4form/index.html?#/main/workflow/req?iscreate=1&workflowid=411&certs='+ids;
window.open(url);
})()
  • 第二种

    附:

(function(){
var ids = ModeList.getCheckedID();
if(ids==''){ModeList.showMessage('请选择借阅记录', 2,1);return;}
var datas = ModeList.getTableDatas();
var url='/spa/workflow/static4form/index.html?#/main/workflow/req?iscreate=1&workflowid=412&certs=';
_.forEach(ids.split(","), function(id){
var obj=_.find(datas,function(o){return o.id==id});
url+=obj.zzmc+'_'+obj.id+',';
});
url=url.substr(0,url.length-1);
window.open(url);
})()
  • 如果无需带出信息可以这样设置

  • 在查询页面开启即可。

其他

这个是通过接口操作更新状态的 javascript:window.cubeStore.Search.refresh();

docHandle();
function docHandle(){
let ids = ModeList.getCheckedID();
var dia = window.ecCom.WeaTools.createDialog({
  url:"/spa/odoc/static/index.html#/main/offical/odocFinishDialog?tablename=uf_fwxxk&docids="+ids,
  style:{width:"960px",height:"800"},
  callback: (datas)=>{ 
  },
  onCancel: ()=>{ 
  }
 });
 dia.show();
}

查询列表的代码块

<style type="text/css">
  .wea-new-top-title-breadcrumb{
        visibility: hidden;
  }
  
  .icon-circle-base{
    display:none;
  }
  
</style> 



<script type="text/javascript">


function getTableCheckedDatas(){
    var cIds=ModeList.getCheckedID();
  var listDatas=ModeList.getTableDatas();
  var checkDatas=[];
  listDatas.forEach(function(value,index,data){
  if(cIds.indexOf(value.id)>=0){
        checkDatas.push(value);
    }
  })
  
    return checkDatas;
}



function assembleDetailObj(pid,obj){
   var valueArr="";
   var specialobj=[];
  
   var result={};
   obj.forEach(function(value){
      valueArr%2B=value.id%2B",";
      var dat={};
      dat.id=value.id;
      dat.price=value.productprice;
      dat.name=value.productname.replace(/&nbsp;/ig,'');
      specialobj.push(dat);
   
   });
   valueArr=valueArr.slice(0,valueArr.length-1);
   result.value= valueArr;
   result.specialobj=specialobj;

  
   return result;
}
  function workflowBuy(){
    window.open('/spa/workflow/index_form.jsp#/main/workflow/req?iscreate=1&workflowid=327&isagent=0&beagenter=0&f_weaver_belongto_userid=&f_weaver_belongto_usertype=0');
  }
  
  function openWorkflow(){
  var checkdata=assembleDetailObj(66,getTableCheckedDatas());
  checkdata=JSON.stringify(checkdata);
  console.log(checkdata);
  //window.open('/spa/workflow/index_form.jsp#/main/workflow/req?iscreate=1&workflowid=327&isagent=0&beagenter=0&f_weaver_belongto_userid=&f_weaver_belongto_usertype=0&checkdata='%2Bcheckdata,'_blank');
  window.open('/spa/cube/index.html#/main/cube/card?type=1&modeId=89&formId=-286&checkdata='%2Bcheckdata,'_blank');
};

  
</script> 

建立提醒规则

javascript:
var flashs = new Array();
if (!!window.top.Dialog) {
	diag_saveaswf = new window.top.Dialog();
} else {
	diag_saveaswf = new Dialog();
}
diag_saveaswf.currentWindow = window;
diag_saveaswf.flashs = flashs;
diag_saveaswf.Width = 1000;
diag_saveaswf.Height = 600;
diag_saveaswf.Modal = true;
diag_saveaswf.Title = "提醒规则设置";
diag_saveaswf.URL = "/spa/cube/engine.html#/cubeengine/app/interfaceMotion?modeid=98&expendid=2635";
diag_saveaswf.show();

填写日报

function getTableCheckedDatas(){
    var cIds=ModeList.getCheckedID();
  var listDatas=ModeList.getTableDatas();
  var checkDatas=[];
  listDatas.forEach(function(value,index,data){
  if(cIds.indexOf(value.id)>=0){
        checkDatas.push(value);
    }
  })
  
    return checkDatas;
}



function assembleDetailObj(obj){
   var valueArr="";
   var specialobj=[];
  
   var result={};
   obj.forEach(function(value){
      valueArr%2B=value.id%2B",";
      var dat={};
      dat.id=value.id;
      dat.name=value.xmrwhfwnr.replace(/&nbsp;/ig,'');
      specialobj.push(dat);
   
   });
   valueArr=valueArr.slice(0,valueArr.length-1);
   result.value= valueArr;
   result.specialobj=specialobj;

  
   return result;
}




function openWorkflow(){
  var checkdata=assembleDetailObj(getTableCheckedDatas());
  checkdata=JSON.stringify(checkdata);
  console.log(checkdata);
  window.open('/spa/workflow/index_form.jsp#/main/workflow/req?iscreate=1&workflowid=331&isagent=0&beagenter=0&f_weaver_belongto_userid=&f_weaver_belongto_usertype=0&checkdata='%2Bcheckdata,'_blank');
};

//以下为重写台账新建按钮,用于在项目卡片中发起日报,并且自动带入项目
function UrlSearch(parm) {
    var name, value;
    var str = location.href; //取得整个地址栏
    var num = str.indexOf("?")
    str = str.substr(num %2B 1); //取得所有参数   stringvar.substr(start [, length ]

    var arr = str.split("&"); //各个参数放到数组里

    for (var i = 0; i < arr.length; i%2B%2B) {
        num = arr[i].indexOf("=");
        if (num > 0) {
            name = arr[i].substring(0, num);
            value = arr[i].substr(num %2B 1);
            this[name] = value;
            console.log("value:" %2B value);
            if (name == parm) {

                break;

            }

        }
    }

    return value;
}


function addNew() {
    var pid = UrlSearch('prjid');
    window.open('/spa/cube/index.html#/main/cube/card?type=1&modeId=112&formId=-328&field12461=' %2B pid, '_blank');
}
addNew();

新建javascript:createNewContract();

<style type="text/css">
  .wea-new-top-title-breadcrumb{
        visibility: hidden;
  }
  
  .icon-circle-base{
    display:none;
  }
  
</style> 
<script type="text/javascript">
  
  function createNewContract(){
    window.open('/spa/workflow/index_form.jsp#/main/workflow/req?iscreate=1&workflowid=334&isagent=0&beagenter=0&f_weaver_belongto_userid=&f_weaver_belongto_usertype=0');
  }
  
</script> 

合同续签 javascript:openWorkflow();

<script type="text/javascript">

function getTableCheckedDatas(){
  var cIds=ModeList.getCheckedID();
  var listDatas=ModeList.getTableDatas();
  var checkDatas=[];
  listDatas.forEach(function(value,index,data){
  if(cIds.indexOf(value.rmid)>=0){
        checkDatas.push(value);
    }
  })
  
    return checkDatas;
}


function assembleDetailObj(obj){
   var valueArr="";
   var specialobj=[];
  
   var result={};
   obj.forEach(function(value){
      valueArr+=(value.rmid+",");
      var dat={};
      dat.id=value.rmid;
      dat.name=value.rmxm.replace(/&nbsp;/ig,'');
      specialobj.push(dat);
   
   });
   valueArr=valueArr.slice(0,valueArr.length-1);
   result.value= valueArr;
   result.specialobj=specialobj;

  
   return result;
}



// function openWorkflow(){
//   var name ="提示信息!";
//   var url = "/contract/contractMsgDialog.jsp";
//   let buttons=[{btnname:'发起合同',callfun:'saveDialog'}, {btnname:'关闭',callfun:'closeDialog'}];
//   let style={width:540,height:280};
//   let prop={title:name,url:url,style:style};
//   ModeList.openCustomDialog(prop,buttons)
// };


var dlg = "";
function openWorkflow(){
	var name ="提示信息!";
	var url = "/contract/contractMsgDialog.jsp";
  dlg=new window.Dialog();//定义Dialog对象
  dlg.currentWindow = window;
  dlg.Model= true;
  dlg.Width= 540;//定义宽度
  dlg.Height= 280;//定义高度
  dlg.URL=url;
  dlg.Title= name;
  dlg.OKEvent = saveDialog;
  dlg.closeByHand = cancleDialog;
  dlg.show();
  dlg.okButton.value=" 发起合同 ";
  dlg.cancelButton.value=" 关闭 ";
};

function cancleDialog(){
  if(dlg){
     dlg.close();
  }
}


function saveDialog(name,phone){
  var name =  dlg.innerFrame.contentWindow.document.getElementById('experienceName').value;
  var phone =  dlg.innerFrame.contentWindow.document.getElementById('phone').value;
  var checkdata=assembleDetailObj(getTableCheckedDatas());
  checkdata=JSON.stringify(checkdata);
  console.log(checkdata);
  window.open('/spa/workflow/index_form.jsp#/main/workflow/req?iscreate=1&workflowid=336&isagent=0&beagenter=0&f_weaver_belongto_userid=&f_weaver_belongto_usertype=0&checkdata='+checkdata+'&name='+name+'&phone='+phone,'_blank');
  ModeList.closeCustomDialog();
}


</script>

报价审核javascript:openWorkflow(); 采购下单 javascript:mmToContract();

<script type="text/javascript">
function getTableCheckedDatas(){
    var cIds=ModeList.getCheckedID();
    if(cIds.length==0){
      //ModeList.showMessage('请勾选相关报价');
      //return false;
    }
    var listDatas=ModeList.getTableDatas();
    var checkDatas=[];
  
    listDatas.forEach(function(value,index,data){
    if(cIds.indexOf(value.id)>=0){
      
        checkDatas.push(value);
      }
    })
  
    return checkDatas;
}


//构建明细表数据
function assembleDetailObj(obj){
   var valueArr="";
   var specialobj=[];
   var result={};
   obj.forEach(function(value){
      valueArr+=(value.id+",");
      var dat={};
      dat.id=value.id;
      dat.name=value.cgsqdh.replace(/&nbsp;/ig,'');
      
      specialobj.push(dat);
   });
   valueArr=valueArr.slice(0,valueArr.length-1);
   result.value= valueArr;
   result.specialobj=specialobj;
   return result;
}

function checkMMPrice(obj){
     return obj.includes(function(value){
       if(value.shzt!=7){
         return true;
      }
   });
   
   
}


function openWorkflow(){
  var checkdata=assembleDetailObj(getTableCheckedDatas());
  checkdata=JSON.stringify(checkdata);
  window.open('/spa/workflow/static4form/index.html?_rdm=1567066504392#/main/workflow/req?iscreate=1&workflowid=380&checkdata='+checkdata,'_blank');
};

function mmToContract(){
  var allCkData=getTableCheckedDatas();
  console.log(checkMMPrice(allCkData));
  if(checkMMPrice(allCkData)){
     ModeList.showMessage('请勾选审核状态是采纳的报价',1,4);
  }else{
    var checkdata=assembleDetailObj(allCkData);
    checkdata=JSON.stringify(checkdata);
    window.open('/spa/workflow/index_form.jsp#/main/workflow/req?iscreate=1&workflowid=359&checkdata='+checkdata,'_blank');
  }
  
}
</script>

付款

function fkfunction(){
	var ids =  _xtable_CheckedCheckboxId();
	if(ids.length>0){
		$.post("/plugin/cwgl/updateList-fk.jsp",{"ids":ids},function(data){
			if(data.status == "1"){
				_table.reLoad();
                               Dialog.alert("付款成功!");
			}else{
				Dialog.alert("付款失败!");
			}
		},"json");
	}else{
		Dialog.alert("请勾选付款数据!");
	}
}
fkfunction();