zhou zhou
2 天以前 49f8eeef1dfbc4ba1eb3a4cc413e4a78eba0357c
#取消页面缓存和更新页面组件
1个文件已删除
13个文件已修改
513 ■■■■■ 已修改文件
rsf-admin/package-lock.json 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/package.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/layout/KeepAliveWrapper.jsx 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/layout/TabsBar.jsx 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/layout/index.jsx 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/loc/LocList.jsx 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/basicInfo/warehouse/WarehouseList.jsx 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/components/StickyDataTable.jsx 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/asnOrderItem/AsnOrderItemList.jsx 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/task/TaskItemList.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/package-lock.json
@@ -31,7 +31,6 @@
        "ra-language-chinese": "^2.0.10",
        "ra-language-english": "^5.6.2",
        "react": "^18.3.0",
        "react-activation": "^0.13.4",
        "react-admin": "^5.6.3",
        "react-barcode": "^1.6.1",
        "react-dom": "^18.3.0",
@@ -105,7 +104,6 @@
      "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==",
      "dev": true,
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@ampproject/remapping": "^2.2.0",
        "@babel/code-frame": "^7.27.1",
@@ -440,7 +438,6 @@
      "resolved": "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz",
      "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@emotion/memoize": "^0.9.0"
      }
@@ -456,7 +453,6 @@
      "resolved": "https://registry.npmmirror.com/@emotion/react/-/react-11.14.0.tgz",
      "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@babel/runtime": "^7.18.3",
        "@emotion/babel-plugin": "^11.13.5",
@@ -500,7 +496,6 @@
      "resolved": "https://registry.npmmirror.com/@emotion/styled/-/styled-11.14.0.tgz",
      "integrity": "sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@babel/runtime": "^7.18.3",
        "@emotion/babel-plugin": "^11.13.5",
@@ -1145,7 +1140,6 @@
      "resolved": "https://registry.npmmirror.com/@mui/icons-material/-/icons-material-5.17.1.tgz",
      "integrity": "sha512-CN86LocjkunFGG0yPlO4bgqHkNGgaEOEc3X/jG5Bzm401qYw79/SaLrofA7yAKCCXAGdIGnLoMHohc3+ubs95A==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@babel/runtime": "^7.23.9"
      },
@@ -1172,7 +1166,6 @@
      "resolved": "https://registry.npmmirror.com/@mui/material/-/material-5.17.1.tgz",
      "integrity": "sha512-2B33kQf+GmPnrvXXweWAx+crbiUEsxCdCN979QDYnlH9ox4pd+0/IBriWLV+l6ORoBF60w39cWjFnJYGFdzXcw==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@babel/runtime": "^7.23.9",
        "@mui/core-downloads-tracker": "^5.17.1",
@@ -1408,7 +1401,6 @@
      "resolved": "https://registry.npmmirror.com/@mui/system/-/system-6.4.11.tgz",
      "integrity": "sha512-gibtsrZEwnDaT5+I/KloOj/yHluX5G8heknuxBpQOdEQ3Gc0avjSImn5hSeKp8D4thiwZiApuggIjZw1dQguUA==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@babel/runtime": "^7.26.0",
        "@mui/private-theming": "^6.4.9",
@@ -1493,7 +1485,6 @@
      "resolved": "https://registry.npmmirror.com/@mui/utils/-/utils-5.17.1.tgz",
      "integrity": "sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@babel/runtime": "^7.23.9",
        "@mui/types": "~7.2.15",
@@ -1812,7 +1803,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/assets/-/assets-7.4.3.tgz",
      "integrity": "sha512-StvjiJBSp/j9hHkGu8AFHNvwYUazXq64WhyhytztyDMRkg/l/cL7EcttY5T0qZNWlIpccdr60LUKrWDOuMpkiw==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@types/css-font-loading-module": "^0.0.12"
      },
@@ -1856,7 +1846,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/core/-/core-7.4.3.tgz",
      "integrity": "sha512-5YDs11faWgVVTL8VZtLU05/Fl47vaP5Tnsbf+y/WRR0VSW3KhRRGTBU1J3Gdc2xEWbJhUK07KGP7eSZpvtPVgA==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@pixi/color": "7.4.3",
        "@pixi/constants": "7.4.3",
@@ -1877,7 +1866,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/display/-/display-7.4.3.tgz",
      "integrity": "sha512-b5m2dAaoNAVdxz1oDaxl3XZ059NEOcNtGkxTOZ4EYCw/jcp9sZXkgSROHRzsGn4k+NugH7+9MP4Id2Z0kkdUhw==",
      "license": "MIT",
      "peer": true,
      "peerDependencies": {
        "@pixi/core": "7.4.3"
      }
@@ -1887,7 +1875,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/events/-/events-7.4.3.tgz",
      "integrity": "sha512-o3j/5Dxq6WDVS6eHfURB/cf/MP+NcsF/eC5PnbSHjXxJmDE7PoTVwLvxexm5uuvNRpFh/6/Fn0V8Vl4gV8sc8w==",
      "license": "MIT",
      "peer": true,
      "peerDependencies": {
        "@pixi/core": "7.4.3",
        "@pixi/display": "7.4.3"
@@ -1967,7 +1954,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/graphics/-/graphics-7.4.3.tgz",
      "integrity": "sha512-wWLivD8/URb8A7X4TqCZGG39C91IE+aOuWY/z9NCz5Z6WvA/VWnsc5fLTlO+ggjGHgKF0cSucCXZfUe1wm0AOQ==",
      "license": "MIT",
      "peer": true,
      "peerDependencies": {
        "@pixi/core": "7.4.3",
        "@pixi/display": "7.4.3",
@@ -1985,7 +1971,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/mesh/-/mesh-7.4.3.tgz",
      "integrity": "sha512-CikqFPtKvU3Zj986/MSoC8X39CWv5CEpiEW/tYp47p4tgQNDSkNWYnDiNYgb+4VX6pNsBrgX4DALLdTR17SlSA==",
      "license": "MIT",
      "peer": true,
      "peerDependencies": {
        "@pixi/core": "7.4.3",
        "@pixi/display": "7.4.3"
@@ -2076,7 +2061,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/sprite/-/sprite-7.4.3.tgz",
      "integrity": "sha512-iNBrpOFF9nXDT6m2jcyYy6l/sRzklLDDck1eFHprHZwvNquY2nzRfh+RGBCecxhBcijiLJ3fsZN33fP0LDXkvw==",
      "license": "MIT",
      "peer": true,
      "peerDependencies": {
        "@pixi/core": "7.4.3",
        "@pixi/display": "7.4.3"
@@ -2118,7 +2102,6 @@
      "resolved": "https://registry.npmmirror.com/@pixi/text/-/text-7.4.3.tgz",
      "integrity": "sha512-IAF0iu04rPg3oiL0HZsEZI44fpJxq3UZ4xTmx8l1RyhhSXiElLvvSlSH57vt/BKMQZtCs+AqEit7yn8heK2+nQ==",
      "license": "MIT",
      "peer": true,
      "peerDependencies": {
        "@pixi/core": "7.4.3",
        "@pixi/sprite": "7.4.3"
@@ -2665,7 +2648,6 @@
      "integrity": "sha512-0PQHLhZPWOxGW4auogW0eOQAuNIlCYvibIpG67ja0TOJ6/sehu+1en7sfceUn+QQtx4Rk3GxbLNwPh0Cav7TWw==",
      "dev": true,
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "undici-types": "~6.19.2"
      }
@@ -2687,7 +2669,6 @@
      "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.21.tgz",
      "integrity": "sha512-gXLBtmlcRJeT09/sI4PxVwyrku6SaNUj/6cMubjE6T6XdY1fDmBL7r0nX0jbSZPU/Xr0KuwLLZh6aOYY5d91Xw==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@types/prop-types": "*",
        "csstype": "^3.0.2"
@@ -2699,7 +2680,6 @@
      "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
      "devOptional": true,
      "license": "MIT",
      "peer": true,
      "peerDependencies": {
        "@types/react": "^18.0.0"
      }
@@ -2780,7 +2760,6 @@
      "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
      "dev": true,
      "license": "BSD-2-Clause",
      "peer": true,
      "dependencies": {
        "@typescript-eslint/scope-manager": "5.62.0",
        "@typescript-eslint/types": "5.62.0",
@@ -2969,7 +2948,6 @@
      "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
      "dev": true,
      "license": "MIT",
      "peer": true,
      "bin": {
        "acorn": "bin/acorn"
      },
@@ -3041,6 +3019,7 @@
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
      "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -3057,6 +3036,7 @@
      "version": "3.1.8",
      "resolved": "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.8.tgz",
      "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.7",
@@ -3163,6 +3143,7 @@
      "version": "1.0.4",
      "resolved": "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
      "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "array-buffer-byte-length": "^1.0.1",
@@ -3184,6 +3165,7 @@
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/async-function/-/async-function-1.0.0.tgz",
      "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
      "dev": true,
      "license": "MIT",
      "engines": {
        "node": ">= 0.4"
@@ -3217,6 +3199,7 @@
      "version": "1.0.7",
      "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "possible-typed-array-names": "^1.0.0"
@@ -3325,7 +3308,6 @@
        }
      ],
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "caniuse-lite": "^1.0.30001716",
        "electron-to-chromium": "^1.5.149",
@@ -3578,8 +3560,7 @@
      "version": "3.1.3",
      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
      "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
      "license": "MIT",
      "peer": true
      "license": "MIT"
    },
    "node_modules/d3-array": {
      "version": "3.2.4",
@@ -3706,6 +3687,7 @@
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
      "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -3723,6 +3705,7 @@
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
      "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -3740,6 +3723,7 @@
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
      "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.2",
@@ -3758,7 +3742,6 @@
      "resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-3.6.0.tgz",
      "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
      "license": "MIT",
      "peer": true,
      "funding": {
        "type": "github",
        "url": "https://github.com/sponsors/kossnocorp"
@@ -3768,8 +3751,7 @@
      "version": "1.11.13",
      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
      "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
      "license": "MIT",
      "peer": true
      "license": "MIT"
    },
    "node_modules/debug": {
      "version": "4.4.0",
@@ -3938,6 +3920,7 @@
      "version": "1.23.9",
      "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.23.9.tgz",
      "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "array-buffer-byte-length": "^1.0.2",
@@ -4089,6 +4072,7 @@
      "version": "1.3.0",
      "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
      "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "is-callable": "^1.2.7",
@@ -4170,7 +4154,6 @@
      "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
      "dev": true,
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@eslint-community/eslint-utils": "^4.2.0",
        "@eslint-community/regexpp": "^4.6.1",
@@ -4642,6 +4625,7 @@
      "version": "0.3.5",
      "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz",
      "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "is-callable": "^1.2.7"
@@ -4738,6 +4722,7 @@
      "version": "1.1.8",
      "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
      "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -4758,6 +4743,7 @@
      "version": "1.2.3",
      "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz",
      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
      "dev": true,
      "license": "MIT",
      "funding": {
        "url": "https://github.com/sponsors/ljharb"
@@ -4814,6 +4800,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
      "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -4875,6 +4862,7 @@
      "version": "1.0.4",
      "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz",
      "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "define-properties": "^1.2.1",
@@ -4931,6 +4919,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.1.0.tgz",
      "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
      "dev": true,
      "license": "MIT",
      "engines": {
        "node": ">= 0.4"
@@ -4965,6 +4954,7 @@
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.2.0.tgz",
      "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "dunder-proto": "^1.0.0"
@@ -5140,6 +5130,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.1.0.tgz",
      "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "es-errors": "^1.3.0",
@@ -5187,6 +5178,7 @@
      "version": "3.0.5",
      "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
      "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -5210,6 +5202,7 @@
      "version": "2.1.1",
      "resolved": "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.1.1.tgz",
      "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "async-function": "^1.0.0",
@@ -5229,6 +5222,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.1.0.tgz",
      "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "has-bigints": "^1.0.2"
@@ -5244,6 +5238,7 @@
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
      "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -5260,6 +5255,7 @@
      "version": "1.2.7",
      "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz",
      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
      "dev": true,
      "license": "MIT",
      "engines": {
        "node": ">= 0.4"
@@ -5287,6 +5283,7 @@
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.2.tgz",
      "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.2",
@@ -5304,6 +5301,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz",
      "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.2",
@@ -5340,6 +5338,7 @@
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
      "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3"
@@ -5355,6 +5354,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.1.0.tgz",
      "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -5396,6 +5396,7 @@
      "version": "2.0.3",
      "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz",
      "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
      "dev": true,
      "license": "MIT",
      "engines": {
        "node": ">= 0.4"
@@ -5418,6 +5419,7 @@
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.1.1.tgz",
      "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -5444,6 +5446,7 @@
      "version": "1.2.1",
      "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz",
      "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.2",
@@ -5462,6 +5465,7 @@
      "version": "2.0.3",
      "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz",
      "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
      "dev": true,
      "license": "MIT",
      "engines": {
        "node": ">= 0.4"
@@ -5474,6 +5478,7 @@
      "version": "1.0.4",
      "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
      "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3"
@@ -5489,6 +5494,7 @@
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.1.1.tgz",
      "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -5505,6 +5511,7 @@
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.1.1.tgz",
      "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.2",
@@ -5522,6 +5529,7 @@
      "version": "1.1.15",
      "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz",
      "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "which-typed-array": "^1.1.16"
@@ -5537,6 +5545,7 @@
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz",
      "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
      "dev": true,
      "license": "MIT",
      "engines": {
        "node": ">= 0.4"
@@ -5549,6 +5558,7 @@
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.1.1.tgz",
      "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3"
@@ -5564,6 +5574,7 @@
      "version": "2.0.4",
      "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.4.tgz",
      "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -5580,6 +5591,7 @@
      "version": "2.0.5",
      "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz",
      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
      "dev": true,
      "license": "MIT"
    },
    "node_modules/isexe": {
@@ -6018,6 +6030,7 @@
      "version": "4.1.7",
      "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz",
      "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -6119,6 +6132,7 @@
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/own-keys/-/own-keys-1.0.1.tgz",
      "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "get-intrinsic": "^1.2.6",
@@ -6328,6 +6342,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
      "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
      "dev": true,
      "license": "MIT",
      "engines": {
        "node": ">= 0.4"
@@ -6607,26 +6622,11 @@
      "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz",
      "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "loose-envify": "^1.1.0"
      },
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/react-activation": {
      "version": "0.13.4",
      "resolved": "https://registry.npmjs.org/react-activation/-/react-activation-0.13.4.tgz",
      "integrity": "sha512-2lSI7vMbUiUvaEgizeBrn/xtyt7jw7nI1dqJNSgHcVbU+34eAlIxxGC6TBiruob6FkV8QFt8ShbkO2dBBT49Lg==",
      "license": "ISC",
      "dependencies": {
        "hoist-non-react-statics": "^3.3.0",
        "react-node-key": "^0.4.0",
        "szfe-tools": "^0.0.0-beta.7"
      },
      "peerDependencies": {
        "react": ">=16"
      }
    },
    "node_modules/react-admin": {
@@ -6670,7 +6670,6 @@
      "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz",
      "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "loose-envify": "^1.1.0",
        "scheduler": "^0.23.2"
@@ -6713,7 +6712,6 @@
      "resolved": "https://registry.npmmirror.com/react-hook-form/-/react-hook-form-7.56.3.tgz",
      "integrity": "sha512-IK18V6GVbab4TAo1/cz3kqajxbDPGofdF0w7VHdCo0Nt8PrPlOZcuuDq9YYIV1BtjcX78x0XsldbQRQnQXWXmw==",
      "license": "MIT",
      "peer": true,
      "engines": {
        "node": ">=18.0.0"
      },
@@ -6729,34 +6727,7 @@
      "version": "19.1.0",
      "resolved": "https://registry.npmmirror.com/react-is/-/react-is-19.1.0.tgz",
      "integrity": "sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==",
      "license": "MIT",
      "peer": true
    },
    "node_modules/react-node-key": {
      "version": "0.4.0",
      "resolved": "https://registry.npmjs.org/react-node-key/-/react-node-key-0.4.0.tgz",
      "integrity": "sha512-puiuP2QYEuNBVVvcjpUE8d8/jdAhiXHBHMmjZzQT4+fe276RMYea/tY7JoZoYlrhAX8DORLPvjySjXYJZ1m6/A==",
      "license": "ISC",
      "dependencies": {
        "jsx-ast-utils": "^2.2.1",
        "szfe-tools": "^0.0.0-beta.7"
      },
      "peerDependencies": {
        "react": ">=16"
      }
    },
    "node_modules/react-node-key/node_modules/jsx-ast-utils": {
      "version": "2.4.1",
      "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz",
      "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==",
      "license": "MIT",
      "dependencies": {
        "array-includes": "^3.1.1",
        "object.assign": "^4.1.0"
      },
      "engines": {
        "node": ">=4.0"
      }
      "license": "MIT"
    },
    "node_modules/react-redux": {
      "version": "8.1.3",
@@ -6818,7 +6789,6 @@
      "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.30.0.tgz",
      "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@remix-run/router": "1.23.0"
      },
@@ -6834,7 +6804,6 @@
      "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.30.0.tgz",
      "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@remix-run/router": "1.23.0",
        "react-router": "6.30.0"
@@ -6951,7 +6920,6 @@
      "resolved": "https://registry.npmmirror.com/redux/-/redux-4.2.1.tgz",
      "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "@babel/runtime": "^7.9.2"
      }
@@ -6960,6 +6928,7 @@
      "version": "1.0.10",
      "resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
      "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -7006,6 +6975,7 @@
      "version": "1.5.4",
      "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
      "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -7157,6 +7127,7 @@
      "version": "1.1.3",
      "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
      "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -7176,6 +7147,7 @@
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
      "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "es-errors": "^1.3.0",
@@ -7192,6 +7164,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
      "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.2",
@@ -7248,6 +7221,7 @@
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz",
      "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "define-data-property": "^1.1.4",
@@ -7263,6 +7237,7 @@
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/set-proto/-/set-proto-1.0.0.tgz",
      "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "dunder-proto": "^1.0.1",
@@ -7468,6 +7443,7 @@
      "version": "1.2.10",
      "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
      "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -7489,6 +7465,7 @@
      "version": "1.0.9",
      "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
      "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -7507,6 +7484,7 @@
      "version": "1.0.8",
      "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
      "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.7",
@@ -7584,15 +7562,6 @@
      "license": "MIT",
      "funding": {
        "url": "https://github.com/fontello/svg2ttf?sponsor=1"
      }
    },
    "node_modules/szfe-tools": {
      "version": "0.0.0-beta.7",
      "resolved": "https://registry.npmjs.org/szfe-tools/-/szfe-tools-0.0.0-beta.7.tgz",
      "integrity": "sha512-/M7+Tel2G8zapfDYZlz17hf9ViqAi/loZMfM81b5iZMyaWL/t5dajBszEBI2kyIDFzlLT4btBcq+BimFgmAHug==",
      "license": "ISC",
      "dependencies": {
        "@babel/runtime": "^7.10.2"
      }
    },
    "node_modules/text-table": {
@@ -7692,6 +7661,7 @@
      "version": "1.0.3",
      "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
      "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -7706,6 +7676,7 @@
      "version": "1.0.3",
      "resolved": "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
      "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.8",
@@ -7725,6 +7696,7 @@
      "version": "1.0.4",
      "resolved": "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
      "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "available-typed-arrays": "^1.0.7",
@@ -7746,6 +7718,7 @@
      "version": "1.0.7",
      "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz",
      "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bind": "^1.0.7",
@@ -7768,7 +7741,6 @@
      "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
      "dev": true,
      "license": "Apache-2.0",
      "peer": true,
      "bin": {
        "tsc": "bin/tsc",
        "tsserver": "bin/tsserver"
@@ -7781,6 +7753,7 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
      "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.3",
@@ -7908,7 +7881,6 @@
      "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==",
      "dev": true,
      "license": "MIT",
      "peer": true,
      "dependencies": {
        "esbuild": "^0.21.3",
        "postcss": "^8.4.43",
@@ -7992,6 +7964,7 @@
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
      "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "is-bigint": "^1.1.0",
@@ -8011,6 +7984,7 @@
      "version": "1.2.1",
      "resolved": "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
      "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "call-bound": "^1.0.2",
@@ -8038,6 +8012,7 @@
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz",
      "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "is-map": "^2.0.3",
@@ -8056,6 +8031,7 @@
      "version": "1.1.19",
      "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.19.tgz",
      "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
      "dev": true,
      "license": "MIT",
      "dependencies": {
        "available-typed-arrays": "^1.0.7",
@@ -8129,4 +8105,4 @@
      }
    }
  }
}
}
rsf-admin/package.json
@@ -35,7 +35,6 @@
    "ra-language-chinese": "^2.0.10",
    "ra-language-english": "^5.6.2",
    "react": "^18.3.0",
    "react-activation": "^0.13.4",
    "react-admin": "^5.6.3",
    "react-barcode": "^1.6.1",
    "react-dom": "^18.3.0",
@@ -44,10 +43,10 @@
    "react-router-dom": "^6.26.1",
    "react-syntax-highlighter": "^15.5.0",
    "react-to-print": "^2.14.11",
    "recharts": "^2.15.0",
    "svgpath": "^2.6.0",
    "three": "^0.155.0",
    "tweedle.js": "^2.1.0"
    "tweedle.js": "^2.1.0",
    "recharts": "^2.15.0"
  },
  "devDependencies": {
    "@types/node": "^20.10.7",
@@ -65,4 +64,4 @@
    "vite": "^5.3.5"
  },
  "name": "rsf"
}
}
rsf-admin/src/layout/KeepAliveWrapper.jsx
File was deleted
rsf-admin/src/layout/TabsBar.jsx
@@ -210,15 +210,6 @@
        const tabIndex = tabs.findIndex(tab => tab.path === tabPath);
        const newTabs = tabs.filter(tab => tab.path !== tabPath);
        // 清除 KeepAlive 缓存
        if (window.__keepAliveController?.drop) {
            try {
                window.__keepAliveController.drop(tabPath);
            } catch (e) {
                console.warn('Failed to drop KeepAlive cache:', e);
            }
        }
        // 如果关闭的是当前标签页,需要导航到其他标签页
        if (location.pathname === tabPath || isSameResource(location.pathname, tabPath)) {
            // 优先导航到左边的标签页,否则导航到右边的
@@ -240,19 +231,6 @@
    const handleCloseAll = () => {
        const dashboardTab = tabs.find(tab => tab.path === '/dashboard');
        const newTabs = [dashboardTab || { ...FIXED_TABS[0] }];
        // 清除所有 KeepAlive 缓存(dashboard 除外)
        if (window.__keepAliveController?.drop) {
            tabs.forEach(tab => {
                if (tab.path !== '/dashboard') {
                    try {
                        window.__keepAliveController.drop(tab.path);
                    } catch (e) {
                        // ignore
                    }
                }
            });
        }
        saveTabs(newTabs);
        setTabs(newTabs);
rsf-admin/src/layout/index.jsx
@@ -1,9 +1,7 @@
import { Layout as RALayout, CheckForApplicationUpdate, useSidebarState } from "react-admin";
import { AliveScope } from 'react-activation';
import AppBar from './AppBar';
import { MyMenu } from './MyMenu';
import TabsBar from './TabsBar';
import KeepAliveWrapper from './KeepAliveWrapper';
import { Box } from '@mui/material';
const LayoutContent = ({ children }) => {
@@ -22,32 +20,35 @@
          width: `calc(100% - ${sidebarWidth}px)`,
          height: 'calc(100% - 86px)', // 减去TabsBar的高度 (50px AppBar + 36px TabsBar)
          top: '86px',
          // 优化过渡动画:缩短时间,使用更平滑的 easing
          transition: 'left 150ms ease-out, width 150ms ease-out',
          willChange: 'left, width', // GPU 加速
          transition: (theme) =>
            theme.transitions.create(['left', 'width'], {
              easing: theme.transitions.easing.sharp,
              duration: theme.transitions.duration.leavingScreen,
            }),
        }
      }}
    >
      <Box sx={{
        position: 'fixed',
        top: 48,
        // left: 0,
        left: sidebarWidth + 5,
        right: 0,
        zIndex: 1100,
        // 优化过渡动画
        transition: 'left 150ms ease-out',
        willChange: 'left', // GPU 加速
        transition: (theme) =>
          theme.transitions.create('left', {
            easing: theme.transitions.easing.sharp,
            duration: theme.transitions.duration.leavingScreen,
          }),
      }}>
        <TabsBar />
      </Box>
      <KeepAliveWrapper>{children}</KeepAliveWrapper>
      {children}
      <CheckForApplicationUpdate />
    </RALayout>
  );
};
export const Layout = ({ children }) => (
  <AliveScope max={10}>
    <LayoutContent>{children}</LayoutContent>
  </AliveScope>
  <LayoutContent>{children}</LayoutContent>
);
rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -5,7 +5,7 @@
    DatagridConfigurable,
    SearchInput,
    TopToolbar,
    SelectColumnsButton,
    ColumnsButton,
    EditButton,
    FilterButton,
    CreateButton,
@@ -55,6 +55,7 @@
import LocCreate from "./LocCreate";
import BindModal from "./BindModal";
import InitModal from "./InitModal";
import StickyDataTable from "@/page/components/StickyDataTable";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
    '& .css-1vooibu-MuiSvgIcon-root': {
@@ -158,7 +159,11 @@
    ]
    return (
        <Box display="flex">
        <Box display="flex" sx={{
            '& .MuiTableCell-root': {
                whiteSpace: 'nowrap',
            }
        }}>
            <List
                sx={{
                    flexGrow: 1,
@@ -202,16 +207,17 @@
                        <FilterButton />
                        <InitButton />
                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                        <SelectColumnsButton preferenceKey='loc' />
                        <ColumnsButton storeKey='loc' />
                        <MyExportButton />
                    </TopToolbar>
                )}
                perPage={DEFAULT_PAGE_SIZE}
                aside={<LocListAside />}
            >
                <StyledDatagrid
                    preferenceKey='loc'
                <StickyDataTable
                    storeKey='loc'
                    align="left"
                    stickyRight={['opt']}
                    bulkActionButtons={
                        <>
                            <BatchWateButton />
@@ -224,45 +230,29 @@
                        </>
                    }
                    rowClick={() => false}
                    omit={['id', 'createTime', 'createBy', 'memo', 'updateTime', 'updateBy', 'length', 'width', 'height', 'statusBool', 'updateBy$', 'createBy$']}
                    hiddenColumns={['id', 'createTime', 'createBy', 'memo', 'updateTime', 'updateBy', 'length', 'width', 'height', 'statusBool', 'updateBy$', 'createBy$']}
                >
                    <NumberField source="id" />
                    <TextField source="code" label="table.field.loc.code" />
                    <NumberField source="warehouseId$" label="table.field.loc.warehouseId" />
                    <NumberField source="areaId$" label="table.field.loc.areaId" />
                    <TextField source="typeIds$" label="table.field.loc.type" cellClassName="type" />
                    {/* <TextField source="name" label="table.field.loc.name" /> */}
                    {/* <NumberField source="flagLogic" label="table.field.loc.flagLogic" />
                    <TextField source="fucAtrrs" label="table.field.loc.fucAtrrs" />
                    */}
                    {/* <TextField source="unit" label="table.field.loc.unit" /> */}
                    {/* <TextField source="length" label="table.field.loc.length" />
                    <TextField source="width" label="table.field.loc.width" />
                    <TextField source="height" label="table.field.loc.height" /> */}
                    <NumberField source="row" label="table.field.loc.row" />
                    <NumberField source="col" label="table.field.loc.col" />
                    <NumberField source="lev" label="table.field.loc.lev" />
                    <NumberField source="channel" label="table.field.loc.channel" />
                    {/* <NumberField source="channel" label="table.field.loc.channel" />
                    <NumberField source="maxParts" label="table.field.loc.maxParts" />
                    <NumberField source="maxPack" label="table.field.loc.maxPack" />
                    <NumberField source="flagLabelMange" label="table.field.loc.flagLabelMange" />
                    <TextField source="locAttrs" label="table.field.loc.locAttrs" /> */}
                    <TextField source="useStatus$" label="table.field.loc.useStatus" />
                    <TextField source="barcode" label="table.field.loc.barcode" />
                    {/* <TextField source="updateBy$" label="common.field.updateBy" />
                    <DateField source="updateTime" label="common.field.updateTime" showTime align="left" />
                    <TextField source="createBy$" label="common.field.createBy" />
                    <DateField source="createTime" label="common.field.createTime" showTime align="left" /> */}
                    <BooleanField source="statusBool" label="common.field.status" sortable={false} align="left" />
                    {/* <TextField source="memo" label="common.field.memo" sortable={false} /> */}
                    <WrapperField cellClassName="opt" label="common.field.opt">
                    <WrapperField source="opt" cellClassName="opt" label="common.field.opt">
                        <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
                        {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
                        <EnableButton />
                    </WrapperField>
                </StyledDatagrid>
                </StickyDataTable>
                <InitModal
                    open={initDialog}
                    setOpen={setInitDialog}
rsf-admin/src/page/basicInfo/warehouse/WarehouseList.jsx
@@ -2,10 +2,9 @@
import { useNavigate } from 'react-router-dom';
import {
    List,
    DatagridConfigurable,
    SearchInput,
    TopToolbar,
    SelectColumnsButton,
    ColumnsButton,
    EditButton,
    FilterButton,
    CreateButton,
@@ -43,53 +42,16 @@
import MyField from "@/page/components/MyField";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
import StickyDataTable from "@/page/components/StickyDataTable";
// const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
//     '& .css-1vooibu-MuiSvgIcon-root': {
//         height: '.9em'
//     },
//     '& .RaDatagrid-row': {
//         cursor: 'auto'
//     },
//     '& .column-name': {
//     },
//     '& .opt': {
//         width: 200
//     },
//     '& .RaDatagrid-cell': {
//         whiteSpace: 'nowrap',
//         overflow: 'visible',
//         textOverflow: 'unset',
//         maxWidth: 'none'
//     },
//     '& .MuiTableCell-root': {
//         whiteSpace: 'nowrap',
//         overflow: 'visible',
//         textOverflow: 'unset'
//     }
// }));
const filters = [
    <SearchInput source="condition" placeholder="搜索仓库名称" alwaysOn />,
    <TextInput source="factory" label="table.field.warehouse.factory" />,
    <TextInput source="code" label="table.field.warehouse.code" />,
    <TextInput source="name" label="table.field.warehouse.name" />,
    // <TextInput source="address" label="table.field.warehouse.address" />,
    // <TextInput source="longitude" label="table.field.warehouse.longitude" />,
    // <TextInput source="latgitude" label="table.field.warehouse.latgitude" />,
    // <NumberInput source="length" label="table.field.warehouse.length" />,
    // <NumberInput source="width" label="table.field.warehouse.width" />,
    // <NumberInput source="height" label="table.field.warehouse.height" />,
    // <TextInput label="common.field.memo" source="memo" />,
    // <SelectInput
    //     label="common.field.status"
    //     source="status"
    //     choices={[
    //         { id: '1', name: 'common.enums.statusTrue' },
    //         { id: '0', name: 'common.enums.statusFalse' },
    //     ]}
    //     resettable
    // />,
    <TextInput source="name" label="table.field.warehouse.name" />,
]
const WarehouseList = () => {
@@ -116,28 +78,24 @@
                    <TopToolbar>
                        <FilterButton />
                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                        <SelectColumnsButton preferenceKey='warehouse' />
                        <ColumnsButton storeKey='warehouse' />
                        <MyExportButton />
                    </TopToolbar>
                )}
                perPage={DEFAULT_PAGE_SIZE}
                perPage={DEFAULT_PAGE_SIZE}
            >
                <DatagridConfigurable
                    preferenceKey='warehouse'
                <StickyDataTable
                    storeKey='warehouse'
                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
                    rowClick={(id, resource, record) => false}
                    omit={['id', 'updateTime', 'updateBy', 'createTime', 'createBy', 'longitude', 'latgitude', 'length', 'width', 'height']}
                    rowClick={(id, resource, record) => false}
                    stickyRight={['opt']}
                    hiddenColumns={['id', 'updateTime', 'updateBy', 'createTime', 'createBy', 'longitude', 'latgitude', 'length', 'width', 'height']}
                >
                    <NumberField source="id" />
                    <TextField source="factory" label="table.field.warehouse.factory" />
                    <TextField source="code" label="table.field.warehouse.code" />
                    <TextField source="name" label="table.field.warehouse.name" />
                    <TextField source="address" label="table.field.warehouse.address" />
                    {/* <TextField source="longitude" label="table.field.warehouse.longitude" />
                    <TextField source="latgitude" label="table.field.warehouse.latgitude" />
                    <NumberField source="length" label="table.field.warehouse.length" />
                    <NumberField source="width" label="table.field.warehouse.width" />
                    <NumberField source="height" label="table.field.warehouse.height" /> */}
                    <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
                        <TextField source="nickname" />
                    </ReferenceField>
@@ -147,11 +105,12 @@
                    </ReferenceField>
                    <DateField source="createTime" label="common.field.createTime" showTime />
                    <TextField source="memo" label="common.field.memo" sortable={false} />
                    <WrapperField cellClassName="opt" label="common.field.opt">
                        <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
                        <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
                    <WrapperField source="opt" cellClassName="opt" label="common.field.opt">
                        <EditButton />
                        <DeleteButton mutationMode={OPERATE_MODE} />
                    </WrapperField>
                </DatagridConfigurable>
                </StickyDataTable>
            </List>
            <WarehouseCreate
                open={createDialog}
rsf-admin/src/page/components/StickyDataTable.jsx
@@ -78,6 +78,11 @@
        fontWeight: 'bold',
        borderTop: '2px solid #e0e0e0',
    },
    '& .RaDataTable-thead': {
        backgroundColor: '#f5f5f5',
        fontWeight: 'bold',
        borderTop: '2px solid #e0e0e0',
    },
};
/**
@@ -194,7 +199,19 @@
    return (
        <DataTable {...props} foot={footerComponent} sx={tableStyles}>
            {processedChildren}
            {/* {processedChildren} */}
            {processedChildren
                .map((column) => (
                    <DataTable.Col
                        key={column.key || column.props.source}
                        source={column.props.source}
                        label={column.props.label}
                        sx={column.props.sx}
                    >
                        {column}
                    </DataTable.Col>
                ))
            }
        </DataTable>
    );
};
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
@@ -164,36 +164,36 @@
const DynamicFields = (props) => {
  const translate = useTranslate();
  const notify = useNotify();
  const notify = useNotify();
  const [columns, setColumns] = useState([]);
  const { isLoading } = useListContext();
  const refresh = useRefresh();
  useEffect(() => {
      getDynamicFields();
    getDynamicFields();
  }, []);
  const getDynamicFields = async () => {
      const result = await fetchInOrderItemColumns();
      if (result.success) {
          const hiddenSources = [
              'splrName',
              'businessTime', 'extendFields.[businessTime]',
              'wkType', 'extendFields.[wkType]',
              'type', 'extendFields.[type]',
              'priceUnitId',
              'id', 'orderId', 'orderCode', 'poCode', 'poId','wkType',
              'type', 'checkType', 'spec', 'model', 'purQty',
              'qrcode', 'trackCode', 'splrCode', 'splrName', 'projectCode',
              'supplierId', 'supplierName',  'shipperId',
              // 'updateTime', 'updateBy', 'updateBy$',
              'createTime', 'createBy', 'createBy$',
              'extendFields.[inStockType]', 'extendFields.[baseUnitId]', 'extendFields.[priceUnitId]'
          ];
          const columns = result.columns.filter(col => !hiddenSources.includes(col.props.source));
          setColumns(columns);
      } else {
          notify(result.msg);
      }
    const result = await fetchInOrderItemColumns();
    if (result.success) {
      const hiddenSources = [
        'splrName',
        'businessTime', 'extendFields.[businessTime]',
        'wkType', 'extendFields.[wkType]',
        'type', 'extendFields.[type]',
        'priceUnitId',
        'id', 'orderId', 'orderCode', 'poCode', 'poId', 'wkType',
        'type', 'checkType', 'spec', 'model', 'purQty',
        'qrcode', 'trackCode', 'splrCode', 'splrName', 'projectCode',
        'supplierId', 'supplierName', 'shipperId',
        // 'updateTime', 'updateBy', 'updateBy$',
        'createTime', 'createBy', 'createBy$',
        'extendFields.[inStockType]', 'extendFields.[baseUnitId]', 'extendFields.[priceUnitId]'
      ];
      const columns = result.columns.filter(col => !hiddenSources.includes(col.props.source));
      setColumns(columns);
    } else {
      notify(result.msg);
    }
  }
  // const getDynamicFields = async () => {
@@ -223,7 +223,7 @@
          preferenceKey='asnOrderItem'
          bulkActionButtons={false}
          rowClick={(id, resource, record) => false}
          omit={['id', 'orderId', 'orderCode', 'poCode', 'poId', 'wkType', 'type', 'checkType', 'spec', 'model', 'purQty', 'qrcode', 'trackCode', 'splrCode',
          omit={['id', 'orderId', 'orderCode', 'poCode', 'poId', 'wkType', 'type', 'checkType', 'spec', 'model', 'purQty', 'qrcode', 'trackCode', 'splrCode',
            'splrName', 'projectCode', 'supplierId', 'supplierName', 'priceUnitId', 'shipperId', 'businessTime', 'extendFields.[businessTime]', 'extendFields.[wkType]', 'extendFields.[type]']}
        >
          {columns.map((column) => column)}
rsf-admin/src/page/orders/asnOrderItem/AsnOrderItemList.jsx
@@ -98,7 +98,7 @@
                    title={"menu.asnOrderItem"}
                    empty={false}
                    filters={filters}
                    sort={{ field: "create_time", order: "desc" }}
                    // sort={{ field: "mo.create_time", order: "desc" }}
                    actions={(
                        <TopToolbar>
                            <FilterButton />
@@ -142,7 +142,7 @@
        const result = await fetchInOrderItemFullColumns();
        if (result.success) {
            const hiddenSources = [
                'splrName',
                'splrName',
                'type', 'extendFields.[type]',
            ];
            const columns = result.columns.filter(col => !hiddenSources.includes(col.props.source));
@@ -190,18 +190,7 @@
                    rowClick={false}
                    hiddenColumns={omittedFields}
                >
                    {columns
                        .map((column) => (
                            <DataTable.Col
                                key={column.key || column.props.source}
                                source={column.props.source}
                                label={column.props.label}
                                sx={column.props.sx}
                            >
                                {column}
                            </DataTable.Col>
                        ))
                    }
                    {columns}
                </StickyDataTable>}
        </Box>
    )
rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
@@ -196,7 +196,7 @@
          preferenceKey='outStockItem'
          bulkActionButtons={false}
          rowClick={(id, resource, record) => false}
          omit={['id', 'orderId', 'orderCode', 'poDetlId', 'poDetlCode', 'platOrderCode', 'matnrId', 'spec', 'model', 'purQty', 'purUnit',
          omit={['id', 'orderId', 'orderCode', 'poDetlId', 'poDetlCode', 'platOrderCode', 'matnrId', 'spec', 'model', 'purQty', 'purUnit',
            'qrcode', 'trackCode', 'splrCode', 'projectCode', 'workQty', 'createBy', 'createTime', 'createBy$', 'sourceWareHouseId', 'splrName', 'supplierName']}
        >
          {columns.map((column) => column)}
rsf-admin/src/page/task/TaskItemList.jsx
@@ -153,7 +153,7 @@
                <NumberField source="matnrId" label="table.field.taskItem.matnrId" />,
                <TextField source="matnrCode" label="table.field.taskItem.matnrCode" />,
                <TextField source="maktx" label="table.field.taskItem.maktx" />,
                <TextField source="batch" label="table.field.taskItem.batch" />,
                <TextField source="batch" label="table.field.taskItem.batch" />,
                <TextField source="unit" label="table.field.taskItem.unit" />,
                <NumberField source="anfme" label="table.field.taskItem.anfme" />,
                // <TextField source="platOrderCode" label="table.field.asnOrderItem.platOrderCode" />,
@@ -202,7 +202,7 @@
                    rowClick={false}
                    // expand={() => <TaskItemPanel />}
                    expandSingle={true}
                    omit={['id', 'createTime', 'createBy', 'memo', 'taskId', 'orderId', 'orderItemId', 'matnrId', 'projectCode','statusBool', 'createBy$', 'spec', 'model']}
                    omit={['id', 'createTime', 'createBy', 'memo', 'taskId', 'orderId', 'orderItemId', 'matnrId', 'projectCode', 'statusBool', 'createBy$', 'spec', 'model']}
                >
                    {columns.map((column) => column)}
                </StyledDatagrid>}
rsf-admin/src/page/warehouseAreas/WarehouseAreasList.jsx
@@ -5,7 +5,7 @@
    DatagridConfigurable,
    SearchInput,
    TopToolbar,
    SelectColumnsButton,
    ColumnsButton,
    EditButton,
    FilterButton,
    CreateButton,
@@ -46,6 +46,7 @@
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
import EditIcon from '@mui/icons-material/Edit';
import StickyDataTable from "@/page/components/StickyDataTable";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
    '& .css-1vooibu-MuiSvgIcon-root': {
@@ -140,30 +141,24 @@
                    <TopToolbar>
                        <FilterButton />
                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                        <SelectColumnsButton preferenceKey='warehouseAreas' />
                        <ColumnsButton storeKey='warehouseAreas' />
                        <MyExportButton />
                    </TopToolbar>
                )}
                perPage={DEFAULT_PAGE_SIZE}
            >
                <StyledDatagrid
                    preferenceKey='warehouseAreas'
                    bulkActionButtons={
                        <>
                            {/* <WareButton />
                            <MixButton />
                            <StatusButton /> */}
                            <BulkDeleteButton mutationMode={OPERATE_MODE} />
                        </>
                    }
            >
                <StickyDataTable
                    storeKey='warehouseAreas'
                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
                    rowClick={(id, resource, record) => false}
                    omit={['id', 'createTime', 'createBy', 'statusBool', 'flagLabelMange$','shipperId$','supplierId', 'updateBy', 'updateTime']}
                    stickyRight={['opt']}
                    hiddenColumns={['id', 'updateTime', 'updateBy', 'createTime', 'createBy', 'longitude', 'latgitude', 'length', 'width', 'height']}
                >
                    <NumberField source="id" />
                    <TextField source="warehouseId$" label="table.field.warehouseAreas.wareId" />
                    <TextField source="code" label="table.field.warehouseAreas.code" />
                    <TextField source="name" label="table.field.warehouseAreas.name" />
                    <TextField source="type$" label="table.field.warehouseAreas.type"/>
                    <TextField source="name" label="table.field.warehouseAreas.name" />
                    <TextField source="type$" label="table.field.warehouseAreas.type" />
                    <NumberField source="sort" label="table.field.warehouseAreas.sort" />
                    <TextField source="shipperId$" label="table.field.warehouseAreas.shipperId" />
                    <NumberField source="supplierId" label="table.field.warehouseAreas.supplierId" />
@@ -189,8 +184,8 @@
                    {/* <ReferenceField source="shipperId" label="table.field.warehouseAreas.shipperId" reference="shipper" link={false} sortable={false}>
                        <TextField source="name" />
                    </ReferenceField> */}
                </StyledDatagrid>
                </StickyDataTable>
            </List>
            <WarehouseAreasCreate
                open={createDialog}
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
@@ -101,7 +101,7 @@
     * @description: 自动完成盘点功能
     * @version 1.0
     */
    @Scheduled(cron = "0/25 * * * * ?")
//    @Scheduled(cron = "0/25 * * * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void autoCheckComplete() {
        //获取任务列表中,为盘点出库的任务