|
@@ -25,7 +25,7 @@ class Api
|
|
*/
|
|
*/
|
|
public function get()
|
|
public function get()
|
|
{
|
|
{
|
|
- # 联动总数
|
|
|
|
|
|
+ # 联动总数,默认到县区
|
|
$level_total = Dever::input('level_total', 3);
|
|
$level_total = Dever::input('level_total', 3);
|
|
|
|
|
|
# 当前联动级别
|
|
# 当前联动级别
|
|
@@ -42,20 +42,28 @@ class Api
|
|
$default['name'] = '省份选择';
|
|
$default['name'] = '省份选择';
|
|
} elseif ($level_num == 2) {
|
|
} elseif ($level_num == 2) {
|
|
$default['name'] = '城市选择';
|
|
$default['name'] = '城市选择';
|
|
|
|
+ } elseif ($level_num == 3) {
|
|
|
|
+ $default['name'] = '县区选择';
|
|
|
|
+ } elseif ($level_num == 4) {
|
|
|
|
+ $default['name'] = '街道选择';
|
|
} else {
|
|
} else {
|
|
- $default['name'] = '地区选择';
|
|
|
|
|
|
+ $default['name'] = '社区选择';
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
$default = $this->default;
|
|
$default = $this->default;
|
|
}
|
|
}
|
|
|
|
|
|
- # 三级联动
|
|
|
|
|
|
+ # 四级联动
|
|
if ($level_num == 1) {
|
|
if ($level_num == 1) {
|
|
$data = Dever::db('area/province')->getAll();
|
|
$data = Dever::db('area/province')->getAll();
|
|
} elseif ($level_num == 2) {
|
|
} elseif ($level_num == 2) {
|
|
$data = Dever::db('area/city')->getAll(array('province_id' => $level_id));
|
|
$data = Dever::db('area/city')->getAll(array('province_id' => $level_id));
|
|
- } else {
|
|
|
|
|
|
+ } elseif ($level_num == 3) {
|
|
$data = Dever::db('area/county')->getAll(array('city_id' => $level_id));
|
|
$data = Dever::db('area/county')->getAll(array('city_id' => $level_id));
|
|
|
|
+ } elseif ($level_num == 4) {
|
|
|
|
+ $data = Dever::db('area/town')->getAll(array('county_id' => $level_id));
|
|
|
|
+ } else {
|
|
|
|
+ $data = Dever::db('area/village')->getAll(array('town_id' => $level_id));
|
|
}
|
|
}
|
|
|
|
|
|
if (!$data) {
|
|
if (!$data) {
|
|
@@ -242,6 +250,10 @@ class Api
|
|
}
|
|
}
|
|
} elseif ($k == 2) {
|
|
} elseif ($k == 2) {
|
|
$result[$k] = $this->getName('county', $v, true, $col);
|
|
$result[$k] = $this->getName('county', $v, true, $col);
|
|
|
|
+ } elseif ($k == 3) {
|
|
|
|
+ $result[$k] = $this->getName('town', $v, true, $col);
|
|
|
|
+ } elseif ($k == 4) {
|
|
|
|
+ $result[$k] = $this->getName('village', $v, true, $col);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $result;
|
|
return $result;
|
|
@@ -269,6 +281,10 @@ class Api
|
|
}
|
|
}
|
|
} elseif ($k == 2) {
|
|
} elseif ($k == 2) {
|
|
$result[$k] = $this->getName('county', $v);
|
|
$result[$k] = $this->getName('county', $v);
|
|
|
|
+ } elseif ($k == 3) {
|
|
|
|
+ $result[$k] = $this->getName('town', $v);
|
|
|
|
+ } elseif ($k == 4) {
|
|
|
|
+ $result[$k] = $this->getName('village', $v);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return implode($im, $result);
|
|
return implode($im, $result);
|
|
@@ -294,10 +310,10 @@ class Api
|
|
}
|
|
}
|
|
|
|
|
|
# 获取6位地区编码
|
|
# 获取6位地区编码
|
|
- public function code($id)
|
|
|
|
|
|
+ public function code($id, $len = 6)
|
|
{
|
|
{
|
|
- $id = substr($id, 0, 6);
|
|
|
|
- $id = str_pad($id, 6, '0', STR_PAD_RIGHT);
|
|
|
|
|
|
+ $id = substr($id, 0, $len);
|
|
|
|
+ $id = str_pad($id, $len, '0', STR_PAD_RIGHT);
|
|
return $id;
|
|
return $id;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -310,4 +326,19 @@ class Api
|
|
{
|
|
{
|
|
return Dever::db('area/city')->getAll(array('province_id' => $province_id));
|
|
return Dever::db('area/city')->getAll(array('province_id' => $province_id));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public function getCounty($city_id)
|
|
|
|
+ {
|
|
|
|
+ return Dever::db('area/county')->getAll(array('city_id' => $city_id));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function getTown($county_id)
|
|
|
|
+ {
|
|
|
|
+ return Dever::db('area/town')->getAll(array('county_id' => $county_id));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function getVillage($town_id)
|
|
|
|
+ {
|
|
|
|
+ return Dever::db('area/village')->getAll(array('town_id' => $town_id));
|
|
|
|
+ }
|
|
}
|
|
}
|