$(function () { var $dialogRole = $('#dialogRole'); var $dialogRoleHeader = $('#myRoleModalLabel'); var $dialogRoleForm = $('#roleForm'); var $dialogGroup = $("#dialogGroup"); var $dialogGroupHeader = $('#myGroupModalLabel'); var $dialogGroupForm = $('#groupForm'); var $dialogReset = $('#dialogReset'); var $dialogResetHeader = $('#myResetModalLabel'); var $resetReason = $('#resetReason'); var $table = $('table'); $table.lgbTable({ url: User.url, dataBinder: { map: { Id: "#userID", UserName: "#userName", Password: "#password", DisplayName: "#displayName", NewPassword: "#confirm" }, events: { '#btn_assignRole': function (row) { $.bc({ id: row.Id, url: Role.url, query: { type: "user" }, method: "post", callback: function (result) { var htmlTemplate = this.htmlTemplate; var html = $.map(result, function (element, index) { return $.format(htmlTemplate, element.Id, element.RoleName, element.Checked, element.Description); }).join(''); $dialogRoleHeader.text($.format('{0}-角色授权窗口', row.DisplayName)); $dialogRoleForm.html(html).find('[data-toggle="tooltip"]').each(function (index, label) { if (label.title === "") label.title = "未设置"; }).tooltip(); $dialogRole.modal('show'); } }); }, '#btn_assignGroup': function (row) { $.bc({ id: row.Id, url: Group.url, query: { type: "user" }, method: "post", callback: function (result) { var htmlTemplate = this.htmlTemplate; var html = $.map(result, function (element, index) { return $.format(htmlTemplate, element.Id, element.GroupName, element.Checked, element.Description); }).join(''); $dialogGroupHeader.text($.format('{0}-部门授权窗口', row.DisplayName)); $dialogGroupForm.html(html).find('[data-toggle="tooltip"]').each(function (index, label) { if (label.title === "") label.title = "未设置"; }).tooltip(); $dialogGroup.modal('show'); } }); }, '#btnSubmitRole': function (row) { var userId = row.Id; var roleIds = $dialogRole.find(':checked').map(function (index, element) { return $(element).val(); }).toArray(); $.bc({ id: userId, url: User.url, method: 'put', data: roleIds, query: { type: "role" }, title: Role.title, modal: '#dialogRole' }); }, '#btnSubmitGroup': function (row) { var userId = row.Id; var groupIds = $dialogGroup.find(':checked').map(function (index, element) { return $(element).val(); }).toArray(); $.bc({ id: userId, url: User.url, method: 'put', data: groupIds, query: { type: "group" }, title: Group.title, modal: '#dialogGroup' }); }, '#btnReset': function (row) { $.bc({ id: row.UserName, url: 'api/Register', method: 'put', data: { password: $('#resetPassword').val() }, modal: "#dialogReset", title: "重置密码", callback: function (result) { if (result) $table.bootstrapTable('refresh'); } }); } }, callback: function (data) { if (data && data.success && data.oper === 'save' && data.data.UserName === $('#userDisplayName').attr('data-userName')) { $('#userDisplayName').text(data.data.DisplayName); } if (data && data.oper === 'create') { $('#userName').prop('readonly', false).removeClass("ignore"); } else if (data && data.oper === 'edit') { $('#userName').prop('readonly', true).addClass("ignore"); } } }, smartTable: { sortName: 'DisplayName', sortOrder: "asc", queryParams: function (params) { return $.extend(params, { name: $("#txt_search_name").val(), displayName: $('#txt_display_name').val() }); }, //传递参数(*) columns: [ { title: "登陆名称", field: "UserName", sortable: true }, { title: "显示名称", field: "DisplayName", sortable: true }, { title: "注册时间", field: "RegisterTime", sortable: true }, { title: "授权时间", field: "ApprovedTime", sortable: true }, { title: "授权人", field: "ApprovedBy", sortable: true }, { title: "说明", field: "Description", sortable: false } ], editButtons: { events : { 'click .reset': function (e, value, row, index) { $table.bootstrapTable('uncheckAll'); $table.bootstrapTable('check', index); $dialogResetHeader.text($.format("{0} - 重置密码窗口", row.UserName)); $.bc({ id: row.UserName, url: User.url, method: 'post', query: { type: "reset" }, callback: function (result) { if ($.isArray(result)) { var reason = result.map(function (v, index) { return $.format("{0}: {1}", v.Key, v.Value); }).join('\n'); $resetReason.text(reason); $dialogReset.modal('show'); } } }); } }, formatter: function (value, row, index) { var $this = this.clone(); if (row.IsReset === 0) { $this.find('button.reset').remove(); } return $this.html(); } }, exportOptions: { fileName: "用户数据", ignoreColumn: [0, 7] } } }); });