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.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.2 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace App\AdminAgent\Forms;
							 | 
						|
								
							 | 
						|
								use App\Models\AgentProductSpec;
							 | 
						|
								use App\Models\ProductSpec;
							 | 
						|
								use Dcat\Admin\Widgets\Form;
							 | 
						|
								use Dcat\Admin\Traits\LazyWidget;
							 | 
						|
								use Dcat\Admin\Contracts\LazyRenderable;
							 | 
						|
								
							 | 
						|
								class LoadSupplierSpec extends Form implements LazyRenderable
							 | 
						|
								{
							 | 
						|
									use LazyWidget;
							 | 
						|
								
							 | 
						|
									// 处理请求
							 | 
						|
									public function handle(array $input)
							 | 
						|
									{
							 | 
						|
										$id = $input['product_id'];
							 | 
						|
										if (!empty($input['agent_product_id'])) {
							 | 
						|
											$agent_spec = AgentProductSpec::where('agent_product_id', $input['agent_product_id'])
							 | 
						|
												->pluck('product_spec_id')->toArray();
							 | 
						|
											$spec = ProductSpec::where('product_id', $id)
							 | 
						|
												->whereNotIn('id', $agent_spec ?? [0])
							 | 
						|
												->get([
							 | 
						|
													'id AS product_spec_id',
							 | 
						|
													'name AS supplier_name',
							 | 
						|
													'date AS supplier_date',
							 | 
						|
													'price AS supplier_price',
							 | 
						|
													'stock AS supplier_stock',
							 | 
						|
												])->toArray();
							 | 
						|
										} else {
							 | 
						|
											$spec = ProductSpec::where('product_id', $id)->get([
							 | 
						|
												'id AS product_spec_id',
							 | 
						|
												'name AS supplier_name',
							 | 
						|
												'date AS supplier_date',
							 | 
						|
												'price AS supplier_price',
							 | 
						|
												'stock AS supplier_stock',
							 | 
						|
											])->toArray();
							 | 
						|
										}
							 | 
						|
								
							 | 
						|
										return $this->response()->data($spec);
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									public function form()
							 | 
						|
									{
							 | 
						|
										$this->hidden('product_id');
							 | 
						|
										$this->hidden('agent_product_id');
							 | 
						|
									}
							 | 
						|
								}
							 |