Jimy 6 anni fa
parent
commit
c0db810a43

+ 99 - 7
app/Http/Controllers/Admin/SportsbqController.php

@@ -26,12 +26,13 @@ class SportsbqController extends Controller {
         $dt->setDataSource('/admin/Sportsbq/info');
         $dt->setLang('Sportsbq');
         $dt->addColsFields('newtime', array('templet' => '#home_team', 'sort' => false, 'width' => 200));
-        $dt->addColsFields('home_team', array('templet' => '#home_team', 'sort' => false, 'width' => 200));
+        $dt->addColsFields('home_team', array('templet' => '#home_team', 'sort' => false, 'width' => 80));
         $dt->addColsFields('guest_team', array('templet' => '#guest_team', 'sort' => false, 'width' => 80));
         $dt->addColsFields('dsnum', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
         $dt->addColsFields('csnum', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
-        $dt->addColsFields('match_score', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
-        $dt->addColsFields('statusmatch', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
+        $dt->addColsFields('match_score', array('templet' => '#match_score', 'sort' => false, 'width' => 80));
+        $dt->addColsFields('statusmatch', array('templet' => '#statusmatch', 'sort' => false, 'width' => 80));
+        $dt->addColsFields('operation', array('templet' => '#operation', 'sort' => false, 'width' => 300));
 		return view('admin.Sportsbq/outcome', $dt->render($request));
 	}
 
@@ -66,15 +67,106 @@ class SportsbqController extends Controller {
         return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
 	}
 
+	//作废
+	function revoke(Req $req){
+		$match_id = $req->match_id;//赛事id
+		$model = \App\Models\Stbqresult::where('match_id', $match_id)->first();
+		$model->status = 4;
+		$model->save();
+
+		$smodel = \App\Models\SportsSoccer::where('match_id', $match_id)->first();
+		if($smodel){
+			$smodel->status = 4;
+			$smodel->save();
+		}
 
+		$upapp = new \App\Models\SportsNoteList();
+        $data = $upapp->updatesimplex($match_id,'bq');//修改单式状态
+
+        //单式撤单返现
+        $newapp = new \App\Models\MoneyBuyMatch();
+		$all = $newapp->allsimplexorder($match_id,'bq');
+        for ($i=0; $i < count($all); $i++) { 
+	        $appgx = new \App\Lib\Settlement\SettlementOrder();
+	        $appgx->insertData($all[$i]['order_id'], $all[$i]['money'], $all[$i]['account_identity'], '1', 'bq', $all[$i]['info_identity'], $all[$i]['money'],$all[$i]['match_id']);
+        }
+
+        //串式撤单只改状态
+        $str_ids = array_column($newapp->allstrorder($match_id),'order_id');
+        $csapp = new \App\Models\MoneyBuyStr();
+        $csapp->updatestatus($str_ids);//var_dump($ss);die;
+        //修改money_buy_match 投注结果result=2为平
+        $newapp->updatast($match_id);
+        
+		return responseToJson(1);
+	}
 
+	//结算
+	function Settlement(Req $req){
+		//查询赛事下所有订单
+		$ssid = $req->match_id;//赛事id
+		$type = $req->type;//是否再结算1,首次结算2,再次结算
+		$newapp = new \App\Models\MoneyBuyMatch();
+		$simplex_ids = array_column($newapp->allsimplexorder($ssid,'bq'),'order_id');
+		$str_ids = array_column($newapp->allstrorder($ssid),'order_id');
+
+		$update = $this->addcomendnotice($ssid);
+		if($update['status']==1){
+			$SettlementOrder = new SettlementOrder();
+	        $SettlementOrder->reSettlement($str_ids, 2,$type,'bq',$ssid);//串式
+	        $data = $SettlementOrder->reSettlement($simplex_ids, 1,$type,'bq',$ssid);//单式注单
+	        return responseToJson($data);
+	    }else{
+	    	return responseToJson($update);
+	    }
+	}
 
+	//查询赛事结果
+	function Matchresult(Req $req){
+		$match_id = $req->match_id;
+		$newapp = \App\Models\Stbqresult::where('match_id', $match_id)->first();
+
+		$array =array(
+			'corner_ball' => json_decode($newapp['corner_ball'],true),
+			'penalty_card' => json_decode($newapp['penalty_card'],true),
+			'newapp' => $newapp,
+		);
+		return $array;
+	}
 
+	function onlyresult(Req $req){
+		$match_id = $req->matchid;
+		$newapp = \App\Models\Stbqresult::where('match_id', $match_id)->first();
+		return $newapp;
+	}
 
-
-
-
-
+	//结果添加
+	function addend(Req $req){
+		$match_id = $req->matchid;
+		$model = \App\Models\Stbqresult::where('match_id', $match_id)->first();
+
+		$penaltycard = array(
+        	'home'=>intval($req->homeallcard)?intval($req->homeallcard):0,
+        	'guest'=>intval($req->guestallcard)?intval($req->guestallcard):0,
+        	'home_half'=>intval($req->homehalfcard)?intval($req->homehalfcard):0,
+        	'guest_half'=>intval($req->guesthalfcard)?intval($req->guesthalfcard):0,
+        );
+        $cornerball = array(
+        	'home'=>intval($req->homeallcorner)?intval($req->homeallcorner):0,
+        	'guest'=>intval($req->guestallcorner)?intval($req->guestallcorner):0,
+        	'home_half'=>intval($req->homehalfcorner)?intval($req->homehalfcorner):0,
+        	'guest_half'=>intval($req->guesthalfcorner)?intval($req->guesthalfcorner):0,
+        );
+
+		$model->first_score = $req->firstscore;
+		$model->last_score = $req->lastscore;
+		$model->match_winer = $req->matchwiner;
+		$model->penalty_card = json_encode($penaltycard);
+		$model->corner_ball = json_encode($cornerball);
+
+        $model->save();
+        return responseToJson(1);
+	}
 
 
 

+ 104 - 1
app/Http/Controllers/Admin/SportswqController.php

@@ -38,7 +38,8 @@ class SportswqController extends Controller {
         $dt->addColsFields('dsnum', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
         $dt->addColsFields('csnum', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
         $dt->addColsFields('match_score', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
-        $dt->addColsFields('statusmatch', array('templet' => '#home_rate', 'sort' => false, 'width' => 80));
+        $dt->addColsFields('statusmatch', array('templet' => '#statusmatch', 'sort' => false, 'width' => 80));
+        $dt->addColsFields('operation', array('templet' => '#operation', 'sort' => false, 'width' => 300));
         return view('admin.Sportswq/outcome', $dt->render($request));
 	}
 
@@ -87,5 +88,107 @@ class SportswqController extends Controller {
         return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
 	}
 
+	//作废
+	function revoke(Req $req){
+		$match_id = $req->match_id;//赛事id
+		$model = \App\Models\Stwqresult::where('match_id', $match_id)->first();
+		$model->status = 4;
+		$model->save();
+
+		$smodel = \App\Models\SportsSoccer::where('match_id', $match_id)->first();
+		if($smodel){
+			$smodel->status = 4;
+			$smodel->save();
+		}
+
+		$upapp = new \App\Models\SportsNoteList();
+        $data = $upapp->updatesimplex($match_id,'wq');//修改单式状态
+
+        //单式撤单返现
+        $newapp = new \App\Models\MoneyBuyMatch();
+		$all = $newapp->allsimplexorder($match_id,'wq');
+        for ($i=0; $i < count($all); $i++) { 
+	        $appgx = new \App\Lib\Settlement\SettlementOrder();
+	        $appgx->insertData($all[$i]['order_id'], $all[$i]['money'], $all[$i]['account_identity'], '1', 'wq', $all[$i]['info_identity'], $all[$i]['money'],$all[$i]['match_id']);
+        }
+
+        //串式撤单只改状态
+        $str_ids = array_column($newapp->allstrorder($match_id),'order_id');
+        $csapp = new \App\Models\MoneyBuyStr();
+        $csapp->updatestatus($str_ids);//var_dump($ss);die;
+        //修改money_buy_match 投注结果result=2为平
+        $newapp->updatast($match_id);
+        
+		return responseToJson(1);
+	}
+
+	//结算
+	function Settlement(Req $req){
+		//查询赛事下所有订单
+		$ssid = $req->match_id;//赛事id
+		$type = $req->type;//是否再结算1,首次结算2,再次结算
+		$newapp = new \App\Models\MoneyBuyMatch();
+		$simplex_ids = array_column($newapp->allsimplexorder($ssid,'wq'),'order_id');
+		$str_ids = array_column($newapp->allstrorder($ssid),'order_id');
+
+		$update = $this->addcomendnotice($ssid);
+		if($update['status']==1){
+			$SettlementOrder = new SettlementOrder();
+	        $SettlementOrder->reSettlement($str_ids, 2,$type,'wq',$ssid);//串式
+	        $data = $SettlementOrder->reSettlement($simplex_ids, 1,$type,'wq',$ssid);//单式注单
+	        return responseToJson($data);
+	    }else{
+	    	return responseToJson($update);
+	    }
+	}
+
+	//查询赛事结果
+	function Matchresult(Req $req){
+		$match_id = $req->match_id;
+		$newapp = \App\Models\Stwqresult::where('match_id', $match_id)->first();
+
+		$array =array(
+			'corner_ball' => json_decode($newapp['corner_ball'],true),
+			'penalty_card' => json_decode($newapp['penalty_card'],true),
+			'newapp' => $newapp,
+		);
+		return $array;
+	}
+
+	function onlyresult(Req $req){
+		$match_id = $req->matchid;
+		$newapp = \App\Models\Stwqresult::where('match_id', $match_id)->first();
+		return $newapp;
+	}
+
+	//结果添加
+	function addend(Req $req){
+		$match_id = $req->matchid;
+		$model = \App\Models\Stwqresult::where('match_id', $match_id)->first();
+
+		$penaltycard = array(
+        	'home'=>intval($req->homeallcard)?intval($req->homeallcard):0,
+        	'guest'=>intval($req->guestallcard)?intval($req->guestallcard):0,
+        	'home_half'=>intval($req->homehalfcard)?intval($req->homehalfcard):0,
+        	'guest_half'=>intval($req->guesthalfcard)?intval($req->guesthalfcard):0,
+        );
+        $cornerball = array(
+        	'home'=>intval($req->homeallcorner)?intval($req->homeallcorner):0,
+        	'guest'=>intval($req->guestallcorner)?intval($req->guestallcorner):0,
+        	'home_half'=>intval($req->homehalfcorner)?intval($req->homehalfcorner):0,
+        	'guest_half'=>intval($req->guesthalfcorner)?intval($req->guesthalfcorner):0,
+        );
+
+		$model->first_score = $req->firstscore;
+		$model->last_score = $req->lastscore;
+		$model->match_winer = $req->matchwiner;
+		$model->penalty_card = json_encode($penaltycard);
+		$model->corner_ball = json_encode($cornerball);
+
+        $model->save();
+        return responseToJson(1);
+	}
+
+
 
 }

+ 1 - 0
resources/lang/zh-cn/Sportsbq.php

@@ -28,5 +28,6 @@ return array(
     'dsnum' => '单式注单',
     'csnum' => '串式注单',
     'statusmatch' => '比赛状态',
+    'operation' => '操作',
 
 );

+ 1 - 0
resources/lang/zh-cn/sportswq.php

@@ -28,5 +28,6 @@ return array(
     'dsnum' => '单式注单',
     'csnum' => '串式注单',
     'statusmatch' => '比赛状态',
+    'operation' => '操作',
 
 );

+ 376 - 5
resources/views/admin/Sportsbq/outcome.blade.php

@@ -22,6 +22,143 @@
         }
     </style>
 
+    <!-- 样式 -->
+<style type="text/css">
+    /* 弹窗 (background) */
+    .modal {
+        display: none; /* 默认隐藏 */
+        /*生成绝对定位的元素,相对于浏览器窗口进行定位。*/
+        position: fixed; 
+        z-index: 1; 
+        left: 0;
+        top: 0;
+        /*设置弹窗位置*/
+        padding-top: 100px;
+        padding-bottom: 200px;
+        /*浮在全屏上*/
+        width: 100%; 
+        height:  100%; 
+        /*overflow:auto;如果内容被修剪,则浏览器会显示滚动条,以便查看其余内容。*/
+        overflow: auto; 
+        background-color: rgb(0,0,0); 
+        background-color: rgba(0,0,0,0.4);
+        text-align: right;
+    }
+
+    /* 弹窗内容 */
+    .modal-content {
+        /*position: relative;*/
+        /*弹窗背景色设置*/
+        background-color: #fefefe;
+        margin: auto;
+        padding: 260px auto;
+        width: 600px;
+        box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
+        -webkit-animation-name: animatetop;
+        -webkit-animation-duration: 0.4s;
+        animation-name: animatetop;
+        animation-duration: 0.4s;
+        border-radius: 10px;
+       }
+
+    /* 添加动画 */
+    @-webkit-keyframes animatetop {
+        from {top:-200px; opacity:0} 
+        to {top:0; opacity:1}
+    }
+
+    @keyframes animatetop {
+        from {top:-200px; opacity:0}
+        to {top:0; opacity:1}
+    }
+
+    /* 关闭按钮 */
+    .close {
+        color: white;
+        float: right;
+        font-size: 28px;
+        font-weight: bold;
+    }
+
+    .close:hover, .close:focus {
+        color: #000;
+        text-decoration: none;
+        cursor: pointer;
+    }
+
+    .modal-header {
+        display: block;
+        line-height: 30px;
+        padding: 2px 10px;
+        background-color: #AEAEAE;
+        color: white;
+        text-align: left;
+        border-radius: 5px 5px 0 0;
+    }
+
+    .modal-body {
+        padding: 2px 16px;
+        font-size: 18px;
+        /*height: 200px;*/
+    }
+
+    .modal-footer {
+        display: flex;
+        justify-content: space-around;
+        align-items: center;
+        width: 520px;
+        padding: 0 40px;
+        height: 50px;
+       border-radius:0 0 5px 5px;
+        display: block;
+        line-height: 39px;
+        background-color: #AEAEAE;
+        color: white;
+    }
+    .ok,.no{
+        width: 100px;
+        height: 40px;
+    }
+</style>
+    
+    <!-- match_score -->
+
+    <script type="text/html" id="statusmatch">
+    @{{#if(d.status==0){ }}
+        <span>未开始</span>
+      @{{#} }}
+      @{{#if(d.status==1){ }}
+        <span>进行中</span>
+      @{{#} }}
+      @{{#if(d.status==2){ }}
+        <span>已结束</span>
+      @{{#} }}
+      @{{#if(d.status==3){ }}
+        <span>已结算</span>
+      @{{#} }}
+      @{{#if(d.status==4){ }}
+        <span>已作废</span>
+      @{{#} }}
+    </script>
+
+    <script type="text/html" id="operation">
+        <button onclick="addResult(@{{d.match_id}})" class="layui-btn layui-btn-sm layui-btn-green set">赛事结果</button>
+        @{{#if(d.status==2 || d.status==3){ }}
+            @{{#if(d.status==2){ }}
+                <span><li class="layui-btn layui-btn-sm layui-btn-green set" onclick="settlement(@{{d.match_id}},1)">结算</li></span>
+            @{{#} }}
+            @{{#if(d.status==3){ }}
+                <span><li class="layui-btn   layui-btn-sm layui-btn-normal reset" onclick="settlement(@{{d.match_id}},2)">再结算</li></span>
+            @{{#} }}
+        @{{#} }}
+        @{{#if(d.status!=4 && d.status!=3){ }}
+        <span><li class="layui-btn layui-btn-sm  layui-btn-danger" onclick="revoke(@{{d.match_id}})">作废</li></span>
+        @{{#} }}
+        @{{#if(d.status==4){ }}
+        <span><li class="layui-btn layui-btn-sm  layui-btn-danger" onclick="revoke(@{{d.match_id}})">已作废</li></span>
+        @{{#} }}
+    </script>
+
     <script type="text/html" id="status">
         @if(checkRriv('/admin/sportsbk/index'))<input type="checkbox" name="status" value="@{{d.id}}" lay-skin="switch" lay-text="进行中|已结束" lay-filter="openStatus" @{{ d.status == '1' ? 'checked' : '' }}>@endif
     </script>
@@ -45,7 +182,7 @@
                         <div class="layui-input-inline" style="width: 200px">
                             <select name="status"  id="form_status"  lay-verify="" autocomplete="off" class="layui-input"  eventType=event-query>
                                 <option value="-1">{{ trans('sportsbk.select_status') }}</option>
-                                @foreach(trans('status.match_status.status') as $k=>$v):
+                                @foreach(trans('status.match_operation.status') as $k=>$v):
                                     @if($status==$k))
                                         <option value="{{$k}}" selected="selected">{{$v}}</option>
                                     @else
@@ -55,7 +192,7 @@
                             </select>
                         </div>
                    </div>
-                   <div class="layui-inline">
+                   <!-- <div class="layui-inline">
                         <label class="layui-form-label">{{ trans('sportsbk.sjsource') }}</label>
                         <div class="layui-input-inline" style="width: 200px">
                             <select name="source"  id="form_source"  lay-verify="" autocomplete="off" class="layui-input" eventType=event-query>
@@ -69,12 +206,24 @@
                                 @endforeach
                             </select>
                         </div>
+                    </div> -->
+                    <div class="layui-inline">
+                        <label class="layui-form-label">{{ trans('sportsfoot.star_time') }}</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="star_time" value="{{ $star_time }}" id="star_time" placeholder=" - "  lay-verify="" autocomplete="off" class="layui-input test-item" eventType=event-query>
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <label class="layui-form-label">{{ trans('sportsfoot.end_time') }}</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="end_time"  value="{{$end_time}}" id="end_time" placeholder=" - " word-break: break-all; lay-verify="" autocomplete="off" class="layui-input test-item" eventType=event-query>
+                        </div>
                     </div>
                     <div class="layui-inline">
                         <a class="layui-btn layui-btn-sm lay-btn-diy"   data-type="reload" eventType="event-query-submit" style="opacity: 1; pointer-events: auto;">提交</a>
                         <a  class="layui-btn   layui-btn-sm layui-btn-normal reset" data-type="reload" style="opacity: 1; pointer-events: auto;">重置</a>
                         <a class="layui-btn layui-btn-xs" data-type="reload" style="opacity: 1; pointer-events: auto;"><i class="layui-icon" onclick="refreshall('bq')">刷新赛事</i></a>
-                        <!-- @if(checkRriv('/admin/sportsbk/addoutcome'))<a href="/admin/sportsbk/addoutcome" class="layui-btn layui-btn-sm ">添加</a>@endif -->
+                        <!--@if(checkRriv('/admin/sportsbk/addoutcome'))<a href="/admin/sportsbk/addoutcome" class="layui-btn layui-btn-sm ">添加</a>@endif-->
                         @if(checkRriv('/admin/sportsbk/deleteoutcome'))<a href="javascript:delWin('/admin/sportsbk/deleteoutcome?id=');" class="layui-btn layui-btn-sm  layui-btn-danger">删除</a>@endif
                     </div>
                 </div>
@@ -97,8 +246,122 @@
             	}
             })
         })
-		
-		//刷新赛事数据
+
+        function addResult($match_id){
+            $(":input",$("#myModal")).each(function(i){  $(this).val('');});
+            var match_id = $match_id;//alert(match_id);
+            document.getElementById("matchid").value=$match_id;//赋值个弹窗
+            
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsfoot/Matchresult',
+                data: {match_id:match_id},
+                success: function(data) {
+                    document.getElementById("matchwiner").value=data.newapp.match_winer;
+                    document.getElementById("homeallcard").value=data.penalty_card.home;
+                    document.getElementById("guestallcard").value=data.penalty_card.guest;
+                    document.getElementById("homehalfcard").value=data.penalty_card.home_half;
+                    document.getElementById("guesthalfcard").value=data.penalty_card.guest_half;
+                    document.getElementById("homeallcorner").value=data.corner_ball.home;
+                    document.getElementById("guestallcorner").value=data.corner_ball.guest;
+                    document.getElementById("homehalfcorner").value=data.corner_ball.home_half;
+                    document.getElementById("guesthalfcorner").value=data.corner_ball.guest_half;
+
+                    addqd = "<option value='' selected=''>请选择最后进球</option><option value=" +data.newapp.home_team + ">" + data.newapp.home_team + "</option><option value=" +data.newapp.guest_team + ">" + data.newapp.guest_team + "</option>";
+                    $("#addqd").html(addqd);
+
+                    addzd = "<option value='' selected=''>请选择最后进球</option><option value=" + data.newapp.home_team + ">" + data.newapp.home_team + "</option><option value=" + data.newapp.guest_team + ">" + data.newapp.guest_team + "</option>";
+                    $("#addzd").html(addzd);
+                }
+            }) 
+
+            //获取弹窗得div
+            var modal = document.getElementById('myModal');
+            // 获取 <span> 元素,用于关闭弹窗 (X)
+            var span = document.getElementsByClassName("close")[0];
+            //获取弹窗中得确定按钮
+            var ok=document.getElementsByClassName("ok")[0];
+            //获取弹窗中得取消按钮
+            var no=document.getElementsByClassName("no")[0];
+            //窗体弹出
+            modal.style.display = "block";
+            //点击窗体ok
+            ok.onclick=function(){
+                //执行弹出窗体得确定后得操作
+                alert("执行确定按钮点击得操作");
+                //关闭窗口
+                modal.style.display = "none";
+                buttonClick();
+            }
+            //点击窗体取消按钮
+            no.onclick=function(){
+                //直接关闭窗口
+                modal.style.display = "none";
+            }
+            // 点击 <span> (x), 关闭弹窗
+            span.onclick = function() {
+                //直接关闭窗口
+                modal.style.display = "none";
+            }
+            // 在用户点击其他地方时,关闭弹窗
+            window.onclick = function(event) {
+                //点击窗口外内容,关闭窗口
+                if (event.target == modal) modal.style.display = "none";
+            }
+        }
+        
+        function buttonClick(){
+            var matchid = $("#matchid").val();
+            var firstscore = $("#firstscore").val();
+            var lastscore = $("#lastscore").val();
+            var matchwiner = $("#matchwiner").val();
+            var homeallcard = $("#homeallcard").val();
+            var guestallcard = $("#guestallcard").val();
+            var homehalfcard = $("#homehalfcard").val();
+            var guesthalfcard = $("#guesthalfcard").val();
+            var homeallcorner = $("#homeallcorner").val();
+            var guestallcorner = $("#guestallcorner").val();
+            var homehalfcorner = $("#homehalfcorner").val();
+            var guesthalfcorner = $("#guesthalfcorner").val();
+            var reg = /^[0-99]\d*$/;
+          
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsfoot/onlyresult',
+                data: {matchid:matchid},
+                success: function(data) {
+                    var allnum = data.home_score+ data.guest_score;
+                   
+                    if(allnum>0){
+                        if(firstscore.length==0){ 
+                            alert("请输入最先进球");return;
+                        }
+                        if(lastscore.length==0){ 
+                            alert("请输入最后进球");return;
+                        }
+                    }
+
+                    $.ajax({
+                            type: 'POST',
+                            dataType: 'json',
+                            url: '/admin/Sportsfoot/addend',
+                            data: {matchid:matchid,firstscore:firstscore,lastscore:lastscore,matchwiner:matchwiner,homeallcard:homeallcard,guestallcard:guestallcard,homehalfcard:homehalfcard,guesthalfcard:guesthalfcard,homeallcorner:homeallcorner,guestallcorner:guestallcorner,homehalfcorner:homehalfcorner,guesthalfcorner:guesthalfcorner},
+                            success: function(data) {
+                                
+                                
+                                    layer.msg(data.msg);
+                                    location. reload()//刷新当前页面
+                                
+                            }
+                        })
+                }
+            })
+            
+        }
+
+        //刷新赛事数据
         function refreshall(game_code){ 
             var game_code = game_code;
             $.ajax({
@@ -106,15 +369,55 @@
                 dataType: 'json',
                 url: '/setSports',
                 data: {game_code:game_code},
+                success: function(data) {
+                    var data = JSON.stringify(data);
+                    if(data){
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
+                    }
+                }
+            })
+        }
+
+        //撤销
+        function revoke(match_id){
+            var match_id = match_id;
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsbq/revoke',
+                data: {match_id:match_id},
+                success: function(data) {
+                    if(data.status==1){
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
+                    }
+                }
+            })
+        }
+
+        //结算 
+        function settlement(match_id,type){
+            var match_id = match_id;
+            var type = type;
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsbq/Settlement',
+                data: {match_id:match_id,type:type},
                 success: function(data) {
                     // alert(data);
                     if(data.status==1){
                         layer.msg(data.msg);
                         location. reload()//刷新当前页面
+                    }else{
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
                     }
                 }
             })
         }
+
 	</script>
 @push('dataTableJS')
 /*var active = {
@@ -162,3 +465,71 @@ $('.lay-btn-diy').on('click', function(){
 
     @include('vip.datatable')
 @endsection
+
+<!-- 弹窗隐藏区域 -->
+    <div id="myModal" class="modal">
+            <input type="hidden" id="matchid" name="matchid" value="">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <span class="close">&times;</span>
+                    <h2>赛事结果添加</h2>
+                </div>
+                <div class="modal-body">
+                    <p style="text-align:left;color:#5f7788;">请认真填写赛事结果,将会按照改结果结算</p><br>
+                    <div style="text-align:left;">
+                        <div style="display:flex;heigth:20px">
+                            <li style="width: 110px;">第一局比分</li>
+                            <div>
+                                <input type="text" style="width:50px;heigth:15px;" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> - 
+                                <input type="text" style="width:50px;heigth:15px;" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第二局比分</li>
+                            <div>
+                                 <input type="text" style="width:50px;heigth:15px;" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> - 
+                                <input type="text" style="width:50px;heigth:15px;" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第三局比分</li>
+                            <div>
+                                 <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> - 
+                                <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第四局比分</li>
+                            <div>
+                                 <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> - 
+                                <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第五局比分</li>
+                            <div>
+                                 <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> - 
+                                <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第六局比分</li>
+                            <div>
+                                 <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> - 
+                                <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第七局比分</li>
+                            <div>
+                                 <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> - 
+                                <input type="text" style="width:50px;heigth:15px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button class="ok" onchange="buttonClick()"><h3>确定</h3></button>&nbsp;<button class="no"><h3>取消</h3></button>
+                </div>
+            </div>
+        </div>

+ 392 - 3
resources/views/admin/Sportswq/outcome.blade.php

@@ -22,6 +22,141 @@
         }
     </style>
 
+    <!-- 样式 -->
+<style type="text/css">
+    /* 弹窗 (background) */
+    .modal {
+        display: none; /* 默认隐藏 */
+        /*生成绝对定位的元素,相对于浏览器窗口进行定位。*/
+        position: fixed; 
+        z-index: 1; 
+        left: 0;
+        top: 0;
+        /*设置弹窗位置*/
+        padding-top: 100px;
+        padding-bottom: 200px;
+        /*浮在全屏上*/
+        width: 100%; 
+        height:  100%; 
+        /*overflow:auto;如果内容被修剪,则浏览器会显示滚动条,以便查看其余内容。*/
+        overflow: auto; 
+        background-color: rgb(0,0,0); 
+        background-color: rgba(0,0,0,0.4);
+        text-align: right;
+    }
+
+    /* 弹窗内容 */
+    .modal-content {
+        /*position: relative;*/
+        /*弹窗背景色设置*/
+        background-color: #fefefe;
+        margin: auto;
+        padding: 260px auto;
+        width: 600px;
+        box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
+        -webkit-animation-name: animatetop;
+        -webkit-animation-duration: 0.4s;
+        animation-name: animatetop;
+        animation-duration: 0.4s;
+        border-radius: 10px;
+       }
+
+    /* 添加动画 */
+    @-webkit-keyframes animatetop {
+        from {top:-200px; opacity:0} 
+        to {top:0; opacity:1}
+    }
+
+    @keyframes animatetop {
+        from {top:-200px; opacity:0}
+        to {top:0; opacity:1}
+    }
+
+    /* 关闭按钮 */
+    .close {
+        color: white;
+        float: right;
+        font-size: 28px;
+        font-weight: bold;
+    }
+
+    .close:hover, .close:focus {
+        color: #000;
+        text-decoration: none;
+        cursor: pointer;
+    }
+
+    .modal-header {
+        display: block;
+        line-height: 30px;
+        padding: 2px 10px;
+        background-color: #AEAEAE;
+        color: white;
+        text-align: left;
+        border-radius: 5px 5px 0 0;
+    }
+
+    .modal-body {
+        padding: 2px 16px;
+        font-size: 18px;
+        /*height: 200px;*/
+    }
+
+    .modal-footer {
+        display: flex;
+        justify-content: space-around;
+        align-items: center;
+        width: 520px;
+        padding: 0 40px;
+        height: 50px;
+       border-radius:0 0 5px 5px;
+        display: block;
+        line-height: 39px;
+        background-color: #AEAEAE;
+        color: white;
+    }
+    .ok,.no{
+        width: 100px;
+        height: 40px;
+    }
+</style>
+
+    <script type="text/html" id="statusmatch">
+    @{{#if(d.status==0){ }}
+        <span>未开始</span>
+      @{{#} }}
+      @{{#if(d.status==1){ }}
+        <span>进行中</span>
+      @{{#} }}
+      @{{#if(d.status==2){ }}
+        <span>已结束</span>
+      @{{#} }}
+      @{{#if(d.status==3){ }}
+        <span>已结算</span>
+      @{{#} }}
+      @{{#if(d.status==4){ }}
+        <span>已作废</span>
+      @{{#} }}
+    </script>
+
+    <script type="text/html" id="operation">
+        <button onclick="addResult(@{{d.match_id}})" class="layui-btn layui-btn-sm layui-btn-green set">赛事结果</button>
+        @{{#if(d.status==2 || d.status==3){ }}
+            @{{#if(d.status==2){ }}
+                <span><li class="layui-btn layui-btn-sm layui-btn-green set" onclick="settlement(@{{d.match_id}},1)">结算</li></span>
+            @{{#} }}
+            @{{#if(d.status==3){ }}
+                <span><li class="layui-btn   layui-btn-sm layui-btn-normal reset" onclick="settlement(@{{d.match_id}},2)">再结算</li></span>
+            @{{#} }}
+        @{{#} }}
+        @{{#if(d.status!=4 && d.status!=3){ }}
+        <span><li class="layui-btn layui-btn-sm  layui-btn-danger" onclick="revoke(@{{d.match_id}})">作废</li></span>
+        @{{#} }}
+        @{{#if(d.status==4){ }}
+        <span><li class="layui-btn layui-btn-sm  layui-btn-danger" onclick="revoke(@{{d.match_id}})">已作废</li></span>
+        @{{#} }}
+    </script>
+
     <script type="text/html" id="status">
         @if(checkRriv('/admin/sportsbk/index'))<input type="checkbox" name="status" value="@{{d.id}}" lay-skin="switch" lay-text="进行中|已结束" lay-filter="openStatus" @{{ d.status == '1' ? 'checked' : '' }}>@endif
     </script>
@@ -45,7 +180,7 @@
                         <div class="layui-input-inline" style="width: 200px">
                             <select name="status"  id="form_status"  lay-verify="" autocomplete="off" class="layui-input"  eventType=event-query>
                                 <option value="-1">{{ trans('sportsbk.select_status') }}</option>
-                                @foreach(trans('status.match_status.status') as $k=>$v):
+                                @foreach(trans('status.match_operation.status') as $k=>$v):
                                     @if($status==$k))
                                         <option value="{{$k}}" selected="selected">{{$v}}</option>
                                     @else
@@ -85,8 +220,8 @@
                     <div class="layui-inline">
                         <a class="layui-btn layui-btn-sm lay-btn-diy"   data-type="reload" eventType="event-query-submit" style="opacity: 1; pointer-events: auto;">提交</a>
                         <a  class="layui-btn   layui-btn-sm layui-btn-normal reset" data-type="reload" style="opacity: 1; pointer-events: auto;">重置</a>
-                        <a class="layui-btn layui-btn-sm layui-btn-green set" data-type="reload" style="opacity: 1; pointer-events: auto;"><i class="layui-icon">ဂ</i></a>
-                        @if(checkRriv('/admin/sportsbk/addoutcome'))<a href="/admin/sportsbk/addoutcome" class="layui-btn layui-btn-sm ">添加</a>@endif
+                        <a class="layui-btn layui-btn-xs" data-type="reload" style="opacity: 1; pointer-events: auto;"><i class="layui-icon" onclick="refreshall('wq')">刷新赛事</i></a>
+                        <!--@if(checkRriv('/admin/sportsbk/addoutcome'))<a href="/admin/sportsbk/addoutcome" class="layui-btn layui-btn-sm ">添加</a>@endif-->
                         @if(checkRriv('/admin/sportsbk/deleteoutcome'))<a href="javascript:delWin('/admin/sportsbk/deleteoutcome?id=');" class="layui-btn layui-btn-sm  layui-btn-danger">删除</a>@endif
                     </div>
                 </div>
@@ -109,6 +244,178 @@
             	}
             })
         })
+
+        function addResult($match_id){
+            $(":input",$("#myModal")).each(function(i){  $(this).val('');});
+            var match_id = $match_id;//alert(match_id);
+            document.getElementById("matchid").value=$match_id;//赋值个弹窗
+            
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportswq/Matchresult',
+                data: {match_id:match_id},
+                success: function(data) {
+                    document.getElementById("matchwiner").value=data.newapp.match_winer;
+                    document.getElementById("homeallcard").value=data.penalty_card.home;
+                    document.getElementById("guestallcard").value=data.penalty_card.guest;
+                    document.getElementById("homehalfcard").value=data.penalty_card.home_half;
+                    document.getElementById("guesthalfcard").value=data.penalty_card.guest_half;
+                    document.getElementById("homeallcorner").value=data.corner_ball.home;
+                    document.getElementById("guestallcorner").value=data.corner_ball.guest;
+                    document.getElementById("homehalfcorner").value=data.corner_ball.home_half;
+                    document.getElementById("guesthalfcorner").value=data.corner_ball.guest_half;
+
+                    addqd = "<option value='' selected=''>请选择最后进球</option><option value=" +data.newapp.home_team + ">" + data.newapp.home_team + "</option><option value=" +data.newapp.guest_team + ">" + data.newapp.guest_team + "</option>";
+                    $("#addqd").html(addqd);
+
+                    addzd = "<option value='' selected=''>请选择最后进球</option><option value=" + data.newapp.home_team + ">" + data.newapp.home_team + "</option><option value=" + data.newapp.guest_team + ">" + data.newapp.guest_team + "</option>";
+                    $("#addzd").html(addzd);
+                }
+            }) 
+
+            //获取弹窗得div
+            var modal = document.getElementById('myModal');
+            // 获取 <span> 元素,用于关闭弹窗 (X)
+            var span = document.getElementsByClassName("close")[0];
+            //获取弹窗中得确定按钮
+            var ok=document.getElementsByClassName("ok")[0];
+            //获取弹窗中得取消按钮
+            var no=document.getElementsByClassName("no")[0];
+            //窗体弹出
+            modal.style.display = "block";
+            //点击窗体ok
+            ok.onclick=function(){
+                //执行弹出窗体得确定后得操作
+                alert("执行确定按钮点击得操作");
+                //关闭窗口
+                modal.style.display = "none";
+                buttonClick();
+            }
+            //点击窗体取消按钮
+            no.onclick=function(){
+                //直接关闭窗口
+                modal.style.display = "none";
+            }
+            // 点击 <span> (x), 关闭弹窗
+            span.onclick = function() {
+                //直接关闭窗口
+                modal.style.display = "none";
+            }
+            // 在用户点击其他地方时,关闭弹窗
+            window.onclick = function(event) {
+                //点击窗口外内容,关闭窗口
+                if (event.target == modal) modal.style.display = "none";
+            }
+        }
+        
+        function buttonClick(){
+            var matchid = $("#matchid").val();
+            var firstscore = $("#firstscore").val();
+            var lastscore = $("#lastscore").val();
+            var matchwiner = $("#matchwiner").val();
+            var homeallcard = $("#homeallcard").val();
+            var guestallcard = $("#guestallcard").val();
+            var homehalfcard = $("#homehalfcard").val();
+            var guesthalfcard = $("#guesthalfcard").val();
+            var homeallcorner = $("#homeallcorner").val();
+            var guestallcorner = $("#guestallcorner").val();
+            var homehalfcorner = $("#homehalfcorner").val();
+            var guesthalfcorner = $("#guesthalfcorner").val();
+            var reg = /^[0-99]\d*$/;
+          
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportswq/onlyresult',
+                data: {matchid:matchid},
+                success: function(data) {
+                    var allnum = data.home_score+ data.guest_score;
+                   
+                    if(allnum>0){
+                        if(firstscore.length==0){ 
+                            alert("请输入最先进球");return;
+                        }
+                        if(lastscore.length==0){ 
+                            alert("请输入最后进球");return;
+                        }
+                    }
+
+                    $.ajax({
+                            type: 'POST',
+                            dataType: 'json',
+                            url: '/admin/Sportswq/addend',
+                            data: {matchid:matchid,firstscore:firstscore,lastscore:lastscore,matchwiner:matchwiner,homeallcard:homeallcard,guestallcard:guestallcard,homehalfcard:homehalfcard,guesthalfcard:guesthalfcard,homeallcorner:homeallcorner,guestallcorner:guestallcorner,homehalfcorner:homehalfcorner,guesthalfcorner:guesthalfcorner},
+                            success: function(data) {
+                                
+                                
+                                    layer.msg(data.msg);
+                                    location. reload()//刷新当前页面
+                                
+                            }
+                        })
+                }
+            })
+            
+        }
+
+        //刷新赛事数据
+        function refreshall(game_code){ 
+            var game_code = game_code;
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/setSports',
+                data: {game_code:game_code},
+                success: function(data) {
+                    var data = JSON.stringify(data);
+                    if(data){
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
+                    }
+                }
+            })
+        }
+
+        //撤销
+        function revoke(match_id){
+            var match_id = match_id;
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportswq/revoke',
+                data: {match_id:match_id},
+                success: function(data) {
+                    if(data.status==1){
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
+                    }
+                }
+            })
+        }
+
+        //结算 
+        function settlement(match_id,type){
+            var match_id = match_id;
+            var type = type;
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportswq/Settlement',
+                data: {match_id:match_id,type:type},
+                success: function(data) {
+                    // alert(data);
+                    if(data.status==1){
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
+                    }else{
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
+                    }
+                }
+            })
+        }
+
 	</script>
 @push('dataTableJS')
 /*var active = {
@@ -156,3 +463,85 @@ $('.lay-btn-diy').on('click', function(){
 
     @include('vip.datatable')
 @endsection
+
+<!-- 弹窗隐藏区域 -->
+    <div id="myModal" class="modal">
+            <input type="hidden" id="matchid" name="matchid" value="">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <span class="close">&times;</span>
+                    <h2>赛事结果添加</h2>
+                </div>
+                <div class="modal-body">
+                    <p style="text-align:left;color:#5f7788;">请认真填写赛事结果,将会按照改结果结算</p><br>
+                    <div style="text-align:left;">
+                        <div style="display:flex">
+                            <li style="width: 110px;">第一局获胜队</li>
+                            <div>
+                                <input type="radio" name="onegame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="onegame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第二局获胜队</li>
+                            <div>
+                                <input type="radio" name="twogame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="twogame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第三局获胜队</li>
+                            <div>
+                                <input type="radio" name="threegame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="threegame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第四局获胜队</li>
+                            <div>
+                                <input type="radio" name="fourgame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="fourgame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第五局获胜队</li>
+                            <div>
+                                <input type="radio" name="fivegame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="fivegame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第六局获胜队</li>
+                            <div>
+                                <input type="radio" name="sixgame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="sixgame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第七局获胜队</li>
+                            <div>
+                                <input type="radio" name="sevengame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="sevengame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第八局获胜队</li>
+                            <div>
+                                <input type="radio" name="eightgame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="eightgame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                        <div style="display:flex">
+                            <li style="width: 110px;">第九局获胜队</li>
+                            <div>
+                                <input type="radio" name="ninegame" eventType="event-query" value="1" title="主队" checked>主队
+                                <input type="radio" name="ninegame" eventType="event-query" value="0" title="客队">客队
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button class="ok" onchange="buttonClick()"><h3>确定</h3></button>&nbsp;<button class="no"><h3>取消</h3></button>
+                </div>
+            </div>
+        </div>