123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- @{
- ViewBag.Title = "用户组权限";
- Layout = "~/Views/Shared/_Form.cshtml";
- }
- <script type="text/javascript">
- var userGroupId = request('userGroupId');
- $(function () {
- initialPage();
- GetModuleTree();
- GetModuleButtonTree();
- GetModuleColumnTree();
- GetOrganizeTree();
- })
- //初始化页面
- function initialPage() {
- //加载导向
- $('#wizard').wizard().on('change', function (e, data) {
- var $finish = $("#btn_finish");
- var $next = $("#btn_next");
- if (data.direction == "next") {
- if (data.step == 1) {
- var ModuleId = $("#ModuleTree").getCheckedAllNodes();
- for (var i = 0; i < ModuleId.length; i++) {
- var $thisid = $("#ModuleButtonTree").find('ul').find('[data-value=' + ModuleId[i] + ']').parent().parent();
- $thisid.show();
- $thisid.parents('ul').find('.' + ModuleId[i]).parent().show();
- }
- }
- if (data.step == 2) {
- var ModuleId = $("#ModuleTree").getCheckedAllNodes();
- for (var i = 0; i < ModuleId.length; i++) {
- var $thisid = $("#ModuleColumnTree").find('ul').find('[data-value=' + ModuleId[i] + ']').parent().parent();
- $thisid.show();
- $thisid.parents('ul').find('.' + ModuleId[i]).parent().show();
- }
- }
- if (data.step == 3) {
- $finish.removeAttr('disabled');
- $next.attr('disabled', 'disabled');
- }
- } else {
- $finish.attr('disabled', 'disabled');
- $next.removeAttr('disabled');
- }
- });
- //数据权限 、点击类型触发事件
- $("input[name='authorizeType']").click(function () {
- var value = $(this).val();
- if (value == -5) {
- $("#OrganizeTreebackground").hide();
- } else {
- $("#OrganizeTreebackground").show();
- }
- })
- buttonOperation();
- }
- //获取系统功能
- function GetModuleTree() {
- var item = {
- height: 540,
- showcheck: true,
- url: "../../AuthorizeManage/PermissionUserGroup/ModuleTreeJson?userGroupId=" + userGroupId
- };
- $("#ModuleTree").treeview(item);
- }
- //获取系统按钮
- function GetModuleButtonTree() {
- var item = {
- height: 540,
- showcheck: true,
- url: "../../AuthorizeManage/PermissionUserGroup/ModuleButtonTreeJson?userGroupId=" + userGroupId
- };
- $("#ModuleButtonTree").treeview(item);
- $("#ModuleButtonTree").find('.bbit-tree-node-el').hide();
- }
- //获取系统视图
- function GetModuleColumnTree() {
- var item = {
- height: 540,
- showcheck: true,
- url: "../../AuthorizeManage/PermissionUserGroup/ModuleColumnTreeJson?userGroupId=" + userGroupId
- };
- $("#ModuleColumnTree").treeview(item);
- $("#ModuleColumnTree").find('.bbit-tree-node-el').hide();
- }
- //获取组织架构
- function GetOrganizeTree() {
- $.ajax({
- url: "../../AuthorizeManage/PermissionUserGroup/OrganizeTreeJson?userGroupId=" + userGroupId,
- type: "GET",
- dataType: "json",
- async: false,
- success: function (data) {
- var $treeJson = data.treeJson;
- var $authorizeType = data.authorizeType;
- var $authorizeData = data.authorizeData;
- var item = {
- height: 330,
- showcheck: true,
- data: JSON.parse($treeJson),
- };
- $("#OrganizeTree").treeview(item);
- $("input[name='authorizeType'][value=" + $authorizeType + "]").trigger("click");
- $("#OrganizeTree").find('li.bbit-tree-node').each(function () {
- var $li = $(this);
- $li.css({ position: 'relative' });
- var _data_value = $li.find('a').find('span').attr('data-value');
- var _html = '<div style="position: absolute;right: 0px;top:4px;z-index: 1;"><div class="checkbox">';
- _html += '<label><input name="' + _data_value + '" type="checkbox" value="1" />只读</label>';
- _html += '</div></div>';
- $li.append(_html);
- });
- $.each($authorizeData, function (i) {
- var row = $authorizeData[i]
- var resourceId = row.ResourceId;
- var IsRead = row.IsRead;
- if (IsRead == 1) {
- $("input[name='" + resourceId + "']").attr("checked", true);
- }
- });
- }
- });
- }
- //按钮操作(上一步、下一步、完成、关闭)
- function buttonOperation() {
- var $last = $("#btn_last");
- var $next = $("#btn_next");
- var $finish = $("#btn_finish");
- //完成提交保存
- $finish.click(function () {
- var postData = $("#form1").GetWebControls();
- postData["userGroupId"] = userGroupId;
- postData["moduleIds"] = String($("#ModuleTree").getCheckedAllNodes());
- postData["moduleButtonIds"] = String($("#ModuleButtonTree").getCheckedAllNodes());
- postData["moduleColumnIds"] = String($("#ModuleColumnTree").getCheckedAllNodes());
- postData["authorizeDataJson"] = JSON.stringify(GetDataAuthorize());
- $.SaveForm({
- url: "../../AuthorizeManage/PermissionUserGroup/SaveAuthorize",
- param: postData,
- loading: "正在保存用户组授权...",
- success: function () {
- $.currentIframe().$("#gridTable").trigger("reloadGrid");
- }
- })
- })
- }
- //获取数据范围权限选中值、返回Json
- function GetDataAuthorize() {
- var dataAuthorize = [];
- var authorizeType = $("input[name='authorizeType']:checked").val();
- if (authorizeType == -5) {
- var selectedData = $("#OrganizeTree").getCheckedAllNodes();
- for (var i = 0; i < selectedData.length; i++) {
- var ResourceId = selectedData[i];
- var IsRead = $("input[name='" + ResourceId + "']:checked").val() == 1 ? 1 : 0;
- var rowdata = {
- ResourceId: ResourceId,
- IsRead: IsRead,
- AuthorizeType: -5
- }
- dataAuthorize.push(rowdata);
- }
- } else {
- var rowdata = {
- IsRead: 0,
- AuthorizeType: authorizeType
- }
- dataAuthorize.push(rowdata);
- }
- return dataAuthorize;
- }
- </script>
- <div class="widget-body">
- <div id="wizard" class="wizard" data-target="#wizard-steps" style="border-left: none; border-top: none; border-right: none;">
- <ul class="steps">
- <li data-target="#step-1" class="active"><span class="step">1</span>系统功能<span class="chevron"></span></li>
- <li data-target="#step-2"><span class="step">2</span>系统按钮<span class="chevron"></span></li>
- <li data-target="#step-3"><span class="step">3</span>系统视图<span class="chevron"></span></li>
- <li data-target="#step-4"><span class="step">4</span>数据权限<span class="chevron"></span></li>
- </ul>
- </div>
- <div class="step-content" id="wizard-steps" style="border-left: none; border-bottom: none; border-right: none;">
- <div class="step-pane active" id="step-1">
- <div id="ModuleTree" style="margin: 10px;"></div>
- </div>
- <div class="step-pane" id="step-2">
- <div id="ModuleButtonTree" style="margin: 10px;"></div>
- </div>
- <div class="step-pane" id="step-3">
- <div id="ModuleColumnTree" style="margin: 10px;"></div>
- </div>
- <div class="step-pane" id="step-4" style="margin: 15px; margin-bottom: 0px;">
- <div>
- <ul class="list-group">
- <li class="list-group-item">
- <div class="radio">
- <label>
- <input name="authorizeType" type="radio" checked="checked" value="-1" />
- 仅限本人
- </label>
- </div>
- </li>
- <li class="list-group-item">
- <div class="radio">
- <label>
- <input name="authorizeType" type="radio" value="-2" />
- 仅限本人及下属
- </label>
- </div>
- </li>
- <li class="list-group-item">
- <div class="radio">
- <label>
- <input name="authorizeType" type="radio" value="-3" />
- 所在部门
- </label>
- </div>
- </li>
- <li class="list-group-item">
- <div class="radio">
- <label>
- <input name="authorizeType" type="radio" value="-4" />
- 所在公司
- </label>
- </div>
- </li>
- <li class="list-group-item">
- <div class="radio">
- <label>
- <input name="authorizeType" type="radio" value="-5" />
- 自定义设置
- </label>
- </div>
- <div id="OrganizeTree" style="margin: 10px; margin-bottom: 0px;"></div>
- <div id="OrganizeTreebackground" style="position: fixed; top: 251px; left: 15px; z-index: 2; width: 670px; height: 343px; background: #000; filter: alpha(opacity=10); opacity: 0.1;"></div>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="form-button" id="wizard-actions">
- <a id="btn_last" disabled class="btn btn-default btn-prev">上一步</a>
- <a id="btn_next" class="btn btn-default btn-next">下一步</a>
- <a id="btn_finish" disabled class="btn btn-success">完成</a>
- </div>
|