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 |  292 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 276 insertions(+), 16 deletions(-)

diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 3ddfc83..7c7961f 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,17 +1,20 @@
-// var baseUrl = "http://127.0.0.1:8080/asrs";
-var baseUrl = "/asrs";
+var baseUrl = "/wms";
+
 // 璇︽儏绐楀彛-楂樺害
 var detailHeight = '80%';
 // 璇︽儏绐楀彛-瀹藉害
 var detailWidth = '90%';
 
 // 闈炵┖鍒ゆ柇
-function isEmpty(obj){
+function isEmpty(obj) {
     return typeof obj == "undefined" || obj == null || obj === "";
 }
 
+// let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+//       layer.close(loadIndex);
+
 // 鏃堕棿 ==>> 瀛楃涓�
-function dateToStr(date) {
+function dateToStr(date, millisecond) {
     var time = new Date(date);
     var y = time.getFullYear();
     var M = time.getMonth() + 1;
@@ -24,7 +27,18 @@
     m = m < 10 ? ("0" + m) : m;
     var s = time.getSeconds();
     s = s < 10 ? ("0" + s) : s;
-    return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
+    if (!millisecond) {
+        return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
+    } else {
+        var p = time.getMilliseconds();
+        if (p < 10) {
+            p = "00" + p;
+        }
+        if (p < 100) {
+            p = "0" + p;
+        }
+        return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s + "," + p;
+    }
 }
 
 // 瀛楃涓� ===>> 鏃堕棿
@@ -40,7 +54,7 @@
 // 娓呯悊瀵硅薄null鍊�
 function reObject(data) {
     for (var obj in data) {
-        if (data[obj]===null){
+        if (data[obj] === null) {
             delete data[obj];
         }
     }
@@ -57,31 +71,277 @@
 }
 
 // 鏉冮檺
-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 = "/";
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
                 } else {
                     layer.msg(res.msg)
                 }
             }
         });
     }
+}
 
+
+// http璇锋眰
+!function (n) {
+    "use strict";
+    var http = {
+        toAjax: function (params) {
+            $.ajax(params);
+        },
+        get: function (url, data, callback) {
+            http.toAjax({
+                method: 'GET',
+                url: url,
+                data: data,
+                dataType: 'json',
+                header: {'token': localStorage.getItem('token')},
+                timeout: 10000,
+                cache: false,
+                success: function (res) {
+                    if (res.code === 200) {
+                        callback(res);
+                    } else if (res.code === 403) {
+                        top.location.href = baseUrl + "/";
+                    } else {
+                        layer.msg(res.msg);
+                    }
+                },
+                error: function (res, type) {
+
+                }
+            })
+        },
+        // 榛樿琛ㄥ崟
+        post: function (url, param, callback, type) {
+            var headerType;
+            if (type === 'json') {
+                headerType = {'Content-Type': 'application/json'}
+            } else {
+                headerType = {'Content-Type': 'application/x-www-form-urlencoded'}
+            }
+            headerType['token'] = localStorage.getItem('token');
+            http.toAjax({
+                method: 'POST',
+                url: url,
+                data: param,
+                dataType: 'json',
+                headers: headerType,
+                timeout: 10000,
+                cache: false,
+                success: function (res) {
+                    if (res.code === 200) {
+                        callback(res);
+                    } else if (res.code === 403) {
+                        top.location.href = baseUrl + "/";
+                    } else {
+                        layer.msg(res.msg);
+                    }
+                },
+                error: function (res, type) {
+
+                }
+            })
+        },
+    };
+    "function" == typeof define && define.amd ? define(function () {
+        return http
+    }) : "object" == typeof module && module.exports ? module.exports = http : n.http = http
+}(this);
+
+/*************************************************************************************************************/
+/********************************************** 鐗╂枡涓氬姟鎶借薄 ***************************************************/
+
+/*************************************************************************************************************/
+
+function arrRemove(arr, key, val) {
+    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: 'id', align: 'center',title: 'ID'}
+    // ,{field: 'uuid', align: 'center',title: '缂栧彿'}
+    , {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}
+]
+
+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, 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