function index($id) { // folder_id $nodes = array(); if ($id) { $folder = Folder::find_by_id($id); $sub_folders = $folder->folders; $sub_files = $folder->files; } else { // id: 0 // root folder $sub_folders = Folder::find_all_by_parent_folder_id(0); $sub_files = File::find_all_by_folder_id(0); } // 子分类 foreach ($sub_folders as $sub_folder) { $nodes[] = array('id' => $sub_folder->id, 'name' => $sub_folder->name . ' (' . (string) (count($sub_folder->folders) + count($sub_folder->files)) . ')', 'type' => 'folder', 'isParent' => count($sub_folder->files) || count($sub_folder->folders) ? true : false, 'icon' => get_path('/webroot/css/img/diy/folder-close.jpg', true), 'iconOpen' => get_path('/webroot/css/img/diy/folder-open.jpg'), 'iconClose' => get_path('/webroot/css/img/diy/folder-close.jpg')); } // 子零件 foreach ($sub_files as $sub_file) { $nodes[] = array('id' => $sub_file->id, 'name' => $sub_file->name . ' (' . count($sub_file->units) . ')', 'type' => 'file', 'isParent' => count($sub_file->units) ? true : false, 'icon' => get_path('/webroot/css/img/diy/3.png', true)); } echo json_encode($nodes); }
function import($folder_id, $part_id) { $folder = Folder::find_by_id($folder_id); $part = Part::find_by_id($part_id); if ($folder && $part) { // 复制零件节点 $file = File::create(array('folder_id' => $folder_id, 'name' => $part->name, 'graphic_num' => $part->graphic_num, 'image' => $part->image)); // 添加零件工序节点 foreach ($part->processes as $p) { $unit = Unit::create(array('file_id' => $file->id, 'priority' => $p->priority, 'name' => $p->name, 'content' => $p->content, 'price' => $p->price, 'image' => $p->image, 'takt_time' => $p->takt_time, 'preparation_time' => $p->preparation_time, 'remark' => $p->remark)); $unit->save(); } // $node = array('id' => $file->id, 'name' => $file->name . ' (' . count($file->units) . ')', 'type' => 'file', 'isParent' => count($file->units) ? true : false, 'icon' => get_path('/webroot/css/img/diy/3.png', true)); echo json_encode($node); } }