// +---------------------------------------------------------------------- namespace app\admin\controller; use think\Db; class Region extends Base { public function region_list(){ $key=input('key'); $where['pid']=0; $province=input('province',''); $this->assign('province',$province); if($province !== ''){ $where['pid']=$province; } $city=input('city',''); $this->assign('city',$city); if($city !== ''){ $cityfind=DB::name('region')->where(array('type'=>2,'pid'=>$province,'id'=>$city))->find(); if($cityfind){ $where['pid']=$city; }else{ $this->assign('city',''); } } if($where['pid']==0){ $where['pid']=array(array('eq',0),array('eq',1),'or');; } $province_list=DB::name('region')->where(array('type'=>1))->order('id,pid')->select(); $this->assign('province_list',$province_list); $city_list=DB::name('region')->where(array('type'=>2,'pid'=>$province))->order('id,pid')->select(); $this->assign('city_list',$city_list); $region_list=DB::name('region')->where($where)->where('name','like',"%".$key."%")->order('id,pid')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]); $show=$region_list->render(); $show=preg_replace("(]*page[=|/](\d+).+?>(.+?)<\/a>)","$2",$show); $this->assign('region_list',$region_list); $this->assign('page',$show); $this->assign('val',$key); if(request()->isAjax()){ return $this->fetch('ajax_region_list'); }else{ return $this->fetch(); } } public function region_add(){ $province = Db::name('Region')->where ( array('pid'=>1) )->select (); $this->assign('province',$province); return $this->fetch(); } public function region_runadd(){ if (!request()->isAjax()){ $this->error('提交方式不正确',url('admin/Region/region_add')); }else{ $input_type=input('input_type',0); $province=input('region_list_province'); $city=input('region_list_city'); if($input_type==2){ if(!$province){ $this->error('请选择省份',url('admin/Region/region_add')); } $pid=$province; }elseif($input_type==3){ if(!$city){ $this->error('请选择城市',url('admin/Region/region_add')); } $pid=$city; }else{ $pid=1; } $sl_data=array( 'pid'=>$pid, 'name'=>input('areaname'), 'type' => $input_type, ); $rst=DB::name('region')->insert($sl_data); if($rst!==false){ $this->success('添加成功',url('admin/Region/region_list',array('province'=>$province,'city'=>$city))); }else{ $this->error('添加失败',url('admin/Region/region_add')); } } } public function region_edit(){ $editdata = Db::name('Region')->where ( array('id'=>input('id')) )->find(); $this->assign('editdata',$editdata); $province = Db::name('Region')->where ( array('pid'=>1) )->select (); $this->assign('province',$province); if($editdata['type']==2){//市 $provincedata = Db::name('Region')->where ( array('id'=>$editdata['pid']) )->find(); $this->assign('provinceid',$provincedata['id']); $this->assign('cityid',0); }elseif($editdata['type']==3){//县 $citydata = Db::name('Region')->where ( array('id'=>$editdata['pid']) )->find(); $provincedata = Db::name('Region')->where ( array('id'=>$citydata['pid']) )->find(); $this->assign('cityid',$citydata['id']); $this->assign('provinceid',$provincedata['id']); $city = Db::name('Region')->where ( array('pid'=>$citydata['pid']) )->select(); $this->assign('city',$city); }else{//省 $this->assign('provinceid',0); $this->assign('cityid',0); } return $this->fetch(); } public function region_runedit(){ if (!request()->isAjax()){ $this->error('提交方式不正确',url('admin/Region/region_add')); }else{ $input_type=input('input_type',0); $province=input('region_list_province'); $city=input('region_list_city'); if($input_type==2){ if(!$province){ $this->error('请选择省份',url('admin/Region/region_edit')); } $pid=$province; }elseif($input_type==3){ if(!$city){ $this->error('请选择城市',url('admin/Region/region_edit')); } $pid=$city; }else{ $pid=1; } $sl_data['pid']=$pid; $sl_data['name']=input('areaname'); $sl_data['type']=$input_type; $rst=DB::name('region')->where(array('id'=>input('regionid')))->update($sl_data); if($rst!==false){ $this->success('修改成功',url('admin/Region/region_list',array('province'=>$province,'city'=>$city))); }else{ $this->error('修改失败',url('admin/Region/region_edit')); } } } public function region_del() { $id=input('id'); $rst=Db::name('region')->where('id',$id)->delete(); if($rst!==false){ $this->success('删除成功',url('admin/Region/region_list')); }else{ $this->error('删除失败',url('admin/Region/region_list')); } } }