diff --git a/app/AdminAgent/Controllers/IndustryOrderController.php b/app/AdminAgent/Controllers/IndustryOrderController.php
index a19a4c3..021ac3d 100644
--- a/app/AdminAgent/Controllers/IndustryOrderController.php
+++ b/app/AdminAgent/Controllers/IndustryOrderController.php
@@ -2,6 +2,7 @@
namespace App\AdminAgent\Controllers;
+use App\AdminAgent\Extensions\Grid\SupplierShowQrcode;
use App\AdminAgent\Repositories\IndustryOrder;
use App\Common\OrderStatus;
use App\Common\PayType;
@@ -91,10 +92,13 @@ class IndustryOrderController extends AdminController
$grid->column('paid_at');
$grid->column('verify_qrcode', '核销二维码')
->if(fn() => $this->verify_code)
- ->then(function ($column) {
+ ->then(function (Grid\Column $column) {
$verify_code = $this->id . '-' . $this->verify_code;
$column->append(admin_url('industry_order/qrcode', $verify_code))->image('', 60, 60);
- $column->append('
' . $verify_code);
+ $column->append('
' . $verify_code . '
');
+ if (empty($this->show_qrcode)) {
+ $column->append((new SupplierShowQrcode)->setKey($this->id));
+ }
})
->else()
->display('');
@@ -133,7 +137,7 @@ class IndustryOrderController extends AdminController
$filename = $response->saveAs(storage_path('app/public/industry_verify_code'), $verify_code); //保存二维码
// $qrcode = Storage::disk('public')->url('industry_verify_code/' . $filename); //获取前端路径
header("Content-Type: " . $response->getHeaderLine('Content-Type'));
- exit($response); //输出图片
+ return $response; //输出图片
}
}
diff --git a/app/AdminAgent/Extensions/Grid/SupplierShowQrcode.php b/app/AdminAgent/Extensions/Grid/SupplierShowQrcode.php
new file mode 100644
index 0000000..505a437
--- /dev/null
+++ b/app/AdminAgent/Extensions/Grid/SupplierShowQrcode.php
@@ -0,0 +1,45 @@
+appendHtmlAttribute('class', 'btn btn-sm btn-success');
+ $this->defaultHtmlAttribute('href', 'javascript:;');
+
+ return "formatHtmlAttributes()}>{$this->title}";
+ }
+
+ public function handle()
+ {
+ IndustryOrder::where(['id' => $this->getKey(), 'agent_id' => Admin::user()->id])->update(['show_qrcode' => 1]);
+ return $this->response()->success('发送成功,供应商可以对该订单进行核销了');
+ }
+
+ public function confirm()
+ {
+ return ['确定要发送核销码到供应商商,允许供应商核销吗?', ''];
+ }
+}
diff --git a/app/AdminSupplier/Controllers/IndustryOrderController.php b/app/AdminSupplier/Controllers/IndustryOrderController.php
index dbba950..c17f5c6 100644
--- a/app/AdminSupplier/Controllers/IndustryOrderController.php
+++ b/app/AdminSupplier/Controllers/IndustryOrderController.php
@@ -77,12 +77,18 @@ class IndustryOrderController extends AdminController
$column->display(OrderStatus::array()[$this->status]);
}
});
- $grid->column('审核')
+ $grid->column('操作')
//待审核
->if(fn() => $this->audit_status == 0)
->then(function ($column) {
$column->append((new IndustryOrderAudit(null, 1))->setKey($this->id))->append(' ');
$column->append((new IndustryOrderAudit(null, 2))->setKey($this->id));
+ })
+ ->if(fn() => !empty($this->show_qrcode))
+ ->then(function ($column) {
+ $verify_code = $this->id . '-' . $this->verify_code;
+ $column->append(admin_url('industry_order/qrcode', $verify_code))->image('', 60, 60);
+ $column->append('
' . $verify_code . '
');
});
$grid->column('paid_at')->width(100);
// $grid->column('timeout');
@@ -95,7 +101,12 @@ class IndustryOrderController extends AdminController
});
}
- /**
+ public function qrcode()
+ {
+ return (new \App\AdminAgent\Controllers\IndustryOrderController)->qrcode();
+ }
+
+ /**
* Make a show builder.
*
* @param mixed $id
diff --git a/app/AdminSupplier/routes.php b/app/AdminSupplier/routes.php
index ded2d1e..67bb67e 100644
--- a/app/AdminSupplier/routes.php
+++ b/app/AdminSupplier/routes.php
@@ -47,4 +47,6 @@ Route::group([
$router->any('workorder_item', 'WorkorderController@index');
$router->any('workorder_notice', 'WorkorderController@checkUnread');
+
+ $router->get('industry_order/qrcode/{verify_code}', 'IndustryOrderController@qrcode');
});