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