作者 ZhengBing He

b端修改工单,A端修改工单

@@ -142,29 +142,26 @@ class WorkOrderController extends BaseController @@ -142,29 +142,26 @@ class WorkOrderController extends BaseController
142 } 142 }
143 } 143 }
144 if ($request->input('content')) 144 if ($request->input('content'))
145 - {  
146 - // 工程师在回复处理结果  
147 $log->content = $request->input('content'); 145 $log->content = $request->input('content');
148 - if ($request->input('files'))  
149 - $log->files = $request->input('files');  
150 - $log->status = WorkOrderLog::STATUS_COMPLETED;  
151 - $log->end_at = now();  
152 - $log->save();  
153 - } 146 + if ($request->input('files'))
  147 + $log->files = $request->input('files');
154 if ($request->input('status') !== null) 148 if ($request->input('status') !== null)
155 { 149 {
156 $log->status = $request->input('status'); 150 $log->status = $request->input('status');
157 - $log->save(); 151 + if ($log->status == WorkOrder::STATUS_COMPLETED)
  152 + {
  153 + // 我的工单标记为已完成
  154 + $log->status = WorkOrderLog::STATUS_COMPLETED;
  155 + $log->end_at = now();
  156 + }
158 } 157 }
159 - // 如果所有的子任务都已完成, 则更新工单主表状态 158 + $log->save();
  159 + // 是否有未完成的子任务
160 $pending = $workOrder->logs() 160 $pending = $workOrder->logs()
161 ->where('status', '<', WorkOrderLog::STATUS_COMPLETED) 161 ->where('status', '<', WorkOrderLog::STATUS_COMPLETED)
162 ->count(); 162 ->count();
163 - if ($pending == 0)  
164 - {  
165 - $workOrder->status = WorkOrderLog::STATUS_COMPLETED;  
166 - $workOrder->save();  
167 - } 163 + $workOrder->status = $pending == 0 ? WorkOrderLog::STATUS_COMPLETED : WorkOrderLog::STATUS_PROCESSING;
  164 + $workOrder->save();
168 return $log; 165 return $log;
169 }); 166 });
170 $this->response('success', Code::SUCCESS, $result->toArray()); 167 $this->response('success', Code::SUCCESS, $result->toArray());
@@ -118,8 +118,10 @@ class WorkOrderController extends BaseController @@ -118,8 +118,10 @@ class WorkOrderController extends BaseController
118 $this->response('无权限更新该工单', 403); 118 $this->response('无权限更新该工单', 403);
119 } 119 }
120 // 更新工单状态 120 // 更新工单状态
121 - $workOrder->status = $request->input('status'); 121 + $workOrder->status = WorkOrder::STATUS_COMPLETED;
122 $workOrder->save(); 122 $workOrder->save();
  123 + // B端完成工单,将所有子任务标记为完成
  124 + $workOrder->logs()->update(['status' => WorkOrderLog::STATUS_COMPLETED]);
123 $this->response('success', Code::SUCCESS); 125 $this->response('success', Code::SUCCESS);
124 } 126 }
125 127