'未支付', self::STATUS_PAID => '已支付', ]; protected $table = 'bill'; protected $primaryKey = 'id'; protected $fillable = [ 'bill_no', 'purchase_id', 'store_id', 'bill_date', 'product_amount', 'delivery_fee', 'box_num', 'tray_num', 'box_price', 'tray_price', 'added_amount', 'total_amount', 'status', 'paid_at', 'pay_remark', 'paid_operator_id', 'operator_id', 'remark', ]; protected $casts = [ 'purchase_id' => 'integer', 'store_id' => 'integer', 'bill_date' => 'date:Y-m-d', 'product_amount' => 'decimal:2', 'delivery_fee' => 'decimal:2', 'box_num' => 'integer', 'tray_num' => 'integer', 'box_price' => 'decimal:2', 'tray_price' => 'decimal:2', 'added_amount' => 'decimal:2', 'total_amount' => 'decimal:2', 'status' => 'integer', 'paid_at' => 'datetime:Y-m-d H:i:s', 'paid_operator_id' => 'integer', 'operator_id' => 'integer', 'created_at' => 'datetime:Y-m-d H:i:s', ]; /** * 所属门店(含软删除门店,保证历史账单可见) */ public function store(): BelongsTo { return $this->belongsTo(StoreModel::class, 'store_id', 'id')->withTrashed(); } /** * 关联采购单 */ public function purchase(): BelongsTo { return $this->belongsTo(PurchaseOrderModel::class, 'purchase_id', 'id'); } /** * 生成人(后台系统用户) */ public function operator(): BelongsTo { return $this->belongsTo(SysUserModel::class, 'operator_id', 'id'); } /** * 收款操作人(后台系统用户,线下收款登记) */ public function paidOperator(): BelongsTo { return $this->belongsTo(SysUserModel::class, 'paid_operator_id', 'id'); } /** * 本账单关联的门店订单 */ public function orders(): HasMany { return $this->hasMany(StoreOrderModel::class, 'bill_id', 'id'); } /** * 本账单关联的门店订单明细 */ public function items(): HasMany { return $this->hasMany(StoreOrderItemModel::class, 'bill_id', 'id'); } }