opperm.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. var piData = null;
  2. function treeNodeSelFn(e, node) {
  3. $("#rec_div").html("");
  4. $(".res_tip").hide();
  5. if ($.tree.reference("rec_div") != null) $.tree.reference("rec_div").destroy();
  6. if (e.node == null || e.node == undefined) return;
  7. var id = e.node.id;
  8. //if (e.node.pid == "o_0") return;
  9. if (id.indexOf("o_") != -1) {
  10. //mini.get("setting_div").hide();
  11. id = id.replace("o_", "");
  12. $("#hType").val("o");
  13. getJsonAjax("../handler/GetPurview.ashx?type=modular", function (data) {
  14. $("#rec_div").tree({
  15. data: {
  16. type: "json",
  17. opts: { "static": data }
  18. },
  19. ui: {
  20. theme_name: "checkbox"
  21. },
  22. plugins: {
  23. checkbox: {}
  24. }
  25. });
  26. $.tree.reference("rec_div").open_all();
  27. getJsonAjax("../handler/GetPurview.ashx?type=org_pms&oId=" + id, function (data) {
  28. checkInit(data);
  29. }, null, true);
  30. });
  31. }
  32. else {
  33. //mini.get("setting_div").show();
  34. id = id.replace("p_", "");
  35. var oId = e.node.orgId;
  36. $("#hOId").val(oId);
  37. $("#hType").val("p");
  38. getJsonAjax("../handler/GetPurview.ashx?type=org_post&oId=" + oId + "&pId=" + id, function (data) {
  39. if (data == null || data.length < 1) return;
  40. var sData = data[0];
  41. $("#rec_div").tree({
  42. data: {
  43. type: "json",
  44. opts: { "static": sData.orgData }
  45. },
  46. ui: {
  47. theme_name: "checkbox"
  48. },
  49. plugins: {
  50. checkbox: {}
  51. }
  52. });
  53. $.tree.reference("rec_div").open_all();
  54. checkInit(sData.postData);
  55. //if (sData.settingData != null && sData.settingData.length > 0) {
  56. // selItemSelected($("#selModules")[0], sData.settingData[0].pmId);
  57. // selItemSelected($("#selIndex")[0], sData.settingData[0].ipp);
  58. //}
  59. //clearView();
  60. //piData = sData.piData;
  61. //if (piData != null) {
  62. // for (var i = 0; i < piData.length; i++) {
  63. // if (piData[i].PostID == id) {
  64. // $("#selView option[value='" + piData[i].IndexID + "']").remove();
  65. // $("#selView2").prepend("<option value=\"" + piData[i].IndexID + "\">" + piData[i].IndexName + "</option>");
  66. // }
  67. // }
  68. //}
  69. }, function (data) { alert("没有分配权限"); });
  70. }
  71. $("#hId").val(id);
  72. $("#rec_div").show();
  73. $(".res_tip").show();
  74. $("#sp_post").html(e.node.name);
  75. }
  76. //check已选择
  77. function checkInit(str) {
  78. checkReset();
  79. if (!str || str == "") return false;
  80. var sArr = str.split(',');
  81. for (var i = 0; i < sArr.length; i++) {
  82. var sId = sArr[i];
  83. if ($("#jt_" + sId).find("ul").length < 1) {
  84. jQuery.tree.plugins.checkbox.check("#jt_" + sId);
  85. }
  86. }
  87. }
  88. //重置
  89. function checkReset() {
  90. //得到所有选中的节点集合
  91. var sArr = $(".checked,.undetermined");
  92. for (var i = 0; i < sArr.length; i++) {
  93. sArr[i].className = "";
  94. }
  95. }
  96. //查找父级
  97. function checkRights(source, target) {
  98. var tmp = source.replace(target, "");
  99. if (tmp.indexOf(target) != -1) return false;
  100. else return true;
  101. }
  102. //获取已选择
  103. function getResult() {
  104. //取得所有选中的节点,返回节点对象的集合
  105. //,.undetermined
  106. var menu = $(".checked,.undetermined");
  107. var sArr = new Array();
  108. var sId;
  109. for (var i = 0; i < menu.length; i++) {
  110. sId = menu[i].parentNode.id;
  111. if (sId.indexOf("root") != -1) continue;
  112. sArr.push(sId.replace("jt_", ""));
  113. }
  114. return sArr.join(',');
  115. }
  116. function expandAll() {
  117. $.tree.reference("rec_div").open_all();
  118. }
  119. function unexpandAll() {
  120. $.tree.reference("rec_div").close_all();
  121. }
  122. function saveSettingFn() {
  123. //$("#")
  124. if ($("#hType").val() == "p") {
  125. var id = $("#hId").val();
  126. var mId = $("#selModules").val();
  127. var index = $("#selIndex").val();
  128. var obj = $("#selView2")[0];
  129. var len = obj.options.length;
  130. var sArr = new Array();
  131. for (var i = 0; i < len; i++) {
  132. sArr.push(obj.options[i].value);
  133. }
  134. getAjax("save_postsetting", "pId=" + id + "&mId=" + mId + "&index=" + index + "&noshow=" + sArr.join(","), function (data) {
  135. resultShow(data);
  136. });
  137. }
  138. }
  139. function savePermission() {
  140. var setId = $("#hId").val();
  141. var oId = $("#hOId").val();
  142. var setValue = getResult();
  143. if (setId == "") {
  144. alert("请选择要分配权限的职位,如果您当前还没相应职位,请添加!");
  145. return false;
  146. }
  147. if ($("#hType").val() == "p") {
  148. postPermissionAjax("../handler/SetPurview.ashx", "type=postrights&setid=" + setId + "&oId=" + oId + "&v=" + setValue, function (data) {
  149. resultShow(data.result);
  150. }, null, true);
  151. } else {
  152. postPermissionAjax("../handler/SetPurview.ashx", "type=orgrights&setid=" + setId + "&v=" + setValue, function (data) {
  153. resultShow(data.result);
  154. }, null, true);
  155. }
  156. }
  157. function viewLeftFn() {
  158. var idx = $("#selView")[0].selectedIndex;
  159. if (idx == -1) return;
  160. var txt = $("#selView option:selected").text();
  161. var v = $("#selView").val();
  162. $("#selView option:selected").remove();
  163. $("#selView2").prepend("<option value=\"" + v + "\">" + txt + "</option>");
  164. }
  165. function clearView() {
  166. var obj = $("#selView2")[0];
  167. var len = obj.options.length;
  168. var txt = "";
  169. var v = "";
  170. for (var i = 0; i < len; i++) {
  171. txt = obj.options[i].text;
  172. v = obj.options[i].value;
  173. $("#selView").prepend("<option value=\"" + v + "\">" + txt + "</option>");
  174. }
  175. $("#selView2").empty();
  176. }
  177. $(document).ready(function () {
  178. });