'require|checkData', 'project_name' => 'require', 'industry' => 'require|checkIndustry', 'nature' => 'require|checkNature', 'build_area' => 'require|checkBuildArea', 'project_level' => 'require|checkProjectLevel', 'total_investment' => 'require|float|gt:0', 'initiation_date' => 'dateFormat:Y-m-d', 'contract_amount' => 'float|egt:0', 'consult_start_date' => 'dateFormat:Y-m-d', 'consult_end_date' => 'dateFormat:Y-m-d', 'engineering_status' => 'require|checkEngineeringStatus', 'consult_type' => 'require|checkConsultType', 'create_user' => 'require', 'create_time' => 'require|dateFormat:Y-m-d H:i:s', 'project_archiving' => 'checkProjectArchiving', 'annex' => 'checkAnnex', ]; /** * 参数描述 * @var string[] */ protected $field = [ 'id' => 'id', 'project_name' => '项目名称', 'project_code' => '项目编号', 'industry' => '行业', 'nature' => '性质', 'company' => '委托单位', 'build_area' => '建设区域', 'address' => '项目地址', 'project_level' => '项目级别', 'total_investment' => '总投资(万元)', 'initiation_date' => '立项日期', 'contract' => '关联合同', 'contract_amount' => '合同金额', 'contract_content' => '合同服务内容', 'project_overview' => '项目规模及概况', 'consult_content' => '咨询范围', 'remark' => '备注', 'consult_start_date' => '咨询开始日期', 'consult_end_date' => '咨询结束日期', 'engineering_status' => '工程状态', 'consult_type' => '咨询类型', 'telephone' => '联系电话', 'consult_user' => '委托联系人', 'supervision_department' => '监管部门', 'implementation_department' => '实施部门', 'project_department' => '项目部', 'project_manager' => '项目负责人员', 'part_a_unit' => '甲方单位', 'archiving_directory' => '归档目录', 'create_user' => '创建人', 'create_time' => '创建时间', ]; /** * @notes 添加场景 * @return ConsultProjectValidate * @author likeadmin * @date 2024/03/11 09:25 */ public function sceneAdd() { return $this->remove('id',true); } /** * @notes 编辑场景 * @return ConsultProjectValidate * @author likeadmin * @date 2024/03/11 09:25 */ public function sceneEdit() {} /** * @notes 删除场景 * @return ConsultProjectValidate * @author likeadmin * @date 2024/03/11 09:25 */ public function sceneDelete() { return $this->only(['id'])->remove('id','checkData'); } /** * @notes 详情场景 * @return ConsultProjectValidate * @author likeadmin * @date 2024/03/11 09:25 */ public function sceneDetail() { return $this->only(['id']); } public function checkData($value): bool|string { $data = ConsultProject::where('id',$value)->findOrEmpty(); if($data->isEmpty()){ return '数据不存在'; } return true; } public function checkIndustry($value): bool|string { $dict = DictData::where('type_value','supervision_project_industry')->column('value'); if(!in_array($value,$dict)){ return '行业数据值无效'; } return true; } public function checkNature($value): bool|string { $dict = DictData::where('type_value','supervision_project_nature')->column('value'); if(!in_array($value,$dict)){ return '性质数据值无效'; } return true; } public function checkBuildArea($value): bool|string { $dict = DictData::where('type_value','supervision_project_build_area')->column('value'); if(!in_array($value,$dict)){ return '建设区域数据值无效'; } return true; } public function checkProjectLevel($value): bool|string { $dict = DictData::where('type_value','supervision_project_level')->column('value'); if(!in_array($value,$dict)){ return '项目级别数据值无效'; } return true; } public function checkEngineeringStatus($value): bool|string { $dict = DictData::where('type_value','supervision_project_status')->column('value'); if(!in_array($value,$dict)){ return '工程状态数据值无效'; } return true; } public function checkConsultType($value): bool|string { $dict = DictData::where('type_value','consult_type')->column('value'); if(!in_array($value,$dict)){ return '咨询类型数据值无效'; } return true; } public function checkProjectArchiving($value): bool|string { if(empty($value)) return true; if(!is_array($value)) return '项目归档数据格式错误'; $dict = DictData::where('type_value','project_archiving')->column('value'); foreach($value as $v){ if(!in_array($v,$dict)){ return '项目归档数据值无效'; } } return true; } }