Browse Source

规格增加原价

master
李可松 4 years ago
parent
commit
1c18764fe2
  1. 10
      MySQL_change.sql
  2. 11
      app/AdminSupplier/Controllers/ProductController.php
  3. 2
      app/Models/ProductSpec.php

10
MySQL_change.sql

@ -106,4 +106,12 @@ CREATE TABLE `product_specs` (
INDEX `product_id` (`product_id`) USING BTREE
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
ENGINE=InnoDB;
# 13:00 2021/9/23
ALTER TABLE `product_specs`
ADD COLUMN `original_price` DECIMAL(20,2) NOT NULL COMMENT '原价' AFTER `stock`,
CHANGE COLUMN `price` `price` DECIMAL(20,2) NOT NULL COMMENT '售价' AFTER `original_price`;

11
app/AdminSupplier/Controllers/ProductController.php

@ -105,14 +105,15 @@ class ProductController extends AdminController
$options = Category::selectOptions(fn($query) => $query->where('agent_id', 0));
$form->select('category_id')->options(array_slice($options, 1, null, true))->required();
$form->text('title')->required();
$form->currency('price')->symbol('¥')->required();
$form->currency('original_price')->symbol('¥')->required();
// $form->currency('price')->symbol('¥')->required();
// $form->currency('original_price')->symbol('¥')->required();
$form->number('service_persons')->required();
// $form->number('stock')->required();
$form->table('spec', function ($form) {
$form->hidden('id');
$form->text('name')->required();
$form->text('stock')->required();
$form->text('original_price')->required();
$form->text('price')->required();
})->required();
if ($form->isEditing() && in_array($form->model()->status, [ProductStatus::SOLD_OUT, ProductStatus::ON_SALE])) {
@ -235,9 +236,11 @@ class ProductController extends AdminController
return $form->response()->error('请输入产品规格');
}
//处理库存
$form->hidden('stock');
//处理库存、原价、售价
$form->hidden(['stock', 'original_price', 'price']);
$form->stock = array_sum(array_column($form->spec, 'stock'));
$form->original_price = min(array_column($form->spec, 'original_price'));
$form->price = min(array_column($form->spec, 'price'));
//特殊字段处理
if ($form->isCreating()) {

2
app/Models/ProductSpec.php

@ -9,7 +9,7 @@ class ProductSpec extends Model
{
use HasFactory;
protected $fillable = ['name', 'price', 'stock'];
protected $fillable = ['name', 'stock', 'original_price', 'price'];
public function __construct(array $attributes = [])
{

Loading…
Cancel
Save