KDTECH.ProManager/Pages/page/Order/BOM/BOMDetailsList.html
Jimmy 72e4419968 BOM:
增加数据验证
可以一次添加多条数据
2021-01-25 02:02:45 +08:00

289 lines
14 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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">
<label class="layui-form-label">代号(图号)</label>
<div class="layui-input-inline">
<input type="text" name="CodeOrFigureNum" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">名称及规格</label>
<div class="layui-input-inline">
<input type="text" name="NameAndSpecs" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">材料</label>
<div class="layui-input-inline">
<input type="text" name="Materials" autocomplete="off" class="layui-input">
</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>
</div>
</script>
<table class="layui-hide" id="BOMDetailsList" lay-filter="currentTableFilter"></table>
<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>
</script>
</div>
</div>
<script src="../../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script src="../../../js/PublicParameters/PublicParameters.js" charset="utf-8"></script>
<script>
layui.use(['form', 'table'], function () {
var $ = layui.jquery,
form = layui.form,
table = layui.table;
var apiUrl = GetWebApiUrl();
var listUrl = apiUrl + '/api/services/app/BOMDetails/GetAllBOMDetails';
var thisBOMID = layui.sessionData('thisBOM').data.thisBOMID;
var thisDesignAssyNum = layui.sessionData('thisBOM').data.thisDesignAssyNum;
if (thisBOMID != '' && thisBOMID != null && thisBOMID != undefined) {
listUrl += '?BOMID=' + thisBOMID;
}
table.render({
elem: '#BOMDetailsList',
url: listUrl,
parseData: function (res) { //res 即为原始返回的数据
return {
"code": res.result.code, //解析接口状态
"msg": res.result.msg, //解析提示文本
"count": res.result.count, //解析数据长度
"data": res.result.data //解析数据列表
};
},
toolbar: '#toolbar',
defaultToolbar: ['filter', 'exports'],
cols: [[
{ type: "checkbox", width: 50 },
{ type: "numbers", title: '序号', width: 50 },
{ field: 'id', hide: true, width: 300, title: 'ID' },
{ field: 'relationshipName', width: 120, title: '所属关系', sort: true, align: "center" },
{ field: 'codeOrFigureNum', width: 150, title: '代号(图号)', sort: true, align: "center" },
{ field: 'nameAndSpecs', width: 200, title: '名称及规格', align: "left" },
{ field: 'materials', width: 150, title: '材料', align: "left" },
{ field: 'suppliersName', width: 150, title: '供应商', align: "left" },
{ field: 'amountOfUnit', width: 100, title: '单台用量', align: "center" },
{ field: 'unit', width: 60, title: '单位', align: "center" },
{ field: 'price', width: 60, title: '单价', align: "center" },
{ field: 'amount', width: 80, title: '金额', align: "center" },
{ field: 'borrowings', width: 150, title: '借用件(共用属性)', align: "left" },
{ field: 'remark', width: 120, title: '备注', align: "left" },
{ title: '操作', width: 140, toolbar: '#currentTableBar', align: "center" }
]],
initSort: {
field: 'codeOrFigureNum', //排序字段,对应 cols 设定的各字段名
type: 'asc' //排序方式 asc: 升序、desc: 降序、null: 默认排序
},
limits: [10, 15, 20, 25, 50, 100],
limit: 15,
page: true,
skin: 'line'
});
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
var result = JSON.stringify(data.field);
//执行搜索重载
table.reload('BOMDetailsList', {
page: {
curr: 1
}
, where: {
CodeOrFigureNum: data.field.CodeOrFigureNum,
NameAndSpecs: data.field.NameAndSpecs,
Materials: data.field.Materials,
}
}, 'data');
return false;
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'add') { // 监听添加操作
var index = layer.open({
title: '添加BOM详细数据',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['50%', '95%'],
content: 'addBOMDetails.html',
});
$(window).on("resize", function () {
layer.full(index);
});
} else if (obj.event === 'delete') { // 监听删除操作
var checkStatus = table.checkStatus('BOMDetailsList'),
data = checkStatus.data;
if (data.length == 0) {
layer.alert('请选择至少一条数据!');
return false;
}
delBOMDetails(data);
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') {
layui.sessionData('editBOMDetails', {
key: 'SelBOMDetailsID',
value: data.id,
});
var index = layer.open({
title: '编辑BOM详细数据',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['50%', '95%'],
content: 'editBOMDetails.html',
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
} else if (obj.event === 'delete') {
delSingleBomDetails(data);
return false;
}
});
//批量删除用户
function delBOMDetails(data) {
//弹出确认弹窗
layer.confirm('确认删除吗?', function () {
var apiUrl = GetWebApiUrl();
var CurrUserInfo = layui.sessionData('CurrUserInfo');
//删除所选的BOM字表数据更新isdelete字段为1
for (let index = 0; index < data.length; index++) {
$.ajax({
url: apiUrl + "/api/services/app/BOMDetails/UpdateBOMDetails", //请求的url地址
dataType: "json", //返回格式为json
//async: false,//请求是否异步默认为异步这也是ajax重要特性
contentType: 'application/json',
data: JSON.stringify({
id: data[index].id,
updateUserID: CurrUserInfo.data.userid,
updateUserName: CurrUserInfo.data.userName,
isDelete: 1,
}), //参数值
type: "PUT", //请求方式
success: function (req) {
if (req.result.code == 1) {
//请求成功时处理
layer.msg('删除成功', { time: 1000 }, function () {
window.location.reload();
});
}
else {
/*错误信息处理*/
layer.alert("代号(图号)" + data[index].codeOrFigureNum + " 删除失败,请重试!");
return false;
}
},
error: function () {
/*错误信息处理*/
layer.alert("代号(图号)" + data[index].codeOrFigureNum + " 删除失败,请重试!");
return false;
},
});
}
return false;
});
}
//删除单个用户
function delSingleBomDetails(data) {
//弹出确认弹窗
layer.confirm('确认删除吗?', function () {
//删除所选的图纸编号信息更新isdelete字段为1
var apiUrl = GetWebApiUrl();
var CurrUserInfo = layui.sessionData('CurrUserInfo');
$.ajax({
url: apiUrl + "/api/services/app/BOMDetails/UpdateBOMDetails", //请求的url地址
dataType: "json", //返回格式为json
//async: false,//请求是否异步默认为异步这也是ajax重要特性
contentType: 'application/json',
data: JSON.stringify({
id: data.id,
updateUserID: CurrUserInfo.data.userid,
updateUserName: CurrUserInfo.data.userName,
isDelete: 1,
}), //参数值
type: "PUT", //请求方式
success: function (req) {
if (req.result.code == 1) {
//请求成功时处理
layer.msg('删除成功', { time: 1000 }, function () {
window.location.reload();
});
}
else {
/*错误信息处理*/
layer.alert("代号(图号)" + data.codeOrFigureNum + " 删除失败,请重试!");
return false;
}
},
error: function () {
/*错误信息处理*/
layer.alert("代号(图号)" + data.codeOrFigureNum + " 删除失败,请重试!");
return false;
},
});
return false;
});
}
});
</script>
</body>
</html>