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.

433 lines
13 KiB
Plaintext

11 months ago
/*
* 说明: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 菜单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;
var json = RunUrlReturnJSON(myurl);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
/**
* 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();
var json = RunUrlReturnJSON(myurl);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
//获得在途.
function DB_Runing() {
var myurl = ccbpmHostDevelopAPI + "DB_Runing?token=" + GetToken() + "&domain=" + domain;
var json = RunUrlReturnJSON(myurl);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
//获得草稿.
function DB_Draft() {
var myurl = ccbpmHostDevelopAPI + "DB_Draft?token=" + GetToken() + "&domain=" + domain;
var json = RunUrlReturnJSON(myurl);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
//获得流程注册表信息,返回没有完成的数据.
function DB_GenerWorkFlow(flowNo) {
var myurl = ccbpmHostDevelopAPI + "DB_GenerWorkFlow?token=" + GetToken() + "&flowNo=" + flowNo;
var json = RunUrlReturnJSON(myurl);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
/**
* 打开表单, 如果是仅仅传入的是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 = "") {
// 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 + JSON.parse(frmUrl).data;
}
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;
var json = RunUrlReturnJSON(url);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
function WorkCheckModel_Init(nodeID) {
var url = ccbpmHostDevelopAPI + "WorkCheckModel_Init?token=" + GetToken() + "&nodeID=" + nodeID;
var json = RunUrlReturnJSON(url);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
function Node(nodeID) {
var url = ccbpmHostDevelopAPI + "En_Node?token=" + GetToken() + "&nodeID=" + nodeID;
var json = RunUrlReturnJSON(url);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
function Flow(flowNo) {
var url = ccbpmHostDevelopAPI + "En_Flow?token=" + GetToken() + "&no=" + flowNo;
var json = RunUrlReturnJSON(url);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
function Batch_InitDDL(nodeID) {
var url = ccbpmHostDevelopAPI + "Batch_InitDDL?token=" + GetToken() + "&nodeID=" + nodeID;
var json = RunUrlReturnJSON(url);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
function WorkCheckModel_Send(nodeID, CheckNote, ToNode, ToEmps) {
var url = ccbpmHostDevelopAPI + "WorkCheckModel_Send?token=" + GetToken() + "&nodeID=" + nodeID + "&toNode=" + ToNode + "&toEmps=" + ToEmps + "&checkNote=" + CheckNote;
var json = RunUrlReturnJSON(url);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
function Batch_Delete(WorkIDs) {
var url = ccbpmHostDevelopAPI + "Batch_Delete?token=" + GetToken() + "&workIDs=" + WorkIDs;
var json = RunUrlReturnJSON(url);
if (json.code == 500) {
alert(json.msg);
return;
}
var data = json.data;
var information = JSON.parse(data)
return information;
}
/**
* 退回
* @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);
}