From c203eb3b80b14175ef4f5e25e029553c1b235704 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 18 六月 2021 11:13:50 +0800
Subject: [PATCH] # 销售单出库可以切换多个拣货口(以销售单为单位) # 销售单出库时,优先出数量较少的库位
---
src/main/webapp/static/js/pakStore/stockOut.js | 246 ++++++++++++++++++++++++++----------------------
1 files changed, 133 insertions(+), 113 deletions(-)
diff --git a/src/main/webapp/static/js/pakStore/stockOut.js b/src/main/webapp/static/js/pakStore/stockOut.js
index 7cfd988..4018a87 100644
--- a/src/main/webapp/static/js/pakStore/stockOut.js
+++ b/src/main/webapp/static/js/pakStore/stockOut.js
@@ -1,109 +1,122 @@
-var pageCurr;
+
+var locDetlData = [];
+function getCol() {
+ var cols = [
+ {field: 'count', align: 'center',title: '鍑哄簱鏁伴噺', edit:'text', width: 130, style:'color: blue;font-weight: bold'}
+ ,{field: 'anfme', align: 'center',title: '鍘熸暟閲�'}
+ ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
+ ];
+ arrRemove(detlCols, 'field', 'anfme');
+ cols.push.apply(cols, detlCols);
+ cols.push({fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:80})
+ return cols;
+}
+
layui.use(['table','laydate', 'form'], function() {
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
- var layDate = layui.laydate;
var form = layui.form;
- // 鏁版嵁娓叉煋
tableIns = table.render({
- elem: '#stockOut',
+ elem: '#chooseData',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/locDetl/list/auth',
- page: true,
- limit: 10,
- skin: 'line',
+ data: [],
even: true,
toolbar: '#toolbar',
cellMinWidth: 50,
- cols: [[
- {type: 'checkbox'}
- ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
- ,{field: 'matnr', align: 'center',title: '鐗╂枡'}
- ,{field: 'lgnum', align: 'center',title: '浠撳簱鍙�', width:80}
- ,{field: 'tbnum', align: 'center',title: '杞偍璇锋眰缂栧彿'}
- // ,{field: 'tbpos', align: 'center',title: '琛岄」鐩�'}
- ,{field: 'zmatid', align: 'center',title: '鐗╂枡鏍囩ID', width:200}
- ,{field: 'maktx', align: 'center',title: '鐗╂枡鎻忚堪', width:150}
- ,{field: 'werks', align: 'center',title: '宸ュ巶'}
- ,{field: 'anfme', align: 'center',title: '鏁伴噺', width:80}
- ,{field: 'altme', align: 'center',title: '鍗曚綅', width:80}
- ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
- ,{field: 'bname', align: 'center',title: '鐢ㄦ埛ID'}
- // ,{field: 'memo', align: 'center',title: '澶囨敞'}
-
- ]],
- request: {
- pageName: 'curr',
- pageSize: 'limit'
- },
- parseData: function (res) {
- return {
- 'code': res.code,
- 'msg': res.msg,
- 'count': res.data.total,
- 'data': res.data.records
- }
- },
- response: {
- statusCode: 200
- },
+ cols: [getCol()],
done: function(res, curr, count) {
- if (res.code === 403) {
- top.location.href = baseUrl+"/";
- }
- pageCurr=curr;
limit();
- form.on('checkbox(tableCheckbox)', function (data) {
- var _index = $(data.elem).attr('table-index')||0;
- if(data.elem.checked){
- res.data[_index][data.value] = 'Y';
- }else{
- res.data[_index][data.value] = 'N';
- }
- });
getOutBound();
}
});
- // 鐩戝惉鎺掑簭浜嬩欢
- table.on('sort(locDetl)', function (obj) {
- var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- searchData[this.name] = this.value;
- });
- searchData['orderByField'] = obj.field;
- searchData['orderByType'] = obj.type;
- tableIns.reload({
- where: searchData,
- page: {
- curr: 1
- },
- done: function (res, curr, count) {
- if (res.code === 403) {
- top.location.href = baseUrl+"/";
+ // 椤甸潰淇敼
+ table.on('edit(chooseData)', function (obj) {
+ updateLocDetlData(obj.data.locNo, obj.data.matnr, Number(obj.value));
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(chooseData)', function (obj) {
+ var data = locDetlData;
+ switch (obj.event) {
+ case 'outbound':
+ if (data.length === 0){
+ layer.msg('璇峰厛娣诲姞搴撲綅鐗╂枡');
+ } else {
+ var staNo = $("#staNoSelect").val();
+ if (staNo === "" || staNo === null){
+ layer.msg("璇烽�夋嫨鍑哄簱鍙�");
+ return;
+ }
+ var locDetls = [];
+ data.forEach(function(elem) {
+ locDetls.push({locNo: elem.locNo, matnr: elem.matnr, count: elem.count});
+ });
+ let param = {
+ outSite: staNo,
+ locDetls: locDetls
+ }
+ $.ajax({
+ url: baseUrl+"/plate/out/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(param),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ locDetlData = [];
+ tableIns.reload({data: locDetlData,done:function (res) {limit();getOutBound();}});
+ layer.msg(res.msg);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
}
- pageCurr=curr;
- limit();
+ break;
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(chooseData)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ case 'remove':
+ for (var i = locDetlData.length - 1; i >= 0; i--) {
+ if (locDetlData[i].locNo === data.locNo && locDetlData[i].matnr === data.matnr) {
+ locDetlData.splice(i, 1);
+ }
+ }
+ tableIns.reload({data: locDetlData,done:function (res) {limit();getOutBound();}});
+ break;
+ }
+ });
+
+ function updateLocDetlData(locNo, matnr, count) {
+ if (isNaN(count)) {
+ layer.msg("璇疯緭鍏ユ暟瀛�");
+ } else {
+ if (count > 0) {
+ for (var i=0;i<locDetlData.length;i++){
+ if (locDetlData[i]["locNo"] === locNo && locDetlData[i]["matnr"] === matnr){
+ if (count > locDetlData[i]["anfme"]) {
+ layer.msg("涓嶈兘瓒呰繃鍘熸暟閲�");
+ } else {
+ locDetlData[i]["count"] = count;
+ }
+ break;
+ }
+ }
+ } else {
+ layer.msg("鏁伴噺蹇呴』澶т簬闆�");
}
- });
- });
-
- // 鎼滅储鏍忔悳绱簨浠�
- form.on('submit(search)', function (data) {
- pageCurr = 1;
- tableReload();
- getOutBound();
- });
-
- // 鎼滅储鏍忛噸缃簨浠�
- form.on('submit(reset)', function (data) {
- pageCurr = 1;
- clearFormVal($('#search-box'));
- tableReload();
- getOutBound();
- });
+ }
+ tableIns.reload({data: locDetlData,done:function (res) {limit(); getOutBound();}});
+ }
// 鑾峰彇鍑哄簱鍙�
function getOutBound(){
@@ -129,32 +142,39 @@
}
})
-
-function tableReload(child) {
- var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- searchData[this.name] = this.value;
- });
- (child ? parent.tableIns : tableIns).reload({
- where: searchData,
- page: {
- curr: pageCurr
- },
- done: function (res, curr, count) {
- if (res.code === 403) {
- top.location.href = baseUrl+"/";
- }
- pageCurr=curr;
- if (res.data.length === 0 && count !== 0) {
- tableIns.reload({
- where: searchData,
- page: {
- curr: pageCurr-1
- }
- });
- pageCurr -= 1;
- }
- limit(child);
+// 鎻愬彇鐗╂枡
+var locDetlLayerIdx;
+function getLocDetl() {
+ locDetlLayerIdx = layer.open({
+ type: 2,
+ title: '鎻愬彇鍑鸿揣鍐呭',
+ maxmin: true,
+ area: [top.detailWidth, top.detailHeight],
+ shadeClose: true,
+ content: 'locDetlQuery.html',
+ success: function(layero, index){
}
});
}
+
+// 娣诲姞琛ㄦ牸鏁版嵁
+function addTableData(data) {
+ for (var i=0;i<data.length;i++){
+ let pass = false;
+ for (var j=0;j<locDetlData.length;j++){
+ if (data[i].matnr === locDetlData[j].matnr && data[i].locNo$ === locDetlData[j].locNo$) {
+ pass = true;
+ break;
+ }
+ }
+ if (pass) {
+ data.splice(i--, 1);
+ } else {
+ data[i]["count"] = data[i]["anfme"];
+ }
+
+ }
+ locDetlData.push.apply(locDetlData, data);
+ tableIns.reload({data: locDetlData});
+ layer.close(locDetlLayerIdx);
+}
\ No newline at end of file
--
Gitblit v1.9.1