<div class="control-group span6" style="display: inline">
<div id="positionCodeDiv">
<label class="control-label" for="positionCode">库位编码:</label>
<div class="controls">
<div class="span12 required">
<input type="text" id="positionCode" name="positionCode">
</div>
</div>
</div>
</div>
$("#positionCode").select2({
placeholder: "--请选择库位--",
minimumInputLength: 0, //至少输入n个字符,才去加载数据
allowClear: true, //是否允许用户清除文本信息
delay: 250,
formatNoMatches: "没有结果",
formatSearching: "搜索中...",
formatAjaxError: "加载出错啦!",
multiple: true, //true为多选 false为单选
ajax: {
url: context_path + "/inventoryTask/getSelectPositionCode",
type: "POST",
dataType: "json",
delay: 250,
data: function (term, pageNo) { //在查询时向服务器端传输的数据
term = $.trim(term);
return {
baseStationName: term, //联动查询的字符
positionCode: $("#positionCode").val()
}
},
results: function (data, pageNo) {
var res = data.result;
if (res.length > 0) { //如果没有查询到数据,将会返回空串
var more = (pageNo * 15) < data.total; //用来判断是否还有更多数据可以加载
return {
results: res,
more: more
};
} else {
return {
results: {}
};
}
},
cache: true
}
});
//修改时加载库位信息
if ('${inventoryTask.id}') {
// 用户赋值
$.ajax({
url: context_path + "/inventoryTask/getPositionInfo",
type: "post",
dataType: "JSON",
data: {
positionCodes: '${inventoryTask.positionCode}'
},
async: false,
success: function (data) {
if (data) {
var obj = [];
for (let i = 0; i < data.length; i++) {
obj.push({
id: data[i].userId,
text: data[i].name
});
}
$("#positionCode").select2("data", obj);
}
}
});
}
//后台controller层
/**
* 获取库位下拉数据
*
* @param positionCode
* @return Map
* @author pz
* @date 2019-03-15
*/
@RequestMapping(value = "/getSelectPositionCode")
@ResponseBody
public Map<String, Object> getSelectPositionCode(String positionCode) {
Map<String, Object> map = new HashMap<>();
List<Stock> lstStock=stockDAO.uniqeList(null);
JSONArray arr = new JSONArray();
JSONObject obj = null;
for (Stock s : lstStock) {
obj = new JSONObject();
// 库位编码
obj.put("id", s.getPositionCode());
// 库位名称
obj.put("text", s.getPositionCode());
arr.add(obj);
}
// 根据条件获取已添加的库位信息
if (StringUtils.isNotBlank(positionCode)) {
Map<String, Object> sceneMap = new HashMap<>();
sceneMap.put("position_code", positionCode);
List<Stock> stockList = stockService.selectByMap(sceneMap);
if (stockList != null && stockList.size() > 0) {
for (Stock s : stockList) {
obj = new JSONObject();
obj.put("id", s.getPositionCode());
obj.put("text", s.getPositionCode());
arr.add(obj);
}
}
}
map.put("result", arr);
return map;
}
/**
* 获取库位信息(修改时,库位下拉框赋值使用)
*
* @return
* @author pz
* @date 2019-03-15
*/
@RequestMapping(value = "/getPositionInfo")
@ResponseBody
public JSONArray getPlatformInfo(String positionCodes) {
JSONArray arr = new JSONArray();
JSONObject obj = null;
Map<String, Object> map = new HashMap<>();
//lambl表达式
List<String> lstPositionCodes = Arrays.stream(positionCodes.split(",")).collect(Collectors.toList());
List<Stock> lstStock=stockDAO.uniqeList(lstPositionCodes);
if (lstStock != null && lstStock.size() > 0) {
for (Stock s : lstStock) {
obj = new JSONObject();
obj.put("userId", s.getPositionCode());
obj.put("name", s.getPositionCode());
arr.add(obj);
}
}
return arr;
}