123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?php
- namespace Agent\Src;
- use Dever;
- class Area
- {
- private $default = array
- (
- 'value' => -1,
- 'name' => '不限',
- );
- private $search_default = array
- (
- 'value' => -1,
- 'name' => '地区选择',
- );
-
- public function get()
- {
- $mid = Dever::load('passport/user')->check(false);
- if ($mid && $mid > 0) {
- $member = Dever::db('agent/member')->find($mid);
- $role = Dever::db('setting/role')->find($member['role']);
- if ($role['type'] == 2) {
- $temp = explode(',', $member['area']);
- $city = Dever::db('area/city')->find($temp[1]);
- if ($city) {
- $city_level = $city['level_id'];
- }
- if ($role['area'] == 2 && isset($temp[2])) {
-
- $county = Dever::db('area/county')->find($temp[2]);
- if ($county) {
- $county_level = $county['level'];
- }
- } elseif ($role['area'] == 3 && isset($temp[3])) {
-
- $town = Dever::db('area/town')->find($temp[3]);
- if ($town) {
- $town_level = $town['type'];
- }
- }
- }
- }
-
- $level_total = Dever::input('level_total', 3);
-
- $level_num = Dever::input('level_num');
-
- $level_id = Dever::input('level_id');
-
- $level_search = Dever::input('level_search');
- if ($level_search) {
- $default = $this->search_default;
- if ($level_num == 1) {
- $default['name'] = '省份选择';
- } elseif ($level_num == 2) {
- $default['name'] = '城市选择';
- } elseif ($level_num == 3) {
- $default['name'] = '县区选择';
- } elseif ($level_num == 4) {
- $default['name'] = '街道选择';
- } else {
- $default['name'] = '社区选择';
- }
- } else {
- $default = $this->default;
- }
- $role = Dever::input('role');
-
- if ($level_num == 1) {
- $data = Dever::db('area/province')->getAll();
- } elseif ($level_num == 2) {
- $where = array('province_id' => $level_id);
- if (isset($city_level)) {
- $where['level_id'] = $city_level;
- }
- if ($role == 2) {
- $where['status'] = 1;
- }
- $data = Dever::db('area/city')->getAll($where);
- } elseif ($level_num == 3) {
- $where = array('city_id' => $level_id);
- if (isset($county_level)) {
- $where['level'] = $county_level;
- }
- if ($role == 3) {
- $where['status'] = 1;
- }
- $data = Dever::db('area/county')->getAll($where);
-
- } elseif ($level_num == 4) {
- $where = array('county_id' => $level_id);
- if (isset($town_level)) {
- $where['type'] = $town_level;
- }
- if ($role == 4) {
- $where['status'] = 1;
- }
-
- $data = Dever::db('area/town')->getAll($where);
- } else {
- $data = Dever::db('area/village')->getAll(array('town_id' => $level_id));
- }
- if (!$data) {
- $data[] = array('value' => -1, 'name' => '无法代理');
-
- }
- if ($level_search || $level_num > 1) {
- array_unshift($data, $default);
- }
-
- $result['level_total'] = $level_total;
- $result['list'] = $data;
- return $result;
- }
- }
|