Browse Source

Merge branch 'liuxiangxin' into jun

jun 3 months ago
parent
commit
3241369b14

+ 43 - 89
app/Http/Controllers/Admin/Orders.php

@@ -13,11 +13,6 @@ use App\Models\OrdersAddr;
 use App\Models\OrdersProduct;
 use Illuminate\Support\Facades\DB;
 use Kra8\Snowflake\Snowflake;
-use PhpOffice\PhpSpreadsheet\Cell\DataType;
-use PhpOffice\PhpSpreadsheet\IOFactory;
-use PhpOffice\PhpSpreadsheet\Spreadsheet;
-use PhpOffice\PhpSpreadsheet\Style\Alignment;
-use PhpOffice\PhpSpreadsheet\Style\Fill;
 use Intervention\Image\Facades\Image;
 use Intervention\Image\Gd\Font;
 use App\Servers\WechatPay\Payment;
@@ -43,7 +38,7 @@ class Orders extends Auth{
     public function index(Model $Model,OrdersProduct $OrdersProduct,Product $Product,Custom $Custom){
 		// 接受参数
 		$code					= request('order_code','');
-		$snowflake_id					= request('snowflake_id','');
+		$snowflake_id			= request('snowflake_id','');
 		$orders_other			= request('orders_other',0);
 		$productCode			= request('product_code','');
 		$phone					= request('phone','');
@@ -67,8 +62,6 @@ class Orders extends Auth{
 		// 编码ID
 		if( $orders_other )		$map[] = $orders_other == 1 ? ['orders_product.product_id','>',0] : ['orders_product.product_id','=',0];
 		if( $uid )				$map[] = ['custom.uid','=',$uid];
-		/*if( $productId )		$map[] = ['orders_product.product_id','=',$productId];
-		if( $productName )		$map[] = ['orders_product.product_name','LIKE','%'.$productName.'%'];*/
 		if( $phone )			$map[] = ['orders_addr.contact_phone','=',$phone];
 		if( $contact_area )		$map[] = ['orders_addr.contact_area','LIKE','%'.$contact_area.'%'];
 		if( $contact_school )	$map[] = ['orders_addr.contact_school','LIKE','%'.$contact_school.'%'];
@@ -78,27 +71,16 @@ class Orders extends Auth{
 		if( $endTime )			$map[] = ['orders.insert_time','<=',strtotime($endTime)];
 		if( $status )			$map[] = ['orders.status','=',$status];
 		// 查询数据
-		/*$list					= $OrdersProduct->query()
-									->join('custom','orders_product.custom_uid','=','custom.uid')
-									->join('orders_addr','orders_addr.order_id','=','orders_product.order_id')
-									->leftJoin('orders','orders.id','=','orders_product.order_id')
-									->where($map)
-									->orderByDesc('id')
-									->select([
-										'orders_product.*','custom.username as custom_name','orders.regiment_id as regiment_id',
-										'orders_addr.contact_area','orders_addr.contact_school','orders_addr.contact_grade','orders_addr.contact_class','orders_addr.contact_name','orders_addr.contact_phone',
-									])
-									->paginate(request('limit',config('page_num',10)))->appends(request()->all());*/
         $list					= $Model->query()
-            ->join('custom','orders.custom_uid','=','custom.uid')
-            ->join('orders_addr','orders_addr.order_id','=','orders.id')
-            ->where($map)
-            ->orderByDesc('id')
-            ->select(['orders.id as order_id',
-                'orders.*','custom.username as custom_name','orders.regiment_id as regiment_id',
-                'orders_addr.contact_area','orders_addr.contact_school','orders_addr.contact_grade','orders_addr.contact_class','orders_addr.contact_name','orders_addr.contact_phone',
-            ])
-            ->paginate(request('limit',config('page_num',10)))->appends(request()->all());
+								->join('custom','orders.custom_uid','=','custom.uid')
+								->join('orders_addr','orders_addr.order_id','=','orders.id')
+								->where($map)
+								->orderByDesc('id')
+								->select(['orders.id as order_id',
+									'orders.*','custom.username as custom_name','orders.regiment_id as regiment_id',
+									'orders_addr.contact_area','orders_addr.contact_school','orders_addr.contact_grade','orders_addr.contact_class','orders_addr.contact_name','orders_addr.contact_phone',
+								])
+								->paginate(request('limit',config('page_num',10)))->appends(request()->all());
 		// 循环处理数据
 		foreach ($list as $key => $value) {
 			// id转编号
@@ -534,7 +516,7 @@ class Orders extends Auth{
 				'企微ID',
                 '下单时间',
             ];
-            $filePath = $excel->fileName('tutorial01.xlsx', 'sheet1')
+            $filePath = $excel->fileName(uniqid().'.xlsx', 'sheet1')
                 ->header($header)
                 ->data($data)
                 ->output();
@@ -558,66 +540,6 @@ class Orders extends Auth{
         }
 	}
 
-	/**
-	 * 设置表格样式
-	 * 
-	 */
-	private function setStyle(Spreadsheet $spreadsheet){
-		// 选择当前活动的工作表
-		$sheet					= $spreadsheet->getActiveSheet();
-		// 宽
-		$sheet->getColumnDimension('A')->setWidth(15);
-		$sheet->getColumnDimension('B')->setWidth(15);
-		$sheet->getColumnDimension('C')->setWidth(15);
-		$sheet->getColumnDimension('D')->setWidth(15);
-		$sheet->getColumnDimension('E')->setWidth(15);
-		$sheet->getColumnDimension('F')->setWidth(15);
-		$sheet->getColumnDimension('G')->setWidth(15);
-		$sheet->getColumnDimension('H')->setWidth(15);
-		$sheet->getColumnDimension('I')->setWidth(15);
-		$sheet->getColumnDimension('J')->setWidth(50);
-		$sheet->getColumnDimension('K')->setWidth(20);
-		$sheet->getColumnDimension('L')->setWidth(80);
-		$sheet->getColumnDimension('M')->setWidth(80);
-		$sheet->getColumnDimension('N')->setWidth(10);
-		$sheet->getColumnDimension('O')->setWidth(10);
-		$sheet->getColumnDimension('P')->setWidth(10);
-		$sheet->getColumnDimension('Q')->setWidth(10);
-		$sheet->getColumnDimension('R')->setWidth(10);
-		$sheet->getColumnDimension('S')->setWidth(50);
-		$sheet->getColumnDimension('T')->setWidth(20);
-		// 默认高度
-		$sheet->getDefaultRowDimension()->setRowHeight(18);
-		// 加粗第一行
-		$sheet->getStyle('A:T')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER)->setVertical(Alignment::VERTICAL_CENTER);
-		$sheet->getStyle('A1:T1')->getFont()->setBold(true);
-		$sheet->getStyle('A1:T1')->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FF00FF00'); // ARGB颜色代码,例如绿色
-		// 设置表格标题
-		$sheet
-		->setCellValue('A1', '订单ID')
-		->setCellValue('B1', '客户ID')
-		->setCellValue('C1', '客户昵称')
-		->setCellValue('D1', '订单状态')
-		->setCellValue('E1', '收货人')
-		->setCellValue('F1', '收货人手机号')
-		->setCellValue('G1', '区域')
-		->setCellValue('H1', '学校')
-		->setCellValue('I1', '年级')
-		->setCellValue('J1', '班级')
-		->setCellValue('K1', '产品编码')
-		->setCellValue('L1', '产品名称')
-		->setCellValue('M1', '产品规格')
-		->setCellValue('N1', '产品单价')
-		->setCellValue('O1', '折后单价')
-		->setCellValue('P1', '产品数量')
-		->setCellValue('Q1', '优惠金额')
-		->setCellValue('R1', '产品金额')
-		->setCellValue('S1', '企微ID')
-		->setCellValue('T1', '下单时间');
-		// 返回结果
-		return 					$sheet;
-	}
-
 	/**
 	 * 分享图片
 	 * 
@@ -680,4 +602,36 @@ class Orders extends Auth{
 		}
 	}
 
+	/**
+	 * 设置订单地址
+	 */
+	public function set_addr(Request $request,OrdersAddr $OrdersAddr){
+		// 接收参数
+		$orderId						= request('order_id',''); 
+		// 获取数据
+		$oldData						= $OrdersAddr->getOneByOrderId($orderId);
+		// 修改
+		if( request()->isMethod('post') ){
+			// 验证参数
+			$request->scene('set_addr')->validate();
+			// 接收数据
+			$data['contact_area']		= request('contact_area','');
+			$data['contact_school']		= request('contact_school','');
+			$data['contact_grade']		= request('contact_grade','');
+			$data['contact_class']		= request('contact_class','');
+			$data['contact_name']		= request('contact_name','');
+			$data['contact_phone']		= request('contact_phone','');
+			// 写入数据表
+			$id							= $OrdersAddr->edit($orderId,$data);
+			// 如果操作失败
+			if( !$id ) 					return json_send(['code'=>'error','msg'=>'编辑失败']);
+			// 告知结果
+			return						json_send(['code'=>'success','msg'=>'编辑成功','action'=>'edit']);
+		}
+		// 分配数据
+		$this->assign('oldData',$oldData);
+		$this->assign('crumbs','修改地址');
+		// 加载模板
+		return						$this->fetch();
+	}
 }

+ 0 - 1
app/Http/Controllers/Api/Orders.php

@@ -1008,7 +1008,6 @@ class Orders extends Api{
 		// 处理缩略图
 		foreach ($order['order_items'] as $key => $value) {
 			$value['product_thumb']	= $value['product_thumb'] ? path_compat($value['product_thumb'])  : '';
-			$value['snowflake_id']	= (string)$value['snowflake_id'];
 			$order['order_items'][$key] = $value;
 		}
 		// 地址

+ 3 - 1
app/Http/Requests/Admin/Orders.php

@@ -22,7 +22,8 @@ class Orders extends BaseRequest
             'id'            => 'required|integer|gt:0',
             'product_code'  => 'required|size:13',
             'status'        => 'required|integer|gte:0',
-            'order_file'    => 'required|file'
+            'order_file'    => 'required|file',
+            ''
         ];
     }
 
@@ -34,6 +35,7 @@ class Orders extends BaseRequest
         'import_execl'          => ['order_file'],
         'import_execl_status'   => ['order_file'],
         'refund'                => ['id'],
+        'set_addr'              => [],
 	];
 
     /**

+ 26 - 0
app/Models/OrdersAddr.php

@@ -47,4 +47,30 @@ class OrdersAddr extends Model
         return                              $result;
     }
 
+    /**
+     * 添加数据
+     * 
+     * @param int   $orderId    订单ID
+     * @param array $data       数据
+     */
+    public function editByOrderId($orderId,$data)
+    {
+        // 更新时间
+        $data['update_time']                = time();
+        // 写入数据表
+        $result						        = $this->query()->where([['order_id','=',$orderId]])->update($data);
+        // 返回结果
+        return                              $result;
+    }
+
+    /**
+     * 查询数据
+     * 
+     */
+    public function getOneByOrderId($orderId){
+        // 写入数据表
+        $result						        = $this->query()->where([['order_id','=',$orderId]])->first();
+        // 返回结果
+        return                              $result;
+    }
 }

+ 1 - 0
app/Models/Traits/School/Area.php

@@ -25,6 +25,7 @@ trait Area
                                 '10'=>'大鹏新区',
                                 '11'=>'市直属中小学',
                                 '12'=>'其他',
+                                '13'=>'深汕'
                             ];
 
     /**

+ 5 - 0
resources/views/admin/orders/index.blade.php

@@ -132,6 +132,11 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 								取消
 							</a>
 							@endif
+							@if( check_auth('admin/orders/set_addr') )
+								<a class="btn btn-sm btn-primary" href="{{url('admin/orders/set_addr?'.http_build_query(['order_id'=>$a['order_id']]))}}" title="修改地址">
+									修改地址
+								</a>
+							@endif
 							@if( $a['status'] == 2 && check_auth('admin/orders/refund') )
 								<a class="delete btn btn-sm btn-danger " data-url="{{url('admin/orders/refund?'.http_build_query(['id'=>$a['order_id']]))}}" title="退款">
 									退款

+ 38 - 0
resources/views/admin/orders/set_addr.blade.php

@@ -0,0 +1,38 @@
+@extends('admin.public.base')
+@section('body_class')
+style="margin: 0 auto;width: 96%;padding: 30px 0px;"
+@endsection
+@section('content')
+<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']}}" />
+	</div>
+	<div class="form-group col-sm-2">
+		<label class="control-label">学校</label>
+		<input class="form-control" required="required" type="text" placeholder="学校" maxlength="45" name="contact_school" value="{{$oldData['contact_school']}}" />
+	</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']}}" />
+	</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']}}" />
+	</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_name" value="{{$oldData['contact_name']}}" />
+	</div>
+	<div class="form-group col-sm-12">
+		<label class="control-label">手机</label>
+		<input class="form-control" required="required" type="text" placeholder="手机" maxlength="11" name="contact_phone" value="{{$oldData['contact_phone']}}" />
+	</div>
+	<div class="form-group col-sm-12">
+		@csrf
+		<input type="hidden" name="order_id" value="{{$oldData['order_id']}}" />
+		<input type="hidden" name="id" value="{{$oldData['id']}}" />
+		<input id="send" type="submit" value="提交" class="btn btn-primary btn-block" />
+	</div>
+</form>
+@endsection

+ 3 - 0
routes/web.php

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