From 825a29aee7814efdb1146d9fe82a79e4d83dafd3 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 25 八月 2025 14:23:01 +0800
Subject: [PATCH] #
---
src/main/webapp/static/js/order/out.js | 465 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 362 insertions(+), 103 deletions(-)
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index d669ee7..8214bf4 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -4,7 +4,7 @@
base: baseUrl + "/static/layui/lay/modules/"
}).extend({
notice: 'notice/notice',
-}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect'], function(){
+}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge', 'tableX'], function(){
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
@@ -15,23 +15,26 @@
var notice = layui.notice;
var treeTable = layui.treeTable;
var xmSelect = layui.xmSelect;
+ var tableMerge = layui.tableMerge;
+ var tableX = layui.tableX;
insTb2 = table.render({
elem: '#orderDetlTable',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/orderDetl/list/auth',
+ url: baseUrl+'/orderDetl/pakout/list/auth',
page: true,
limit: 15,
limits: [15, 30, 50, 100, 200, 500],
toolbar: '#orderDetToolbar',
height: 'full-120',
+ where: {order_id: 9999999999},
cols: [[
{type: 'checkbox'}
,{type: 'numbers', title: '#'}
,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160}
,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
- ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
+ ,{field: 'batch', align: 'center',title: '搴忓垪鐮�'}
,{field: 'specs', align: 'center',title: '瑙勬牸'}
// ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
// ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}
@@ -76,6 +79,7 @@
limit();
}
});
+
/* 琛ㄦ牸2鎼滅储 */
form.on('submit(sensorTbSearch)', function (data) {
insTb2.reload({where: data.field, page: {curr: 1}});
@@ -84,6 +88,7 @@
/* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
table.on('toolbar(orderDetlTable)', function (obj) {
+
var checkStatus = table.checkStatus(obj.config.id).data;
if (obj.event === 'pakoutPreview') { // 娣诲姞
if (checkStatus.length === 0) {
@@ -108,69 +113,195 @@
/* 琛ㄦ牸2宸ュ叿鏉$偣鍑讳簨浠� */
table.on('tool(orderDetlTable)', function (obj) {
+ console.log(obj);
var data = obj.data;
switch (obj.event) {
// 鍑哄簱
case 'pakoutPreview':
- pakoutPreview([data.id])
- break;
- // 缂栬緫
- case 'edit':
- showEditModel(data);
+ pakoutPreviewCustomQuantity([data.id])
break;
}
});
- function pakoutPreview(ids) {
- var loadIndex = layer.load(2);
+ function pakoutPreviewCustomQuantity(ids){
+ // 寮规鍐呭
+ var content = `
+ <form class="layui-form" id="billForm" style="padding: 20px;">
+ <div class="layui-form-item" style="margin-bottom: 20px;">
+ <label class="layui-form-label" style="width: 80px; font-size: 14px;">鏁伴噺锛�</label>
+ <div class="layui-input-block" style="margin-left: 110px;">
+ <input class="layui-input" type="number" id="amount" placeholder="璇疯緭鍏ュ嚭搴撴暟閲�">
+ </div>
+ </div>
+ <div class="layui-form-item" style="text-align: right;">
+ <button type="button" class="layui-btn" id="saveBtn" style="display: inline-block; padding: 0px 20px; font-size: 16px; background-color: #5FB878; border-color: #5FB878; text-align: center;">淇濆瓨</button>
+ </div>
+ </form>
+ `;
+
+ // 寮规
+ layer.open({
+ type: 1, // 浣跨敤 HTML 鍐呭
+ title: '杈撳叆鍑哄簱鏁伴噺',
+ content: content,
+ area: ['400px', '200px'], // 寮规澶у皬
+ shadeClose: true, // 鐐瑰嚮閬僵鍏抽棴
+ offset: '100px',
+ success: function (layero, index) {
+ form.render();
+ // 鐐瑰嚮淇濆瓨鎸夐挳浜嬩欢
+ $('#saveBtn').on('click', function () {
+ var amount = $('#amount').val();
+ console.log(amount)
+ pakoutPreview2(ids,amount);
+
+
+ });
+ }
+ });
+ }
+
+ function pakoutPreview(ids,amount) {
+ let loadIndex = layer.load(2);
$.ajax({
- url: baseUrl + "/out/pakout/preview/auth",
+ url: baseUrl + "/out/pakout/preview/auth/sxk",
headers: {'token': localStorage.getItem('token')},
contentType: 'application/json;charset=UTF-8',
data: JSON.stringify(ids),
method: 'POST',
success: function (res) {
layer.close(loadIndex);
+ var tableCache;
if (res.code === 200){
layer.open({
type: 1
,title: false
,closeBtn: false
- ,offset: '100px'
- ,area: '1000px'
+ ,offset: '50px'
+ ,area: ['1200px', '700px']
,shade: 0.5
- ,shadeClose: true
- ,btn: ['绔嬪嵆鐢熸垚', '绋嶅悗澶勭悊']
+ ,shadeClose: false
+ ,btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊']
,btnAlign: 'c'
,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
- ,content: $('#pakoutPreviewBox')
+ ,content: $('#pakoutPreviewBox').html()
,success: function(layero, index){
- console.log(res.data)
- table.render({
+ stoPreTabIdx = table.render({
elem: '#stoPreTab',
data: res.data,
+ height: 520,
page: false,
+ limit: Number.MAX_VALUE,
cellMinWidth: 100,
- height: 432,
cols: [[
+ // {type: 'checkbox', merge: ['orderNo']},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
{field: 'title', title: '鍟嗗搧', merge: true, align: 'center'},
- {field: 'anfme', title: '鎬绘暟閲�', merge: ['title'], align: 'center', style: 'font-weight: bold', width: 90},
- {field: 'type', title: '浠撳簱', merge: true, align: 'center', templet: '#typeTpl', width: 90},
- {field: 'locNo', title: '璐т綅', align: 'center'},
- {field: 'prior$', title: '鎺ㄨ崘璐т綅', align: 'center', width: 100},
- {field: 'reduce', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
- // {field: 'remQty', title: '浣欓噺', align: 'center', width: 80},
- {field: 'total', title: '鎬婚噺', align: 'center', width: 90},
+ {field: 'batch', title: '鎵规', align: 'center'},
+ {field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: false}
+ ,{field: 'temp2', align: 'center',title: '瀹㈡埛鍚嶇О', hide: false}
+ ,{field: 'temp1', align: 'center',title: '鏉ユ簮鍗曞彿', hide: false},
+ {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
+ {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
+ {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
+ {type: 'checkbox'},
]],
- done: function () {
- $('.layui-table-body.layui-table-main').css("overflow", "auto")
+ done: function (res) {
+ tableMerge.render(this);
+ $('.layui-table-body.layui-table-main').css("overflow", "auto");
+ tableCache = tableData = table.cache.stoPreTab;
}
});
+ // 淇敼鍑哄簱绔�
+ form.on('select(tbBasicTbStaNos)', function (obj) {
+ let index = obj.othis.parents('tr').attr("data-index");
+ let data = tableCache[index];
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].locNo === data.locNo) {
+ tableCache[i]['staNo'] = Number(obj.elem.value);
+ }
+ }
+ obj.othis.children().find("input").css("color", "blue");
+ return false;
+ });
+ // 鎵归噺淇敼鍑哄簱绔�
+ form.on('submit(batchModifySta)', function () {
+ let stoPreTabData = layui.table.checkStatus('stoPreTab').data;
+ if (stoPreTabData.length < 1) {
+ layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
+ return false;
+ }
+ modifySta(stoPreTabData);
+ });
+ // 鎵归噺淇敼鍑哄簱绔� - 绔欑偣閫夋嫨
+ function modifySta(stoPreTabData) {
+ // 鍑哄簱绔欏彇浜ら泦
+ let staBatchSelectVal = [];
+ for(let i = 0; i<stoPreTabData.length; i++) {
+ let staNos = stoPreTabData[i].staNos;
+ if (staNos !== null) {
+ if (staBatchSelectVal.length === 0) {
+ staBatchSelectVal = staNos;
+ } else {
+ staBatchSelectVal = staBatchSelectVal.filter(val =>
+ {
+ return new Set(staNos).has(val)
+ }
+ )
+ }
+ }
+ }
+ if (staBatchSelectVal.length === 0) {
+ layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
+ return;
+ }
+ admin.open({
+ type: 1,
+ area: '300px',
+ offset: 'auto',
+ title: '璇烽�夋嫨绔欑偣',
+ content: $('#staBatchSelectDialog').html(),
+ success: function (layero, ddIndex) {
+ // 娓叉煋涓嬫媺妗�
+ let template = Handlebars.compile($('#batchStaSelectTpl').html());
+ $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+ // 纭
+ form.on('submit(staBatchSelectConfirm)', function (obj) {
+ let loadIdx = layer.load(2);
+ let batchSta = Number(obj.field.batchSta);
+ let arr = [];
+ for (let j = 0; j<stoPreTabData.length; j++) {
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].orderNo === stoPreTabData[j].orderNo
+ && tableCache[i].matnr === stoPreTabData[j].matnr
+ && tableCache[i].locNo === stoPreTabData[j].locNo) {
+ tableCache[i]['staNo'] = batchSta;
+ arr.push(i);
+ }
+ }
+ }
+ stoPreTabIdx.reload({data: tableCache});
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
+ });
+ layui.form.render('select');
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
+ });
+ layer.close(loadIdx); layer.close(ddIndex);
+ return false;
+ });
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ },
+ })
+ }
}
,yes: function(index, layero){
- //鎸夐挳銆愰┈涓婃嫞璐с�戠殑鍥炶皟
- stockOut(data.orderNo);
+ //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
+ pakout(tableCache, index);
}
,btn2: function(index, layero){
//鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
@@ -187,84 +318,188 @@
})
}
-
- /* 鏄剧ず琛ㄥ崟寮圭獥 */
- function showEditModel(mData) {
- admin.open({
- type: 1,
- area: '900px',
- title: (mData ? '淇敼' : '娣诲姞') + '璁惧',
- content: $('#editDialog').html(),
- success: function (layero, dIndex) {
- // 鍥炴樉琛ㄥ崟鏁版嵁
- form.val('detail', mData);
- // 鍦板浘瀹氫綅鍥炴樉
- if (mData) {
- setTimeout(function () {
- $("#mapIframe")[0].contentWindow.position(mData.lon, mData.lat);
- }, 500)
- }
- // 琛ㄥ崟鎻愪氦浜嬩欢
- form.on('submit(editSubmit)', function (data) {
- data.field.sensorModel = insXmSel.getValue('valueStr');
- if (isEmpty(data.field.hostId)) {
- layer.msg('璇烽�夋嫨鎵�灞為」鐩�', {icon: 2});
- return false;
- }
- data.field.lon = $("#mapIframe").contents().find("#lon").val();
- data.field.lat = $("#mapIframe").contents().find("#lat").val();
- data.field.city = $("#mapIframe").contents().find("#city").val();
- if (isEmpty(data.field.lon) || isEmpty(data.field.lat)) {
- layer.msg('璁惧涓嶅湪瀹氫綅', {icon: 2});
- return false;
- }
- var loadIndex = layer.load(2);
- $.ajax({
- url: baseUrl+"/sensor/"+(mData?'update':'add')+"/auth?sensorType="+sensorType,
- headers: {'token': localStorage.getItem('token')},
- data: data.field,
- method: 'POST',
- success: function (res) {
- layer.close(loadIndex);
- if (res.code === 200){
- layer.close(dIndex);
- layer.msg(res.msg, {icon: 1});
- $(".layui-laypage-btn")[0].click();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
- layer.msg(res.msg, {icon: 2});
+ function pakoutPreview2(ids,amount) {
+ let loadIndex = layer.load(2);
+ var json = {}
+ json.ids = ids
+ json.amount = amount
+ $.ajax({
+ url: baseUrl + "/out/pakout/previewCustomQuantity/auth/sxk",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(json),
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ var tableCache;
+ if (res.code === 200){
+ layer.open({
+ type: 1
+ ,title: false
+ ,closeBtn: false
+ ,offset: '50px'
+ ,area: ['1200px', '700px']
+ ,shade: 0.5
+ ,shadeClose: false
+ ,btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊']
+ ,btnAlign: 'c'
+ ,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
+ ,content: $('#pakoutPreviewBox').html()
+ ,success: function(layero, index){
+ stoPreTabIdx = table.render({
+ elem: '#stoPreTab',
+ data: res.data,
+ height: 520,
+ page: false,
+ limit: Number.MAX_VALUE,
+ cellMinWidth: 100,
+ cols: [[
+ // {type: 'checkbox', merge: ['orderNo']},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
+ {field: 'batch', title: '搴忓垪鐮�', align: 'center'},
+ {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
+ {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
+ {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
+ {type: 'checkbox', merge: ['locNo']},
+ ]],
+ done: function (res) {
+ tableMerge.render(this);
+ $('.layui-table-body.layui-table-main').css("overflow", "auto");
+ tableCache = tableData = table.cache.stoPreTab;
+ }
+ });
+ // 淇敼鍑哄簱绔�
+ form.on('select(tbBasicTbStaNos)', function (obj) {
+ let index = obj.othis.parents('tr').attr("data-index");
+ let data = tableCache[index];
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].locNo === data.locNo) {
+ tableCache[i]['staNo'] = Number(obj.elem.value);
+ }
+ }
+ obj.othis.children().find("input").css("color", "blue");
+ return false;
+ });
+ // 鎵归噺淇敼鍑哄簱绔�
+ form.on('submit(batchModifySta)', function () {
+ let stoPreTabData = layui.table.checkStatus('stoPreTab').data;
+ if (stoPreTabData.length < 1) {
+ layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
+ return false;
+ }
+ modifySta(stoPreTabData);
+ });
+ // 鎵归噺淇敼鍑哄簱绔� - 绔欑偣閫夋嫨
+ function modifySta(stoPreTabData) {
+ // 鍑哄簱绔欏彇浜ら泦
+ let staBatchSelectVal = [];
+ for(let i = 0; i<stoPreTabData.length; i++) {
+ let staNos = stoPreTabData[i].staNos;
+ if (staNos !== null) {
+ if (staBatchSelectVal.length === 0) {
+ staBatchSelectVal = staNos;
+ } else {
+ staBatchSelectVal = staBatchSelectVal.filter(val =>
+ {
+ return new Set(staNos).has(val)
+ }
+ )
+ }
+ }
+ }
+ if (staBatchSelectVal.length === 0) {
+ layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
+ return;
+ }
+ admin.open({
+ type: 1,
+ area: '300px',
+ offset: 'auto',
+ title: '璇烽�夋嫨绔欑偣',
+ content: $('#staBatchSelectDialog').html(),
+ success: function (layero, ddIndex) {
+ // 娓叉煋涓嬫媺妗�
+ let template = Handlebars.compile($('#batchStaSelectTpl').html());
+ $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+ // 纭
+ form.on('submit(staBatchSelectConfirm)', function (obj) {
+ let loadIdx = layer.load(2);
+ let batchSta = Number(obj.field.batchSta);
+ let arr = [];
+ for (let j = 0; j<stoPreTabData.length; j++) {
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].orderNo === stoPreTabData[j].orderNo
+ && tableCache[i].matnr === stoPreTabData[j].matnr
+ && tableCache[i].locNo === stoPreTabData[j].locNo) {
+ tableCache[i]['staNo'] = batchSta;
+ arr.push(i);
+ }
+ }
+ }
+ stoPreTabIdx.reload({data: tableCache});
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
+ });
+ layui.form.render('select');
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
+ });
+ layer.close(loadIdx); layer.close(ddIndex);
+ return false;
+ });
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ },
+ })
}
+
}
- })
- return false;
- });
- // 娓叉煋涓嬫媺鏍�
- var insXmSel = xmSelect.render({
- el: '#modelSel',
- height: '250px',
- data: modelTb.options.data,
- initValue: mData&&mData.sensorModel ? [mData.sensorModel] : [],
- model: {label: {type: 'text'}},
- prop: {
- name: 'name',
- value: 'id'
- },
- radio: true,
- clickClose: true,
- tree: {
- show: true,
- indent: 15,
- strict: false,
- expandedKeys: true
- }
- });
- // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
- $(layero).children('.layui-layer-content').css('overflow', 'visible');
- layui.form.render('select');
+ ,yes: function(index, layero){
+ //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
+ pakout(tableCache, index);
+ }
+ ,btn2: function(index, layero){
+ //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
+ layer.close(index)
+ //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
+ }
+ });
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+
+ function pakout(tableCache, layerIndex) {
+ // let loadIndex = layer.load(2);
+ notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
+ $.ajax({
+ url: baseUrl + "/out/pakout/auth/sxk",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(tableCache),
+ method: 'POST',
+ success: function (res) {
+ notice.destroy();
+ if (res.code === 200) {
+ layer.close(layerIndex);
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
}
});
}
+
/* 鍒犻櫎璁㈠崟 */
@@ -306,6 +541,8 @@
})
})
+ window.pakoutPreview = pakoutPreview;
+
});
function tableReload(child) {
@@ -321,3 +558,25 @@
});
}
+/**
+ * 涓�閿嚭搴�
+ */
+function autoOut(orderId) {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ $.ajax({
+ url: baseUrl + "/out/pakout/orderDetlIds/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: { orderId : orderId },
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ pakoutPreview(res.data);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+}
--
Gitblit v1.9.1