From 8b5b019716e49f54fcc016814a3c432a4a32db75 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 22 十二月 2023 15:42:17 +0800
Subject: [PATCH] 合并订单
---
src/main/webapp/static/js/order/order.js | 354 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 258 insertions(+), 96 deletions(-)
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 0c59c77..b3f59d9 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -1,3 +1,5 @@
+var insTbCount = 0;
+var printMatCodeNos = [];
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
@@ -10,6 +12,27 @@
var xmSelect = layui.xmSelect;
var layDate = layui.laydate;
+ // 娓叉煋鎼滅储妯℃澘
+ $.ajax({
+ url: baseUrl+"/docType/list/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ limit: 9999
+ },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ let template = Handlebars.compile($('#docTypeTpl').html());
+ $('#docType-query').html(template(res.data));
+ layui.form.render('select');
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+
// 娓叉煋琛ㄦ牸
var insTb = table.render({
elem: '#order',
@@ -19,13 +42,14 @@
cellMinWidth: 100,
cols: [[
{type: 'numbers'},
- {field: 'orderNo', title: '鍗曟嵁缂栧彿', sort: true},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿'},
{field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160},
{align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
{field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
{field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160},
{field: 'memo', align: 'center',title: '澶囨敞', hide: true},
- {align: 'center', title: '鎿嶄綔', toolbar: '#operate', minWidth: 130, width: 130}
+ {field: 'createBy$', align: 'center', title: '鎿嶄綔鍛�', minWidth: 160, width: 160},
+ {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 260}
]],
request: {
pageName: 'curr',
@@ -43,9 +67,11 @@
statusCode: 200
},
done: function (res, curr, count) {
+ limit();
if (res.code === 403) {
top.location.href = baseUrl+"/";
}
+ insTbCount = count;
}
});
@@ -58,15 +84,86 @@
$("#orderAddBtn").click(function () {
showEditModel();
});
+ function btnPrint(id, orderNo, number) {
+ printMatCodeNos.push(orderNo)
+ var templateNo = 3;
+ $.ajax({
+ url: baseUrl+"/order/print/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {param: printMatCodeNos},
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ layer.closeAll();
+ console.log(res);
+ for (let i=0;i<res.data.length;i++){
+ var templateDom = $("#templatePreview"+templateNo);
+ var className = templateDom.attr("class");
+ if (className === 'template-barcode') {
+ res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1¶m="+res.data[i].orderNo+
+ ";"+res.data[i].matnr+";"+res.data[i].batch;
+ } else {
+ res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+res.data[i].orderNo+
+ ";"+res.data[i].matnr+";"+res.data[i].batch;
+ }
+ }
+ var tpl = templateDom.html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ var box = $("#box");
+ box.html(html);box.show();
+ box.print({mediaPrint:true});
+ box.hide();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ }
+ function addPakOut(expTpe) {
+ $.ajax({
+ url: baseUrl+"/pakout/add/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ docType: Number(20),
+ orderNo: expTpe,
+ }),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ layer.msg("鐢熸垚鎷h揣鍗曪細ok");
+ } else if (res.code === 403){
+ layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細403");
+ }else {
+ layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細鏈煡寮傚父");
+ }
+
+ }
+ })
+ }
+
// 宸ュ叿鏉$偣鍑讳簨浠�
table.on('tool(order)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
+
+
+
if (layEvent === 'edit') {
showEditModel(data);
} else if (layEvent === 'del') {
- doDel(data.billNo);
+ doDel(data.id);
+ }else if (layEvent === 'btnPrint') {
+ btnPrint(data.id, data.orderNo, 4);
+ } else if (layEvent === 'complete') {
+ doModify(data.id, data.orderNo, 4);
+ }else if (layEvent === 'manPrint') {
+ addPakOut(data.orderNo);
} else if (layEvent === 'look') {
var $a = $(obj.tr).find('a[lay-event="look"]');
var offset = $a.offset();
@@ -75,7 +172,7 @@
layer.open({
type: 1,
title: false,
- area: '700px',
+ area: '820px',
offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
shade: .01,
shadeClose: true,
@@ -93,11 +190,14 @@
cellMinWidth: 100,
cols: [[
{type: 'numbers'},
- {field: 'matnr', title: '鍟嗗搧缂栫爜'},
+ {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
{field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
+
{field: 'batch', title: '鎵瑰彿'},
{field: 'anfme', title: '鏁伴噺'},
- {field: 'unit', title: '鍗曚綅'},
+ {field: 'workQty', title: '浣滀笟鏁伴噺'},
+ {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
+ // {field: 'unit', title: '鍗曚綅'},
// {
// field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
// return util.toDateString(d.createTime);
@@ -105,7 +205,7 @@
// },
// {field: 'inQty', title: '宸插叆搴撻噺'},
// {field: 'color', title: '棰滆壊'},
- {field: 'specs', title: '瑙勬牸'}
+ // {field: 'specs', title: '瑙勬牸'},
]],
request: {
pageName: 'curr',
@@ -130,12 +230,13 @@
}
});
}
+ else if (layEvent === 'printExcel'){
+ printExcel(data);
+ }
});
// 鏄剧ず琛ㄥ崟寮圭獥
function showEditModel(expTpe) {
- var mlist=null
- var inQtys=[]
admin.open({
type: 1,
title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁',
@@ -144,7 +245,6 @@
success: function (layero, dIndex) {
$(layero).children('.layui-layer-content').css('overflow', 'visible');
var isExpAdd = !expTpe;
- console.log(expTpe)
// 鍥炴樉鏁版嵁
form.val('editForm', expTpe);
if (expTpe) {
@@ -157,47 +257,40 @@
layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
return false;
}
- let param = [];
let nList = admin.util.deepClone(xxDataList);
+ console.log(nList);
for (let xi = 0; xi < nList.length; xi++) {
- if (nList[xi].inQty > 0 && inQtys[xi] !== nList[xi].qty) {
- layer.msg("宸插叆搴撴棤娉曚慨鏀�", {icon: 2})
+ if (nList[xi].anfme <= 0){
+ layer.msg('鏄庣粏鏁伴噺涓嶅悎娉�', {icon: 2});
return false;
- } else if (nList[xi].qty > 0) {
- param.push({
- billNo: data.field.billNo,
- billType: data.field.billType,
- matNo: nList[xi].matNo,
- matName: nList[xi].matName,
- color: nList[xi].color,
- size: nList[xi].size,
- specs: nList[xi].specs,
- memo: nList[xi].memo,
- unit: nList[xi].unit,
- qty: nList[xi].qty,
- inQty: nList[xi].inQty,
- })
- }else if (nList[xi].anfme === 0){
- layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
+ }
+ if (nList[xi].batch == null || nList[xi].batch == ""){
+ layer.msg('鎵规涓嶅悎娉�', {icon: 2});
+ return false;
+ }
+ if (nList[xi].anfme < nList[xi].workQty){
+ layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2});
return false;
}
}
- if (param.length === 0) {
- layer.msg('鍗曟嵁鏄庣粏鏁伴噺涓嶅悎娉�', {icon: 2});
- return false;
- }
+
layer.load(2);
$.ajax({
- url: baseUrl+"/waitMatin/" + (isExpAdd?"add":"modify") + "/auth",
+ url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth",
headers: {'token': localStorage.getItem('token')},
- data: JSON.stringify(param),
+ data: JSON.stringify({
+ orderId: Number(data.field.id),
+ docType: Number(data.field.docType),
+ orderNo: data.field.orderNo,
+ orderDetlList: nList
+ }),
contentType:'application/json;charset=UTF-8',
method: 'POST',
success: function (res) {
layer.closeAll('loading');
if (res.code === 200){
layer.close(dIndex);
- insTb.reload({page: {curr: 1}});
+ $(".layui-laypage-btn")[0].click();
layer.msg(res.msg, {icon: 1});
} else if (res.code === 403){
top.location.href = baseUrl+"/";
@@ -221,24 +314,43 @@
{type: 'numbers', title: '#'},
{field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
{field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
- {field: 'batch', title: '鎵瑰彿'},
{field: 'specs', title: '瑙勬牸'},
+ {field: 'batch', title: '鎵规', edit: true},
{field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
- // {field: 'inQty', title: '宸插叆搴撻噺', minWidth: 100, width: 100},
- {field: 'unit', title: '鍗曚綅', width: 80},
+
+ // {field: 'payment', title: '璐х墿鐘舵��',align: 'center', templet: '#payment'},
+ {field: 'qty', title: '浣滀笟鏁伴噺', minWidth: 100, width: 100},
+ // {field: 'unit', title: '鍗曚綅', width: 80},
{field: 'memo', title: '澶囨敞' , edit: true},
{align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
]],
- done: function (res) {
- mlist= res.data
- for (let i = 0; i < mlist.length; i++) {
- var waitIn=mlist[i]
- inQtys.push(waitIn.qty)
- }
+ done: function (res, curr, count) {
$(layero).find('.layui-table-view').css('margin', '0');
+ var options = this;
+
+ // 鑾峰彇褰撳墠琛屾暟鎹�
+ table.getRowData = function(elem){
+ var index = $(elem).closest('tr').data('index');
+ return table.cache[options.id][index] || {};
+ };
+
+ $('.select-primary').on('change', function(){
+ var value = this.value; // 鑾峰彇閫変腑椤� value
+ var data = table.getRowData(this);
+ console.log(value);
+ xxDataList.forEach(res => {
+ if (data.id === res.id){
+ console.log(res)
+ res.payment = value;
+ }
+ })
+
+
+ });
},
size: ''
};
+
if (!isExpAdd) {
$.ajax({
url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id,
@@ -265,6 +377,10 @@
if (layEvent === 'edit') {
showEditModel2(data);
} else if (layEvent === 'del') {
+ if(data.workQty > 0){
+ layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", {icon: 2});
+ return;
+ }
layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
shade: .1,
skin: 'layui-layer-admin'
@@ -282,35 +398,32 @@
});
// 鏄庣粏鏁版嵁淇敼
table.on('edit(formSSXMTable)', function (obj) {
- if (obj.field === 'memo'){
- for (let i=0;i<xxDataList.length;i++) {
- if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) {
- xxDataList[i]["memo"] = obj.value;
- break;
- }
- }
- } else if (obj.field==='anfme'){
+ let index = obj.tr.attr("data-index");
+ let data = xxDataList[index];
+ if (obj.field === 'anfme'){
let vle = Number(obj.value);
if (isNaN(vle)) {
layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
return false;
} else {
- if (vle > 0) {
- for (let i=0;i<xxDataList.length;i++) {
- if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) {
- xxDataList[i]["anfme"] = vle;
- break;
- }
- }
- } else {
+ if (vle <= 0) {
layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+ // data[obj.field] = 0;
+ // insTbSSXM.reload({data: xxDataList});
+ return false;
+ }
+ if(obj.value < data.qty){
+ layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
+ // data[obj.field] = 0;
+ // insTbSSXM.reload({data: xxDataList});
return false;
}
}
}
- insTbSSXM.reload({data: xxDataList});
+ data[obj.field] = obj.value;
+ insTbSSXM.reloadData({data: xxDataList,scrollPos: true});
});
- //
+
$('#matAddBtnComment').click(function () {
showEditModel2();
});
@@ -320,41 +433,34 @@
admin.open({
type: 1,
offset: '150px',
- area: '480px',
+ area: '680px',
title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
content: $('#matEditDialog').html(),
success: function (layero, dIndex) {
- $(layero).children('.layui-layer-content').css('overflow', 'visible');
// 鍥炴樉鏁版嵁
form.val('matEditForm', exp);
// 琛ㄥ崟鎻愪氦浜嬩欢
form.on('submit(matEditSubmit)', function (data) {
- var existMats = [];
- xxDataList.forEach(function(elem) {
- existMats.push(elem.matNo);
- });
- var selectList = matXmSelect.getValue();
- for (var i = 0; i<selectList.length; i++) {
- var item = selectList[i];
- if (existMats.indexOf(item.value) === -1) {
- // 鏌ヨ鐗╂枡璇︽儏
- $.ajax({
- url: baseUrl+"/matCode/covert/"+item.value+"/auth",
- headers: {'token': localStorage.getItem('token')},
- method: 'GET',
- async: false,
- success: function (res) {
- if (res.code === 200){
- xxDataList.push(res.data);
- insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
- layer.msg(res.msg, {icon: 2})
- }
+ let selectList = matXmSelect.getValue();
+ for (let i = 0; i<selectList.length; i++) {
+ let item = selectList[i];
+ // 鏌ヨ鐗╂枡璇︽儏
+ $.ajax({
+ url: baseUrl+"/mat/covert/"+item.value+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'GET',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ xxDataList.push(res.data);
+ insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2})
}
- })
- }
+ }
+ })
}
layer.close(dIndex);
return false;
@@ -397,29 +503,73 @@
}
});
+
+
}
+
+
// 鍒犻櫎鍗曟嵁
- function doDel(billNo) {
+ function doDel(orderId) {
layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
shade: .1,
skin: 'layui-layer-admin'
}, function (i) {
layer.close(i);
layer.load(2);
-
$.ajax({
- url: baseUrl+"/waitMatin/delete/auth",
+ url: baseUrl+"/order/delete/auth",
headers: {'token': localStorage.getItem('token')},
data: {
- billNo: billNo
+ orderId: orderId
},
- // contentType:'application/json;charset=UTF-8',
method: 'POST',
success: function (res) {
layer.closeAll('loading');
if (res.code === 200){
- insTb.reload({page: {curr: 1}});
+ if (insTbCount === 0) {
+ insTb.reload({page: {curr: 1}});
+ } else {
+ $(".layui-laypage-btn")[0].click();
+ }
+ layer.msg(res.msg, {icon: 1});
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+ // 淇敼璁㈠崟鐘舵��
+ function doModify(orderId, orderNo, settle) {
+ layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', {
+ shade: .1,
+ skin: 'layui-layer-admin'
+ }, function (i) {
+ layer.close(i);
+ layer.load(2);
+ console.log(orderId);
+ console.log(settle);
+ $.ajax({
+ url: baseUrl+"/order/update/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ id: orderId,
+ orderNo: orderNo,
+ settle: settle
+ },
+ method: 'POST',
+ success: function (res) {
+ layer.closeAll('loading');
+ if (res.code === 200){
+ if (insTbCount === 0) {
+ insTb.reload({page: {curr: 1}});
+ } else {
+ $(".layui-laypage-btn")[0].click();
+ }
layer.msg(res.msg, {icon: 1});
} else if (res.code === 403){
top.location.href = baseUrl+"/";
@@ -436,4 +586,16 @@
,type: 'datetime'
,range: true
});
+
+ function printExcel(data){
+ layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ layer.closeAll();
+ layer.load(1, {shade: [0.1,'#fff']});
+ location.href = baseUrl+"/order/printExport/auth?orderNo="+data.orderNo;
+ layer.closeAll('loading');
+ });
+ }
+
+
+
});
--
Gitblit v1.9.1