作者 赵彬吉

update

... ... @@ -4,7 +4,9 @@ namespace App\Http\Controllers\Aside\Project;
use App\Helper\Arr;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Project\ProcessRecordsLogic;
use App\Http\Logic\Aside\Project\ProjectLogic;
use App\Http\Requests\Aside\Project\ProcessRecordsRequest;
use App\Http\Requests\Aside\Project\ProjectRequest;
use App\Models\InquirySet;
use App\Rules\Ids;
... ... @@ -96,4 +98,29 @@ class ProjectController extends BaseController
$data = $logic->dataSource();
return $this->success($data);
}
/**
* 进程记录
* @author zbj
* @date 2023/6/25
*/
public function get_process_records(Request $request, ProcessRecordsLogic $logic){
$request->validate([
'project_id'=>'required'
],[
'project_id.required' => '项目ID不能为空'
]);
$data = $logic->getInfo($this->param['project_id']);
return $this->success($data ? $data->toArray() : []);
}
/**
* 保存进程记录
* @author zbj
* @date 2023/6/25
*/
public function save_process_records(ProcessRecordsRequest $request, ProcessRecordsLogic $logic){
$data = $logic->save($this->param);
return $this->success($data);
}
}
... ...
<?php
namespace App\Http\Logic\Aside\Project;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Project\ProcessRecords;
class ProcessRecordsLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new ProcessRecords();
}
public function getInfo($project_id)
{
return $this->model->where('project_id', $project_id)->first();
}
public function save($param){
$info = $this->getInfo($param['project_id']);
if($info){
$this->model = $info;
}
$this->model->record = $param['record'];
$this->model->remark = $param['remark'];
$res = $this->model->save();
if($res){
return $this->success(['id' => $this->model->id]); //返回保存的数据id
}else{
$this->fail('保存失败');
}
}
}
... ...
<?php
namespace App\Http\Requests\Aside\Project;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Str;
/**
* Class ProcessRecordsRequest
* @package App\Http\Requests\Aside\product
* @author zbj
* @date 2023/6/25
*/
class ProcessRecordsRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'project_id' => 'required',
'record' => ['required', 'array', function ($attribute, $value, $fail) {
foreach ($value as $v) {
if (empty($v['date'])) {
$fail('请选择记录日期');
}
if (empty($v['content'])) {
$fail('请输入记录内容');
}
}
}],
];
}
public function messages()
{
return [
'project_id.required'=>'项目ID不能为空',
];
}
}
... ...
<?php
namespace App\Models\Project;
use App\Helper\Arr;
use App\Models\Base;
use App\Services\Facades\Upload;
class ProcessRecords extends Base
{
//设置关联表名
protected $table = 'gl_project_process_records';
public function setRecordAttribute($value){
foreach ($value as &$v){
$v['image'] = Upload::url2path($v['image']);
$v['file'] = Upload::url2path($v['file']);
}
$this->attributes['record'] = Arr::a2s($value);
}
public function getRecordAttribute($value){
$value = Arr::s2a($value);
foreach ($value as &$v){
$v['image'] = Upload::path2url($v['image']);
$v['file'] = Upload::path2url($v['file']);
}
return $value;
}
}
... ...
... ... @@ -118,6 +118,8 @@ Route::middleware(['aloginauth'])->group(function () {
Route::post('/save', [Aside\Project\ProjectController::class, 'save'])->name('admin.project_save');
Route::any('/inquiry_set', [Aside\Project\ProjectController::class, 'inquiry_set'])->name('admin.project_inquiry_set');
Route::any('/data_source', [Aside\Project\ProjectController::class, 'data_source'])->name('admin.project_data_source');
Route::any('/get_process_records', [Aside\Project\ProjectController::class, 'get_process_records'])->name('admin.project_get_process_records');
Route::any('/save_process_records', [Aside\Project\ProjectController::class, 'save_process_records'])->name('admin.project_save_process_records');
});
//工单管理
... ...