Browse Source

危险球处理

彭俊 6 years ago
parent
commit
14f571b634

+ 44 - 5
app/Http/Controllers/Admin/SportsfootController.php

@@ -105,7 +105,7 @@ class SportsfootController extends Controller {
 		
 		
 		if($warnmore[0]['timei']!="1970-1-1 0:0:1"){
 		if($warnmore[0]['timei']!="1970-1-1 0:0:1"){
 			$request['warnmore'] = $warnmore;
 			$request['warnmore'] = $warnmore;
-			// $request['warnmore'][0]['rtype'] = $sousuo;
+			// $request['warnmore'][0]['rtype'] = $sousuo;1
 		}else{
 		}else{
 			$request['warnmore'] = '';
 			$request['warnmore'] = '';
 		}
 		}
@@ -116,16 +116,49 @@ class SportsfootController extends Controller {
 		return view('admin.sportsfoot/addwarn', $request);
 		return view('admin.sportsfoot/addwarn', $request);
 	}
 	}
 
 
+	//获取指定赛事危险球数据
+	function getWarnData(Req $req){
+		$match_id = $req->match_id;
+		$warnonlys = \App\Models\Stzqresult::where('match_id', $match_id)->select("warn_more","start_time")->first();
+		$warn_more = json_decode($warnonlys['warn_more'],true);
+
+		if(!empty($warn_more)){
+			$data = [];
+			foreach($warn_more as $k=>$v){
+				$v['id'] =$k+1;
+				$data[$k] = $v;
+			}
+		}
+
+		if($data[0]['timei']=="1970-1-1 0:0:1"){
+			$data = [];
+		}
+
+		return \App\Lib\DataTable\DataTable::init()->toJson($data);
+	}
+
 	//危险球查询
 	//危险球查询
 	function warnresult(Req $req){
 	function warnresult(Req $req){
 		$match_id = $req->match_id;
 		$match_id = $req->match_id;
 		$wid = $req->wid;
 		$wid = $req->wid;
+		$typenum = $req->typenum;
 		$warnonlys = \App\Models\Stzqresult::where('match_id', $match_id)->select("warn_more","start_time")->first();
 		$warnonlys = \App\Models\Stzqresult::where('match_id', $match_id)->select("warn_more","start_time")->first();
 
 
+		$warn_data = json_decode($warnonlys['warn_more'],true);
+		if($typenum == 10000){ //添加危险球时,默认出现时间为赛事开始时间
+			$warn_data[0] =[
+				'timei' =>$warnonlys['start_time'],
+				'rtype' =>0,
+				'timep' =>90
+			];
+		}
+
 		$warno = array(
 		$warno = array(
-			'warn_more' => json_decode($warnonlys['warn_more'],true),
+			'warn_more' => $warn_data,
 			'starttime' => $warnonlys['start_time'],
 			'starttime' => $warnonlys['start_time'],
+			'endtime'=> date("Y-m-d H:i:s", strtotime("+2 hour",strtotime($warnonlys['start_time']))),//$warnonlys['start_time']
 		);
 		);
+		
 
 
 		return $warno;
 		return $warno;
 	}
 	}
@@ -135,30 +168,36 @@ class SportsfootController extends Controller {
 
 
 
 
 		//编辑对象值
 		//编辑对象值
-		$wid = $req->wid;
+		$wid = ($req->wid);
 		//赛事id
 		//赛事id
 		$matchid = $req->match_id;
 		$matchid = $req->match_id;
+		/*
 		//出现危险球的分钟数
 		//出现危险球的分钟数
 		$time_i = $req->time_i;
 		$time_i = $req->time_i;
 		//出现危险球的秒数
 		//出现危险球的秒数
 		$time_s = $req->time_s;
 		$time_s = $req->time_s;
 		//危险球审核有效时间 秒
 		//危险球审核有效时间 秒
+		*/
+		$timei = $req->time_i;
+
 		$timep = $req->time_p;
 		$timep = $req->time_p;
 		//危险球类型
 		//危险球类型
 		$rtype = $req->warn_type;
 		$rtype = $req->warn_type;
 		//验证是否是首次添加危险球
 		//验证是否是首次添加危险球
 		$typenum = $req->type_num;
 		$typenum = $req->type_num;
 
 
-		if(empty($matchid) || empty($time_i) || empty($time_s) || empty($timep) || empty($rtype))  return json_encode(['status'=>2,'msg'=>'设置数据异常']);
+		if(empty($matchid)  || empty($timep) || empty($rtype))  return json_encode(['status'=>2,'msg'=>'设置数据异常']);
 		$model = \App\Models\Stzqresult::where('match_id', $matchid)->select("warn_more","start_time","status")->first()->toArray();
 		$model = \App\Models\Stzqresult::where('match_id', $matchid)->select("warn_more","start_time","status")->first()->toArray();
-		if($model['status'] != 2) return json_encode(['status'=>3,'msg'=>'赛事未结束,不能设置危险球']);
+		// if($model['status'] != 2) return json_encode(['status'=>3,'msg'=>'赛事未结束,不能设置危险球']);
 
 
+		/*
 		//赛事开赛时间
 		//赛事开赛时间
 		$match_time = $model['start_time'];
 		$match_time = $model['start_time'];
 		//危险球出现进行时间 秒
 		//危险球出现进行时间 秒
 		$warn_time_s = ($time_i*60)+$time_s;
 		$warn_time_s = ($time_i*60)+$time_s;
 		//危险球出现时间  == 开赛时间+进行时间 秒
 		//危险球出现时间  == 开赛时间+进行时间 秒
 		$timei = date('Y-m-d H:i:s',strtotime($match_time)+$warn_time_s);
 		$timei = date('Y-m-d H:i:s',strtotime($match_time)+$warn_time_s);
+		*/
 
 
 		//该赛事的单式注单
 		//该赛事的单式注单
 		$orders = array();
 		$orders = array();

+ 76 - 18
resources/views/admin/sportsfoot/addwarn.blade.php

@@ -16,7 +16,7 @@
                             <option value="自由球">自由球</option>
                             <option value="自由球">自由球</option>
                             <option value="掷入球">掷入球</option>
                             <option value="掷入球">掷入球</option>
                         </select>
                         </select>
-    					<!-- <input type="text" placeholder="输入赛事ID" name="sousuo" id="sousuo" lay-verify="" autocomplete="off" class="layui-input" value="{{$sousuo}}"> -->
+    					<!-- <input type="text" placeholder="输入赛事ID" name="sousuo" id="sousuo" lay-verify="" autocomplete="off" class="layui-input" value="{{$sousuo}}">11 -->
     				</div>
     				</div>
 
 
     				<div class="layui-inline">
     				<div class="layui-inline">
@@ -25,10 +25,14 @@
                     
                     
 				</div>
 				</div>
             </form>
             </form>
-            <div class="layui-inline" style="margin-left:320px;margin-top:-55px;"><button onclick="addResult({{$match_id}},'',10000)" class="layui-btn layui-btn-sm layui-btn-green set">危险球添加</button></div>
+            <div class="layui-inline" style="margin-left:320px;margin-top:-55px;"><button onclick="addResult({{$match_id}},'',10000)" class="layui-btn layui-btn-sm layui-btn-green set">添加危险球</button></div>
             </div>
             </div>
 		</div>
 		</div>
-	</div>
+    </div>
+
+    <table id="demo" lay-filter="test"></table>
+    
+<!--
 	
 	
     <table lay-filter="parse-table-demo" style="width:80%;text-align:left;">
     <table lay-filter="parse-table-demo" style="width:80%;text-align:left;">
         <tr class="layui-form-item">
         <tr class="layui-form-item">
@@ -57,6 +61,8 @@
         @endif
         @endif
     </table>
     </table>
 
 
+-->
+
     <script type="text/javascript">
     <script type="text/javascript">
         $(function () {
         $(function () {
             $('body').on('click', 'a[eventtype="event-delete"]', function () {
             $('body').on('click', 'a[eventtype="event-delete"]', function () {
@@ -73,65 +79,78 @@
             })
             })
         })
         })
 
 
+
         let conttxt = '';
         let conttxt = '';
         let layerOpen = '';
         let layerOpen = '';
         function addResult(match_id,wid,typenum){
         function addResult(match_id,wid,typenum){
             var wid = wid?wid:0;
             var wid = wid?wid:0;
+
             $.ajax({
             $.ajax({
                 type: 'POST',
                 type: 'POST',
                 dataType: 'json',
                 dataType: 'json',
                 url: '/admin/Sportsfoot/warnresult',
                 url: '/admin/Sportsfoot/warnresult',
-                data: {match_id:match_id,wid:wid},
+                data: {match_id:match_id,wid:wid,typenum:typenum},
                 success: function(data) {
                 success: function(data) {
                     conttxt ='<div style="margin-left:50px;margin-top:20px;font-size:18px;line-height:150%;"><input type="hidden" id="matchid" name="matchid" value="'+match_id+'" /><input type="hidden" id="wid" name="wid" value="'+wid+'" /><input type="hidden" id="typenum" name="typenum" value="'+typenum+'" /><div style="display: flex;margin-top: 30px;"><li style="width: 120px;">危险球时间:</li>';
                     conttxt ='<div style="margin-left:50px;margin-top:20px;font-size:18px;line-height:150%;"><input type="hidden" id="matchid" name="matchid" value="'+match_id+'" /><input type="hidden" id="wid" name="wid" value="'+wid+'" /><input type="hidden" id="typenum" name="typenum" value="'+typenum+'" /><div style="display: flex;margin-top: 30px;"><li style="width: 120px;">危险球时间:</li>';
 
 
-                    /*
+/*
                     if(wid!=0){
                     if(wid!=0){
                         conttxt += '<input type="text" id="timei" name="timei" value="'+data.warn_more[wid].timei+'" autocomplete="off">';
                         conttxt += '<input type="text" id="timei" name="timei" value="'+data.warn_more[wid].timei+'" autocomplete="off">';
                     }else{
                     }else{
                         conttxt += '<input type="text" id="timei" name="timei" value="'+data['starttime']+'" autocomplete="off">';
                         conttxt += '<input type="text" id="timei" name="timei" value="'+data['starttime']+'" autocomplete="off">';
                     }
                     }
-                    */
 
 
                     //=================
                     //=================
 
 
+/*
                     conttxt += '<input type="number" min="0" max="90" style="width:63px;" placeholder="0~90" id="timei_i" name="timei_i" value="" autocomplete="off">';
                     conttxt += '<input type="number" min="0" max="90" style="width:63px;" placeholder="0~90" id="timei_i" name="timei_i" value="" autocomplete="off">';
                     conttxt += '<p>分</p>';
                     conttxt += '<p>分</p>';
                     conttxt += '<input type="number" min="0" max="59" style="width:63px;" placeholder="0~59" id="timei_s" name="timei_s" value="" autocomplete="off">';
                     conttxt += '<input type="number" min="0" max="59" style="width:63px;" placeholder="0~59" id="timei_s" name="timei_s" value="" autocomplete="off">';
                     conttxt += '<p>秒</p>';
                     conttxt += '<p>秒</p>';
-
+*/
                     //======================
                     //======================
+                    conttxt += '<input type="text" id="timei" name="timei">';
 
 
                     conttxt +='</div><div style="display: flex;margin-top: 20px;"><li style="width: 120px;">需审核时间:</li>';
                     conttxt +='</div><div style="display: flex;margin-top: 20px;"><li style="width: 120px;">需审核时间:</li>';
                     if(data.warn_more[wid].timep!=0){
                     if(data.warn_more[wid].timep!=0){
-                        conttxt += '<input type="number" min="60" max="300"  style="width:150px;" placeholder="60~300" id="timep" name="timep" value="'+data.warn_more[wid].timep+'" autocomplete="off">';
+                        conttxt += '<input type="number" min="60" max="300"  style="width:200px;" placeholder="60~300" id="timep" name="timep" value="'+data.warn_more[wid].timep+'" autocomplete="off">';
                     }else{
                     }else{
-                        conttxt += '<input type="number" min="60" max="300"  style="width:150px;" placeholder="60~300" id="timep" name="timep" autocomplete="off">';
+                        conttxt += '<input type="number" min="60" max="300"  style="width:200px;" placeholder="60~300" id="timep" name="timep" autocomplete="off">';
                     }
                     }
                     conttxt += '<p>秒</p>';
                     conttxt += '<p>秒</p>';
 
 
-                    conttxt += '</div><div style="display: flex;margin-top: 20px;"><li style="width: 120px;">危险球类型:</li><select name="warntype" id="warntype">';
+                    conttxt += '</div><div style="display: flex;margin-top: 20px;"><li style="width: 120px;">危险球类型:</li><select style="width:225px;" name="warntype" id="warntype">';
                     if(data.warn_more[wid].rtype!=0){
                     if(data.warn_more[wid].rtype!=0){
-                        conttxt += '<option style="width:140px;" value="'+data.warn_more[wid].rtype+'">'+data.warn_more[wid].rtype+'</option><option style="width:140px;" value="0">无危险球类型';
+                        conttxt += '<option style="width:225px;" value="'+data.warn_more[wid].rtype+'">'+data.warn_more[wid].rtype+'</option><option style="width:140px;" value="0">无危险球类型';
                     }else{
                     }else{
-                        conttxt += '<option style="width:140px;" value="0">请选择危险球类型';
+                        conttxt += '<option style="width:225px;" value="0">请选择危险球类型';
                     }
                     }
 
 
-                    conttxt += '</option><option value="角球">角球</option><option value="12码罚球">12码罚球</option><option value="自由球">自由球</option><option value="掷入球">掷入球</option></select></div><br><div style="margin-left:230px;"><button class="layui-btn layui-btn-sm layui-btn-green set" onclick="buttonClick()"><h3>确定</h3></button>&nbsp;<button class="layui-btn layui-btn-sm layui-btn-danger" onclick="czClick()"><h3>取消</h3></button></div></div>';
+                    conttxt += '</option><option style="width:225px;" value="角球">角球</option><option style="width:225px;" value="12码罚球">12码罚球</option><option style="width:225px;" value="自由球">自由球</option><option style="width:225px;" value="掷入球">掷入球</option></select></div><br><div style="margin-left:230px;"><button class="layui-btn layui-btn-sm layui-btn-green set" onclick="buttonClick()"><h3>确定</h3></button>&nbsp;<button class="layui-btn layui-btn-sm layui-btn-danger" onclick="czClick()"><h3>取消</h3></button></div></div>';
 
 
                     layerOpen = layer.open({
                     layerOpen = layer.open({
                       type: 1 //Page层类型
                       type: 1 //Page层类型
                       ,area: ['500px', '270px']
                       ,area: ['500px', '270px']
-                      ,title: '<h2>添加危险球结果<h2>'
+                      ,title: '<h2>添加/编辑危险球结果<h2>'
                       ,shade: 0.6 //遮罩透明度
                       ,shade: 0.6 //遮罩透明度
                       ,maxmin: true //允许全屏最小化
                       ,maxmin: true //允许全屏最小化
                       ,anim: 1 //0-6的动画形式,-1不开启
                       ,anim: 1 //0-6的动画形式,-1不开启
                       ,content:conttxt
                       ,content:conttxt
                     });
                     });
+
+                     //日期时间有效范围的设定: 
+                    laydate.render({ 
+                    elem: '#timei'
+                    ,type: 'datetime'
+                    ,value: data.warn_more[wid].timei
+                    ,min: data.starttime
+                    ,max: data.endtime
+                    });
                 }
                 }
             })
             })
         }
         }
 
 
+
         function czClick() {
         function czClick() {
             layer.close(layerOpen)
             layer.close(layerOpen)
         }
         }
@@ -146,18 +165,17 @@
 
 
         function buttonClick(){
         function buttonClick(){
             var matchid = $("#matchid").val();
             var matchid = $("#matchid").val();
-            var timei_i = $("#timei_i").val();
-            var timei_s = $("#timei_s").val();
+            var timei = $("#timei").val();
             var timep = $("#timep").val();
             var timep = $("#timep").val();
             var warntype = $("#warntype").val();
             var warntype = $("#warntype").val();
-            var wid = $("#wid").val();
+            var wid = ($("#wid").val())-1;
             var typenum = $("#typenum").val();
             var typenum = $("#typenum").val();
 
 
             $.ajax({
             $.ajax({
                 type: 'POST',
                 type: 'POST',
                 dataType: 'json',
                 dataType: 'json',
                 url: '/admin/Sportsfoot/addwarnonly',
                 url: '/admin/Sportsfoot/addwarnonly',
-                data: {match_id:matchid,time_i:timei_i,time_s:timei_s,time_p:timep,warn_type:warntype,wid:wid,type_num:typenum},
+                data: {match_id:matchid,time_i:timei,time_p:timep,warn_type:warntype,wid:wid,type_num:typenum},
                 success: function(data) {
                 success: function(data) {
                     //console.log(data);
                     //console.log(data);
                     if(data.status==1){
                     if(data.status==1){
@@ -198,5 +216,45 @@
         */
         */
 
 
     </script>
     </script>
+    <script src="/layui/layui.js"></script> 
+    <script type='text/javascript'>
+        var table = layui.table;
+ 
+        //执行渲染危险期数据
+        table.render({
+            elem: '#demo' //指定原始表格元素选择器(推荐id选择器)
+            ,height: 315 //容器高度
+            ,cols:  [[ //标题栏
+                {checkbox: true}
+                ,{field: 'id', title: 'ID'}
+                ,{field: 'timei', title: '发生时间'}
+                ,{field: 'timep', title: '有效时间(秒)'}
+                ,{field: 'rtype', title: '类型'}
+                ,{fixed: 'right', title: '操作', align:'center', toolbar: '#barDemo'}
+
+            ]] 
+            ,url: '/admin/Sportsfoot/getWarnData'
+            ,where: {match_id: {{$match_id}}}
+        });
+
+
+        //监听工具条 
+        table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
+            var warn_id = (obj.data.id)-1; //获得当前id
+            var layEvent = obj.event; 
+            
+                if(layEvent === 'edit'){ //编辑
+                    addResult({{$match_id}},warn_id,2)
+                }
+        });
+    
+    </script>
+
+    <script type="text/html" id="barDemo">
+        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>    
+    </script>
+
+    
+      
 
 
 @endsection
 @endsection