Browse Source

申请卡片更改完成

lwx_dev
erdanergou 3 years ago
parent
commit
1335543aa5
  1. 100
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  2. 31
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  3. 52
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  4. 366
      src/main/resources/templates/pages/application/application-in.html
  5. 351
      src/main/resources/templates/pages/application/application-out.html
  6. 356
      src/main/resources/templates/pages/application/application-transfer.html
  7. 57
      src/main/resources/templates/pages/material/selectDepositoryByCard.html
  8. 63
      src/main/resources/templates/pages/material/selectMaterialByCard.html
  9. 0
      target/classes/.restartTriggerFile
  10. 363
      target/classes/templates/pages/application/application-in.html
  11. 351
      target/classes/templates/pages/application/application-out.html
  12. 356
      target/classes/templates/pages/application/application-transfer.html
  13. 57
      target/classes/templates/pages/material/selectDepositoryByCard.html
  14. 63
      target/classes/templates/pages/material/selectMaterialByCard.html

100
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java

@ -110,16 +110,71 @@ public class DepositoryRecordController {
@PostMapping("/applicationIn") @PostMapping("/applicationIn")
public RestResponse insertApplicationInRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){ public RestResponse insertApplicationInRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken"); UserByPort userToken= (UserByPort) request.getAttribute("userToken");
map.put("applicantId",userToken.getId()); List<Integer> params = (List<Integer>) map.get("params");
Integer integer = depositoryRecordService.applicationIn(map); Integer integer = 0;
if (integer != 0) { map.put("applicantId", userToken.getId());
return CrudUtil.postHandle(integer, 1); if(params.size() < 1 && map.size() > 3) {
integer += depositoryRecordService.applicationIn(map);
}else{ }else{
for (int i = 0; i < params.size(); i++) {
Integer temp = params.get(i);
Map<String,Object> insert = new HashMap<>();
insert.put("applicantId",userToken.getId());
insert.put("mid",map.get("mid"+temp));
insert.put("quantity",map.get("quantity"+temp));
insert.put("depositoryId",map.get("depositoryId"+temp));
insert.put("applyRemark",map.get("applyRemark"+temp));
insert.put("code",map.get("code"+temp));
integer += depositoryRecordService.applicationIn(insert);
}
integer += depositoryRecordService.applicationIn(map);
}
if (integer != 0 && params.size() < 1) {
return CrudUtil.postHandle(integer, 1);
}else if(integer != 0 && params.size() > 0){
return CrudUtil.postHandle(integer,params.size() + 1);
}
else{
return new RestResponse("",666,new StatusInfo("存储失败","超出最大存储量,请重新选择存储位")); return new RestResponse("",666,new StatusInfo("存储失败","超出最大存储量,请重新选择存储位"));
} }
} }
// 出库申请
@PostMapping("/applicationOut")
public RestResponse insertApplicationOutRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
map.put("applicantId",userToken.getId());
UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken);
map.put("departmenthead",departmentHeadByUser.getId());
List<Integer> params = (List<Integer>) map.get("params");
Integer integer = 0;
if(params.size() < 1 && map.size() > 3){
integer += depositoryRecordService.insertApplicationOutRecord(map);
}else{
for (int i = 0; i < params.size(); i++) {
Integer temp = params.get(i);
Map<String,Object> insert = new HashMap<>();
insert.put("applicantId",userToken.getId());
insert.put("departmenthead",departmentHeadByUser.getId());
insert.put("mid",map.get("mid"+temp));
insert.put("quantity",map.get("quantity"+temp));
insert.put("applyRemark",map.get("applyRemark"+temp));
insert.put("code",map.get("code"+temp));
integer += depositoryRecordService.insertApplicationOutRecord(insert);
}
integer += depositoryRecordService.insertApplicationOutRecord(map);
}
if(integer != 0 && params.size() < 1){
return CrudUtil.postHandle(integer,1);
}else if(integer != 0 && params.size() >0 ){
return CrudUtil.postHandle(integer,params.size() + 1);
}else{
return new RestResponse("",666,new StatusInfo("出库失败","请联系管理员进行操作"));
}
}
// 查看入库申请 // 查看入库申请
@GetMapping("/applicationInView") @GetMapping("/applicationInView")
public RestResponse findApplicationInRecordByCondition(@RequestParam Map<String,Object> map){ public RestResponse findApplicationInRecordByCondition(@RequestParam Map<String,Object> map){
@ -217,11 +272,36 @@ public class DepositoryRecordController {
public RestResponse transfer(@RequestBody Map<String,Object> map, HttpServletRequest request){ public RestResponse transfer(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken"); UserByPort userToken= (UserByPort) request.getAttribute("userToken");
UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken); UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken);
List<Integer> params = (List<Integer>) map.get("params");
map.put("departmenthead",departmentHeadByUser.getId()); map.put("departmenthead",departmentHeadByUser.getId());
map.put("applicantId",userToken.getId()); map.put("applicantId",userToken.getId());
map.put("toId",map.get("depositoryId")); map.put("toId",map.get("depositoryId"));
map.remove("depositoryId"); map.remove("depositoryId");
return CrudUtil.postHandle(depositoryRecordService.transferApply(map),1); Integer integer = 0;
if(params.size() < 1 && map.size() > 4){
integer += depositoryRecordService.transferApply(map);
}else if(params.size() > 0){
for (int i = 0; i < params.size(); i++) {
Integer temp = params.get(i);
Map<String,Object> insert = new HashMap<>();
insert.put("departmenthead",departmentHeadByUser.getId());
insert.put("applicantId",userToken.getId());
insert.put("toId",map.get("depositoryId"+temp));
insert.put("mid",map.get("mid"+temp));
insert.put("quantity",map.get("quantity"+temp));
insert.put("applyRemark",map.get("applyRemark"+temp));
insert.put("code",map.get("code"+temp));
integer += depositoryRecordService.transferApply(insert);
}
integer += depositoryRecordService.transferApply(map);
}
if(params.size() < 1) {
return CrudUtil.postHandle(integer, 1);
}else if(params.size() > 0){
return CrudUtil.postHandle(integer,params.size() + 1);
}else{
return new RestResponse("",666,new StatusInfo("转移失败","请联系管理员进行操作"));
}
} }
// 删除入库记录 // 删除入库记录
@ -252,15 +332,7 @@ public class DepositoryRecordController {
} }
} }
// 出库申请
@PostMapping("/applicationOut")
public RestResponse insertApplicationOutRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
map.put("applicantId",userToken.getId());
UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken);
map.put("departmenthead",departmentHeadByUser.getId());
return CrudUtil.postHandle(depositoryRecordService.insertApplicationOutRecord(map),1);
}
/** /**
* 自动生成出入库订单 * 自动生成出入库订单
* @param map * @param map

31
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -380,12 +380,14 @@ public class PageController {
return mv; return mv;
} }
// 材料类型树形菜单页面
@GetMapping("/selectType") @GetMapping("/selectType")
public String selectType(){ public String selectType(){
return "pages/material/selectType"; return "pages/material/selectType";
} }
// 仓库树形菜单页面
@GetMapping("/selectDepository") @GetMapping("/selectDepository")
public ModelAndView selectDepository(Integer type,HttpServletRequest request){ public ModelAndView selectDepository(Integer type,HttpServletRequest request){
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
@ -398,6 +400,22 @@ public class PageController {
return mv; return mv;
} }
// 专用于卡片仓库树形菜单页面
@GetMapping("/selectDepositoryByCard")
public ModelAndView selectDepositoryByCard(Integer type,String clickObj,HttpServletRequest request){
ModelAndView mv = new ModelAndView();
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
if(type == 1) {
Integer maindeparment = userToken.getMaindeparment();
mv.addObject("adminorg", maindeparment);
mv.addObject("clickObj", clickObj);
}
mv.setViewName("pages/material/selectDepositoryByCard");
return mv;
}
// 材料树形菜单页面
@GetMapping("/selectMaterial") @GetMapping("/selectMaterial")
public ModelAndView selectMaterial(String mname,String type){ public ModelAndView selectMaterial(String mname,String type){
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
@ -407,6 +425,19 @@ public class PageController {
return mv; return mv;
} }
// 专用于卡片材料树形菜单页面
@GetMapping("/selectMaterialByCard")
public ModelAndView selectMaterialByCard(String mname,String type,String clickObj){
ModelAndView mv = new ModelAndView();
mv.addObject("mname",mname);
mv.addObject("type",type);
mv.addObject("clickObj",clickObj);
mv.setViewName("pages/material/selectMaterialByCard");
return mv;
}
@GetMapping("material_view") @GetMapping("material_view")
public ModelAndView material_view(Integer id) { public ModelAndView material_view(Integer id) {
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();

52
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -306,6 +306,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
param.put("depositoryId",transferRecor.getToId()); param.put("depositoryId",transferRecor.getToId());
List<Material> materiallist = materialMapper.findMaterialByCondition(param); List<Material> materiallist = materialMapper.findMaterialByCondition(param);
if(materiallist.size() > 0){ if(materiallist.size() > 0){
map.put("depositoryId",transferRecor.getToId());
applicationIn(map); applicationIn(map);
map.put("mid",materiallist.get(0).getId()); map.put("mid",materiallist.get(0).getId());
}else{ }else{
@ -326,57 +327,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
materialMapper.insertMaterial(insert); materialMapper.insertMaterial(insert);
} }
} }
/* @Override
@Transactional
public Integer review(Map<String, Object> map, Integer userid) {
if (map.containsKey("reviewPass")) {
String simpleTime = DateUtil.getSimpleTime(new Date());
map.put("reviewTime", DateUtil.DateTimeToTimeStamp(simpleTime));
map.put("reviewerId", userid);
Integer reviewPass = (Integer) map.get("reviewPass");
if (reviewPass == 1) {
map.put("state", "待验收");
} else {
map.put("state", "审核未通过");
}
} else {
String simpleTime = DateUtil.getSimpleTime(new Date());
map.put("checkTime", DateUtil.DateTimeToTimeStamp(simpleTime));
map.put("checkerId", userid);
DepositoryRecord record = depositoryRecordMapper.findDepositoryRecordById(ObjectFormatUtil.toInteger(map.get("id")));
map.put("depositoryId", record.getDepositoryId());
map.put("mname", record.getMname());
List<Material> list = materialMapper.findMaterialByCondition(map);
Material material = list.get(0);
Integer checkPass = (Integer) map.get("checkPass");
if (checkPass == 1) {
if (1 == record.getType()) {
map.put("state", "已入库");
//这里貌似会引起并发问题
// 当前入库金额
Double sum = material.getPrice() * record.getQuantity();
material.setAmounts(material.getAmounts() + sum);
// material.setPrice(material.getPrice() * material.getQuantity() + record.getPrice());
material.setQuantity(material.getQuantity() + record.getQuantity());
materialMapper.updateMaterial(material);
} else {
if (material.getQuantity() >= record.getQuantity()) {
// 当前出库金额
Double sum = material.getPrice() * record.getQuantity();
material.setAmounts(material.getAmounts() - sum);
material.setQuantity(material.getQuantity() - record.getQuantity());
materialMapper.updateMaterial(material);
} else {
throw new MyException("库存不足于该出库请求");
}
map.put("state", "已出库");
}
} else {
map.put("state", "验收未通过");
}
}
return depositoryRecordMapper.updateDepositoryRecord(map);
}*/
/** /**
* 根据id修改仓库调度记录 * 根据id修改仓库调度记录

366
src/main/resources/templates/pages/application/application-in.html

@ -14,28 +14,30 @@
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body" style="padding-top: 40px;">
<!-- 入库申请提交--> <!-- 入库申请提交-->
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto; " >
<div carousel-item> <div carousel-item style="overflow: inherit">
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-card" id="cardParent">
<div class="layui-card-body" id="cardItem1">
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料名称:</label> <label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" <input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" id="openSonByMaterial" onblur="selectMaterialByName(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" <input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" /> style="display: none" lay-verify="required" />
</div> </div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i> <i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料编码:</label> <label class="layui-form-label">材料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" <input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required"> class="layui-input" lay-verify="required">
</div> </div>
</div> </div>
@ -50,7 +52,7 @@
<label class="layui-form-label">仓库:</label> <label class="layui-form-label">仓库:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input" <input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="depositoryId" class="layui-input" id="depositoryId" <input type="text" name="depositoryId" class="layui-input" id="depositoryId"
style="display: none" lay-verify="required"/> style="display: none" lay-verify="required"/>
@ -63,6 +65,10 @@
class="layui-textarea"></textarea> class="layui-textarea"></textarea>
</div> </div>
</div> </div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>
<!-- 提交按钮-->
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep"> <button class="layui-btn" lay-submit lay-filter="formStep">
@ -70,8 +76,10 @@
</button> </button>
</div> </div>
</div> </div>
</div>
</form> </form>
</div> </div>
<!-- 下一步-->
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div style="text-align: center;margin-top: 90px;"> <div style="text-align: center;margin-top: 90px;">
@ -88,121 +96,37 @@
</form> </form>
</div> </div>
</div> </div>
<ul class="flow-default" id="LAY_demo2"></ul>
</div>
</div>
<hr>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
layui.use(['form', 'step'], function () { // 用于添加标签
function addItem(obj){}
// 用于删除标签
function deleteItem(obj){}
// 用于编码查询
function selectCode(obj){}
// 用于点击搜索按钮
function selectMaterial(obj){}
// 用于材料名称查询
function selectMaterialByName(obj){}
// 用于加载仓库菜单
function openDepositoryTree(obj){}
// 用于暂存卡片个数
var params = [];
// 用于卡片编号
var NewIdNumber = 1;
layui.use(['form', 'step','flow'], function () {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
flow = layui.flow,
step = layui.step; step = layui.step;
// 用于分步表单加载
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=1',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=1',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({ step.render({
elem: '#stepForm', elem: '#stepForm',
filter: 'stepForm', filter: 'stepForm',
@ -216,9 +140,11 @@
}); });
// 用于提交操作
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data = data.field; data = data.field;
data.type = 1; data.type = 1;
data.params = params;
$.ajax({ $.ajax({
url: "/depositoryRecord/applicationIn", url: "/depositoryRecord/applicationIn",
type: 'post', type: 'post',
@ -249,12 +175,12 @@
return false; return false;
}); });
form.on('submit(formStep2)', function (data) { form.on('submit(formStep2)', function (data) {
step.next('#stepForm'); step.next('#stepForm');
return false; return false;
}); });
$('.pre').click(function () { $('.pre').click(function () {
step.pre('#stepForm'); step.pre('#stepForm');
}); });
@ -263,8 +189,220 @@
step.next('#stepForm'); step.next('#stepForm');
}); });
// 实现卡片添加
addItem = function (obj) {
// 获取父元素id
var parentId = obj.parentNode.id;
NewIdNumber = NewIdNumber + 1;
// 材料名称栏目
var materialItem = `
<div class="layui-card-body" id=`+"cardItem"+NewIdNumber+`>
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item">
<label class="layui-form-label">材料名称</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/>
<input type="text" name=`+"mid"+NewIdNumber+` class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<input name=`+"quantity"+NewIdNumber+` type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<input type="text" name=`+"depositoryId"+NewIdNumber+` class="layui-input" id="depositoryId"
style="display: none" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=`+"applyRemark"+NewIdNumber+` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
params.push(NewIdNumber)
$("#stepForm").css("height",height+430 +'px');
$("#"+parentId).after(materialItem);
};
// 实现卡片删除
deleteItem = function (obj) {
// 获取父节点
var parent = obj.parentNode;
var parentId = parent.id;
parentId = parseInt(parentId.split("cardItem")[1]);
// 获取祖父节点
var reparent = parent.parentNode;
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
$("#stepForm").css("height",height-430 +'px');
params = remove(params,parentId);
reparent.removeChild(parent);
};
//删除数组中指定元素
function remove(arr, item) {
var result = [];
for (let i = 0; i < arr.length; i++) {
if(arr[i] === item){
continue;
}
result.push(arr[i]);
}
return result;
}
// 用于实现通过编码查询材料
selectCode = function(obj){
// 输入code
var code = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var children = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
materialName.value = "";
materialId.value = "";
obj.value = "";
}else{
materialName.value = d.mname;
materialId.value = d.id;
}
}
});
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var parent = obj.parentNode.parentNode;
var parentId = parent.id;
var codeChildren = parent.childNodes[7];
var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var mname = materialName.value;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterialByCard?mname='+mname+'&type=1&clickObj='+parentId,
end: function () {
var mid = materialId.value;
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code;
codeValue.value = code;
}
});
}
});
};
//用于实现材料名称搜索
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var codeChildren = parent.childNodes[7];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
materialId.value = "";
codeValue.value = "";
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
materialId.value = "";
codeValue.value = "";
materialName.value = "";
return false;
}
else{
var material = d.data[0];
materialName.value = material.mname;
materialId.value = material.id;
codeValue.value = material.code;
}
}
});
};
// 用于打开仓库树形菜单
openDepositoryTree = function (obj) {
var parent = obj.parentNode.parentNode.parentNode;
var parentId = parent.id;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepositoryByCard?type=1&clickObj='+parentId,
});
}
}) })
</script> </script>
</body> </body>
</html> </html>

351
src/main/resources/templates/pages/application/application-out.html

@ -14,42 +14,51 @@
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <!-- 出库申请-->
<div class="layui-card-body" style="padding-top: 40px;">
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
<div carousel-item> <div carousel-item style="overflow: inherit">
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-card" id="cardParent">
<div class="layui-card-body" id="cardItem1">
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料名称:</label> <label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" <input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" id="openSonByMaterial" onblur="selectMaterialByName(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" <input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" /> style="display: none" lay-verify="required"/>
</div> </div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i> <i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料编码:</label> <label class="layui-form-label">材料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" <input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required"> class="layui-input" lay-verify="required">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料数量:</label> <label class="layui-form-label">材料数量:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input name="quantity" type="number" placeholder="请填写入材料数量" value="" class="layui-input" lay-verify="number" required> <input name="quantity" type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number" required>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">备注说明:</label> <label class="layui-form-label">备注说明:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value="" class="layui-textarea"></textarea> <textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div> </div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div> </div>
<!-- 提交按钮-->
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep"> <button class="layui-btn" lay-submit lay-filter="formStep">
@ -57,6 +66,7 @@
</button> </button>
</div> </div>
</div> </div>
</div>
</form> </form>
</div> </div>
<div> <div>
@ -76,117 +86,39 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<hr> <hr>
<div style="color: #666;margin-top: 30px;margin-bottom: 40px;padding-left: 30px;"> <div style="color: #666;margin-top: 30px;margin-bottom: 40px;padding-left: 30px;">
<h3>说明</h3><br> <h3>说明</h3><br>
申请提交后,24小时内审核完毕 申请提交后,24小时内审核完毕
</div> </div>
</div> </div>
</div>
</div> </div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
layui.use([ 'form', 'step','layer','jquery'], function () { // 用于添加标签
function addItem(obj){}
// 用于删除标签
function deleteItem(obj){}
// 用于编码查询
function selectCode(obj){}
// 用于点击搜索按钮
function selectMaterial(obj){}
// 用于材料名称查询
function selectMaterialByName(obj){}
// 用于暂存卡片个数
var params = [];
// 用于卡片编号
var NewIdNumber = 1;
layui.use(['form', 'step', 'layer', 'jquery'], function () {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
step = layui.step; step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=2',
});
});
$('#selectMaterial').on('click', function () { // 用于分步表单加载
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({ step.render({
elem: '#stepForm', elem: '#stepForm',
filter: 'stepForm', filter: 'stepForm',
@ -201,28 +133,29 @@
}] }]
}); });
// 提交
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data=data.field; data = data.field;
data.params = params;
$.ajax({ $.ajax({
url:"/depositoryRecord/applicationOut", url: "/depositoryRecord/applicationOut",
type:'post', type: 'post',
dataType:'json', dataType: 'json',
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
data:JSON.stringify(data), data: JSON.stringify(data),
beforeSend:function () { beforeSend: function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] }); this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
}, },
success:function(data){ success: function (data) {
layer.close(this.layerIndex); layer.close(this.layerIndex);
if(data.status >= 300){ if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情 layer.msg(data.statusInfo.message);//失败的表情
return; return;
}else{ } else {
layer.msg("申请提交成功", { layer.msg("申请提交成功", {
icon: 6,//成功的表情 icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒) time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function(){ }, function () {
step.next('#stepForm'); step.next('#stepForm');
}); });
} }
@ -247,6 +180,194 @@
step.next('#stepForm'); step.next('#stepForm');
}); });
// 实现卡片添加
addItem = function (obj) {
// 获取父元素id
var parentId = obj.parentNode.id;
NewIdNumber = NewIdNumber + 1;
// 材料名称栏目
var materialItem = `
<div class="layui-card-body" id=`+"cardItem"+NewIdNumber+`>
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item">
<label class="layui-form-label">材料名称</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/>
<input type="text" name=`+"mid"+NewIdNumber+` class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<input name=`+"quantity"+NewIdNumber+` type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=`+"applyRemark"+NewIdNumber+` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
params.push(NewIdNumber)
$("#stepForm").css("height",height+430 +'px');
$("#"+parentId).after(materialItem);
};
// 实现卡片删除
deleteItem = function (obj) {
// 获取父节点
var parent = obj.parentNode;
var parentId = parent.id;
parentId = parseInt(parentId.split("cardItem")[1]);
console.log(parentId);
// 获取祖父节点
var reparent = parent.parentNode;
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
$("#stepForm").css("height",height-430 +'px');
params = remove(params,parentId);
reparent.removeChild(parent);
};
//删除数组中指定元素
function remove(arr, item) {
var result = [];
for (let i = 0; i < arr.length; i++) {
if(arr[i] === item){
continue;
}
result.push(arr[i]);
}
return result;
}
// 用于实现通过编码查询材料
selectCode = function(obj){
// 输入code
var code = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var children = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
materialName.value = "";
materialId.value = "";
obj.value = "";
}else{
materialName.value = d.mname;
materialId.value = d.id;
}
}
});
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var parent = obj.parentNode.parentNode;
var parentId = parent.id;
var codeChildren = parent.childNodes[7];
var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var mname = materialName.value;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterialByCard?mname='+mname+'&type=1&clickObj='+parentId,
end: function () {
var mid = materialId.value;
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code;
codeValue.value = code;
}
});
}
});
};
//用于实现材料名称搜索
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var codeChildren = parent.childNodes[7];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
materialId.value = "";
codeValue.value = "";
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
materialId.value = "";
codeValue.value = "";
materialName.value = "";
return false;
}
else{
var material = d.data[0];
materialName.value = material.mname;
materialId.value = material.id;
codeValue.value = material.code;
}
}
});
};
}) })
</script> </script>
</body> </body>

356
src/main/resources/templates/pages/application/application-transfer.html

@ -14,27 +14,31 @@
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <!-- 库存转移申请-->
<div class="layui-card-body" style="padding-top: 40px;">
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
<div carousel-item> <div carousel-item style="overflow: inherit">
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-card" id="cardParent">
<div class="layui-card-body" id="cardItem1">
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料名称:</label> <label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" <input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" id="openSonByMaterial" onblur="selectMaterialByName(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" <input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" /> style="display: none" lay-verify="required" />
</div> </div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i> <i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料编码:</label> <label class="layui-form-label">材料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" <input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required"> class="layui-input" lay-verify="required">
</div> </div>
</div> </div>
@ -47,11 +51,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">转入仓库:</label> <label class="layui-form-label">转入仓库:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<!-- <select name="toId" lay-verify="required"> <input type="text" placeholder="请选择仓库" class="layui-input" id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
<option value="" selected>请选择仓库</option>
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" th:text="${depository?.getDname()}">外芯仓库</option>
</select>-->
<input type="text" placeholder="请选择仓库" class="layui-input" id="openSonByDepository" readonly
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="depositoryId" class="layui-input" id="depositoryId" style="display: none" lay-verify="required"/> <input type="text" name="depositoryId" class="layui-input" id="depositoryId" style="display: none" lay-verify="required"/>
</div> </div>
@ -62,6 +62,9 @@
<textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value="" class="layui-textarea"></textarea> <textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value="" class="layui-textarea"></textarea>
</div> </div>
</div> </div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>
<!-- 提交-->
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep"> <button class="layui-btn" lay-submit lay-filter="formStep">
@ -69,8 +72,11 @@
</button> </button>
</div> </div>
</div> </div>
</div>
</form> </form>
</div> </div>
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div style="text-align: center;margin-top: 90px;"> <div style="text-align: center;margin-top: 90px;">
@ -109,112 +115,30 @@
申请提交后,24小时内审核完毕 申请提交后,24小时内审核完毕
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
// 用于添加标签
function addItem(obj){}
// 用于删除标签
function deleteItem(obj){}
// 用于编码查询
function selectCode(obj){}
// 用于点击搜索按钮
function selectMaterial(obj){}
// 用于材料名称查询
function selectMaterialByName(obj){}
// 用于加载仓库菜单
function openDepositoryTree(obj){}
// 用于暂存卡片个数
var params = [];
// 用于卡片编号
var NewIdNumber = 1;
layui.use([ 'form', 'step','layer','jquery'], function () { layui.use([ 'form', 'step','layer','jquery'], function () {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
step = layui.step; step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
});
$('#openSonByDepository').on('click', function(){
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area : ['800px' , '500px'],
content: '/selectDepository?type=2',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({ step.render({
elem: '#stepForm', elem: '#stepForm',
@ -236,6 +160,7 @@
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data=data.field; data=data.field;
data.params = params;
$.ajax({ $.ajax({
url:"/depositoryRecord/transfer", url:"/depositoryRecord/transfer",
type:'put', type:'put',
@ -280,6 +205,219 @@
step.next('#stepForm'); step.next('#stepForm');
}); });
// 实现卡片添加
addItem = function (obj) {
// 获取父元素id
var parentId = obj.parentNode.id;
NewIdNumber = NewIdNumber + 1;
// 材料名称栏目
var materialItem = `
<div class="layui-card-body" id=`+"cardItem"+NewIdNumber+`>
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item">
<label class="layui-form-label">材料名称</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/>
<input type="text" name=`+"mid"+NewIdNumber+` class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<input name=`+"quantity"+NewIdNumber+` type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">转入仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<input type="text" name=`+"depositoryId"+NewIdNumber+` class="layui-input" id="depositoryId"
style="display: none" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=`+"applyRemark"+NewIdNumber+` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
params.push(NewIdNumber)
$("#stepForm").css("height",height+430 +'px');
$("#"+parentId).after(materialItem);
};
// 实现卡片删除
deleteItem = function (obj) {
// 获取父节点
var parent = obj.parentNode;
var parentId = parent.id;
parentId = parseInt(parentId.split("cardItem")[1]);
// 获取祖父节点
var reparent = parent.parentNode;
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
$("#stepForm").css("height",height-430 +'px');
params = remove(params,parentId);
reparent.removeChild(parent);
};
//删除数组中指定元素
function remove(arr, item) {
var result = [];
for (let i = 0; i < arr.length; i++) {
if(arr[i] === item){
continue;
}
result.push(arr[i]);
}
return result;
}
// 用于实现通过编码查询材料
selectCode = function(obj){
// 输入code
var code = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var children = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
materialName.value = "";
materialId.value = "";
obj.value = "";
}else{
materialName.value = d.mname;
materialId.value = d.id;
}
}
});
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var parent = obj.parentNode.parentNode;
var parentId = parent.id;
var codeChildren = parent.childNodes[7];
var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var mname = materialName.value;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterialByCard?mname='+mname+'&type=1&clickObj='+parentId,
end: function () {
var mid = materialId.value;
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code;
codeValue.value = code;
}
});
}
});
};
//用于实现材料名称搜索
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var codeChildren = parent.childNodes[7];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
materialId.value = "";
codeValue.value = "";
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
materialId.value = "";
codeValue.value = "";
materialName.value = "";
return false;
}
else{
var material = d.data[0];
materialName.value = material.mname;
materialId.value = material.id;
codeValue.value = material.code;
}
}
});
};
// 用于打开仓库树形菜单
openDepositoryTree = function (obj) {
var parent = obj.parentNode.parentNode.parentNode;
var parentId = parent.id;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepositoryByCard?type=1&clickObj='+parentId,
});
}
}) })
</script> </script>

57
src/main/resources/templates/pages/material/selectDepositoryByCard.html

@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<input id="adminorg" name="adminorg" th:value="${adminorg}" style="display: none">
<input id="clickObj" name="clickObj" th:value="${clickObj}" style="display: none">
<div id="test2" class="demo-tree"></div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
var data;
layui.use(['form', 'layer','dropdown','tree'], function () {
var $ = layui.jquery,
tree = layui.tree;
var adminorg = $("#adminorg").val();
var clickObj = $("#clickObj").val();
test = tree.render({
elem: '#test2'
,data: []
,onlyIconControl: true //是否仅允许节点左侧图标控制展开收缩
,click: function(obj){
var windowParent = $("#"+clickObj,window.parent.document)[0];
var depositoryChildren = windowParent.childNodes[11];
var depositoryItem = depositoryChildren.childNodes[3].childNodes;
var depositoryName = depositoryItem[1];
var depositoryId = depositoryItem[3];
depositoryName.value = obj.data.title;
depositoryId.value = obj.data.id;
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
});
$.ajax({
url: "/repository/treeMenus?adminorg=0"+adminorg,
type: 'get',
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var data2 = d.data;
test.reload({
data:data2
});
}
});
})
</script>
</body>
</html>

63
src/main/resources/templates/pages/material/selectMaterialByCard.html

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<input id="mname" name="mname" th:value="${mname}" style="display: none">
<input id="type" name="type" th:value="${type}" style="display: none">
<input id="clickObj" name="clickObj" th:value="${clickObj}" style="display: none">
<div id="test2" class="demo-tree"></div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
var data;
layui.use(['form', 'layer', 'dropdown', 'tree'], function () {
var $ = layui.jquery,
tree = layui.tree;
var mname = $("#mname").val();
var type = $("#type").val();
var clickObj = $("#clickObj").val();
var req = {};
req.mname = mname;
req.type = type;
test = tree.render({
elem: '#test2'
, data: []
, click: function (obj) {
if (obj.data.children !== undefined) {
return false
}
var windowParent = $("#"+clickObj,window.parent.document)[0];
var children = windowParent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
materialName.value = obj.data.title;
materialId.value = obj.data.id;
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
});
$.ajax({
url: "/material/treeMenus",
data: JSON.stringify(req),
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var data2 = d.data;
test.reload({
data: data2
});
}
});
})
</script>
</body>
</html>

0
target/classes/.restartTriggerFile

363
target/classes/templates/pages/application/application-in.html

@ -14,28 +14,30 @@
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body" style="padding-top: 40px;">
<!-- 入库申请提交--> <!-- 入库申请提交-->
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto; " >
<div carousel-item> <div carousel-item style="overflow: inherit">
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-card" id="cardParent">
<div class="layui-card-body" id="cardItem1">
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料名称:</label> <label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" <input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" id="openSonByMaterial" onblur="selectMaterialByName(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" <input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" /> style="display: none" lay-verify="required" />
</div> </div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i> <i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料编码:</label> <label class="layui-form-label">材料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" <input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required"> class="layui-input" lay-verify="required">
</div> </div>
</div> </div>
@ -50,7 +52,7 @@
<label class="layui-form-label">仓库:</label> <label class="layui-form-label">仓库:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input" <input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="depositoryId" class="layui-input" id="depositoryId" <input type="text" name="depositoryId" class="layui-input" id="depositoryId"
style="display: none" lay-verify="required"/> style="display: none" lay-verify="required"/>
@ -63,6 +65,10 @@
class="layui-textarea"></textarea> class="layui-textarea"></textarea>
</div> </div>
</div> </div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>
<!-- 提交按钮-->
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep"> <button class="layui-btn" lay-submit lay-filter="formStep">
@ -70,8 +76,10 @@
</button> </button>
</div> </div>
</div> </div>
</div>
</form> </form>
</div> </div>
<!-- 下一步-->
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div style="text-align: center;margin-top: 90px;"> <div style="text-align: center;margin-top: 90px;">
@ -90,117 +98,35 @@
</div> </div>
</div> </div>
</div> </div>
<hr>
</div>
</div>
</div> </div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
layui.use(['form', 'step'], function () { // 用于添加标签
function addItem(obj){}
// 用于删除标签
function deleteItem(obj){}
// 用于编码查询
function selectCode(obj){}
// 用于点击搜索按钮
function selectMaterial(obj){}
// 用于材料名称查询
function selectMaterialByName(obj){}
// 用于加载仓库菜单
function openDepositoryTree(obj){}
// 用于暂存卡片个数
var params = [];
// 用于卡片编号
var NewIdNumber = 1;
layui.use(['form', 'step','flow'], function () {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
flow = layui.flow,
step = layui.step; step = layui.step;
// 用于分步表单加载
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=1',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=1',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({ step.render({
elem: '#stepForm', elem: '#stepForm',
filter: 'stepForm', filter: 'stepForm',
@ -214,9 +140,11 @@
}); });
// 用于提交操作
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data = data.field; data = data.field;
data.type = 1; data.type = 1;
data.params = params;
$.ajax({ $.ajax({
url: "/depositoryRecord/applicationIn", url: "/depositoryRecord/applicationIn",
type: 'post', type: 'post',
@ -247,12 +175,12 @@
return false; return false;
}); });
form.on('submit(formStep2)', function (data) { form.on('submit(formStep2)', function (data) {
step.next('#stepForm'); step.next('#stepForm');
return false; return false;
}); });
$('.pre').click(function () { $('.pre').click(function () {
step.pre('#stepForm'); step.pre('#stepForm');
}); });
@ -261,6 +189,219 @@
step.next('#stepForm'); step.next('#stepForm');
}); });
// 实现卡片添加
addItem = function (obj) {
// 获取父元素id
var parentId = obj.parentNode.id;
NewIdNumber = NewIdNumber + 1;
// 材料名称栏目
var materialItem = `
<div class="layui-card-body" id=`+"cardItem"+NewIdNumber+`>
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item">
<label class="layui-form-label">材料名称</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/>
<input type="text" name=`+"mid"+NewIdNumber+` class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<input name=`+"quantity"+NewIdNumber+` type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<input type="text" name=`+"depositoryId"+NewIdNumber+` class="layui-input" id="depositoryId"
style="display: none" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=`+"applyRemark"+NewIdNumber+` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
params.push(NewIdNumber)
$("#stepForm").css("height",height+430 +'px');
$("#"+parentId).after(materialItem);
};
// 实现卡片删除
deleteItem = function (obj) {
// 获取父节点
var parent = obj.parentNode;
var parentId = parent.id;
parentId = parseInt(parentId.split("cardItem")[1]);
// 获取祖父节点
var reparent = parent.parentNode;
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
$("#stepForm").css("height",height-430 +'px');
params = remove(params,parentId);
reparent.removeChild(parent);
};
//删除数组中指定元素
function remove(arr, item) {
var result = [];
for (let i = 0; i < arr.length; i++) {
if(arr[i] === item){
continue;
}
result.push(arr[i]);
}
return result;
}
// 用于实现通过编码查询材料
selectCode = function(obj){
// 输入code
var code = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var children = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
materialName.value = "";
materialId.value = "";
obj.value = "";
}else{
materialName.value = d.mname;
materialId.value = d.id;
}
}
});
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var parent = obj.parentNode.parentNode;
var parentId = parent.id;
var codeChildren = parent.childNodes[7];
var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var mname = materialName.value;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterialByCard?mname='+mname+'&type=1&clickObj='+parentId,
end: function () {
var mid = materialId.value;
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code;
codeValue.value = code;
}
});
}
});
};
//用于实现材料名称搜索
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var codeChildren = parent.childNodes[7];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
materialId.value = "";
codeValue.value = "";
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
materialId.value = "";
codeValue.value = "";
materialName.value = "";
return false;
}
else{
var material = d.data[0];
materialName.value = material.mname;
materialId.value = material.id;
codeValue.value = material.code;
}
}
});
};
// 用于打开仓库树形菜单
openDepositoryTree = function (obj) {
var parent = obj.parentNode.parentNode.parentNode;
var parentId = parent.id;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepositoryByCard?type=1&clickObj='+parentId,
});
}
}) })
</script> </script>
</body> </body>

351
target/classes/templates/pages/application/application-out.html

@ -14,42 +14,51 @@
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <!-- 出库申请-->
<div class="layui-card-body" style="padding-top: 40px;">
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
<div carousel-item> <div carousel-item style="overflow: inherit">
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-card" id="cardParent">
<div class="layui-card-body" id="cardItem1">
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料名称:</label> <label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" <input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" id="openSonByMaterial" onblur="selectMaterialByName(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" <input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" /> style="display: none" lay-verify="required"/>
</div> </div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i> <i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料编码:</label> <label class="layui-form-label">材料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" <input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required"> class="layui-input" lay-verify="required">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料数量:</label> <label class="layui-form-label">材料数量:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input name="quantity" type="number" placeholder="请填写入材料数量" value="" class="layui-input" lay-verify="number" required> <input name="quantity" type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number" required>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">备注说明:</label> <label class="layui-form-label">备注说明:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value="" class="layui-textarea"></textarea> <textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div> </div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div> </div>
<!-- 提交按钮-->
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep"> <button class="layui-btn" lay-submit lay-filter="formStep">
@ -57,6 +66,7 @@
</button> </button>
</div> </div>
</div> </div>
</div>
</form> </form>
</div> </div>
<div> <div>
@ -76,117 +86,39 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<hr> <hr>
<div style="color: #666;margin-top: 30px;margin-bottom: 40px;padding-left: 30px;"> <div style="color: #666;margin-top: 30px;margin-bottom: 40px;padding-left: 30px;">
<h3>说明</h3><br> <h3>说明</h3><br>
申请提交后,24小时内审核完毕 申请提交后,24小时内审核完毕
</div> </div>
</div> </div>
</div>
</div> </div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
layui.use([ 'form', 'step','layer','jquery'], function () { // 用于添加标签
function addItem(obj){}
// 用于删除标签
function deleteItem(obj){}
// 用于编码查询
function selectCode(obj){}
// 用于点击搜索按钮
function selectMaterial(obj){}
// 用于材料名称查询
function selectMaterialByName(obj){}
// 用于暂存卡片个数
var params = [];
// 用于卡片编号
var NewIdNumber = 1;
layui.use(['form', 'step', 'layer', 'jquery'], function () {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
step = layui.step; step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=2',
});
});
$('#selectMaterial').on('click', function () { // 用于分步表单加载
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({ step.render({
elem: '#stepForm', elem: '#stepForm',
filter: 'stepForm', filter: 'stepForm',
@ -201,28 +133,29 @@
}] }]
}); });
// 提交
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data=data.field; data = data.field;
data.params = params;
$.ajax({ $.ajax({
url:"/depositoryRecord/applicationOut", url: "/depositoryRecord/applicationOut",
type:'post', type: 'post',
dataType:'json', dataType: 'json',
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
data:JSON.stringify(data), data: JSON.stringify(data),
beforeSend:function () { beforeSend: function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] }); this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
}, },
success:function(data){ success: function (data) {
layer.close(this.layerIndex); layer.close(this.layerIndex);
if(data.status >= 300){ if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情 layer.msg(data.statusInfo.message);//失败的表情
return; return;
}else{ } else {
layer.msg("申请提交成功", { layer.msg("申请提交成功", {
icon: 6,//成功的表情 icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒) time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function(){ }, function () {
step.next('#stepForm'); step.next('#stepForm');
}); });
} }
@ -247,6 +180,194 @@
step.next('#stepForm'); step.next('#stepForm');
}); });
// 实现卡片添加
addItem = function (obj) {
// 获取父元素id
var parentId = obj.parentNode.id;
NewIdNumber = NewIdNumber + 1;
// 材料名称栏目
var materialItem = `
<div class="layui-card-body" id=`+"cardItem"+NewIdNumber+`>
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item">
<label class="layui-form-label">材料名称</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/>
<input type="text" name=`+"mid"+NewIdNumber+` class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<input name=`+"quantity"+NewIdNumber+` type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=`+"applyRemark"+NewIdNumber+` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
params.push(NewIdNumber)
$("#stepForm").css("height",height+430 +'px');
$("#"+parentId).after(materialItem);
};
// 实现卡片删除
deleteItem = function (obj) {
// 获取父节点
var parent = obj.parentNode;
var parentId = parent.id;
parentId = parseInt(parentId.split("cardItem")[1]);
console.log(parentId);
// 获取祖父节点
var reparent = parent.parentNode;
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
$("#stepForm").css("height",height-430 +'px');
params = remove(params,parentId);
reparent.removeChild(parent);
};
//删除数组中指定元素
function remove(arr, item) {
var result = [];
for (let i = 0; i < arr.length; i++) {
if(arr[i] === item){
continue;
}
result.push(arr[i]);
}
return result;
}
// 用于实现通过编码查询材料
selectCode = function(obj){
// 输入code
var code = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var children = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
materialName.value = "";
materialId.value = "";
obj.value = "";
}else{
materialName.value = d.mname;
materialId.value = d.id;
}
}
});
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var parent = obj.parentNode.parentNode;
var parentId = parent.id;
var codeChildren = parent.childNodes[7];
var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var mname = materialName.value;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterialByCard?mname='+mname+'&type=1&clickObj='+parentId,
end: function () {
var mid = materialId.value;
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code;
codeValue.value = code;
}
});
}
});
};
//用于实现材料名称搜索
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var codeChildren = parent.childNodes[7];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
materialId.value = "";
codeValue.value = "";
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
materialId.value = "";
codeValue.value = "";
materialName.value = "";
return false;
}
else{
var material = d.data[0];
materialName.value = material.mname;
materialId.value = material.id;
codeValue.value = material.code;
}
}
});
};
}) })
</script> </script>
</body> </body>

356
target/classes/templates/pages/application/application-transfer.html

@ -14,27 +14,31 @@
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
<div class="layui-fluid"> <div class="layui-fluid">
<div class="layui-card"> <!-- 库存转移申请-->
<div class="layui-card-body" style="padding-top: 40px;">
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;"> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
<div carousel-item> <div carousel-item style="overflow: inherit">
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-card" id="cardParent">
<div class="layui-card-body" id="cardItem1">
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料名称:</label> <label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" <input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" id="openSonByMaterial" onblur="selectMaterialByName(this)"
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" <input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" /> style="display: none" lay-verify="required" />
</div> </div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i> <i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">材料编码:</label> <label class="layui-form-label">材料编码:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" <input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required"> class="layui-input" lay-verify="required">
</div> </div>
</div> </div>
@ -47,11 +51,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">转入仓库:</label> <label class="layui-form-label">转入仓库:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<!-- <select name="toId" lay-verify="required"> <input type="text" placeholder="请选择仓库" class="layui-input" id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
<option value="" selected>请选择仓库</option>
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" th:text="${depository?.getDname()}">外芯仓库</option>
</select>-->
<input type="text" placeholder="请选择仓库" class="layui-input" id="openSonByDepository" readonly
lay-verify="required"/> lay-verify="required"/>
<input type="text" name="depositoryId" class="layui-input" id="depositoryId" style="display: none" lay-verify="required"/> <input type="text" name="depositoryId" class="layui-input" id="depositoryId" style="display: none" lay-verify="required"/>
</div> </div>
@ -62,6 +62,9 @@
<textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value="" class="layui-textarea"></textarea> <textarea name="applyRemark" placeholder="请填写相关原因及申请原因" value="" class="layui-textarea"></textarea>
</div> </div>
</div> </div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>
<!-- 提交-->
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep"> <button class="layui-btn" lay-submit lay-filter="formStep">
@ -69,8 +72,11 @@
</button> </button>
</div> </div>
</div> </div>
</div>
</form> </form>
</div> </div>
<div> <div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;"> <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div style="text-align: center;margin-top: 90px;"> <div style="text-align: center;margin-top: 90px;">
@ -109,112 +115,30 @@
申请提交后,24小时内审核完毕 申请提交后,24小时内审核完毕
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
// 用于添加标签
function addItem(obj){}
// 用于删除标签
function deleteItem(obj){}
// 用于编码查询
function selectCode(obj){}
// 用于点击搜索按钮
function selectMaterial(obj){}
// 用于材料名称查询
function selectMaterialByName(obj){}
// 用于加载仓库菜单
function openDepositoryTree(obj){}
// 用于暂存卡片个数
var params = [];
// 用于卡片编号
var NewIdNumber = 1;
layui.use([ 'form', 'step','layer','jquery'], function () { layui.use([ 'form', 'step','layer','jquery'], function () {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
step = layui.step; step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
});
$('#openSonByDepository').on('click', function(){
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area : ['800px' , '500px'],
content: '/selectDepository?type=2',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({ step.render({
elem: '#stepForm', elem: '#stepForm',
@ -236,6 +160,7 @@
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data=data.field; data=data.field;
data.params = params;
$.ajax({ $.ajax({
url:"/depositoryRecord/transfer", url:"/depositoryRecord/transfer",
type:'put', type:'put',
@ -280,6 +205,219 @@
step.next('#stepForm'); step.next('#stepForm');
}); });
// 实现卡片添加
addItem = function (obj) {
// 获取父元素id
var parentId = obj.parentNode.id;
NewIdNumber = NewIdNumber + 1;
// 材料名称栏目
var materialItem = `
<div class="layui-card-body" id=`+"cardItem"+NewIdNumber+`>
<hr>
<i class="layui-icon layui-icon-subtraction" style="display: inline" onclick="deleteItem(this)"></i>
<div class="layui-form-item">
<label class="layui-form-label">材料名称</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/>
<input type="text" name=`+"mid"+NewIdNumber+` class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input id="code" name=`+"code"+NewIdNumber+` type="text" placeholder="请填写入材料编码" value="" onblur="selectCode(this)"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<input name=`+"quantity"+NewIdNumber+` type="number" placeholder="请填写入材料数量" value=""
class="layui-input" lay-verify="number">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">转入仓库:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择仓库" class="layui-input"
id="openSonByDepository" readonly onclick="openDepositoryTree(this)"
lay-verify="required"/>
<input type="text" name=`+"depositoryId"+NewIdNumber+` class="layui-input" id="depositoryId"
style="display: none" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
<textarea name=`+"applyRemark"+NewIdNumber+` placeholder="请填写相关原因及申请原因" value=""
class="layui-textarea"></textarea>
</div>
</div>
<i class="layui-icon layui-icon-addition" style="display: inline" onclick="addItem(this)"></i>
</div>`;
// 获取当前高度
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
params.push(NewIdNumber)
$("#stepForm").css("height",height+430 +'px');
$("#"+parentId).after(materialItem);
};
// 实现卡片删除
deleteItem = function (obj) {
// 获取父节点
var parent = obj.parentNode;
var parentId = parent.id;
parentId = parseInt(parentId.split("cardItem")[1]);
// 获取祖父节点
var reparent = parent.parentNode;
var height = parseInt(($("#stepForm").css('height')).split("px")[0]);
$("#stepForm").css("height",height-430 +'px');
params = remove(params,parentId);
reparent.removeChild(parent);
};
//删除数组中指定元素
function remove(arr, item) {
var result = [];
for (let i = 0; i < arr.length; i++) {
if(arr[i] === item){
continue;
}
result.push(arr[i]);
}
return result;
}
// 用于实现通过编码查询材料
selectCode = function(obj){
// 输入code
var code = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var children = parent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
materialName.value = "";
materialId.value = "";
obj.value = "";
}else{
materialName.value = d.mname;
materialId.value = d.id;
}
}
});
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var parent = obj.parentNode.parentNode;
var parentId = parent.id;
var codeChildren = parent.childNodes[7];
var materialChildren = parent.childNodes[5];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var mname = materialName.value;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterialByCard?mname='+mname+'&type=1&clickObj='+parentId,
end: function () {
var mid = materialId.value;
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code;
codeValue.value = code;
}
});
}
});
};
//用于实现材料名称搜索
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
// 获取对应元素
var parent = obj.parentNode.parentNode.parentNode;
var materialChildren = parent.childNodes[5];
var codeChildren = parent.childNodes[7];
var codeItem = codeChildren.childNodes[3].childNodes;
var codeValue = codeItem[1];
var materialItem = materialChildren.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
materialId.value = "";
codeValue.value = "";
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
materialId.value = "";
codeValue.value = "";
materialName.value = "";
return false;
}
else{
var material = d.data[0];
materialName.value = material.mname;
materialId.value = material.id;
codeValue.value = material.code;
}
}
});
};
// 用于打开仓库树形菜单
openDepositoryTree = function (obj) {
var parent = obj.parentNode.parentNode.parentNode;
var parentId = parent.id;
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepositoryByCard?type=1&clickObj='+parentId,
});
}
}) })
</script> </script>

57
target/classes/templates/pages/material/selectDepositoryByCard.html

@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<input id="adminorg" name="adminorg" th:value="${adminorg}" style="display: none">
<input id="clickObj" name="clickObj" th:value="${clickObj}" style="display: none">
<div id="test2" class="demo-tree"></div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
var data;
layui.use(['form', 'layer','dropdown','tree'], function () {
var $ = layui.jquery,
tree = layui.tree;
var adminorg = $("#adminorg").val();
var clickObj = $("#clickObj").val();
test = tree.render({
elem: '#test2'
,data: []
,onlyIconControl: true //是否仅允许节点左侧图标控制展开收缩
,click: function(obj){
var windowParent = $("#"+clickObj,window.parent.document)[0];
var depositoryChildren = windowParent.childNodes[11];
var depositoryItem = depositoryChildren.childNodes[3].childNodes;
var depositoryName = depositoryItem[1];
var depositoryId = depositoryItem[3];
depositoryName.value = obj.data.title;
depositoryId.value = obj.data.id;
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
});
$.ajax({
url: "/repository/treeMenus?adminorg=0"+adminorg,
type: 'get',
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var data2 = d.data;
test.reload({
data:data2
});
}
});
})
</script>
</body>
</html>

63
target/classes/templates/pages/material/selectMaterialByCard.html

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<input id="mname" name="mname" th:value="${mname}" style="display: none">
<input id="type" name="type" th:value="${type}" style="display: none">
<input id="clickObj" name="clickObj" th:value="${clickObj}" style="display: none">
<div id="test2" class="demo-tree"></div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
var data;
layui.use(['form', 'layer', 'dropdown', 'tree'], function () {
var $ = layui.jquery,
tree = layui.tree;
var mname = $("#mname").val();
var type = $("#type").val();
var clickObj = $("#clickObj").val();
var req = {};
req.mname = mname;
req.type = type;
test = tree.render({
elem: '#test2'
, data: []
, click: function (obj) {
if (obj.data.children !== undefined) {
return false
}
var windowParent = $("#"+clickObj,window.parent.document)[0];
var children = windowParent.childNodes[5];
var materialItem = children.childNodes[3].childNodes;
var materialName = materialItem[1];
var materialId = materialItem[3];
materialName.value = obj.data.title;
materialId.value = obj.data.id;
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
});
$.ajax({
url: "/material/treeMenus",
data: JSON.stringify(req),
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var data2 = d.data;
test.reload({
data: data2
});
}
});
})
</script>
</body>
</html>
Loading…
Cancel
Save