<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<meta charset="utf-8" >
<head th:include="include :: header"></head>
<style>
	#toolbar1{
		display: inline-block;
		/*position: absolute;*/
		margin: 10px auto;
		line-height: 34px;
	}
	#toolbar2{
		display: inline-block;
		/*position: absolute;*/
		margin: 10px auto;
		line-height: 34px;
	}
</style>
<body class="gray-bg">
<div class="container-div">
	<div class="row">
		<div class="col-sm-12 select-info">
			<ul id="myTab" class="nav nav-tabs">
				<li class="active" ><a href="#tabHeader" data-toggle="tab">主表</a></li>
				<li><a href="#tabDetailNotArrive" data-toggle="tab">未到送货单明细</a></li>
				<li><a href="#tabDetail" data-toggle="tab">已到送货单明细</a></li>
			</ul>
			<div id="myTabContent" class="tab-content">
				<div class="tab-pane fade in active" id="tabHeader">
					<div class="col-sm-12 select-info">
						<form id="task-form">
							<div class="select-list">
								<ul>
									<li>
										送货单号:<input type="text" name="code"/>
									</li>
									<li>
										供 应 商:<input type="text" name="supplierCode"/>
									</li>
									<li>
										<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
												class="fa fa-search"></i>&nbsp;搜索</a>
										<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('task-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
									</li>
								</ul>
							</div>
						</form>
					</div>

					<div class="btn-group hidden-xs" id="toolbar" role="group">
						<!--						  <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="getSrm()"  shiro:hasPermission="srm:srmHeader:getReceipt">-->
						<!--							  <i class="fa fa-paper-plane"></i> 扫描送货单-->
						<!--						  </a>-->
						<a id="getERP" class="btn btn-outline btn-primary btn-rounded to-receive" onclick="getReceipt()"  shiro:hasPermission="srm:srmHeader:list">
							<i class="fa fa-paper-plane"></i> 获取ERP到货单
						</a>
					</div>
					<input type="hidden" id="headerId" name="headerId" th:value="${headerId}"/>
					<table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
				</div>
				<div class="tab-pane fade" id="tabDetail">
					<div class="btn-group hidden-xs" id="toolbar1" role="group">
						<a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()"  shiro:hasPermission="srm:srmDetail:edit">
							<i class="fa fa-trash-o"></i> 删除
						</a>
					</div>
					<table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
				</div>
				<div class="tab-pane fade" id="tabDetailNotArrive">
					<div class="select-list" id="toolbar2" role="group">
						<ui>
							<li>
								<div class="btn-group hidden-xs" >
									<a  class="btn btn-outline btn-success btn-rounded" onclick="checkWarehouse()" shiro:hasPermission="srm:srmDetail:checkWarehouse">
										<i class="fa fa-plus"></i> 选择仓库
									</a>
									<a id="submit" class="btn btn-outline btn-success btn-rounded" onclick="confirm()" shiro:hasPermission="srm:srmDetail:confirm">
										<i class="fa fa-plus"></i> 提交
									</a>
									<p id="currentSupplierName" style="width: 200px;"></p>
								</div>
							</li>
							<!--							   <li>-->
							<!--								   账套:<input type="text" name="code"/>-->
							<!--							   </li>-->
						</ui>
						<!--                           <input type="hidden" id="headerId" name="headerId" th:value="${headerId}"/>-->

						<!--                           <a class="btn btn-outline btn-success btn-rounded" onclick="confirmQty()" shiro:hasPermission="srm:srmDetail:confirmQty">-->
						<!--                               <i class="fa fa-plus"></i> 默认数量-->
						<!--                           </a>-->


					</div>
					<table id="bootstrap-table2" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
				</div>
			</div>
		</div>
	</div>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">
	var checkFlag = [[${@permission.hasPermi('srm:srmDetail:check')}]];
	var editFlag = [[${@permission.hasPermi('srm:srmDetail:edit')}]];
	var supplier =[[${@SupplierService.getCode()}]];
	var srmCheck = [[${@dict.getType('srmCheck')}]];
	var companyCode = [[${@dict.getType('company_code')}]];
	var uploadStatus = [[${@dict.getType('srmUpload')}]];
	var prefix = ctx + "srm/srmHeader";
	var prefixx = ctx + "srm/srmHeaderCheck";
	var prefix1 = ctx + "srm/srmDetail";
	var prefix2 = ctx + "srm/srmDetailNone";
	var detailRemoveUrl=prefix1+"/remove";
	var headerId = ''
	var warehouseWu = [[${@warehouseWu.getAllWarehouseWu()}]];
	var confirmQtyFlag = [[${@permission.hasPermi('srm:srmDetail:confirmQty')}]];
	var resubmit = new Date().getTime();

	setInterval(refreshV,1000*60);

	function refreshV(){
		$.table.refresh();
	}
	$(function() {
		var options = {
			url: prefix + "/list",
			createUrl: prefix + "/add",
			updateUrl: prefix + "/edit/{id}",
			removeUrl: prefix + "/remove",
			modalName: "送货单",
			sortName: "created",
			sortOrder: "desc",
			search: false,
			pageSize:50,
			columns: [{
				checkbox: true
			},
				{
					field : 'id',
					title : 'id' ,
					visible:false
				},
				{
					title: '操作',
					align: 'center',
					formatter: function(value, row, index) {
						var actions = [];
						actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.supplierCode + '\')"><i class="fa fa-list-ul"></i>已到</a> ');
						actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail2(\'' + row.id + '\',\'' + row.supplierCode + '\')"><i class="fa fa-list-ul"></i>未到</a> ');
						// if (row.enable > 1){
						//     actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> ');
						// }else{
						//     actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail2(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> ');
						// }
						return actions.join('');
					}
				},
				{
					field : 'operator',
					title : '操作人',
					sortable: true
				},
				{
					title: '送货单类型',
					field: 'enable',
					formatter: function(value, row, index) {
						var actions = [];
						if (value >= 1) {
							actions.push("<span class='badge badge-info'> 已到送货单</span>");
						}else{
							actions.push("<span class='badge badge-danger'>未到送货单</span>");
						}
						return actions.join('');
					}
				},
				{
					field : 'created',
					title : '生成时间',
					sortable: true
				},
				{
					field : 'code',
					title : '送货单号',
					sortable: true
				},
				{
					field : 'supplierCode',
					title : '供应商编码',
					sortable: true
				},

				{
					field : 'supplierCode',
					title : '供应商名称',
					align: 'center',
					formatter: function(value, row, index) {
						var actions = [];
						$.each(supplier, function(index, dict) {
							if (dict.code == value) {
								actions.push("<span class='badge badge-info'>" + dict.name + "</span>");
								return false;
							}
						});
						return actions.join('');
					}
				},
				{
					field : 'userDef2',
					title : '采购到货单',
					sortable: true,
					align: 'center',
					formatter:function (value,row,index) {
						return $.table.tooltip(value, 10);
					}
				},
				{
					field : 'userDef1',
					title : '返回信息',
					sortable: true,
					align: 'center',
					formatter:function (value,row,index) {
						return $.table.tooltip(value, 10);
					}
				},
				{
					field : 'uploadStatus',
					title : '获取ERP采购单',
					align: 'center',
					formatter: function(value, row, index) {
						return $.table.selectDictLabel(uploadStatus, value);
					}
				},
				{
					field : 'checkCode',
					title : '质检完成',
					align: 'center',
					formatter: function(value, row, index) {
						return $.table.selectDictLabel(srmCheck, value);
					}
				},
				{
					field : 'mark',
					title : '唯一标识',
					sortable: false,
					visible:false
				},
				{
					field : 'lastUpdatedBy',
					title : '更新用户',
					sortable: false,
					visible:false
				},
			]
		};
		$.table.init(options);
	});

	$("#bootstrap-table1").bootstrapTable({
		sortable: true, //排序
		showRefresh: true, //刷新
		showToggle:true, //视图切换
		clickToSelect: false,
		showColumns:true, //列选择
		// detailView:true,
		showExport: true, //导出
		exportDataType: "all",  //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
		modalName: "任务明细",
		iconSize: "outline",
		toolbar: "#toolbar1",
		contentType: "application/x-www-form-urlencoded",
		sortName: "id",
		sortOrder: "desc",
		columns: [{
			checkbox: true
		},
			{
				field : 'id',
				title : 'id' ,
				visible:false
			},
			{
				title: '操作',
				align: 'center',
				formatter: function(value, row, index) {
					var actions = [];
					if(row.checkCode < 2 && row.uploadStatus4 > 0) {
						actions.push('<a class="btn btn-primary btn-xs ' + checkFlag + '" href="#" onclick="checkDetail(\'' + row.id + '\')"><i class="fa fa-check"></i>质检</a>');
					}
					if(row.uploadStatus4 < 1 ) {
						actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-check"></i>编辑</a>');
					}
					return actions.join('');
				}
			},
			{
				title : 'PLM图纸',
				formatter: function(value, row, index){
					var actions = [];
					actions.push('<a class="btn btn-primary btn-xs ' + checkFlag + '" href="#" shiro:hasPermission="srm:srmDetail:selectDraw" onclick="queryDraw(\'' + row.materialCode + '\')" ><i class="fa fa-check"></i>查看图纸</a>');
					return actions.join('');
				}
			},
			{
				field : 'companyCode',
				title : '账套',
				sortable: true,
				formatter: function(value, row, index) {
					return $.table.selectDictLabel(companyCode, value);
				}
			},
			{
				field : 'uWarehouseName',
				title : '仓库',
				sortable: true
			},
			{
				field : 'lineCode',
				title : '条码',
				sortable: true
			},
			{
				field : 'productionBatch',
				title : '生产批号',
				sortable: true
			},
			{
				field : 'batchNumberContent',
				title : '批号内容',
				sortable: true
			},
			{
				field : 'materialCode',
				title : '存货编码',
				sortable: true
			},
			{
				field : 'materialName',
				title : '物料名称',
				sortable:true
			},
			{
				field : 'specification',
				title : '物料规格',
				sortable:true
			},
			{
				field : 'qty',
				title : '数量'
			},
			{
				field : 'confirmQty',
				title : '实到数量'
			},
			{
				field : 'lastUpdate',
				title : '最后修改时间' ,
				visible:false,
				sortable:true
			},
			{
				field : 'lastUpdatedBy',
				title : '更新用户',
				visible:false
			},
			{
				field : 'uploadStatus1',
				title : 'SRM到货上传',
				align: 'center',
				formatter: function(value, row, index) {
					return $.table.selectDictLabel(uploadStatus, value);
				}
			},
			{
				field : 'uploadStatus4',
				title : 'ERP采购单上传',
				align: 'center',
				formatter: function(value, row, index) {
					return $.table.selectDictLabel(uploadStatus, value);
				}
			},
			{
				field : 'checkCode',
				title : '质检完成',
				align: 'center',
				formatter: function(value, row, index) {
					return $.table.selectDictLabel(srmCheck, value);
				}
			},
		]
	});

	$("#bootstrap-table2").bootstrapTable({
		sortable: true, //排序
		showRefresh: true, //刷新
		showToggle:true, //视图切换
		clickToSelect: false,
		showColumns:true, //列选择
		// detailView:true,
		showExport: true, //导出
		exportDataType: "all",  //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
		modalName: "任务明细",
		iconSize: "outline",
		toolbar: "#toolbar2",
		contentType: "application/x-www-form-urlencoded",
		sortName: "id",
		sortOrder: "desc",
		columns: [{
			checkbox: true
		},
			{
				title: '操作',
				align: 'center',
				visible:false,
				formatter: function(value, row, index) {
					var actions = [];
					if(row.enable == 0) {
						actions.push('<a class="btn btn-primary btn-xs ' + confirmQtyFlag + '" href="#" onclick="confirmConfirQty(\'' + row.id + '\')"><i class="fa fa-check"></i>确认数量</a>');
					}
					return actions.join('');
				}
			},
			{
				field : 'id',
				title : 'id',
				sortable: true
			},
			{
				field : 'headerId',
				title : 'headerId',
				visible:false
			},
			{
				field : 'uWarehouseName',
				title : '仓库',
				sortable: true,
				formatter: function(value, row, index) {
					var actions = [];
					debugger;
					if(row.enable == 0) {
						actions.push('<select id="select_'+row["id"]+'" onchange="selectListener(this,'+row["id"]+')">');
						console.log(row["companyCode"] +"  "+warehouseWu[row["companyCode"]]);
						if (warehouseWu[row["companyCode"]] !== undefined && warehouseWu[row["companyCode"]].length>0) {
							warehouseWu[row["companyCode"]].forEach(item => {
								if (row["uwarehouseCode"] === item["uwarehouseCode"]) {srmHeader/getwarehouse
									actions.push('<option value="' + item["uwarehouseCode"] + '" selected>' + item["uwarehouseName"] + '</option>');
								} else {
									actions.push('<option value="' + item["uwarehouseCode"] + '">' + item["uwarehouseName"] + '</option>');
								}
							})
							actions.push('</select>');
						}
					}
					return actions.join('');
				}
			},
			{
				field : 'companyCode',
				title : '账套',
				sortable: true,
				formatter: function(value, row, index) {
					return $.table.selectDictLabel(companyCode, value);
				}
			},
			{
				field : 'materialCode',
				title : '存货编码',
				sortable: true
			},
			{
				field : 'materialName',
				title : '物料名称',
				sortable:true
			},
			{
				field : 'specification',
				title : '物料规格',
				sortable:true
			},
			{
				field : 'qty',
				title : '数量'
			},
			{
				field : 'unqualifiedQty',
				title : '不合格数量'
			},
			{
				field : 'productionBatch',
				title : '生产批号',
				sortable: true
			},
			{
				field : 'batchNumberContent',
				title : '批号内容',
				sortable: true
			},
			{
				field : 'enable',
				title : '状态',
				visible:false
			},
			{
				field : 'lineCode',
				title : '条码',
				sortable: true
			},
			// {
			//     field : 'lastUpdate',
			//     title : '最后修改时间' ,
			//     visible:false,
			//     sortable:true
			// },
			// {
			//     field : 'lastUpdatedBy',
			//     title : '更新用户'
			// }
		],
		onClickCell: function(field, value, row, $element) {
			if (field==="unqualifiedQty" && row.materialCode.charAt(0) == '1') {
				$element.attr('contenteditable', true);
				$element.blur(function () {
					let index = $element.parent().data('index');
					let tdValue = $element.text();
					if ((new Date().getTime()-resubmit)>1500) {
						resubmit = new Date().getTime()
						if(isNaN(tdValue)){
							$.modal.alertWarning("请输入有效数字!");
							return;
						}
						if(row.qty < tdValue){
							$.modal.alertWarning("不合格数量不允许大于单据数量!");
							return;
						}
						submitDelivery(row, tdValue);
					}
				})
			}
		}
	});

	/*默认数量*/
	function confirmQty() {
		var rows=$("#bootstrap-table2").bootstrapTable('getSelections');
		if (rows.length == 0) {
			$.modal.alertWarning("请至少选择一条记录");
			return;
		}
		$.modal.confirm("确认执行选中的" + rows.length + "条数据吗?", function() {
			var url = prefix2 + '/confirmQty';
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			var data = { "ids": ids.substring(0, ids.length-1) };
			localSubmit(url, "post", "json", data);
		})
	}

	function selectListener(event,id){
		console.log("选择了:",event.value)
		selectWarehouse(event.value,id)
		$('#select_'+ id).val = event.value;
	}

	/* 选择仓库*/
	function checkWarehouse() {
		var rows=$("#bootstrap-table2").bootstrapTable('getSelections');
		if (rows.length == 0) {
			$.modal.alertWarning("请至少选择一条记录");
			return;
		}
		var ids = "";
		for(var i=0; i<rows.length; i++) {
			ids = ids + rows[i].id + ","
		}

		var url = prefix2 + "/checkWarehouse/" + ids;
		$.modal.open("选择仓库" , url);
	}

	/*提交*/
	function confirm() {
		var rows=$("#bootstrap-table2").bootstrapTable('getSelections')
		if (rows.length == 0) {
			$.modal.alertWarning("请至少选择一条记录");
			return;
		}
		$.modal.confirm("确认执行选中的" + rows.length + "条数据吗?", function() {
			var url = prefix2 + '/confirm';
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			var data = { "ids": ids.substring(0, ids.length-1)};
			localSubmit(url, "post", "json", data);
		})
	}

	function confirmConfirQty(id) {
		var url = prefix2 + "/confirmConfirQty?id="+id;
		$.modal.openFull("确认数量",url);
	}

	function submitDelivery(row,value){
		if(row.unqualifiedQty == value){
			return;
		}
		formData = {}
		formData["headId"] = row["headId"]
		formData["id"] = row["id"]
		formData["materialCode"] = row["materialCode"]
		formData["materialName"] = row["materialName"]
		formData["qty"] = row["qty"]
		formData["unqualifiedQty"] = value
		confirmAmount(formData)
	}


	function confirmAmount(form) {
		$.ajax({
			cache : true,
			type : "POST",
			url : prefix2+"/updateQualifiedQty",
			data : form,
			async : false,
			error : function(request) {
				$.modal.alertError("请求失败!");
			},
			success : function(data) {
				// $.operate.saveSuccess(data);
				ajaxSuccess(data);
			}
		});
	}

	function selectWarehouse(value,id) {
		$.ajax({
			cache: true,
			type: "POST",
			url: prefix2 + "/checkWarehouse",
			data: {
				"ids":id,
				"uWarehouseCode":value,
			},
			async : false,
			error : function(request) {
				$.modal.alertError("请求失败!");
			},
			success : function(data) {
				// $.operate.saveSuccess(data);
				ajaxSuccess(data);
			}
		});
	}

	function ajaxSuccess(result) {
		if (result.code == web_status.SUCCESS) {
			$.modal.msgSuccess(result.msg);
			var index = parent.layer.getFrameIndex(window.name);
			parent.layer.close(index);
			window.parent.$.table.search();
			$(parent.$("#detail2")).click();
		} else {
			$.modal.alertError(result.msg);
		}
		// $.modal.msgSuccess(result.msg);
		$.modal.closeLoading();
		window.parent.detail2(headerId)
	}


	function createtable(url,headerId) {
		$("#myTab li").removeClass("active");
		$(".tab-pane").removeClass("in active");
		$("#myTab li:eq(1)").addClass("active");
		$("#tabDetailNotArrive").addClass("in active");
		$.ajax({
			url:url,
			type: 'post',
			data:{
				headerId:headerId
			},
			success : function (value) {
				$("#bootstrap-table2").bootstrapTable('load', value.data);
			}
		})
	}

	function queryDraw(code){
		$.ajax({
			url:ctx + 'draw/selectDraw',
			type: 'get',
			data:{
				"no":code
			},
			success : function (res) {
				debugger;
				if (res.code == 200){
					var data = res.data;
					window.open("http://172.16.2.10:8087/sipmweb/web/search/detail?rid="+data.rid+"&id="+data.objId+"&t=DWGSW","_blank");
				}else{
					$.modal.alertError(res.msg)
				}
			}
		});
	}

	let currentSupplierName;

	/*入库单列表-详细*/
	function detail(id,code,enable,supplierCode) {
		debugger
		$.each(supplier, function(index, dict) {
			if (dict.code == supplierCode) {
				currentSupplierName = dict.name;
				$('#currentSupplierName').html(currentSupplierName);
				return false;
			}
		});
		if (enable == 0){
			detail2(id,supplierCode);
			return
		}
		headerId = id;
		$("#myTab li").removeClass("active");
		$("#tabHeader").removeClass("in active");
		$("#myTab li:eq(2)").addClass("active");
		$("#tabDetail").addClass("in active");

		loadDetail();
	}
	/*入库单列表-详细*/
	function detail2(headerId,supplierCode) {
		debugger
		$.each(supplier, function(index, dict) {
			if (dict.code == supplierCode) {
				currentSupplierName = dict.name;
				$('#currentSupplierName').html(currentSupplierName);
				return false;
			}
		});
		var url = ctx + 'srm/srmDetailNone/list';
		createtable(url,headerId);
	}

	/*入库单列表-详细*/
	function loadDetail() {
		$.ajax({
			url:ctx + 'srm/srmDetail/list',
			type: 'post',
			data:{
				"headerId":headerId
			},
			success : function (value) {
				$("#bootstrap-table1").bootstrapTable('load',value.data);
			}
		});
		// var url = ctx + 'srm/srmDetail/list';
		// headerId = headerId; // 主单Id 再试下
		// createtable(url,headerId);
	}




	/* 检验 */
	function checkDetail(id) {
		let url=prefix1 + "/check/"+ id;
		$.modal.open("检查" , url);
	}

	/* 检验 */
	function edit(id) {
		let url=prefix1 + "/edit/"+ id;
		$.modal.open("检查" , url);
	}

	// setTimeout(function() {
	// 	$.table.refresh();
	// },1000)
	function batRemove() {
		var rows=$("#bootstrap-table1").bootstrapTable('getSelections');
		// var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id);
		if (rows.length == 0) {
			$.modal.alertWarning("请至少选择一条记录");
			return;
		}
		$.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() {
			var url = detailRemoveUrl;
			var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
			localSubmit(url, "post", "json", data);
		});
	}
	function localSubmit (url, type, dataType, data) {
		$.modal.loading("正在处理中,请稍后...");
		$('#getERP').attr("disabled","disabled");
		var config = {
			url: url, type: type, dataType: dataType, data: data, success: function (result) {
				$('#getERP').removeAttr('disabled');
				if (result.code == web_status.SUCCESS) {
					$.modal.msgSuccess(result.msg);
					loadDetail()
				} else {
					$.modal.alertError(result.msg)
				}
				$.modal.closeLoading()
			}
		};
		$.ajax(config)
	}


	function getSrm() {
		$.modal.open("送货单扫描",prefix+"/getSrm")
	}

	/*获取ERP到货单*/
	function getReceipt() {
		var rows=$("#bootstrap-table").bootstrapTable('getSelections');
		if (rows.length == 0) {
			$.modal.alertWarning("请至少选择一条记录");
			return;
		}
		$.modal.confirm("确认执行选中的" + rows.length + "条数据吗?", function() {
			var url = prefixx + '/getReceipt';
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			var data = { "ids": ids.substring(0, ids.length-1) };
			$.operate.submit(url, "post", "json", data);
		})
	}
</script>
</body>
</html>