Browse Source

feat:产品导入等

igb 5 months ago
parent
commit
54b6a4360e
1 changed files with 49 additions and 0 deletions
  1. 49 0
      app/Distributor/Actions/BatchCopy.php

+ 49 - 0
app/Distributor/Actions/BatchCopy.php

@@ -0,0 +1,49 @@
+<?php
+namespace App\Distributor\Actions;
+
+use Dcat\Admin\Grid\BatchAction;
+use Illuminate\Http\Request;
+use App\Distributor\Forms\ImportProduct;
+use Dcat\Admin\Widgets\Modal;
+
+
+//批量复制导入,最终在form importProduct
+class BatchCopy extends BatchAction
+{
+    protected $title = '倒入产品';
+
+
+    /**
+     * 重写弹出的表单
+     * @return Modal|string
+     */
+    public function render()
+    {
+        // 实例化表单类
+        $form = ImportProduct::make();
+
+        return Modal::make()
+            ->lg()
+            ->title($this->title)
+            ->body($form)
+            // 因为此处使用了表单异步加载功能,所以一定要用 onLoad 方法
+            // 如果是非异步方式加载表单,则需要改成 onShow 方法
+            ->onShow($this->getModalScript())
+            ->button($this->title);
+    }
+
+    /**
+     * 填充选择的产品ID
+     * @return string
+     */
+    protected function getModalScript()
+    {
+        // 弹窗显示后往隐藏的id表单中写入批量选中的行ID
+        return <<<JS
+        // 获取选中的ID数组
+        var key = {$this->getSelectedKeysScript()}
+        $('#product_ids').val(key);
+        JS;
+    }
+
+}