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.

629 lines
26 KiB
Plaintext

11 months ago
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8"/>
<link href="../../Comm/Style/Table0.css" rel="stylesheet" type="text/css" />
<link href="../../Scripts/easyUI145/themes/icon.css" rel="stylesheet" type="text/css" />
<link href="../../Scripts/easyUI145/themes/default/easyui.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/easyUI145/jquery.min.js" type="text/javascript"></script>
<script src="../../Scripts/easyUI145/jquery.easyui.min.js" type="text/javascript"></script>
<script src="../../Scripts/QueryString.js" type="text/javascript"></script>
<script src="../../Scripts/config.js" type="text/javascript"></script>
<script language="JavaScript" src="../../Comm/JScript.js" type="text/javascript"></script>
<script src="../../Scripts/CommonUnite.js" type="text/javascript"></script>
<script src="../../Scripts/EasyUIUtility.js" type="text/javascript"></script>
<script src="../../Scripts/QueryString.js" type="text/javascript"></script>
<link href="../../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
<!-- 引用通用的js文件. -->
<script type="text/javascript" src="../../Scripts/config.js"></script>
<script type="text/javascript" src="../../Comm/Gener.js"></script>
<script type="text/javascript" language="javascript" >
//傻瓜表单
var FixForm = 0;
/// <summary>
/// 自由表单.
/// </summary>
var FreeForm = 1;
/// <summary>
/// 嵌入式表单.
/// </summary>
var SelfForm = 2;
/// <summary>
/// SDKForm
/// </summary>
var SDKForm = 3;
/// <summary>
/// SL表单
/// </summary>
var SLForm = 4;
/// <summary>
/// 表单树
/// </summary>
var SheetTree = 5;
/// <summary>
/// 动态表单树
/// </summary>
var SheetAutoTree = 6;
/// <summary>
/// 公文表单
/// </summary>
var WebOffice = 7;
/// <summary>
/// Excel表单
/// </summary>
var ExcelForm = 8;
/// <summary>
/// Word表单
/// </summary>
var WordForm = 9;
/// <summary>
/// 傻瓜轨迹表单
/// </summary>
var FoolTruck = 10;
/// <summary>
/// 表单库的表单
/// </summary>
var RefOneFrmTree = 11;
/// <summary>
/// 禁用(对多表单流程有效)
/// </summary>
var DisableIt = 100;
var nodeID = 0;
var fk_flow = "";
var nodeFrmID = "";
//页面启动函数.
$(function () {
$("#Msg").html("正在加载,请稍后......");
// var url = "./FrmSln/Default.htm?FK_Flow" + GetQueryString("FK_Flow") + "&FK_Node=" + GetQueryString("FK_Node");
// SetHref(url);
// return;
//初始化groupID.
nodeID = GetQueryString("FK_Node");
fk_flow = GetQueryString("FK_Flow");
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_AttrNode");
handler.AddUrlData();
var data = handler.DoMethodReturnString("NodeFromWorkModel_Init");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
data = JSON.parse(data);
//绑定节点.
var nodes = data["Nodes"];
//创建节点.
var node = new Entity("BP.WF.Node");
node.NodeID = GetQueryString("FK_Node");
node.RetrieveFromDBSources();
var mybtn = data["WF_BtnLabExtWebOffice"][0]; //nodeOffice
var btn = data["WF_BtnLab"][0]; //nodeOffice.
fk_flow = node.FK_Flow;
var frmIDSelected = node.NodeFrmID;
if (frmIDSelected == "" || frmIDSelected == null)
frmIDSelected = "ND" + nodeID;
var seledtNodeID = frmIDSelected.replace('ND', '');
GenerBindDDL("DDL_Frm", nodes, "NodeID", "Name", seledtNodeID);
//绑定表单类别.
var frmTrees = new Entities("BP.WF.Template.SysFormTrees");
frmTrees.RetrieveAll();
if (node.FormType == RefOneFrmTree) {
GenerBindDDL("DDL_FrmTree", frmTrees, "No", "Name", node.RefOneFrmTreeType);
} else {
GenerBindDDL("DDL_FrmTree", frmTrees, "No", "Name", node.FormUrl);
}
//绑定表单.
var frms = new Entities("BP.Sys.MapDatas");
frms.RetrieveAll();
//根据表单类别的默认值,初始加载默认的表单
var sortNo = $("#DDL_FrmTree").val();
var frm = $.grep(frms, function (item) {
return item.FK_FormTree == sortNo;
});
//绑定表单
GenerBindDDL("DDL_RefOneFrmTree", frm, "No", "Name", node.NodeFrmID);
nodeFrmID = node.NodeFrmID;
//var ddl = $("#DDL_RefOneFrmTree");
//绑定表单.
//傻瓜表单.
if (node.FormType == FixForm) {
document.getElementById("RB_FixFrm").checked = true;
document.getElementById("RB_Frm_1").checked = true;
if (seledtNodeID == nodeID) {
document.getElementById("RB_CurrentForm").checked = true;
SetDDLEnable("DDL_Frm", false);
}
else {
document.getElementById("RB_OtherForms").checked = true;
}
}
if (node.FormType == FreeForm) {
document.getElementById("RB_FixFrm").checked = true;
document.getElementById("RB_Frm_0").checked = true;
if (seledtNodeID == nodeID) {
document.getElementById("RB_CurrentForm").checked = true;
SetDDLEnable("DDL_Frm", false);
}
else
document.getElementById("RB_OtherForms").checked = true;
}
//表单库的表单.
if (node.FormType == RefOneFrmTree) {
document.getElementById("RB_RefOneFrmTree").checked = true;
var frmNode = new Entity("BP.WF.Template.FrmNode");
frmNode.MyPK = node.NodeFrmID + "_" + node.NodeID + "_" + node.FK_Flow;
var i = frmNode.RetrieveFromDBSources();
if (i == 1) {
var html = "<a href=\"javascript:EditFrmNode('" + frmNode.MyPK + "')\" >编辑关联的表单属性</a>";
$("#Div_RefOneFrmTree").html(html);
}
}
//轨迹模式傻瓜表单.
if (node.FormType == FoolTruck) {
document.getElementById("RB_FoolTruck").checked = true;
}
//使用嵌入式表单.
if (node.FormType == SelfForm) {
document.getElementById("RB_SelfForm").checked = true;
document.getElementById("TB_CustomURL").value = node.FormUrl;
}
//使用sdk表单.
if (node.FormType == SDKForm) {
document.getElementById("RB_SDKForm").checked = true;
document.getElementById("TB_FormURL").value = node.FormUrl;
}
//表单树.
if (node.FormType == SheetTree) {
document.getElementById("RB_SheetTree").checked = true;
document.getElementById("RB_tree").checked = true;
}
if (node.FormType == DisableIt) {
document.getElementById("RB_SheetTree").checked = true;
document.getElementById("RB_tab").checked = true;
}
//使用公文表单..
if (node.FormType == WebOffice) {
document.getElementById("RB_WebOffice").checked = true;
document.getElementById("RB_WebOffice_FrmFirst").checked = true;
var FrmFirst = 2;
if (btn.WebOfficeEnable == FrmFirst)
document.getElementById("RB_WebOffice_FrmFirst").checked = true;
else
document.getElementById("RB_WebOffice_WordFirst").checked = true;
}
});
function EditFrmNode(mypk) {
var url = '../../Comm/En.htm?EnName=BP.WF.Template.FrmNodeExt&MyPK=' + mypk;
OpenEasyUiDialog(url, "eudlgframe", '编辑', 900, 500, "icon-edit", true, null, null, null, function () {
Reload();
});
}
//节点表单组件属性.
function ShowFWCAttr() {
var nodeID = GetQueryString("FK_Node");
var url = "../../Comm/EnOnly.htm?EnName=BP.WF.Template.FrmNodeComponent&PKVal=" + nodeID;
WinOpen(url)
}
//执行保存.
function Save() {
//是否是独立表单库表单.
var isChecked = document.getElementById("RB_RefOneFrmTree").checked;
if (isChecked == true) {
var selectFrm = $("#DDL_RefOneFrmTree").val(); //选择的表单.
if (selectFrm == undefined || selectFrm == null) {
alert('请选择一个表单');
return;
}
var node = new Entity("BP.WF.Node");
node.NodeID = GetQueryString("FK_Node");
var i = node.RetrieveFromDBSources();
//alert("RetrieveFromDBSources=" + i + " NodeID:" + node.NodeID);
//设置表单类型.
node.FormType = RefOneFrmTree;
node.NodeFrmID = selectFrm; //选择的表单
node.RefOneFrmTreeType = $("#DDL_FrmTree").val();
var update = node.Update(); //执行更新.
// alert("update" + update);
//alert(node.FormType);
var frmNode = new Entity("BP.WF.Template.FrmNode");
frmNode.MyPK = selectFrm + "_" + node.NodeID + "_" + node.FK_Flow;
var i = frmNode.RetrieveFromDBSources();
frmNode.FK_Node = node.NodeID;
frmNode.FK_Flow = node.FK_Flow;
frmNode.FK_Frm = selectFrm;
frmNode.Save(); //执行保存.
var html = "<a href=\"javascript:EditFrmNode('" + frmNode.MyPK + "')\" >编辑关联的表单属性</a>";
$("#Div_RefOneFrmTree").html(html);
alert("独立表单库表单 - 保存成功.");
return;
}
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_AttrNode");
handler.AddUrlData();
handler.AddFormData();
var data = handler.DoMethodReturnString("NodeFromWorkModel_Save");
alert(data);
}
//设置联动
function change() {
//获取表单库中的所有表单
var frms = new Entities("BP.Sys.MapDatas");
frms.RetrieveAll();
//根据表单类别的默认值,初始加载默认的表单
var sortNo = $("#DDL_FrmTree").val();
//晒选表单
var frm = $.grep(frms, function (item) {
return item.FK_FormTree == sortNo;
});
//绑定表单
GenerBindDDL("DDL_RefOneFrmTree", frm, "No", "Name", nodeFrmID);
}
</script>
<style type="text/css">
.DemoImg
{
width: 220px;
height:160px;
border: 1px;
border-color: Blue;
}
.DemoImgTD
{
margin: 0px;
vertical-align: top;
width:20%;
}
</style>
<script type="text/javascript">
function ChangeImg(val) {
if (val == "0")
$("#BindingImg").attr("src", "./Img/Tree.png");
else
$("#BindingImg").attr("src", "./Img/Tab.png");
}
function SelectImg(val) {
if (val == "0")
$("#FrmImg").attr("src", "./Img/FreeFrm.png");
else
$("#FrmImg").attr("src", "./Img/Col4Frm.JPG");
}
function SetDDLEnable(ctrl, val) {
if (val == "enable")
$("#" + ctrl).attr("disabled", "disabled");
else
$("#" + ctrl).removeAttr("disabled");
}
</script>
</head>
<body>
<form id="cc">
<table style="width: 100%;">
<!-- =================================== 使用ccbpm内置的节点表单 -->
<tr>
<th colspan="2">
<input type="radio" value="DefFrm" id="RB_FixFrm" checked=true name="FrmS" /> <label for="RB_FixFrm" >使用ccbpm内置的节点表单 </label>
</th>
</tr>
<tr>
<td class="DemoImgTD">
<a href="http://ccbpm.mydoc.io/?v=5404&t=17923" target="_blank">
<img src="./Img/FreeFrm.png" id="FrmImg" class="DemoImg" alt="点击放大" />
</a>
</td>
<td style="width:80%;" >
<table style="width:100%;">
<tr>
<td> 呈现风格: </td>
<td>
<input type="radio" value="0" id="RB_Frm_0" onclick="SelectImg('0')" checked=true name="RB_Frm" /> <label for="RB_Frm_0" >自由模式 </label>
<input type="radio" value="1" id="RB_Frm_1" onclick="SelectImg('1')" name="RB_Frm" /> <label for="RB_Frm_1" >傻瓜模式 </label>
</td>
<td>
<div id="funcList"> </div>
</td>
</tr>
<tr>
<td>表单引用:</td>
<td>
<input type="radio" value="0" id="RB_CurrentForm" checked=true onclick="SetDDLEnable('DDL_Frm','enable')" name="RefFrm" /> <label for="RB_CurrentForm" >当前节点表单 </label>
<input type="radio" value="1" id="RB_OtherForms" onclick="SetDDLEnable('DDL_Frm','disable')" name="RefFrm" /> <label for="RB_OtherForms" >其他节点表单 </label>
<!-- <asp:RadioButton ID="RB_CurrentForm" runat="server" Text="当前节点表单" GroupName="xxy" />
<asp:RadioButton ID="RB_OtherForms" runat="server" Text="其他节点表单" GroupName="xxy" />-->
</td>
<td>
<font color="gray">当前节点可以设置与其他节点共用一个表单</font>
</td>
</tr>
<tr>
<td>要引用的节点:</td>
<td>
<select id="DDL_Frm" name="DDL_Frm" > </select>
<!--<asp:DropDownList ID="DDL_Frm" runat="server">
</asp:DropDownList>-->
</td>
<td>
<font color="gray">对于选择使用【其他节点表单】设置有效. </font>
</td>
</tr>
<tr>
<td>
<a href="javascript:ShowFWCAttr()">节点表单组件属性</a>
</td>
<td colspan="2">
<font color="gray">ccbpm为您提供了一个demo流程\\流程树\\表单解决方案\\审核组件流程,使用审核组件可以方便用户设计审批类的流程。</font>
</td>
</tr>
</table>
</td>
</tr>
<!-- =================================== 使用 绑定一个表单库的表单 -->
<tr>
<th colspan="2" class="DemoImgTD">
<input type="radio" value="RefOneFrmTree" id="RB_RefOneFrmTree" name="FrmS" /> <label for="RB_RefOneFrmTree" >绑定一个表单库的表单 </label>
</th>
</tr>
<tr>
<td class="DemoImgTD">
<a href="http://ccbpm.mydoc.io/?v=5404&t=17925" target="_blank">
<img src="./Img/RefOneFrmTree.png" style=" height:200px;" alt="点击放大" />
</a>
</td>
<td>
<ul>
<li>表单库里选择一个表单绑定到当前节点上.</li>
<li>该表单的工作方式与内置表单工作模式一致.</li>
</ul>
表单类别:
<select id="DDL_FrmTree" name="DDL_FrmTree" onchange="change()" > </select>
表单: <select id="DDL_RefOneFrmTree" name="DDL_RefOneFrmTree" > </select>
<div id="Div_RefOneFrmTree" ></div>
</td>
</tr>
<!-- =================================== 绑定多表单 -->
<tr>
<th colspan="2" class="DemoImgTD">
<input type="radio" value="SheetTree" id="RB_SheetTree" name="FrmS" /> <label for="RB_SheetTree" >绑定多表单 </label>
</th>
</tr>
<tr>
<td class="DemoImgTD">
<a href="http://blog.csdn.net/jflows/article/details/50160423" target="_blank">
<img src="./Img/Tree.png" id="BindingImg" class="DemoImg" alt="点击放大" />
</a>
</td>
<td>
呈现风格:
<input type="radio" value="0" id="RB_tree" checked=true onclick="ChangeImg('0')" name="SheetTreeModel" /> <label for="RB_tree" >表单树 </label>
<input type="radio" value="1" id="RB_tab" onclick="ChangeImg('1')" name="SheetTreeModel" /> <label for="RB_tab" >Tab标签页 </label>
<script type="text/javascript">
function BindFrms() {
var url = "../Sln/BindFrmsDtl.htm?FK_Node=" + nodeID + "&FK_Flow=" + fk_flow + "&DoType=SelectedFrm";
WinOpen(url);
}
function BindAttrs() {
var url = "../Sln/BindFrms.htm?FK_Node=" + nodeID + "&FK_Flow=" + fk_flow;
WinOpen(url);
}
</script>
[<a href="javascript:BindFrms()" >绑定/取消绑定</a> ] [ <a href="javascript:BindAttrs()" >设置表单字段控件权限</a>]
<br />
<font color="gray">
<ul>
<li>我们把一个节点需要绑定多个表单的节点称为多表单节点,它有两种展现方式,标签页与表单树。</li>
<li>对应的流程demo:\\流程树\\表单解决方案\\树形表单与多表单 </li>
</ul>
</font>
</td>
</tr>
<!-- =================================== 使用 轨迹模式表单 -->
<tr>
<th colspan="2" class="DemoImgTD">
<input type="radio" value="FoolTruck" id="RB_FoolTruck" name="FrmS" /> <label for="RB_FoolTruck" >轨迹模式傻瓜表单 </label>
</th>
</tr>
<tr>
<td class="DemoImgTD">
<a href="http://ccbpm.mydoc.io/?v=5404&t=17925" target="_blank">
<img src="./Img/SelfFrm.png" class="DemoImg" alt="点击放大" />
</a>
</td>
<td>
<ul>
<li>该表单是傻瓜表单的一种变形展现方式.</li>
<li>也叫轨迹表单模式,为软通动力定制的一种表单展示类型.</li>
<li>适合一个节点一个表单模式,简洁流畅,容易追踪历史运动过程.</li>
</ul>
</td>
</tr>
<!-- =================================== 使用 嵌入式表单 -->
<tr>
<th colspan="2" class="DemoImgTD">
<input type="radio" value="SelfForm" id="RB_SelfForm" name="FrmS" /> <label for="RB_SelfForm" >使用嵌入式表单 </label>
</th>
</tr>
<tr>
<td class="DemoImgTD">
<a href="http://ccbpm.mydoc.io/?v=5404&t=17925" target="_blank">
<img src="./Img/SelfFrm.png" class="DemoImg" alt="点击放大" />
</a>
</td>
<td>
请输入嵌入式表单的URL:<br />
<input type="text" value="" id="TB_CustomURL" name="TB_CustomURL" style=" width:90%;Height:20px;" />
<!--<asp:TextBox ID="TB_CustomURL" runat="server" Width="424px" Height="20px"></asp:TextBox>-->
<br />
<font color="gray">
<ul>
<li>该表单必须有javascript 的 Save保存方法该Save方法里如果需要执行存盘并验证。</li>
<li>如果使用绝对路径可以使用ccbpm的全局变量@SDKFromServHost ,比如: @SDKFromServHost/MyFile.aspx </li>
<li>ccbpm团队为您提供了一个嵌入式表单的 demo ,位于:\\流程树\\表单解决方案\\嵌入式表单. </li>
<li> <a href="javascript:WinOpen('../../Comm/EnOnly.htm?EnName=BP.WF.Template.FrmNodeComponent&PKVal=<%=nodeID%>')">组件属性</a></li>
</ul>
</font>
</td>
</tr>
<!-- =================================== 使用SDK表单 -->
<tr>
<th colspan="2" class="DemoImgTD">
<input type="radio" value="SDKForm" id="RB_SDKForm" name="FrmS" /> <label for="RB_SDKForm" >使用SDK表单 </label>
</th>
</tr>
<tr>
<td class="DemoImgTD">
<a href="http://ccbpm.mydoc.io/?v=5404&t=18388" target="_blank">
<img src="./Img/SDKFrm.png" class="DemoImg" alt="点击放大" />
</a>
</td>
<td>请输入SDK表单的URL:<br />
<input type="text" value="" id="TB_FormURL" name="TB_FormURL" style="width:90%;Height:20px;" />
<br />
<font color="gray">
<ul>
<li>SDK表单就是ccbpm把界面的展现完全交给了开发人员处理,开发人员只要设计一个表单,增加一个发送按钮,调用ccbpm的发送API就可以完成</li>
<li>如果使用绝对路径可以使用ccbpm的全局变量@SDKFromServHost ,比如: @SDKFromServHost/MyFile.aspx </li>
<li>ccbpm团队为您提供了一个demo流程 \\流程树\\SDK流程\\ 该目录下有很多SDK模式的流程供您参考。</li>
</ul>
</font>
</td>
</tr>
<!-- =================================== 绑定公文表单 -->
<tr>
<th colspan="2" class="DemoImgTD">
<input type="radio" value="WebOffice" id="RB_WebOffice" name="FrmS" /> <label for="RB_WebOffice" >公文表单 </label>
</th>
</tr>
<tr>
<td class="DemoImgTD">
<a href="http://blog.csdn.net/jflows/article/details/50160423" target="_blank">
<img src="./Img/Doc.png" id="Img1" class="DemoImg" alt="点击放大" />
</a>
</td>
<td>
<b>呈现风格:</b>
<input type="radio" value="0" id="RB_WebOffice_FrmFirst" checked=true name="WebOfficeStyle" /><label for="RB_WebOffice_FrmFirst" >表单在前面 </label>
<input type="radio" value="1" id="RB_WebOffice_WordFirst" name="WebOfficeStyle" /><label for="RB_WebOffice_WordFirst" >公文在前面 </label>
<b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表单工作模式:</b>
<input type="radio" value="0" id="RB_WebOffice_FreeFrm" checked=true name="WebOfficeFrmType" /> <label for="RB_WebOffice_FreeFrm" >自由表单显示 </label>
<input type="radio" value="1" id="RB_WebOffice_FoolForm" name="WebOfficeFrmType" /> <label for="RB_WebOffice_FoolForm" >傻瓜表单显示 </label>
<script type="text/javascript">
function BindAttrsBtn() {
var url = "../../Comm/EnOnly.htm?EnName=BP.WF.Template.BtnLabExtWebOffice&PKVal=" + nodeID + "&FK_Flow=" + fk_flow;
//var url = "../BindFrmsDtl.htm?FK_Node=" + nodeID + "&FK_Flow=" + fk_flow + "&DoType=SelectedFrm";
WinOpen(url);
}
</script>
<ul>
<li> <a href="javascript:BindAttrs()">设置附件权限</a> - <a href="javascript:BindAttrsBtn()" >设置公文按钮权限</a> </li>
<font color="gray">
<li>我们把一个节点需要绑定多个表单的节点称为多表单节点,它有两种展现方式,标签页与表单树。</li>
<li>对应的流程demo:\\流程树\\表单解决方案\\树形表单与多表单 </li>
</font>
</ul>
<!--<li>
[<a href="javascript:WinOpen('../CCFormDesigner/FormDesigner.htm?FK_MapData=ND<%=nodeIDstr %>');">
设计自由表单(Html5)</a>]
[<a href="javascript:WinOpen('../CCFormDesigner/CCFormDesignerSL.htm?FK_Flow=<%=nd.FK_Flow %>&FK_MapData=ND<%=nodeIDstr %>&UserNo=<%=BP.Web.WebUser.No %>&Token=<%=BP.Web.webUser.Token%>');">
设计自由表单(Silverlight)</a>]
[手机表单]-[设计傻瓜表单]
</li>-->
</td>
</tr>
<tr>
<td></td>
<td >
<input type="button" value="保存" onclick="Save()" />
</td>
</tr>
</table>
</form>
</body>
</html>