SysRegionController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Services\SysRegionService;
  4. use Slowlyo\OwlAdmin\Controllers\AdminController;
  5. /**
  6. * 行政区划
  7. *
  8. * @property SysRegionService $service
  9. */
  10. class SysRegionController extends AdminController
  11. {
  12. protected string $serviceName = SysRegionService::class;
  13. public function list()
  14. {
  15. $crud = $this->baseCRUD()
  16. ->filterTogglable(false)
  17. ->headerToolbar([
  18. $this->createButton('dialog'),
  19. ...$this->baseHeaderToolBar()
  20. ])
  21. ->columns([
  22. amis()->TableColumn('id', 'ID')->sortable(),
  23. amis()->TableColumn('cityName', 'CityName'),
  24. amis()->TableColumn('parentId', 'ParentId')->sortable(),
  25. amis()->TableColumn('shortName', 'ShortName'),
  26. amis()->TableColumn('depth', 'Depth')->sortable(),
  27. amis()->TableColumn('cityCode', 'CityCode'),
  28. amis()->TableColumn('zipCode', 'ZipCode'),
  29. amis()->TableColumn('mergerName', 'MergerName'),
  30. amis()->TableColumn('longitude', 'Longitude'),
  31. amis()->TableColumn('latitude', 'Latitude'),
  32. amis()->TableColumn('pinyin', 'Pinyin'),
  33. amis()->TableColumn('isUse', 'IsUse'),
  34. amis()->TableColumn('created_at', admin_trans('admin.created_at'))->type('datetime')->sortable(),
  35. amis()->TableColumn('updated_at', admin_trans('admin.updated_at'))->type('datetime')->sortable(),
  36. $this->rowActions('dialog')
  37. ]);
  38. return $this->baseList($crud);
  39. }
  40. public function form($isEdit = false)
  41. {
  42. return $this->baseForm()->body([
  43. amis()->TextControl('cityName', 'CityName'),
  44. amis()->TextControl('parentId', 'ParentId'),
  45. amis()->TextControl('shortName', 'ShortName'),
  46. amis()->TextControl('depth', 'Depth'),
  47. amis()->TextControl('cityCode', 'CityCode'),
  48. amis()->TextControl('zipCode', 'ZipCode'),
  49. amis()->TextControl('mergerName', 'MergerName'),
  50. amis()->TextControl('longitude', 'Longitude'),
  51. amis()->TextControl('latitude', 'Latitude'),
  52. amis()->TextControl('pinyin', 'Pinyin'),
  53. amis()->TextControl('isUse', 'IsUse'),
  54. ]);
  55. }
  56. public function detail()
  57. {
  58. return $this->baseDetail()->body([
  59. amis()->TextControl('id', 'ID')->static(),
  60. amis()->TextControl('cityName', 'CityName')->static(),
  61. amis()->TextControl('parentId', 'ParentId')->static(),
  62. amis()->TextControl('shortName', 'ShortName')->static(),
  63. amis()->TextControl('depth', 'Depth')->static(),
  64. amis()->TextControl('cityCode', 'CityCode')->static(),
  65. amis()->TextControl('zipCode', 'ZipCode')->static(),
  66. amis()->TextControl('mergerName', 'MergerName')->static(),
  67. amis()->TextControl('longitude', 'Longitude')->static(),
  68. amis()->TextControl('latitude', 'Latitude')->static(),
  69. amis()->TextControl('pinyin', 'Pinyin')->static(),
  70. amis()->TextControl('isUse', 'IsUse')->static(),
  71. amis()->TextControl('created_at', admin_trans('admin.created_at'))->static(),
  72. amis()->TextControl('updated_at', admin_trans('admin.updated_at'))->static(),
  73. ]);
  74. }
  75. /**
  76. * 获取省份列表
  77. */
  78. public function getProvinceList()
  79. {
  80. return $this->response()->success($this->service->getProvinceList());
  81. }
  82. /**
  83. * 获取省份
  84. */
  85. public function getProvince()
  86. {
  87. return $this->response()->success($this->service->getProvince());
  88. }
  89. /**
  90. * 获取城市列表
  91. */
  92. public function getCity($provinceId)
  93. {
  94. return $this->response()->success($this->service->getCity($provinceId));
  95. }
  96. /**
  97. * 获取区域列表
  98. */
  99. public function getArea($cityId)
  100. {
  101. return $this->response()->success($this->service->getArea($cityId));
  102. }
  103. /**
  104. * 获取所有省份
  105. */
  106. public function getAllProvince()
  107. {
  108. return $this->response()->success($this->service->getAllProvince());
  109. }
  110. /**
  111. * 获取所有城市
  112. */
  113. public function getAllCity()
  114. {
  115. return $this->response()->success($this->service->getAllCity());
  116. }
  117. /**
  118. * 获取所有区域
  119. */
  120. public function getAllArea()
  121. {
  122. return $this->response()->success($this->service->getAllArea());
  123. }
  124. /**
  125. * 获取所有街道
  126. */
  127. public function getAllStreet()
  128. {
  129. return $this->response()->success($this->service->getAllStreet());
  130. }
  131. }