diff --git a/erp/src/main/resources/template/js/salesoutlet/salesoutletadd.js b/erp/src/main/resources/template/js/salesoutlet/salesoutletadd.js index 74d23040176d9979b92dd7e5d9de30236ac9ef4d..5550e3918ad6f977c2027d84165989e3afa86b48 100644 --- a/erp/src/main/resources/template/js/salesoutlet/salesoutletadd.js +++ b/erp/src/main/resources/template/js/salesoutlet/salesoutletadd.js @@ -1,11 +1,9 @@ -//已经选择的客户信息 +// 已经选择的客户信息 var customerMation = {}; -//根据那一列的值进行变化,默认根据数量 +// 根据那一列的值进行变化,默认根据数量 var showTdByEdit = 'rkNum'; -//表格的序号 -var rowNum = 1; // 兼容动态表单 var layedit, form; @@ -29,10 +27,8 @@ layui.config({ var inoutitemHtml = "";//支出项目 var salesManList = new Array();//销售人员 - var usetableTemplate = $("#usetableTemplate").html(), - otherTemplate = $("#otherTemplate").html(); var selOption = getFileContent('tpl/template/select-option.tpl'); - //已经选择的商品集合key:表格的行trId,value:商品信息 + // 已经选择的商品集合key:表格的行trId,value:商品信息 var allChooseProduct = {}; // 获取单据提交类型 @@ -59,36 +55,60 @@ layui.config({ erpOrderUtil.getDepotList(function (json){ // 加载仓库数据 $("#depotId").html(getDataUseHandlebars(selOption, json)); - // 初始化一行数据 - addRow(); + }); + + // 商品 + initTableChooseUtil.initTable({ + id: "productList", + cols: [ + {id: 'materialId', title: '商品(型号)', formType: 'chooseInput', width: '150', iconClassName: 'chooseProductBtn', verify: 'required'}, + {id: 'mUnitId', title: '单位', formType: 'select', width: '50', verify: 'required', layFilter: 'selectUnitProperty'}, + {id: 'currentTock', title: '库存', formType: 'detail', width: '80'}, + {id: 'rkNum', title: '数量', formType: 'input', width: '80', className: 'change-input rkNum', verify: 'required|number', value: '1'}, + {id: 'unitPrice', title: '单价', formType: 'input', width: '80', className: 'change-input unitPrice', verify: 'required|money'}, + {id: 'amountOfMoney', title: '金额', formType: 'input', width: '80', className: 'change-input amountOfMoney', verify: 'required|money'}, + {id: 'taxRate', title: '税率(%)', formType: 'input', width: '80', className: 'change-input taxRate', verify: 'required|double', value: '0.00'}, + {id: 'taxMoney', title: '税额', formType: 'input', width: '80', className: 'change-input taxMoney', verify: 'required|money'}, + {id: 'taxUnitPrice', title: '含税单价', formType: 'input', width: '80', className: 'change-input taxUnitPrice', verify: 'required|money'}, + {id: 'taxLastMoney', title: '合计价税', formType: 'input', width: '80', className: 'change-input taxLastMoney', verify: 'required|money'}, + {id: 'remark', title: '备注', formType: 'input', width: '100'} + ], + deleteRowCallback: function (trcusid) { + delete allChooseProduct[trcusid]; + // 计算价格 + calculatedTotalPrice(); + }, + addRowCallback: function (trcusid) { + // 设置根据某列变化的颜色 + $("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'}); + }, + form: form, + minData: 1 + }); + + // 其他费用 + initTableChooseUtil.initTable({ + id: "otherPriceTableList", + cols: [ + {id: 'inoutitemId', title: '支出项目', formType: 'select', width: '120', verify: 'required', modelHtml: inoutitemHtml}, + {id: 'otherPrice', title: '费用合计:0.00', formType: 'input', width: '120', className: 'otherPrice', verify: 'required|money', colHeaderId: 'otherPriceTotal'} + ], + deleteRowCallback: function (trcusid) { + calculationPrice(); + }, + addRowCallback: function (trcusid) { + calculationPrice(); + }, + form: form }); // 加载动态表单 dsFormUtil.loadPageByCode("dsFormShow", sysDsFormWithCodeType["outIsSalesOutlet"]["code"], null); matchingLanguage(); - //商品规格加载变化事件 - form.on('select(selectUnitProperty)', function(data) { - var thisRowValue = data.value; - var thisRowNum = data.elem.id.replace("unitId", "");//获取当前行 - //当前当前行选中的商品信息 - if(!isNull(thisRowValue) && thisRowValue != '请选择') { - var product = allChooseProduct["tr" + thisRowNum.toString()]; - $.each(product.unitList, function(j, bean) { - if(thisRowValue == bean.id){//获取规格 - $("#unitPrice" + thisRowNum).val(bean.salePrice.toFixed(2));//单价 - return false; - } - }); - } else { - $("#unitPrice" + thisRowNum).val("0.00");//重置单价为空 - } - //加载库存 - loadTockByDepotAndMUnit(thisRowNum, $("#depotId").val()); - //计算价格 - calculatedTotalPrice(); - }); + // 商品规格加载变化事件 + mUnitChangeEvent(form, allChooseProduct, "salePrice"); // 仓库变化事件 form.on('select(depotId)', function(data) { @@ -122,68 +142,42 @@ layui.config({ }); function saveData(subType, approvalId) { - if(isNull(customerMation.id)){ - winui.window.msg('请选择客户.', {icon: 2, time: 2000}); - return false; - } - //获取已选商品数据 - var rowTr = $("#useTable tr"); - if(rowTr.length == 0) { - winui.window.msg('请选择商品.', {icon: 2, time: 2000}); + var result = initTableChooseUtil.getDataList('productList'); + if (!result.checkResult) { return false; } - var tableData = new Array(); - var noError = false; //循环遍历表格数据时,是否有其他错误信息 - $.each(rowTr, function(i, item) { + var noError = false; + var tableData = []; + $.each(result.dataList, function(i, item) { //获取行编号 - var rowNum = $(item).attr("trcusid").replace("tr", ""); - //表格数量对象 - var rkNum = $("#rkNum" + rowNum); - if(parseInt(rkNum.val()) == 0) { - rkNum.addClass("layui-form-danger"); - rkNum.focus(); + var thisRowKey = item["trcusid"].replace("tr", ""); + if (parseInt(item.rkNum) == 0) { + $("#rkNum" + thisRowKey).addClass("layui-form-danger"); + $("#rkNum" + thisRowKey).focus(); winui.window.msg('数量不能为0', {icon: 2, time: 2000}); noError = true; return false; } //商品对象 - var product = allChooseProduct["tr" + rowNum.toString()]; - if(inTableDataArrayByAssetarId(product.productId, $("#unitId" + rowNum).val(), tableData)) { + var product = allChooseProduct["tr" + thisRowKey]; + if (inTableDataArrayByAssetarId(product.productId, item.mUnitId, tableData)) { winui.window.msg('一张单中不允许出现相同单位的商品信息.', {icon: 2, time: 2000}); noError = true; return false; } - var row = { - depotId: $("#depotId").val(), - materialId: $("#materialId" + rowNum).val(), - mUnitId: $("#unitId" + rowNum).val(), - rkNum: rkNum.val(), - unitPrice: $("#unitPrice" + rowNum).val(), - taxRate: $("#taxRate" + rowNum).val(), - taxMoney: $("#taxMoney" + rowNum).val(), - taxUnitPrice: $("#taxUnitPrice" + rowNum).val(), - taxLastMoney: $("#taxLastMoney" + rowNum).val(), - remark: $("#remark" + rowNum).val() - }; - tableData.push(row); + item["materialId"] = product.productId; + item["depotId"] = $("#depotId").val(); + tableData.push(item); }); - if(noError) { + if (noError) { return false; } - //获取其他费用 - var rowPriceTr = $("#otherPriceTable tr"); - var tablePriceData = new Array(); + // 其他费用 + var otherPriceResult = initTableChooseUtil.getDataList('otherPriceTableList'); var otherMoney = 0; - $.each(rowPriceTr, function(i, item) { - //获取行编号 - var rowNum = $(item).attr("trcusid").replace("tr", ""); - var row = { - inoutitemId: $("#inoutitemId" + rowNum).val(), - otherPrice: $("#otherPrice" + rowNum).val() - }; - otherMoney += parseFloat(isNull($("#otherPrice" + rowNum).val()) ? 0 : $("#otherPrice" + rowNum).val()); - tablePriceData.push(row); + $.each(otherPriceResult.dataList, function(i, item) { + otherMoney += parseFloat(isNull(item.otherPrice) ? 0 : item.otherPrice); }); var salesMan = ""; @@ -202,7 +196,7 @@ layui.config({ changeAmount: isNull($("#changeAmount").val()) ? "0.00" : $("#changeAmount").val(), depotheadStr: JSON.stringify(tableData), otherMoney: otherMoney.toFixed(2), - otherMoneyList: JSON.stringify(tablePriceData), + otherMoneyList: JSON.stringify(otherPriceResult.dataList), salesMan: salesMan, submitType: submitType, subType: subType, @@ -235,58 +229,6 @@ layui.config({ salesManList = [].concat(systemCommonUtil.tagEditorResetData('salesMan', userReturnList)); }); }); -/*********************** 商品表格操作 start ****************************/ - //新增行 - $("body").on("click", "#addRow", function() { - addRow(); - }); - - //删除行 - $("body").on("click", "#deleteRow", function() { - deleteRow(); - //计算价格 - calculatedTotalPrice(); - }); - - //新增行 - function addRow() { - var par = { - id: "row" + rowNum.toString(), //checkbox的id - trId: "tr" + rowNum.toString(), //行的id - materialId: "materialId" + rowNum.toString(), //商品id - unitId: "unitId" + rowNum.toString(), //规格id - currentTock: "currentTock" + rowNum.toString(), //库存id - rkNum: "rkNum" + rowNum.toString(), //数量id - unitPrice: "unitPrice" + rowNum.toString(), //单价id - amountOfMoney: "amountOfMoney" + rowNum.toString(), //金额id - taxRate: "taxRate" + rowNum.toString(), //税率id - taxMoney: "taxMoney" + rowNum.toString(), //税额id - taxUnitPrice: "taxUnitPrice" + rowNum.toString(), //含税单价id - taxLastMoney: "taxLastMoney" + rowNum.toString(), //含税合计id - remark: "remark" + rowNum.toString() //备注id - }; - $("#useTable").append(getDataUseHandlebars(usetableTemplate, par)); - form.render(); - rowNum++; - //设置根据某列变化的颜色 - $("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'}); - } - - //删除行 - function deleteRow() { - var checkRow = $("#useTable input[type='checkbox'][name='tableCheckRow']:checked"); - if(checkRow.length > 0) { - $.each(checkRow, function(i, item) { - //删除allChooseProduct已选择的商品信息 - var trId = $(item).parent().parent().attr("trcusid"); - allChooseProduct[trId] = undefined; - //移除界面上的信息 - $(item).parent().parent().remove(); - }); - } else { - winui.window.msg('请选择要删除的行', {icon: 2, time: 2000}); - } - } //客户选择 $("body").on("click", "#customMationSel", function (e) { @@ -300,93 +242,12 @@ layui.config({ }}); }); - //商品选择 - $("body").on("click", ".chooseProductBtn", function (e) { - var trId = $(this).parent().parent().attr("trcusid"); - erpOrderUtil.openMaterialChooseChoosePage(function (chooseProductMation) { - //获取表格行号 - var thisRowNum = trId.replace("tr", ""); - //商品赋值 - allChooseProduct[trId] = chooseProductMation; - //表格商品名称赋值 - $("#materialId" + thisRowNum.toString()).val(allChooseProduct[trId].productName + "(" + allChooseProduct[trId].productModel + ")"); - //表格单位赋值 - $("#unitId" + thisRowNum.toString()).html(getDataUseHandlebars(selOption, {rows: allChooseProduct[trId].unitList})); - form.render('select'); - //计算价格 - calculatedTotalPrice(); - }); - }); -/*********************** 商品表格操作 end ****************************/ - -/*********************** 其他费用表格操作 start ****************************/ - - //其他费用变化 - $("body").on("input", ".otherPrice", function() { - //计算价格 - calculationPrice(); - }); - $("body").on("change", ".otherPrice", function() { - //计算价格 - calculationPrice(); - }); - - //计算其他费用总价格 - function calculationPrice(){ - var rowTr = $("#otherPriceTable tr"); - var allPrice = 0; - $.each(rowTr, function(i, item) { - //获取行坐标 - var rowNum = $(item).attr("trcusid").replace("tr", ""); - //获取 - var otherPrice = parseFloat(isNull($("#otherPrice" + rowNum).val()) ? 0 : $("#otherPrice" + rowNum).val()); - allPrice += otherPrice; - }); - $("#otherPriceTotal").html("费用合计:" + allPrice.toFixed(2)); - } - - var priceNum = 1; - //新增行 - $("body").on("click", "#addPriceRow", function() { - addPriceRow(); + // 加载商品选择事件 + initChooseProductBtnEnent(form, function(trId, chooseProductMation) { + // 商品赋值 + allChooseProduct[trId] = chooseProductMation; }); - //删除行 - $("body").on("click", "#deletePriceRow", function() { - deletePriceRow(); - }); - - //新增行 - function addPriceRow() { - var par = { - id: "row" + priceNum.toString(), //checkbox的id - trId: "tr" + priceNum.toString(), //行的id - inoutitemId: "inoutitemId" + priceNum.toString(), //支出项目id - otherPrice: "otherPrice" + priceNum.toString() //金额id - }; - $("#otherPriceTable").append(getDataUseHandlebars(otherTemplate, par)); - //赋值给支出项目 - $("#" + "inoutitemId" + priceNum.toString()).html(inoutitemHtml); - form.render('select'); - form.render('checkbox'); - priceNum++; - } - - //删除行 - function deletePriceRow() { - var checkRow = $("#otherPriceTable input[type='checkbox'][name='tableCheckRow']:checked"); - if(checkRow.length > 0) { - $.each(checkRow, function(i, item) { - $(item).parent().parent().remove(); - }); - } else { - winui.window.msg('请选择要删除的行', {icon: 2, time: 2000}); - } - //计算价格 - calculationPrice(); - } -/*********************** 其他费用表格操作 end ****************************/ - $("body").on("click", "#cancle", function() { parent.layer.close(index); }); diff --git a/erp/src/main/resources/template/js/salesoutlet/salesoutletedit.js b/erp/src/main/resources/template/js/salesoutlet/salesoutletedit.js index b0259e93c289b60684d78c66d4e6806baca0be8f..bbe4171e080fe8924e170b7dcc517806250e37e6 100644 --- a/erp/src/main/resources/template/js/salesoutlet/salesoutletedit.js +++ b/erp/src/main/resources/template/js/salesoutlet/salesoutletedit.js @@ -1,11 +1,9 @@ -//已经选择的客户信息 +// 已经选择的客户信息 var customerMation = {}; -//根据那一列的值进行变化,默认根据数量 +// 根据那一列的值进行变化,默认根据数量 var showTdByEdit = 'rkNum'; -//表格的序号 -var rowNum = 1; // 兼容动态表单 var layedit, form; @@ -28,12 +26,9 @@ layui.config({ var inoutitemHtml = "";//支出项目 var salesManList = new Array();//销售人员 - var priceNum = 1; - var usetableTemplate = $("#usetableTemplate").html(), - otherTemplate = $("#otherTemplate").html(); var selOption = getFileContent('tpl/template/select-option.tpl'); - //已经选择的商品集合key:表格的行trId,value:商品信息 + // 已经选择的商品集合key:表格的行trId,value:商品信息 var allChooseProduct = {}; // 获取单据提交类型 @@ -85,35 +80,45 @@ layui.config({ $("#arrears").html(json.bean.arrears.toFixed(2)); $("#otherPriceTotal").html("费用合计:" + json.bean.otherMoney.toFixed(2)); - //加载列表项 - $.each(json.bean.norms, function(i, item){ - addRow(); - if(i == 0){ + initTable(); + + // 回显商品列表 + initTableChooseUtil.deleteAllRow('productList'); + $.each(json.bean.norms, function(i, item) { + if (i == 0) { $("#depotId").val(item.depotId); } - //将规格所属的商品信息加入到对象中存储 - allChooseProduct["tr" + (rowNum - 1)] = item.product; - //单位回显 - $("#unitId" + (rowNum - 1)).html(getDataUseHandlebars(selOption, {rows: item.product.unitList})); - $("#unitId" + (rowNum - 1)).val(item.mUnitId); - //商品回显 - $("#materialId" + (rowNum - 1)).val(item.product.productName + "(" + item.product.productModel + ")"); - $("#currentTock" + (rowNum - 1)).html(item.currentTock);//库存回显 - $("#rkNum" + (rowNum - 1)).val(item.operNum); - $("#unitPrice" + (rowNum - 1)).val(item.unitPrice.toFixed(2)); - $("#amountOfMoney" + (rowNum - 1)).val(item.allPrice.toFixed(2)); - $("#taxRate" + (rowNum - 1)).val(item.taxRate.toFixed(2)); - $("#taxMoney" + (rowNum - 1)).val(item.taxMoney.toFixed(2)); - $("#taxUnitPrice" + (rowNum - 1)).val(item.taxUnitPrice.toFixed(2)); - $("#taxLastMoney" + (rowNum - 1)).val(item.taxLastMoney.toFixed(2)); - $("#remark" + (rowNum - 1)).val(item.remark); + var params = { + "materialId": item.product.productName + "(" + item.product.productModel + ")", + "mUnitId": { + "html": getDataUseHandlebars(selOption, {rows: item.product.unitList}), + "value": item.mUnitId + }, + "currentTock": item.currentTock, + "rkNum": item.operNum, + "unitPrice": item.unitPrice.toFixed(2), + "amountOfMoney": item.allPrice.toFixed(2), + "taxRate": item.taxRate.toFixed(2), + "taxMoney": item.taxMoney.toFixed(2), + "taxUnitPrice": item.taxUnitPrice.toFixed(2), + "taxLastMoney": item.taxLastMoney.toFixed(2), + "remark": item.remark + }; + var trcusid = initTableChooseUtil.resetData('productList', params); + // 将规格所属的商品信息加入到对象中存储 + allChooseProduct[trcusid] = item.product; }); - //加载其他费用 - $.each(json.bean.otherMoneyList, function(i, item){ - addPriceRow(); - $("#inoutitemId" + (priceNum - 1)).val(item.inoutitemId); - $("#otherPrice" + (priceNum - 1)).val(parseFloat(item.otherPrice).toFixed(2)); + // 回显其他费用 + initTableChooseUtil.deleteAllRow('otherPriceTableList'); + $.each(json.bean.otherMoneyList, function(i, item) { + var params = { + "inoutitemId": { + "value": item.inoutitemId + }, + "otherPrice": parseFloat(item.otherPrice).toFixed(2) + }; + initTableChooseUtil.resetData('otherPriceTableList', params); }); var userNames = ""; @@ -121,7 +126,7 @@ layui.config({ $.each(salesManList, function (i, item) { userNames += item.name + ','; }); - //人员选择 + // 人员选择 $('#salesMan').tagEditor({ initialTags: userNames.split(','), placeholder: '请选择销售人员', @@ -142,30 +147,56 @@ layui.config({ }}); } - //商品规格加载变化事件 - form.on('select(selectUnitProperty)', function(data) { - var thisRowValue = data.value; - var thisRowNum = data.elem.id.replace("unitId", "");//获取当前行 - //当前当前行选中的商品信息 - if(!isNull(thisRowValue) && thisRowValue != '请选择') { - var product = allChooseProduct["tr" + thisRowNum.toString()]; - $.each(product.unitList, function(j, bean) { - if(thisRowValue == bean.id){//获取规格 - //获取当前行数量 - var rkNum = parseInt($("#rkNum" + thisRowNum).val()); - $("#unitPrice" + thisRowNum).val(bean.salePrice.toFixed(2));//单价 - return false; - } - }); - } else { - $("#unitPrice" + thisRowNum).val("0.00");//重置单价为空 - } + function initTable() { + // 商品 + initTableChooseUtil.initTable({ + id: "productList", + cols: [ + {id: 'materialId', title: '商品(型号)', formType: 'chooseInput', width: '150', iconClassName: 'chooseProductBtn', verify: 'required'}, + {id: 'mUnitId', title: '单位', formType: 'select', width: '50', verify: 'required', layFilter: 'selectUnitProperty'}, + {id: 'currentTock', title: '库存', formType: 'detail', width: '80'}, + {id: 'rkNum', title: '数量', formType: 'input', width: '80', className: 'change-input rkNum', verify: 'required|number', value: '1'}, + {id: 'unitPrice', title: '单价', formType: 'input', width: '80', className: 'change-input unitPrice', verify: 'required|money'}, + {id: 'amountOfMoney', title: '金额', formType: 'input', width: '80', className: 'change-input amountOfMoney', verify: 'required|money'}, + {id: 'taxRate', title: '税率(%)', formType: 'input', width: '80', className: 'change-input taxRate', verify: 'required|double', value: '0.00'}, + {id: 'taxMoney', title: '税额', formType: 'input', width: '80', className: 'change-input taxMoney', verify: 'required|money'}, + {id: 'taxUnitPrice', title: '含税单价', formType: 'input', width: '80', className: 'change-input taxUnitPrice', verify: 'required|money'}, + {id: 'taxLastMoney', title: '合计价税', formType: 'input', width: '80', className: 'change-input taxLastMoney', verify: 'required|money'}, + {id: 'remark', title: '备注', formType: 'input', width: '100'} + ], + deleteRowCallback: function (trcusid) { + delete allChooseProduct[trcusid]; + // 计算价格 + calculatedTotalPrice(); + }, + addRowCallback: function (trcusid) { + // 设置根据某列变化的颜色 + $("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'}); + calculatedTotalPrice(); + }, + form: form, + minData: 1 + }); - //加载库存 - loadTockByDepotAndMUnit(thisRowNum, $("#depotId").val()); - //计算价格 - calculatedTotalPrice(); - }); + // 其他费用 + initTableChooseUtil.initTable({ + id: "otherPriceTableList", + cols: [ + {id: 'inoutitemId', title: '支出项目', formType: 'select', width: '120', verify: 'required', modelHtml: inoutitemHtml}, + {id: 'otherPrice', title: '费用合计:0.00', formType: 'input', width: '120', className: 'otherPrice', verify: 'required|money', colHeaderId: 'otherPriceTotal'} + ], + deleteRowCallback: function (trcusid) { + calculationPrice(); + }, + addRowCallback: function (trcusid) { + calculationPrice(); + }, + form: form + }); + } + + // 商品规格加载变化事件 + mUnitChangeEvent(form, allChooseProduct, "salePrice"); // 仓库变化事件 form.on('select(depotId)', function(data) { @@ -207,67 +238,42 @@ layui.config({ }); function saveData(subType, approvalId) { - if(isNull(customerMation.id)){ - winui.window.msg('请选择客户.', {icon: 2, time: 2000}); - return false; - } - //获取已选商品数据 - var rowTr = $("#useTable tr"); - if(rowTr.length == 0) { - winui.window.msg('请选择商品.', {icon: 2, time: 2000}); + var result = initTableChooseUtil.getDataList('productList'); + if (!result.checkResult) { return false; } - var tableData = new Array(); - var noError = false; //循环遍历表格数据时,是否有其他错误信息 - $.each(rowTr, function(i, item) { + var noError = false; + var tableData = []; + $.each(result.dataList, function(i, item) { //获取行编号 - var rowNum = $(item).attr("trcusid").replace("tr", ""); - //表格数量对象 - var rkNum = $("#rkNum" + rowNum); - if(parseInt(rkNum.val()) == 0) { - rkNum.addClass("layui-form-danger"); - rkNum.focus(); + var thisRowKey = item["trcusid"].replace("tr", ""); + if (parseInt(item.rkNum) == 0) { + $("#rkNum" + thisRowKey).addClass("layui-form-danger"); + $("#rkNum" + thisRowKey).focus(); winui.window.msg('数量不能为0', {icon: 2, time: 2000}); noError = true; return false; } //商品对象 - var product = allChooseProduct["tr" + rowNum.toString()]; - if(inTableDataArrayByAssetarId(product.productId, $("#unitId" + rowNum).val(), tableData)) { + var product = allChooseProduct["tr" + thisRowKey]; + if (inTableDataArrayByAssetarId(product.productId, item.mUnitId, tableData)) { winui.window.msg('一张单中不允许出现相同单位的商品信息.', {icon: 2, time: 2000}); noError = true; return false; } - var row = { - depotId: $("#depotId").val(), - materialId: $("#materialId" + rowNum).val(), - mUnitId: $("#unitId" + rowNum).val(), - rkNum: rkNum.val(), - unitPrice: $("#unitPrice" + rowNum).val(), - taxRate: $("#taxRate" + rowNum).val(), - taxMoney: $("#taxMoney" + rowNum).val(), - taxUnitPrice: $("#taxUnitPrice" + rowNum).val(), - taxLastMoney: $("#taxLastMoney" + rowNum).val(), - remark: $("#remark" + rowNum).val() - }; - tableData.push(row); + item["materialId"] = product.productId; + item["depotId"] = $("#depotId").val(); + tableData.push(item); }); - if(noError) { + if (noError) { return false; } - //获取其他费用 - var rowPriceTr = $("#otherPriceTable tr"); - var tablePriceData = new Array(); + + // 其他费用 + var otherPriceResult = initTableChooseUtil.getDataList('otherPriceTableList'); var otherMoney = 0; - $.each(rowPriceTr, function(i, item) { - //获取行编号 - var rowNum = $(item).attr("trcusid").replace("tr", ""); - var row = { - inoutitemId: $("#inoutitemId" + rowNum).val(), - otherPrice: $("#otherPrice" + rowNum).val() - }; - otherMoney += parseFloat(isNull($("#otherPrice" + rowNum).val()) ? 0 : $("#otherPrice" + rowNum).val()); - tablePriceData.push(row); + $.each(otherPriceResult.dataList, function(i, item) { + otherMoney += parseFloat(isNull(item.otherPrice) ? 0 : item.otherPrice); }); //销售人员 @@ -287,7 +293,7 @@ layui.config({ changeAmount: isNull($("#changeAmount").val()) ? "0.00" : $("#changeAmount").val(), depotheadStr: JSON.stringify(tableData), otherMoney: otherMoney.toFixed(2), - otherMoneyList: JSON.stringify(tablePriceData), + otherMoneyList: JSON.stringify(otherPriceResult.dataList), salesMan: salesMan, subType: subType, submitType: submitType, @@ -313,60 +319,7 @@ layui.config({ }); }); -/*********************** 商品表格操作 start ****************************/ - //新增行 - $("body").on("click", "#addRow", function() { - addRow(); - }); - - //删除行 - $("body").on("click", "#deleteRow", function() { - deleteRow(); - //计算价格 - calculatedTotalPrice(); - }); - - //新增行 - function addRow() { - var par = { - id: "row" + rowNum.toString(), //checkbox的id - trId: "tr" + rowNum.toString(), //行的id - materialId: "materialId" + rowNum.toString(), //商品id - unitId: "unitId" + rowNum.toString(), //规格id - currentTock: "currentTock" + rowNum.toString(), //库存id - rkNum: "rkNum" + rowNum.toString(), //数量id - unitPrice: "unitPrice" + rowNum.toString(), //单价id - amountOfMoney: "amountOfMoney" + rowNum.toString(), //金额id - taxRate: "taxRate" + rowNum.toString(), //税率id - taxMoney: "taxMoney" + rowNum.toString(), //税额id - taxUnitPrice: "taxUnitPrice" + rowNum.toString(), //含税单价id - taxLastMoney: "taxLastMoney" + rowNum.toString(), //含税合计id - remark: "remark" + rowNum.toString() //备注id - }; - $("#useTable").append(getDataUseHandlebars(usetableTemplate, par)); - form.render(); - rowNum++; - //设置根据某列变化的颜色 - $("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'}); - } - - //删除行 - function deleteRow() { - var checkRow = $("#useTable input[type='checkbox'][name='tableCheckRow']:checked"); - if(checkRow.length > 0) { - $.each(checkRow, function(i, item) { - //删除allChooseProduct已选择的商品信息 - var trId = $(item).parent().parent().attr("trcusid"); - allChooseProduct[trId] = undefined; - //移除界面上的信息 - $(item).parent().parent().remove(); - }); - } else { - winui.window.msg('请选择要删除的行', {icon: 2, time: 2000}); - } - } - - //客户选择 + // 客户选择 $("body").on("click", "#customMationSel", function (e) { _openNewWindows({ url: "../../tpl/customermanage/customerChoose.html", @@ -378,91 +331,11 @@ layui.config({ }}); }); - //商品选择 - $("body").on("click", ".chooseProductBtn", function (e) { - var trId = $(this).parent().parent().attr("trcusid"); - erpOrderUtil.openMaterialChooseChoosePage(function (chooseProductMation) { - //获取表格行号 - var thisRowNum = trId.replace("tr", ""); - //商品赋值 - allChooseProduct[trId] = chooseProductMation; - //表格商品名称赋值 - $("#materialId" + thisRowNum.toString()).val(allChooseProduct[trId].productName + "(" + allChooseProduct[trId].productModel + ")"); - //表格单位赋值 - $("#unitId" + thisRowNum.toString()).html(getDataUseHandlebars(selOption, {rows: allChooseProduct[trId].unitList})); - form.render('select'); - //计算价格 - calculatedTotalPrice(); - }); - }); -/*********************** 商品表格操作 end ****************************/ - -/*********************** 其他费用表格操作 start ****************************/ - - //其他费用变化 - $("body").on("input", ".otherPrice", function() { - //计算价格 - calculationPrice(); + // 加载商品选择事件 + initChooseProductBtnEnent(form, function(trId, chooseProductMation) { + // 商品赋值 + allChooseProduct[trId] = chooseProductMation; }); - $("body").on("change", ".otherPrice", function() { - //计算价格 - calculationPrice(); - }); - - //计算其他费用总价格 - function calculationPrice(){ - var rowTr = $("#otherPriceTable tr"); - var allPrice = 0; - $.each(rowTr, function(i, item) { - //获取行坐标 - var rowNum = $(item).attr("trcusid").replace("tr", ""); - //获取 - var otherPrice = parseFloat(isNull($("#otherPrice" + rowNum).val()) ? 0 : $("#otherPrice" + rowNum).val()); - allPrice += otherPrice; - }); - $("#otherPriceTotal").html("费用合计:" + allPrice.toFixed(2)); - } - - //新增行 - $("body").on("click", "#addPriceRow", function() { - addPriceRow(); - }); - - //删除行 - $("body").on("click", "#deletePriceRow", function() { - deletePriceRow(); - }); - - //新增行 - function addPriceRow() { - var par = { - id: "row" + priceNum.toString(), //checkbox的id - trId: "tr" + priceNum.toString(), //行的id - inoutitemId: "inoutitemId" + priceNum.toString(), //支出项目id - otherPrice: "otherPrice" + priceNum.toString() //金额id - }; - $("#otherPriceTable").append(getDataUseHandlebars(otherTemplate, par)); - //赋值给支出项目 - $("#" + "inoutitemId" + priceNum.toString()).html(inoutitemHtml); - form.render('select'); - form.render('checkbox'); - priceNum++; - } - - //删除行 - function deletePriceRow() { - var checkRow = $("#otherPriceTable input[type='checkbox'][name='tableCheckRow']:checked"); - if(checkRow.length > 0) { - $.each(checkRow, function(i, item) { - $(item).parent().parent().remove(); - }); - } else { - winui.window.msg('请选择要删除的行', {icon: 2, time: 2000}); - } - //计算价格 - calculationPrice(); - } -/*********************** 其他费用表格操作 end ****************************/ $("body").on("click", "#cancle", function() { parent.layer.close(index); diff --git a/erp/src/main/resources/template/js/storeHouseApproval/storeHouseOtherList.js b/erp/src/main/resources/template/js/storeHouseApproval/storeHouseOtherList.js index 6706bcdea081e72c570f093b8ececee81be1b31b..344968ac2981391b59fc54c9ac2e98259927ceab 100644 --- a/erp/src/main/resources/template/js/storeHouseApproval/storeHouseOtherList.js +++ b/erp/src/main/resources/template/js/storeHouseApproval/storeHouseOtherList.js @@ -28,7 +28,7 @@ layui.config({ initDepotHtml(); //初始化仓库 function initDepotHtml() { - AjaxPostUtil.request({url: flowableBasePath + "storehouse009", params: {}, type: 'json', callback: function(json) { + AjaxPostUtil.request({url: flowableBasePath + "storehouse009", params: {}, type: 'json', method: "GET", callback: function(json) { //加载仓库数据 $("#depotId").html(getDataUseHandlebars(selOption, json)); form.render(); diff --git a/erp/src/main/resources/template/js/storeHouseApproval/storeHousePassOtherList.js b/erp/src/main/resources/template/js/storeHouseApproval/storeHousePassOtherList.js index ae08898619ac6899db8908b0514f3cc319fa77ab..9862b38d304fd782b289dff8fc102bee9d6e2bf9 100644 --- a/erp/src/main/resources/template/js/storeHouseApproval/storeHousePassOtherList.js +++ b/erp/src/main/resources/template/js/storeHouseApproval/storeHousePassOtherList.js @@ -25,7 +25,7 @@ layui.config({ initDepotHtml(); //初始化仓库 function initDepotHtml() { - AjaxPostUtil.request({url: flowableBasePath + "storehouse009", params: {}, type: 'json', callback: function(json) { + AjaxPostUtil.request({url: flowableBasePath + "storehouse009", params: {}, type: 'json', method: "GET", callback: function(json) { //加载仓库数据 $("#depotId").html(getDataUseHandlebars(selOption, json)); form.render(); diff --git a/erp/src/main/resources/template/js/storeHouseInventory/storeHouseInventoryList.js b/erp/src/main/resources/template/js/storeHouseInventory/storeHouseInventoryList.js index dd363ca1cc3a271d9aa2e1faea4abb35728db627..3ec34579a1f4135c7a485a265eea40b4247d5e05 100644 --- a/erp/src/main/resources/template/js/storeHouseInventory/storeHouseInventoryList.js +++ b/erp/src/main/resources/template/js/storeHouseInventory/storeHouseInventoryList.js @@ -23,7 +23,7 @@ layui.config({ initDepotHtml(); //初始化仓库 function initDepotHtml() { - AjaxPostUtil.request({url: flowableBasePath + "storehouse009", params: {}, type: 'json', callback: function(json) { + AjaxPostUtil.request({url: flowableBasePath + "storehouse009", params: {}, type: 'json', method: "GET", callback: function(json) { //加载仓库数据 $("#depotId").html(getDataUseHandlebars(selOption, json)); form.render(); diff --git a/erp/src/main/resources/template/js/storehouse/storehouseadd.js b/erp/src/main/resources/template/js/storehouse/storehouseadd.js index 1cc3a74366c442a491026c0bc787b64f887aba22..9e3e3671e47892e5846bc4fdf9aa26e6d2619bf5 100644 --- a/erp/src/main/resources/template/js/storehouse/storehouseadd.js +++ b/erp/src/main/resources/template/js/storehouse/storehouseadd.js @@ -20,7 +20,7 @@ layui.config({ form.on('submit(formAddBean)', function (data) { if (winui.verifyForm(data.elem)) { var params = { - houseName: $("#houseName").val(), + name: $("#houseName").val(), address: $("#address").val(), warehousing: $("#warehousing").val(), truckage: $("#truckage").val(), @@ -29,7 +29,7 @@ layui.config({ principal: systemCommonUtil.tagEditorGetAllData('principal', chooseUser) // 仓库负责人 }; - AjaxPostUtil.request({url: flowableBasePath + "storehouse002", params: params, type: 'json', callback: function (json) { + AjaxPostUtil.request({url: flowableBasePath + "writeDepotMation", params: params, type: 'json', method: "POST", callback: function (json) { parent.layer.close(index); parent.refreshCode = '0'; }}); diff --git a/erp/src/main/resources/template/js/storehouse/storehouseedit.js b/erp/src/main/resources/template/js/storehouse/storehouseedit.js index 75eb2fc6f73847555d9dacf1df917c2365a88eb3..7ef2064152aa892ad0e8aca0b438612ecf9bda94 100644 --- a/erp/src/main/resources/template/js/storehouse/storehouseedit.js +++ b/erp/src/main/resources/template/js/storehouse/storehouseedit.js @@ -15,8 +15,8 @@ layui.config({ showGrid({ id: "showForm", - url: flowableBasePath + "storehouse003", - params: {rowId: parent.rowId}, + url: flowableBasePath + "queryStoreHouseById", + params: {id: parent.rowId}, pagination: false, method: 'GET', template: $("#beanTemplate").html(), @@ -50,8 +50,8 @@ layui.config({ form.on('submit(formEditBean)', function (data) { if (winui.verifyForm(data.elem)) { var params = { - rowId: parent.rowId, - houseName: $("#houseName").val(), + id: parent.rowId, + name: $("#houseName").val(), address: $("#address").val(), warehousing: $("#warehousing").val(), truckage: $("#truckage").val(), @@ -60,7 +60,7 @@ layui.config({ principal: systemCommonUtil.tagEditorGetAllData('principal', chooseUser) // 仓库负责人 }; - AjaxPostUtil.request({url: flowableBasePath + "storehouse005", params: params, type: 'json', callback: function(json) { + AjaxPostUtil.request({url: flowableBasePath + "writeDepotMation", params: params, type: 'json', method: "POST", callback: function(json) { parent.layer.close(index); parent.refreshCode = '0'; }}); diff --git a/erp/src/main/resources/template/js/storehouse/storehouseinfo.js b/erp/src/main/resources/template/js/storehouse/storehouseinfo.js index 436d7db691ef4688dd9cf09f6e808b1b56468762..944cacf4a0d0520c6f9ffa1902c421f03a874f62 100644 --- a/erp/src/main/resources/template/js/storehouse/storehouseinfo.js +++ b/erp/src/main/resources/template/js/storehouse/storehouseinfo.js @@ -1,3 +1,4 @@ + layui.config({ base: basePath, version: skyeyeVersion @@ -8,13 +9,14 @@ layui.config({ layui.use(['form'], function (form) { var index = parent.layer.getFrameIndex(window.name); var $ = layui.$; - var simpleTemplate = $("#simpleTemplate").html(); + showGrid({ id: "showForm", - url: flowableBasePath + "storehouse007", - params: {rowId: parent.rowId}, + url: flowableBasePath + "queryStoreHouseById", + params: {id: parent.rowId}, pagination: false, - template: simpleTemplate, + method: "GET", + template: $("#simpleTemplate").html(), ajaxSendAfter:function (json) { $("#isDefault").html(json.bean.isDefault == "1" ? "是" : "否"); matchingLanguage(); diff --git a/erp/src/main/resources/template/js/storehouse/storehouselist.js b/erp/src/main/resources/template/js/storehouse/storehouselist.js index 4d83683d01d3d3f7dc7eab964dddffad0db8309b..48d70f9955f80c2e766f72afbe3ea4ccdee46269 100644 --- a/erp/src/main/resources/template/js/storehouse/storehouselist.js +++ b/erp/src/main/resources/template/js/storehouse/storehouselist.js @@ -23,13 +23,13 @@ layui.config({ limits: getLimits(), limit: getLimit(), cols: [[ - { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'}, - { field: 'houseName', title: '仓库名称', align: 'left',width: 200,templet: function(d) { + { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' }, + { field: 'houseName', title: '仓库名称', align: 'left',width: 200, templet: function(d) { return '' + d.houseName + ''; }}, - { field: 'address', title: '仓库地址', align: 'left',width: 300}, - { field: 'warehousing', title: '仓储费', align: 'left',width: 100}, - { field: 'truckage', title: '搬运费', align: 'left',width: 100}, + { field: 'address', title: '仓库地址', align: 'left',width: 300 }, + { field: 'warehousing', title: '仓储费', align: 'left',width: 100 }, + { field: 'truckage', title: '搬运费', align: 'left',width: 100 }, { field: 'isDefault', title: '默认仓库', align: 'center',width: 80, templet: function(d) { if (d.isDefault == '1') { return "是"; @@ -45,27 +45,28 @@ layui.config({ { field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 }, { title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar'} ]], - done: function(){ + done: function(json) { matchingLanguage(); + initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入仓库名称", function () { + table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()}); + }); } }); table.on('tool(messageTable)', function (obj) { var data = obj.data; var layEvent = obj.event; - if (layEvent === 'edit') { //编辑 + if (layEvent === 'edit') { // 编辑 edit(data); - }else if (layEvent === 'delete') { //删除 + } else if (layEvent === 'delete') { // 删除 deleteHouse(data); - }else if (layEvent === 'default') { //设置默认 - defaultHouse(data); - }else if (layEvent === 'select') { + } else if (layEvent === 'select') { selectHouse(data); } }); // 编辑 - function edit(data){ + function edit(data) { rowId = data.id; _openNewWindows({ url: "../../tpl/storehouse/storehouseedit.html", @@ -79,33 +80,20 @@ layui.config({ } // 删除仓库 - function deleteHouse(data){ + function deleteHouse(data) { layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function(index) { layer.close(index); var params = { - rowId: data.id + id: data.id }; - AjaxPostUtil.request({url: flowableBasePath + "storehouse004", params: params, type: 'json', callback: function(json) { + AjaxPostUtil.request({url: flowableBasePath + "storehouse004", params: params, type: 'json', method: "DELETE", callback: function(json) { winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000}); loadTable(); }}); }); } - // 设置是否默认 - function defaultHouse(data){ - layer.confirm('确认要设置该仓库为默认状态吗?', { icon: 3, title: '设置仓库状态' }, function (index) { - var params = { - rowId: data.id - }; - AjaxPostUtil.request({url: flowableBasePath + "storehouse006", params: params, type: 'json', callback: function(json) { - winui.window.msg("设置成功。", {icon: 1, time: 2000}); - loadTable(); - }}); - }); - } - - function selectHouse(data){ + function selectHouse(data) { rowId = data.id; _openNewWindows({ url: "../../tpl/storehouse/storehouseinfo.html", @@ -132,26 +120,17 @@ layui.config({ }); form.render(); - form.on('submit(formSearch)', function (data) { - if (winui.verifyForm(data.elem)) { - table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()}) - } - return false; - }); $("body").on("click", "#reloadTable", function() { loadTable(); }); - // 刷新 function loadTable(){ table.reloadData("messageTable", {where: getTableParams()}); } function getTableParams(){ - return { - houseName: $("#houseName").val() - }; + return $.extend(true, {}, initTableSearchUtil.getSearchValue("messageTable")); } exports('storehouselist', {}); diff --git a/erp/src/main/resources/template/tpl/salesoutlet/salesoutletadd.html b/erp/src/main/resources/template/tpl/salesoutlet/salesoutletadd.html index 578344f4ca5881e3b5bce7f2c56079b3260fed7d..d00e3ed11a3f590ae808e6eada54e5ad5702d89a 100644 --- a/erp/src/main/resources/template/tpl/salesoutlet/salesoutletadd.html +++ b/erp/src/main/resources/template/tpl/salesoutlet/salesoutletadd.html @@ -15,7 +15,7 @@