diff --git a/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java b/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java index 072fd49..81a7f16 100644 --- a/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java +++ b/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java @@ -35,7 +35,9 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Api(tags={"物料控制类"}) @Controller @@ -201,4 +203,28 @@ public class MaterialController extends BaseController { } return prefix + "/print"; } + + @PostMapping("/getData") + @ResponseBody + public Map<String, Object> getData(String materialName, String materialCode) { + LambdaQueryWrapper<Material> queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.like(StringUtils.isNotEmpty(materialName), Material::getCode, materialName) + .or() + .like(StringUtils.isNotEmpty(materialName), Material::getName, materialName); + List<Material> materialList = materialService.list(queryWrapper); + + List<Map<String, Object>> list = new ArrayList<>(); + for (Material material : materialList) { + Map<String, Object> resultMap = new HashMap<>(); + if (StringUtils.isNotEmpty(materialCode) && material.getCode().equals(materialCode)) { + resultMap.put("selected", true); + } + resultMap.put("id", material.getCode()); + resultMap.put("text", material.getName()); + list.add(resultMap); + } + Map<String, Object> map = new HashMap<>(); + map.put("results", list); + return map; + } } diff --git a/src/main/resources/templates/receipt/receiptDetail/add.html b/src/main/resources/templates/receipt/receiptDetail/add.html index 3238083..68be706 100644 --- a/src/main/resources/templates/receipt/receiptDetail/add.html +++ b/src/main/resources/templates/receipt/receiptDetail/add.html @@ -24,7 +24,8 @@ <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" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')"> + <select id="materialCode" name="materialCode" class="form-control"></select> +<!-- <input id="materialCode" name="materialCode" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')">--> </div> </div> <div class="form-group"> @@ -175,7 +176,7 @@ "companyCode": $("input[name='companyCode']").val(), "sourceLine": $("input[name='sourceLine']").val(), // "materialId": $("input[name='materialId']").val(), - "materialCode": $("input[name='materialCode']").val(), + "materialCode": $("#materialCode").val(), "batch": $("input[name='batch']").val(), "lot": $("input[name='lot']").val(), "projectNo": $("input[name='projectNo']").val(), @@ -217,6 +218,19 @@ laydate.render({ elem: '#manufactureDate', theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss' }); laydate.render({ elem: '#expirationDate', theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss' }); }); + $('#materialCode').select2({ + ajax: { + url: ctx+'config/material/getData', + dataType: 'json', + type: 'post', + data: function (params) { + let query = { + materialName: params.term, + } + return query; + } + } + }); }); </script> diff --git a/src/main/resources/templates/shipment/shipmentDetail/add.html b/src/main/resources/templates/shipment/shipmentDetail/add.html index bb62ee3..c04a776 100644 --- a/src/main/resources/templates/shipment/shipmentDetail/add.html +++ b/src/main/resources/templates/shipment/shipmentDetail/add.html @@ -1,120 +1,125 @@ <!DOCTYPE HTML> <html lang="zh" xmlns:th="http://www.thymeleaf.org"> <meta charset="utf-8"> -<head th:include="include :: header"></head> +<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-shipmentDetail-add"> - <div class="form-group"> - <label class="col-sm-3 control-label">出库单id:</label> - <div class="col-sm-8"> - <input id="shipmentId" name="shipmentId" class="form-control" type="text" th:value="${shipmentId}" readonly="readonly"> - <input id="companyId" name="companyId" type="hidden" th:value="${companyId}" > - <input id="companyCode" name="companyCode" type="hidden" th:value="${companyCode}" > - </div> + <form class="form-horizontal m" id="form-receiptDetail-add"> + + <div class="form-group"> + <label class="col-sm-3 control-label">出库单id:</label> + <div class="col-sm-8"> + <input id="shipmentId" name="shipmentId" class="form-control" type="text" th:value="${shipmentId}" readonly="readonly"> + <input id="companyId" name="companyId" type="hidden" th:value="${companyId}" > + <input id="companyCode" name="companyCode" type="hidden" th:value="${companyCode}" > </div> - <div class="form-group"> - <label class="col-sm-3 control-label">出库单编码:</label> - <div class="col-sm-8"> - <input id="shipmentCode" name="shipmentCode" class="form-control" type="text" th:value="${shipmentCode}" readonly="readonly"> - </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">出库单编码:</label> + <div class="col-sm-8"> + + <input id="shipmentCode" name="shipmentCode" class="form-control" type="text" th:value="${shipmentCode}" readonly="readonly"> </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" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')"> - </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">物料编码:</label> + <div class="col-sm-8"> + <select id="materialCode" name="materialCode" class="form-control"></select> + <!-- <input id="materialCode" name="materialCode" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')">--> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">库存状态:</label> - <div class="col-sm-8"> - <select id="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventorySts')}"> - <option th:each="dict : ${inventoryStatus}" 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"> + <select id="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventorySts')}"> + <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> + </select> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">发货数量:</label> - <div class="col-sm-8"> - <input id="shipQty" name="shipQty" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')"> - </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">发货数量:</label> + <div class="col-sm-8"> + <input id="shipQty" name="shipQty" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')"> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批次:</label> - <div class="col-sm-8"> - <input id="batch" name="batch" 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="batch" name="batch" class="form-control" type="text"> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">批号:</label> - <div class="col-sm-8"> - <input id="lot" name="lot" 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="lot" name="lot" class="form-control" type="text"> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">项目号:</label> - <div class="col-sm-8"> - <input id="projectNo" name="project" 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="projectNo" name="project" class="form-control" type="text"> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">上游系统行号:</label> - <div class="col-sm-8"> - <input id="referLineNum" name="referLineNum" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')"> - </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">上游系统行号:</label> + <div class="col-sm-8"> + <input id="referLineNum" name="referLineNum" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')"> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">分配规则:</label> - <div class="col-sm-8"> - <select id="allocationRule" class="form-control" th:with="allocationRule=${@FilterConfigDetailService.queryFilterConfigDetail('allocationRule')}"> - <option value=" " checked></option> - <option th:each="allocationRules:${allocationRule}" th:text="${allocationRules['description']}" th:value="${allocationRules['code']}"></option> - </select> - </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">分配规则:</label> + <div class="col-sm-8"> + <select id="allocationRule" class="form-control" th:with="allocationRule=${@FilterConfigDetailService.queryFilterConfigDetail('allocationRule')}"> + <option value=" " checked></option> + <option th:each="allocationRules:${allocationRule}" th:text="${allocationRules['description']}" th:value="${allocationRules['code']}"></option> + </select> </div> - <!--<div class="form-group">--> - <!--<label class="col-sm-3 control-label">分配规则:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="allocationRule" name="allocationRule" 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="replenishmentRule" name="replenishmentRule" 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="allocationRule" name="allocationRule" 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="replenishmentRule" name="replenishmentRule" class="form-control" type="text"> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">拣货规则:</label> - <div class="col-sm-8"> - <select id="pickingRule" class="form-control" th:with="pickingRule=${@FilterConfigDetailService.queryFilterConfigDetail('shipmentPickingRule')}"> - <option value=" " checked></option> - <option th:each="pickingRules:${pickingRule}" th:text="${pickingRules['description']}" th:value="${pickingRules['code']}"></option> - </select> - </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">拣货规则:</label> + <div class="col-sm-8"> + <select id="pickingRule" class="form-control" th:with="pickingRule=${@FilterConfigDetailService.queryFilterConfigDetail('shipmentPickingRule')}"> + <option value=" " checked></option> + <option th:each="pickingRules:${pickingRule}" th:text="${pickingRules['description']}" th:value="${pickingRules['code']}"></option> + </select> </div> - <div class="form-group"> - <div class="form-group"> - <label class="col-sm-3 control-label">生产日期:</label> - <div class="col-sm-8"> - <input id="manufactureDate" name="manufactureDate" 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="manufactureDate" name="manufactureDate" class="form-control" type="text"> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">失效日期:</label> - <div class="col-sm-8"> - <input id="expirationDate" name="expirationDate" 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="expirationDate" name="expirationDate" class="form-control" type="text"> </div> - <div class="form-group"> + </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> - <div th:include="include::footer"></div> + <th:block th:include="include :: footer" /> + <th:block th:include="include :: select2-js" /> <script type="text/javascript"> var prefix = ctx + "shipment/shipmentDetail" $("#form-shipmentDetail-add").validate({ @@ -154,7 +159,7 @@ "shipmentCode": $("input[name='shipmentCode']").val(), "companyCode": $("input[name='companyCode']").val(), "referLineNum": $("input[name='referLineNum']").val(), - "materialCode": $("input[name='materialCode']").val(), + "materialCode": $("#materialCode").val(), "batch": $("input[name='batch']").val(), "lot": $("input[name='lot']").val(), "projectNo": $("input[name='project']").val(), @@ -196,6 +201,19 @@ laydate.render({ elem: '#expirationDate', theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss' }); laydate.render({ elem: '#agingDate', theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss' }); }); + $('#materialCode').select2({ + ajax: { + url: ctx+'config/material/getData', + dataType: 'json', + type: 'post', + data: function (params) { + let query = { + materialName: params.term, + } + return query; + } + } + }); }) </script> </body>