From 88fc713144a877a4257b4173fbfadafd926c94de Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期五, 09 一月 2026 20:35:19 +0800
Subject: [PATCH] 出库再入库

---
 src/main/webapp/static/js/common.js |  272 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 180 insertions(+), 92 deletions(-)

diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 89d6f4a..7c7961f 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
-var baseUrl = "/lfdwms";
+var baseUrl = "/wms";
 
 // 璇︽儏绐楀彛-楂樺害
 var detailHeight = '80%';
@@ -6,7 +6,7 @@
 var detailWidth = '90%';
 
 // 闈炵┖鍒ゆ柇
-function isEmpty(obj){
+function isEmpty(obj) {
     return typeof obj == "undefined" || obj == null || obj === "";
 }
 
@@ -34,7 +34,7 @@
         if (p < 10) {
             p = "00" + p;
         }
-        if (p <  100) {
+        if (p < 100) {
             p = "0" + p;
         }
         return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s + "," + p;
@@ -54,7 +54,7 @@
 // 娓呯悊瀵硅薄null鍊�
 function reObject(data) {
     for (var obj in data) {
-        if (data[obj]===null){
+        if (data[obj] === null) {
             delete data[obj];
         }
     }
@@ -71,26 +71,26 @@
 }
 
 // 鏉冮檺
-function limit(child){
-    if (child == null){
+function limit(child) {
+    if (child == null) {
         child = false;
     }
-    var param = (child?parent.window:window).location.href.split("?")[1];
+    var param = (child ? parent.window : window).location.href.split("?")[1];
     if (null != param) {
         var resourceId = param.split("=")[1];
         $.ajax({
-            url: baseUrl+"/power/menu/"+resourceId+"/auth",
+            url: baseUrl + "/power/menu/" + resourceId + "/auth",
             headers: {'token': localStorage.getItem('token')},
             method: 'GET',
             async: false,
             success: function (res) {
-                if (res.code === 200){
-                    for(var i = 0, len = res.data.length; i < len; i++) {
-                        (child?parent:window).$('#'+res.data[i].code).css("display", "inline-block");
-                        (child?parent:window).$('.'+res.data[i].code).css("display", "inline-block");
+                if (res.code === 200) {
+                    for (var i = 0, len = res.data.length; i < len; i++) {
+                        (child ? parent : window).$('#' + res.data[i].code).css("display", "inline-block");
+                        (child ? parent : window).$('.' + res.data[i].code).css("display", "inline-block");
                     }
-                } else if (res.code === 403){
-                    top.location.href = baseUrl+"/";
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
                 } else {
                     layer.msg(res.msg)
                 }
@@ -103,7 +103,6 @@
 // http璇锋眰
 !function (n) {
     "use strict";
-
     var http = {
         toAjax: function (params) {
             $.ajax(params);
@@ -118,11 +117,11 @@
                 timeout: 10000,
                 cache: false,
                 success: function (res) {
-                    if (res.code === 200){
+                    if (res.code === 200) {
                         callback(res);
-                    } else if (res.code === 403){
-                        top.location.href = baseUrl+"/";
-                    }  else {
+                    } else if (res.code === 403) {
+                        top.location.href = baseUrl + "/";
+                    } else {
                         layer.msg(res.msg);
                     }
                 },
@@ -149,11 +148,11 @@
                 timeout: 10000,
                 cache: false,
                 success: function (res) {
-                    if (res.code === 200){
+                    if (res.code === 200) {
                         callback(res);
-                    } else if (res.code === 403){
-                        top.location.href = baseUrl+"/";
-                    }  else {
+                    } else if (res.code === 403) {
+                        top.location.href = baseUrl + "/";
+                    } else {
                         layer.msg(res.msg);
                     }
                 },
@@ -170,90 +169,179 @@
 
 /*************************************************************************************************************/
 /********************************************** 鐗╂枡涓氬姟鎶借薄 ***************************************************/
+
 /*************************************************************************************************************/
 
 function arrRemove(arr, key, val) {
-    for(var i=arr.length-1; i>=0; i--){
-        if(arr[i][key] === val){
-            arr.splice(i,1);
+    for (var i = arr.length - 1; i >= 0; i--) {
+        if (arr[i][key] === val) {
+            arr.splice(i, 1);
         }
     }
 }
 
 var matCols = [
-    {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿锛堝搧鍙凤級', width: 180}
+    {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿锛堝搧鍙凤級', width: 180}
     // {field: 'id', align: 'center',title: 'ID'}
     // ,{field: 'uuid', align: 'center',title: '缂栧彿'}
-    // ,{field: 'tagId$', align: 'center',title: '鎵�灞炲綊绫�'}
-    ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О锛堝搧鍚嶏級', width: 200}
-    // ,{field: 'name', align: 'center',title: '鍒悕'}
-    ,{field: 'specs', align: 'center',title: '瑙勬牸'}
-    ,{field: 'model', align: 'center',title: '浠g爜', hide: true}
-    ,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
-    ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
-    ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: false}
-    ,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
-    ,{field: 'sku', align: 'center',title: 'sku', hide: true}
-    ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true}
-    ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true}
-    ,{field: 'origin', align: 'center',title: '浜у湴', hide: true}
-    ,{field: 'manu', align: 'center',title: '鍘傚', hide: true}
-    ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true}
-    ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true}
-    ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true}
-    ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true}
-    ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true}
-    ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true}
-    ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true}
-    ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true}
-    ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true}
-    ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true}
-    ,{field: 'deadTime', align: 'center',title: '淇濊川鏈�', hide: true}
-    ,{field: 'deadWarn', align: 'center',title: '棰勮澶╂暟', hide: true}
-    ,{field: 'source$', align: 'center',title: '鍒惰喘', hide: true}
-    ,{field: 'check$', align: 'center',title: '瑕佹眰妫�楠�', hide: true}
-    ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�', hide: true}
+    , {field: 'maktx', align: 'center', title: '鍟嗗搧鍚嶇О锛堝搧鍚嶏級', width: 200}
+    , {field: 'specs', align: 'center', title: '瑙勬牸'}
+    , {
+        field: 'safeQty', align: 'center', title: '褰掗浂闃�鍊�', templet: function (d) {
+            var raw = d.safeQty;
+            if (raw === null || raw === undefined) return '';
+            if (typeof raw === 'string' && raw.trim() === '') return '';
+            var num = Number(raw);
+            if (!isFinite(num)) return '';
+            return num.toFixed(2);
+        }
+    }
+    , {field: 'model', align: 'center', title: '浠g爜', hide: true}
+    , {field: 'color', align: 'center', title: '棰滆壊', hide: true}
+    , {field: 'brand', align: 'center', title: '鍝佺墝', hide: true}
+    , {field: 'upQty', align: 'center', title: '缁勬墭涓婇檺', hide: true}
+    , {field: 'unit', align: 'center', title: '鍗曚綅', hide: false}
+    , {field: 'price', align: 'center', title: '鍗曚环', hide: true}
+    , {field: 'sku', align: 'center', title: 'sku', hide: true}
+    , {field: 'units', align: 'center', title: '鍗曚綅閲�', hide: true}
+    , {field: 'barcode', align: 'center', title: '鏉$爜', hide: true}
+    , {field: 'origin', align: 'center', title: '浜у湴', hide: true}
+    , {field: 'manu', align: 'center', title: '鍘傚', hide: true}
+    , {field: 'manuDate', align: 'center', title: '鐢熶骇鏃ユ湡', hide: true}
+    , {field: 'itemNum', align: 'center', title: '鍝侀」鏁�', hide: true}
+    , {field: 'weight', align: 'center', title: '鍗曠鍑�閲�', hide: true}
+    , {field: 'length', align: 'center', title: '鍗曠姣涢噸', hide: true}
+    , {
+        field: 'volume', align: 'center', title: 'kg/cm', templet: function (d) {
+            var raw = d.volume;
+            if (raw === null || raw === undefined) return '';
+            if (typeof raw === 'string' && raw.trim() === '') return '';
+            var num = Number(raw);
+            if (!isFinite(num)) return '';
+            return num.toFixed(2);
+        }
+    }
+    , {field: 'threeCode', align: 'center', title: '绠卞瓙灏哄', hide: true}
+    , {field: 'supp', align: 'center', title: '渚涘簲鍟�', hide: true}
+    , {field: 'suppCode', align: 'center', title: '渚涘簲鍟嗙紪鐮�', hide: true}
+    , {field: 'beBatch$', align: 'center', title: '鏄惁鎵规', hide: true}
+    , {field: 'deadTime', align: 'center', title: '淇濊川鏈�', hide: true}
+    , {field: 'deadWarn', align: 'center', title: '棰勮澶╂暟', hide: true}
+    , {field: 'source$', align: 'center', title: '鍒惰喘', hide: true}
+    , {field: 'check$', align: 'center', title: '瑕佹眰妫�楠�', hide: true}
+    , {field: 'danger$', align: 'center', title: '鍗遍櫓鍝�', hide: true}
     // ,{field: 'status$', align: 'center',title: '鐘舵��'}
     // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
     // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
-    ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true}
-    ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', hide: true}
-    ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
+    , {field: 'updateBy$', align: 'center', title: '淇敼浜哄憳', hide: true}
+    , {field: 'updateTime$', align: 'center', title: '淇敼鏃堕棿', hide: true}
+    , {field: 'memo', align: 'center', title: '澶囨敞', hide: true}
+]
+
+var cacheCols = [
+    {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿锛堝搧鍙凤級', sort: true}
+    , {field: 'maktx', align: 'center', title: '鍟嗗搧鍚嶇О锛堝搧鍚嶏級', sort: true}
+    , {field: 'anfme', align: 'center', title: '鏁伴噺', hide: false}
+    , {field: 'specs', align: 'center', title: '瑙勬牸', hide: false}
+    , {field: 'model', align: 'center', title: '浠g爜', hide: true}
+    , {field: 'color', align: 'center', title: '棰滆壊', hide: true}
+    , {field: 'brand', align: 'center', title: '鍝佺墝', hide: true}
+    , {field: 'unit', align: 'center', title: '鍗曚綅', hide: false}
+    , {field: 'batch', align: 'center', title: '璐у搧鐗瑰緛', sort: true}
+    , {
+        field: 'frozen$', align: 'center', title: '鍐荤粨鍚�', hide: true,
+        templet: function (d) {
+            // 鏍规嵁鏉′欢鍒ゆ柇瀛椾綋棰滆壊
+            if (d.frozen$ === '宸插喕缁�') {
+                return '<span style="color: #34a8de;">' + d.frozen$ + '</span>';
+            } else {
+                return '<span">' + d.frozen$ + '</span>';
+            }
+        }
+    }
 ]
 
 var detlCols = [
-    {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿锛堝搧鍙凤級', sort:true}
-    ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О锛堝搧鍚嶏級', sort:true}
-    ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
-    ,{field: 'batch', align: 'center',title: '璐у搧鐗瑰緛', sort:true}
-    ,{field: 'anfme', align: 'center',title: '鏁伴噺', hide: false}
-    ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜', hide: false}
-
-    ,{field: 'specs', align: 'center',title: '瑙勬牸', hide: false}
-    ,{field: 'model', align: 'center',title: '浠g爜', hide: true}
-    ,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
-    ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
-    ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: false}
-    ,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
-    ,{field: 'sku', align: 'center',title: 'sku', hide: true}
-    ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true}
-    ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true}
-    ,{field: 'origin', align: 'center',title: '浜у湴', hide: true}
-    ,{field: 'manu', align: 'center',title: '鍘傚', hide: true}
-    ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true}
-    ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true}
-    ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true}
-    ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true}
-    ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true}
-    ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true}
-    ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true}
-    ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true}
-    ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true}
-    ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true}
-    ,{field: 'deadTime', align: 'center',title: '淇濊川鏈�', hide: true}
-    ,{field: 'deadWarn', align: 'center',title: '棰勮澶╂暟', hide: true}
-    ,{field: 'source$', align: 'center',title: '鍒惰喘', hide: true}
-    ,{field: 'check$', align: 'center',title: '瑕佹眰妫�楠�', hide: true}
-    ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�', hide: true}
+    {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿锛堝搧鍙凤級', sort: true}
+    , {field: 'maktx', align: 'center', title: '鍟嗗搧鍚嶇О锛堝搧鍚嶏級', sort: true}
+    , {field: 'orderNo', align: 'center', title: '鍗曟嵁缂栧彿', hide: false}
+    , {field: 'batch', align: 'center', title: '璐у搧鐗瑰緛', sort: true}
+    , {
+        field: 'anfme', align: 'center', title: '鏁伴噺', hide: false, templet: function (d) {
+            var raw = d.anfme;
+            if (raw === null || raw === undefined) return '';
+            if (typeof raw === 'string' && raw.trim() === '') return '';
+            var num = Number(raw);
+            if (!isFinite(num)) return '';
+            return num.toFixed(2);
+        }
+    }
+    , {field: 'zpallet', align: 'center', title: '鎵樼洏鏉$爜', hide: false}
+    , {field: 'specs', align: 'center', title: '瑙勬牸', hide: false}
+    , {
+        field: 'safeQty', align: 'center', title: '褰掗浂闃�鍊�', hide: false, templet: function (d) {
+            var raw = d.safeQty;
+            if (raw === null || raw === undefined) return '';
+            if (typeof raw === 'string' && raw.trim() === '') return '';
+            var num = Number(raw);
+            if (!isFinite(num)) return '';
+            return num.toFixed(2);
+        }
+    }
+    , {
+        field: 'volume', align: 'center', title: 'km/cm', hide: false, templet: function (d) {
+            var raw = d.volume;
+            if (raw === null || raw === undefined) return '';
+            if (typeof raw === 'string' && raw.trim() === '') return '';
+            var num = Number(raw);
+            if (!isFinite(num)) return '';
+            return num.toFixed(2);
+        }
+    }
+    , {field: 'model', align: 'center', title: '浠g爜', hide: true}
+    , {field: 'color', align: 'center', title: '棰滆壊', hide: true}
+    , {field: 'brand', align: 'center', title: '鍝佺墝', hide: true}
+    , {field: 'unit', align: 'center', title: '鍗曚綅', hide: false}
+    , {field: 'price', align: 'center', title: '鍗曚环', hide: true}
+    , {field: 'sku', align: 'center', title: 'sku', hide: true}
+    , {field: 'units', align: 'center', title: '鍗曚綅閲�', hide: true}
+    , {field: 'barcode', align: 'center', title: '鏉$爜', hide: true}
+    , {field: 'origin', align: 'center', title: '浜у湴', hide: true}
+    , {field: 'manu', align: 'center', title: '鍘傚', hide: true}
+    , {field: 'manuDate', align: 'center', title: '鐢熶骇鏃ユ湡', hide: true}
+    , {field: 'itemNum', align: 'center', title: '鍝侀」鏁�', hide: true}
+    , {field: 'weight', align: 'center', title: '鍗曠鍑�閲�', hide: true}
+    , {field: 'length', align: 'center', title: '鍗曠姣涢噸', hide: true}
+    , {field: 'threeCode', align: 'center', title: '绠卞瓙灏哄', hide: true}
+    , {field: 'supp', align: 'center', title: '渚涘簲鍟�', hide: true}
+    , {field: 'suppCode', align: 'center', title: '渚涘簲鍟嗙紪鐮�', hide: true}
+    , {field: 'beBatch$', align: 'center', title: '鏄惁鎵规', hide: true}
+    , {field: 'deadTime', align: 'center', title: '淇濊川鏈�', hide: true}
+    , {field: 'deadWarn', align: 'center', title: '棰勮澶╂暟', hide: true}
+    , {field: 'source$', align: 'center', title: '鍒惰喘', hide: true}
+    , {field: 'check$', align: 'center', title: '瑕佹眰妫�楠�', hide: true}
+    , {field: 'danger$', align: 'center', title: '鍗遍櫓鍝�', hide: true}
+    , {
+        field: 'frozen$', align: 'center', title: '鍐荤粨鍚�', hide: true,
+        templet: function (d) {
+            // 鏍规嵁鏉′欢鍒ゆ柇瀛椾綋棰滆壊
+            if (d.frozen$ === '宸插喕缁�') {
+                return '<span style="color: #34a8de;">' + d.frozen$ + '</span>';
+            } else {
+                return '<span">' + d.frozen$ + '</span>';
+            }
+        }
+    }
 ]
 
+function getQueryVariable(variable) {
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i = 0; i < vars.length; i++) {
+        var pair = vars[i].split("=");
+        if (pair[0] == variable) {
+            return pair[1];
+        }
+    }
+    return (false);
+}

--
Gitblit v1.9.1