|
|
@@ -147,7 +147,7 @@ class WorkOrder extends Model
|
|
|
}
|
|
|
|
|
|
// 内物破损图片
|
|
|
- public function commodityImage(): HasMany
|
|
|
+ public function commodityImages(): HasMany
|
|
|
{
|
|
|
return $this->hasMany(WorkOrderImage::class)->where('type', 1);
|
|
|
}
|
|
|
@@ -180,11 +180,16 @@ class WorkOrder extends Model
|
|
|
/** 默认 with 参数 */
|
|
|
public function scopeDefaultWith($query)
|
|
|
{
|
|
|
- $query->with(['type', 'owner', 'issueType', 'creator', 'reviewer', 'order' => function ($query) {
|
|
|
- /** @var $query Builder */
|
|
|
+ $query->with(['type', 'owner', 'issueType', 'creator','details',
|
|
|
+ 'packageImages.uploadFile',
|
|
|
+ 'commodityImages.uploadFile',
|
|
|
+ 'dealImages.uploadFile',
|
|
|
+ 'refundImages.uploadFile',
|
|
|
+ 'reviewer', 'order' => function ($query) {
|
|
|
+ /** @var Builder $query */
|
|
|
$query->with('packages', 'logistic', 'owner');
|
|
|
}, 'orderIssue' => function ($query) {
|
|
|
- /** @var $query Builder */
|
|
|
+ /** @var Builder $query */
|
|
|
$query->with(['issueType', 'logs' => function ($query) {
|
|
|
if (Gate::denies('订单管理-问题件-客户不可见')) {
|
|
|
$query->with('user')->orderByDesc('created_at');
|
|
|
@@ -206,54 +211,56 @@ class WorkOrder extends Model
|
|
|
NotificationService::SingleRegister($msg, $clientCode, "订单管理-问题件");
|
|
|
}
|
|
|
|
|
|
- public function addPackageImages($images)
|
|
|
- {
|
|
|
+ public function addPackageImage($images)
|
|
|
+ { // 外包装图
|
|
|
foreach ($images as $image) {
|
|
|
/** @var UploadedFile $image */
|
|
|
$count = $this->packageImages()->count();
|
|
|
/** @var WorkOrderImage $workOrderImage */
|
|
|
- $workOrderImage = WorkOrderImage::query()->create(['type' => 0, 'amount' => ++$count]);
|
|
|
+ $workOrderImage = $this->packageImages()->create(['type' => 0, 'amount' => ++$count]);
|
|
|
$workOrderImage->saveFile($image);
|
|
|
- $this->packageImages()->save($workOrderImage);
|
|
|
}
|
|
|
+ $this->loadMissing('packageImages');
|
|
|
}
|
|
|
|
|
|
public function addCommodityImage($images)
|
|
|
- {
|
|
|
+ { // 内物破损图
|
|
|
foreach ($images as $image) {
|
|
|
- $count = $this->commodityImage()->count();
|
|
|
+ $count = $this->commodityImages()->count();
|
|
|
/** @var WorkOrderImage $workOrderImage */
|
|
|
- $workOrderImage = WorkOrderImage::query()->create(['type' => 1, 'amount' => ++$count]);
|
|
|
+ $workOrderImage = $this->commodityImages()->create(['type' => 1, 'amount' => ++$count]);
|
|
|
$workOrderImage->saveFile($image);
|
|
|
- $this->commodityImage()->save($workOrderImage);
|
|
|
}
|
|
|
+ $this->loadMissing('commodityImages');
|
|
|
}
|
|
|
|
|
|
- public function addDealImages($images)
|
|
|
- {
|
|
|
+ public function addDealImage($images)
|
|
|
+ { // 交易截图
|
|
|
foreach ($images as $image) {
|
|
|
$count = $this->dealImages()->count();
|
|
|
/** @var WorkOrderImage $workOrderImage */
|
|
|
- $workOrderImage = WorkOrderImage::query()->create(['type' => 2, 'amount' => ++$count]);
|
|
|
+ $workOrderImage = $this->dealImages()->create(['type' => 2, 'amount' => ++$count]);
|
|
|
$workOrderImage->saveFile($image);
|
|
|
- $this->dealImages()->save($workOrderImage);
|
|
|
}
|
|
|
+ $this->loadMissing('dealImages');
|
|
|
}
|
|
|
|
|
|
public function addRefundImage($images)
|
|
|
- {
|
|
|
+ { // 退款截图
|
|
|
foreach ($images as $image) {
|
|
|
$count = $this->refundImages()->count();
|
|
|
/** @var WorkOrderImage $workOrderImage */
|
|
|
- $workOrderImage = WorkOrderImage::query()->create(['type' => 3, 'amount' => ++$count]);
|
|
|
+ $workOrderImage = $this->refundImages()->create(['type' => 3, 'amount' => ++$count]);
|
|
|
$workOrderImage->saveFile($image);
|
|
|
- $this->refundImages()->save($workOrderImage);
|
|
|
}
|
|
|
+ $this->loadMissing('dealImages');
|
|
|
}
|
|
|
|
|
|
public function saveWorkOrderDetail($params)
|
|
|
{
|
|
|
$param = (new WorkOrderDetail($params))->getAttributes();
|
|
|
$this->details()->create($param);
|
|
|
+ $this->loadMissing('details');
|
|
|
}
|
|
|
+
|
|
|
}
|