|
|
@ -1,234 +1,248 @@ |
|
|
|
<!DOCTYPE html> |
|
|
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|
|
|
<head> |
|
|
|
<th:block th:include="include :: header('新增出货设备')" /> |
|
|
|
<th:block th:include="include :: header('修改出货设备')" /> |
|
|
|
<th:block th:include="include :: datetimepicker-css" /> |
|
|
|
</head> |
|
|
|
<body class="white-bg"> |
|
|
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|
|
|
<form class="form-horizontal m" id="form-shippingDevice-add"> |
|
|
|
<form class="form-horizontal m" id="form-shippingDevice-edit" th:object="${afterSalesShippingDeviceDto}"> |
|
|
|
<input name="shippingDeviceCode" th:field="*{shippingDeviceCode}" type="hidden"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label is-required">出货设备id:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="shippingDeviceId" class="form-control" type="text" required> |
|
|
|
<input name="shippingDeviceId" th:field="*{shippingDeviceId}" class="form-control" type="text" required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">关联单号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="makeNo" class="form-control" type="text"> |
|
|
|
<input name="makeNo" th:field="*{makeNo}" 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 name="materialNo" class="form-control" type="text"> |
|
|
|
<input name="materialNo" th:field="*{materialNo}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">物料图片:</label> |
|
|
|
<label class="col-sm-3 control-label">图片:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="materialPhotourl" class="form-control" type="text"> |
|
|
|
<input name="materialPhotourl" th:field="*{materialPhotourl}" 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 name="materialName" class="form-control" type="text"> |
|
|
|
<input name="materialName" th:field="*{materialName}" 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 name="materialType" class="form-control" type="text"> |
|
|
|
<input name="materialType" th:field="*{materialType}" 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 name="materialClass" class="form-control" type="text"> |
|
|
|
<input name="materialClass" th:field="*{materialClass}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">物料型号:</label> |
|
|
|
<label class="col-sm-3 control-label">单位:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="materialModelCode" 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 name="materialUnit" class="form-control" type="text"> |
|
|
|
<input name="materialUnit" th:field="*{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 name="materialBrand" class="form-control" type="text"> |
|
|
|
<input name="materialBrand" th:field="*{materialBrand}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">物料描述:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<textarea name="materialDescribe" class="form-control"></textarea> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">设备型号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="deviceModelCode" 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 name="deviceRunningNumber" class="form-control" type="text"> |
|
|
|
<textarea name="materialDescribe" class="form-control">[[*{materialDescribe}]]</textarea> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">生产图片:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="makePhotourl" class="form-control" type="text"> |
|
|
|
</form> |
|
|
|
<!-- 客户信息 --> |
|
|
|
<div class="mb-4"> |
|
|
|
<h4 class="font-weight-bold">客户信息</h4> |
|
|
|
<hr> |
|
|
|
<form class="form-horizontal m" id="form-customer-edit" th:object="${customerDto}"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">客户ID:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control" type="text" required > |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">SN号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="snCode" class="form-control" type="text"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label is-required">客户名称:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="enterpriseName" th:field="*{enterpriseName}" class="form-control" type="text" required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">售后图片地址:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="aftersalesPhotourl" class="form-control" type="text"> |
|
|
|
<div class="form-group" > |
|
|
|
<label class="col-sm-3 control-label is-required is-required" >客户联系人:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="customerContact" th:field="*{customerContact}" class="form-control" type="text" required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">出厂日期:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="factoryDate" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label is-required">联系人电话:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="contactNumber" th:field="*{contactNumber}" class="form-control" type="text" required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">保修期:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="guaranteePeriod" class="form-control" type="text"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">公司地址:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="customerAddress" th:field="*{customerAddress}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">是否过保修期:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<select name="guaranteePeriodFlag" class="form-control m-b" th:with="type=${@dict.getType('guarantee_period_flag')}"> |
|
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|
|
|
</select> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label is-required">收货地址:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input required name="deliveryAddress" th:field="*{deliveryAddress}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">锁机时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="lockDate" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
<!--生产信息--> |
|
|
|
<div class="mb-4"> |
|
|
|
<h4 class="font-weight-bold">生产信息</h4> |
|
|
|
<hr> |
|
|
|
<form class="form-horizontal m" id="form-makeOrderDto-edit" th:object="${makeOrderDto}"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">设备型号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="deviceModelCode" th:field="*{deviceModelCode}" class="form-control" type="number" required > |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">是否有锁机时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<select name="lockDateFlag" class="form-control m-b" th:with="type=${@dict.getType('lock_date_flag')}"> |
|
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|
|
|
</select> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label is-required">流水号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="deviceRunningNumber" th:field="*{deviceRunningNumber}" class="form-control" type="number" required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">损耗品到期时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="wastageExpireDate" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
<div class="form-group" > |
|
|
|
<label class="col-sm-3 control-label is-required is-required" >图片:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="makePhotoUrl" th:field="*{makePhotoUrl}" class="form-control" type="text" required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">是否过损耗品到期时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<select name="wastageExpireFlag" class="form-control m-b" th:with="type=${@dict.getType('wastage_expire_flag')}"> |
|
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|
|
|
</select> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label is-required">生产员:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="makeName" th:field="*{makeName}" class="form-control" type="text" required> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">二次维修后部件质保时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="componentGuaranteeDate" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!--仓库和售后信息--> |
|
|
|
<div class="mb-4"> |
|
|
|
<h4 class="font-weight-bold">仓库和售后信息</h4> |
|
|
|
<hr> |
|
|
|
<form class="form-horizontal m" id="form-warehouseAndAfterSalesDto-edit" th:object="${warehouseAndAfterSalesDto}"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">SN号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="snCode" th:field="*{snCode}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">是否过二次维修后部件质保日期:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<select name="componentGuaranteeFlag" class="form-control m-b" th:with="type=${@dict.getType('component_guarantee_flag')}"> |
|
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|
|
|
</select> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">售后图片:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="aftersalesPhotourl" th:field="*{aftersalesPhotourl}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">工程员姓名:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="engineerName" class="form-control" type="text"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">出厂日期:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="factoryDate" th:value="*{factoryDate}" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">业务员姓名:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="salesmanName" class="form-control" type="text"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">保修期:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="guaranteePeriod" th:field="*{guaranteePeriod}" class="form-control" type="text"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">客户ID:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="customerId" class="form-control" type="text"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">锁机时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="lockDate" th:value="*{lockDate}" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">客户名称:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="customerName" class="form-control" type="text"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">是否有锁机时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<select name="lockDateFlag" class="form-control m-b" th:with="type=${@dict.getType('lock_date_flag')}"> |
|
|
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{lockDateFlag}"></option> |
|
|
|
</select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">维修单号:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<input name="maintainOrderCode" class="form-control" type="text"> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">损耗品到期时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="wastageExpireDate" th:value="*{wastageExpireDate}" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">维修时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="maintainTime" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
<div class="form-group"> |
|
|
|
<label class="col-sm-3 control-label">二次维修后部件质保时间:</label> |
|
|
|
<div class="col-sm-8"> |
|
|
|
<div class="input-group date"> |
|
|
|
<input name="componentGuaranteeDate" th:value="*{componentGuaranteeDate}" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|
|
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</form> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<th:block th:include="include :: footer" /> |
|
|
|
<th:block th:include="include :: datetimepicker-js" /> |
|
|
|
<script th:inline="javascript"> |
|
|
|
var prefix = ctx + "aftersales/shippingDevice" |
|
|
|
$("#form-shippingDevice-add").validate({ |
|
|
|
var prefix = ctx + "aftersales/shippingDevice"; |
|
|
|
$("#form-shippingDevice-edit").validate({ |
|
|
|
focusCleanup: true |
|
|
|
}); |
|
|
|
|
|
|
|
function submitHandler() { |
|
|
|
if ($.validate.form()) { |
|
|
|
$.operate.save(prefix + "/add", $('#form-shippingDevice-add').serialize()); |
|
|
|
|
|
|
|
// 获取表单数据 |
|
|
|
const shippingDeviceData = $("#form-shippingDevice-edit").serializeArray(); |
|
|
|
console.log(shippingDeviceData); |
|
|
|
const customerData = $("#form-customer-edit").serializeArray(); |
|
|
|
const makeOrderData= $("#form-makeOrderDto-edit").serializeArray(); |
|
|
|
|
|
|
|
const warehouseAndAfterSalesData= $("#form-warehouseAndAfterSalesDto-edit").serializeArray(); |
|
|
|
|
|
|
|
// 合并表单数据为一个 JSON 对象 |
|
|
|
const combinedData = shippingDeviceData.concat(customerData, makeOrderData,warehouseAndAfterSalesData).reduce((acc, curr) => { |
|
|
|
acc[curr.name] = curr.value; |
|
|
|
return acc; |
|
|
|
}, {}); |
|
|
|
// 使用 JSON.stringify() 序列化数据 |
|
|
|
const jsonData = JSON.stringify(combinedData); |
|
|
|
// 发送 AJAX 请求到后端接口 |
|
|
|
$.operate.saveJson(prefix + "/edit", jsonData); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|