add.html 6.25 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" />
</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">
				<select id="receiptType" name="receiptType" class="form-control"  th:with="receiptHeaderType=${@receiptTypeService.getTypeCode()}" onchange="changeReceiptType()">
					<option th:each="dict : ${receiptHeaderType}" th:text="${dict['name']}" th:value="${dict['code']}"></option>
				</select>
			</div>
		</div>
		<div class="form-group" id="otherType" style="display: none">
			<label class="col-sm-3 control-label">其他入库类型:</label>
			<div class="col-sm-8">
				<select id="inType" name="inType" class="form-control">
				</select>
			</div>
		</div>
		<div class="form-group">
			<label class="col-sm-3 control-label">货主编码:</label>
			<div class="col-sm-8">
				<select id="companyCode" name="companyCode" class="form-control" th:with="companyList=${@companyService.selectCompanyByCurrentUserId()}">
					<option th:each="company : ${companyList}" th:text="${company['name']}" th:value="${company['code']}"></option>
				</select>
			</div>
		</div>
		<div class="form-group">
			<label class="col-sm-3 control-label">供应商:</label>
			<div class="col-sm-8">
				<select id="supplierCode" name="supplierCode" class="form-control"></select>
			</div>
		</div>
		<div class="form-group"  id="userDef1-d" style="display: none">
			<label class="col-sm-3 control-label">部门:</label>
			<div class="col-sm-8">
				<select id="userDef1" name="userDef1" class="form-control"></select>
			</div>
		</div>
		<div class="form-group"  id="userDef2-c" style="display: none">
			<label class="col-sm-3 control-label">客户:</label>
			<div class="col-sm-8">
				<select id="userDef2" name="userDef2" 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="orderCode" name="orderCode" 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="receiptNote" name="receiptNote" 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="scheduledArriveDate" name="scheduledArriveDate" class="form-control" type="text">
			</div>
		</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" />
<script type="text/javascript">
	var prefix = ctx + "receipt/receiptHeader";

		$("#form-receiptHeader-add").validate({
            rules:{
				receiptType:{
					required:true,
				},
                companyCode:{
                    required:true,
                },
            },
			submitHandler: function(form) {
				let receiptType = $("#receiptType").val();
				let supplierCode = $("#supplierCode").val();
				let customer = $("#userDef2").val();
				let dept = $("#userDef1").val();
				/** 如果 入库单是其他入库单  */
				if(receiptType=="OR"){
					let inType = $("#inType").val();
					if(!inType){
						$.modal.msgWarning("其他入库类型不能为空!");
						return;
					}
					if(!supplierCode){
						if(!customer){
							if(!dept){
								$.modal.msgWarning("客户、供应商、部门 至少选择其中一个!");
								return;
							};
						};
					}
				};
                $.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'});
		});
		$('#supplierCode').select2({
			ajax: {
				url: ctx+'config/supplier/getData',
				dataType: 'json',
				type: 'post',
				placeholder: '请选择',
				data: function (params) {
					let query = {
						supplierName: params.term,
					}
					return query;
				}
			}
		});
		$('#inType').select2({
			ajax: {
				url: ctx+'config/bosAssistantDetail/getData',
				dataType: 'json',
				type: 'post',
				placeholder: '请选择',
				data: function (params) {
					let receiptType  = $("#receiptType option:selected").val();
					if(receiptType=="OR"){
						receiptType = "QTRKLX";
					}
					let query = {
						dataValue: params.term,
						idNumber: receiptType,
					}
					return query;
				}
			}
		});
		$('#userDef1').select2({
			ajax: {
				url: ctx+'system/dept/getData',
				dataType: 'json',
				type: 'post',
				placeholder: '请选择',
				data: function (params) {
					let query = {
						deptName: params.term,
					}
					return query;
				}
			}
		});
		$('#userDef2').select2({
			ajax: {
				url: ctx+'config/customer/getData',
				dataType: 'json',
				type: 'post',
				placeholder: '请选择',
				data: function (params) {
					let query = {
						customerName: params.term,
					}
					return query;
				}
			}
		});
	})
	function changeReceiptType(){
		let receiptType = $("#receiptType").val();
		if(receiptType=='OR'){
			$("#otherType").show();
			$("#userDef1-d").show();
			$("#userDef2-c").show();
		}else{
			$("#userDef2-c").hide();
			$("#userDef1-d").hide();
			$("#otherType").hide();

		}
	}

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