From 39ddd87db8c3dc398557120b096b350b7d32efe4 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 21 十一月 2025 16:34:12 +0800
Subject: [PATCH] 1.自动勾选
---
src/main/webapp/views/order/outLocDetlQuery.html | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/src/main/webapp/views/order/outLocDetlQuery.html b/src/main/webapp/views/order/outLocDetlQuery.html
index e41fba1..75bbbfc 100644
--- a/src/main/webapp/views/order/outLocDetlQuery.html
+++ b/src/main/webapp/views/order/outLocDetlQuery.html
@@ -75,6 +75,11 @@
.over-limit #selectedTotal {
color: #FF5722 !important; /* 绾㈣壊璀﹀憡 */
}
+
+ /* 璁㈠崟瀹屾垚鐘舵�� */
+ .order-completed {
+ background: #5FB878 !important;
+ }
</style>
</head>
<body>
@@ -149,6 +154,7 @@
<script type="text/html" id="toolbar">
<div class="layui-btn-container">
+ <button class="layui-btn" id="btn-auto-select" lay-event="autoSelect">鑷姩鍕鹃��</button>
<button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button>
</div>
</script>
@@ -196,6 +202,7 @@
<script>
var conditionXmSelect;
+ var
function getCol() {
var cols = [
{type: 'checkbox'}
@@ -335,6 +342,10 @@
var checkStatus = table.checkStatus(obj.config.id);
var data = checkStatus.data;
switch (obj.event) {
+ case 'autoSelect':
+ // 鑷姩鍕鹃�夊姛鑳�
+ autoSelectItems();
+ break;
case 'confirm':
if (data.length === 0) {
layer.msg("璇烽�夋嫨鏁版嵁");
@@ -356,6 +367,88 @@
}
});
+ // 鑷姩鍕鹃�夊嚱鏁� - 淇鐗堟湰锛氬嬀閫夊簱瀛樻槑缁嗭紝鏁伴噺绱姞涓嶈秴杩囪鍗曟暟閲�
+ function autoSelectItems() {
+ // 鑾峰彇褰撳墠椤垫墍鏈夋暟鎹�
+ var allData = table.cache.stockOut;
+ if (!allData || allData.length === 0) {
+ layer.msg("娌℃湁鍙嬀閫夌殑鏁版嵁", {icon: 2});
+ return;
+ }
+
+ // 濡傛灉璁㈠崟鏁伴噺涓�0锛屼笉闇�瑕佸嬀閫�
+ if (orderTotal <= 0) {
+ layer.msg("璁㈠崟鏁伴噺涓�0锛屾棤闇�鍕鹃��", {icon: 2});
+ return;
+ }
+
+ // 鍏堝彇娑堟墍鏈夊凡閫変腑鐨勯」
+ for (var i = 0; i < allData.length; i++) {
+ allData[i].LAY_CHECKED = false;
+ }
+
+ // 閲嶇疆閫変腑鏁伴噺
+ selectedTotal = 0;
+
+ // 鎸夐『搴忓嬀閫夊簱瀛樻槑缁嗭紝鐩村埌绱鏁伴噺杈惧埌璁㈠崟鏁伴噺
+ var remaining = orderTotal;
+ var selectedCount = 0;
+
+ for (var i = 0; i < allData.length; i++) {
+ var itemQuantity = parseFloat(allData[i].anfme || 0);
+
+ // 璺宠繃鏁伴噺涓�0鎴栨棤鏁堢殑椤�
+ if (itemQuantity <= 0) continue;
+
+ // 濡傛灉鍓╀綑闇�姹備负0锛屽仠姝㈠嬀閫�
+ if (remaining <= 0) break;
+
+ // 鍕鹃�夎椤�
+ allData[i].LAY_CHECKED = true;
+ selectedTotal += itemQuantity;
+ selectedCount++;
+
+ // 鏇存柊鍓╀綑闇�姹�
+ remaining = orderTotal - selectedTotal;
+
+ // 濡傛灉鍕鹃�夊悗瓒呰繃璁㈠崟鏁伴噺锛岀粰鍑烘彁绀哄苟鍋滄鍕鹃��
+ if (selectedTotal > orderTotal) {
+ layer.msg('璀﹀憡锛氳嚜鍔ㄥ嬀閫夊悗鏁伴噺瓒呰繃璁㈠崟鏁伴噺锛屽凡鍋滄鍕鹃��', {icon: 2, time: 3000});
+ break;
+ }
+ }
+
+ // 鏇存柊琛ㄦ牸鏄剧ず - 鍙皟鐢ㄤ竴娆�
+ table.reload('stockOut', {
+ data: allData,
+ done: function() {
+ // 鍦ㄨ〃鏍奸噸杞藉畬鎴愬悗锛屾墜鍔ㄦ洿鏂板閫夋鐨凞OM鐘舵��
+ setTimeout(function() {
+ for (var i = 0; i < allData.length; i++) {
+ if (allData[i].LAY_CHECKED) {
+ var trElem = $('tr[data-index="' + i + '"]');
+ if (trElem.length > 0) {
+ // 鎿嶄綔澶嶉�夋
+ trElem.find('input[type="checkbox"]').prop('checked', true);
+ trElem.find('.layui-form-checkbox').addClass('layui-form-checked');
+ }
+ }
+ }
+ // 閲嶆柊娓叉煋琛ㄥ崟
+ form.render('checkbox');
+
+ // 鏇存柊鏄剧ず
+ updateSelectedTotal();
+
+ if (selectedCount > 0) {
+ layer.msg('宸茶嚜鍔ㄥ嬀閫� ' + selectedCount + ' 涓簱瀛樻槑缁嗭紝鏁伴噺: ' + selectedTotal, {icon: 1, time: 2000});
+ } else {
+ layer.msg('娌℃湁鍙嬀閫夌殑搴撳瓨鏄庣粏', {icon: 2});
+ }
+ }, 100);
+ }
+ });
+ }
conditionXmSelect = xmSelect.render({
el: '#condition',
style: {
--
Gitblit v1.9.1