瀏覽代碼

Merge branch 'master' of https://gitee.com/huangsanjia/dm.line.com

huangsanjia 2 年之前
父節點
當前提交
e208664b56

+ 39 - 2
Application/Admin/Controller/NewQcodeController.class.php

@@ -404,7 +404,7 @@ class  NewQcodeController extends AddonController
     }
     
     public function GetLargeLabelApi(){//获取关联批次的大件标签列表
-        $field = "code,print_date,p_nums,id,code_cp1,l_print,l_status,archive";
+        $field = "code,print_date,p_nums,id,code_cp1,l_print,l_status,archive,l_weight";
         $LargeLabelList = M('qcode_large')->field($field)->where('bach_id='.I('get.product_id'))->select();
        // var_dump($LargeLabelList);
         foreach($LargeLabelList as $key=>$val){
@@ -532,6 +532,7 @@ class  NewQcodeController extends AddonController
         $ids=explode(",",$id);//将字符串以逗号转化为数组
         $num = I('post.reptQty')?I('post.reptQty'):0;//重复打印次数
 
+        $arr = ['03100300000000001'];
         if (I('post.status')==1){//修改打印次数--自动打码
             foreach($ids as $key=>$val){//获取对应的大标签以及绑定的小标签的相关信息
                 if(I('post.sign_type')==1){//打印的为大件标签
@@ -553,6 +554,39 @@ class  NewQcodeController extends AddonController
             }
             $total['num']=$num;
             $this->ajaxReturn($total);
+        }else if (I('post.status')==3){//修改
+            if(I('post.type')==1){//修改大件重量
+                $data['l_weight'] = intTochar(I('post.reptQty')*100,6);//2023年4月17日 批次列表页修改大件重量
+
+                foreach($ids as $val){
+                    //查询code
+                    $code = M('qcode_large')->field('code')->where('id='.$val)->find()['code'];
+                    if($code){
+                        $code1 = substr($code,0,59);
+                        $code2 = substr($code,65,85);
+                        $data['code'] = $code1.$data['l_weight'].$code2;
+                        //修改code和大件重量
+                        $largelabel = M('qcode_large')->where('id='.$val)->save($data);
+                        if($largelabel===false){
+                            var_dump('001');
+                        }
+                    }
+                }
+                $this->ajaxReturn(['code'=>0]);
+            }
+            if(I('post.type')==2){//修改大件总张数
+                $data['l_num'] = I('post.reptQty');//2023年4月17日 批次列表页修改大件重量
+
+                foreach($ids as $val){
+                    //修改大件总张数
+                    $largelabel = M('qcode_large')->where('id='.$val)->save($data);
+                    if($largelabel===false){
+                        var_dump('002');
+                    }
+
+                }
+                $this->ajaxReturn(['code'=>0]);
+            }
         }else{
             foreach($ids as $key=>$val){//获取对应的大标签以及绑定的小标签的相关信息
                 if(I('post.sign_type')==1){//打印的为大件标签
@@ -561,11 +595,14 @@ class  NewQcodeController extends AddonController
 //                    M('qcode_large')->where('id='.$val)->setField('l_print','1');//更新大标签的打印状态$num
                     //在查找相关的信息
                     $largelabel[$key] = M('qcode_large')->alias('c')
-                        ->field('u.main_unit, u.sec_unit, u.proportion, d.s_weight,d.id as bath_id,d.supplier_name,d.matter_name, d.matter_no, d.matter_size,d.num,d.manufacture_date,d.l_flow,c.code, c.code_cp1 as banhao,d.box_num,d.bach_num')
+                        ->field('u.main_unit, u.sec_unit, u.proportion, d.s_weight,d.id as bath_id,d.supplier_name,d.matter_name, d.matter_no, d.matter_size,d.num,d.manufacture_date,d.l_flow,c.l_weight,c.l_num,c.code, c.code_cp1 as banhao,d.box_num,d.bach_num')
                         ->join('qr_qcode_bach d on c.bach_id=d.id')
                         ->join('qr_qcode_unit u on u.code=d.matter_no')
                         ->where('c.id='.$val)
                         ->select();
+                    if(in_array($largelabel[$key][0]['matter_no'],$arr)){
+                        $largelabel[$key][0]['is_proportion'] = 1;
+                    }
                     $numn = M('qcode_small')->where('large_id='.$val)->count();
                     $largelabel[$key][0]['numn']=$numn;
                 }

+ 188 - 2
Application/Admin/View/Qcode/budadetail.html

@@ -39,6 +39,17 @@
 </head>
 <style>
 	.add_bach table input{margin-bottom:7px;}
+	.msg {
+		font-size: 13px;
+	}
+
+	.onError {
+		color: red;
+	}
+
+	.onSuccess {
+		color: green;
+	}
 </style>
 <body class="easyui-layout">
 <div data-options="region:'north',title:'批次信息',split:true" style="height: 300px;">
@@ -161,7 +172,7 @@
 		<if condition="$user_type eq 1">
 			<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-print',plain:true" onclick="rePrintFun2(2)">自动打码(小件)</a>
 		</if>
-
+		<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-print',plain:true" onclick="rePrintFun3(3)">修改</a>
 	</div>
 	<table id=supTgGrid></table>
 </div>
@@ -230,6 +241,24 @@
 	</form>
 </div>
 
+<div id="reptWin3">
+	<form id="reptForm3" style="padding: 5px;">
+		<div>
+			<div id="type1"></div>
+			<select name="type" id="type" >
+				<option value="">---请选择---</option>
+				<option value="l_weight">大件重量</option>
+				<option value="l_num">大件数量</option>
+			</select>
+			<span class="l_weight">
+				<input id="reptQty3" name="reptQty3" style="margin-top: 10px;" class="easyui-validatebox"/>
+			</span>
+			<span class="l_num" style="display:none;">
+				<input id="reptQty33" name="reptQty33" style="margin-top: 10px;" class="easyui-validatebox"/>
+			</span>
+		</div>
+	</form>
+</div>
 <div id="reptWins">
 	<div style="padding:5px 5px 5px 5px">
 		材料尺寸:<select name="newlabel_types" id="newlabel_types">
@@ -281,7 +310,7 @@
 	</form>
 
 </div>
-
+<script src="__PUBLIC__/common/codeform.js"></script>
 <script>
 
     $('#small_label_enter').bind('keypress',function(event) {
@@ -668,7 +697,33 @@
                 }
             }]
         });
+
+		$('#reptWin3').dialog({
+			title: '确认对话框',
+			width: 500,
+			height: 150,
+			closed: true,
+			cache: false,
+			modal: true,
+			buttons: [{
+				text: '修改',
+				handler: function () {
+					if($('#newlabel_type3').val()==0){
+						$.messager.alert('系统提示', '请先选择修改大件!', 'info');
+						return false;
+					}
+					startPrint3();
+				}
+			}, {
+				text: '取消',
+				handler: function () {
+					$('#reptWin3').window('close');
+				}
+			}]
+		});
     });
+
+
     function addbach(value){
         //追加批次
         //alert(value);
@@ -800,6 +855,43 @@
         $('#reptForm2').form('load', {'printType2': type, 'reptQty2': 1});
     }
 
+	function rePrintFun3(type) {
+		var confirmMsg = "您确定要修改已选择标签?";
+
+		var checked = supTgGrid.datagrid("getChecked");
+		//console.log(checked);
+		if (checked == null || checked.length == 0) {
+			$.messager.alert('系统提示', '请先勾选需要修改的标签!', 'info');
+			return;
+		}
+		if (checked.length > 1) {
+			$.messager.alert('系统提示', '请先勾选单个标签!', 'info');
+			return;
+		}
+		$('#reptWin3').window('open');  // open a window
+		$('#reptForm3').form('load', {'reptQty3': ''});
+	}
+
+	$('#type').change(function () {
+		var type = $(this).val();
+		if (type == 'l_num') {
+			//表示为箱
+			$('.l_num').show();
+			$('.l_weight').hide();
+			// $('input[name=small_num]').attr("readonly", "readonly");
+			// $('input[name=larger_num]').attr("readonly", "readonly");
+			// $('.big_weight').hide();
+			// $('.small_weight').hide();
+		}
+		if (type == 'l_weight') {
+			//表示为卷
+			$('.l_num').hide();
+			$('.l_weight').show();
+			// $('input[name=small_num]').removeAttr('readonly');
+			// $('input[name=larger_num]').removeAttr('readonly');
+
+		}
+	});
     function searchTgFun() {
         supTgGrid.datagrid('load', $('#searchTgForm').serializeObject());
     }
@@ -1542,6 +1634,100 @@
 
 
     }
+
+	function startPrint3() {
+		if($('#type').val() == 'l_weight'){
+			//卷,修改大件重量
+			//校验reptQty3
+			var nameVal = $.trim($('#reptQty3').val()); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "")
+			var regName = /[~#^$@%&!*()<>:;'"{}【】  ]/;
+			if(nameVal == ""  || regName.test(nameVal) || nameVal.length <1 || nameVal < 1 ){
+				return
+			} else{
+				var rep = /[\.]/;
+				var reg = new RegExp("^[0-9]*$");
+				if (rep.test(nameVal)) {
+					//判断有没有小数点
+					if (!/^-?\d+.\d{2}$/.test(nameVal)) {
+						//判断是不是保留了小数点2位
+						return
+					}else{
+						//判断是不是6位
+						nameVal = Number(nameVal*100).toFixed(0);//强制转换成整数  避免精度温蒂
+						// console.log(Number(nameVal*100).toFixed(0))
+						if(!reg.test(nameVal) || nameVal > 999999){
+							//判断是不是数字且有没有大于6位数
+							return
+						}else{
+							var reptQty = $('#reptQty3').val();
+							var type = 1;
+						}
+					}
+				}else{
+					//没有小数点
+					if(!reg.test(nameVal * 1000) || nameVal.length > 6 || nameVal * 100 > 999999){
+						//判断是不是数字且有没有大于6位数
+						return
+					}else{
+						var reptQty = $('#reptQty3').val();
+						var type = 1;
+					}
+				}
+
+			}
+		}else if($('#type').val() == 'l_num'){
+			//箱,修改大件张数
+			var nameVal = $.trim($('#reptQty33').val()); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "")
+			var regName = /[~#^$@%&!*()<>:;'"{}【】.  ]/;
+			if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal)  || Number(nameVal)<1){
+				return
+			}else{
+				var reg = new RegExp("^[0-9]*$");
+				if(!reg.test(nameVal)){
+					return
+				}else{
+					var reptQty = $('#reptQty33').val();
+					var type = 2;
+				}
+			}
+		}else{
+    		//未选择
+			$('#type1').html("");
+			var errorMsg = "请选择修改类型";
+			$('#type1').html("<span class='msg onError'>" + errorMsg + "</span>");
+			return
+		}
+		console.log(reptQty)
+		console.log(type)
+		var idList = new Array();
+		var chechRows = supTgGrid.datagrid('getChecked');
+		for (var i in chechRows) {
+			idList.push(chechRows[i].id);
+		}
+
+		$.ajax({
+			url: "index.php?s=/Admin/NewQcode/rePrintTg",
+			type: "POST",
+			dataType: "json",
+			data: {
+				"idList": idList.toString(),
+				"reptQty": reptQty,
+				"status": 3,
+				"type": type,
+			},
+			success: function (result) {
+				if(result.code==0){
+					$.messager.alert('系统提示','修改成功','success');
+				}
+			},
+			error: function (XMLHttpRequest, textStatus, errorThrown) {
+				$.messager.alert('系统提示', '数据加载错误,请刷新重试!', 'error');
+				return false;
+			}
+		});
+
+		$('#reptWin3').window('close');
+	}
     function yes(id,large_id){
         //alert(id,large_id);
         //修改对应的小标签的状态为正常

+ 59 - 0
Public/common/codeform.js

@@ -250,6 +250,65 @@ $("form :input").blur(function(){
 
         }
     }
+    if($(this).is("#reptQty3")  ){
+        var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "")
+        var regName = /[~#^$@%&!*()<>:;'"{}【】  ]/;
+        if(nameVal == ""  || regName.test(nameVal) || nameVal.length <1 || nameVal < 1 ){
+            var errorMsg = " 重量必填(不能大于4位数)";
+            //class='msg onError' 中间的空格是层叠样式的格式
+            $parent.append("<span class='msg onError'>" + errorMsg + "</span>");
+        } else{
+            var rep = /[\.]/;
+            var reg = new RegExp("^[0-9]*$");
+            if (rep.test(nameVal)) {//判断有没有小数点
+                if (!/^-?\d+.\d{2}$/.test(nameVal)) {//判断是不是保留了小数点2位
+                    var errorMsg = "请向下取整保留小数点后两位";
+                    $parent.append("<span class='msg onError'>" + errorMsg + "</span>");
+                }else{//判断是不是6位
+                    nameVal = Number(nameVal*100).toFixed(0);//强制转换成整数  避免精度温蒂
+                    // console.log(Number(nameVal*100).toFixed(0))
+                    if(!reg.test(nameVal) || nameVal > 999999){//判断是不是数字且有没有大于6位数
+                        var errorMsg = " 请输入不大于4位数的数字!";
+                        $parent.append("<span class='msg onError'>" + errorMsg + "</span>");
+                    }else{
+                        var okMsg=" 输入正确";
+                        $parent.find(".high").remove();
+                        $parent.append("<span class='msg onSuccess'>" + okMsg + "</span>");
+                    }
+                }
+            }else{//没有小数点
+                if(!reg.test(nameVal * 1000) || nameVal.length > 6 || nameVal * 100 > 999999){//判断是不是数字且有没有大于6位数
+                    var errorMsg = " 请输入不大于4位数的数字!";
+                    $parent.append("<span class='msg onError'>" + errorMsg + "</span>");
+                }else{
+                    var okMsg=" 输入正确";
+                    $parent.find(".high").remove();
+                    $parent.append("<span class='msg onSuccess'>" + okMsg + "</span>");
+                }
+            }
+
+        }
+    }
+    if($(this).is("#reptQty33")){
+        var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "")
+        var regName = /[~#^$@%&!*()<>:;'"{}【】.  ]/;
+        if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal)  || Number(nameVal)<1){
+            var errorMsg = " 总张数必填且不能有小数点";
+            //class='msg onError' 中间的空格是层叠样式的格式
+            $parent.append("<span class='msg onError'>" + errorMsg + "</span>");
+        }else{
+            var reg = new RegExp("^[0-9]*$");
+            if(!reg.test(nameVal)){
+                var errorMsg = " 请输入数字!";
+                //class='msg onError' 中间的空格是层叠样式的格式
+                $parent.append("<span class='msg onError'>" + errorMsg + "</span>");
+            }else{
+                var okMsg=" 输入正确";
+                $parent.append("<span class='msg onSuccess'>" + okMsg + "</span>");
+            }
+        }
+    }
+
     if( $(this).is("#s_weight") ){
         var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "")
         var regName = /[~#^$@%&!*()<>:;'"{}【】  ]/;

+ 19 - 11
static/basejs/tg_small_v010.js

@@ -78,19 +78,23 @@ function small_v010_print(result,type,idList,reptQty,sign_type) {
             }else{
                 var pici = data['largrlabel'][j][k]['code'].substr(66,10).replace(/\b(0+)/gi,"")+'、'+data['largrlabel'][j][k]['code'].substr(76,20).replace(/\b(0+)/gi,"");
             }
-            if (data['largrlabel'][j][k]['proportion']){
-                var proportion = data['largrlabel'][j][k]['numn']*data['largrlabel'][j][k]['proportion'];
-                //proportion = String(proportion).replace(/^(.*\..{2}).*$/,"$1");
-                proportion = Math.floor(proportion * 100) / 100;
+            if(data['largrlabel'][j][k]['is_proportion']){
+                var proportion = data['largrlabel'][j][k]['l_weight']/100;
             }else{
-                var proportion = '';
+                if (data['largrlabel'][j][k]['proportion']){
+                    var proportion = data['largrlabel'][j][k]['numn']*data['largrlabel'][j][k]['proportion'];
+                    //proportion = String(proportion).replace(/^(.*\..{2}).*$/,"$1");
+                    proportion = Math.floor(proportion * 100) / 100;
+                }else{
+                    var proportion = '';
+                }
             }
+
             if (data['largrlabel'][j][k]['sec_unit']){
                 var sec_unit = data['largrlabel'][j][k]['sec_unit'];
             }else{
                 var sec_unit = '';
             }
-            var sec_unit
             var html = template(document.getElementById('tpl').innerHTML, {
                 product_name: data['largrlabel'][j][k]['matter_name'],
                 manufacture_date:dateFamite(data['largrlabel'][j][k]['manufacture_date']),
@@ -210,12 +214,16 @@ function small_v010_print(result,type,idList,reptQty,sign_type) {
                     }else{
                         var pici = data['largrlabel'][j][k]['code'].substr(66,10).replace(/\b(0+)/gi,"")+'、'+data['largrlabel'][j][k]['code'].substr(76,20).replace(/\b(0+)/gi,"");
                     }
-                    if (data['largrlabel'][j][k]['proportion']){
-                        var proportion = data['largrlabel'][j][k]['numn']*data['largrlabel'][j][k]['proportion'];
-                        // proportion = String(proportion).replace(/^(.*\..{4}).*$/,"$1");
-                        proportion = Math.floor(proportion * 100) / 100;
+                    if(data['largrlabel'][j][k]['is_proportion']){
+                        var proportion = data['largrlabel'][j][k]['l_weight']/100;
                     }else{
-                        var proportion = '';
+                        if (data['largrlabel'][j][k]['proportion']){
+                            var proportion = data['largrlabel'][j][k]['numn']*data['largrlabel'][j][k]['proportion'];
+                            //proportion = String(proportion).replace(/^(.*\..{2}).*$/,"$1");
+                            proportion = Math.floor(proportion * 100) / 100;
+                        }else{
+                            var proportion = '';
+                        }
                     }
                     if (data['largrlabel'][j][k]['sec_unit']){
                         var sec_unit = data['largrlabel'][j][k]['sec_unit'];