4
0
Fork 0
dcat-admin-goods/src/Form/Goods/SpecForm.php

45 lines
1.1 KiB
PHP

<?php
namespace Peidikeji\Goods\Form\Goods;
use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Widgets\Form;
use Peidikeji\Goods\Models\Goods;
class SpecForm extends Form implements LazyRenderable
{
use LazyWidget;
public function handle(array $input)
{
$goods = Goods::findOrFail($this->payload['goods_id']);
$spec = json_decode($input['spec'], true) ?: [];
foreach ($spec as &$item) {
foreach ($item['values'] as &$subItem) {
$subItem['value'] = floatval($subItem['value']);
}
}
$goods->update(['spec' => $spec]);
return $this->response()->success('保存成功');
}
public function form()
{
$spec = $this->model()->type?->spec;
$this->spec('spec')->header(['名称', '可选值', '价格'])->type($spec);
}
protected function renderResetButton()
{
return '<a href="javascript:window.history.back()" class="btn btn-white pull-left"><i class="feather icon-arrow-left"></i> 返回</a>';
}
protected function getSubmitButtonLabel()
{
return '保存';
}
}