You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

352 lines
11 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* 说明: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 菜单API &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
* 1. 该API 是被发起、待办、在途三个菜单列表页面引入并获取的数据的API。
* 2. 其中需要 config.js 获得 ccbpmHostDevelopAPI 定义的服务器IP.
* 3. 需要cookies 中的sid 校验码(token).
* 4. 获取流程发起列表: DB_Start()
* 5. 获得待办 DB_Todolist()
* 6. 获得在途 DB_Runing()
* 7. 打开表单 OpenForm() 发起、待办、在途三个列表都需要打开表单.
*/
//获得发起列表.
function DB_Start() {
var myurl = ccbpmHostDevelopAPI + "DB_Start?token=" + GetToken() + "&domain=" + domain;
return RunUrlReturnJSON(myurl);
}
/**
* 1.获得待办. 返回的Json数据源.
* 2.列: Title,WorkID,FK_Flow,FK_Node .
* 3.获得该数据源,调用
* */
function DB_Todolist() {
var myurl = ccbpmHostDevelopAPI + "DB_Todolist?token=" + GetToken() + "&domain=" + domain + "&t=" + new Date().getTime();
return RunUrlReturnJSON(myurl);
}
//获得在途.
function DB_Runing() {
var myurl = ccbpmHostDevelopAPI + "DB_Runing?token=" + GetToken() + "&domain=" + domain;
return RunUrlReturnJSON(myurl);
}
//获得草稿.
function DB_Draft() {
var myurl = ccbpmHostDevelopAPI + "DB_Draft?token=" + GetToken() + "&domain=" + domain;
return RunUrlReturnJSON(myurl);
}
//获得流程注册表信息,返回没有完成的数据.
function DB_GenerWorkFlow(flowNo) {
var myurl = ccbpmHostDevelopAPI + "DB_GenerWorkFlow?token=" + GetToken() + "&flowNo=" + flowNo;
return RunUrlReturnJSON(myurl);
}
/**
* 打开表单, 如果是仅仅传入的是FlowNo就是启动流程.
* @param {any} flowNo
* @param {any} nodeID
* @param {any} workid
* @param {any} fid
* @param {any} paras
*/
function OpenForm(flowNo, nodeID, workid, fid, paras) {
var url = GenerFrmUrl(flowNo, nodeID, workid, fid, paras);
// 打开工作处理器.
OpenMyFlow(url);
// window.open(url);
}
/**
* 获得表单的 URL.
* 该表单的URL存储在开始节点表单方案里.
* @param {流程编号} flowNo
* @param {节点ID默认为0} nodeID
* @param {实例的ID} workID
* @param {默认为:0} fid
* @param {参数:格式为 &KeHuBianHao=001&KeHuMingCheng=新疆天业} paras
*/
function GenerFrmUrl(flowNo, nodeID = 0, workid = 0, fid = 0, paras = "") {
debugger;
// ccbpmHostDevelopAPI 变量是定义在 /config.js 的服务地址. 访问必须两个参数DoWhat,SID.
//首先获得表单的URL.
var myUrl = ccbpmHostDevelopAPI + "GenerFrmUrl?token=" + GetToken() + "&workID=" + workid + "&flowNo=" + flowNo + "&nodeID=" + nodeID + "&fid=" + fid;
var frmUrl = RunUrlReturnString(myUrl);
frmUrl += paras;
//如果包含了通用的工作处理器.
if (frmUrl.indexOf("WF/MyFlow.htm") >= 0) {
frmUrl = host + frmUrl;
}
return frmUrl;
}
/* ******************************************************************* 开发接口JS: *******************************************************************
* 1. 该文件里提供了一些高级开发接口,
* 2. 比如创建WorkID,执行发送,催办. 批量删除.
* 3. 每个接口都有明确的注释.
*/
/**
* 创建空白的WorkID.
* @param {校验码(登录时候产生的)} sid
* @param {流程编号} flowNo
*/
function Node_CreateBlankWorkID(flowNo) {
var url = ccbpmHostDevelopAPI + "Node_CreateBlankWorkID?token=" + GetToken() + "&flowNo=" + flowNo;
return RunUrlReturnString(url);
}
function Node_SetDraft(flowNo, workID) {
var url = ccbpmHostDevelopAPI + "Node_SetDraft?token=" + GetToken() + "&flowNo=" + flowNo + "&workID=" + workID;
return RunUrlReturnString(url);
}
function Node_IsCanDealWork(workID) {
var url = ccbpmHostDevelopAPI + "Node_Node_IsCanDealWork?token=" + GetToken() + "&workID=" + workID;
return RunUrlReturnString(url);
}
/**
* 保存表单数据到流程实例中
* @param {any} workid
* @param {any} paras @Key1=val1@Key2=val2
*/
function Node_SaveParas(workid, paras) {
//@mhj 这里要对参数格式执行校验,不符合不让保存.
var url = ccbpmHostDevelopAPI + "Node_SaveParas?token=" + GetToken() + "&paras=" + paras + "&workID=" + workid;
return RunUrlReturnString(url);
}
/**
* 执行发送
* @param {工作实例ID} workid
* @param {要达到的节点,为0不指定节点,由节点配置自动计算} toNodeID
* @param {要发送的人员为null,不指定人员,由流程配置自动计算} toEmps
* @param {参数,格式为:@Key1=val1@Key2=val2 } paras
*/
function Node_SendWork(workid, toNodeID, toEmps, paras = "") {
if (paras == null || paras == undefined)
paras = "";
paras = paras.replace('@', '&');
var url = ccbpmHostDevelopAPI + "Node_SendWork?token=" + GetToken();
url += "&workID=" + workid + "&toNodeID=" + toNodeID;
url += "&toEmps=" + toEmps + "&1=2" + paras;
return RunUrlReturnString(url);
}
/**
* 获得可以退回的节点
* @param {校验码} sid
* @param {流程编号} flowNo
* @param {工作实例ID} workid
* @param {FID} fid
*/
function DB_GenerWillReturnNodes(flowNo, workid, fid = 0) {
var url = ccbpmHostDevelopAPI + "DB_GenerWillReturnNodes?token=" + GetToken() + "&flowNo=" + flowNo;
url += "&workID=" + workid + "&fid=" + fid;
return RunUrlReturnString(url);
}
/**
* 批处理:获得批处理的节点.
*/
function Batch_Init() {
var url = ccbpmHostDevelopAPI + "Batch_Init?token=" + GetToken() + "&domain=" + domain;
return RunUrlReturnJSON(url);
}
function WorkCheckModel_Init(nodeID) {
var url = ccbpmHostDevelopAPI + "WorkCheckModel_Init?token=" + GetToken() + "&nodeID=" + nodeID;
return RunUrlReturnJSON(url);
}
function Node(nodeID) {
var url = ccbpmHostDevelopAPI + "En_Node?token=" + GetToken() + "&nodeID=" + nodeID;
return RunUrlReturnJSON(url);
}
function Flow(flowNo) {
var url = ccbpmHostDevelopAPI + "En_Flow?token=" + GetToken() + "&no=" + flowNo;
return RunUrlReturnJSON(url);
}
function Batch_InitDDL(nodeID) {
var url = ccbpmHostDevelopAPI + "Batch_InitDDL?token=" + GetToken() + "&nodeID=" + nodeID;
return RunUrlReturnJSON(url);
}
function WorkCheckModel_Send(nodeID, CheckNote, ToNode, ToEmps) {
var url = ccbpmHostDevelopAPI + "WorkCheckModel_Send?token=" + GetToken() + "&nodeID=" + nodeID + "&toNode=" + ToNode + "&toEmps=" + ToEmps + "&checkNote=" + CheckNote;
return RunUrlReturnString(url);
}
function Batch_Delete(WorkIDs) {
var url = ccbpmHostDevelopAPI + "Batch_Delete?token=" + GetToken() + "&workIDs=" + WorkIDs;
return RunUrlReturnString(url);
}
/**
* 退回
* @param {校验码} sid
* @param {工作实例ID} workid
* @param {退回到节点ID} returnToNodeID
* @param {退回给人员} returnToEmp
* @param {退回意见} msg
* @param {是否原路返回?} isBackToThisNode
*/
function Node_ReturnWork(workid, returnToNodeID, returnToEmp, msg, isBackToThisNode = false) {
var url = ccbpmHostDevelopAPI + "Node_ReturnWork?token=" + GetToken();
url += "&workID=" + workid;
url += "&returnToNodeID=" + returnToNodeID;
url += "&returnToEmp=" + returnToEmp;
url += "&msg=" + msg;
if (isBackToThisNode == true)
url += "&IsBackToThisNode=1";
else
url += "&IsBackToThisNode=0";
return RunUrlReturnString(url);
}
/**
* 设置流程标题
* @param workID 工作ID.
* @param title 流程标题
*/
function Flow_SetTitle(workID, title) {
var url = ccbpmHostDevelopAPI + "Flow_SetTitle?token=" + GetToken();
url += "&workID=" + workID;
url += "&title=" + title;
return RunUrlReturnString(url);
}
/**
* 催办
* @param {要执行的实例,多个实例用逗号分开比如1001,1002,1003} workidStrs
*/
function Flow_DoPress(workidStrs, msg) {
var url = ccbpmHostDevelopAPI + "Flow_DoPress?token=" + GetToken();
url += "&workIDs=" + workidStrs;
url += "&msg=" + msg;
return RunUrlReturnString(url);
}
/**
* 撤销发送,如果产生失败就会返回 err@+失败信息.
* @param {要执行的实例,多个实例用逗号分开比如1001,1002,1003} workidStrs
*/
function Flow_DoUnSend(workidStrs) {
var url = ccbpmHostDevelopAPI + "Flow_DoUnSend?token=" + GetToken();
url += "&workIDs=" + workidStrs;
return RunUrlReturnString(url);
}
/**
* 删除流程
* @param {要删除的实例,多个实例用逗号分开比如1001,1002,1003} workidStrs
* @param {是否删除子流程} isDeleteSubFlows
*/
function Flow_BatchDeleteByReal(workidStrs, isDeleteSubFlows = true) {
var url = ccbpmHostDevelopAPI + "Flow_BatchDeleteByReal?token=" + GetToken();
url += "&workIDs=" + workidStrs;
if (isDeleteSubFlows == false)
url += "&IsDeleteSubFlows=0";
else
url += "&IsDeleteSubFlows=1";
return RunUrlReturnString(url);
}
/**
* 恢复删除
* @param {any} workidStrs
*/
function Flow_BatchDeleteByFlagAndUnDone(workidStrs) {
var url = ccbpmHostDevelopAPI + "Flow_BatchDeleteByFlagAndUnDone?token=" + GetToken();
url += "&workIDs=" + workidStrs;
return RunUrlReturnString(url);
}
/**
* 设置流程结束
* @param {要执行的实例,多个实例用逗号分开比如1001,1002,1003} workidStrs
*/
function Flow_DoFlowOver(workidStrs) {
var url = ccbpmHostDevelopAPI + "Flow_DoFlowOver?token=" + GetToken();
url += "&workIDs=" + workidStrs;
return RunUrlReturnString(url);
}
/**
* 批量设置抄送查看完毕
* @param {any} workidStrs
*/
function CC_BatchCheckOver(workidStrs) {
var url = ccbpmHostDevelopAPI + "CC_BatchCheckOver?token=" + GetToken();
url += "&workIDs=" + workidStrs;
return RunUrlReturnString(url);
}
/**
* 删除草稿
* @param {要执行的实例,多个实例用逗号分开比如1001,1002,1003} workidStrs
*/
function Flow_DeleteDraft(workidStrs) {
var url = ccbpmHostDevelopAPI + "Flow_DeleteDraft?token=" + GetToken();
url += "&workIDs=" + workidStrs;
return RunUrlReturnString(url);
}
/**
* 移交
* @param {工作ID} workID
* @param {要移交到的人} toEmpNo
* @param {移交消息} msg
*/
function Node_Shift(workID, toEmpNo, msg) {
var url = ccbpmHostDevelopAPI + "Node_Shift?token=" + GetToken();
url += "&workID=" + workID;
url += "&toEmpNo=" + toEmpNo;
url += "&msg=" + msg;
return RunUrlReturnString(url);
}
/**
* 增加人员
* @param {工作ID} workID
* @param {增加的人员ID} empID
*/
function Node_AddTodolist(workID, empID) {
var url = ccbpmHostDevelopAPI + "Node_AddTodolist?token=" + GetToken();
url += "&workID=" + workID;
url += "&empNo=" + empID;
return RunUrlReturnString(url);
}
/**
* 流程实例的注册信息
* @param {实例ID} workID
* @returns 流程实例的注册信息
*/
function Flow_GenerWorkFlow(workID) {
var url = ccbpmHostDevelopAPI + "Flow_GenerWorkFlow?token=" + GetToken();
url += "&workID=" + workID;
return RunUrlReturnString(url);
}