| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- define(['jquery', 'bootstrap', 'backend', 'form', 'table', 'jstree'], function ($, undefined, Backend, Form, Table) {
- //读取选中的条目
- $.jstree.core.prototype.get_all_checked = function (full) {
- var obj = this.get_selected(), i, j;
- for (i = 0, j = obj.length; i < j; i++) {
- obj = obj.concat(this.get_node(obj[i]).parents);
- }
- obj = $.grep(obj, function (v, i, a) {
- return v != '#';
- });
- obj = obj.filter(function (itm, i, a) {
- return i == a.indexOf(itm);
- });
- return full ? $.map(obj, $.proxy(function (i) {
- return this.get_node(i);
- }, this)) : obj;
- };
- var Controller = {
- index : function () {
- // 初始化表格参数配置
- Table.api.init({
- extend : {
- index_url : 'qingdong/department/role/index',
- add_url : 'qingdong/department/role/add',
- edit_url : 'qingdong/department/role/edit',
- del_url : 'qingdong/department/role/del',
- table : 'role'
- }
- });
- var table = $("#table");
- // 初始化表格
- table.bootstrapTable({
- url : $.fn.bootstrapTable.defaults.extend.index_url,
- sortName : 'id',
- columns : [
- [
- {checkbox: true},
- {field : 'name', title : __('角色名称'),formatter:function (value, row, index) {
- return value.toString().replace(/(&|&)nbsp;/g, ' ');
- }
- },
- {field: 'createtime', title: __('创建时间'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
- {
- field : 'operate',
- title : __('Operate'),
- table : table,
- events : Table.api.events.operate,
- formatter : Table.api.formatter.operate,
- buttons:[
- {
- name: '权限配置',
- text: __('权限配置'),
- classname: 'btn-xs btn-dialog',
- url: 'qingdong/department/role/rule',
- },
- ]
- }
- ]
- ],
- search:false,
- //启用普通表单搜索
- commonSearch : false,
- searchFormVisible : false,
- onLoadSuccess:function(){
- // 这里就是数据渲染结束后的回调函数
- $('.btn-delone').html('删除').removeClass('btn-danger').removeClass('btn');
- $('.btn-editone').html('编辑').removeClass('btn-success')
- .removeClass('btn').data("area",["300px","200px"]);
- }
- });
- // 为表格绑定事件
- Table.api.bindevent(table);
- },
- add : function () {
- Controller.api.bindevent();
- },
- edit : function () {
- Controller.api.bindevent();
- },
- rule:function(){
- //渲染权限节点树
- var ids=$('#ids').val()
- console.log(ids)
- Controller.api.set_roletree(ids);
- },
- api : {
- bindevent : function () {
- Form.api.bindevent($("form[role=form]"));
- },
- formatter: {
- title: function (value, row, index) {
- value = value.toString().replace(/(&|&)nbsp;/g, ' ');
- return value;
- },
- },
- rendertree: function (content) {
- $("#treeview")
- .on('redraw.jstree', function (e) {
- $(".layer-footer").attr("domrefresh", Math.random());
- })
- .jstree({
- "themes": {"stripes": true},
- "checkbox": {
- "keep_selected_style": false,
- },
- "types": {
- "root": {
- "icon": false,
- },
- "menu": {
- "icon": false,
- },
- "file": {
- "icon": false,
- }
- },
- "plugins": ["checkbox", "types"],
- "core": {
- 'check_callback': true,
- 'dblclick_toggle': false,
- "data": content
- }
- });
- },
- set_roletree:function(ids){
- $.post("qingdong/department/role/roletree", {ids:ids},function (ret){
- if (ret.hasOwnProperty("code")) {
- var data = ret.hasOwnProperty("data") && ret.data != "" ? ret.data : "";
- if (ret.code === 1) {
- var roletree=data;
- //销毁已有的节点树
- $("#treeview").jstree("destroy");
- Controller.api.rendertree(roletree);
- } else {
- Backend.api.toastr.error(ret.msg);
- }
- }
- },'json');
- Form.api.bindevent($("form[role=form]"), null, null, function () {
- var array=new Array();
- if ($("#treeview").length > 0) {
- var r = $("#treeview").jstree("get_selected");
- if(r.length != 0){
- array.push(r.join(','));
- }
- }
- $("input[name='row[rules]']").val(array.join(','));
- return true;
- });
- },
- }
- };
- return Controller;
- });
|