AdminDatabaseSeeder.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. <?php
  2. namespace Modules\Admin\Database\Seeders;
  3. use Illuminate\Database\Seeder;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Support\Facades\Log;
  6. use Modules\Admin\Services\MenusService;
  7. class AdminDatabaseSeeder extends Seeder
  8. {
  9. /**
  10. * Run the database seeds.
  11. *
  12. * @return void
  13. */
  14. public function run()
  15. {
  16. $menus = [
  17. array (
  18. 'icon' => 'username',
  19. 'title' => '用户管理',
  20. 'slug' => 'adminUsers',
  21. 'path' => '/admin/users',
  22. 'sort' => 10,
  23. 'show' => '1',
  24. 'child' =>
  25. array (
  26. 0 =>
  27. array (
  28. 'icon' => 'user',
  29. 'title' => '用户列表',
  30. 'slug' => 'adminUsersList',
  31. 'path' => '/admin/users/list',
  32. 'sort' => 10,
  33. 'show' => '1',
  34. 'child' =>
  35. array (
  36. 0 =>
  37. array (
  38. 'icon' => 'add-1',
  39. 'title' => '添加用户',
  40. 'slug' => 'adminUsersListAdd',
  41. 'path' => '/admin/users/list/add',
  42. 'sort' => 10,
  43. 'show' => '0',
  44. 'child' =>
  45. array (
  46. ),
  47. ),
  48. 1 =>
  49. array (
  50. 'icon' => 'search',
  51. 'title' => '查看用户',
  52. 'slug' => 'adminUsersListView',
  53. 'path' => '/admin/users/list/view',
  54. 'sort' => 10,
  55. 'show' => '0',
  56. 'child' =>
  57. array (
  58. ),
  59. ),
  60. 2 =>
  61. array (
  62. 'icon' => 'edit',
  63. 'title' => '编辑用户',
  64. 'slug' => 'adminUsersListEdit',
  65. 'path' => '/admin/users/list/edit',
  66. 'sort' => 10,
  67. 'show' => '0',
  68. 'child' =>
  69. array (
  70. ),
  71. ),
  72. 3 =>
  73. array (
  74. 'icon' => 'close',
  75. 'title' => '删除用户',
  76. 'slug' => 'adminUsersListDel',
  77. 'path' => '/admin/users/list/del',
  78. 'sort' => 10,
  79. 'show' => '0',
  80. 'child' =>
  81. array (
  82. ),
  83. ),
  84. 4 =>
  85. array (
  86. 'icon' => 'password',
  87. 'title' => '重置密码',
  88. 'slug' => 'adminUsersListResetpassword',
  89. 'path' => '/admin/users/list/resetpassword',
  90. 'sort' => 10,
  91. 'show' => '0',
  92. 'child' =>
  93. array (
  94. ),
  95. ),
  96. ),
  97. ),
  98. ),
  99. ),
  100. array (
  101. 'icon' => 'app',
  102. 'title' => '矿区管理',
  103. 'slug' => 'adminMine',
  104. 'path' => '/admin/mine',
  105. 'sort' => 10,
  106. 'show' => '1',
  107. 'child' =>
  108. array (
  109. 0 =>
  110. array (
  111. 'icon' => 'list',
  112. 'title' => '矿区列表',
  113. 'slug' => 'adminMineList',
  114. 'path' => '/admin/mine/list',
  115. 'sort' => 10,
  116. 'show' => '1',
  117. 'child' =>
  118. array (
  119. 0 =>
  120. array (
  121. 'icon' => 'add-1',
  122. 'title' => '添加矿区',
  123. 'slug' => 'adminMineAdd',
  124. 'path' => '/admin/mine/add',
  125. 'sort' => 10,
  126. 'show' => '0',
  127. 'child' =>
  128. array (
  129. ),
  130. ),
  131. 1 =>
  132. array (
  133. 'icon' => 'edit',
  134. 'title' => '修改矿区',
  135. 'slug' => 'adminMineEdit',
  136. 'path' => '/admin/mine/edit',
  137. 'sort' => 10,
  138. 'show' => '0',
  139. 'child' =>
  140. array (
  141. ),
  142. ),
  143. ),
  144. ),
  145. 1 =>
  146. array (
  147. 'icon' => 'tabs',
  148. 'title' => '工作面列表',
  149. 'slug' => 'adminSurfaceList',
  150. 'path' => '/admin/surface/list',
  151. 'sort' => 10,
  152. 'show' => '1',
  153. 'child' =>
  154. array (
  155. 0 =>
  156. array (
  157. 'icon' => 'add-1',
  158. 'title' => '添加工作面',
  159. 'slug' => 'adminSurfaceAdd',
  160. 'path' => '/admin/surface/add',
  161. 'sort' => 10,
  162. 'show' => '0',
  163. 'child' =>
  164. array (
  165. ),
  166. ),
  167. 1 =>
  168. array (
  169. 'icon' => 'search',
  170. 'title' => '查看工作面',
  171. 'slug' => 'adminSurfaceView',
  172. 'path' => '/admin/surface/view',
  173. 'sort' => 10,
  174. 'show' => '0',
  175. 'child' =>
  176. array (
  177. ),
  178. ),
  179. 2 =>
  180. array (
  181. 'icon' => 'edit',
  182. 'title' => '编辑工作面',
  183. 'slug' => 'adminSurfaceEdit',
  184. 'path' => '/admin/surface/edit',
  185. 'sort' => 10,
  186. 'show' => '0',
  187. 'child' =>
  188. array (
  189. ),
  190. ),
  191. 3 =>
  192. array (
  193. 'icon' => 'close',
  194. 'title' => '删除工作面',
  195. 'slug' => 'adminSurfaceDel',
  196. 'path' => '/admin/surface/del',
  197. 'sort' => 10,
  198. 'show' => '0',
  199. 'child' =>
  200. array (
  201. ),
  202. ),
  203. ),
  204. ),
  205. ),
  206. ),
  207. array (
  208. 'icon' => 'video',
  209. 'title' => '摄像头管理',
  210. 'slug' => 'adminCamera',
  211. 'path' => '/admin/camera',
  212. 'sort' => 10,
  213. 'show' => '1',
  214. 'child' =>
  215. array (
  216. 0 =>
  217. array (
  218. 'icon' => 'list',
  219. 'title' => '摄像头列表',
  220. 'slug' => 'adminCameraList',
  221. 'path' => '/admin/camera/list',
  222. 'sort' => 10,
  223. 'show' => '1',
  224. 'child' =>
  225. array (
  226. 0 =>
  227. array (
  228. 'icon' => 'add-1',
  229. 'title' => '添加记录',
  230. 'slug' => 'adminCameraListAdd',
  231. 'path' => '/admin/camera/list/add',
  232. 'sort' => 10,
  233. 'show' => '0',
  234. 'child' =>
  235. array (
  236. ),
  237. ),
  238. 1 =>
  239. array (
  240. 'icon' => 'edit',
  241. 'title' => '编辑记录',
  242. 'slug' => 'adminCameraListEdit',
  243. 'path' => '/admin/camera/list/edit',
  244. 'sort' => 10,
  245. 'show' => '0',
  246. 'child' =>
  247. array (
  248. ),
  249. ),
  250. 2 =>
  251. array (
  252. 'icon' => 'search',
  253. 'title' => '查看记录',
  254. 'slug' => 'adminCameraListView',
  255. 'path' => '/admin/camera/list/view',
  256. 'sort' => 10,
  257. 'show' => '0',
  258. 'child' =>
  259. array (
  260. ),
  261. ),
  262. 3 =>
  263. array (
  264. 'icon' => 'close',
  265. 'title' => '删除记录',
  266. 'slug' => 'adminCameraListDel',
  267. 'path' => '/admin/camera/list/del',
  268. 'sort' => 10,
  269. 'show' => '0',
  270. 'child' =>
  271. array (
  272. ),
  273. ),
  274. 4 =>
  275. array (
  276. 'icon' => 'upload-drag',
  277. 'title' => '导入记录',
  278. 'slug' => 'adminCameraListImport',
  279. 'path' => '/admin/camera/list/import',
  280. 'sort' => 10,
  281. 'show' => '0',
  282. 'child' =>
  283. array (
  284. ),
  285. ),
  286. 5 =>
  287. array (
  288. 'icon' => 'download-circle',
  289. 'title' => '下载导入模板',
  290. 'slug' => 'adminCameraListImportTemplate',
  291. 'path' => '/admin/camera/list/importTemplate',
  292. 'sort' => 10,
  293. 'show' => '0',
  294. 'child' =>
  295. array (
  296. ),
  297. ),
  298. ),
  299. ),
  300. ),
  301. ),
  302. array (
  303. 'icon' => 'set-sm',
  304. 'title' => '后台配置',
  305. 'slug' => 'adminSetting',
  306. 'path' => '/admin/setting',
  307. 'sort' => 5,
  308. 'show' => '1',
  309. 'child' =>
  310. array (
  311. 0 =>
  312. array (
  313. 'icon' => 'table',
  314. 'title' => '菜单设置',
  315. 'slug' => 'adminSettingMenus',
  316. 'path' => '/admin/menus/list',
  317. 'sort' => 10,
  318. 'show' => '1',
  319. 'child' =>
  320. array (
  321. ),
  322. ),
  323. 1 =>
  324. array (
  325. 'icon' => 'add-1',
  326. 'title' => '添加菜单',
  327. 'slug' => 'adminSettingMenusAdd',
  328. 'path' => '/admin/menus/add',
  329. 'sort' => 10,
  330. 'show' => '0',
  331. 'child' =>
  332. array (
  333. ),
  334. ),
  335. 2 =>
  336. array (
  337. 'icon' => 'edit',
  338. 'title' => '编辑菜单',
  339. 'slug' => 'adminSettingMenusEdit',
  340. 'path' => '/admin/menus/edit',
  341. 'sort' => 10,
  342. 'show' => '0',
  343. 'child' =>
  344. array (
  345. ),
  346. ),
  347. 3 =>
  348. array (
  349. 'icon' => 'close',
  350. 'title' => '删除菜单',
  351. 'slug' => 'adminSettingMenusDel',
  352. 'path' => '/admin/menus/del',
  353. 'sort' => 10,
  354. 'show' => '0',
  355. 'child' =>
  356. array (
  357. ),
  358. ),
  359. ),
  360. ),
  361. ];
  362. $this->addMenu($menus);
  363. }
  364. public function addMenu($menuList, $parentId = 0)
  365. {
  366. $menuService = new MenusService();
  367. foreach ($menuList as $menu) {
  368. $menu['parent_id'] = $parentId;
  369. $_menu = $menu;
  370. unset($_menu['child']);
  371. $menu_parent = $menuService->addMenu($_menu, 'slug');
  372. if (count($menu['child']) > 0) {
  373. $this->addMenu($menu['child'], $menu_parent['id']);
  374. }
  375. }
  376. }
  377. }