Ver código fonte

Merge branch 'master' of http://git.9026.com/richod/dcj

zhjx 6 anos atrás
pai
commit
6b7380dd1c

+ 91 - 2
app/Http/Controllers/Admin/Medical/OrderController.php

xqd xqd
@@ -14,9 +14,22 @@ use App\Repositories\Base\Criteria\OrderBy;
 use App\Repositories\Medical\Criteria\MultiWhere;
 use App\Repositories\Medical\OrderRepository;
 use Maatwebsite\Excel\Facades\Excel;
+use Auth, Validator;
+use Illuminate\Support\Facades\Cache;
+use Carbon\Carbon;
+use GuzzleHttp\Client as GuzzleHttpClient;
+use GuzzleHttp\Exception\RequestException;
 
 class OrderController extends Controller
 {
+
+    public $keySmsCodeExist = 'keySmsCodeExist';
+
+    public $expireTimeExist = '';
+
+    public $keySmsCode = 'keySmsCode';
+
+    public $expireTime = '';
     private $repository;
 
     public function __construct(OrderRepository $repository) {
@@ -139,11 +152,87 @@ class OrderController extends Controller
     public function upload(Request $request)
     {
         if($request->method() == 'POST') {
-            $data = $request->input();
-            dd($data);
+            $data = $request->all();
+            $file=$request->file('pdf');
+            if ( $file->isValid()) { //判断文件是否有效
+                //$filename = $file->getClientOriginalName(); //文件原名称
+                $extension = $file->getClientOriginalExtension(); //扩展名
+                $filename = time() . "." . $extension;    //重命名
+              //  echo public_path().'\upload\pdf';die;
+                $res =$file->move(public_path().'/upload/pdf', $filename); //移动至指定目录
+                if($res){
+                    $url = '/upload/pdf/'.$filename;
+                    $update['pdf'] = $this->formatUrl($url);
+                    $res = MedicalOrderModel::where('id',$data['id'])->update($update);
+                    $check = MedicalOrderModel::find($data['id']);
+                    $this->getCode($check->mobile);
+                    return $this->showMessage('操作成功');
+                }else{
+                    return $this->showWarning('操作失败');
+                }
+            }
+
+
         }
     }
 
+
+    public function getCode($phone)
+    {
+
+
+        $ipkeyexist = $this->keySmsCodeExist . $_SERVER["REMOTE_ADDR"] . Carbon::now()->toDateString();
+
+        $times = Cache::store('file')->get($ipkeyexist);
+
+
+        $keyexist = $this->keySmsCodeExist . $phone . Carbon::now()->toDateString();;
+        $times = Cache::store('file')->get($keyexist);
+
+
+        $verify_code = (string)mt_rand(1000, 9999);
+        $key = $this->keySmsCode . $phone;
+        Cache::store('file')->put($key, $verify_code, 6000);
+        $msg = '【精准医疗】您的资料已处理';
+
+        $result = $this->sendSms($msg, $phone);
+        dd($result);
+//        \Log::info($msg . " res:" . $result);
+    }
+    public function sendSms($msg, $mobile) {
+        $url = "http://api.106txt.com/smsGBK.aspx?";
+        $account = "swufecredit2017";
+        $password = "mask751002";
+        $password = strtoupper(md5($password));
+        $gwid = 53;
+        $message = iconv("UTF-8", "GB2312", $msg);
+
+        try {
+            $client = new GuzzleHttpClient();
+            $data = [
+                'action'      => 'Send',
+                'username'        => $account,
+                'password'       => $password,
+                'gwid'      => $gwid,
+                'mobile'    => $mobile,
+                'message'       => $message,
+            ];
+            $apiRequest = $client->post($url, [
+                'form_params'      => $data,
+            ]);
+            $resp = $apiRequest->getBody()->getContents();
+            $res = iconv("GB2312", "UTF-8", $resp);
+            $re = json_decode($res, true);
+            \Log::info("发送短信 到手机:$mobile 内容:$msg RESULT:".$re['RESULT']);
+            if (trim($re['CODE']) == '1') {
+                return true;
+            }
+        } catch (RequestException $re) {
+            \Log::info("发送短信错误:".$re->getMessage());
+            return false;
+        }
+        return false;
+    }
     /**
      * 保存修改
      */

+ 25 - 13
app/Http/Controllers/Web/OrderController.php

xqd xqd xqd xqd xqd xqd
@@ -37,13 +37,13 @@ class OrderController extends Controller
             $data = $request->input();
             $key = $this->keySmsCode . $data['mobile'];
             $code = Cache::store('file')->get($key);
-            if ($code !== $data['verify']) {
+           /* if ($code !== $data['verify']) {
                 $res['state'] = 0;
                 $res['err'] = '验证码错误!';
                 return $this->api($res);
-            }
+            }*/
             $check = MedicalOrderModel::where('mobile',$data['mobile'])->first();
-           
+
             if($check&&!empty($check->pdf)){
                 $res['state'] = 2;
                 $res['err'] = '您已提交';
@@ -56,7 +56,7 @@ class OrderController extends Controller
             }elseif(!$check){
                 $res['state'] = 1;
                 $res['err'] = '请您先填写基本资料';
-                $res['redirect_url'] = url('web/Index/sms');
+                $res['redirect_url'] = url('web/Index/sms').'?mob='.$data['mobile'];
             }
             return $this->api($res);
         }else{
@@ -76,7 +76,8 @@ class OrderController extends Controller
 
         if($request->method() == 'POST') {
             $data = $request->input();
-            $style = explode($data['sample_type'],',');
+
+            $style = explode(',',$data['sample_type']);
             $str = '';
             foreach ($style as $key=>$val){
                 if($val==1){
@@ -89,6 +90,7 @@ class OrderController extends Controller
                     $str.= '宫颈刷';
                 }
             }
+            //dd($style);
             $data['sample_type'] = $str;
             foreach ($data as $key=>$val){
                 if(empty($val)&&$key!='sample_type'&&$key!='sex'){
@@ -108,24 +110,33 @@ class OrderController extends Controller
                 $res['err'] ='网络错误';
             }
 
-           // dd($res);
+          //  dd($res);
             return $this->api($res);
         }else{
-            return view('web.order.index');
+            $mobile = $request->input();
+
+            return view('web.order.index',compact('mobile'));
         }
     }
     public function post(Request $request){
         if($request->method() == 'POST'){
             $data = $request->input();
-            foreach ($data['tcan'] as $key_all=>$val_all){
-                $tcan[] = MedicalComboModel::find($val_all);
+            if(!empty($data['tcan'])){
+                foreach ($data['tcan'] as $key_all=>$val_all){
+                    $tcan[] = MedicalComboModel::find($val_all);
+                }
+                $Update['combo'] = serialize($tcan);
             }
-            foreach ($data['xiangmu'] as $key_single=>$val_single){
-                $single[] = MedicalSingleProjectModel::find($val_single);
+
+            if(!empty($data['xiangmu'])){
+                foreach ($data['xiangmu'] as $key_single=>$val_single){
+                    $single[] = MedicalSingleProjectModel::find($val_single);
+                }
+                $Update['single'] = serialize($single);
             }
 
-            $Update['combo'] = serialize($tcan);
-            $Update['single'] = serialize($single);
+
+
             $Update['total_price'] = $data['total_price'];
             $res = MedicalOrderModel::where('id',$data['id'])->update($Update);
             if($res){
@@ -133,6 +144,7 @@ class OrderController extends Controller
             }else{
                 $q['msg'] = '提交失败';
             }
+           // dd($q);
             return view('web.order.complete',compact('q'));
         }
         $id = $request->get('id');

+ 7 - 22
app/Widget/Tools/FileUpload.php

xqd xqd
@@ -140,10 +140,10 @@ EOF;
         $html = <<<EOF
          <link href="/base/webuploader/webuploader.css" rel="stylesheet">
                         <script src="/base/webuploader/webuploader.min.js"></script>
-                        
-                        <input type="hidden" class="form-control input-uploadfile" id="{$id_order}" value="{$file}" name="{$name}" placeholder="{$option['placeholder']}" readonly>
+                        <div id="{$id_order}">
+                        <input type="hidden" class="form-control input-uploadfile" id="pdfUpload" value="{$file}" name="{$name}" placeholder="{$option['placeholder']}" readonly>
                             <button id="{$id}" class="btn btn-primary {$option['button_class']}">上传</button>
-                           
+                         </div> 
           
             <script type="text/javascript">
                 function webUpload{$id}() {
@@ -202,25 +202,10 @@ EOF;
                             layer.msg(response.message, {icon: 2});
                             $(uploaderthis).parent().parent().find(".webuploader-pick").html('上传失败');
                         }
-                        $.ajax({
-                            url:"upload",
-                            traditional:true,
-                            headers: {
-                                'X-CSRF-TOKEN': "{$token}"
-                            },
-                            type:'POST',
-                            data:{
-                                url:$('#{$id_order}').val(),
-                                id:{$id_order}
-                            },
-                            success:function (msg) {
-                                if(msg.state ==0){
-                                    alert("上传失败!")
-                                } else if(msg.state ==1){
-                                    alert('上传成功');
-                                }
-                            }
-                        });
+                        
+                        var token = "<?php echo csrf_token(); ?>";
+                        alert(token);
+                       
                     });
                     
                     

+ 63 - 4
resources/views/admin/medical/order/index.blade.php

xqd xqd xqd
@@ -1,7 +1,7 @@
 @extends('admin.layout') 
 
 @section('content')
-	<div class="row">
+	<div class="row" style="z-index: 1000">
 		<div class="col-sm-12">
 			<div class="ibox float-e-margins">
 				<div class="ibox-title">
@@ -82,15 +82,14 @@
 											<li class="divider"></li>
 											<li><a href="{{ U('Medical/Order/destroy',['id'=>$item->id])}}" onclick="return confirm('你确定执行删除操作?');">删除</a></li>
 											@endif
-
+                                                <li class="divider"></li>
+                                                <li><a href="javascript:open({{$item->id}});">上传</a></li>
 										</ul>
 									</div>
 								@if(role('Medical/Order/view'))
 										<button onclick="layer.open({type: 2,area: ['80%', '90%'],content: '{{ U('Medical/Order/view',['id'=>$item->id])}}'});"  class="btn btn-primary ">查看</button>
 									@endif
-
 										{{--{!!  widget('Tools.FileUpload')->singles('/upload/pdf','pdf'.$item->id,"data[pdf]",'',$item->id,'{{ csrf_token() }}') !!}--}}
-
 								</td>
 							</tr>
 							@endforeach
@@ -112,5 +111,65 @@
 				</div>
 			</div>
 		</div>
+
+
 	</div>
+    <div id="modelss" style="width: 100%; height: 100%; background:rgba(0,0,0,0.6); z-index: 10;position: fixed;top:0;display: none">
+        <div class="inmodal" id="myModal2" tabindex="1" role="dialog" aria-hidden="true">
+            <div class="modal-dialog">
+                <div class="modal-content animated flipInY">
+                    <div class="modal-header">
+                        <button type="button" class="close" onclick="javascript:
+                                        $('#modelss').css('display','none');"><span >×</span><span class="sr-only">Close</span></button>
+                        <h4 class="modal-title">上传pdf</h4></div><small class="font-bold">
+                        <div class="modal-body">
+                            <div class="ibox float-e-margins">
+                                <div class="ibox-content">
+
+                                    <form name="form_product" id="form-validation" action="upload" class="form-horizontal form-validation" enctype="multipart/form-data" accept-charset="UTF-8" method="post">
+                                        {{ csrf_field() }}
+                                        <div class="form-group">
+                                            <label class="control-label col-sm-3">pdf</label>
+
+                                            <div class="col-sm-9">
+                                                <input type="file" name="pdf" id="pdf" class="form-control">
+                                            </div>
+                                        </div>
+
+
+
+
+                                        <div class="form-group">
+                                            <label class="control-label col-sm-3">&nbsp;</label>
+                                            <div class="col-sm-9">
+                                                <input type="hidden" class="update_id" name="id" value="">
+                                                <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>
+                            </div>
+                        </div>
+                        <div class="modal-footer">
+                            <button type="button" id="close" class="btn btn-white" onclick="javascript:
+                                        $('#modelss').css('display','none');">关闭</button>
+                        </div>
+                    </small></div><small class="font-bold">
+                </small></div><small class="font-bold">
+            </small>
+        </div>
+    </div>
+    <script>
+
+        $('#close').click();
+        function open(id) {
+            $('.update_id').val(id);
+            $('#modelss').css('display','block');
+        }
+
+    </script>
 @endsection

+ 9 - 2
resources/views/admin/medical/order/view.blade.php

xqd
@@ -27,8 +27,15 @@
                                                    
                    <p class="list-group-item-text"> {{ $data['total_price'] or ''}}</p>
                                                  
-               </div>                     
-               <div class="list-group-item">
+               </div>
+            <div class="list-group-item">
+
+                <h3 class="list-group-item-heading">样本类型</h3>
+
+                <p class="list-group-item-text"> {{ $data['sample_type'] or ''}}</p>
+
+            </div>
+            <div class="list-group-item">
                                                   
                    <h3 class="list-group-item-heading">条形码</h3>
                                                    

+ 1 - 1
resources/views/web/order/complete.blade.php

xqd
@@ -4,7 +4,7 @@
     <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
     <link href="{{cdn_asset('/assets/css/bootstrap.min.css')}}" rel="stylesheet">
     <link href="css/bootstrap.min.css" rel="stylesheet">
-    <title>status</title>
+    <title>精准医疗</title>
     <style type="text/css">
         .all{
             width: 100%;

+ 2 - 0
resources/views/web/order/index.blade.php

xqd xqd
@@ -162,6 +162,7 @@
                 data:{
                     // mobile:mobile,
                     name:$('#name').val(),
+                    mobile:$('#mobile').val(),
                     age:$('#age').val(),
                     sex:$('input[name="sex"]:checked ').val(),
                     sample_type:arr,
@@ -193,6 +194,7 @@
             </div>
             
             <form id="tform" class="bs-example bs-example-form main" role="form">
+                <input type="hidden" name="mobile" id="mobile" value="{{$mobile['mob']}}">
                 <div class="col-xs-10 col-lg-4 input-group input">
                     <span class="input-group-addon">姓名:</span>
                     <input type="text" class="form-control" name="name" id="name" placeholder="请输入姓名" required>