define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'department/admin/index',
add_url: 'department/admin/add',
edit_url: 'department/admin/edit',
del_url: 'department/admin/del',
multi_url: 'department/admin/multi',
}
});
var table = $("#table");
//在表格内容渲染完成后回调的事件
table.on('post-body.bs.table', function (e, json) {
});
var columnss=[
{field: 'state', checkbox: true, },
// {field: 'id', title: '编号', sortable: true,},
{field: 'username', title: __('学号'), operate: "LIKE",},
{field: 'nickname', title: __('姓名'), operate: "LIKE",},
{field: 'status', title: __("Status"), searchList: {"normal":__('Normal'),"hidden":__('Hidden')}, formatter: Table.api.formatter.status},
// {field: 'dadmin', title: __('Principal') , operate:false,
// formatter: function (value, row, index) {
// var str=__('No');
// if (value.length == 0)
// return str ;
// $.each(value,function(i,v){ //arrTmp数组数据
// if (v.is_principal==1){
// str=''+__('Yes')+'' ;
// }
// });
// return str ;
// }
// },
// {field: 'data_scope', title: __('数据范围') , operate:false,
// formatter: function (value, row, index) {
// var str=__('默认');
// if (value==1){
// str=''+__('全部')+'' ;
// }else if ( row.dadmin.length > 0){
// $.each( row.dadmin,function(i,v){ //arrTmp数组数据
// if (v.is_principal==1){
// str=''+__('部门')+'' ;
// }
// });
// }
// return str ;
// }
// },
{
field: 'department_id',
title: __('Department'),
visible: false,
addclass: 'selectpage',
extend: 'data-source="department/index/index" data-field="name"',
operate: 'in',
formatter: Table.api.formatter.search
},
{field: 'cengci_text', title: __('层次'), operate: false,
formatter: function (value, row, index) {
return Table.api.formatter.flag.call(this, row.cengci_text, row, index);
},
},
{field: 'zhuanye_text', title: __('专业'), operate: false,
formatter: function (value, row, index) {
return Table.api.formatter.flag.call(this, row.zhuanye_text, row, index);
},
},
{field: 'dui_text', title: __('队'), operate: false,
formatter: function (value, row, index) {
return Table.api.formatter.flag.call(this, row.dui_text, row, index);
},
},
{
field: 'dadmin',
title: __('Department'),
formatter: function (value, row, index) {
if (value.length == 0)
return '-' ;
var department="";
$.each(value,function(i,v){ //arrTmp数组数据
if (v.department){
department+=department?','+v.department.name:v.department.name;
}
});
return Table.api.formatter.flag.call(this, department, row, index);
}, operate:false
},
// {
// field: 'groups',
// title: __('Group'),
// formatter: function (value, row, index) {
// if (value.length == 0)
// return '-' ;
// var groups_text="";
// $.each(value,function(i,v){ //arrTmp数组数据
// if (v.get_group){
// groups_text+=groups_text?','+v.get_group.name:v.get_group.name;
// }
// });
// return Table.api.formatter.flag.call(this, groups_text, row, index);
// }
// , operate:false
// },
// {field: 'email', title: __('Email'), operate: "LIKE",},
];
// if (Config.exits_mobile) {
// //如果是选择
// columnss.push({
// field: 'mobile', title: __('Mobile'), operate: "LIKE",
// });
// }
columnss.push(
{field: 'createtime', title: __('Create time'), 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.buttons,
buttons: [
// {
// name: 'principal',
// text: __('Principal'),
// title: __('Principal set'),
// icon: 'fa fa-street-view',
// classname: 'btn btn-xs btn-danger btn-dialog',
// url: 'department/admin/principal',
// },
{
name: 'dispatch',
text: '编辑',
icon: 'fa fa-pencil',
title: '编辑',
classname: 'btn btn-success btn-xs btn-magic btn-dialog',
url: 'department/admin/edit',
},{
name: 'dispatch',
text: '删除',
icon: 'fa fa-trash',
title: '删除',
classname: 'btn btn-danger btn-xs btn-magic btn-ajax',
url: 'department/admin/del',
confirm: '确定要删除吗?',
success: function (data, ret) {
$(".btn-refresh").trigger("click");
},
error: function (data, ret) {
Layer.alert(ret.msg);
return false;
}
}
],
// formatter: function (value, row, index) {
// return Table.api.formatter.operate.call(this, value, row, index);
// }
});
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
columns: [columnss],
//启用固定列
fixedColumns: true,
//固定右侧列数
fixedRightNumber: 1,
search:false,
searchFormVisible:true,
singleSelect : true, //
});
// 为表格绑定事件
Table.api.bindevent(table);
require(['jstree'], function () {
//全选和展开
$(document).on("click", "#checkall", function () {
$("#departmenttree").jstree($(this).prop("checked") ? "check_all" : "uncheck_all");
});
$(document).on("click", "#expandall", function () {
$("#departmenttree").jstree($(this).prop("checked") ? "open_all" : "close_all");
});
$('#departmenttree').on("changed.jstree", function (e, data) {
console.log(data.selected.join(","));
$(".commonsearch-table input[name=department_id]").val(data.selected.join(","));
console.log($(".commonsearch-table input[name=department_id]").val()+"@@@@");
console.log('222222');
table.bootstrapTable('refresh', {});
return false;
});
$('#departmenttree').jstree({
"themes": {
"stripes": true
},
"checkbox": {
"keep_selected_style": false,
},
"types": {
"channel": {
"icon": false,
},
"list": {
"icon": false,
},
"link": {
"icon": false,
},
"disabled": {
"check_node": false,
"uncheck_node": false
}
},
'plugins': ["types", "checkbox"],
"core": {
"multiple": true,
'check_callback': true,
"data": Config.departmentList
}
});
});
},
add: function () {
Controller.api.bindevent();
},
principal:function(){
Controller.api.bindevent();
},
edit: function () {
Controller.api.bindevent();
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
// $(document).on("change", "#department_ids", function(){
// //变更后的回调事件
// var dname=$(this).find("option:selected").first().text()
// var nickname=$("#nickname").val();
// var a = nickname.indexOf("-");
//
// if (a!=-1){
// nickname=nickname.substring(0, a);
// }
// dname = dname.replace(/\s*/g,"");
// nickname+="-"+dname.replace(/ |│|└|├\s*/ig, "");
// $("#nickname").val(nickname);
// });
},
}
};
return Controller;
});