public function dataTable() { Doo::loadClassAt('html/DataTable', 'default'); Doo::loadClassAt('Menu', 'default'); $menu = new menu(DBproxy::getManage()); $dt = new DataTable(); MenuController::$data = $data = $menu->getMenuTreeList(); // D($data); function table_name($row, $rowData, $val) { $sep = substr($rowData['_sep'], 1); if ($sep != '') { $sep = str_replace('.', ' ', $sep); $dot = '└─'; if (isset(MenuController::$data[$row + 1])) { if (MenuController::$data[$row + 1]['parent_id'] == $rowData['parent_id']) { $dot = '├─'; } } $sep = $sep . $dot; } return '<div style="left">' . $sep . $val . '</div>'; } function table_type($row, $rowData, $val) { return $val == 2 ? '分类' : '页面'; } function table_show($row, $rowData, $val) { return $val == 1 ? '<span class="label label-success">是</span>' : '<span class="label">否</span>'; } // 表格按钮 function table_button($row, $rowData, $val) { $modUrl = MenuController::$modUrl . $rowData['id'] . '&menu_name=' . $rowData['menu_name'] . '&sort_id=' . $rowData['sort_id'] . '&type_id=' . $rowData['type_id'] . '&perm_id=' . $rowData['perm_id'] . '&is_show=' . $rowData['is_show'] . '&page_url=' . urlencode($rowData['url']) . '&parent_id=' . $rowData['parent_id'] . '&_sep=' . $rowData['_sep']; $delUrl = MenuController::$delUrl . $rowData['id']; $a = '<a href="' . $modUrl . '" class="blue-stripe btn mini">编辑/查看</a>'; $a .= ' <a href="' . $delUrl . '" class="red-stripe btn mini js-datatable-del">删除</a>'; return $a; } // 表头 $header = array('menu_name' => array('name' => '菜单名称', 'callback' => 'table_name'), 'id' => array('name' => 'ID'), 'parent_id' => array('name' => '所属父ID'), 'type_id' => array('name' => '类型', 'callback' => 'table_type', 'headerAttr' => 'filterType="enum"'), 'perm_id' => array('name' => '菜单权限'), 'url' => array('name' => '菜单URL'), 'is_show' => array('name' => '是否显示', 'callback' => 'table_show', 'headerAttr' => 'filterType="enum"'), 'sort_id' => array('name' => '排序'), 'action' => array('name' => '操作', 'callback' => 'table_button')); // 生产表格 $content = $dt->setTitle('')->setAttr(array('class' => 'table table-hover', 'id' => 'js-queryTable'))->setHeader($header)->setData($data)->setTopContent('<a href="' . MenuController::$addUrl . '" class="btn green-stripe"><i class="icon-plus"></i>添加菜单</a>' . '<p id="js-queryTable-filter">Filter</p>')->setDefaultValue('unkown')->render(false); $this->_includeJsFileList[] = 'js/default/menu.js'; // 显示模版 $this->contentlayoutRender($content); }