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

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.

<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>