['label_type','pid'], '%like%' => ['label_name'], ]; } /** * 获取数据权限 * $this->adminInfo['data_rules'] * province city admin_id sale_group_id sale_id property_head_id */ public function queryDataWhere(){ $where = []; // 工程师标签 - 省市权限判断 if(isset($this->params['label_type']) && $this->params['label_type'] == 2){ $data_rules = $this->adminInfo['data_rules']; if (isset($data_rules['province']) && !empty($data_rules['province'])) { $where[] = ['province','in' ,$data_rules['province']]; } if (isset($data_rules['city']) && !empty($data_rules['city'])) { $where[] = ['city','in' ,$data_rules['city']]; } } return $where; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/12/12 17:15 */ public function lists(): array { return Labels::where($this->searchWhere) ->field(['id', 'label_type', 'label_name','pid','province','city','area_name']) ->where($this->queryDataWhere()) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/12/12 17:15 */ public function count(): int { return Labels::where($this->searchWhere)->where($this->queryDataWhere())->count(); } }