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.

251 lines
13 KiB
Plaintext

9 months ago
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>多人处理规则</title>
<link href="../../../Scripts/easyUI145/themes/color.css" rel="stylesheet" />
<link href="../../../Scripts/easyUI145/themes/default/easyui.css" rel="stylesheet" type="text/css" />
<script src="../../../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="../../../Scripts/easyUI/jquery.easyui.min.js" type="text/javascript"></script>
<link href="../../../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
<script src="../../../Scripts/QueryString.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../Scripts/config.js"></script>
<script type="text/javascript" src="../../../Comm/Gener.js"></script>
<!-- 自己的系统风格统一. -->
<link href="../../../Style/skin/adminfont/iconfont.css" rel="stylesheet" />
<link href="../../../Style/skin/css/Default.css" rel="stylesheet" />
<!-- 自己的系统风格统一end -->
<script src="DDLBar.js" type="text/javascript"></script>
<script src="../../CCFlowEnum.js" type="text/javascript"></script>
<script src="../../../Scripts/EasyUIUtility.js" type="text/javascript"></script>
<script src="../../../Scripts/vue.js"></script>
<script src="../../Admin.js"></script>
<style>
.olText {
list-style: none;
margin-bottom: 10px;
}
</style>
<script>
var w = window.innerWidth / 2;
var h = window.innerHeight - 40;
//设置岗位-左右结构.
function OpenBranchesAndLeafStations() {
var nodeID = GetQueryString("FK_Node");
var url = "../../../Comm/RefFunc/BranchesAndLeaf.htm?EnName=BP.WF.Template.NodeSheet&Dot2DotEnsName=BP.WF.Template.NodeStations&Dot2DotEnName=BP.WF.Template.NodeStation&AttrOfOneInMM=FK_Node&AttrOfMInMM=FK_Station&EnsOfM=BP.Port.Stations&DefaultGroupAttrKey=FK_StationType&NodeID=" + nodeID + "&PKVal=" + nodeID;
OpenEasyUiDialogExtCloseFunc(url, '设置岗位', w * 1.5, h, function () {
Baseinfo.stas = getStas();
});
}
//通用的设置岗位的方法。for admin. ***********************************************************
function OpenDot2DotStations() {
var nodeID = GetQueryString("FK_Node");
var url = "../../../Comm/RefFunc/Dot2Dot.htm?EnName=BP.WF.Template.NodeSheet&Dot2DotEnsName=BP.WF.Template.NodeStations";
url += "&AttrOfOneInMM=FK_Node&AttrOfMInMM=FK_Station&EnsOfM=BP.Port.Stations";
url += "&DefaultGroupAttrKey=FK_StationType&NodeID=" + nodeID + "&PKVal=" + nodeID;
OpenEasyUiDialogExtCloseFunc(url, '设置岗位', w, h, function () {
Baseinfo.stas = getStas();
});
}
/*
* 获取节点绑定的岗位
*/
function getStas() {
var ens = new Entities("BP.WF.Template.NodeStations");
ens.Retrieve("FK_Node", GetQueryString("FK_Node"));
ens = $.grep(ens, function (obj, i) {
return obj.FK_Node != undefined
});
return ens;
}
function OpenNodStationGroup(orgNo) {
var url = "NodeStationGroup.htm?OrgNo=" + orgNo + "&FK_Node=" + GetQueryString("FK_Node");
OpenEasyUiDialogExtCloseFunc(url, '绑定岗位', 500, 600, function () {
Baseinfo.stas = getStas();
});
}
var nodeID = GetQueryString("FK_Node");
var node = new Entity("BP.WF.Node", nodeID);
$(function () {
InitBar(TodolistModel.Teamup);
//初始化代办删除规则
//获得参数值
var delRole = node.GetPara("GenerWorkerListDelRole");
//将获取的值绑定到radio
if (delRole == undefined)
delRole = 0;
$("#RB_GenerWorkerListDelRole_" + delRole).attr('checked', 'true');
});
function Save() {
$("#Btn_Save").html('正在保存请稍候...');
node.TodolistModel = TodolistModel.Teamup;
var role = $("input[name='GenerWorkerListDelRole']:checked").val();
node.SetPara("GenerWorkerListDelRole", role);
node.Update();
Reload();
}
//打开代办删除规则
function ToolDelRole() {
var url = "../GenerWorkerListDelRole.htm?s=d34&FK_Flow=" + GetQueryString("FK_Flow") + "&FK_Node=" + GetQueryString("FK_Node");
OpenEasyUiDialogExtCloseFunc(url, '代办删除规则', 800, 500, function () {
});
}
</script>
</head>
<body>
<div id="bar">
</div>
<form id="cc">
<fieldset>
<legend>
协作模式下待办删除规则
</legend>
<ul style="color: Gray;list-style:none">
<li>
<input type="radio" ID="RB_GenerWorkerListDelRole_0" name="GenerWorkerListDelRole" value="0"
onclick="rb_onchange(0)" checked="checked" /><label style="color:black;font-weight:bolder" for="RB_GenerWorkerListDelRole_0">不删除</label>
<ol class="olText">
<li>正常处理待办工作,不对其他人员的待办做删除处理。</li>
</ol>
</li>
<li>
<input type="radio" ID="RB_GenerWorkerListDelRole_1"
name="GenerWorkerListDelRole" value="1"
onClick="rb_onchange(1)" /><label style="color:black;font-weight:bolder" for="RB_GenerWorkerListDelRole_1">删除同部门的人员(包括主部门+兼职部门)</label>
<ol class="olText">
<li>当前工作完成后,该节点上的其他待办人员如果有本部门的人,就把他删除。</li>
<li>删除的范围是与当前处理人是同一个部门,包括兼职部门。</li>
</ol>
</li>
<li>
<input type="radio" ID="RB_GenerWorkerListDelRole_3"
name="GenerWorkerListDelRole" value="3"
onClick="rb_onchange(3)" /><label style="color:black;font-weight:bolder" for="RB_GenerWorkerListDelRole_3">删除主部门的人员</label>
<ol class="olText">
<li>当前工作完成后,该节点上的其他待办人员如果有本部门的人,就把他删除。</li>
<li>删除的范围是与当前处理人是同一个<font color="red"><b>主部门</b></font>。</li>
</ol>
</li>
<li>
<input type="radio" ID="RB_GenerWorkerListDelRole_4" name="GenerWorkerListDelRole" value="4"
onClick="rb_onchange(4)" /><label style="color:black;font-weight:bolder" for="RB_GenerWorkerListDelRole_4">删除兼职部门的人员</label>
<ol class="olText">
<li>当前工作完成后,该节点上的其他待办人员如果有本部门的人,就把他删除。</li>
<li>删除的范围是与当前处理人是同一个<font color="red"><b>兼职部门</b></font>。</li>
</ol>
</li>
<li>
<input type="radio" ID="RB_GenerWorkerListDelRole_2"
name="GenerWorkerListDelRole" value="2"
onClick="rb_onchange(2)" /><label style="color:black;font-weight:bolder" for="RB_GenerWorkerListDelRole_2"> 删除同岗位的人员 </label>
<ol class="olText">
<li>如果当前节点是协作模式的节点。</li>
<li>当前工作完成后,该节点绑定的岗位集合,当前操作员的岗位集合,与剩余每个人员的岗位集合对比如果有交集,该人员就被删除。</li>
<li><a href="https://gitee.com/opencc/JFlow/wikis/pages/preview?sort_id=6366313&doc_id=31094" target="_blank">点击查看本案例配置</a></li>
<div id="App">
<legend>绑定岗位</legend>
<ul>
<li><a href="javascript:OpenDot2DotStations()">绑定岗位-分组模式</a> </li>
<li><a href="javascript:OpenBranchesAndLeafStations()">绑定岗位-左右树结构模式</a> </li>
</ul>
<legend>已经绑定的岗位 </legend>
<div id="stas">
<ul>
<li v-show="stas.length===0">未设置</li>
<template v-for="sta in stas">
<li v-show="sta.FK_StationText!=undefined">{{sta.FK_StationText}}</li>
</template>
</ul>
</div>
</div>
</ol>
</li>
</ul>
</fieldset>
<fieldset>
<legend>待办删除规则的应用背景</legend>
<ul>
<li>当前节点必须是协作模式的节点.</li>
<li>多个部门的不同岗位上的人员一起处理工作.</li>
<li>比如:一个节点上有资产岗、财务岗、审法岗三个不同的岗位上的人员一起协作.</li>
<li>每个岗位上的人有可能大于等于2需求是只要有一个人审批这个岗位上的另外一个人的待办自动消失.</li>
<li>比如财务岗上有3个人可以审批分别是zhangsan,lisi,wangwu,其中一个lisi审批完毕后其余两个人就不审批了.</li>
</ul>
</fieldset>
<fieldset>
<legend id="help">
说明
</legend>
<ul style="color: Gray">
<li>A发送到B B节点上有n个人可以处理。这个n个人都可以去处理都可以去发送有最后一个处理人发送到下一个节点上去这n个人的处理不分顺序。这样的模式我们叫做协作模式。</li>
<li>协作模式通常用在具有审核组件的表单中,每个人都可以填写自己的意见,发表自己的看法,在审核组件里审核每个人在一个节点上只能写入一条数据,也就是说只能表达一次意见。</li>
<li>也经常用在传阅的情况下,必须这些人都读取了,知道了才能向下运动。它与抄送不同的地方是,抄送可以不看,就可以向下运行,但是他必须处理才能向下运行。</li>
<li>通常的协作模式,就是多人都要点击一下发送功能按钮,来确认自己处理了,确认自己同意了或者认可了。</li>
<!--<li><input id="Btn" type="button" value="协作模式下代办删除规则" onclick="ToolDelRole()" /></li>-->
</ul>
</fieldset>
</form>
<script type="text/javascript">
var Baseinfo = new Vue({
el: '#App',
data: {
adminModel: 1,
orgModel: 0,
stas: [],
webuser: null,
deliverWay: DeliveryWay.ByStationOnly
},
methods: {
OpenDot2DotStations: function () {
OpenDot2DotStations();
//SaveSta();
},
OpenNew: function () {
var nodeID = GetQueryString("FK_Node");
var url = "../../../Comm/RefFunc/BranchesAndLeaf.htm?EnName=BP.WF.Template.NodeSheet&Dot2DotEnsName=BP.WF.Template.NodeStations&Dot2DotEnName=BP.WF.Template.NodeStation&AttrOfOneInMM=FK_Node&AttrOfMInMM=FK_Station&EnsOfM=BP.Port.Stations&DefaultGroupAttrKey=FK_StationType&NodeID=" + nodeID + "&PKVal=" + nodeID;
OpenEasyUiDialogExtCloseFunc(url, '设置岗位', 1100, 500, function () {
Baseinfo.stas = getStas();
// SaveSta();
});
},
SetGroupStations: function () {
OpenNodStationGroup(this.webuser.GroupNo);
},
SetOrgStations: function () {
OpenNodStationGroup(this.webuser.FK_Dept);
}
},
created() {
InitBar(this.deliverWay);
this.stas = getStas();
//根据用户的信息,判断是否启用那个设置工具。
this.webuser = new WebUser();
this.adminModel = this.webuser.No == "admin" ? 1 : 0;
this.orgModel = this.webuser.No == "admin" ? 0 : 1;
}
});
</script>
</body>
</html>