68 changed files with 2858 additions and 1069 deletions
@ -0,0 +1,51 @@ |
|||
package com.dreamchaser.depository_manage.pojo; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 用于存储用户与物料类型之间的权限关系 |
|||
*/ |
|||
@Data |
|||
public class RoleAndMaterialType { |
|||
/** |
|||
* id |
|||
*/ |
|||
private Integer id; |
|||
|
|||
/** |
|||
* 类型id |
|||
*/ |
|||
private Integer mtid; |
|||
/** |
|||
* 类型名称 |
|||
*/ |
|||
private String tname; |
|||
/** |
|||
* 类型介绍 |
|||
*/ |
|||
private String mtintroduce; |
|||
/** |
|||
* 类型父级 |
|||
*/ |
|||
private Integer mtparentId; |
|||
/** |
|||
* 用户名称 |
|||
*/ |
|||
private String username; |
|||
/** |
|||
* 用户id |
|||
*/ |
|||
private Integer uid; |
|||
/** |
|||
* 1个人2岗位 |
|||
*/ |
|||
private Integer classes; |
|||
/** |
|||
* 类型状态 |
|||
*/ |
|||
private Integer mtstate; |
|||
/** |
|||
* 用户工号 |
|||
*/ |
|||
private String userNumber; |
|||
} |
|||
@ -0,0 +1,115 @@ |
|||
package com.dreamchaser.depository_manage.utils; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.io.*; |
|||
import java.net.URLEncoder; |
|||
import java.nio.file.Files; |
|||
import java.util.List; |
|||
import java.util.zip.ZipEntry; |
|||
import java.util.zip.ZipOutputStream; |
|||
|
|||
|
|||
|
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
/** |
|||
* 压缩工具类 |
|||
*/ |
|||
public class ZipMultiFileUtil { |
|||
|
|||
private static final Logger logger = LoggerFactory.getLogger(ZipMultiFileUtil.class); |
|||
|
|||
/** |
|||
* 获取当前系统的临时目录 |
|||
*/ |
|||
private static final String FILE_PATH = System.getProperty("java.io.tmpdir") + File.separator; |
|||
|
|||
private static final int ZIP_BUFFER_SIZE = 8192; |
|||
|
|||
|
|||
/** |
|||
* zip打包下载 |
|||
* |
|||
* @param response |
|||
* @param zipFileName |
|||
* @param fileList |
|||
*/ |
|||
public static void zipDownload(HttpServletResponse response, String zipFileName, List<File> fileList) { |
|||
// zip文件路径
|
|||
String zipPath = FILE_PATH + zipFileName; |
|||
try { |
|||
//创建zip输出流
|
|||
try (ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipPath))) { |
|||
//声明文件集合用于存放文件
|
|||
byte[] buffer = new byte[1024]; |
|||
//将文件放入zip压缩包
|
|||
for (File file : fileList) { |
|||
try (FileInputStream fis = new FileInputStream(file)) { |
|||
out.putNextEntry(new ZipEntry(file.getName())); |
|||
int len; |
|||
// 读入需要下载的文件的内容,打包到zip文件
|
|||
while ((len = fis.read(buffer)) > 0) { |
|||
out.write(buffer, 0, len); |
|||
} |
|||
out.closeEntry(); |
|||
} |
|||
} |
|||
} |
|||
//下载zip文件
|
|||
downFile(response, zipFileName); |
|||
} catch (Exception e) { |
|||
logger.error("文件下载出错", e); |
|||
} finally { |
|||
// zip文件也删除
|
|||
fileList.add(new File(zipPath)); |
|||
deleteFile(fileList); |
|||
} |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 文件下载 |
|||
* |
|||
* @param response |
|||
* @param zipFileName |
|||
*/ |
|||
private static void downFile(HttpServletResponse response, String zipFileName) { |
|||
try { |
|||
String path = FILE_PATH + zipFileName; |
|||
File file = new File(path); |
|||
if (file.exists()) { |
|||
try (InputStream ins = new FileInputStream(path); |
|||
BufferedInputStream bins = new BufferedInputStream(ins); |
|||
OutputStream outs = response.getOutputStream(); |
|||
BufferedOutputStream bouts = new BufferedOutputStream(outs)) { |
|||
response.setContentType("application/x-download"); |
|||
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(zipFileName, "UTF-8")); |
|||
int bytesRead = 0; |
|||
byte[] buffer = new byte[ZIP_BUFFER_SIZE]; |
|||
while ((bytesRead = bins.read(buffer, 0, ZIP_BUFFER_SIZE)) != -1) { |
|||
bouts.write(buffer, 0, bytesRead); |
|||
} |
|||
bouts.flush(); |
|||
} |
|||
} |
|||
} catch (Exception e) { |
|||
logger.error("文件下载出错", e); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 删除文件 |
|||
* |
|||
* @param fileList |
|||
* @return |
|||
*/ |
|||
public static void deleteFile(List<File> fileList) { |
|||
for (File file : fileList) { |
|||
if (file.exists()) { |
|||
file.delete(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,193 @@ |
|||
<!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> |
|||
<div class="layuimini-container"> |
|||
<div class="layuimini-main"> |
|||
<fieldset class="table-search-fieldset"> |
|||
<legend>仓库创建</legend> |
|||
<div class="layui-fluid"> |
|||
<div class="layui-card"> |
|||
<div class="layui-card-body" style="padding-top: 40px;"> |
|||
<div> |
|||
<form class="layui-form layui-form-pane" |
|||
style="margin: 0 auto;max-width: 700px;padding-top: 100px; padding-bottom: 200px" lay-filter="form1"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库名称:</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" placeholder="请填写仓库名称" class="layui-input" |
|||
name="dname" lay-verify="required"/> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">所处公司:</label> |
|||
<div class="layui-input-block"> |
|||
<select name="cid" lay-filter="company" lay-verify="required" > |
|||
<option value="" selected>请选择公司</option> |
|||
<option th:each="administrationP,iterStar:${administrationPList}" th:value="${administrationP?.getId()}" th:text="${administrationP?.getName()}" >外芯仓库</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item" > |
|||
|
|||
<label class="layui-form-label">部门</label> |
|||
<div class="layui-input-block"> |
|||
<select name="adminorg" id="adminorg" lay-verify="required"></select> |
|||
</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 /> |
|||
<input type="text" name="depositoryId" class="layui-input" id="depositoryId" style="display: none" /> |
|||
</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" |
|||
name="address" /> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库介绍:</label> |
|||
<div class="layui-input-block"> |
|||
<input name="introduce" placeholder="请填写仓库介绍..." |
|||
class="layui-input"/> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最大存储量:</label> |
|||
<div class="layui-input-block"> |
|||
<input name="maxNumber" placeholder="请填写最大存储量..." |
|||
class="layui-input" value="5000"/> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最小存储量:</label> |
|||
<div class="layui-input-block"> |
|||
<input name="minNumber" placeholder="请填写最小存储量..." |
|||
class="layui-input" value="0"/> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="layui-form-item"> |
|||
<div class="layui-input-block"> |
|||
<button class="layui-btn" lay-submit lay-filter="formStep"> |
|||
 创建仓库  |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
<hr> |
|||
</div> |
|||
</div> |
|||
</fieldset> |
|||
|
|||
</div> |
|||
</div> |
|||
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> |
|||
<script> |
|||
var data; |
|||
layui.use(['form', 'layer'], function () { |
|||
var $ = layui.jquery, |
|||
form = layui.form, |
|||
layer = layui.layer; |
|||
|
|||
form.on('select(company)',function (data){ |
|||
$.ajax({ |
|||
url:"/repository/findPostByCompany?company=0"+data.value, |
|||
type:'get', |
|||
dataType:'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
success:function(d){ |
|||
if(data.value !== "") { |
|||
$('#adminorg').empty(); |
|||
$('#adminorg').append(new Option("请选择部门", "")); |
|||
$.each(d.data, function (index, item) { |
|||
$('#adminorg').append(new Option(item.name, item.id));//往下拉菜单里添加元素 |
|||
}); |
|||
form.render(); |
|||
}else{ |
|||
$('#adminorg').empty(); |
|||
form.render(); |
|||
} |
|||
} |
|||
}) |
|||
}); |
|||
|
|||
|
|||
$('#openSonByDepository').on('click', function(){ |
|||
layer.open({ |
|||
type: 2, |
|||
title: '弹窗内容', |
|||
skin: 'layui-layer-rim', |
|||
maxmin: true, |
|||
shadeClose: true, //点击遮罩关闭层 |
|||
area: ['70%', '70%'], |
|||
move : '.layui-layer-title', |
|||
fixed:false, |
|||
content: '/selectDepository?type=2', |
|||
success: function(layero, index){ |
|||
var children = layero.children(); |
|||
var content = $(children[1]); |
|||
var iframeChildren = $(content.children()); |
|||
content.css('height','100%'); |
|||
iframeChildren.css('height','100%'); |
|||
} |
|||
}); |
|||
}); |
|||
|
|||
form.on('submit(formStep)', function (data) { |
|||
|
|||
$.ajax({ |
|||
url: "/repository/depository", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(data.field), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (data) { |
|||
layer.close(this.layerIndex); |
|||
if (data.status >= 300) { |
|||
layer.msg(data.statusInfo.message);//失败的表情 |
|||
return; |
|||
} else { |
|||
layer.msg("添加成功!", { |
|||
icon: 6,//成功的表情 |
|||
time: 1000 //1秒关闭(如果不配置,默认是3秒) |
|||
},function () { |
|||
window.location="/depository_add" |
|||
}); |
|||
|
|||
} |
|||
}, |
|||
complete: function () { |
|||
form.val("form1", { |
|||
"dname": "",// "name": "value" |
|||
"address": "", |
|||
"introduce": "" |
|||
}) |
|||
} |
|||
}) |
|||
return false; |
|||
}); |
|||
|
|||
}); |
|||
</script> |
|||
|
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,111 @@ |
|||
<!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"> |
|||
<style> |
|||
body { |
|||
background-color: #ffffff; |
|||
} |
|||
</style> |
|||
</head> |
|||
<body> |
|||
<div class="layui-form layuimini-form"> |
|||
<input type="text" name="userid" th:value="${userByPort.getId()}" style="display: none"> |
|||
<input type="text" name="classes" th:value="${classes}" style="display: none"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label required">用户名</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" lay-verify="required" lay-reqtext="用户名不能为空" placeholder="请输入用户名" th:value="${userByPort.getName()}" class="layui-input"> |
|||
<tip>填写自己管理账号的名称。</tip> |
|||
</div> |
|||
</div> |
|||
<div class=" layui-form-item" > |
|||
<label class="layui-form-label required">负责类型:</label> |
|||
<div class="layui-inline" style="margin-bottom: 10px"> |
|||
<input type="text" placeholder="请选择类型" class="layui-input" id="openSonByMateralType" readonly/> |
|||
<input type="text" name="mtid" class="layui-input" id="materialTypeId" style="display: none" /> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="layui-form-item"> |
|||
<div class="layui-input-block"> |
|||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> |
|||
<script> |
|||
layui.use(['form','layer','laydate'], function () { |
|||
var form = layui.form, |
|||
layer = layui.layer, |
|||
laydate=layui.laydate, |
|||
$ = layui.$; |
|||
$('#openSonByMateralType').on('click', function(){ |
|||
layer.open({ |
|||
type: 2, |
|||
title: '弹窗内容', |
|||
skin: 'layui-layer-rim', |
|||
maxmin: true, |
|||
shadeClose: true, //点击遮罩关闭层 |
|||
area: ['70%', '70%'], |
|||
move : '.layui-layer-title', |
|||
fixed:false, |
|||
content: '/selectType', |
|||
success: function(layero, index){ |
|||
var children = layero.children(); |
|||
var content = $(children[1]); |
|||
var iframeChildren = $(content.children()); |
|||
content.css('height','100%'); |
|||
iframeChildren.css('height','100%'); |
|||
} |
|||
}); |
|||
}); |
|||
//日期 |
|||
laydate.render({ |
|||
elem: '#date' |
|||
}); |
|||
//监听提交 |
|||
form.on('submit(saveBtn)', function (data) { |
|||
data=data.field; |
|||
//去除对应的仓库id |
|||
if (data.depositoryId===""){ |
|||
delete data.depositoryId; |
|||
} |
|||
$.ajax({ |
|||
url: "/sys/user_roleForIn", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(data), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (data) { |
|||
layer.close(this.layerIndex); |
|||
if (data.status >= 300) { |
|||
layer.msg(data.statusInfo.message);//失败的表情 |
|||
return; |
|||
} else { |
|||
layer.msg("申请提交成功", { |
|||
icon: 6,//成功的表情 |
|||
time: 500 //1秒关闭(如果不配置,默认是3秒) |
|||
},function(){ |
|||
var index = parent.layer.getFrameIndex(window.name); |
|||
parent.layer.close(index);//关闭当前页 |
|||
}) |
|||
} |
|||
} |
|||
}); |
|||
return false; |
|||
}); |
|||
|
|||
}); |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,112 @@ |
|||
<!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"> |
|||
<style> |
|||
body { |
|||
background-color: #ffffff; |
|||
} |
|||
</style> |
|||
</head> |
|||
<body> |
|||
<div class="layui-form layuimini-form"> |
|||
<input type="text" name="userid" th:value="${userByPort.getId()}" style="display: none"> |
|||
<input type="text" name="roleId" th:value="${roleId}" style="display: none"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label required">用户名</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" lay-verify="required" lay-reqtext="用户名不能为空" placeholder="请输入用户名" th:value="${userByPort.getName()}" class="layui-input" readonly> |
|||
<tip>填写自己管理账号的名称。</tip> |
|||
</div> |
|||
</div> |
|||
<div class=" layui-form-item" > |
|||
<label class="layui-form-label required">负责类型:</label> |
|||
<div class="layui-inline" style="margin-bottom: 10px"> |
|||
<input type="text" placeholder="请选择类型" class="layui-input" id="openSonByMateralType" readonly th:value="${userByPort.getMaterialTypeName()}" |
|||
lay-verify="required"/> |
|||
<input type="text" th:value="${mtid}" name="mtid" class="layui-input" id="materialTypeId" style="display: none" lay-verify="required"/> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="layui-form-item"> |
|||
<div class="layui-input-block"> |
|||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn">确认保存</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> |
|||
<script> |
|||
layui.use(['form','layer','laydate'], function () { |
|||
var form = layui.form, |
|||
layer = layui.layer, |
|||
laydate=layui.laydate, |
|||
$ = layui.$; |
|||
$('#openSonByMateralType').on('click', function(){ |
|||
layer.open({ |
|||
type: 2, |
|||
title: '弹窗内容', |
|||
skin: 'layui-layer-rim', |
|||
maxmin: true, |
|||
shadeClose: true, //点击遮罩关闭层 |
|||
area: ['70%', '70%'], |
|||
move : '.layui-layer-title', |
|||
fixed:false, |
|||
content: '/selectType', |
|||
success: function(layero, index){ |
|||
var children = layero.children(); |
|||
var content = $(children[1]); |
|||
var iframeChildren = $(content.children()); |
|||
content.css('height','100%'); |
|||
iframeChildren.css('height','100%'); |
|||
} |
|||
}); |
|||
}); |
|||
//日期 |
|||
laydate.render({ |
|||
elem: '#date' |
|||
}); |
|||
//监听提交 |
|||
form.on('submit(saveBtn)', function (data) { |
|||
data=data.field; |
|||
//去除对应的仓库id |
|||
if (data.mtid===""){ |
|||
delete data.mtid; |
|||
} |
|||
$.ajax({ |
|||
url: "/sys/userRole_editForIn", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(data), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (data) { |
|||
layer.close(this.layerIndex); |
|||
if (data.status >= 300) { |
|||
layer.msg(data.statusInfo.message);//失败的表情 |
|||
return; |
|||
} else { |
|||
layer.msg("修改成功", { |
|||
icon: 6,//成功的表情 |
|||
time: 500 //1秒关闭(如果不配置,默认是3秒) |
|||
},function(){ |
|||
var index = parent.layer.getFrameIndex(window.name); |
|||
parent.layer.close(index);//关闭当前页 |
|||
}) |
|||
} |
|||
} |
|||
}); |
|||
return false; |
|||
}); |
|||
|
|||
}); |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -1,216 +1,267 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en" xmlns:th="http://www.thymeleaf.org"> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>分步表单</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"> |
|||
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all"> |
|||
<meta charset="utf-8"> |
|||
<title>分步表单</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"> |
|||
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all"> |
|||
</head> |
|||
|
|||
<body> |
|||
<form class="layui-form layui-form-pane" action="" > |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">仓库编号</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getId()}" id="did" name="id" required lay-verify="required" autocomplete="off" class="layui-input" readonly="readonly"> |
|||
<form class="layui-form layui-form-pane" action=""> |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">仓库编号</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getId()}" id="did" name="id" required lay-verify="required" |
|||
autocomplete="off" class="layui-input" readonly="readonly"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库编码</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getCode()}" name="code" autocomplete="off" class="layui-input" readonly="readonly"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库编码</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getCode()}" name="code" autocomplete="off" class="layui-input" |
|||
readonly="readonly"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库名称</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getDname()}" name="dname" required lay-verify="required" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库名称</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" id="dname" th:value="${record.getDname()}" name="dname" required lay-verify="required" |
|||
autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item" > |
|||
<label class="layui-form-label">所处公司</label> |
|||
<div class="layui-input-block"> |
|||
<select name="cid" th:value="${record.getCid()}" lay-verify="required" lay-filter="company"> |
|||
<option value="">请选择公司</option> |
|||
<option th:each="administrationP,iterStar:${administrationPList}" th:value="${administrationP?.getId()}" th:text="${administrationP?.getName()}" th:selected="${record.getCid() == administrationP.getId()}">外芯仓库</option> |
|||
</select> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">所处公司</label> |
|||
<div class="layui-input-block"> |
|||
<select name="cid" th:value="${record.getCid()}" lay-verify="required" lay-filter="company"> |
|||
<option value="">请选择公司</option> |
|||
<option th:each="administrationP,iterStar:${administrationPList}" th:value="${administrationP?.getId()}" |
|||
th:text="${administrationP?.getName()}" |
|||
th:selected="${record.getCid() == administrationP.getId()}">外芯仓库 |
|||
</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item" > |
|||
<label class="layui-form-label">部门</label> |
|||
<div class="layui-input-block"> |
|||
<select name="adminorg" id="adminorg" lay-verify="required"> |
|||
<option value="">请选择部门</option> |
|||
<option th:each="post,iterStar:${postList}" th:text="${post?.getName()}" th:value="${post?.getId()}" th:selected="${record.getAdminorg().equals(post.getId().toString())}"></option> |
|||
</select> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">部门</label> |
|||
<div class="layui-input-block"> |
|||
<select name="adminorg" id="adminorg" lay-verify="required"> |
|||
<option value="">请选择部门</option> |
|||
<option th:each="post,iterStar:${postList}" th:text="${post?.getName()}" th:value="${post?.getId()}" |
|||
th:selected="${record.getAdminorg().equals(post.getId().toString())}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库地址</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getAddress()}" name="address" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库地址</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getAddress()}" name="address" autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库介绍</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getIntroduce()}" name="introduce" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库介绍</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getIntroduce()}" name="introduce" autocomplete="off" |
|||
class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">父级仓库:</label> |
|||
<div class="layui-input-block"> |
|||
<select name="parentId" > |
|||
<option value="0">请选择仓库</option> |
|||
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" th:text="${depository?.getDname()}" th:selected="${depository.getId() == record.getParentId()}" >顶级公司</option> |
|||
</select> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">父级仓库:</label> |
|||
<div class="layui-input-block"> |
|||
<select name="parentId"> |
|||
<option value="0">请选择仓库</option> |
|||
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" |
|||
th:text="${depository?.getDname()}" th:selected="${depository.getId() == record.getParentId()}"> |
|||
顶级公司 |
|||
</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最大存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMaxNumber()}" name="maxNumber" required lay-verify="required" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最大存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMaxNumber()}" name="maxNumber" required lay-verify="required" |
|||
autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最小存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMinNumber()}" name="minNumber" required lay-verify="required" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最小存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMinNumber()}" name="minNumber" required lay-verify="required" |
|||
autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">打印码</label> |
|||
<div class="layui-input-block"> |
|||
<div id="codeItem" style="display:none;"> |
|||
<img id="barCode" > |
|||
<!-- <u id="barCodeValue"></u>--> |
|||
<br> |
|||
<button id="printer" type="button" onclick="print_code()" class="layui-btn">打印</button> |
|||
</div> |
|||
<input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" onclick="createQrCode()" value="生成"/> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">打印码</label> |
|||
<div class="layui-input-block"> |
|||
<div id="codeItem" style="display:none;"> |
|||
<img id="barCode"> |
|||
<!-- <u id="barCodeValue"></u>--> |
|||
<br> |
|||
<button id="printer" type="button" onclick="print_code()" class="layui-btn">打印</button> |
|||
<a id="downloadImg" type="button" onclick="downloadCodeImg()" class="layui-btn">导出图片</a> |
|||
</div> |
|||
<input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" |
|||
onclick="createQrCode()" value="生成"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">状态</label> |
|||
<div class="layui-input-block"> |
|||
<input type="checkbox" name="state" lay-skin="switch" lay-text="启用|禁用" th:checked="${record.getState() == 1}"> |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">状态</label> |
|||
<div class="layui-input-block"> |
|||
<input type="checkbox" name="state" lay-skin="switch" lay-text="启用|禁用" |
|||
th:checked="${record.getState() == 1}"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<div class="layui-input-block"> |
|||
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button> |
|||
<button type="reset" class="layui-btn layui-btn-primary">重置</button> |
|||
<div class="layui-form-item"> |
|||
<div class="layui-input-block"> |
|||
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button> |
|||
<button type="reset" class="layui-btn layui-btn-primary">重置</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> |
|||
<script> |
|||
function createQrCode() { |
|||
|
|||
} |
|||
|
|||
|
|||
layui.use('form', function(){ |
|||
var form = layui.form, $ = layui.$; |
|||
|
|||
form.on('select(company)',function (data){ |
|||
$.ajax({ |
|||
url:"/repository/findPostByCompany?company=0"+data.value, |
|||
type:'get', |
|||
dataType:'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
success:function(d){ |
|||
if(data.value !== "") { |
|||
$('#adminorg').empty(); |
|||
$('#adminorg').append(new Option("请选择部门", "")); |
|||
$.each(d.data, function (index, item) { |
|||
$('#adminorg').append(new Option(item.name, item.id));//往下拉菜单里添加元素 |
|||
function createQrCode() { |
|||
|
|||
} |
|||
|
|||
function downloadCodeImg() { |
|||
|
|||
} |
|||
|
|||
|
|||
layui.use('form', function () { |
|||
var form = layui.form, $ = layui.$; |
|||
|
|||
form.on('select(company)', function (data) { |
|||
$.ajax({ |
|||
url: "/repository/findPostByCompany?company=0" + data.value, |
|||
type: 'get', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
success: function (d) { |
|||
if (data.value !== "") { |
|||
$('#adminorg').empty(); |
|||
$('#adminorg').append(new Option("请选择部门", "")); |
|||
$.each(d.data, function (index, item) { |
|||
$('#adminorg').append(new Option(item.name, item.id));//往下拉菜单里添加元素 |
|||
}); |
|||
form.render(); |
|||
} else { |
|||
$('#adminorg').empty(); |
|||
form.render(); |
|||
} |
|||
} |
|||
}) |
|||
}); |
|||
|
|||
//提交 |
|||
form.on('submit(formDemo)', function (data) { |
|||
data = data.field; |
|||
$.ajax({ |
|||
url: "/repository/depository_edit", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(data), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (data) { |
|||
layer.close(this.layerIndex); |
|||
if (data.status >= 300) { |
|||
layer.msg(data.statusInfo.message);//失败的表情 |
|||
return; |
|||
} else { |
|||
layer.msg("修改仓库信息成功", { |
|||
icon: 6,//成功的表情 |
|||
time: 500 //1秒关闭(如果不配置,默认是3秒) |
|||
}, function () { |
|||
var index = parent.layer.getFrameIndex(window.name); |
|||
parent.layer.close(index);//关闭当前页 |
|||
window.location = '/depository-out' |
|||
}) |
|||
} |
|||
} |
|||
}); |
|||
form.render(); |
|||
}else{ |
|||
$('#adminorg').empty(); |
|||
form.render(); |
|||
} |
|||
} |
|||
}) |
|||
}); |
|||
return false; |
|||
}); |
|||
|
|||
//提交 |
|||
form.on('submit(formDemo)', function(data){ |
|||
data = data.field; |
|||
$.ajax({ |
|||
url: "/repository/depository_edit", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(data), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (data) { |
|||
layer.close(this.layerIndex); |
|||
if (data.status >= 300) { |
|||
layer.msg(data.statusInfo.message);//失败的表情 |
|||
return; |
|||
} else { |
|||
layer.msg("修改仓库信息成功", { |
|||
icon: 6,//成功的表情 |
|||
time: 500 //1秒关闭(如果不配置,默认是3秒) |
|||
},function(){ |
|||
var index = parent.layer.getFrameIndex(window.name); |
|||
parent.layer.close(index);//关闭当前页 |
|||
window.location='/depository-out' |
|||
createQrCode = function () { |
|||
var depositoryId = $("#did").val(); |
|||
var req = {}; |
|||
req.depositoryId = depositoryId; |
|||
$.ajax({ |
|||
url: "/repository/createQrCode", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(req), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (d) { |
|||
var data = d.data; |
|||
layer.close(this.layerIndex); |
|||
$("#barCode").attr("src", data.qrCode); |
|||
$("#barCodeValue").text(data.codeValue); |
|||
$("#codeItem").show(); |
|||
$("#createCode").hide(); |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
}); |
|||
return false; |
|||
}); |
|||
}; |
|||
|
|||
print_code = function () { |
|||
layer.open({ |
|||
type: 2, |
|||
title: '打印', |
|||
skin: 'layui-layer-rim', |
|||
maxmin: true, |
|||
shadeClose: true, //点击遮罩关闭层 |
|||
area: ['70%', '70%'], |
|||
move: '.layui-layer-title', |
|||
fixed: false, |
|||
content: '/printCode?mid=' + $("#did").val() + '&flag=2', |
|||
|
|||
}) |
|||
}; |
|||
|
|||
|
|||
createQrCode = function () { |
|||
var depositoryId = $("#did").val(); |
|||
var req = {}; |
|||
req.depositoryId = depositoryId; |
|||
$.ajax({ |
|||
url: "/repository/createQrCode", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(req), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (d) { |
|||
var data = d.data; |
|||
layer.close(this.layerIndex); |
|||
$("#barCode").attr("src", data.qrCode); |
|||
$("#barCodeValue").text(data.codeValue); |
|||
$("#codeItem").show(); |
|||
$("#createCode").hide(); |
|||
/*downloadCodeImg = function() { //下载base64图片 |
|||
let imgCode = $("#barCode").attr("src"); |
|||
let aLink = document.createElement('a'); |
|||
let blob = base64ToBlob(imgCode); //new Blob([content]); |
|||
let evt = document.createEvent("HTMLEvents"); |
|||
evt.initEvent("click", true, true); //initEvent 不加后两个参数在FF下会报错 事件类型,是否冒泡,是否阻止浏览器的默认行为 |
|||
aLink.download = $("#dname").val(); |
|||
aLink.href = URL.createObjectURL(blob); |
|||
aLink.click(); |
|||
}; |
|||
|
|||
base64ToBlob = function (code) { |
|||
let parts = code.split(';base64,'); |
|||
let contentType = parts[0].split(':')[1]; |
|||
let raw = window.atob(parts[1]); |
|||
let rawLength = raw.length; |
|||
let uInt8Array = new Uint8Array(rawLength); |
|||
for (let i = 0; i < rawLength; ++i) { |
|||
uInt8Array[i] = raw.charCodeAt(i); |
|||
} |
|||
return new Blob([uInt8Array], { |
|||
type: contentType |
|||
}); |
|||
};*/ |
|||
|
|||
downloadCodeImg = function () { |
|||
let id = $("#did").val(); |
|||
window.open("/repository/allBarCodeImgForDepository?id="+id,"_self"); |
|||
} |
|||
}) |
|||
}; |
|||
|
|||
print_code = function(){ |
|||
layer.open({ |
|||
type: 2, |
|||
title: '打印', |
|||
skin: 'layui-layer-rim', |
|||
maxmin: true, |
|||
shadeClose: true, //点击遮罩关闭层 |
|||
area: ['70%', '70%'], |
|||
move: '.layui-layer-title', |
|||
fixed: false, |
|||
content: '/printCode?mid='+$("#did").val()+'&flag=2', |
|||
|
|||
}) |
|||
}; |
|||
|
|||
}); |
|||
|
|||
}); |
|||
</script> |
|||
|
|||
</body> |
|||
|
|||
@ -1,216 +1,267 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en" xmlns:th="http://www.thymeleaf.org"> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>分步表单</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"> |
|||
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all"> |
|||
<meta charset="utf-8"> |
|||
<title>分步表单</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"> |
|||
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all"> |
|||
</head> |
|||
|
|||
<body> |
|||
<form class="layui-form layui-form-pane" action="" > |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">仓库编号</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getId()}" id="did" name="id" required lay-verify="required" autocomplete="off" class="layui-input" readonly="readonly"> |
|||
<form class="layui-form layui-form-pane" action=""> |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">仓库编号</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getId()}" id="did" name="id" required lay-verify="required" |
|||
autocomplete="off" class="layui-input" readonly="readonly"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库编码</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getCode()}" name="code" autocomplete="off" class="layui-input" readonly="readonly"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库编码</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getCode()}" name="code" autocomplete="off" class="layui-input" |
|||
readonly="readonly"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库名称</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getDname()}" name="dname" required lay-verify="required" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库名称</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" id="dname" th:value="${record.getDname()}" name="dname" required lay-verify="required" |
|||
autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item" > |
|||
<label class="layui-form-label">所处公司</label> |
|||
<div class="layui-input-block"> |
|||
<select name="cid" th:value="${record.getCid()}" lay-verify="required" lay-filter="company"> |
|||
<option value="">请选择公司</option> |
|||
<option th:each="administrationP,iterStar:${administrationPList}" th:value="${administrationP?.getId()}" th:text="${administrationP?.getName()}" th:selected="${record.getCid() == administrationP.getId()}">外芯仓库</option> |
|||
</select> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">所处公司</label> |
|||
<div class="layui-input-block"> |
|||
<select name="cid" th:value="${record.getCid()}" lay-verify="required" lay-filter="company"> |
|||
<option value="">请选择公司</option> |
|||
<option th:each="administrationP,iterStar:${administrationPList}" th:value="${administrationP?.getId()}" |
|||
th:text="${administrationP?.getName()}" |
|||
th:selected="${record.getCid() == administrationP.getId()}">外芯仓库 |
|||
</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item" > |
|||
<label class="layui-form-label">部门</label> |
|||
<div class="layui-input-block"> |
|||
<select name="adminorg" id="adminorg" lay-verify="required"> |
|||
<option value="">请选择部门</option> |
|||
<option th:each="post,iterStar:${postList}" th:text="${post?.getName()}" th:value="${post?.getId()}" th:selected="${record.getAdminorg().equals(post.getId().toString())}"></option> |
|||
</select> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">部门</label> |
|||
<div class="layui-input-block"> |
|||
<select name="adminorg" id="adminorg" lay-verify="required"> |
|||
<option value="">请选择部门</option> |
|||
<option th:each="post,iterStar:${postList}" th:text="${post?.getName()}" th:value="${post?.getId()}" |
|||
th:selected="${record.getAdminorg().equals(post.getId().toString())}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库地址</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getAddress()}" name="address" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库地址</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getAddress()}" name="address" autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库介绍</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getIntroduce()}" name="introduce" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">仓库介绍</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getIntroduce()}" name="introduce" autocomplete="off" |
|||
class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">父级仓库:</label> |
|||
<div class="layui-input-block"> |
|||
<select name="parentId" > |
|||
<option value="0">请选择仓库</option> |
|||
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" th:text="${depository?.getDname()}" th:selected="${depository.getId() == record.getParentId()}" >顶级公司</option> |
|||
</select> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">父级仓库:</label> |
|||
<div class="layui-input-block"> |
|||
<select name="parentId"> |
|||
<option value="0">请选择仓库</option> |
|||
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" |
|||
th:text="${depository?.getDname()}" th:selected="${depository.getId() == record.getParentId()}"> |
|||
顶级公司 |
|||
</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最大存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMaxNumber()}" name="maxNumber" required lay-verify="required" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最大存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMaxNumber()}" name="maxNumber" required lay-verify="required" |
|||
autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最小存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMinNumber()}" name="minNumber" required lay-verify="required" autocomplete="off" class="layui-input"> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">最小存储量</label> |
|||
<div class="layui-input-block"> |
|||
<input type="text" th:value="${record.getMinNumber()}" name="minNumber" required lay-verify="required" |
|||
autocomplete="off" class="layui-input"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">打印码</label> |
|||
<div class="layui-input-block"> |
|||
<div id="codeItem" style="display:none;"> |
|||
<img id="barCode" > |
|||
<!-- <u id="barCodeValue"></u>--> |
|||
<br> |
|||
<button id="printer" type="button" onclick="print_code()" class="layui-btn">打印</button> |
|||
</div> |
|||
<input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" onclick="createQrCode()" value="生成"/> |
|||
<div class="layui-form-item"> |
|||
<label class="layui-form-label">打印码</label> |
|||
<div class="layui-input-block"> |
|||
<div id="codeItem" style="display:none;"> |
|||
<img id="barCode"> |
|||
<!-- <u id="barCodeValue"></u>--> |
|||
<br> |
|||
<button id="printer" type="button" onclick="print_code()" class="layui-btn">打印</button> |
|||
<a id="downloadImg" type="button" onclick="downloadCodeImg()" class="layui-btn">导出图片</a> |
|||
</div> |
|||
<input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" |
|||
onclick="createQrCode()" value="生成"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">状态</label> |
|||
<div class="layui-input-block"> |
|||
<input type="checkbox" name="state" lay-skin="switch" lay-text="启用|禁用" th:checked="${record.getState() == 1}"> |
|||
<div class="layui-form-item" style="display: none"> |
|||
<label class="layui-form-label">状态</label> |
|||
<div class="layui-input-block"> |
|||
<input type="checkbox" name="state" lay-skin="switch" lay-text="启用|禁用" |
|||
th:checked="${record.getState() == 1}"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="layui-form-item"> |
|||
<div class="layui-input-block"> |
|||
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button> |
|||
<button type="reset" class="layui-btn layui-btn-primary">重置</button> |
|||
<div class="layui-form-item"> |
|||
<div class="layui-input-block"> |
|||
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button> |
|||
<button type="reset" class="layui-btn layui-btn-primary">重置</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> |
|||
<script> |
|||
function createQrCode() { |
|||
|
|||
} |
|||
|
|||
|
|||
layui.use('form', function(){ |
|||
var form = layui.form, $ = layui.$; |
|||
|
|||
form.on('select(company)',function (data){ |
|||
$.ajax({ |
|||
url:"/repository/findPostByCompany?company=0"+data.value, |
|||
type:'get', |
|||
dataType:'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
success:function(d){ |
|||
if(data.value !== "") { |
|||
$('#adminorg').empty(); |
|||
$('#adminorg').append(new Option("请选择部门", "")); |
|||
$.each(d.data, function (index, item) { |
|||
$('#adminorg').append(new Option(item.name, item.id));//往下拉菜单里添加元素 |
|||
function createQrCode() { |
|||
|
|||
} |
|||
|
|||
function downloadCodeImg() { |
|||
|
|||
} |
|||
|
|||
|
|||
layui.use('form', function () { |
|||
var form = layui.form, $ = layui.$; |
|||
|
|||
form.on('select(company)', function (data) { |
|||
$.ajax({ |
|||
url: "/repository/findPostByCompany?company=0" + data.value, |
|||
type: 'get', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
success: function (d) { |
|||
if (data.value !== "") { |
|||
$('#adminorg').empty(); |
|||
$('#adminorg').append(new Option("请选择部门", "")); |
|||
$.each(d.data, function (index, item) { |
|||
$('#adminorg').append(new Option(item.name, item.id));//往下拉菜单里添加元素 |
|||
}); |
|||
form.render(); |
|||
} else { |
|||
$('#adminorg').empty(); |
|||
form.render(); |
|||
} |
|||
} |
|||
}) |
|||
}); |
|||
|
|||
//提交 |
|||
form.on('submit(formDemo)', function (data) { |
|||
data = data.field; |
|||
$.ajax({ |
|||
url: "/repository/depository_edit", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(data), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (data) { |
|||
layer.close(this.layerIndex); |
|||
if (data.status >= 300) { |
|||
layer.msg(data.statusInfo.message);//失败的表情 |
|||
return; |
|||
} else { |
|||
layer.msg("修改仓库信息成功", { |
|||
icon: 6,//成功的表情 |
|||
time: 500 //1秒关闭(如果不配置,默认是3秒) |
|||
}, function () { |
|||
var index = parent.layer.getFrameIndex(window.name); |
|||
parent.layer.close(index);//关闭当前页 |
|||
window.location = '/depository-out' |
|||
}) |
|||
} |
|||
} |
|||
}); |
|||
form.render(); |
|||
}else{ |
|||
$('#adminorg').empty(); |
|||
form.render(); |
|||
} |
|||
} |
|||
}) |
|||
}); |
|||
return false; |
|||
}); |
|||
|
|||
//提交 |
|||
form.on('submit(formDemo)', function(data){ |
|||
data = data.field; |
|||
$.ajax({ |
|||
url: "/repository/depository_edit", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(data), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (data) { |
|||
layer.close(this.layerIndex); |
|||
if (data.status >= 300) { |
|||
layer.msg(data.statusInfo.message);//失败的表情 |
|||
return; |
|||
} else { |
|||
layer.msg("修改仓库信息成功", { |
|||
icon: 6,//成功的表情 |
|||
time: 500 //1秒关闭(如果不配置,默认是3秒) |
|||
},function(){ |
|||
var index = parent.layer.getFrameIndex(window.name); |
|||
parent.layer.close(index);//关闭当前页 |
|||
window.location='/depository-out' |
|||
createQrCode = function () { |
|||
var depositoryId = $("#did").val(); |
|||
var req = {}; |
|||
req.depositoryId = depositoryId; |
|||
$.ajax({ |
|||
url: "/repository/createQrCode", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(req), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (d) { |
|||
var data = d.data; |
|||
layer.close(this.layerIndex); |
|||
$("#barCode").attr("src", data.qrCode); |
|||
$("#barCodeValue").text(data.codeValue); |
|||
$("#codeItem").show(); |
|||
$("#createCode").hide(); |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
}); |
|||
return false; |
|||
}); |
|||
}; |
|||
|
|||
print_code = function () { |
|||
layer.open({ |
|||
type: 2, |
|||
title: '打印', |
|||
skin: 'layui-layer-rim', |
|||
maxmin: true, |
|||
shadeClose: true, //点击遮罩关闭层 |
|||
area: ['70%', '70%'], |
|||
move: '.layui-layer-title', |
|||
fixed: false, |
|||
content: '/printCode?mid=' + $("#did").val() + '&flag=2', |
|||
|
|||
}) |
|||
}; |
|||
|
|||
|
|||
createQrCode = function () { |
|||
var depositoryId = $("#did").val(); |
|||
var req = {}; |
|||
req.depositoryId = depositoryId; |
|||
$.ajax({ |
|||
url: "/repository/createQrCode", |
|||
type: 'post', |
|||
dataType: 'json', |
|||
contentType: "application/json;charset=utf-8", |
|||
data: JSON.stringify(req), |
|||
beforeSend: function () { |
|||
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); |
|||
}, |
|||
success: function (d) { |
|||
var data = d.data; |
|||
layer.close(this.layerIndex); |
|||
$("#barCode").attr("src", data.qrCode); |
|||
$("#barCodeValue").text(data.codeValue); |
|||
$("#codeItem").show(); |
|||
$("#createCode").hide(); |
|||
/*downloadCodeImg = function() { //下载base64图片 |
|||
let imgCode = $("#barCode").attr("src"); |
|||
let aLink = document.createElement('a'); |
|||
let blob = base64ToBlob(imgCode); //new Blob([content]); |
|||
let evt = document.createEvent("HTMLEvents"); |
|||
evt.initEvent("click", true, true); //initEvent 不加后两个参数在FF下会报错 事件类型,是否冒泡,是否阻止浏览器的默认行为 |
|||
aLink.download = $("#dname").val(); |
|||
aLink.href = URL.createObjectURL(blob); |
|||
aLink.click(); |
|||
}; |
|||
|
|||
base64ToBlob = function (code) { |
|||
let parts = code.split(';base64,'); |
|||
let contentType = parts[0].split(':')[1]; |
|||
let raw = window.atob(parts[1]); |
|||
let rawLength = raw.length; |
|||
let uInt8Array = new Uint8Array(rawLength); |
|||
for (let i = 0; i < rawLength; ++i) { |
|||
uInt8Array[i] = raw.charCodeAt(i); |
|||
} |
|||
return new Blob([uInt8Array], { |
|||
type: contentType |
|||
}); |
|||
};*/ |
|||
|
|||
downloadCodeImg = function () { |
|||
let id = $("#did").val(); |
|||
window.open("/repository/allBarCodeImgForDepository?id="+id,"_self"); |
|||
} |
|||
}) |
|||
}; |
|||
|
|||
print_code = function(){ |
|||
layer.open({ |
|||
type: 2, |
|||
title: '打印', |
|||
skin: 'layui-layer-rim', |
|||
maxmin: true, |
|||
shadeClose: true, //点击遮罩关闭层 |
|||
area: ['70%', '70%'], |
|||
move: '.layui-layer-title', |
|||
fixed: false, |
|||
content: '/printCode?mid='+$("#did").val()+'&flag=2', |
|||
|
|||
}) |
|||
}; |
|||
|
|||
}); |
|||
|
|||
}); |
|||
</script> |
|||
|
|||
</body> |
|||
|
|||
Loading…
Reference in new issue