You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.4 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace App\AdminAgent\Renderable;
							 | 
						|
								use App\Common\ProductStatus;
							 | 
						|
								use App\AdminAgent\Repositories\Product;
							 | 
						|
								use Dcat\Admin\Admin;
							 | 
						|
								use Dcat\Admin\Grid;
							 | 
						|
								use Dcat\Admin\Grid\LazyRenderable;
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * 选择产品
							 | 
						|
								 * Class SelectProduct
							 | 
						|
								 * @package App\AdminAgent\Renderable
							 | 
						|
								 */
							 | 
						|
								class SelectProduct extends LazyRenderable
							 | 
						|
								{
							 | 
						|
									public function grid(): Grid
							 | 
						|
									{
							 | 
						|
										// 获取外部传递的参数
							 | 
						|
								//		$id = $this->id;
							 | 
						|
										Admin::translation('product');
							 | 
						|
										return Grid::make(new Product(['supplier:id,company_name']), function (Grid $grid) {
							 | 
						|
											$grid->disableActions();
							 | 
						|
											$grid->disableBatchDelete();
							 | 
						|
											$grid->disableBatchActions();
							 | 
						|
								
							 | 
						|
											$grid->model()->where('status', ProductStatus::ON_SALE)->whereIn('agent_id', [0, Admin::user()->id]);
							 | 
						|
											if (!is_null($this->ids)) {
							 | 
						|
												$grid->model()->orderByRaw("FIELD(`id`, {$this->ids}) DESC");
							 | 
						|
											}
							 | 
						|
											$grid->quickSearch(['title', 'supplier.company_name'])->placeholder('搜索产品名称、供应商');
							 | 
						|
								
							 | 
						|
											$grid->column('id');
							 | 
						|
											//$grid->column('supplier.company_name', '供应商');
							 | 
						|
											$grid->column('title');
							 | 
						|
											$grid->column('picture')->image('',60, 60);
							 | 
						|
											$grid->column('price');
							 | 
						|
											$grid->column('sale');
							 | 
						|
											$grid->column('stock');
							 | 
						|
											$grid->column('updated_at');
							 | 
						|
								
							 | 
						|
											$grid->paginate(15);
							 | 
						|
								
							 | 
						|
											$grid->filter(function (Grid\Filter $filter) {
							 | 
						|
												$filter->like('id')->width(2);
							 | 
						|
												$filter->like('title')->width(3);
							 | 
						|
												$filter->like('supplier.company_name', '供应商名称')->width(3);
							 | 
						|
											});
							 | 
						|
										});
							 | 
						|
									}
							 | 
						|
								}
							 |