'require|checkData', 'project_name' => 'require', 'nature' => 'require|checkNature', 'industry' => 'require|checkIndustry', 'build_area' => 'require|checkBuildArea', 'project_level' => 'require|checkProjectLevel', 'total_investment' => 'require|float|gt:0', 'engineering_status' => 'require|checkEngineeringStatus', 'planned_start_date' => 'dateFormat:Y-m-d', 'planned_end_date' => 'dateFormat:Y-m-d', 'actual_start_date' => 'dateFormat:Y-m-d', 'actual_end_date' => 'dateFormat:Y-m-d', 'project_manager' => 'require', 'initiation_date' => 'dateFormat:Y-m-d', 'create_user' => 'require', 'create_time' => 'require|dateFormat:Y-m-d H:i:s', 'annex' => 'checkAnnex', ]; /** * 参数描述 * @var string[] */ protected $field = [ 'id' => 'id', 'project_name' => '项目名称', 'project_code' => '项目编号', 'nature' => '性质', 'industry' => '行业', 'build_unit' => '建设单位', 'build_area' => '建设区域', 'address' => '项目地址', 'project_level' => '项目级别', 'total_investment' => '总投资(万元)', 'engineering_status' => '工程状态', 'contract_content' => '合同服务内容', 'project_overview' => '项目概况', 'project_requirements' => '项目要求', 'planned_start_date' => '计划开工日期', 'planned_end_date' => '计划竣工日期', 'actual_start_date' => '实际开工日期', 'actual_end_date' => '实际竣工日期', 'implementation_department' => '实施部门', 'supervision_department' => '监管部门', 'project_manager' => '项目经理', 'initiation_date' => '立项日期', 'project_leader' => '项目负责人', 'project_department' => '项目部', 'remark' => '备注', 'contract' => '关联合同', 'part_a_unit' => '甲方单位', 'create_user' => '创建人', 'create_time' => '创建时间', ]; /** * @notes 添加场景 * @return ManageProjectValidate * @author likeadmin * @date 2024/03/07 10:49 */ public function sceneAdd() { return $this->remove('id',true); } /** * @notes 编辑场景 * @return ManageProjectValidate * @author likeadmin * @date 2024/03/07 10:49 */ public function sceneEdit() {} /** * @notes 删除场景 * @return ManageProjectValidate * @author likeadmin * @date 2024/03/07 10:49 */ public function sceneDelete() { return $this->only(['id'])->remove('id','checkData'); } /** * @notes 详情场景 * @return ManageProjectValidate * @author likeadmin * @date 2024/03/07 10:49 */ public function sceneDetail() { return $this->only(['id']); } public function checkData($value): bool|string { $data = ManageProject::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; } }