提交 876533e9 编写于 作者: Skyeye云's avatar Skyeye云

feat: 商品条形码添加功能

上级 99578b3a
// 已经选择的商品集合key:表格的行trId,value:商品信息
var allChooseProduct = {};
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form', 'eleTree'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form;
initTableChooseUtil.initTable({
id: "materialNormsList",
cols: [
{id: 'materialId', title: '产品', formType: 'chooseInput', width: '150', iconClassName: 'chooseProductBtn', verify: 'required'},
{id: 'normsId', title: '规格', formType: 'select', width: '180', verify: 'required'},
{id: 'operNumber', title: '条形码数量', formType: 'input', width: '140', verify: 'required|number', value: '1'}
],
deleteRowCallback: function (trcusid) {
delete allChooseProduct[trcusid];
},
addRowCallback: function (trcusid) {
},
form: form,
minData: 1
});
var selOptionHtml = getFileContent('tpl/template/select-option.tpl');
$("body").on("click", ".chooseProductBtn", function (e) {
var trId = $(this).parent().parent().attr("trcusid");
erpOrderUtil.openMaterialChooseChoosePage(function (chooseProductMation) {
// 获取表格行号
var thisRowKey = trId.replace("tr", "");
// 产品名称赋值
$("#materialId" + thisRowKey).val(chooseProductMation.name);
$("#materialId" + thisRowKey).attr(initTableChooseUtil.chooseInputDataIdKey, chooseProductMation.id);
// 规格赋值
$("#normsId" + thisRowKey).html(getDataUseHandlebars(selOptionHtml, {rows: chooseProductMation.materialNorms}));
form.render('select');
// 商品赋值
allChooseProduct[trId] = chooseProductMation;
});
});
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var result = initTableChooseUtil.getDataList('materialNormsList');
if (!result.checkResult) {
return false;
}
var noError = false;
var tableData = [];
$.each(result.dataList, function(i, item) {
// 获取行编号
var thisRowKey = item["trcusid"].replace("tr", "");
if (parseInt(item.operNumber) == 0) {
$("#operNumber" + thisRowKey).addClass("layui-form-danger");
$("#operNumber" + thisRowKey).focus();
winui.window.msg('数量不能为0', {icon: 2, time: 2000});
noError = true;
return false;
}
// 商品对象
var material = allChooseProduct["tr" + thisRowKey];
if (inTableDataArrayByAssetarId(material.materialId, item.normsId, tableData)) {
winui.window.msg('一张单中不允许出现相同单位的商品信息.', {icon: 2, time: 2000});
noError = true;
return false;
}
item["materialId"] = material.id;
tableData.push(item);
});
if (noError) {
return false;
}
var params = {
list: JSON.stringify(tableData),
};
AjaxPostUtil.request({url: sysMainMation.erpBasePath + "insertMaterialNormsCode", params: params, type: 'json', method: 'POST', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
// 判断选中的商品是否也在数组中
function inTableDataArrayByAssetarId(materialId, normsId, array) {
var isIn = false;
$.each(array, function(i, item) {
if(item.normsId === normsId && item.materialId === materialId) {
isIn = true;
return false;
}
});
return isIn;
}
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
...@@ -31,13 +31,13 @@ layui.config({ ...@@ -31,13 +31,13 @@ layui.config({
{ field: 'name', title: '商品名称', align: 'left', width: 150, templet: function (d) { { field: 'name', title: '商品名称', align: 'left', width: 150, templet: function (d) {
return getNotUndefinedVal(d.materialMation?.name); return getNotUndefinedVal(d.materialMation?.name);
}}, }},
{ field: 'model', title: '型号', align: 'left', width: 150, templet: function (d) {
return getNotUndefinedVal(d.materialMation?.name);
}},
{ field: 'normsMation', title: '规格', align: 'left', width: 200, templet: function (d) { { field: 'normsMation', title: '规格', align: 'left', width: 200, templet: function (d) {
return getNotUndefinedVal(d.normsMation?.name); return getNotUndefinedVal(d.normsMation?.name);
}}, }},
{ field: 'depotMation', title: '所在仓库', align: 'left', width: 200, templet: function (d) { { field: 'codeNum', title: '编码', align: 'left', width: 180, templet: function (d) {
return d.codeNum;
}},
{ field: 'depotMation', title: '所在仓库', align: 'left', width: 170, templet: function (d) {
return getNotUndefinedVal(d.depotMation?.name); return getNotUndefinedVal(d.depotMation?.name);
}}, }},
{ field: 'categoryId', title: '所属分类', align: 'center', width: 100, templet: function (d) { { field: 'categoryId', title: '所属分类', align: 'center', width: 100, templet: function (d) {
...@@ -51,6 +51,7 @@ layui.config({ ...@@ -51,6 +51,7 @@ layui.config({
}}, }},
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 }, { field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 },
{ field: 'qualityWarehousingTime', title: "质检入库时间", align: 'center', width: 150 }, { field: 'qualityWarehousingTime', title: "质检入库时间", align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 120, toolbar: '#tableBar' }
]], ]],
done: function(json) { done: function(json) {
matchingLanguage(); matchingLanguage();
...@@ -65,15 +66,41 @@ layui.config({ ...@@ -65,15 +66,41 @@ layui.config({
var layEvent = obj.event; var layEvent = obj.event;
if (layEvent === 'barCode') { // 条形码预览 if (layEvent === 'barCode') { // 条形码预览
systemCommonUtil.showPicImg(systemCommonUtil.getFilePath(data.barCodeMation.imagePath)); systemCommonUtil.showPicImg(systemCommonUtil.getFilePath(data.barCodeMation.imagePath));
} else if (layEvent === 'delete') { // 删除
delet(data);
} }
}); });
// 删除
function delet(data) {
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function (index) {
layer.close(index);
AjaxPostUtil.request({url: sysMainMation.erpBasePath + "deleteMaterialNormsCodeById", params: {id: data.id}, type: 'json', method: "DELETE", callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
}
// 新增
$("body").on("click", "#addBean", function() {
_openNewWindows({
url: "../../tpl/materialCode/materialCodeAdd.html",
title: systemLanguage["com.skyeye.addPageTitle"][languageType],
pageId: "materialCodeAdd",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
form.render(); form.render();
$("body").on("click", "#reloadTable", function() { $("body").on("click", "#reloadTable", function() {
loadassetTable(); loadTable();
}); });
function loadassetTable() { function loadTable() {
table.reloadData("messageTable", {where: getTableParams()}); table.reloadData("messageTable", {where: getTableParams()});
} }
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" autocomplete="off">
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">基本信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">商品明细</label>
<div class="layui-input-block" id="materialNormsList">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base : '../../js/materialCode/'}).use('materialCodeAdd');
</script>
</body>
</html>
\ No newline at end of file
...@@ -7,13 +7,22 @@ ...@@ -7,13 +7,22 @@
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" /> <link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head> </head>
<body> <body>
<div class="winui-tip alert-info" id="showInfo">
只有未入库的条形码可以删除。
</div>
<div class="winui-toolbar"> <div class="winui-toolbar">
<div class="winui-tool"> <div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button> <button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
</div> <button id="addBean" class="winui-toolbtn search-table-btn-right"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language></button>
</div>
</div> </div>
<div style="margin: auto 10px;"> <div style="margin: auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table> <table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if (d.inDepot == 1) { }}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete"><language showName="com.skyeye.deleteBtn"></language></a>
{{# } }}
</script>
</div> </div>
<script src="../../assets/lib/layui/layui.js"></script> <script src="../../assets/lib/layui/layui.js"></script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册