busQueryShareEdit.jsp 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. <%@page language="java" pageEncoding="UTF-8"%>
  2. <%@include file="/commons/include/html_doctype.html"%>
  3. <html>
  4. <head>
  5. <title>共享</title>
  6. <%@include file="/commons/include/form.jsp" %>
  7. <script type="text/javascript" src="${ctx}/js/hotent/CustomValid.js"></script>
  8. <script type="text/javascript" src="${ctx}/js/hotent/platform/system/ScriptDialog.js"></script>
  9. <script type="text/javascript" src="${ctx}/js/hotent/platform/system/SysDialog.js"></script>
  10. <script type="text/javascript">
  11. /*KILLDIALOG*/
  12. var dialog = frameElement.dialog; //调用页面的dialog对象(ligerui对象)
  13. $(function() {
  14. var options={};
  15. if(showResponse){
  16. options.success=showResponse;
  17. }
  18. $("a.save").click(function() {
  19. submitForm(options);
  20. });
  21. handChange("#shareTb");
  22. handClick("#shareTb");
  23. init()
  24. });
  25. //初始化
  26. function init(){
  27. var shareRightVal = $("#shareRight").val();
  28. if ($.isEmpty(shareRightVal))
  29. return;
  30. var shareRight = $.parseJSON(shareRightVal);
  31. if($.isEmpty(shareRight))
  32. return;
  33. var table=$('#shareTb');
  34. var type =$("[var='type']",table).val(shareRight.type);
  35. $("[var='sharerId']",table).val(shareRight.id);
  36. $("[var='sharerName']",table).val(shareRight.name);
  37. $("[var='shareScript']",table).val(shareRight.script);
  38. type.trigger("change");
  39. }
  40. function handChange(obj){
  41. $(obj).delegate("select.change_share", "change", function() {
  42. var me = $(this), spanObj = me.next(), nextSpanObj = spanObj.next();
  43. showSpan(me.val(), spanObj);
  44. $("textarea", spanObj).val(""),
  45. $("input:hidden",spanObj).val("");
  46. $("textarea", nextSpanObj).val("");
  47. });
  48. }
  49. function showSpan (permissionType, spanObj) {
  50. switch (permissionType) {
  51. case "user" :
  52. case "role" :
  53. case "org" :
  54. case "orgMgr" :
  55. case "pos" :
  56. spanObj.show();
  57. spanObj.next().hide();
  58. break;
  59. case "script" :
  60. spanObj.hide();
  61. spanObj.next().show();
  62. break;
  63. case "everyone" :
  64. case "none" :
  65. spanObj.hide();
  66. spanObj.next().hide();
  67. break;
  68. }
  69. }
  70. /**
  71. * 处理选择
  72. */
  73. function handClick(obj) {
  74. $(obj).delegate("a.link-get", "click", function() {
  75. var me = $(this), txtObj = me.prev(), idObj = txtObj.prev(), selObj = me
  76. .parent().prev(), selType = selObj.val();
  77. // 选择回调
  78. var callback = function(ids, names) {
  79. txtObj.val(names);
  80. idObj.val(ids);
  81. };
  82. switch (selType) {
  83. case "user" :
  84. UserDialog({
  85. callback : callback
  86. });
  87. break;
  88. case "role" :
  89. RoleDialog({
  90. callback : callback
  91. });
  92. break;
  93. case "org" :
  94. case "orgMgr" :
  95. OrgDialog({
  96. callback : callback
  97. });
  98. break;
  99. case "pos" :
  100. PosDialog({
  101. callback : callback
  102. });
  103. break;
  104. }
  105. });
  106. }
  107. /**
  108. * 选择脚本
  109. *
  110. * @param {}
  111. * obj
  112. */
  113. function selectScript (obj, isNext) {
  114. var linkObj = $(obj), txtObj = {};
  115. if (isNext)
  116. txtObj = linkObj.next()[0];
  117. else
  118. txtObj = linkObj.prev()[0];
  119. if (txtObj) {
  120. ScriptDialog({
  121. callback : function(script) {
  122. $.insertText(txtObj, script);
  123. }
  124. });
  125. }
  126. }
  127. //显示字段
  128. function getShareRight(){
  129. var obj={},table=$('#shareTb') ;
  130. obj.type =$("[var='type']",table).val();
  131. obj.id =$("[var='sharerId']",table).val();
  132. obj.name =$("[var='sharerName']",table).val();
  133. obj.script =$("[var='shareScript']",table).val();
  134. return obj;
  135. }
  136. //提交表单
  137. function submitForm(options){
  138. var shareRight = JSON2.stringify(getShareRight());
  139. var json={
  140. id:$('#id').val(),
  141. filterId:$('#filterId').val(),
  142. shareRight:shareRight
  143. };
  144. var form = $('<form method="post" action="save.ht"></form>');
  145. var input = $("<input type='hidden' name='json'/>");
  146. var jsonStr=JSON2.stringify(json);
  147. input.val(jsonStr);
  148. form.append(input);
  149. form.ajaxForm(options);
  150. form.submit();
  151. }
  152. function showResponse(responseText) {
  153. var obj = new com.hotent.form.ResultMessage(responseText);
  154. if (obj.isSuccess()) {
  155. $.ligerDialog.success(obj.getMessage(),"提示信息", function(rtn) {
  156. if(rtn){
  157. if(window.opener){
  158. window.opener.location.reload();
  159. dialog.close();
  160. }else{
  161. this.close();
  162. window.location.href="list.ht";
  163. }
  164. }
  165. });
  166. } else {
  167. $.ligerDialog.err("提示信息","共享失败!",obj.getMessage());
  168. }
  169. }
  170. </script>
  171. </head>
  172. <body>
  173. <div class="panel">
  174. <div class="panel-top">
  175. <div class="tbar-title">
  176. <span class="tbar-label">共享</span>
  177. </div>
  178. <div class="panel-toolbar">
  179. <div class="toolBar">
  180. <div class="group"><a class="link save" id="dataFormSave" href="javascript:;"><span></span>保存</a></div>
  181. <div class="l-bar-separator"></div>
  182. <div class="group"><a class="link close" href="list.ht"><span></span>关闭 </a></div>
  183. </div>
  184. </div>
  185. </div>
  186. <div class="panel-body">
  187. <form id="busQueryShareForm" method="post" action="save.ht">
  188. <table class="table-detail" id="shareTb" cellpadding="0" cellspacing="0" border="0" type="main">
  189. <tr>
  190. <th width="20%" style="height: 100px;">共享: </th>
  191. <td>
  192. <select class="change_share" var="type">
  193. <option selected="selected" value="none">无</option>
  194. <option value="everyone">所有人</option>
  195. <option value="user">用户</option>
  196. <option value="role">角色</option>
  197. <option value="org">组织</option>
  198. <option value="orgMgr">组织负责人</option>
  199. <option value="pos">岗位</option>
  200. <option value="script">脚本</option>
  201. </select>
  202. <span style="display: none;" name="share_span">
  203. <input type="hidden" value="" var="sharerId">
  204. <textarea rows="3" cols="40" var="sharerName" readonly="readonly" style="width: 250px;"></textarea>
  205. <a href="javascript:;" class="link-get"><span class="link-btn">选择</span></a>
  206. </span>
  207. <span style="display: none;" class="share_script_span">
  208. <textarea var="shareScript" rows="3" cols="40" style="width: 250px;"></textarea>
  209. <a onclick="selectScript(this,false)" title="常用脚本" class="link var" name="btnScript" href="javascript:;">常用脚本</a>
  210. </span>
  211. </td>
  212. </tr>
  213. </table>
  214. <input type="hidden" id="id" name="id" value="${busQueryShare.id}" />
  215. <input type="hidden" id="filterId" name="filterId" value="${filterId}" />
  216. <textarea style="display: none;" id="shareRight" name="shareRight" >${fn:escapeXml(busQueryShare.shareRight)}</textarea>
  217. </form>
  218. </div>
  219. </div>
  220. </body>
  221. </html>