'require|checkData', 'project_id' => 'require|checkProject', 'opinion' => 'require', 'detail' => 'checkDetail' ]; /** * 参数描述 * @var string[] */ protected $field = [ 'id' => 'id', 'project_id' => '项目id', 'opinion' => '项目总监意见', 'remark' => '备注', ]; /** * @notes 添加场景 * @return SupervisionProjectDataArchivingValidate * @author likeadmin * @date 2024/03/05 14:04 */ public function sceneAdd() { return $this->only(['project_id','opinion','remark','detail']); } /** * @notes 编辑场景 * @return SupervisionProjectDataArchivingValidate * @author likeadmin * @date 2024/03/05 14:04 */ public function sceneEdit() { return $this->only(['id','project_id','opinion','remark','detail']); } /** * @notes 删除场景 * @return SupervisionProjectDataArchivingValidate * @author likeadmin * @date 2024/03/05 14:04 */ public function sceneDelete() { return $this->only(['id'])->remove('id','checkData'); } /** * @notes 详情场景 * @return SupervisionProjectDataArchivingValidate * @author likeadmin * @date 2024/03/05 14:04 */ public function sceneDetail() { return $this->only(['id']); } public function checkData($value): bool|string { $data = SupervisionProjectDataArchiving::where('id',$value)->findOrEmpty(); if($data->isEmpty()){ return '数据不存在'; } return true; } public function checkProject($value): bool|string { $data = SupervisionProject::where('id',$value)->findOrEmpty(); if($data->isEmpty()){ return '项目信息不存在'; } return true; } public function checkDetail($value): bool|string { if(!isset($value) || $value == '') return true; if(!is_array($value)) return '资料归档目录数据格式错误'; foreach($value as $k=>$v){ if(!empty($v['id'])){ $data = SupervisionProjectDataArchivingDetail::where('id',$v['id'])->findOrEmpty(); if($data->isEmpty()){ return '资料归档目录列表第'.($k+1).'行数据不存在'; } } if(empty($v['data_catalog'])) return '资料归档目录列表第'.($k+1).'行监理项目竣工资料归档目录为空'; if(empty($v['submit_by_project_dept'])) return '资料归档目录列表第'.($k+1).'行项目部提交资料为空'; if(empty($v['submit_by_production_dept'])) return '资料归档目录列表第'.($k+1).'行生产管理部核实情况为空'; } return true; } }