['project_id', 'contract_no', 'contract_name', 'supplier_id', 'contract_type'], ]; } public function querySearch(): array { $queryWhere = []; if (!empty($this->params['contract_cate'])) { $queryWhere['contract_cate'] = $this->params['contract_cate']; } $queryWhere['contract_cate'] = 2; return $queryWhere; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2023/12/12 17:15 */ public function lists(): array { return ProcurementContract::where($this->searchWhere)->where($this->querySearch()) ->field(['*']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($item, $key){ if (!empty($item['pay_plan'])) { $otherContactsArray = json_decode($item['pay_plan'], true); if (is_array($otherContactsArray)) { $item['pay_plan'] = $otherContactsArray; } } return $item; })->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2023/12/12 17:15 */ public function count(): int { return ProcurementContract::where($this->searchWhere)->where($this->querySearch())->count(); } }