excel导入
This commit is contained in:
parent
34d9779d2f
commit
b66170e9a9
@ -73,6 +73,7 @@
|
||||
|
||||
table.render({
|
||||
elem: '#FigureNumberList',
|
||||
height: 600,
|
||||
url: apiUrl + '/api/services/app/FigureNumber/GetAllFigureNumber',
|
||||
parseData: function (res) { //res 即为原始返回的数据
|
||||
return {
|
||||
@ -96,9 +97,9 @@
|
||||
field: 'figureNum', //排序字段,对应 cols 设定的各字段名
|
||||
type: 'asc' //排序方式 asc: 升序、desc: 降序、null: 默认排序
|
||||
},
|
||||
limits: [10, 15, 20, 25, 50, 100],
|
||||
page: false,
|
||||
limit: 15,
|
||||
page: true,
|
||||
limits: [10, 15, 20, 25, 50, 100],
|
||||
skin: 'line'
|
||||
});
|
||||
|
||||
@ -291,29 +292,60 @@
|
||||
excel.importExcel(files, {
|
||||
// 读取数据的同时梳理数据
|
||||
fields: {
|
||||
'id': 'A',
|
||||
'username': 'B',
|
||||
'experience': 'C',
|
||||
'sex': 'D',
|
||||
'score': 'E',
|
||||
'city': 'F',
|
||||
'classify': 'G',
|
||||
'wealth': 'H',
|
||||
'sign': 'I'
|
||||
'figureNum': 'A',
|
||||
'remark': 'B',
|
||||
}
|
||||
}, function (data) {
|
||||
alert(11)
|
||||
// 如果不需要展示直接上传,可以再次 $.ajax() 将JSON数据通过 JSON.stringify() 处理后传递到后端即可
|
||||
// layer.open({
|
||||
// title: '文件转换结果'
|
||||
// , area: ['800px', '400px']
|
||||
// , tipsMore: true
|
||||
// , content: laytpl($('#LAY-excel-export-ans').html()).render({ data: data, files: files })
|
||||
// , success: function () {
|
||||
// element.render('tab')
|
||||
// layui.code({})
|
||||
// }
|
||||
// })
|
||||
var dataArr = data[0].Sheet1;
|
||||
//获取前端页面整个表格数据
|
||||
var tableData = layui.table.cache["FigureNumberList"];
|
||||
if (tableData.length > 0) {
|
||||
for (let index = 0; index < tableData.length; index++) {
|
||||
var tableFigureNum = tableData[index].figureNum;
|
||||
for (let dataindex = 1; dataindex < dataArr.length; dataindex++) {
|
||||
var figureNum = dataArr[dataindex].figureNum;
|
||||
if (figureNum == tableFigureNum) {
|
||||
layer.alert("导入的图号编码:" + figureNum + " 与已有的图号编码重复,请修改!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//校验无误,保存导入的数据
|
||||
for (let index = 1; index < dataArr.length; index++) {
|
||||
var CurrUserInfo = layui.sessionData('CurrUserInfo');
|
||||
var figureNum = dataArr[index].figureNum.toString();
|
||||
if (figureNum.length == 1) {
|
||||
figureNum = '0' + figureNum;
|
||||
}
|
||||
$.ajax({
|
||||
url: apiUrl + "/api/services/app/FigureNumber/CreateFigureNumber", //请求的url地址
|
||||
dataType: "json", //返回格式为json
|
||||
//async: false,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify({
|
||||
figureNum: figureNum,
|
||||
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('FigureNumberList');
|
||||
});
|
||||
})
|
||||
} catch (e) {
|
||||
layer.alert(e.message)
|
||||
|
@ -45,6 +45,7 @@
|
||||
<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>
|
||||
<button type="button" id="LAY-excel-upload" class="layui-btn layui-btn-sm"><i class="layui-icon"></i>导入</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
@ -58,17 +59,21 @@
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
|
||||
<script src="../../../js/lay-config.js" charset="utf-8"></script>
|
||||
<script src="../../../js/PublicParameters/PublicParameters.js" charset="utf-8"></script>
|
||||
<script>
|
||||
layui.use(['form', 'table'], function () {
|
||||
layui.use(['form', 'table', 'excel', 'upload'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table;
|
||||
table = layui.table,
|
||||
excel = layui.excel,
|
||||
upload = layui.upload;
|
||||
|
||||
var apiUrl = GetWebApiUrl();
|
||||
|
||||
table.render({
|
||||
elem: '#MaterialNumberList',
|
||||
height: 600,
|
||||
url: apiUrl + '/api/services/app/MaterialNumber/GetAllMaterialNumber',
|
||||
parseData: function (res) { //res 即为原始返回的数据
|
||||
return {
|
||||
@ -92,12 +97,32 @@
|
||||
field: 'materialNum', //排序字段,对应 cols 设定的各字段名
|
||||
type: 'asc' //排序方式 asc: 升序、desc: 降序、null: 默认排序
|
||||
},
|
||||
limits: [10, 15, 20, 25, 50, 100],
|
||||
page: false,
|
||||
limit: 15,
|
||||
page: true,
|
||||
limits: [10, 15, 20, 25, 50, 100],
|
||||
skin: 'line'
|
||||
});
|
||||
|
||||
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()])
|
||||
}
|
||||
});
|
||||
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
var result = JSON.stringify(data.field);
|
||||
@ -261,6 +286,71 @@
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
function uploadExcel(files) {
|
||||
try {
|
||||
excel.importExcel(files, {
|
||||
// 读取数据的同时梳理数据
|
||||
fields: {
|
||||
'materialNum': 'A',
|
||||
'remark': 'B',
|
||||
}
|
||||
}, function (data) {
|
||||
var dataArr = data[0].Sheet1;
|
||||
//获取前端页面整个表格数据
|
||||
var tableData = layui.table.cache["MaterialNumberList"];
|
||||
if (tableData.length > 0) {
|
||||
for (let index = 0; index < tableData.length; index++) {
|
||||
var tableMaterialNum = tableData[index].materialNum;
|
||||
for (let dataindex = 1; dataindex < dataArr.length; dataindex++) {
|
||||
var materialNum = dataArr[dataindex].materialNum;
|
||||
if (materialNum == tableMaterialNum) {
|
||||
layer.alert("导入的物料特征码:" + materialNum + " 与已有的物料特征码重复,请修改!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//校验无误,保存导入的数据
|
||||
for (let index = 1; index < dataArr.length; index++) {
|
||||
var CurrUserInfo = layui.sessionData('CurrUserInfo');
|
||||
var materialNum = dataArr[index].materialNum.toString();
|
||||
if (materialNum.length == 1) {
|
||||
materialNum = '0' + materialNum;
|
||||
}
|
||||
$.ajax({
|
||||
url: apiUrl + "/api/services/app/MaterialNumber/CreateMaterialNumber", //请求的url地址
|
||||
dataType: "json", //返回格式为json
|
||||
//async: false,//请求是否异步,默认为异步,这也是ajax重要特性
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify({
|
||||
materialNum: materialNum,
|
||||
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('MaterialNumberList');
|
||||
});
|
||||
})
|
||||
} catch (e) {
|
||||
layer.alert(e.message)
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
@ -45,6 +45,7 @@
|
||||
<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>
|
||||
<button type="button" id="LAY-excel-upload" class="layui-btn layui-btn-sm"><i class="layui-icon"></i>导入</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
@ -58,17 +59,21 @@
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
|
||||
<script src="../../../js/lay-config.js" charset="utf-8"></script>
|
||||
<script src="../../../js/PublicParameters/PublicParameters.js" charset="utf-8"></script>
|
||||
<script>
|
||||
layui.use(['form', 'table'], function () {
|
||||
layui.use(['form', 'table', 'excel', 'upload'], function () {
|
||||
var $ = layui.jquery,
|
||||
form = layui.form,
|
||||
table = layui.table;
|
||||
table = layui.table,
|
||||
excel = layui.excel,
|
||||
upload = layui.upload;
|
||||
|
||||
var apiUrl = GetWebApiUrl();
|
||||
|
||||
table.render({
|
||||
elem: '#ProductNumberList',
|
||||
height: 600,
|
||||
url: apiUrl + '/api/services/app/ProductNumber/GetAllProductNumber',
|
||||
parseData: function (res) { //res 即为原始返回的数据
|
||||
return {
|
||||
@ -92,12 +97,32 @@
|
||||
field: 'productNum', //排序字段,对应 cols 设定的各字段名
|
||||
type: 'asc' //排序方式 asc: 升序、desc: 降序、null: 默认排序
|
||||
},
|
||||
limits: [10, 15, 20, 25, 50, 100],
|
||||
page: false,
|
||||
limit: 15,
|
||||
page: true,
|
||||
limits: [10, 15, 20, 25, 50, 100],
|
||||
skin: 'line'
|
||||
});
|
||||
|
||||
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()])
|
||||
}
|
||||
});
|
||||
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
var result = JSON.stringify(data.field);
|
||||
@ -261,6 +286,71 @@
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user