| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- namespace App\Module\Mex\Forms;
- use App\Module\Mex\Logic\MexAdminLogic;
- use Dcat\Admin\Admin;
- use Dcat\Admin\Widgets\Form;
- /**
- * Mex模块初始化仓库表单
- */
- class InitializeWarehouseForm extends Form
- {
- /**
- * 处理表单提交请求
- */
- public function handle(array $input)
- {
- try {
- $result = MexAdminLogic::initializeWarehouse(Admin::user()->id);
- if ($result['success']) {
- return $this->response()
- ->success('初始化成功!' . $result['message'] . ',共初始化了 ' . $result['initialized_count'] . ' 个商品的库存记录。')
- ->refresh(); // 刷新当前页面
- } else {
- return $this->response()->error('初始化失败: ' . $result['message']);
- }
- } catch (\Exception $e) {
- return $this->response()->error('初始化失败: ' . $e->getMessage());
- }
- }
- /**
- * 构建表单
- */
- public function form()
- {
- $this->html('<div class="alert alert-info">
- <h6><i class="fa fa-info-circle"></i> 初始化说明</h6>
- <ul class="mb-0">
- <li>此操作将为所有已启用定价的商品创建库存记录</li>
- <li>初始库存数量为0,可通过注入操作增加库存</li>
- <li>只有当库存表为空时才能执行初始化</li>
- <li>初始化后可以正常进行注入、回收和用户交易</li>
- </ul>
- </div>');
- $this->html('<div class="alert alert-warning">
- <h6><i class="fa fa-exclamation-triangle"></i> 注意事项</h6>
- <ul class="mb-0">
- <li>初始化操作只能在库存表为空时执行</li>
- <li>如果已有库存记录,将无法执行初始化</li>
- <li>初始化完成后,所有已定价商品的库存都为0</li>
- <li>操作不可撤销,请确认后再执行</li>
- </ul>
- </div>');
- // 添加一个隐藏字段,确保表单可以提交
- $this->hidden('action')->value('initialize');
- }
- /**
- * 返回表单默认数据
- */
- public function default()
- {
- return [
- 'action' => 'initialize',
- ];
- }
- }
|