Explorar o código

【Mod】修改学校改为下拉框搜索

liuxiangxin hai 3 meses
pai
achega
76cea10170

+ 35 - 1
app/Http/Controllers/Admin/Orders.php

@@ -11,6 +11,7 @@ use App\Models\Orders as Model;
 use App\Models\Orders\Receipt;
 use App\Models\OrdersAddr;
 use App\Models\OrdersProduct;
+use App\Models\School;
 use Illuminate\Support\Facades\DB;
 use Kra8\Snowflake\Snowflake;
 use Intervention\Image\Facades\Image;
@@ -605,7 +606,7 @@ class Orders extends Auth{
 	/**
 	 * 设置订单地址
 	 */
-	public function set_addr(Request $request,OrdersAddr $OrdersAddr){
+	public function set_addr(Request $request,OrdersAddr $OrdersAddr,School $School){
 		// 接收参数
 		$orderId						= request('order_id',''); 
 		// 获取数据
@@ -628,10 +629,43 @@ class Orders extends Auth{
 			// 告知结果
 			return						json_send(['code'=>'success','msg'=>'编辑成功','action'=>'edit']);
 		}
+		// 获取地址
+		$areaList 						= $School->getAreaList();
+		// 年级
+		$gradeList 						= $School->getGradeList();
+		// 班级
+		$classList 						= $School->getClassList();
+		// 学校
+		$schoolList 					= $School->query()->where([['area','=',request('contact_area',$oldData['contact_area'])]])->get(['id','name'])->toArray();
 		// 分配数据
 		$this->assign('oldData',$oldData);
+		$this->assign('areaList',$areaList);
+		$this->assign('gradeList',$gradeList);
+		$this->assign('classList',$classList);
+		$this->assign('schoolList',$schoolList);
 		$this->assign('crumbs','修改地址');
 		// 加载模板
 		return						$this->fetch();
 	}
+
+	/**
+	 * 设置订单地址
+	 */
+	public function get_school(OrdersAddr $OrdersAddr,School $School){
+		// 接收参数
+		$orderId						= request('order_id',0); 
+		// 获取数据
+		$oldData						= $OrdersAddr->getOneByOrderId($orderId);
+		// 接收参数
+		$contactArea					= request('contact_area',''); 
+		// 学校
+		$schoolList 					= $School->query()->where([['area','=',$contactArea]])->get(['id','name'])->toArray();
+		// 分配数据
+		$this->assign('oldData',$oldData);
+		$this->assign('schoolList',$schoolList);
+		// 加载模板
+		return						$this->fetch();
+	}
+
+
 }

+ 1 - 0
app/Http/Middleware/AdminAuth.php

@@ -22,6 +22,7 @@ class AdminAuth
                                 'admin/image_manager/folder',       // 获取sku
                                 'admin/image_manager/delete',       // 获取sku
                                 'admin/ueditor/upload',             // 获取sku
+                                'admin/orders/get_school'
                             ];
     //默认配置
     protected   $_config    = [

+ 3 - 0
resources/views/admin/orders/get_school.blade.php

@@ -0,0 +1,3 @@
+@foreach ($schoolList as $school)
+	<option value="{{$school['name']}}" @if( $oldData['contact_school'] == $school['name'] ) selected @endif >{{$school['name']}}</option>
+@endforeach

+ 42 - 5
resources/views/admin/orders/set_addr.blade.php

@@ -6,19 +6,35 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 <form class="post-form" action="" method="post">
 	<div class="form-group col-sm-12">
 		<label class="control-label">区域</label>
-		<input class="form-control" required="required" type="text" placeholder="区域" maxlength="45" name="contact_area" value="{{$oldData['contact_area']}}" />
+		<select name="contact_area" required="required" class="form-control" id="contact_area">
+			@foreach ($areaList as $name)
+			<option value="{{$name}}" @if( request('contact_area',$oldData['contact_area']) == $name ) selected @endif >{{$name}}</option>
+			@endforeach
+		</select>
 	</div>
-	<div class="form-group col-sm-2">
+	<div class="form-group col-sm-12">
 		<label class="control-label">学校</label>
-		<input class="form-control" required="required" type="text" placeholder="学校" maxlength="45" name="contact_school" value="{{$oldData['contact_school']}}" />
+		<select name="contact_school" id="contact_school" class="form-control selectpicker" data-live-search="true" data-live-search-placeholder="搜索学校" data-none-results-text="未搜索到 {0}" title="选择学校">
+			@foreach ($schoolList as $school)
+				<option value="{{$school['name']}}" @if( $oldData['contact_school'] == $school['name'] ) selected @endif >{{$school['name']}}</option>
+			@endforeach
+		</select>
 	</div>
 	<div class="form-group col-sm-12">
 		<label class="control-label">年级</label>
-		<input class="form-control" required="required" type="text" placeholder="年级" maxlength="20" name="contact_grade" value="{{$oldData['contact_grade']}}" />
+		<select name="contact_grade" required="required" class="form-control">
+			@foreach ($gradeList as $name)
+			<option value="{{$name}}" @if( $oldData['contact_grade'] == $name ) selected @endif >{{$name}}</option>
+			@endforeach
+		</select>
 	</div>
 	<div class="form-group col-sm-12">
 		<label class="control-label">班级</label>
-		<input class="form-control" required="required" type="text" placeholder="班级" maxlength="20" name="contact_class" value="{{$oldData['contact_class']}}" />
+		<select name="contact_class" required="required" class="form-control">
+			@foreach ($classList as $name)
+			<option value="{{$name}}" @if( $oldData['contact_class'] == $name ) selected @endif >{{$name}}</option>
+			@endforeach
+		</select>
 	</div>
 	<div class="form-group col-sm-12">
 		<label class="control-label">学生</label>
@@ -35,4 +51,25 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 		<input id="send" type="submit" value="提交" class="btn btn-primary btn-block" />
 	</div>
 </form>
+@endsection
+@section('javascript')
+<script type="text/javascript">
+// 获取节点
+$(function(){
+
+	$('#contact_area').change(function(){
+		var contact_area	= $(this).val();
+		var order_id		= "{{$oldData['order_id']}}";
+		var url 			= "{{url('admin/orders/get_school')}}";
+
+		$.get(url,{contact_area:contact_area,order_id:order_id},function(data){
+			console.log(data);
+			$('#contact_school').html(data);
+			$('.selectpicker').selectpicker('render');
+			$('.selectpicker').selectpicker('refresh');
+		})
+		
+	})
+})
+</script>
 @endsection

+ 2 - 1
routes/web.php

@@ -195,7 +195,8 @@ Route::middleware('admin')->prefix('admin')->group(function(){
     Route::any('orders/refund',[App\Http\Controllers\Admin\Orders::class,'refund']);
     // 修改地址
     Route::any('orders/set_addr',[App\Http\Controllers\Admin\Orders::class,'set_addr']);
-    
+    // 修改地址
+    Route::any('orders/get_school',[App\Http\Controllers\Admin\Orders::class,'get_school']);
 
     /* 订单物流-发货 */
     // 列表