psto 2 роки тому
батько
коміт
80dc92dbb7

+ 94 - 43
webmain/flow/input/inputjs/mode_rjz_car_apply.js

@@ -1,6 +1,7 @@
 //流程模块【rjz_car_apply.任家庄用车申请】下录入页面自定义js页面,初始函数
 function initbodys() {
 
+    var carTypeJson;
     var car_type = getUrlParamCN("car_type");
     var free_con = getUrlParamCN("free_con");
 
@@ -11,60 +12,82 @@ function initbodys() {
         }
     }
 
+    var applyInfo = '';
     c.onselectdata['car_type'] = function (d) {
-        // console.log(d);
-        js.ajax(geturlact('getFreeCarCon'), {car_type: d.name}, function (res) {
-            var data = JSON.parse(res);
-            if (data.success) {
+        js.ajax(geturlact('getFreeCarCon'), {car_type: JSON.stringify(d)}, function (res) {
+            var result = JSON.parse(res);
+            console.log(result);
+            if (result.success) {
                 if (isMobile()) {
-                    var htmlDom = $('.lumtr .form_title')[1];
-                    var htmlStr = '<font color="red">*</font>车辆类型<font color="red" font-szie="12"> (剩余 '+data.data.car_free_con+' 辆 '+d.name+')</font>';
-                    $(htmlDom).html(htmlStr);
-                    form('free_car_con').value = data.data.car_free_con;
+                    console.log(result.data);
+                    // 添加申请类型数量控件
+                    var htmlTrs = '';
+                    for (var i = 0; i < result.data.length; i++) {
+                        var info = result.data[i];
+                        htmlTrs  += '<tr class="lumtr car_type_con"><td class="lulim" nowrap=""><div class="form_title">['+info.car_type+']申请数量<font color="red" font-szie="12">(空闲'+info.car_free_con+'辆)</font></div>';
+                        htmlTrs  += '<div class="form_content"><div class="divinput">';
+                        htmlTrs  += '<input class="inputs" value="1" tag="'+info.car_type+'" type="number" onfocus="js.focusval=this.value" onblur="js.number(this);c.inputblur(this,0)" name="apply_con"></div></div></td><td></td></tr>';
+                    }
+                    $('.car_type_con').remove();
+                    $('.tablelum .lumtr').eq(1).after(htmlTrs);
+                    console.log(htmlTrs);
+                    // 申请信息
+                    var applyConParams = {};
+                    var applyConInfo = '';
+                    $("input[name=apply_con]").each(function() {
+                        var value = $(this).val();
+                        var key = $(this).attr('tag');
+                        applyConParams[key] = value;
+                        applyConInfo += key+' '+value+' 辆\n';
+                    });
+                    applyInfo = applyConParams;
+                    form('apply_con_info').value = applyConInfo;
+                    form('apply_con_json').value = JSON.stringify(applyConParams);
+                    console.log(applyConParams);
+
+                    // $('.tablelum').append('<input class="inputs" name="apply_con_json" type="hidden" value=\''+JSON.stringify(applyConParams)+'\' />');
+
+                    $("*[name=apply_con]").change(function(){
+                        applyConInfo = '';
+                        applyConParams = {};
+                        $("input[name=apply_con]").each(function() {
+                            var value = $(this).val();
+                            var key = $(this).attr('tag');
+                            applyConParams[key] = value;
+                            applyConInfo += key+' '+value+' 辆\n';
+                        });
+                        form('apply_con_info').value = applyConInfo;
+                        form('apply_con_json').value = JSON.stringify(applyConParams);
+                    });
+
+                    // form('Usage').value = '下井转转';
                 } else {
-                    form('free_car_con').value = data.data.car_free_con;
+                    form('free_car_con').value = result.data.car_free_con;
                 }
             }
         }, 'get, json');
     }
-
+    // $('input[name=apply_con]').change(function () {
+    //     console.log($(this).val())
+    //     $("input[name=apply_con]").each(function() {
+    //         var value = $(this).val();
+    //         var key = $(this).attr('tag');
+    //         applyConInfo += key+' '+value+' 辆\n';
+    //     });
+    //     form('apply_con_info').value = applyConInfo;
+    // });
     if (isMobile()) {
         setTimeout(function() {
+            $("#title_explain").text("调度说明");
             var time = getNowDatetime();
             var step = getStep();
 
             // 获取车辆类型
-            var carType = getInputVal('input_car_type');
-
+            // carTypeJson = getInputVal('input_apply_con_json');
+            carTypeJson = $("#data_apply_con_json").text();
             console.log(step);
             console.log("APP端");
 
-            // if (step === 'dispatch_assess') {
-            //     setCarFreeCon(carType);
-            // } else if (step === 'fleet_select_car') {
-            //     // 显示数量
-            //     setCarFreeCon(carType);
-            //     // 选择车辆
-            //     setSelectCar(carType);
-            // } else if(step === 'load_car_succ') {
-            //     // 设置装车结束时间
-            //     $("#div_load_end_time input").attr('value', time);
-            //     $("*[name='load_end_time']").removeAttr('onclick');
-            // } else if (step == 'fleet_assess_load_car_succ') {
-            //     // 设置实际使用完毕时间
-            //     load_end_use();
-            // } else if (step == 'load_end_use') {
-            //     // 设置实际使用完毕时间
-            //     $("*[name='actual_end_time']").attr('value', time);
-            //     $("*[name='actual_end_time']").removeAttr('onclick');
-            // } else if (step === 'fleet_assess_load_end_use') {
-            //     setAssessSuccStep();
-            //     submitAssessSucc();
-            // } else {
-            //
-            // }
-
-
             // 1 - 领导审核(暂时隐藏)
             if (step === 'leader_review') {
                 $(".car_con_col").show();
@@ -72,12 +95,12 @@ function initbodys() {
                 // 2 - 调度室审批
             if (step === 'dispatch_assess') {
                 // 设置空闲车数量
-                setCarFreeCon(carType);
+                setCarFreeCon(carTypeJson);
             } else
                 // 3 - 运输队审批
             if (step === 'fleet_select_car') {
                 // 设置空闲车数量
-                setCarFreeCon(carType);
+                setCarFreeCon(carTypeJson);
                 // 选择车辆
                 setSelectCar();
             } else
@@ -139,6 +162,9 @@ function initbodys() {
 
     function getStep() {
         var step_text_original = $("#input_step").html();
+
+        if(step_text_original == null) return;
+
         var step_text = step_text_original.split('(')[0];
 
         var carnameStep         = $("#btn_carname").length; // 选择车辆步骤
@@ -178,7 +204,9 @@ function initbodys() {
 
 
 
+
     function isMobile() {
+        console.log("判断是否手机");
         var userAgentInfo = navigator.userAgent;
 
         var mobileAgents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
@@ -200,6 +228,7 @@ function initbodys() {
             mobile_flag = true;
         }
 
+
         return mobile_flag;
     }
 
@@ -223,9 +252,9 @@ function initbodys() {
     // 操作函数
 
     function setCarFreeCon(carType) {
-
         $(".car_con_col").show();
         var carTypeJson = "car_type="+carType;
+        // console.log(carType);
         // 显示申请车辆类型剩余数量
         js.ajax(geturlact('getFreeCarCon'), carTypeJson, function (res) {
             if(res.success) {
@@ -236,17 +265,34 @@ function initbodys() {
     }
 
     function setSelectCar() {
+
         // 替换原来onclick方法,增加参数
         $("#btn_carname").removeAttr('onclick');
         $("#btn_carname").click(function (){
-            c.selectdata('carNum',false,'carname','申请车辆',1, carType);
+            c.selectdata('carNum',true,'carname','申请车辆',0, carTypeJson);
         });
+        console.log(carTypeJson);
+
+        c.onselectdata['carname'] = function (d) {
+            var carJson = '';
+            console.log(d);
+            for (var i = 0; i < d.length; i++) {
+                var data =   d[i];
+                var subname = data.subname;
+                var subType = '"'+subname.substring(1,subname.indexOf("】"))+'"';
+                var carId = data.value;
+                console.log(data);
+                carJson += subType + ":" + carId;
+                if(i < d.length - 1){ carJson += ',' }
+                console.log(carJson);
+            }
+            $('input[name=car_name_json]').val(carJson);
+        }
 
         // 选择车辆
         var carnameStep = $("#btn_carname").length; // 选择车辆步骤
         // 判断是否选择车辆步骤,不是选择车辆步骤,则用默认方式提交
         if (carnameStep > 0) {
-            var isAgree;
             // 判断是否同意
             $("*[name='check_status']").click(function(){
                 var agree = $(this).attr('value');
@@ -366,9 +412,14 @@ function initbodys() {
             if (carname == null) {
                 carname = $("*[name='carname_success']").val();
             }
+            if (carname == null) {
+                carname = $("*[name='input_carname']").val();
+            }
             var data = "carname="+carname+"&carstate="+carstate;
+            // input_carname
             js.ajax(geturlact('updateCarState'), data, function (res) {
                 res = JSON.parse(res);
+                console.log(res);
                 if (res.success) {
                     check(0);
                 } else {

+ 2 - 0
webmain/flow/input/inputjs/renjiazhuang/rjz_car_apply.js

@@ -4,6 +4,8 @@ var time = getNowDatetime();
 
 setTimeout(function() {
 
+
+
     var step_text_original = $("#input_step").val();
     if (step_text_original == null) return;
     $(".car_con_col").hide();

+ 35 - 11
webmain/flow/input/mode_rjz_car_applyAction.php

@@ -60,17 +60,19 @@ class mode_rjz_car_applyClassAction extends inputAction{
     // 根据类型获取数量
 	public function carNum() {
 		$carType = $this->get('custom');
+        $carTypeJson = json_decode($carType);
         $arr = [];
+        foreach($carTypeJson as $k=>$v) {
+            $arr[] = $k;
+        }
+        $carTypeStr = str_replace(["[","]"],"",json_encode($arr, JSON_UNESCAPED_UNICODE));
         if ($carType) {
-            $data = m('renjiazhuang')->getCarListByType($carType);
+            $data = m('renjiazhuang')->getCarListByType($carTypeStr);
             foreach ($data as $k => $v) {
-                $arr[] = array('name' => $v['car_num'], 'subname'=> '【'.$v['car_type'].'】'.$v['car_state'], 'value'=>$v['car_num']);
+                $carArr[] = array('name' => $v['car_num'], 'subname'=> '【'.$v['car_type'].'】'.$v['car_state'], 'value'=>$v['id']);
             }
         }
-//        return $arr;
-//		 $arr[] = array("name"=>'第一个下拉',"value"=>"0");
-//		 $arr[] = array("name"=>json_encode($carType),"value"=>"1");
-        return $arr;
+        return $carArr;
 	}
 
     public function carNumAjax() {
@@ -84,19 +86,41 @@ class mode_rjz_car_applyClassAction extends inputAction{
     // 获取空闲数量
 	public function getFreeCarConAjax() {
 		$carType = $this->get('car_type');
-		$data = m('renjiazhuang')->getOneCarCon($carType);
-//		return $data[0];
-//        return($carType);
-        return returnsuccess($data);
+        if($carType) {
+            $carTypeArr = [];
+            $carType = json_decode($carType);
+
+            foreach ($carType as $k => $v) {
+                $carTypeArr[] = $v->name;
+            }
+            $carTypeStr = implode('",',$carTypeArr);
+            $carTypeStr = str_replace(["[","]"],"",json_encode($carTypeArr, JSON_UNESCAPED_UNICODE));
+            $data = m('renjiazhuang')->getCarIdleCon($carTypeStr);
+
+//            return $data;
+            return returnsuccess($data);
+        } else {
+            return returnerror('未选择类型!');
+        }
+
 	}
 
 
     // 更新车辆状态
     public  function updateCarStateAjax() {
-        $carname = $this->get('carname');
+        $carname = '"'.str_replace(',','","',$this->get('carname')).'"';
         $carstate = $this->get('carstate');
         $data = m('renjiazhuang')->updateCarState($carname, $carstate);
         return $data;
     }
 
+    public function usecardata() {
+
+        $arr[] = array("name"=>"第一个下拉框","value"=>"0");
+
+        $arr[] = array("name"=>"第二个下拉框","value"=>"1");
+
+        return $arr;
+    }
+
 }

+ 28 - 12
webmain/flow/page/view_rjz_car_apply_0.html

@@ -14,29 +14,31 @@
             <td height="34" colspan="4" width="15%" align="center" style="font-weight: 600" class="ys1">申请信息</td>
         </tr>
         <tr>
-            <td height="34" width="15%" align="right" class="ys1">车辆类型</td>
-            <td width="35%" class="ys2">
-                <input class="inputs" style="border:none;background:none;" name="car_type" value="{car_type}" readonly="">
-            </td>
-            <td height="34" width="15%" align="right" class="ys1">车牌号</td>
-            <td width="35%" class="ys2">
-                <input class="inputs" style="border:none;background:none;font-weight: 600;color: white; background: #0a6ebd;" name="carname_success" readonly="" value="{carname}">
+            <td height="34" width="15%" align="right" class="ys1">申请信息</td>
+            <td width="35%" class="ys2" colspan="3">
+                <input class="inputs" style="border:none;background:none;" name="apply_con_json" value='{apply_con_json}' readonly="">
             </td>
+<!--            <td height="34" width="15%" align="right" class="ys1">车牌号</td>-->
+<!--            <td width="35%" class="ys2">-->
+<!--                <input class="inputs" style="border:none;background:none;font-weight: 600;color: white; background: #0a6ebd;" name="carname_success" readonly="" value="{carname}">-->
+<!--            </td>-->
         </tr>
         <tr>
-            <td height="34" width="15%" align="right" class="ys1">申请车场</td>
+            <td height="34" width="15%" align="right" class="ys1">出发地</td>
             <td width="35%" class="ys2">
                 <input class="inputs" style="border:none;background:none;" name="parking_location" readonly="" value="{parking_location}">
             </td>
-            <td height="34" width="15%" align="right" class="ys1"></td>
-            <td width="35%" class="ys2"></td>
+            <td height="34" width="15%" align="right" class="ys1">目的地</td>
+            <td width="35%" class="ys2">
+                <input class="inputs" style="border:none;background:none;" name="destination" readonly="" value="{destination}">
+            </td>
         </tr>
         <tr>
-            <td height="34" width="15%" align="right" class="ys1">申请使用日期</td>
+            <td height="34" width="15%" align="right" class="ys1">使用开始时间</td>
             <td width="35%" class="ys2">
                 <input class="inputs" style="border:none;background:none;" name="" readonly="" value="{start_time}">
             </td>
-            <td height="34" width="15%" align="right" class="ys1">申请还车时间</td>
+            <td height="34" width="15%" align="right" class="ys1">使用结束时间</td>
             <td width="35%" class="ys2">
                 <input class="inputs" style="border:none;background:none;" name="" readonly="" value="{end_time}">
             </td>
@@ -47,6 +49,20 @@
             <td align="right" class="ys1">申请人部门</td>
             <td class="ys2">{base_deptname}</td>
         </tr>
+        <!--车辆指派情况-->
+        <tr>
+            <td height="34" colspan="4" width="15%" align="center" style="font-weight: 600" class="ys1">车辆指派情况</td>
+        </tr>
+        <tr>
+            <td height="34" width="15%" align="right" class="ys1">平板车</td>
+            <td width="35%" class="ys2">
+                <input class="inputs" style="border:none;background:none;" name="car_con" readonly="">
+            </td>
+            <td height="34" width="15%" align="right" class="ys1">空闲车辆</td>
+            <td width="35%" class="ys2">
+                <input class="inputs" style="border:none;background:none;" name="surplus" readonly="">
+            </td>
+        </tr>
         <!--实时信息-->
         <tr class="car_con_col">
             <td height="34" colspan="4" width="15%" align="center" style="font-weight: 600" class="ys1">实时信息</td>

+ 11 - 3
webmain/model/flow/flow.php

@@ -677,7 +677,7 @@ class flowModel extends Model
 						//子表
 						if(substr($f,0,7)=='subdata'){
 							$contvimr .= '<tr><td colspan="3"><div style="padding:5px" align="left"><div><b>'.$n.'</b></div>'.$vs.'</div></td></tr>';
-						}else{
+						} else {
 							$contvimr .= '<tr><td style="vertical-align:text-top;">';
                             $contvimr .= '<div align="left" style="color:#000;padding:6px 0px 3px;font-size:16px;font-weight:bold;">';
                             $contvimr .= str_replace(' ','<br>',$n); // 标题
@@ -685,8 +685,10 @@ class flowModel extends Model
                             $contvimr .= '<div style="padding:8px 10px 8px 10px;color:#3A3A3C;font-size:15px;width:94%;min-height:15px;border:1px solid #dcdcdc;border-radius:5px;" align="left">';
                             if ($f == 'base_status' || fnmatch("course[0-9]*_all",$f)) {
                                 $contvimr .= $vs;
+                            } else if($this->isHTML($vs)){
+                                $contvimr .= '<div id="data_'.$f.'">'.$vs.'</div>';
                             } else {
-                                $contvimr .= '<input class="inputs" style="border:none;background:none;" name="input_'.$f.'" value="'.$vs.'" readonly="">';
+                                $contvimr .= '<input class="inputs" style="border:none;background:none;" name="input_'.$f.'" value=\''.$vs.'\' readonly="">';
                             }
                             $contvimr .= '</div></td><td></td></tr>';
 						}
@@ -783,7 +785,13 @@ class flowModel extends Model
 		}
 		return $cont;
 	}
-	
+
+    public function isHTML($text){
+        $processed = htmlentities($text);
+        if($processed == $text) return false;
+        return true;
+    }
+
 	/**
 	*	判断当前是否可以撤回
 	*	撤回条件,审核未同意,最后一步是当前人审核的而为同意,2小时之内

+ 19 - 4
webmain/model/renjiazhuangModel.php

@@ -22,8 +22,9 @@ class renjiazhuangClassModel extends Model
 
     public function getCarListByType($carType)
     {
-        $sqlStr = 'select id, car_num, car_type, car_state from xinhu_rjz_car_list where car_type = "'.$carType.'"';
-		$rows 	= $this->db->getall($sqlStr);
+        $sqlStr = "select id, car_num, car_type, car_state from xinhu_rjz_car_list where car_type in (".$carType.") and car_state = '正常'";
+//        return $sqlStr;
+        $rows 	= $this->db->getall($sqlStr);
         return $rows;
     }
 
@@ -75,7 +76,7 @@ class renjiazhuangClassModel extends Model
     public function getOneCarCon($cartype='') {
 
         if(strlen($cartype) > 0) {
-            $where = " and car_type = '" . $cartype . "'";
+            $where = " and car_type in (" . $cartype . ")";
         }
         // option表选项id
         $optionTablePid = 1146;
@@ -86,9 +87,23 @@ class renjiazhuangClassModel extends Model
         return $rows;
     }
 
+    public function getCarIdleCon($cartypes='') {
+
+        if(strlen($cartypes) > 0) {
+            $where = " and car_type in (" . $cartypes . ")";
+        }
+        $sqlStr = 'select a.name as car_type, count(b.id) car_con, count(case when car_state = "正常" then 1 end) car_free_con';
+        $sqlStr .= ' from xinhu_option a left join xinhu_rjz_car_list b on a.name = b.car_type';
+        $sqlStr .= ' where pid = 1146 '.$where;
+        $sqlStr .= ' group by a.name';
+        $rows = $this->db->getall($sqlStr);
+//        return $sqlStr;
+        return $rows;
+    }
+
     public function updateCarState($carname, $carstate) {
         if ($carname) {
-            $res = $this->db->update('[Q]rjz_car_list','`car_state`="'.$carstate.'"','`car_num` = "'.$carname.'"');
+            $res = $this->db->update('[Q]rjz_car_list','`car_state`="'.$carstate.'"','`car_num` in ('.$carname.')');
             return returnsuccess($res);
         }
         return returnerror('车牌号为空');

+ 1 - 1
webmain/task/mode/tpl_mode_x.html

@@ -274,7 +274,7 @@ if($da['arr']['isplview']=='1'){
 		?>
 
 		<tr>
-			<td class="tdys1"><div  align="right" style="color:#555555"><?php if($smlx==1)echo '<font color=red>*</font>';?>说明</div></td>
+			<td class="tdys1"><div id="title_explain" align="right" style="color:#555555"><?php if($smlx==1)echo '<font color=red>*</font>';?>说明</div></td>
 			<td class="tdys1" style="padding:5px"><div align="left"><textarea class="inputb" name="check_explain" style="width:95%;height:60px;"></textarea></div></td>
 		</tr>