RoadFlow2.1 临时演示

Set_Line.aspx 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Set_Line.aspx.cs" Inherits="WebForm.Platform.WorkFlowDesigner.Set_Line" %>
  2. <!DOCTYPE html>
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title></title>
  7. </head>
  8. <body>
  9. <%
  10. string lineID = Request.QueryString["id"];
  11. string fromID = Request.QueryString["from"];
  12. string toID = Request.QueryString["to"];
  13. %>
  14. <form id="form1" runat="server">
  15. <div id="tabdiv">
  16. <div id="div_sql" style="width:96%; margin:8px auto 0 auto;" title="&nbsp;&nbsp;SQL条件&nbsp;&nbsp;">
  17. <div>SQL条件:</div>
  18. <div style="margin-top:8px;">
  19. <textarea id="div_sql_value" style="width:98%; height:100px; font-family:Verdana;" rows="1" cols="1" class="mytextarea"></textarea>
  20. </div>
  21. <table border="0" style="width:99%;" align="center">
  22. <tr>
  23. <td>
  24. <div style="margin-top:8px; line-height:21px;">
  25. <div>1.条件对应的表为流程对应的主表</div>
  26. <div>2.条件对应的字段为流程主表字段</div>
  27. <div>3.示例:a=1 and b='1'</div>
  28. </div>
  29. </td>
  30. <td style="text-align:right; padding:15px 4px 0 0; vertical-align:top;"><input type="button" class="mybutton" value="测试SQL条件" onclick="test();" /></td>
  31. </tr>
  32. </table>
  33. <div style="padding:8px;">条件标签:<input type="text" class="mytext" style="width:400px;" id="div_sql_title" /></div>
  34. </div>
  35. <div id="div_organize" style="width:99%; margin:8px auto 0 auto;" title="&nbsp;&nbsp;组织机构&nbsp;&nbsp;">
  36. <div style="margin-top:8px;">
  37. <table cellpadding="0" cellspacing="1" border="0" width="100%" class="formtable">
  38. <tr>
  39. <th style="width:100px">发送者属于:</th>
  40. <td>
  41. <input type="text" class="mymember" id="organize_senderin" style="width:400px;" />
  42. </td>
  43. </tr>
  44. <tr>
  45. <th style="width:80px">发送者不属于:</th>
  46. <td>
  47. <input type="text" class="mymember" id="organize_sendernotin" style="width:400px;" />
  48. </td>
  49. </tr>
  50. <tr>
  51. <th style="width:100px">发起者属于:</th>
  52. <td>
  53. <input type="text" class="mymember" id="organize_sponsorin" style="width:400px;" />
  54. </td>
  55. </tr>
  56. <tr>
  57. <th style="width:80px">发起者不属于:</th>
  58. <td>
  59. <input type="text" class="mymember" id="organize_sponsornotin" style="width:400px;" />
  60. </td>
  61. </tr>
  62. <tr>
  63. <th style="width:80px">是领导:</th>
  64. <td>
  65. <input type="checkbox" id="organize_senderleader" style="vertical-align:middle;" /><label for="organize_senderleader">发送者是部门领导</label>
  66. <input type="checkbox" id="organize_senderchargeleader" style="vertical-align:middle;" /><label for="organize_senderchargeleader">发送者是部门分管领导</label>
  67. <input type="checkbox" id="organize_sponsorleader" style="vertical-align:middle;" /><label for="organize_sponsorleader">发起者是部门领导</label>
  68. <input type="checkbox" id="organize_sponsorchargeleader" style="vertical-align:middle;" /><label for="organize_sponsorchargeleader">发起者是部门分管领导</label>
  69. </td>
  70. </tr>
  71. <tr>
  72. <th style="width:80px">不是领导:</th>
  73. <td>
  74. <input type="checkbox" id="organize_notsenderleader" style="vertical-align:middle;" /><label for="organize_notsenderleader">发送者不是部门领导</label>
  75. <input type="checkbox" id="organize_notsenderchargeleader" style="vertical-align:middle;" /><label for="organize_notsenderchargeleader">发送者不是部门分管领导</label>
  76. <input type="checkbox" id="organize_notsponsorleader" style="vertical-align:middle;" /><label for="organize_notsponsorleader">发起者不是部门领导</label>
  77. <input type="checkbox" id="organize_notsponsorchargeleader" style="vertical-align:middle;" /><label for="organize_notsponsorchargeleader">发起者不是部门分管领导</label>
  78. </td>
  79. </tr>
  80. </table>
  81. </div>
  82. </div>
  83. <div id="div_custom" style="width:96%; margin:8px auto 0 auto;" title="&nbsp;&nbsp;自定义方法&nbsp;&nbsp;">
  84. <div>
  85. <div>方法名称:</div><div style="margin-top:8px;"><input type="text" class="mytext" id="custom_method" style="width:90%;" /></div>
  86. </div>
  87. <div style="height:10px;"></div>
  88. <!--
  89. <div>
  90. <div>条件不满足提示信息:</div><div style="margin-top:8px;"><input type="text" class="mytext" id="custom_msg" style="width:90%;" /></div>
  91. </div>
  92. -->
  93. <div style="margin-top:10px; font-weight:bold;">方法说明:</div>
  94. <div style="line-height:21px; padding-left:12px;">
  95. <div>1.方法名称格式为:DLL名称.命名空间.类名.方法名(例:WebMvc.Common.CustomFormSave.Test)</div>
  96. <div>2.方法返回类型为 bool 类型的 True 时条件满足,返回其它类型且字符串值不为 "1" 时条件不满足</div>
  97. <div>3.方法返回类型为 bool 类型时提示信息为上面输入的信息,否则提示返回的值</div>
  98. <div>4.方法访问限定符为 Public</div>
  99. </div>
  100. </div>
  101. </div>
  102. <div style="width:100%; margin:30px auto 10px auto; text-align:center;">
  103. <input type="button" class="mybutton" value=" 确 定 " onclick="confirm1();" />
  104. <input type="button" class="mybutton" value=" 取 消 " onclick="new RoadUI.Window().close();" />
  105. </div>
  106. </form>
  107. <script type="text/javascript">
  108. var fieldsOptions = '';
  109. var frame=null;
  110. var openerid = "<%=Request.QueryString["openerid"]%>";
  111. var lineid="<%=lineID%>";
  112. var fromid="<%=fromID%>";
  113. var toid = "<%=toID%>";
  114. var table = "";
  115. var dbconnid = "";
  116. var dbtable = "";
  117. var dbtablepk = "";
  118. $(function ()
  119. {
  120. new RoadUI.Tab({ id: "tabdiv", replace: true, contextmenu: false });
  121. var iframes = top.frames;
  122. for (var i = 0; i < iframes.length; i++)
  123. {
  124. if (iframes[i].name == openerid + "_iframe")
  125. {
  126. frame = iframes[i]; break;
  127. }
  128. }
  129. if (frame == null) return;
  130. var json=frame.wf_json;
  131. var line=null;
  132. if(json)
  133. {
  134. var lines=json.lines;
  135. if(lines && lines.length>0)
  136. {
  137. for(var i=0;i<json.lines.length;i++)
  138. {
  139. if(json.lines[i].id==lineid)
  140. {
  141. line=json.lines[i];
  142. break;
  143. }
  144. }
  145. }
  146. var databases = json.databases;
  147. if (databases && databases.length>0)
  148. {
  149. dbconnid = databases[0].link;
  150. dbtable = databases[0].table;
  151. dbtablepk = databases[0].primaryKey;
  152. }
  153. }
  154. if(line)
  155. {
  156. $("#custom_method").val(line.customMethod);
  157. $("#div_sql_value").val(line.sql);
  158. $("#div_sql_title").val(line.text);
  159. $("#organize_senderin").val(line.organize_senderin);
  160. $("#organize_sendernotin").val(line.organize_sendernotin);
  161. $("#organize_sponsorin").val(line.organize_sponsorin);
  162. $("#organize_sponsornotin").val(line.organize_sponsornotin);
  163. new RoadUI.Member().setValue($("#organize_senderin"));
  164. new RoadUI.Member().setValue($("#organize_sendernotin"));
  165. new RoadUI.Member().setValue($("#organize_sponsorin"));
  166. new RoadUI.Member().setValue($("#organize_sponsornotin"));
  167. $("#organize_senderleader").prop("checked", "1" == line.organize_senderleader);
  168. $("#organize_senderchargeleader").prop("checked","1"==line.organize_senderchargeleader);
  169. $("#organize_sponsorleader").prop("checked","1"==line.organize_sponsorleader);
  170. $("#organize_sponsorchargeleader").prop("checked", "1" == line.organize_sponsorchargeleader);
  171. $("#organize_notsenderleader").prop("checked", "1" == line.organize_notsenderleader);
  172. $("#organize_notsenderchargeleader").prop("checked", "1" == line.organize_notsenderchargeleader);
  173. $("#organize_notsponsorleader").prop("checked", "1" == line.organize_notsponsorleader);
  174. $("#organize_notsponsorchargeleader").prop("checked", "1" == line.organize_notsponsorchargeleader);
  175. }
  176. });
  177. function confirm1()
  178. {
  179. var line={};
  180. line.id=lineid;
  181. line.from=fromid;
  182. line.to=toid;
  183. line.customMethod = $("#custom_method").val() || "";
  184. line.text = $("#div_sql_title").val() || "";
  185. line.sql = $("#div_sql_value").val() || "";
  186. line.organize_senderin = $("#organize_senderin").val() || "";
  187. line.organize_sendernotin = $("#organize_sendernotin").val() || "";
  188. line.organize_sponsorin = $("#organize_sponsorin").val() || "";
  189. line.organize_sponsornotin = $("#organize_sponsornotin").val() || "";
  190. line.organize_senderleader = $("#organize_senderleader").prop("checked") ? "1" : "0";
  191. line.organize_senderchargeleader = $("#organize_senderchargeleader").prop("checked") ? "1" : "0";
  192. line.organize_sponsorleader = $("#organize_sponsorleader").prop("checked") ? "1" : "0";
  193. line.organize_sponsorchargeleader = $("#organize_sponsorchargeleader").prop("checked") ? "1" : "0";
  194. line.organize_notsenderleader = $("#organize_notsenderleader").prop("checked") ? "1" : "0";
  195. line.organize_notsenderchargeleader = $("#organize_notsenderchargeleader").prop("checked") ? "1" : "0";
  196. line.organize_notsponsorleader = $("#organize_notsponsorleader").prop("checked") ? "1" : "0";
  197. line.organize_notsponsorchargeleader = $("#organize_notsponsorchargeleader").prop("checked") ? "1" : "0";
  198. frame.addLine(line);
  199. new RoadUI.Window().close();
  200. }
  201. function test()
  202. {
  203. var where = $("#div_sql_value").val();
  204. if ($.trim(where).length == 0)
  205. {
  206. alert("条件为空!");
  207. return;
  208. }
  209. $.ajax({
  210. url: "TestLineSqlWhere.ashx", method: "POST",
  211. data: { "connid": dbconnid, "table": dbtable, "tablepk": dbtablepk, "where": where },
  212. async: false, cache: false, success: function (txt)
  213. {
  214. alert(txt);
  215. }
  216. });
  217. }
  218. </script>
  219. </body>
  220. </html>