['sn', 'worker_id', 'review_status'], '%like%' => ['sn'], ]; } public function querySearch():array { $data = []; if(isset($this->params['min_change_amount']) && is_numeric($this->params['min_change_amount'])){ $where[] =['change_amount','>=',$this->params['min_change_amount']]; } if(isset($this->params['max_change_amount']) && is_numeric($this->params['max_change_amount'])){ $where[] =['change_amount','<=',$this->params['max_change_amount']]; } return $data; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/07/23 09:30 */ public function lists(): array { return MasterWorkerCaseOutLog::where($this->searchWhere) ->with(['masterWorker'=>function(Query $query){ $query->field('id,nickname,worker_number'); }]) ->where($this->querySearch()) ->field(['id', 'sn', 'worker_id', 'change_amount', 'review_status', 'remark']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/07/23 09:30 */ public function count(): int { return MasterWorkerCaseOutLog::where($this->searchWhere)->where($this->querySearch())->count(); } }