wesley.chen 7 년 전
부모
커밋
f1da9e7821

+ 1 - 1
app/Helper/functions.inc.php

xqd
@@ -543,7 +543,7 @@ function editor() {
     <script type="text/javascript">
         var ue = UE.getEditor('container',{
              toolbars: [
-          ["fullscreen","source","autotypeset","bold", "italic","underline","forecolor", "paragraph","fontfamily","fontsize","indent","justifyleft", "justifycenter","justifyright","justifyjustify","link","unlink","insertimage","insertcode"
+          ["fullscreen","source","autotypeset","bold", "italic","underline","forecolor", "paragraph","fontfamily","fontsize","indent","justifyleft", "justifycenter","justifyright","justifyjustify","link","unlink","simpleupload","insertimage","insertcode"
           ]],
            autoHeightEnabled: true,
            autoFloatEnabled: true,

+ 72 - 1
app/Http/Controllers/Admin/Order/InfoController.php

xqd xqd xqd xqd
@@ -13,6 +13,7 @@ use App\Http\Controllers\Admin\Controller;
 use App\Models\OrderInfoModel;
 use App\Models\RefundInfoModel;
 use App\Models\SettingInfoModel;
+use App\Services\Base\Attachment;
 use Carbon\Carbon;
 use EasyWeChat\Factory;
 use Illuminate\Http\Request;
@@ -147,7 +148,10 @@ class InfoController extends Controller
     public function view(Request $request)
     {
         $data = $this->repository->find(request('id'));
-        return view('admin.order.info.view', compact('data'));
+
+        if($data->photo) $photo = explode(',',$data->photo);
+
+        return view('admin.order.info.view', compact('data','photo'));
     }
 
 
@@ -179,6 +183,61 @@ class InfoController extends Controller
         }
     }
 
+    public function upload(Request $request){
+        if ($request->method() == 'POST') {
+            return $this->_uploadSave();
+        }
+
+        $order = OrderInfoModel::find(request('id'));
+
+        if($order->photo) $photo = explode(',',$order->photo);
+
+        return view('admin.order.info.upload',compact('photo'));
+    }
+
+    public function _uploadSave(){
+
+        $array_photo = (array)request('photo');
+
+        if ($array_photo && isset($array_photo['url'])) {
+            $data['photo'] = '';
+            foreach ($array_photo['url'] as $item) {
+                if (substr($item, 0, 7) == 'http://' || substr($item, 0, 8) == 'https://') {
+                    $data['photo'] .= $item . ',';
+                } else {
+                    $data['photo'] .= env('APP_URL', '') . $item . ',';
+                }
+            }
+
+            if ($data['photo']) $data['photo'] = rtrim($data['photo'], ',');
+        }else{
+            $data['photo'] = '';
+        }
+        $order = OrderInfoModel::find(request('id'));
+
+        $ok = $this->repository->update(request('id'), $data);
+
+        if ($ok) {
+            //操作成功,删除原来的图片
+            if ($order && $order->photo) {
+                $photos = explode(',', $order->photo);
+                foreach ($photos as $photo) {
+                    if (!in_array($photo, $array_photo['url'])) {
+                        $md5 = $this->getarea($photo);
+                        $attache = new Attachment();
+                        $attache->deleteAttachment($md5);
+                    }
+                }
+            }
+
+            return $this->showMessage('操作成功');
+        } else {
+
+            return $this->showWarning('操作失败');
+        }
+
+    }
+
     /***
      * 退款
      */
@@ -246,4 +305,16 @@ class InfoController extends Controller
     {
 
     }
+
+    /*
+* 获取md5码
+*/
+    public function getarea($str)
+    {
+        $start = strripos($str, '/');
+        $first = substr($str, $start + 1);
+        $end = strripos($first, '.');
+        $last = substr($first, 0, $end);
+        return $last;
+    }
 }

+ 62 - 0
app/Widget/Tools/ImgUpload.php

xqd
@@ -185,6 +185,68 @@ EOF;
 
     }
 
+    public function multi2($folder, $id, $name="data[image]", $imgs=[], $option=[]){
+        $folder = urlencode($folder);
+
+        $imgHtml =  "";
+        $option['callback'] = isset($option['callback']) ? $option['callback'] : "";
+        $option['max'] = isset($option['max']) ? $option['max'] : 200;
+        $option['max'] = $option['max']-count($imgs);
+        $option['watermark'] = isset($option['watermark']) ? $option['watermark'] : "";
+        $option['sizex'] = isset($option['sizex']) ? $option['sizex'] : "";
+        $option['sizey'] = isset($option['sizey']) ? $option['sizey'] : "";
+        $class = isset($option['class']) ? $option['class'] : "";
+        if(!$option['callback'] && !empty($imgs)) {
+            foreach($imgs as $key=>$val) {
+                if(is_string($val)) {
+                    $img['url'] = $val;
+                    $img['alt'] = '';
+                }else{
+                    $img = $val;
+                }
+                $iconImage = in_array(fileExt($img['url']), ['jpg', 'png' , 'gif' , 'jpeg' , 'bmp']) ? " <div class='image'><img src=\"{$img['url']}\" alt= /></div>" : "<div class='icon'><i class='fa fa-file'></i></div>";
+
+                $imgHtml .="<li >
+                        <div class=\"file\">
+                            <span class=\"corner\"></span>
+                            {$iconImage}
+                            <div class=\"file-name\">
+                                <p>{$img['alt']}</p>
+                                <small></small>
+                            </div>
+                        </div>
+                        <em class=\"close\" onclick=\"$(this).parent().remove()\" >×</em>
+                        <input type=\"hidden\" name=\"{$name}[alt][]\" value=\"{$img['alt']}\">           
+                        <input type=\"hidden\" name=\"{$name}[url][]\" value=\"{$img['url']}\">
+                        </li>";
+            }
+        }
+
+        $html = <<<EOF
+           <script type="text/javascript" src="/base/plugins/imguploader/uploader.js"></script>
+            <div class="layout_upload">
+                <ul class="ullit">
+                                    $imgHtml
+
+                    <li>
+                        <a class="layout_upload_but" id="$id">&nbsp;</a>
+                    </li>
+                    <div class="ov_h"></div>
+                </ul>
+            </div>
+            <script type="text/javascript">
+  
+            new upload({
+                UploaderPick:"#$id",
+                UploaderMax:{$option['max']},
+                UploaderServer:"/admin/Base/Attachment/webupload?elementid=&watermark={$option['watermark']}&sizex={$option['sizex']}&sizey={$option['sizey']}&folder=$folder&class=$class&_time=" + Math.random(),
+                UploadHiddenField:"$name"
+            });
+        </script>
+EOF;
+        return $html;
+    }
+
     /**
      * 统一上传
      * @param $text         按钮文字

+ 32 - 0
database/migrations/2018_07_24_053847_add_photo_to_order_info_table.php

xqd
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddPhotoToOrderInfoTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('order_info', function (Blueprint $table) {
+            $table->string('photo',255)->after('comment')->nullable()->comment('照片');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('order_info', function (Blueprint $table) {
+            //
+        });
+    }
+}

+ 2 - 1
public/base/plugins/imguploader/uploader.js

xqd
@@ -275,7 +275,8 @@ upload.prototype.upLoader=function(){
 
         }else{
             //ruid.find("li[data-uploaderId='"+file.id+"'] small").hide();
-            ruid.find("li[data-uploaderId='"+file.id+"'] small").html("保存失败");
+            ruid.find("li[data-uploaderId='"+file.id+"'] small").html("保存失败!");
+            layer.msg(response.message, {icon: 2});
         }        
     });
 

+ 0 - 90
resources/views/admin/order/info/check.blade.php

xqd
@@ -1,90 +0,0 @@
-@extends('admin.layout')
-
-@section('content')
-		<div class="row">
-			<div class="col-sm-12">
-				<div class="ibox float-e-margins">
-					<div class="ibox-title">
-						<h5>订单列表</h5>
-						<div class="ibox-tools">
-							<a class="collapse-link"> <i class="fa fa-chevron-up"></i>
-							</a>
-						</div>
-					</div>
-					<div class="ibox-content">
-						<div class="row">
-							<form method="GET" action="" accept-charset="UTF-8">
-
-								<div class="col-sm-4">
-									<div class="input-group">
-										<input type="text" value="{{Request::get('keyword')}}"	placeholder="请输入关键词" name="keyword"class="input-sm form-control">
-								<span class="input-group-btn">
-									<button type="submit" class="btn btn-sm btn-primary">搜索</button>
-								</span>
-									</div>
-								</div>
-							</form>
-							@if(role('Order/Info/create'))
-								<div class="col-sm-3 pull-right">
-									<a href="{{ U('Order/Info/create')}}" class="btn btn-sm btn-primary pull-right">添加</a>
-								</div>
-							@endif
-						</div>
-
-						<table class="table table-striped table-bordered table-hover dataTables-example dataTable dataCheckTable">
-							<thead>
-							<tr>
-								<th><input class="btSelectAll" name="btSelectAll" type="checkbox"></th>
-								
-            <th class="sorting" data-sort="id"> ID </th>
-            <th class="sorting" data-sort="out_trade_no"> 订单编号 </th>
-            <th class="sorting" data-sort="username"> 用户姓名 </th>
-            <th class="sorting" data-sort="sex"> 性别:0:男;1:女 </th>
-            <th class="sorting" data-sort="phone"> 电话 </th>
-            <th class="sorting" data-sort="email"> 邮箱 </th>
-            <th class="sorting" data-sort="store_id"> 预约店铺 </th>
-								<th width="22%">相关操作</th>
-							</tr>
-							</thead>
-							<tbody>
-							@if(isset($list))
-								@foreach($list as $key => $item)
-									<tr>
-									<td><input data-json='{!! json_encode($item) !!}'  name="btSelectItem" class="data_key" type="checkbox" value="{{ $item->id or 0 }}" /></td>
-									
-            <td>{{ $item->id }}</td>
-            <td>{{ $item->out_trade_no }}</td>
-            <td>{{ $item->username }}</td>
-            <td>{{ $item->sex }}</td>
-            <td>{{ $item->phone }}</td>
-            <td>{{ $item->email }}</td>
-            <td>{{ $item->store_id }}</td>
-									<td>
-										@if(role('Order/Info/view'))
-											<button onclick="layer.open({type: 2,area: ['80%', '90%'],content: '{{ U('Order/Info/view',['id'=>$item->id])}}'});"  class="btn btn-primary ">查看</button>
-										@endif
-									</td>
-								</tr>
-								@endforeach
-							@endif
-
-							</tbody>
-						</table>
-						<div class="row">
-							<div class="col-sm-6">
-								<div class="dataTables_info" id="DataTables_Table_0_info"
-									 role="alert" aria-live="polite" aria-relevant="all">每页{{ $list->count() }}条,共{{ $list->lastPage() }}页,总{{ $list->total() }}条。</div>
-							</div>
-							<div class="col-sm-6">
-								<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
-									{!! $list->setPath('')->appends(Request::all())->render() !!}
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-	@include('admin.tools.check_script');
-
-@endsection

+ 8 - 1
resources/views/admin/order/info/index.blade.php

xqd xqd
@@ -59,7 +59,8 @@
                                     <td>{{ $item->schedule_time }}</td>
                                     <td>{{ $item->status() }}
                                         @if(isset($item->paidinfo->type) && $item->paidinfo->type ==1)
-                                            <span style="color: red">(定金:待付{{$item->paidinfo->order_price - $item->paidinfo->paid_price}}元)</span
+                                            <span style="color: red">(定金:待付{{$item->paidinfo->order_price - $item->paidinfo->paid_price}}
+                                                元)</span
                                             >@endif
                                     </td>
                                     <td>
@@ -69,6 +70,12 @@
                                             </button>
                                         @endif
 
+                                        @if($item->status == 2 && !$item->photo)
+                                            <button onclick="window.location.href='{{ U('Order/Info/upload',['id'=>$item->id])}}'"
+                                                    class="btn btn-success">上传图片
+                                            </button>
+                                        @endif
+
                                         @if($item->status ==3 && !count($item->refundinfo))
                                             <button onclick="window.location.href='{{ U('Order/Info/refund',['id'=>$item->id])}}'"
                                                     class="btn btn-warning">退款

+ 79 - 0
resources/views/admin/order/info/upload.blade.php

xqd
@@ -0,0 +1,79 @@
+@extends('admin.layout')
+
+@section('content')
+
+    <?php
+    if(!isset($data)) $data = array();
+    if(!$data && session("data")){
+        $data = session("data");
+    }
+    if(!$data && session('_old_input')){
+        $data = session("_old_input");
+    }
+    ?>
+    <div class="row">
+        <div class="col-sm-12">
+            <div class="ibox float-e-margins">
+                <div class="ibox-title">
+                    <h5>订单列表</h5>
+                    <div class="ibox-tools">
+                        <a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+                        </a>
+                    </div>
+                </div>
+                <div class="ibox-content">
+                    @if(role('Order/Info/index'))
+                        <div class="row">
+                            <div class="col-sm-3 pull-right">
+                                <a href="{{ U('Order/Info/index')}}" class="btn btn-sm btn-primary pull-right">返回列表</a>
+                            </div>
+                        </div>
+                    @endif
+
+                    <div class="row">
+                        <div class="col-lg-10">
+                            <form name="form_product" id="form-validation" action="" class="form-horizontal form-validation" accept-charset="UTF-8" method="post">
+
+
+                                <div class="form-group">
+
+                                    <label class="control-label col-sm-3">订单编号</label>
+
+                                    <div class="col-sm-9">
+                                        <input id="data_out_trade_no" name="data[out_trade_no]" class="form-control" value="{{ $data['out_trade_no'] or ''}}" disabled placeholder="">
+                                    </div>
+
+                                </div>
+
+                                <div class="form-group">
+
+                                    <label class="control-label col-sm-3">上传图片(小于1M,最多6张)<span
+                                                style="color: red">*</span></label>
+                                    <div class="col-sm-9">
+                                        {!!  widget('Tools.ImgUpload')->multi2('/upload/photo','photo',"photo", isset($photo)? $photo : "",array("max"=>5)) !!}
+                                    </div>
+
+                                </div>
+
+
+                                <div class="form-group">
+                                    <label class="control-label col-sm-3">&nbsp;</label>
+                                    <div class="col-sm-9">
+                                        <input type="hidden" name="_referer" value="<?php echo urlencode(request()->server('HTTP_REFERER'));?>"/>
+                                        <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"/>
+                                        <input type="submit" class="btn btn-success" style="margin-right:20px;">
+                                        <input type="reset" class="btn btn-default" >
+                                    </div>
+                                </div>
+
+                            </form>
+                        </div>
+                        <!-- /.col-lg-10 -->
+                    </div>
+                    <!-- /.row -->
+                </div>
+            </div>
+        </div>
+    </div>
+
+@endsection

+ 102 - 103
resources/views/admin/order/info/view.blade.php

xqd
@@ -1,109 +1,108 @@
 @extends('admin.layout')
 
 @section('content')
-<div class="row">
-    <div class="ibox-content">
-        <div class="list-group">
-                                 
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">ID</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['id'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">订单编号</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['out_trade_no'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">用户姓名</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['username'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">性别:0:男;1:女</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['sex'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">电话</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['phone'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">邮箱</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['email'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">预约店铺</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['store_id'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">预约时间</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['schedule_time'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">订单状态:0:未付款;1:已付款,未完成;2:已完成;3:已取消</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['status'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">用户id</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['user_id'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">备注</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['comment'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading"></h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['deleted_at'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">创建时间</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['created_at'] or ''}}</p>
-                                                 
-               </div>                     
-               <div class="list-group-item">
-                                                  
-                   <h3 class="list-group-item-heading">更新时间</h3>
-                                                   
-                   <p class="list-group-item-text"> {{ $data['updated_at'] or ''}}</p>
-                                                 
-               </div>
+    <div class="row">
+        <div class="ibox-content">
+            <div class="list-group">
+
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">ID</h3>
+
+                    <p class="list-group-item-text"> {{ $data['id'] or ''}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">订单编号</h3>
+
+                    <p class="list-group-item-text"> {{ $data['out_trade_no'] or ''}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">用户姓名</h3>
+
+                    <p class="list-group-item-text"> {{ $data['username'] or ''}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">性别</h3>
+
+                    <p class="list-group-item-text">@if($data['sex'] ==1)女@else男@endif</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">电话</h3>
+
+                    <p class="list-group-item-text"> {{ $data['phone'] or ''}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">邮箱</h3>
+
+                    <p class="list-group-item-text"> {{ $data['email'] or ''}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">预约店铺</h3>
+
+                    <p class="list-group-item-text"> {{ $data->store()}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">预约时间</h3>
+
+                    <p class="list-group-item-text"> {{ $data['schedule_time'] or ''}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">订单状态</h3>
+
+                    <p class="list-group-item-text"> {{ $data->status()}}</p>
+
+                </div>
+
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">照片</h3>
+
+                    @if(isset($photo))
+                        @foreach($photo as $item)
+                            <img src="{{ $item }}" style="height: 80px">
+                        @endforeach
+                    @endif
+                </div>
+
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">备注</h3>
+
+                    <p class="list-group-item-text"> {{ $data['comment'] or ''}}</p>
+
+                </div>
+
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">创建时间</h3>
+
+                    <p class="list-group-item-text"> {{ $data['created_at'] or ''}}</p>
+
+                </div>
+                <div class="list-group-item">
+
+                    <h3 class="list-group-item-heading">更新时间</h3>
+
+                    <p class="list-group-item-text"> {{ $data['updated_at'] or ''}}</p>
+
+                </div>
+            </div>
         </div>
     </div>
-</div>
 @endsection