2020-12-29 23:44:55 +08:00
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html>
|
|
|
|
|
|
|
|
|
|
<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="../../../lib/layui-v2.5.5/css/layui.css" media="all">
|
|
|
|
|
<link rel="stylesheet" href="../../../css/public.css" media="all">
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
<div class="layuimini-container">
|
|
|
|
|
<div class="layuimini-main">
|
|
|
|
|
|
|
|
|
|
<fieldset class="table-search-fieldset">
|
|
|
|
|
<legend>搜索信息</legend>
|
|
|
|
|
<div style="margin: 10px 10px 10px 10px">
|
|
|
|
|
<form class="layui-form layui-form-pane" action="">
|
|
|
|
|
<div class="layui-form-item">
|
|
|
|
|
<div class="layui-inline">
|
2021-01-01 00:36:55 +08:00
|
|
|
|
<label class="layui-form-label">产品编码</label>
|
2020-12-29 23:44:55 +08:00
|
|
|
|
<div class="layui-input-inline">
|
2021-01-01 00:36:55 +08:00
|
|
|
|
<input type="text" name="ProductNum" autocomplete="off" class="layui-input">
|
2020-12-29 23:44:55 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-inline">
|
2021-01-01 00:36:55 +08:00
|
|
|
|
<label class="layui-form-label">备注</label>
|
2020-12-29 23:44:55 +08:00
|
|
|
|
<div class="layui-input-inline">
|
2021-01-01 00:36:55 +08:00
|
|
|
|
<input type="text" name="Remark" autocomplete="off" class="layui-input">
|
2020-12-29 23:44:55 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-inline">
|
|
|
|
|
<button type="submit" class="layui-btn layui-btn-primary" lay-submit
|
|
|
|
|
lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
|
|
<script type="text/html" id="toolbar">
|
|
|
|
|
<div class="layui-btn-container">
|
|
|
|
|
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
|
|
|
|
|
<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button>
|
2021-03-18 01:31:10 +08:00
|
|
|
|
<button type="button" id="LAY-excel-upload" class="layui-btn layui-btn-sm"><i class="layui-icon"></i>导入</button>
|
2020-12-29 23:44:55 +08:00
|
|
|
|
</div>
|
2021-09-14 01:04:16 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<script type="text/html" id="toolbar_3">
|
|
|
|
|
<div class="layui-btn-container">
|
|
|
|
|
</div>
|
|
|
|
|
</script>
|
2020-12-29 23:44:55 +08:00
|
|
|
|
|
2021-01-01 00:36:55 +08:00
|
|
|
|
<table class="layui-hide" id="ProductNumberList" lay-filter="currentTableFilter"></table>
|
2020-12-29 23:44:55 +08:00
|
|
|
|
|
|
|
|
|
<script type="text/html" id="currentTableBar">
|
|
|
|
|
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
|
|
|
|
|
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
|
2021-09-14 01:04:16 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<script type="text/html" id="currentTableBar_3">
|
|
|
|
|
</script>
|
2020-12-29 23:44:55 +08:00
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<script src="../../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
|
2021-03-18 01:31:10 +08:00
|
|
|
|
<script src="../../../js/lay-config.js" charset="utf-8"></script>
|
2020-12-29 23:44:55 +08:00
|
|
|
|
<script src="../../../js/PublicParameters/PublicParameters.js" charset="utf-8"></script>
|
|
|
|
|
<script>
|
2021-03-18 01:31:10 +08:00
|
|
|
|
layui.use(['form', 'table', 'excel', 'upload'], function () {
|
2020-12-29 23:44:55 +08:00
|
|
|
|
var $ = layui.jquery,
|
|
|
|
|
form = layui.form,
|
2021-03-18 01:31:10 +08:00
|
|
|
|
table = layui.table,
|
|
|
|
|
excel = layui.excel,
|
|
|
|
|
upload = layui.upload;
|
2020-12-29 23:44:55 +08:00
|
|
|
|
|
|
|
|
|
var apiUrl = GetWebApiUrl();
|
2021-09-14 01:04:16 +08:00
|
|
|
|
var CurrUserData = layui.sessionData('CurrUserInfo');
|
|
|
|
|
var powerlevel = CurrUserData.data.powerLevel;
|
|
|
|
|
var ToolBarID = "#toolbar";
|
|
|
|
|
var TableBarID = "#currentTableBar";
|
|
|
|
|
if (powerlevel == 3) {
|
|
|
|
|
ToolBarID = "#toolbar_3";
|
|
|
|
|
TableBarID = "#currentTableBar_3";
|
|
|
|
|
}
|
2020-12-29 23:44:55 +08:00
|
|
|
|
|
|
|
|
|
table.render({
|
2021-01-01 00:36:55 +08:00
|
|
|
|
elem: '#ProductNumberList',
|
2021-03-18 01:31:10 +08:00
|
|
|
|
height: 600,
|
2021-01-01 00:36:55 +08:00
|
|
|
|
url: apiUrl + '/api/services/app/ProductNumber/GetAllProductNumber',
|
2020-12-29 23:44:55 +08:00
|
|
|
|
parseData: function (res) { //res 即为原始返回的数据
|
|
|
|
|
return {
|
|
|
|
|
"code": res.result.code, //解析接口状态
|
|
|
|
|
"msg": res.result.msg, //解析提示文本
|
|
|
|
|
"count": res.result.count, //解析数据长度
|
|
|
|
|
"data": res.result.data //解析数据列表
|
|
|
|
|
};
|
|
|
|
|
},
|
2021-09-14 01:04:16 +08:00
|
|
|
|
toolbar: ToolBarID,
|
2021-01-01 00:36:55 +08:00
|
|
|
|
defaultToolbar: ['filter', 'exports'],
|
2020-12-29 23:44:55 +08:00
|
|
|
|
cols: [[
|
|
|
|
|
{ type: "checkbox", width: 50 },
|
2021-01-01 00:36:55 +08:00
|
|
|
|
{ type: "numbers", title: '序号', width: 50 },
|
|
|
|
|
{ field: 'id', hide: true, width: 300, title: 'ID' },
|
|
|
|
|
{ field: 'productNum', width: 200, title: '产品编码', sort: true, align: "center" },
|
|
|
|
|
{ field: 'remark', width: 350, title: '备注', sort: true, align: "left" },
|
2021-09-14 01:04:16 +08:00
|
|
|
|
{ title: '操作', width: 200, toolbar: TableBarID, align: "center" }
|
2020-12-29 23:44:55 +08:00
|
|
|
|
]],
|
|
|
|
|
initSort: {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
field: 'productNum', //排序字段,对应 cols 设定的各字段名
|
2020-12-29 23:44:55 +08:00
|
|
|
|
type: 'asc' //排序方式 asc: 升序、desc: 降序、null: 默认排序
|
|
|
|
|
},
|
2021-03-18 01:31:10 +08:00
|
|
|
|
page: false,
|
2020-12-29 23:44:55 +08:00
|
|
|
|
limit: 15,
|
2021-03-18 01:31:10 +08:00
|
|
|
|
limits: [10, 15, 20, 25, 50, 100],
|
2020-12-29 23:44:55 +08:00
|
|
|
|
skin: 'line'
|
|
|
|
|
});
|
|
|
|
|
|
2021-03-18 01:31:10 +08:00
|
|
|
|
upload.render({
|
|
|
|
|
elem: '#LAY-excel-upload', //绑定元素
|
|
|
|
|
url: '/upload/', //上传接口(PS:这里不用传递整个 excel)
|
|
|
|
|
auto: false, //选择文件后不自动上传
|
|
|
|
|
accept: 'file',
|
|
|
|
|
choose: function (obj) {// 选择文件回调
|
|
|
|
|
var files = obj.pushFile()
|
|
|
|
|
var fileArr = Object.values(files)// 注意这里的数据需要是数组,所以需要转换一下
|
|
|
|
|
|
|
|
|
|
// 用完就清理掉,避免多次选中相同文件时出现问题
|
|
|
|
|
for (var index in files) {
|
|
|
|
|
if (files.hasOwnProperty(index)) {
|
|
|
|
|
delete files[index]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$('#LAY-excel-upload').next().val('');
|
|
|
|
|
uploadExcel(fileArr) // 如果只需要最新选择的文件,可以这样写: uploadExcel([files.pop()])
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
2020-12-29 23:44:55 +08:00
|
|
|
|
// 监听搜索操作
|
|
|
|
|
form.on('submit(data-search-btn)', function (data) {
|
|
|
|
|
var result = JSON.stringify(data.field);
|
|
|
|
|
//执行搜索重载
|
2021-01-01 00:36:55 +08:00
|
|
|
|
table.reload('ProductNumberList', {
|
2020-12-29 23:44:55 +08:00
|
|
|
|
page: {
|
|
|
|
|
curr: 1
|
|
|
|
|
}
|
|
|
|
|
, where: {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
ProductNum: data.field.ProductNum,
|
|
|
|
|
Remark: data.field.Remark,
|
2020-12-29 23:44:55 +08:00
|
|
|
|
}
|
|
|
|
|
}, 'data');
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* toolbar监听事件
|
|
|
|
|
*/
|
|
|
|
|
table.on('toolbar(currentTableFilter)', function (obj) {
|
|
|
|
|
if (obj.event === 'add') { // 监听添加操作
|
|
|
|
|
var index = layer.open({
|
2021-01-01 00:36:55 +08:00
|
|
|
|
title: '添加产品编码',
|
2020-12-29 23:44:55 +08:00
|
|
|
|
type: 2,
|
|
|
|
|
shade: 0.2,
|
|
|
|
|
maxmin: true,
|
|
|
|
|
shadeClose: true,
|
2021-01-01 00:36:55 +08:00
|
|
|
|
area: ['50%', '30%'],
|
|
|
|
|
content: 'addProductNumber.html',
|
2020-12-29 23:44:55 +08:00
|
|
|
|
});
|
|
|
|
|
$(window).on("resize", function () {
|
|
|
|
|
layer.full(index);
|
|
|
|
|
});
|
|
|
|
|
} else if (obj.event === 'delete') { // 监听删除操作
|
2021-01-01 00:36:55 +08:00
|
|
|
|
var checkStatus = table.checkStatus('ProductNumberList'),
|
2020-12-29 23:44:55 +08:00
|
|
|
|
data = checkStatus.data;
|
|
|
|
|
if (data.length == 0) {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
layer.alert('请选择至少一个产品编码!');
|
2020-12-29 23:44:55 +08:00
|
|
|
|
return false;
|
|
|
|
|
}
|
2021-01-01 00:36:55 +08:00
|
|
|
|
delProductNumber(data);
|
2020-12-29 23:44:55 +08:00
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监听表格复选框选择
|
|
|
|
|
table.on('checkbox(currentTableFilter)', function (obj) {
|
|
|
|
|
console.log(obj)
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
table.on('tool(currentTableFilter)', function (obj) {
|
|
|
|
|
var data = obj.data;
|
|
|
|
|
if (obj.event === 'edit') {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
layui.sessionData('editProductNumber', {
|
|
|
|
|
key: 'SelProductNumberID',
|
2020-12-29 23:44:55 +08:00
|
|
|
|
value: data.id,
|
|
|
|
|
});
|
|
|
|
|
var index = layer.open({
|
2021-01-01 00:36:55 +08:00
|
|
|
|
title: '编辑产品编码',
|
2020-12-29 23:44:55 +08:00
|
|
|
|
type: 2,
|
|
|
|
|
shade: 0.2,
|
|
|
|
|
maxmin: true,
|
|
|
|
|
shadeClose: true,
|
2021-01-01 00:36:55 +08:00
|
|
|
|
area: ['50%', '30%'],
|
|
|
|
|
content: 'editProductNumber.html',
|
2020-12-29 23:44:55 +08:00
|
|
|
|
});
|
|
|
|
|
$(window).on("resize", function () {
|
|
|
|
|
layer.full(index);
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
} else if (obj.event === 'delete') {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
delSingleProductNumber(data);
|
2020-12-29 23:44:55 +08:00
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//批量删除用户
|
2021-01-01 00:36:55 +08:00
|
|
|
|
function delProductNumber(data) {
|
2020-12-29 23:44:55 +08:00
|
|
|
|
//弹出确认弹窗
|
|
|
|
|
layer.confirm('确认删除吗?', function () {
|
|
|
|
|
var apiUrl = GetWebApiUrl();
|
2021-01-01 00:36:55 +08:00
|
|
|
|
var CurrUserInfo = layui.sessionData('CurrUserInfo');
|
|
|
|
|
//删除所选的产品编码信息,更新isdelete字段为1
|
2020-12-29 23:44:55 +08:00
|
|
|
|
for (let index = 0; index < data.length; index++) {
|
|
|
|
|
$.ajax({
|
2021-01-01 00:36:55 +08:00
|
|
|
|
url: apiUrl + "/api/services/app/ProductNumber/UpdateProductNumber", //请求的url地址
|
2020-12-29 23:44:55 +08:00
|
|
|
|
dataType: "json", //返回格式为json
|
|
|
|
|
//async: false,//请求是否异步,默认为异步,这也是ajax重要特性
|
2021-01-01 00:36:55 +08:00
|
|
|
|
contentType: 'application/json',
|
|
|
|
|
data: JSON.stringify({
|
|
|
|
|
id: data[index].id,
|
|
|
|
|
updateUserID: CurrUserInfo.data.userid,
|
|
|
|
|
updateUserName: CurrUserInfo.data.userName,
|
|
|
|
|
isDelete: 1,
|
|
|
|
|
}), //参数值
|
|
|
|
|
type: "PUT", //请求方式
|
2020-12-29 23:44:55 +08:00
|
|
|
|
success: function (req) {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
if (req.result.code == 1) {
|
|
|
|
|
//请求成功时处理
|
|
|
|
|
layer.msg('删除成功', { time: 1000 }, function () {
|
|
|
|
|
window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
/*错误信息处理*/
|
|
|
|
|
layer.alert("产品编码:" + data[index].productNum + " 删除失败,请重试!");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2020-12-29 23:44:55 +08:00
|
|
|
|
},
|
|
|
|
|
error: function () {
|
|
|
|
|
/*错误信息处理*/
|
2021-01-01 00:36:55 +08:00
|
|
|
|
layer.alert("产品编码:" + data[index].productNum + " 删除失败,请重试!");
|
2020-12-29 23:44:55 +08:00
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//删除单个用户
|
2021-01-01 00:36:55 +08:00
|
|
|
|
function delSingleProductNumber(data) {
|
2020-12-29 23:44:55 +08:00
|
|
|
|
//弹出确认弹窗
|
|
|
|
|
layer.confirm('确认删除吗?', function () {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
//删除所选的产品编码信息,更新isdelete字段为1
|
2020-12-29 23:44:55 +08:00
|
|
|
|
var apiUrl = GetWebApiUrl();
|
2021-01-01 00:36:55 +08:00
|
|
|
|
var CurrUserInfo = layui.sessionData('CurrUserInfo');
|
2020-12-29 23:44:55 +08:00
|
|
|
|
$.ajax({
|
2021-01-01 00:36:55 +08:00
|
|
|
|
url: apiUrl + "/api/services/app/ProductNumber/UpdateProductNumber", //请求的url地址
|
2020-12-29 23:44:55 +08:00
|
|
|
|
dataType: "json", //返回格式为json
|
|
|
|
|
//async: false,//请求是否异步,默认为异步,这也是ajax重要特性
|
2021-01-01 00:36:55 +08:00
|
|
|
|
contentType: 'application/json',
|
|
|
|
|
data: JSON.stringify({
|
|
|
|
|
id: data.id,
|
|
|
|
|
updateUserID: CurrUserInfo.data.userid,
|
|
|
|
|
updateUserName: CurrUserInfo.data.userName,
|
|
|
|
|
isDelete: 1,
|
|
|
|
|
}), //参数值
|
|
|
|
|
type: "PUT", //请求方式
|
2020-12-29 23:44:55 +08:00
|
|
|
|
success: function (req) {
|
2021-01-01 00:36:55 +08:00
|
|
|
|
if (req.result.code == 1) {
|
|
|
|
|
//请求成功时处理
|
|
|
|
|
layer.msg('删除成功', { time: 1000 }, function () {
|
|
|
|
|
window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
/*错误信息处理*/
|
|
|
|
|
layer.alert("产品编码:" + data.productNum + " 删除失败,请重试!");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2020-12-29 23:44:55 +08:00
|
|
|
|
},
|
|
|
|
|
error: function () {
|
|
|
|
|
/*错误信息处理*/
|
2021-01-01 00:36:55 +08:00
|
|
|
|
layer.alert("产品编码:" + data.productNum + " 删除失败,请重试!");
|
2020-12-29 23:44:55 +08:00
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
}
|
2021-03-18 01:31:10 +08:00
|
|
|
|
|
|
|
|
|
function uploadExcel(files) {
|
|
|
|
|
try {
|
|
|
|
|
excel.importExcel(files, {
|
|
|
|
|
// 读取数据的同时梳理数据
|
|
|
|
|
fields: {
|
|
|
|
|
'productNum': 'A',
|
|
|
|
|
'remark': 'B',
|
|
|
|
|
}
|
|
|
|
|
}, function (data) {
|
|
|
|
|
var dataArr = data[0].Sheet1;
|
|
|
|
|
//获取前端页面整个表格数据
|
|
|
|
|
var tableData = layui.table.cache["ProductNumberList"];
|
|
|
|
|
if (tableData.length > 0) {
|
|
|
|
|
for (let index = 0; index < tableData.length; index++) {
|
|
|
|
|
var tableProductNum = tableData[index].productNum;
|
|
|
|
|
for (let dataindex = 1; dataindex < dataArr.length; dataindex++) {
|
|
|
|
|
var productNum = dataArr[dataindex].productNum;
|
|
|
|
|
if (productNum == tableProductNum) {
|
|
|
|
|
layer.alert("导入的产品编码:" + productNum + " 与已有的产品编码重复,请修改!");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//校验无误,保存导入的数据
|
|
|
|
|
for (let index = 1; index < dataArr.length; index++) {
|
|
|
|
|
var CurrUserInfo = layui.sessionData('CurrUserInfo');
|
|
|
|
|
var productNum = dataArr[index].productNum.toString();
|
|
|
|
|
if (productNum.length == 1) {
|
|
|
|
|
productNum = '0' + productNum;
|
|
|
|
|
}
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: apiUrl + "/api/services/app/ProductNumber/CreateProductNumber", //请求的url地址
|
|
|
|
|
dataType: "json", //返回格式为json
|
|
|
|
|
//async: false,//请求是否异步,默认为异步,这也是ajax重要特性
|
|
|
|
|
contentType: 'application/json',
|
|
|
|
|
data: JSON.stringify({
|
|
|
|
|
productNum: productNum,
|
|
|
|
|
remark: dataArr[index].remark,
|
|
|
|
|
createTime: getDatetime(),
|
|
|
|
|
createUserID: CurrUserInfo.data.userid,
|
|
|
|
|
createUserName: CurrUserInfo.data.userName,
|
|
|
|
|
isDelete: 0
|
|
|
|
|
}), //参数值
|
|
|
|
|
type: "POST", //请求方式
|
|
|
|
|
success: function (req) {
|
|
|
|
|
//请求成功时处理
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
error: function () {
|
|
|
|
|
/*错误信息处理*/
|
|
|
|
|
layer.msg("保存失败,请重试!");
|
|
|
|
|
return false;
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
layer.msg('导入成功', { time: 1000 }, function () {
|
|
|
|
|
table.reload('ProductNumberList');
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
} catch (e) {
|
|
|
|
|
layer.alert(e.message)
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-12-29 23:44:55 +08:00
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
</html>
|