['bid_evaluation_id', 'general_manager', 'bid_head', 'bid_status'], ]; } /** * @notes 获取市场经营--投标管理--投标信息列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/04/12 09:23 */ public function lists(): array { $params = $this->request->get(); $where = []; if (isset($params['business_opportunity_id']) && $params['business_opportunity_id'] != '') { $bid_evaluation_ids0 = MarketingBidEvaluation::where('business_opportunity_id', $params['business_opportunity_id'])->column('id'); $where[] = ['bid_evaluation_id', 'in', $bid_evaluation_ids0]; } if (isset($params['construct_company']) && $params['construct_company'] != '') { $business_opportunity_ids = MarketingBusinessOpportunity::where('construct_company', $params['construct_company'])->column('id'); $bid_evaluation_ids = MarketingBidEvaluation::where('business_opportunity_id', 'in', $business_opportunity_ids)->column('id'); $where[] = ['bid_evaluation_id', 'in', $bid_evaluation_ids]; } return MarketingBidInfo::withoutField('create_time,update_time,delete_time')->where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function ($data) { //投标审查信息 $bid_evaluation = MarketingBidEvaluation::withoutField('create_time,update_time,delete_time')->where('id', $data['bid_evaluation_id'])->findOrEmpty(); $data['bid_evaluation'] = $bid_evaluation; $data['bid_evaluation']['bid_type_text'] = $bid_evaluation->bid_type_text; $data['bid_evaluation']['bid_nature_text'] = $bid_evaluation->bid_nature_text; //业务机会信息 $business_opportunity = MarketingBusinessOpportunity::withoutField('bid_date,contacts,annex,approve_id,create_time,update_time,delete_time')->where('id', $bid_evaluation['business_opportunity_id'])->findOrEmpty(); $construct_company = MarketingCustom::field('name')->where('id', $business_opportunity['construct_company'])->findOrEmpty(); $business_opportunity_admin = Admin::where('id', 'in', [$business_opportunity['head'], $business_opportunity['leader']])->column('name', 'id'); $business_opportunity_dept = Dept::field('name')->where('id', $business_opportunity['dept'])->findOrEmpty(); $data['business_opportunity'] = $business_opportunity; $data['business_opportunity']['construct_company_name'] = $construct_company?->name; $data['business_opportunity']['business_nature_text'] = $business_opportunity->business_nature_text; $data['business_opportunity']['industry_nature_text'] = $business_opportunity->industry_nature_text; $data['business_opportunity']['info_sources_text'] = $business_opportunity->info_sources_text; $data['business_opportunity']['fund_sources_text'] = $business_opportunity->fund_sources_text; $data['business_opportunity']['const_area_text'] = $business_opportunity->const_area_text; $data['business_opportunity']['status_text'] = $business_opportunity->status_text; $data['business_opportunity']['dept_name'] = $business_opportunity_dept?->name; $data['business_opportunity']['head_name'] = $business_opportunity_admin[$business_opportunity['head']] ?? ''; $data['business_opportunity']['leader_name'] = $business_opportunity_admin[$business_opportunity['leader']] ?? ''; //投标信息 $admin = Admin::where('id', 'in', [$data['general_manager'], $data['bid_head'], $data['technology_head'], $data['business_head'], $data['other_user']])->column('name', 'id'); $data['general_manager_name'] = $admin[$data['general_manager']] ?? ''; $data['bid_head_name'] = $admin[$data['bid_head']] ?? ''; $data['technology_head_name'] = $admin[$data['technology_head']] ?? ''; $data['business_head_name'] = $admin[$data['business_head']] ?? ''; $data['other_user_name'] = $admin[$data['other_user']] ?? ''; $data['bid_status_text'] = $data->bid_status_text; }) ->toArray(); } /** * @notes 获取市场经营--投标管理--投标信息数量 * @return int * @author likeadmin * @date 2024/04/12 09:23 */ public function count(): int { $params = $this->request->get(); $where = []; if (isset($params['business_opportunity_id']) && $params['business_opportunity_id'] != '') { $bid_evaluation_ids0 = MarketingBidEvaluation::where('business_opportunity_id', $params['business_opportunity_id'])->column('id'); $where[] = ['bid_evaluation_id', 'in', $bid_evaluation_ids0]; } if (isset($params['construct_company']) && $params['construct_company'] != '') { $business_opportunity_ids = MarketingBusinessOpportunity::where('construct_company', $params['construct_company'])->column('id'); $bid_evaluation_ids = MarketingBidEvaluation::where('business_opportunity_id', 'in', $business_opportunity_ids)->column('id'); $where[] = ['bid_evaluation_id', 'in', $bid_evaluation_ids]; } return MarketingBidInfo::where($this->searchWhere)->where($where)->count(); } }