All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 52s
1. 整合「客戶詳情」與「合約歷程」至單一側邊欄,改用分頁 (Tabs) 切換介面。 2. 優化清單「服務期程」顯示:根據客戶模式(租賃/買斷)動態顯示對應期間,並使用完整文字標籤取代縮寫。 3. 修復日期 Bug:在 Company 模型指定日期序列化格式為 Y-m-d,解決時區轉換導致的日期減少一天問題。 4. 新增合約歷程資料表模型、遷移檔以及對應的多語系翻譯(中、英、日)。 5. 移除清單操作列中重複的合約歷程圖示。
71 lines
1.6 KiB
PHP
71 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models\System;
|
|
|
|
use App\Models\Machine\Machine;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use Spatie\Permission\Models\Role;
|
|
|
|
class Company extends Model
|
|
{
|
|
use HasFactory, SoftDeletes;
|
|
|
|
protected $fillable = [
|
|
'name',
|
|
'code',
|
|
'original_type',
|
|
'current_type',
|
|
'tax_id',
|
|
'contact_name',
|
|
'contact_phone',
|
|
'contact_email',
|
|
'status',
|
|
'start_date',
|
|
'end_date',
|
|
'warranty_start_date',
|
|
'warranty_end_date',
|
|
'software_start_date',
|
|
'software_end_date',
|
|
'note',
|
|
'settings',
|
|
];
|
|
|
|
protected $casts = [
|
|
'start_date' => 'date:Y-m-d',
|
|
'end_date' => 'date:Y-m-d',
|
|
'warranty_start_date' => 'date:Y-m-d',
|
|
'warranty_end_date' => 'date:Y-m-d',
|
|
'software_start_date' => 'date:Y-m-d',
|
|
'software_end_date' => 'date:Y-m-d',
|
|
'status' => 'integer',
|
|
'settings' => 'array',
|
|
];
|
|
|
|
/**
|
|
* Get the contract history for the company.
|
|
*/
|
|
public function contracts(): HasMany
|
|
{
|
|
return $this->hasMany(CompanyContract::class)->latest();
|
|
}
|
|
|
|
/**
|
|
* Get the users for the company.
|
|
*/
|
|
public function users(): HasMany
|
|
{
|
|
return $this->hasMany(User::class);
|
|
}
|
|
|
|
/**
|
|
* Get the machines for the company.
|
|
*/
|
|
public function machines(): HasMany
|
|
{
|
|
return $this->hasMany(Machine::class);
|
|
}
|
|
}
|