增加流程维护、我的审批页面流程查询可以按照类别进行分类,修改草稿内容不在待办中显示,修改审批各节点顺序按照时间正序排序,流程维护页面增加多选及删除

master
孙亮 7 months ago
parent 81c0b95134
commit ad6ea81b07

@ -1,4 +1,4 @@

function FlowTemplateNew() {
var url = basePath + "/WF/Admin/CCBPMDesigner/FlowDevModel/Default.htm";
window.open(url);
@ -15,6 +15,34 @@ function FlowTemplateImp() {
function DealFlowEmps(str) {
return str;
}
//逻辑删除
function DeleteFlow() {
if (batchData.length == 0) {
layer.alert("请选择要删除的行数据");
return;
}
if (confirm("确定要删除选择的行吗") == false)
return;
var webUser = new WebUser();
var deleteRow = batchData;
//执行删除操作
var enName = ensName.substring(0, ensName.length - 1);
$.each(deleteRow, function (idx, item) {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_MyFlow");
handler.AddPara("Msg", "管理员:" + webUser.No + "执行逻辑删除。");
handler.AddPara("DelEnable", 1);
handler.AddPara("WorkID", item.WorkID);
var data = handler.DoMethodReturnString("DeleteFlow");
/* if (data.indexOf("err@") !=-1) {*/
layer.alert(data);
})
Search("batch");
batchData = [];
}
//格式字符串
function DealTodoEmps(str) {
//var result = str.split("@");
var result = str.split(";");
@ -26,7 +54,7 @@ function DealTodoEmps(str) {
}
/**
* 新建流程模板
* 新建流程模板
* */
function NewFlowTemplate() {
var url = "/WF/Admin/CCBPMDesigner/FlowDevModel/Default.htm?SortNo=100&From=Flows.htm";

@ -290,8 +290,16 @@
var tableData = transferHtmlData(data["DT"]);
//渲染table
var tableName = mapBase.EnDesc;
if (typeof window.top.vm != "undefined" && window.top.vm.tabsList.length > window.top.vm.selectedTabsIndex)
tableName = window.top.vm.tabsList[window.top.vm.selectedTabsIndex].name;
//if (typeof window.top.vm != "undefined" && window.top.vm.tabsList.length > window.top.vm.selectedTabsIndex)
// tableName = window.top.vm.tabsList[window.top.vm.selectedTabsIndex].name;
//防止出现跨域
try {
if (typeof window.top.vm != "undefined" && window.top.vm.tabsList.length > window.top.vm.selectedTabsIndex)
tableName = window.top.vm.tabsList[window.top.vm.selectedTabsIndex].name;
} catch (e) {
tableName = mapBase.EnDesc;
}
//主页面数据
var h = $(document).height() - $("#toolbar").height() * 2 - 90;
vtable = table.render({

@ -580,7 +580,7 @@ namespace BP.WF.Data
map.AddTBString(GenerWorkFlowAttr.BillNo, null, "单据编号", true, true, 0, 100, 10);
//map.AddTBStringDoc(GenerWorkFlowAttr.FlowNote, null, "备注", true, false, true);
map.AddDDLEntities(GenerWorkFlowAttr.FK_FlowSort, null, "类别", new FlowSorts(), false);
map.AddDDLEntities(GenerWorkFlowAttr.FK_FlowSort, null, "流程类别", new FlowSorts(), false);
map.AddDDLEntities(GenerWorkFlowAttr.FK_Flow, null, "流程", new Flows(), false);
map.AddDDLEntities(GenerWorkFlowAttr.FK_Dept, null, "隶属部门", new BP.Port.Depts(), false);
@ -592,9 +592,11 @@ namespace BP.WF.Data
// map.AddMyFileS("xx");
map.AddSearchAttr(GenerWorkFlowAttr.FK_Flow);
//map.AddSearchAttr(GenerWorkFlowAttr.FK_Flow);
map.AddSearchAttr(GenerWorkFlowAttr.FK_FlowSort);
map.AddSearchAttr(GenerWorkFlowAttr.WFSta);
if (SystemConfig.CCBPMRunModel != Sys.CCBPMRunModel.Single)
map.AddHidden(GenerWorkFlowAttr.OrgNo, "=", "@WebUser.OrgNo");

@ -3,6 +3,7 @@ using System.Data;
using BP.DA;
using BP.Sys;
using BP.En;
using BP.WF.Template;
namespace BP.WF.Data
{
@ -726,6 +727,9 @@ namespace BP.WF.Data
map.AddTBDateTime(MyFlowAttr.RDT, "发起日期", true, true);
map.AddDDLSysEnum(MyFlowAttr.WFSta, 0, "状态", true, false, MyFlowAttr.WFSta, "@0=运行中@1=已完成@2=其他");
//map.AddDDLSysEnum(MyFlowAttr.TSpan, 0, "时间段", true, false, MyFlowAttr.TSpan, "@0=本周@1=上周@2=两周以前@3=三周以前@4=更早");
map.AddDDLEntities(GenerWorkFlowAttr.FK_FlowSort, null, "流程类别", new FlowSorts(), false);
map.AddDDLEntities(GenerWorkFlowAttr.FK_FlowSort, null, "类别", new FlowSorts(), false);
map.AddTBString(MyFlowAttr.NodeName, null, "当前节点", true, false, 0, 100, 100, true);
map.AddTBString(MyStartFlowAttr.TodoEmps, null, "当前处理人", true, false, 0, 100, 100, true);
@ -742,6 +746,7 @@ namespace BP.WF.Data
#region 查询条件.
map.AddSearchAttr(GenerWorkFlowAttr.FK_FlowSort);
map.DTSearchKey = GenerWorkFlowAttr.RDT;
map.DTSearchLabel = "发起日期";
map.DTSearchWay = DTSearchWay.ByDate;

@ -1514,7 +1514,7 @@ namespace BP.WF
else
{
if (BP.WF.Glo.IsEnableTaskPool == true)
sql = "SELECT A.*, null as Auther FROM WF_EmpWorks A WHERE TaskSta=0 AND A.FK_Emp='" + userNo + "' " + whereSQL + "";
sql = "SELECT A.*, null as Auther FROM WF_EmpWorks A WHERE WFState >1 AND TaskSta=0 AND A.FK_Emp='" + userNo + "' " + whereSQL + "";
else
sql = "SELECT A.*, null as Auther FROM WF_EmpWorks A WHERE A.FK_Emp='" + userNo + "' " + whereSQL + "";

@ -2804,6 +2804,15 @@ namespace BP.WF.HttpHandler
return "url@./Comm/Search.htm?EnsName=BP.WF.Data.GenerWorkFlowViews&WFSta=all&Token=" + token;
}
//admin查看处理的所有流程。批量操作
if (this.DoWhat.Equals(DoWhatList.BatchForGenerWorkFlowViews) == true)
{
return "url@./Comm/Batch.htm?EnsName=BP.WF.Data.GenerWorkFlowViews&WFSta=all&Token=" + token;
}
//流程查询小页面.
if (this.DoWhat.Equals(DoWhatList.FlowSearchSmall) == true)
{

@ -87,6 +87,8 @@ namespace BP.WF
public const string MyStartFlows = "MyStartFlows";
public const string MyJoinFlows = "MyJoinFlows";
public const string GenerWorkFlowViews = "GenerWorkFlowViews";
public const string BatchForGenerWorkFlowViews = "BatchForGenerWorkFlowViews";
//已完成
public const string Complete = "Complete";
/// <summary>

@ -155,37 +155,55 @@ namespace BP.WF
try
{
GenerWorkFlow gwf = new GenerWorkFlow(this.WorkID);
BP.WF.Node nd = new Node();
nd.NodeID = gwf.NodeID;
if (nd.RetrieveFromDBSources() == 0)
{
Glo.AddToTrack(ActionType.DeleteFlowByFlag, gwf.FlowNo, this.WorkID, this.FID, gwf.NodeID,gwf.NodeName, WebUser.No, WebUser.Name, gwf.NodeID, gwf.NodeName, WebUser.No, WebUser.Name, msg, null);
//更新-流程数据表的状态.
string sql = "UPDATE " + this.HisFlow.PTable + " SET WFState=" + (int)WFState.Delete + " WHERE OID=" + this.WorkID;
DBAccess.RunSQL(sql);
BP.WF.Node nd = new Node(gwf.NodeID);
Work wk = nd.HisWork;
wk.OID = this.WorkID;
wk.RetrieveFromDBSources();
//删除他的工作者,不让其有待办.
sql = "DELETE FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID;
DBAccess.RunSQL(sql);
//定义workNode.
WorkNode wn = new WorkNode(wk, nd);
//设置产生的工作流程为.
gwf.WFState = BP.WF.WFState.Delete;
gwf.Update();
//调用结束前事件.
ExecEvent.DoFlow(EventListFlow.BeforeFlowDel, wn, null);
}
else {
nd = new Node(gwf.NodeID);
Work wk = nd.HisWork;
wk.OID = this.WorkID;
wk.RetrieveFromDBSources();
//记录日志 感谢 itdos and 888 , 提出了这个问题..
wn.AddToTrack(ActionType.DeleteFlowByFlag, WebUser.No, WebUser.Name, wn.HisNode.NodeID, wn.HisNode.Name,
msg);
//定义workNode.
WorkNode wn = new WorkNode(wk, nd);
//更新-流程数据表的状态.
string sql = "UPDATE " + this.HisFlow.PTable + " SET WFState=" + (int)WFState.Delete + " WHERE OID=" + this.WorkID;
DBAccess.RunSQL(sql);
//调用结束前事件.
ExecEvent.DoFlow(EventListFlow.BeforeFlowDel, wn, null);
//删除他的工作者,不让其有待办.
sql = "DELETE FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID;
DBAccess.RunSQL(sql);
//记录日志 感谢 itdos and 888 , 提出了这个问题..
wn.AddToTrack(ActionType.DeleteFlowByFlag, WebUser.No, WebUser.Name, wn.HisNode.NodeID, wn.HisNode.Name,
msg);
//设置产生的工作流程为.
gwf.WFState = BP.WF.WFState.Delete;
gwf.Update();
//更新-流程数据表的状态.
string sql = "UPDATE " + this.HisFlow.PTable + " SET WFState=" + (int)WFState.Delete + " WHERE OID=" + this.WorkID;
DBAccess.RunSQL(sql);
//删除他的工作者,不让其有待办.
sql = "DELETE FROM WF_GenerWorkerlist WHERE WorkID=" + this.WorkID;
DBAccess.RunSQL(sql);
//调用结束后事件.
ExecEvent.DoFlow(EventListFlow.AfterFlowDel, wn, null);
//设置产生的工作流程为.
gwf.WFState = BP.WF.WFState.Delete;
gwf.Update();
//调用结束后事件.
ExecEvent.DoFlow(EventListFlow.AfterFlowDel, wn, null);
}
}
catch (Exception ex)
{

Loading…
Cancel
Save