|
@@ -3,18 +3,6 @@ namespace Area\Api;
|
|
|
use Dever;
|
|
|
class Data
|
|
|
{
|
|
|
- private $default = array
|
|
|
- (
|
|
|
- 'id' => -1,
|
|
|
- 'name' => '请选择',
|
|
|
- );
|
|
|
-
|
|
|
- private $search_default = array
|
|
|
- (
|
|
|
- 'id' => -1,
|
|
|
- 'name' => '地区选择',
|
|
|
- );
|
|
|
-
|
|
|
/**
|
|
|
* 获取地区数据
|
|
|
*
|
|
@@ -22,71 +10,20 @@ class Data
|
|
|
*/
|
|
|
public function get()
|
|
|
{
|
|
|
- # 联动总数,默认到县区
|
|
|
- $total = Dever::input('total');
|
|
|
- if (!$total) {
|
|
|
- $total = 3;
|
|
|
- }
|
|
|
- # 当前联动级别
|
|
|
- $level = Dever::input('level');
|
|
|
- if (!$level) {
|
|
|
- $level = 1;
|
|
|
- }
|
|
|
- # 当前联动的上级id
|
|
|
- $parent = Dever::input('parent');
|
|
|
- if (!$parent) {
|
|
|
- $parent = 0;
|
|
|
- }
|
|
|
-
|
|
|
- # 是否是搜索列表页
|
|
|
- $search = Dever::input('search');
|
|
|
- if ($search) {
|
|
|
- $default = $this->search_default;
|
|
|
+ return Dever::load('common', 'manage')->cascader(3, function($level, $parent) {
|
|
|
if ($level == 1) {
|
|
|
- $default['name'] = '省份选择';
|
|
|
+ $data = Dever::load('data', 'area')->getProvince();
|
|
|
} elseif ($level == 2) {
|
|
|
- $default['name'] = '城市选择';
|
|
|
+ $data = Dever::load('data', 'area')->getCity($parent);
|
|
|
} elseif ($level == 3) {
|
|
|
- $default['name'] = '县区选择';
|
|
|
+ $data = Dever::load('data', 'area')->getCounty($parent);
|
|
|
} elseif ($level == 4) {
|
|
|
- $default['name'] = '街道选择';
|
|
|
+ $data = Dever::load('data', 'area')->getTown($parent);
|
|
|
} else {
|
|
|
- $default['name'] = '社区选择';
|
|
|
+ $data = Dever::load('data', 'area')->getVillage($parent);
|
|
|
}
|
|
|
- } else {
|
|
|
- $default = $this->default;
|
|
|
- }
|
|
|
- if ($parent < 0) {
|
|
|
- Dever::error('error');
|
|
|
- }
|
|
|
- # 四级联动
|
|
|
- if ($level == 1) {
|
|
|
- $data = Dever::load('data', 'area')->getProvince();
|
|
|
- } elseif ($level == 2) {
|
|
|
- $data = Dever::load('data', 'area')->getCity($parent);
|
|
|
- } elseif ($level == 3) {
|
|
|
- $data = Dever::load('data', 'area')->getCounty($parent);
|
|
|
- } elseif ($level == 4) {
|
|
|
- $data = Dever::load('data', 'area')->getTown($parent);
|
|
|
- } else {
|
|
|
- $data = Dever::load('data', 'area')->getVillage($parent);
|
|
|
- }
|
|
|
-
|
|
|
- if (!$data) {
|
|
|
- Dever::error('error');
|
|
|
- }
|
|
|
-
|
|
|
- if ($search) {
|
|
|
- array_unshift($data, $default);
|
|
|
- }
|
|
|
- if ($level >= $total) {
|
|
|
- foreach ($data as &$v) {
|
|
|
- $v['leaf'] = true;
|
|
|
- }
|
|
|
- }
|
|
|
- $result['total'] = $total;
|
|
|
- $result['list'] = $data;
|
|
|
- return $result;
|
|
|
+ return $data;
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
# 获取区域状态
|