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>