add.html 11.8 KB
<!DOCTYPE HTML>
<html  lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<head>
    <th:block th:include="include :: header" />
    <th:block th:include="include :: select2-css" />
	<style type="text/css">
		/* 缩略图 */
		#my_thumbnail{
			height: 85px;
			overflow-x: auto;
			border: 1px solid blue;
		}
		#my_thumbnail img{
			margin: 0 5px;
		}
	</style>
</head>
<body class="white-bg">
    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
        <form class="form-horizontal m" id="form-receiptHeader-add">
			<div class="form-group">
				<label class="col-sm-3 control-label">入库类型:</label>
				<div class="col-sm-8">
						<input id="receiptType" name="receiptType" class="form-control" type="text" th:value="CLXXCK" readonly>
				</div>
<!--					<select id="receiptType" name="receiptType" class="form-control">-->
<!--						readonly-->
<!--&lt;!&ndash;						<option th:text="CLXXRK" th:value="CLXXRK"></option>&ndash;&gt;-->
<!--					</select>-->
			</div>
<!--			<div class="form-group">-->
<!--				<label class="col-sm-3 control-label">磅单编号:</label>-->
<!--				<div class="col-sm-8">-->
<!--					<input id="poundNumber" name="poundNumber" class="form-control" type="text">-->
<!--				</div>-->
<!--			</div>-->
			<div class="form-group">
				<label class="col-sm-3 control-label">客户:</label>
				<div class="col-sm-8">
					<select id="customerCode" name="customerCode" class="form-control"></select>
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">司机姓名:</label>
				<div class="col-sm-8">
					<input id="vehicleName" name="vehicleName" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">身份证号:</label>
				<div class="col-sm-8">
					<input id="cardNumber" name="cardNumber" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group" style="margin-left: 190px">
				<button onclick="ReadIDCard()" class="btn btn-danger" type="button">识别身份证</button>
				<button type="button" class="btn btn-primary"  onclick="getWeight()" >获取重量</button>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">毛重:</label>
				<div class="col-sm-8">
					<input id="grossWeight" name="grossWeight" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">皮重:</label>
				<div class="col-sm-8">
					<input id="tareWeight" name="tareWeight" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">净重:</label>
				<div class="col-sm-8">
					<input id="netWeight" name="netWeight" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">物料:</label>
				<div class="col-sm-8">
					<select id="userDef2" name="userDef2" class="form-control" th:with="probablyMaterial=${@dict.getType('probablyMaterial')}">
						<option th:each="dict : ${probablyMaterial}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option>
					</select>
				</div>
			</div>
<!--			<div class="form-group">-->
<!--				<label class="col-sm-3 control-label">物料名称:</label>-->
<!--				<div class="col-sm-8">-->
<!--					<input id="meterialName" name="meterialName" class="form-control" type="text">-->
<!--				</div>-->
<!--			</div>-->
<!--			<div class="form-group">-->
<!--				<label class="col-sm-3 control-label">物料编码:</label>-->
<!--				<div class="col-sm-8">-->
<!--					<input id="materialCode" name="materialCode" class="form-control" type="text">-->
<!--				</div>-->
<!--			</div>-->
<!--			<div class="form-group">-->
<!--				<label class="col-sm-3 control-label">物料单位:</label>-->
<!--				<div class="col-sm-8">-->
<!--					<input id="materialUnit" name="materialUnit" class="form-control" type="text">-->
<!--				</div>-->
<!--			</div>-->
<!--			<div class="form-group">-->
<!--				<label class="col-sm-3 control-label">物料规格:</label>-->
<!--				<div class="col-sm-8">-->
<!--					<input id="materialSpec" name="materialSpec" class="form-control" type="text">-->
<!--				</div>-->
<!--			</div>-->
			<div class="form-group">
				<label class="col-sm-3 control-label">车牌号:</label>
				<div class="col-sm-8">
					<input id="carNumber" name="carNumber" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">驾驶证:</label>
				<div class="col-sm-8">
					<input id="driverNumber" name="driverNumber" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">同行人数:</label>
				<div class="col-sm-8">
					<input id="userDef1" name="userDef1" class="form-control" type="text">
				</div>
			</div>
			<div class="form-group" style="width:600px;margin: 0 auto;white-space: nowrap">
					<img id="cameraPlcOut" name="cameraPlcOut" src="" width="350px" height="200px"/>
					<img id="view2" src="" width="300px" height="200px" alt="副摄像头画面">
			</div>
			<div class="form-group" style="width:310px;margin: 0 auto;">
				<button id="plc" name="plc" class="btn btn-danger" type="button">车辆出库拍照</button>
				<button class="btn btn-info" type="button" onclick="scan(1)">驾驶证拍照</button>
			</div>
			<div id="my_thumbnail">
			</div>
<!--			<div class="form-group" style="margin-left: 350px">-->
<!--				<button onclick="ReadIDCard()" class="btn btn-danger" type="button">识别身份证</button>-->
<!--			</div>-->
			<div style="border: 2px solid red;margin-top: 30px;" hidden="hidden">
				<img id="res_img" src="" width="400px" height="300px" alt="">
			</div>
			<div class="form-group">
				<div class="form-control-static col-sm-offset-9">
					<button type="submit" class="btn btn-primary" >提交</button>
					<button onclick="$.modal.close()" class="btn btn-danger" type="button" >关闭</button>
				</div>
			</div>
		</form>
	</div>
    <th:block th:include="include :: footer" />
    <th:block th:include="include :: select2-js" />
	<th:block th:include="include :: thumbnail_customized-js" />
    <script type="text/javascript">
		$("#view1").attr("src", "http://127.0.0.1:38088/video=stream&camidx=0");
		$("#view2").attr("src", "http://127.0.0.1:38088/video=stream&camidx=1");

		// 加载主头视频模式
		view1_mode_data1 = { "camidx": "0", "mode": "0" };
		view1_mode_data2 = { "camidx": "0", "mode": "1" };
		$.post("http://127.0.0.1:38088/device=getresolution", JSON.stringify(view1_mode_data2), function(res){

		})

		// 加载副头视频模式
		view2_mode_data1 = { "camidx": "1", "mode": "0" };
		view2_mode_data2 = { "camidx": "1", "mode": "1" };
		$.post("http://127.0.0.1:38088/device=getresolution", JSON.stringify(view2_mode_data2), function(res){

		})

		function scan(view){
			data = {
				"filepath": "D:\\driverOut.jpg",
				"rotate": "0",
				"deskew": "0",
				"camidx": "0",
				"ColorMode": "0",
				"quality": "0"
			}
			$.post("http://127.0.0.1:38088/video=grabimage", JSON.stringify(data), function(res){
				add_img(res.photoBase64);
			})
		}

		function add_img(img_base64){
			img = document.createElement('img');
			img.id = 'hu' + String(Math.random());
			img.src = "data:image/jpg;base64," + img_base64;
			img.oncontextmenu = showOperation;
			img.style.width = '80px';
			img.style.height = '80px';
			document.getElementById('my_thumbnail').appendChild(img)
		}
		document.getElementById("plc")
				.addEventListener("click", function() {
					$.ajax({
						cache : false,
						type : "POST",
						url : ctx + "API/WMS/v2/cameraLogin",
						dataType: 'json',
						data : {
							"cameraId": "2"
						},
						async : false,
						error : function(request) {
							$.modal.alertError("请求失败!");
						},
						success : function(result) {
							if (result.code == web_status.SUCCESS) {
								getData()
								$.modal.msgSuccess(result.msg);
							}else{
								$.modal.msgError(result.msg);
							}
						}
					});
				});
		function getData(){
			let url = "/wms/img/Capture/carOut.jpg?" + Date.parse(new Date());
			$("#cameraPlcOut").attr('src',url);
			// setTimeout(getData,50)
		}

		var prefix = ctx + "vehicle/vehicleShipment";

		$("#form-receiptHeader-add").validate({
            rules:{
				receiptType:{
					required:true,
				},
                companyCode:{
                    required:true,
                },
            },
			submitHandler: function(form) {
                $.ajax({
                    cache : true,
                    type : "POST",
                    url : prefix + "/add",
					data : $("#form-receiptHeader-add").serializeArray(),
					async : false,
                    error : function(request) {
                        $.modal.alertError("请求失败!");
                    },
                    success : function(data) {
                        $.operate.saveSuccess(data);
                    }
                });
			}
		});

		$(function () {
            layui.use('laydate', function() {
                var laydate = layui.laydate;
                laydate.render({ elem: '#scheduledArriveDate',min: 0, theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss'});
            });
			$('#customerCode').select2({
				ajax: {
					url: ctx+'config/customer/getData',
					dataType: 'json',
					type: 'post',
					data: function (params) {
						let query = {
							customerName: params.term,
						}
						return query;
					}
				}
			});
        })



		function getWeight(){
			let url='http://10.34.101.77:8888/wms/API/WMS/v2/getWeightForSerial';
			let type = "POST";
			let dataType = "json";
			let data = {};
			let config = {
				url: url,
				type: type,
				dataType: dataType,
				data: data,
				beforeSend: function () {
					$.modal.loading("正在处理中,请稍后...");
				},
				success: function (result) {
					console.log(result.data)
					$("#grossWeight").val(result.data)
					$.operate.ajaxSuccess(result);
				}
			};
			$.ajax(config)
		}

		function ReadIDCard(){
			$.post("http://127.0.0.1:38088/card=idcard", function(res){
				if(res.code == '0'){
					$("#cardNumber").val(data.IDCardInfo.cardID)
					$("#vehicleName").val(data.IDCardInfo.name)
					add_img(data.IDCardInfo.photoBase64_Z);
					add_img(data.IDCardInfo.photoBase64_F);
				}else{
					alert("请将证件放对位置!!!")
				}
			})
		}

		// 主头纠偏拍照
		function scan1cutpage(){
			debugger;
			var data = {
				"filepath": "base64",
				"rotate": "0",
				"cutpage": "1",
				"camidx": "0"
			};
			$.post("http://127.0.0.1:38088/video=grabimage", JSON.stringify(data),
					function(res){
						$('#res_img').attr('src', "data:image/jpg;base64," + res.photoBase64);
						// 调用方式
						// 参数一: 选择器,代表img标签
						// 参数二: 图片名称,可选
						downloadIamge('#res_img', res.photoBase64)
					}
			)
		}



		function downloadIamge(selector, name) {
			var image = new Image()
			// 解决跨域 Canvas 污染问题
			image.setAttribute('crossOrigin', 'anonymous')
			image.onload = function () {
				var canvas = document.createElement('canvas')
				canvas.width = image.width
				canvas.height = image.height

				var context = canvas.getContext('2d')
				context.drawImage(image, 0, 0, image.width, image.height)
				var url = canvas.toDataURL('image/png')

				// 生成一个a元素
				var a = document.createElement('a')
				// 创建一个单击事件
				var event = new MouseEvent('click')

				// 将a的download属性设置为我们想要下载的图片名称,若name不存在则使用‘下载图片名称’作为默认名称
				a.download = name || '下载图片名称'
				// 将生成的URL设置为a.href属性
				a.href = url

				// 触发a的单击事件
				a.dispatchEvent(event)
			}

			image.src = document.querySelector(selector).src
		}

	</script>
</body>
</html>