Region::getNameById($data['province_id']), 'city' => Region::getNameById($data['city_id']), 'region' => $data['region_id'] == 0 ? '' : Region::getNameById($data['region_id']), ]; } public function getSexAttr($value) { $data = [10 => '未知', 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']); } /** * 等级 * @return \think\model\relation\HasOne */ public function grade() { $model = self::getCalledModule() ?: 'common'; return $this->hasOne("app\\$model\\model\\plus\\business\\Grade", 'grade_id', 'grade_id'); } /** * 添加 * @param $data * @return false|int */ public function add($data) { $data['app_id'] = self::$app_id; $data['grade_id'] = (new Grade())->getDefaultGradeId(); 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']; !empty($paramr['industry_id']) && $where['industry_id'] = $paramr['industry_id']; !empty($paramr['province_id']) && $where['province_id'] = $paramr['province_id']; !empty($paramr['city_id']) && $where['city_id'] = $paramr['city_id']; !empty($paramr['region_id']) && $where['region_id'] = $paramr['region_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_top' => 'desc', 'create_time' => 'desc']; } return $this->with(['user', 'image', 'logoImage', 'grade'])->order($order)->where($where)->paginate($paramr); } /** * 获取名片详情 * @param $business_card_id * @return array|false|\think\Model|null * @throws \think\db\exception\DbException */ public static function detail($business_card_id) { return (new self())->with(['user', 'image', 'logoImage', 'grade'])->where(['business_card_id' => $business_card_id])->find(); } }