'未知',20=>'男',30=>'女']; return $data[$value]; } /** * 关联用户 * @return \think\model\relation\HasOne */ public function user(){ $model=self::getCalledModule()?:'common'; return $this->hasOne("app\\$model\\model\\user\\User",'user_id','user_id'); } /** * 头像 * @return \think\model\relation\HasOne */ public function image(){ $model=self::getCalledModule()?:'common'; return $this->hasOne("app\\$model\\model\\file\\UploadFile",'file_id','file_id')->bind(['file_path']); } /** * logo * @return \think\model\relation\HasOne */ public function logoImage(){ $model=self::getCalledModule()?:'common'; return $this->hasOne("app\\$model\\model\\file\\UploadFile",'file_id','logo')->bind(['file_path']); } /** * 添加 * @param $data * @return false|int */ public function add($data){ $data['app_id']=self::$app_id; return $this->save($data); } public function getUnitAttr($name) { return json_decode($name); } public function getDutiesAttr($name) { return json_decode($name); } public function getAddressAttr($name) { return json_decode($name); } public function getPositionAttr($name) { return $name?json_decode($name):[]; } /** * 获取名片列表 * @param $param * @return \think\Paginator * @throws \think\db\exception\DbException */ public function getList($param=[]){ $paramr=array_merge(['listRow'=>15],$param); $where=[]; !empty($paramr['name'])&&$where['name']=['like','%'.$paramr['name'].'%']; !empty($paramr['search'])&&$where['name|duties|unit']=['like','%'.$paramr['search'].'%']; !empty($paramr['user_id'])&&$where['user_id']=$paramr['user_id']; if(!empty($paramr['sort'])){ if($paramr['sort']=='name'){ $order=['name'=>"asc"]; }else if($paramr['sort']=='time'){ $order=['create_time'=>"asc"]; }else{ $order=['unit'=>"asc"]; } }else{ $order=['is_default'=>'desc','create_time'=>'desc']; } return $this->with(['user','image','logoImage'])->order($order)->where($where)->paginate($paramr); } }