From 1c02f5b648cd3c58a7db7dcec761071d5daabb26 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期二, 20 八月 2024 13:24:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wms-dev' into wms-dev
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapMapper.java | 12
zy-asrs-admin/src/views/loc/loc/index.vue | 1
zy-asrs-admin/src/views/system/language/edit.vue | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java | 39
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocMapService.java | 8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/result/LoginResult.java | 26
zy-asrs-admin/package-lock.json | 1217 ++++++++++++++++++++
zy-asrs-admin/src/views/loc/locMap/index.vue | 54
zy-asrs-admin/src/views/base/locTypeBind/edit.vue | 4
zy-asrs-wms/src/main/resources/mapper/asrs/LocMapMapper.xml | 5
zy-asrs-admin/src/views/loc/locMap/edit.vue | 128 ++
zy-asrs-admin/src/views/loc/locMap/locMap.vue | 250 ++++
zy-asrs-admin/src/views/base/locTypeBind/init.vue | 137 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocMapServiceImpl.java | 12
zy-asrs-admin/package.json | 3
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java | 15
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CircleRuleServiceImpl.java | 10
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocTypeBindController.java | 35
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/param/InitLocTypeBindParam.java | 43
zy-asrs-admin/src/components/locDetl/show.vue | 6
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/enums/ShelvesRuleDetlType.java | 19
license.lic | 0
zy-asrs-admin/src/components/loc/map/index.vue | 772 +++++++++++++
zy-asrs-admin/src/views/base/locTypeBind/index.vue | 9
zy-asrs-wms/src/main/resources/license.lic | 0
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java | 21
zy-asrs-admin/src/config.js | 31
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/LocUtils.java | 45
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocMapController.java | 182 +++
zy-asrs-wms/src/main/resources/sql/menu/locMap.sql | 9
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocMap.java | 203 +++
zy-asrs-admin/src/App.vue | 30
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java | 170 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Loc.java | 10
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LanewayRule.java | 17
36 files changed, 3,442 insertions(+), 89 deletions(-)
diff --git a/license.lic b/license.lic
index b80345a..cb51cd3 100644
--- a/license.lic
+++ b/license.lic
Binary files differ
diff --git a/zy-asrs-admin/package-lock.json b/zy-asrs-admin/package-lock.json
index 52b0401..a3d8b08 100644
--- a/zy-asrs-admin/package-lock.json
+++ b/zy-asrs-admin/package-lock.json
@@ -13,6 +13,7 @@
"ant-design-vue": "^4.2.3",
"axios": "^1.7.2",
"pinia": "^2.1.7",
+ "pixi.js": "^5.3.12",
"vue": "^3.4.29",
"vue-router": "^4.3.3",
"vue3-print-nb": "^0.1.4"
@@ -886,6 +887,353 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@pixi/accessibility": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.3.12.tgz",
+ "integrity": "sha512-JnfII2VsIeIpvyn1VMNDlhhq5BzHwwHn8sMRKhS3kFyxn4CdP0E4Ktn3/QK0vmL9sHCeTlto5Ybj3uuoKZwCWg==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/app": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.3.12.tgz",
+ "integrity": "sha512-XMpqoO+1BFIVakgHX/VlBaO4qWxg9TitvybDeXZxyVlSCG84DMNulN55jYufVp92nqHhiRr2fAIc9JDccOcNcQ==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/constants": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.12.tgz",
+ "integrity": "sha512-UcuvZZ8cQu+ZC7ufLpKi8NfZX0FncPuxKd0Rf6u6pzO2SmHPq4C1moXYGDnkZjPFAjNYFFHC7chU+zolMtkL/g=="
+ },
+ "node_modules/@pixi/core": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.12.tgz",
+ "integrity": "sha512-SKZPU2mP4UE4trWOTcubGekKwopnotbyR2X8nb68wffBd1GzMoaxyakltfJF2oCV/ivrru/biP4CkW9K6MJ56g==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/runner": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/ticker": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/pixijs"
+ }
+ },
+ "node_modules/@pixi/display": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.12.tgz",
+ "integrity": "sha512-/fsH/GAxc62rvwTnmrnV8oGCkk4LwJ9pt2Jv3UIorNsjXyL0V5fGw7uZnilF2eSdu6LgQKBMWPOtBF0TNML3lg==",
+ "dependencies": {
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/extract": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.3.12.tgz",
+ "integrity": "sha512-PRs9sKeZT+eYSD8wGUqSjHhIRrfvnLU65IIJYlmgTxYo9U4rwzykt74v09ggMj/GFUpjsILISA5VIXM1TV79PQ==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/filter-alpha": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.3.12.tgz",
+ "integrity": "sha512-/VG+ojZZwStLfiYVKcX4XsXNiPZpv40ZgiDL6igZOMqUsWn7n7dhIgytmbx6uTUWfxIPlOQH3bJGEyAHVEgzZA==",
+ "dependencies": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/filter-blur": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.3.12.tgz",
+ "integrity": "sha512-8zuOmztmuXCl1pXQpycKTS8HmXPtkmMe6xM93Q1gT7CRLzyS97H3pQAh4YuaGOrJslOKBNDrGVzLVY95fxjcTQ==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/settings": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/filter-color-matrix": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.3.12.tgz",
+ "integrity": "sha512-CblKOry/TvFm7L7iangxYtvQgO3a9n5MsmxDUue68DWZa/iI4r/3TSnsvA+Iijr590e9GsWxy3mj9P4HBMOGTA==",
+ "dependencies": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/filter-displacement": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.3.12.tgz",
+ "integrity": "sha512-D/LpJxnGi85wHB6VeBpw0FQAN0mzHHUYNxCADwUhknY+SKfP5RhaYOlk79zqOuakBfQTzL3lPgMNH2EC85EJPw==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/filter-fxaa": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.3.12.tgz",
+ "integrity": "sha512-EI+foorDnYUAy7VF3fzi635u/dyf5EHZOFovGEDrHm/ZTmEJ1i6RolwexCN94vf6HGfaDrIgNmqFcKWtbIvJFA==",
+ "dependencies": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/filter-noise": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.3.12.tgz",
+ "integrity": "sha512-9KWmlM2zRryY6o0bfNOHAckdCk8X7g9XWZbmEIXZZs7Jr90C1+RhDreqNs8OrMukmNo2cW9hMrshHgJ9aA1ftQ==",
+ "dependencies": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/graphics": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.3.12.tgz",
+ "integrity": "sha512-uBmFvq15rX0f459/4F2EnR2UhCgfwMWVJDB1L3OnCqQePE/z3ju4mfWEwOT+I7gGejWlGNE6YLdEMVNw/3zb6w==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/interaction": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.3.12.tgz",
+ "integrity": "sha512-Ks7vHDfDI58r1TzKHabnQXcXzFbUu2Sb4eQ3/jnzI/xGB5Z8Q0kS7RwJtFOWNZ67HHQdoHFkQIozTUXVXHs3oA==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/ticker": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/loaders": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.3.12.tgz",
+ "integrity": "sha512-M56m1GKpCChFqSic9xrdtQOXFqwYMvGzDXNpsKIsQbkHooaJhUR5UxSPaNiGC4qWv0TO9w8ANouxeX2v6js4eg==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/utils": "5.3.12",
+ "resource-loader": "^3.0.1"
+ }
+ },
+ "node_modules/@pixi/math": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.12.tgz",
+ "integrity": "sha512-VMccUVKSRlLFTGQu6Z450q/W6LVibaFWEo2eSZZfxz+hwjlYiqRPx4heG++4Y6tGskZK7W8l8h+2ixjmo65FCg=="
+ },
+ "node_modules/@pixi/mesh": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.3.12.tgz",
+ "integrity": "sha512-8ZiGZsZQBWoP1p8t9bSl/AfERb5l3QlwnY9zYVMDydF/UWfN1gKcYO4lKvaXw/HnLi4ZjE+OHoZVmePss9zzaw==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/mesh-extras": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.3.12.tgz",
+ "integrity": "sha512-tEBEEIh96aSGJ/KObdtlNcSzVfgrl9fBhvdUDOHepSyVG+SkmX4LMqP3DkGl6iUBDiq9FBRFaRgbxEd8G2U7yw==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/mesh": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/mixin-cache-as-bitmap": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.3.12.tgz",
+ "integrity": "sha512-hPiu8jCQJctN3OVJDgh7jqdtRgyB3qH1BWLM742MOZLjYnbOSamnqmI8snG+tba5yj/WfdjKB+8v0WNwEXlH6w==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/mixin-get-child-by-name": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.3.12.tgz",
+ "integrity": "sha512-VQv0GMNmfyBfug9pnvN5s/ZMKJ/AXvg+4RULTpwHFtAwlCdZu9IeNb4eviSSAwtOeBAtqk5c0MQSsdOUWOeIkA==",
+ "dependencies": {
+ "@pixi/display": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/mixin-get-global-position": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.3.12.tgz",
+ "integrity": "sha512-qxsfCC9BsKSjBlMH1Su/AVwsrzY8NHfcut5GkVvm2wa9+ypxFwU5fVsmk6+4a9G7af3iqmOlc9YDymAvbi+e8g==",
+ "dependencies": {
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/particles": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.3.12.tgz",
+ "integrity": "sha512-SV/gOJBFa4jpsEM90f1bz5EuMMiNAz81mu+lhiUxdQQjZ8y/S4TiK7OAiyc+hUtp97JbJ//6u+4ynGwbhV+WDA==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/polyfill": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.3.12.tgz",
+ "integrity": "sha512-qkm8TBIb6m7FmE/Cd/yVagONDlVF5/cWFSSnk4pWA/vt/HLNrXgY9Tx0IXAk6NNK/xc5deGcLPc4iw+DlEhsQw==",
+ "dependencies": {
+ "es6-promise-polyfill": "^1.2.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "node_modules/@pixi/prepare": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.3.12.tgz",
+ "integrity": "sha512-loZhLzV4riet9MU72WpWIYF6LgbRM78S4soeZOr5SzL1/U5mBneOOmfStaui7dN2GKQKp5GLygDF4dH3FPalnA==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/graphics": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/text": "5.3.12",
+ "@pixi/ticker": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/runner": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.12.tgz",
+ "integrity": "sha512-I5mXx4BiP8Bx5CFIXy3XV3ABYFXbIWaY6FxWsNFkySn0KUhizN7SarPdhFGs//hJuC54EH2FsKKNa98Lfc2nCQ=="
+ },
+ "node_modules/@pixi/settings": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.12.tgz",
+ "integrity": "sha512-tLAa8tpDGllgj88NMUQn2Obn9MFJfHNF/CKs8aBhfeZGU4yL4PZDtlI+tqaB1ITGl3xxyHmJK+qfmv5lJn+zyA==",
+ "dependencies": {
+ "ismobilejs": "^1.1.0"
+ }
+ },
+ "node_modules/@pixi/sprite": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.12.tgz",
+ "integrity": "sha512-vticet92RFZ3nDZ6/VDwZ7RANO0jzyXOF/5RuJf0yNVJgBoH4cNix520FfsBWE2ormD+z5t1KEmFeW4e35z2kw==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/sprite-animated": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.3.12.tgz",
+ "integrity": "sha512-WkGdGRfqboXFzMZ/SM6pCVukYmG2E2IlpcFz7aEeWvKL2Icm4YtaCBpHHDU07vvA6fP6JrstlCx1RyTENtOeGA==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/ticker": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/sprite-tiling": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.3.12.tgz",
+ "integrity": "sha512-5/gtNT46jIo7M69sixqkta1aXVhl4NTwksD9wzqjdZkQG8XPpKmHtXamROY2Fw3R+m+KGgyK8ywAf78tPvxPwg==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/spritesheet": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.3.12.tgz",
+ "integrity": "sha512-0t5HKgLx0uWtENtkW0zVpqvmfoxqMcRAYB7Nwk2lkgZMBPCOFtFF/4Kdp9Sam5X0EBMRGkmIelW3fD6pniSvCw==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/loaders": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/text": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.3.12.tgz",
+ "integrity": "sha512-tvrDVetwVjq1PVDR6jq4umN/Mv/EPHioEOHhyep63yvFIBFv75mDTg2Ye0CPzkmjqwXXvAY+hHpNwuOXTB40xw==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/text-bitmap": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.3.12.tgz",
+ "integrity": "sha512-tiorA3XdriJKJtUhMDcKX1umE3hGbaNJ/y0ZLuQ0lCvoTLrN9674HtveutoR9KkXWguDHCSk2cY+y3mNAvjPHA==",
+ "dependencies": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/loaders": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/mesh": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/text": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/ticker": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.12.tgz",
+ "integrity": "sha512-YNYUj94XgogipYhPOjbdFBIsy7+U6KmolvK+Av1G88GDac5SDoALb1Nt6s23fd8HIz6b4YnabHOdXGz3zPir1Q==",
+ "dependencies": {
+ "@pixi/settings": "5.3.12"
+ }
+ },
+ "node_modules/@pixi/utils": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.12.tgz",
+ "integrity": "sha512-PU/L852YjVbTy/6fDKQtYji6Vqcwi5FZNIjK6JXKuDPF411QfJK3QBaEqJTrexzHlc9Odr0tYECjwtXkCUR02g==",
+ "dependencies": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "earcut": "^2.1.5",
+ "eventemitter3": "^3.1.0",
+ "url": "^0.11.0"
+ }
+ },
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
@@ -1392,6 +1740,24 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
+ "node_modules/call-bind": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/camelcase": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
@@ -1505,6 +1871,22 @@
}
}
},
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -1523,6 +1905,11 @@
"resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
"integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
},
+ "node_modules/earcut": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz",
+ "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ=="
+ },
"node_modules/electron-to-chromium": {
"version": "1.4.812",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.812.tgz",
@@ -1538,6 +1925,30 @@
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es6-promise-polyfill": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz",
+ "integrity": "sha512-HHb0vydCpoclpd0ySPkRXMmBw80MRt1wM4RBJBlXkux97K7gleabZdsR0gvE1nNPM9mgOZIBTzjjXiPxf4lIqQ=="
},
"node_modules/esbuild": {
"version": "0.21.5",
@@ -1597,6 +2008,11 @@
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
+ "node_modules/eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="
+ },
"node_modules/follow-redirects": {
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
@@ -1642,12 +2058,38 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"engines": {
"node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/globals": {
@@ -1658,12 +2100,67 @@
"node": ">=4"
}
},
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"engines": {
"node": ">=4"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/html-tags": {
@@ -1684,6 +2181,11 @@
"engines": {
"node": ">=0.10.0"
}
+ },
+ "node_modules/ismobilejs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz",
+ "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw=="
},
"node_modules/js-tokens": {
"version": "4.0.0",
@@ -1768,6 +2270,11 @@
"node": ">= 0.6"
}
},
+ "node_modules/mini-signals": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mini-signals/-/mini-signals-1.2.0.tgz",
+ "integrity": "sha512-alffqMkGCjjTSwvYMVLx+7QeJ6sTuxbXqBkP21my4iWU5+QpTQAJt3h7htA1OKm9F3BpMM0vnu72QIoiJakrLA=="
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -1799,6 +2306,33 @@
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
+ "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/parse-uri": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/parse-uri/-/parse-uri-1.0.9.tgz",
+ "integrity": "sha512-YZfRHHkEZa6qTfPF/xgZ1ErQYCABfud/Vcqp1Q1GNa7RKwv6Oe0YaxXfQQMnQsGdNTo3fwaT0GbVEX7dMAr7tw==",
+ "engines": {
+ "node": ">= 0.10"
+ }
},
"node_modules/picocolors": {
"version": "1.0.1",
@@ -1855,6 +2389,51 @@
}
}
},
+ "node_modules/pixi.js": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-5.3.12.tgz",
+ "integrity": "sha512-XZzUhrq/m6fx3E0ESv/zXKEVR/GW82dPmbwdapIqsgAldKT2QqBYMfz1WuPf+Q9moPapywVNjjyxPvh+DNPmIg==",
+ "dependencies": {
+ "@pixi/accessibility": "5.3.12",
+ "@pixi/app": "5.3.12",
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/extract": "5.3.12",
+ "@pixi/filter-alpha": "5.3.12",
+ "@pixi/filter-blur": "5.3.12",
+ "@pixi/filter-color-matrix": "5.3.12",
+ "@pixi/filter-displacement": "5.3.12",
+ "@pixi/filter-fxaa": "5.3.12",
+ "@pixi/filter-noise": "5.3.12",
+ "@pixi/graphics": "5.3.12",
+ "@pixi/interaction": "5.3.12",
+ "@pixi/loaders": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/mesh": "5.3.12",
+ "@pixi/mesh-extras": "5.3.12",
+ "@pixi/mixin-cache-as-bitmap": "5.3.12",
+ "@pixi/mixin-get-child-by-name": "5.3.12",
+ "@pixi/mixin-get-global-position": "5.3.12",
+ "@pixi/particles": "5.3.12",
+ "@pixi/polyfill": "5.3.12",
+ "@pixi/prepare": "5.3.12",
+ "@pixi/runner": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/sprite-animated": "5.3.12",
+ "@pixi/sprite-tiling": "5.3.12",
+ "@pixi/spritesheet": "5.3.12",
+ "@pixi/text": "5.3.12",
+ "@pixi/text-bitmap": "5.3.12",
+ "@pixi/ticker": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/pixijs"
+ }
+ },
"node_modules/postcss": {
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
@@ -1887,6 +2466,25 @@
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
+ "node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
+ },
+ "node_modules/qs": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "dependencies": {
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
@@ -1896,6 +2494,15 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+ },
+ "node_modules/resource-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz",
+ "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==",
+ "dependencies": {
+ "mini-signals": "^1.2.0",
+ "parse-uri": "^1.0.0"
+ }
},
"node_modules/rollup": {
"version": "4.18.0",
@@ -1947,10 +2554,43 @@
"semver": "bin/semver.js"
}
},
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/shallow-equal": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/source-map-js": {
"version": "1.2.0",
@@ -2024,6 +2664,18 @@
},
"peerDependencies": {
"browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/url": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz",
+ "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==",
+ "dependencies": {
+ "punycode": "^1.4.1",
+ "qs": "^6.12.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/vite": {
@@ -2668,6 +3320,349 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "@pixi/accessibility": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.3.12.tgz",
+ "integrity": "sha512-JnfII2VsIeIpvyn1VMNDlhhq5BzHwwHn8sMRKhS3kFyxn4CdP0E4Ktn3/QK0vmL9sHCeTlto5Ybj3uuoKZwCWg==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/app": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.3.12.tgz",
+ "integrity": "sha512-XMpqoO+1BFIVakgHX/VlBaO4qWxg9TitvybDeXZxyVlSCG84DMNulN55jYufVp92nqHhiRr2fAIc9JDccOcNcQ==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12"
+ }
+ },
+ "@pixi/constants": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.12.tgz",
+ "integrity": "sha512-UcuvZZ8cQu+ZC7ufLpKi8NfZX0FncPuxKd0Rf6u6pzO2SmHPq4C1moXYGDnkZjPFAjNYFFHC7chU+zolMtkL/g=="
+ },
+ "@pixi/core": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.12.tgz",
+ "integrity": "sha512-SKZPU2mP4UE4trWOTcubGekKwopnotbyR2X8nb68wffBd1GzMoaxyakltfJF2oCV/ivrru/biP4CkW9K6MJ56g==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/runner": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/ticker": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/display": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.12.tgz",
+ "integrity": "sha512-/fsH/GAxc62rvwTnmrnV8oGCkk4LwJ9pt2Jv3UIorNsjXyL0V5fGw7uZnilF2eSdu6LgQKBMWPOtBF0TNML3lg==",
+ "requires": {
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/extract": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.3.12.tgz",
+ "integrity": "sha512-PRs9sKeZT+eYSD8wGUqSjHhIRrfvnLU65IIJYlmgTxYo9U4rwzykt74v09ggMj/GFUpjsILISA5VIXM1TV79PQ==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/filter-alpha": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.3.12.tgz",
+ "integrity": "sha512-/VG+ojZZwStLfiYVKcX4XsXNiPZpv40ZgiDL6igZOMqUsWn7n7dhIgytmbx6uTUWfxIPlOQH3bJGEyAHVEgzZA==",
+ "requires": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "@pixi/filter-blur": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.3.12.tgz",
+ "integrity": "sha512-8zuOmztmuXCl1pXQpycKTS8HmXPtkmMe6xM93Q1gT7CRLzyS97H3pQAh4YuaGOrJslOKBNDrGVzLVY95fxjcTQ==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/settings": "5.3.12"
+ }
+ },
+ "@pixi/filter-color-matrix": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.3.12.tgz",
+ "integrity": "sha512-CblKOry/TvFm7L7iangxYtvQgO3a9n5MsmxDUue68DWZa/iI4r/3TSnsvA+Iijr590e9GsWxy3mj9P4HBMOGTA==",
+ "requires": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "@pixi/filter-displacement": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.3.12.tgz",
+ "integrity": "sha512-D/LpJxnGi85wHB6VeBpw0FQAN0mzHHUYNxCADwUhknY+SKfP5RhaYOlk79zqOuakBfQTzL3lPgMNH2EC85EJPw==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12"
+ }
+ },
+ "@pixi/filter-fxaa": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.3.12.tgz",
+ "integrity": "sha512-EI+foorDnYUAy7VF3fzi635u/dyf5EHZOFovGEDrHm/ZTmEJ1i6RolwexCN94vf6HGfaDrIgNmqFcKWtbIvJFA==",
+ "requires": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "@pixi/filter-noise": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.3.12.tgz",
+ "integrity": "sha512-9KWmlM2zRryY6o0bfNOHAckdCk8X7g9XWZbmEIXZZs7Jr90C1+RhDreqNs8OrMukmNo2cW9hMrshHgJ9aA1ftQ==",
+ "requires": {
+ "@pixi/core": "5.3.12"
+ }
+ },
+ "@pixi/graphics": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.3.12.tgz",
+ "integrity": "sha512-uBmFvq15rX0f459/4F2EnR2UhCgfwMWVJDB1L3OnCqQePE/z3ju4mfWEwOT+I7gGejWlGNE6YLdEMVNw/3zb6w==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/interaction": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.3.12.tgz",
+ "integrity": "sha512-Ks7vHDfDI58r1TzKHabnQXcXzFbUu2Sb4eQ3/jnzI/xGB5Z8Q0kS7RwJtFOWNZ67HHQdoHFkQIozTUXVXHs3oA==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/ticker": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/loaders": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.3.12.tgz",
+ "integrity": "sha512-M56m1GKpCChFqSic9xrdtQOXFqwYMvGzDXNpsKIsQbkHooaJhUR5UxSPaNiGC4qWv0TO9w8ANouxeX2v6js4eg==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/utils": "5.3.12",
+ "resource-loader": "^3.0.1"
+ }
+ },
+ "@pixi/math": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.12.tgz",
+ "integrity": "sha512-VMccUVKSRlLFTGQu6Z450q/W6LVibaFWEo2eSZZfxz+hwjlYiqRPx4heG++4Y6tGskZK7W8l8h+2ixjmo65FCg=="
+ },
+ "@pixi/mesh": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.3.12.tgz",
+ "integrity": "sha512-8ZiGZsZQBWoP1p8t9bSl/AfERb5l3QlwnY9zYVMDydF/UWfN1gKcYO4lKvaXw/HnLi4ZjE+OHoZVmePss9zzaw==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/mesh-extras": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.3.12.tgz",
+ "integrity": "sha512-tEBEEIh96aSGJ/KObdtlNcSzVfgrl9fBhvdUDOHepSyVG+SkmX4LMqP3DkGl6iUBDiq9FBRFaRgbxEd8G2U7yw==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/mesh": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/mixin-cache-as-bitmap": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.3.12.tgz",
+ "integrity": "sha512-hPiu8jCQJctN3OVJDgh7jqdtRgyB3qH1BWLM742MOZLjYnbOSamnqmI8snG+tba5yj/WfdjKB+8v0WNwEXlH6w==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/mixin-get-child-by-name": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.3.12.tgz",
+ "integrity": "sha512-VQv0GMNmfyBfug9pnvN5s/ZMKJ/AXvg+4RULTpwHFtAwlCdZu9IeNb4eviSSAwtOeBAtqk5c0MQSsdOUWOeIkA==",
+ "requires": {
+ "@pixi/display": "5.3.12"
+ }
+ },
+ "@pixi/mixin-get-global-position": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.3.12.tgz",
+ "integrity": "sha512-qxsfCC9BsKSjBlMH1Su/AVwsrzY8NHfcut5GkVvm2wa9+ypxFwU5fVsmk6+4a9G7af3iqmOlc9YDymAvbi+e8g==",
+ "requires": {
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12"
+ }
+ },
+ "@pixi/particles": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.3.12.tgz",
+ "integrity": "sha512-SV/gOJBFa4jpsEM90f1bz5EuMMiNAz81mu+lhiUxdQQjZ8y/S4TiK7OAiyc+hUtp97JbJ//6u+4ynGwbhV+WDA==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/polyfill": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.3.12.tgz",
+ "integrity": "sha512-qkm8TBIb6m7FmE/Cd/yVagONDlVF5/cWFSSnk4pWA/vt/HLNrXgY9Tx0IXAk6NNK/xc5deGcLPc4iw+DlEhsQw==",
+ "requires": {
+ "es6-promise-polyfill": "^1.2.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "@pixi/prepare": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.3.12.tgz",
+ "integrity": "sha512-loZhLzV4riet9MU72WpWIYF6LgbRM78S4soeZOr5SzL1/U5mBneOOmfStaui7dN2GKQKp5GLygDF4dH3FPalnA==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/graphics": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/text": "5.3.12",
+ "@pixi/ticker": "5.3.12"
+ }
+ },
+ "@pixi/runner": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.12.tgz",
+ "integrity": "sha512-I5mXx4BiP8Bx5CFIXy3XV3ABYFXbIWaY6FxWsNFkySn0KUhizN7SarPdhFGs//hJuC54EH2FsKKNa98Lfc2nCQ=="
+ },
+ "@pixi/settings": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.12.tgz",
+ "integrity": "sha512-tLAa8tpDGllgj88NMUQn2Obn9MFJfHNF/CKs8aBhfeZGU4yL4PZDtlI+tqaB1ITGl3xxyHmJK+qfmv5lJn+zyA==",
+ "requires": {
+ "ismobilejs": "^1.1.0"
+ }
+ },
+ "@pixi/sprite": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.12.tgz",
+ "integrity": "sha512-vticet92RFZ3nDZ6/VDwZ7RANO0jzyXOF/5RuJf0yNVJgBoH4cNix520FfsBWE2ormD+z5t1KEmFeW4e35z2kw==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/sprite-animated": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.3.12.tgz",
+ "integrity": "sha512-WkGdGRfqboXFzMZ/SM6pCVukYmG2E2IlpcFz7aEeWvKL2Icm4YtaCBpHHDU07vvA6fP6JrstlCx1RyTENtOeGA==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/ticker": "5.3.12"
+ }
+ },
+ "@pixi/sprite-tiling": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.3.12.tgz",
+ "integrity": "sha512-5/gtNT46jIo7M69sixqkta1aXVhl4NTwksD9wzqjdZkQG8XPpKmHtXamROY2Fw3R+m+KGgyK8ywAf78tPvxPwg==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/spritesheet": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.3.12.tgz",
+ "integrity": "sha512-0t5HKgLx0uWtENtkW0zVpqvmfoxqMcRAYB7Nwk2lkgZMBPCOFtFF/4Kdp9Sam5X0EBMRGkmIelW3fD6pniSvCw==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/loaders": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/text": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.3.12.tgz",
+ "integrity": "sha512-tvrDVetwVjq1PVDR6jq4umN/Mv/EPHioEOHhyep63yvFIBFv75mDTg2Ye0CPzkmjqwXXvAY+hHpNwuOXTB40xw==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/text-bitmap": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.3.12.tgz",
+ "integrity": "sha512-tiorA3XdriJKJtUhMDcKX1umE3hGbaNJ/y0ZLuQ0lCvoTLrN9674HtveutoR9KkXWguDHCSk2cY+y3mNAvjPHA==",
+ "requires": {
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/loaders": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/mesh": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/text": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
+ "@pixi/ticker": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.12.tgz",
+ "integrity": "sha512-YNYUj94XgogipYhPOjbdFBIsy7+U6KmolvK+Av1G88GDac5SDoALb1Nt6s23fd8HIz6b4YnabHOdXGz3zPir1Q==",
+ "requires": {
+ "@pixi/settings": "5.3.12"
+ }
+ },
+ "@pixi/utils": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.12.tgz",
+ "integrity": "sha512-PU/L852YjVbTy/6fDKQtYji6Vqcwi5FZNIjK6JXKuDPF411QfJK3QBaEqJTrexzHlc9Odr0tYECjwtXkCUR02g==",
+ "requires": {
+ "@pixi/constants": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "earcut": "^2.1.5",
+ "eventemitter3": "^3.1.0",
+ "url": "^0.11.0"
+ }
+ },
"@rollup/rollup-android-arm-eabi": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
@@ -3016,6 +4011,18 @@
"update-browserslist-db": "^1.0.16"
}
},
+ "call-bind": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ }
+ },
"camelcase": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
@@ -3090,6 +4097,16 @@
"ms": "2.1.2"
}
},
+ "define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ }
+ },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -3105,6 +4122,11 @@
"resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
"integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
},
+ "earcut": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz",
+ "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ=="
+ },
"electron-to-chromium": {
"version": "1.4.812",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.812.tgz",
@@ -3114,6 +4136,24 @@
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
+ },
+ "es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "requires": {
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
+ "es6-promise-polyfill": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz",
+ "integrity": "sha512-HHb0vydCpoclpd0ySPkRXMmBw80MRt1wM4RBJBlXkux97K7gleabZdsR0gvE1nNPM9mgOZIBTzjjXiPxf4lIqQ=="
},
"esbuild": {
"version": "0.21.5",
@@ -3160,6 +4200,11 @@
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
+ "eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="
+ },
"follow-redirects": {
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
@@ -3181,20 +4226,71 @@
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"optional": true
},
+ "function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
+ },
"gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
+ },
+ "get-intrinsic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "requires": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ }
},
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
},
+ "gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "requires": {
+ "get-intrinsic": "^1.1.3"
+ }
+ },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
+ },
+ "has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "requires": {
+ "es-define-property": "^1.0.0"
+ }
+ },
+ "has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+ },
+ "hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "requires": {
+ "function-bind": "^1.1.2"
+ }
},
"html-tags": {
"version": "3.3.1",
@@ -3205,6 +4301,11 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
"integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g=="
+ },
+ "ismobilejs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz",
+ "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw=="
},
"js-tokens": {
"version": "4.0.0",
@@ -3268,6 +4369,11 @@
"mime-db": "1.52.0"
}
},
+ "mini-signals": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mini-signals/-/mini-signals-1.2.0.tgz",
+ "integrity": "sha512-alffqMkGCjjTSwvYMVLx+7QeJ6sTuxbXqBkP21my4iWU5+QpTQAJt3h7htA1OKm9F3BpMM0vnu72QIoiJakrLA=="
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -3287,6 +4393,21 @@
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
+ },
+ "object-inspect": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
+ "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g=="
+ },
+ "parse-uri": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/parse-uri/-/parse-uri-1.0.9.tgz",
+ "integrity": "sha512-YZfRHHkEZa6qTfPF/xgZ1ErQYCABfud/Vcqp1Q1GNa7RKwv6Oe0YaxXfQQMnQsGdNTo3fwaT0GbVEX7dMAr7tw=="
},
"picocolors": {
"version": "1.0.1",
@@ -3310,6 +4431,47 @@
}
}
},
+ "pixi.js": {
+ "version": "5.3.12",
+ "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-5.3.12.tgz",
+ "integrity": "sha512-XZzUhrq/m6fx3E0ESv/zXKEVR/GW82dPmbwdapIqsgAldKT2QqBYMfz1WuPf+Q9moPapywVNjjyxPvh+DNPmIg==",
+ "requires": {
+ "@pixi/accessibility": "5.3.12",
+ "@pixi/app": "5.3.12",
+ "@pixi/constants": "5.3.12",
+ "@pixi/core": "5.3.12",
+ "@pixi/display": "5.3.12",
+ "@pixi/extract": "5.3.12",
+ "@pixi/filter-alpha": "5.3.12",
+ "@pixi/filter-blur": "5.3.12",
+ "@pixi/filter-color-matrix": "5.3.12",
+ "@pixi/filter-displacement": "5.3.12",
+ "@pixi/filter-fxaa": "5.3.12",
+ "@pixi/filter-noise": "5.3.12",
+ "@pixi/graphics": "5.3.12",
+ "@pixi/interaction": "5.3.12",
+ "@pixi/loaders": "5.3.12",
+ "@pixi/math": "5.3.12",
+ "@pixi/mesh": "5.3.12",
+ "@pixi/mesh-extras": "5.3.12",
+ "@pixi/mixin-cache-as-bitmap": "5.3.12",
+ "@pixi/mixin-get-child-by-name": "5.3.12",
+ "@pixi/mixin-get-global-position": "5.3.12",
+ "@pixi/particles": "5.3.12",
+ "@pixi/polyfill": "5.3.12",
+ "@pixi/prepare": "5.3.12",
+ "@pixi/runner": "5.3.12",
+ "@pixi/settings": "5.3.12",
+ "@pixi/sprite": "5.3.12",
+ "@pixi/sprite-animated": "5.3.12",
+ "@pixi/sprite-tiling": "5.3.12",
+ "@pixi/spritesheet": "5.3.12",
+ "@pixi/text": "5.3.12",
+ "@pixi/text-bitmap": "5.3.12",
+ "@pixi/ticker": "5.3.12",
+ "@pixi/utils": "5.3.12"
+ }
+ },
"postcss": {
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
@@ -3325,6 +4487,19 @@
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
+ },
+ "qs": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "requires": {
+ "side-channel": "^1.0.6"
+ }
+ },
"regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
@@ -3334,6 +4509,15 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+ },
+ "resource-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz",
+ "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==",
+ "requires": {
+ "mini-signals": "^1.2.0",
+ "parse-uri": "^1.0.0"
+ }
},
"rollup": {
"version": "4.18.0",
@@ -3373,10 +4557,34 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
},
+ "set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
"shallow-equal": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
+ },
+ "side-channel": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ }
},
"source-map-js": {
"version": "1.2.0",
@@ -3420,6 +4628,15 @@
"picocolors": "^1.0.1"
}
},
+ "url": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz",
+ "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==",
+ "requires": {
+ "punycode": "^1.4.1",
+ "qs": "^6.12.3"
+ }
+ },
"vite": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz",
diff --git a/zy-asrs-admin/package.json b/zy-asrs-admin/package.json
index 66fee95..ec9100c 100644
--- a/zy-asrs-admin/package.json
+++ b/zy-asrs-admin/package.json
@@ -14,6 +14,7 @@
"ant-design-vue": "^4.2.3",
"axios": "^1.7.2",
"pinia": "^2.1.7",
+ "pixi.js": "^5.3.12",
"vue": "^3.4.29",
"vue-router": "^4.3.3",
"vue3-print-nb": "^0.1.4"
@@ -23,4 +24,4 @@
"@vue/babel-plugin-jsx": "^1.2.2",
"vite": "^5.3.1"
}
-}
\ No newline at end of file
+}
diff --git a/zy-asrs-admin/src/App.vue b/zy-asrs-admin/src/App.vue
index 35965a2..5f4bb58 100644
--- a/zy-asrs-admin/src/App.vue
+++ b/zy-asrs-admin/src/App.vue
@@ -3,17 +3,33 @@
import IndexView from './views/IndexView.vue'
import LoginView from './views/login/LoginView.vue'
import { globalState } from './config.js'
-import zhCN from 'ant-design-vue/es/locale/zh_CN';
-import enUS from 'ant-design-vue/es/locale/en_US';
-import dayjs from 'dayjs';
-import 'dayjs/locale/zh-cn';
+import zh_CN from 'ant-design-vue/es/locale/zh_CN';
+import zh_HK from 'ant-design-vue/es/locale/zh_CN';
+import en_US from 'ant-design-vue/es/locale/en_US';
+import es_ES from 'ant-design-vue/es/locale/es_ES';
+import ar_EG from 'ant-design-vue/es/locale/ar_EG';
+import de_DE from 'ant-design-vue/es/locale/de_DE';
+import fr_FR from 'ant-design-vue/es/locale/fr_FR';
+import ru_RU from 'ant-design-vue/es/locale/ru_RU';
+import ko_KR from 'ant-design-vue/es/locale/ko_KR';
+// import dayjs from 'dayjs';
+// import 'dayjs/locale/zh-cn';
+// import 'dayjs/locale/zh-hk';
+// import 'dayjs/locale/es';
+// dayjs.locale('zh-cn');
const context = getCurrentInstance()?.appContext.config.globalProperties;
-dayjs.locale('zh-cn');
provide('globalState', globalState);
const localeType = {
- zhCN,
- enUS,
+ zh_CN,
+ zh_HK,
+ en_US,
+ es_ES,
+ ar_EG,
+ de_DE,
+ fr_FR,
+ ru_RU,
+ ko_KR,
};
console.log('%c 涓壃绔嬪簱骞冲彴 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;')
diff --git a/zy-asrs-admin/src/components/loc/map/index.vue b/zy-asrs-admin/src/components/loc/map/index.vue
new file mode 100644
index 0000000..3a1cc8b
--- /dev/null
+++ b/zy-asrs-admin/src/components/loc/map/index.vue
@@ -0,0 +1,772 @@
+<script setup>
+import { ref, onMounted, watch } from 'vue';
+import { get, post, postBlob } from '@/utils/request.js'
+import { message, Modal } from 'ant-design-vue';
+import { logout } from '@/config.js';
+import { formatMessage } from '@/utils/localeUtils.js';
+import {
+ CompressOutlined,
+} from "@ant-design/icons-vue";
+import * as PIXI from 'pixi.js'
+
+let width = 25;
+let height = 25;
+let pixiApp;
+let pixiStageMap = new Map();
+let objectsContainer;
+let map = []
+
+const pixiView = ref(null)
+const mapFps = ref(0)
+const currentLev = ref(1)
+const levList = ref([])
+const pointContainerWidth = ref(0)
+const drawer = ref(false)
+const drawerLocData = ref(null)
+const drawerLocDetls = ref([])
+const drawerLocDetlField = ref([])
+
+const drawerOper = ref(false)
+const drawerOperLocNo = ref(null)
+const drawerOperMatnr = ref(null)
+const drawerOperMaktx = ref(null)
+
+onMounted(() => {
+ createMap();
+ init(currentLev.value);
+})
+
+watch(drawer, (newVal, oldVal) => {
+ if (!drawer.value) {
+ var rectangle = pixiStageMap.get(drawerLocData.value.locNo)
+ updateColor(rectangle, rectangle.originColor);//鎭㈠棰滆壊
+ }
+})
+
+function switchLev(lev) {
+ currentLev.value = lev;
+ init(lev);
+}
+
+function init(lev) {
+ get('/api/locMap/getData/' + lev + '/auth', {}).then(resp => {
+ let result = resp.data;
+ if (result.code == 200) {
+ let tmp = JSON.parse(result.data);
+ let tmpMap = []
+ tmp.forEach((item, index) => {
+ let data2 = []
+ item.forEach((val, idx) => {
+ val.searchStatus = false//鎼滅储鏍囪
+ val.rectangle = null;
+ data2.push(val)
+ })
+ pointContainerWidth.value = item.length * (40 + 1)
+ tmpMap.push(data2)
+ })
+
+ createMapData(tmpMap);
+ }
+ })
+
+ get('/api/locMap/getLev', {}).then(resp => {
+ let result = resp.data;
+ if (result.code == 200) {
+ let tmp = result.data;
+ levList.value = tmp;
+ }
+ })
+}
+
+function createMap() {
+ //Create a Pixi Application
+ pixiApp = new PIXI.Application({
+ width: pixiView.value.offsetWidth,
+ height: window.innerHeight * 0.75,
+ backgroundColor: 0xF5F7F9FF,
+ // resizeTo: window
+ });
+
+ //Add the canvas that Pixi automatically created for you to the HTML document
+ pixiView.value.appendChild(pixiApp.view)
+
+ // 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
+ objectsContainer = new PIXI.Container();
+
+ pixiApp.stage.addChild(objectsContainer);
+
+ //*******************鎷栧姩鐢诲竷*******************
+ let stageOriginalPos;
+ let mouseDownPoint;
+ let touchBlank = false;
+ pixiApp.renderer.plugins.interaction.on(
+ 'pointerdown',
+ (event) => {
+ const globalPos = event.data.global;
+ // 璁板綍涓媠tage鍘熸潵鐨勪綅缃�
+ stageOriginalPos = [pixiApp.stage.position._x, pixiApp.stage.position._y];
+ // 璁板綍涓媘ouse down鐨勪綅缃�
+ mouseDownPoint = [globalPos.x, globalPos.y];
+ if (!event.target) {
+ // 鐐瑰埌浜嗙敾甯冪殑绌虹櫧浣嶇疆
+ touchBlank = true;
+ }
+ }
+ );
+
+ pixiApp.renderer.plugins.interaction.on(
+ 'pointermove',
+ (event) => {
+ const globalPos = event.data.global;
+
+ if (touchBlank) {
+ // 鎷栨嫿鐢诲竷
+ const dx = globalPos.x - mouseDownPoint[0];
+ const dy = globalPos.y - mouseDownPoint[1];
+ pixiApp.stage.position.set(
+ stageOriginalPos[0] + dx,
+ stageOriginalPos[1] + dy
+ );
+ }
+ }
+ );
+
+ pixiApp.renderer.plugins.interaction.on(
+ 'pointerup',
+ (event) => {
+ touchBlank = false;
+ }
+ );
+ //*******************鎷栧姩鐢诲竷*******************
+
+ //*******************缂╂斁鐢诲竷*******************
+ pixiApp.view.addEventListener('wheel', (event) => {
+ event.stopPropagation();
+ event.preventDefault();
+ // 鍥犱负鐢诲竷鏄厖婊¤绐楃殑锛屾墍浠lientX绛変簬mouse point鍦╮enderer涓婄殑x鍧愭爣
+ const globalPos = [event.clientX, event.clientY];
+ const delta = event.deltaY;
+ const oldZoom = pixiApp.stage.scale.x;
+ let newZoom = oldZoom * 0.999 ** delta;
+
+ // const oldStageMatrix = app.stage.localTransform.clone();
+ // const oldStagePos = oldStageMatrix.applyInverse(pointerGlobalPos);
+ const oldStagePos = globalPos;
+ const dx = oldStagePos[0] * oldZoom - oldStagePos[0] * newZoom;
+ const dy = oldStagePos[1] * oldZoom - oldStagePos[1] * newZoom;
+
+ pixiApp.stage.setTransform(
+ pixiApp.stage.position.x + dx,
+ pixiApp.stage.position.y + dy,
+ newZoom,
+ newZoom,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ );
+
+ });
+ //*******************缂╂斁鐢诲竷*******************
+
+ //*******************FPS*******************
+ var g_Time = 0;
+ pixiApp.ticker.add((delta) => {
+ var timeNow = (new Date()).getTime();
+ var timeDiff = timeNow - g_Time;
+ g_Time = timeNow;
+ var fps = 1000 / timeDiff;
+ mapFps.value = parseInt(fps)
+ });
+ //*******************FPS*******************
+}
+
+function createMapData(map) {
+ objectsContainer.removeChildren();
+ map.forEach((item, index) => {
+ for (let idx = 0; idx < item.length; idx++) {
+ let val = item[idx]
+ if (val.value < 0) {
+ continue;
+ }
+ let rectangle = getContainer(val.value, idx * width, index * height, map[index][idx].locSts);
+ rectangle.on('click', (e) => {
+ openLocDrawer(index, idx, map[index][idx], { x: e.data.originalEvent.offsetX, y: e.data.originalEvent.offsetY })
+ updateColor(rectangle, 0x9900ff);
+ });
+ rectangle.locX = index;
+ rectangle.locY = idx;
+
+ pixiStageMap.set(map[index][idx].locNo, rectangle);
+ objectsContainer.addChild(rectangle);
+ }
+ })
+
+ //瑙嗚灞呬腑
+ let containerWidth = (pixiApp.view.width - objectsContainer.width) / 2;
+ let containerHeight = (pixiApp.view.height - objectsContainer.height) / 2;
+ pixiApp.stage.position.set(containerWidth, containerHeight);
+}
+
+function containerAppViewCenter() {
+ //瑙嗚灞呬腑
+ let containerWidth = (pixiApp.view.width - objectsContainer.width) / 2;
+ let containerHeight = (pixiApp.view.height - objectsContainer.height) / 2;
+ pixiApp.stage.position.set(containerWidth, containerHeight);
+}
+
+function openLocDrawer(x, y, loc, e) {
+ drawer.value = true;
+ drawerLocData.value = loc;
+
+ get('/api/locDetl/locNo/' + loc.locNo, {}).then(resp => {
+ let result = resp.data;
+ if (result.code == 200) {
+ drawerLocDetls.value = result.data;
+ }
+ })
+}
+
+function getContainer(value, x, y, locSts) {
+ let rectangle = new PIXI.Graphics();
+ if (value === 0) {
+ if (locSts === "F") {
+ rectangle.beginFill(0xff0000);
+ rectangle.originColor = 0xff0000;
+ } else if (locSts === "O") {
+ rectangle.beginFill(0x55aaff);
+ rectangle.originColor = 0x55aaff;
+ } else if (locSts === "D") {
+ rectangle.beginFill(0xc2c934);
+ rectangle.originColor = 0xc2c934;
+ } else if (locSts === "P") {
+ rectangle.beginFill(0xf1aa19);
+ rectangle.originColor = 0xf1aa19;
+ } else if (locSts === "R") {
+ rectangle.beginFill(0x618593);
+ rectangle.originColor = 0x618593;
+ } else if (locSts === "S") {
+ rectangle.beginFill(0xfa736f);
+ rectangle.originColor = 0xfa736f;
+ } else {
+ rectangle.beginFill(0x86779d);
+ rectangle.originColor = 0x86779d;
+ }
+ } else if (value === 3) {//姣嶈建閬�
+ rectangle.beginFill(0x00ff7f);
+ rectangle.originColor = 0x00ff7f;
+ rectangle.visible = false;
+ } else if (value === 4) {//绔欑偣
+ rectangle.beginFill(0xffff00);
+ rectangle.originColor = 0xffff00;
+ rectangle.visible = false;
+ } else if (value === 5) {//鍏呯數妗�
+ rectangle.beginFill(0xffaa7f);
+ rectangle.originColor = 0xffaa7f;
+ rectangle.visible = false;
+ } else if (value === 9) {//杞ㄨ抗
+ rectangle.beginFill(0xff0000);
+ rectangle.originColor = 0xff0000;
+ }
+ // rectangle.lineStyle(1, 0xffffff, 1);
+ rectangle.drawRect(0, 0, width, height);
+ rectangle.x = x;
+ rectangle.y = y;
+ // 璁剧疆鏄惁鍙互浜や簰
+ rectangle.interactive = true;
+ rectangle.endFill();
+
+ // 鍒涘缓鏂囨湰瀵硅薄
+ const style = new PIXI.TextStyle({
+ fontSize: 14 * window.devicePixelRatio,
+ fill: 'white',
+ align: 'center', // 璁剧疆鏂囨湰姘村钩灞呬腑瀵归綈
+ verticalAlign: 'middle' // 璁剧疆鏂囨湰鍨傜洿灞呬腑瀵归綈
+ });
+ const text = new PIXI.Text(locSts, style);
+ text.anchor.set(0.5); // 璁剧疆鏂囨湰閿氱偣涓轰腑蹇冪偣
+ text.position.set(rectangle.width / 2, rectangle.height / 2); // 灏嗘枃鏈綅缃缃负Graphics瀵硅薄鐨勪腑蹇冪偣
+ // 灏嗘枃鏈璞℃坊鍔犲埌Graphics瀵硅薄涓�
+ rectangle.addChild(text);
+
+ return rectangle;
+}
+
+/**
+* 鏇存柊棰滆壊
+*/
+function updateColor(rectangle, color) {
+ rectangle.clear()
+ rectangle.beginFill(color);
+ rectangle.drawRect(0, 0, width, height);
+}
+
+</script>
+
+<script>
+export default {
+ name: '搴撲綅鍦板浘'
+}
+</script>
+
+<template>
+ <div style="position: relative;overflow: hidden;">
+ <div ref="pixiView">
+
+ </div>
+
+ <!--杈撳嚭鎿嶄綔鍜孎PS-->
+ <div style="position: absolute;top: 0px;right: 10px;user-select: none;">
+ <div>FPS:{{ mapFps }}</div>
+ <a-button @click="drawerOper = true">鎿嶄綔</a-button>
+ </div>
+
+ <!--杈撳嚭鎿嶄綔鍜孎PS-->
+ <div style="position: absolute;bottom: 0px;left: 0px;user-select: none;">
+ <a-button type="dashed" @click="containerAppViewCenter">
+ <CompressOutlined />
+ </a-button>
+ </div>
+
+ <div>
+ <a-drawer v-model:open="drawer" placement="right" style="background: #f3f3f3;">
+ <div style="margin-top: 10px;">
+ <a-tag>{{ formatMessage('locMap.locNo', '搴撲綅鍙�') }}</a-tag>{{ drawerLocData.locNo }}
+ </div>
+ <div style="margin-top: 20px;">
+ <a-tag>{{ formatMessage('locMap.locSts', '搴撲綅鐘舵��') }}</a-tag>{{ drawerLocData.locSts }}.{{
+ drawerLocData.locSts$ }}
+ </div>
+ <div style="margin-top: 20px;">
+ <div v-for="(item, index) in drawerLocDetls" :key="index" style="margin-top: 20px;">
+ <a-card :title="item.matnr" :bordered="false" style="width: 300px">
+ <div>{{ formatMessage('locMap.batch', '鎵瑰彿') }}锛歿{ item.batch }}</div>
+ <div>{{ formatMessage('locMap.orderNo', '鍗曟嵁缂栧彿') }}锛歿{ item.orderNo }}</div>
+ <div>{{ formatMessage('locMap.anfme', '鏁伴噺') }}锛歿{ item.anfme }}</div>
+ <div v-for="(field, index) in item.dynamicFieldsList" :key="index">{{
+ formatMessage('locMap.' + field.key, field.desc) }}锛歿{ field.value }}</div>
+ </a-card>
+ </div>
+ </div>
+ </a-drawer>
+ </div>
+
+ <div>
+ <a-drawer v-model:open="drawerOper" placement="right">
+ <div style="margin-top: 10px;">
+ <div>
+ {{ formatMessage('locMap.locNo', '搴撲綅鍙�') }}
+ </div>
+ <div style="margin-top: 10px;">
+ <a-input v-model:value="drawerOperLocNo" :placeholder="formatMessage('locMap.locNo', '搴撲綅鍙�')" />
+ </div>
+ </div>
+ <div style="margin-top: 20px;">
+ <div>
+ {{ formatMessage('locMap.matnr', '鍟嗗搧缂栧彿') }}
+ </div>
+ <div style="margin-top: 10px;">
+ <a-input v-model:value="drawerOperMatnr" :placeholder="formatMessage('locMap.matnr', '鍟嗗搧缂栧彿')" />
+ </div>
+ </div>
+ <div style="margin-top: 20px;">
+ <div>
+ {{ formatMessage('locMap.maktx', '鍟嗗搧鍚嶇О') }}
+ </div>
+ <div style="margin-top: 10px;">
+ <a-input v-model:value="drawerOperMaktx" :placeholder="formatMessage('locMap.maktx', '鍟嗗搧鍚嶇О')" />
+ </div>
+ </div>
+ <div style="margin-top: 20px;">
+ <a-button type="primary" @click="drawerOper = true">鎼滅储</a-button>
+ </div>
+
+ <div style="margin-top: 50px;">
+ <div v-for="(lev, index) in levList" :key="index" style="margin-top: 10px;">
+ <a-button :type="currentLev == lev ? 'primary' : 'dashed'" @click="switchLev(lev)"
+ style="width: 100%;">{{ lev }}F</a-button>
+ </div>
+ </div>
+ </a-drawer>
+ </div>
+ </div>
+</template>
+
+<style>
+* {
+ margin: 0;
+ padding: 0;
+}
+
+.pointContainer {
+ display: flex;
+ justify-content: center;
+ /*margin-top: 1px;*/
+}
+
+.pointBox {
+ background: #bababa;
+ width: 40px;
+ height: 40px;
+ /*margin-right: 1px;*/
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 14px;
+ user-select: none;
+ color: #fff;
+}
+
+.pointBox:hover {
+ background: #00ff7f;
+}
+
+.pointBoxEmpty {
+ background: #c2c934;
+}
+
+.pointBoxOut {
+ background: #f1aa19;
+}
+
+.pointBoxOutYy {
+ background: #618593;
+}
+
+.pointBoxInYy {
+ background: #fa736f;
+}
+
+.pointBoxGreen {
+ background: #00ff7f;
+}
+
+.pointBoxBlue {
+ background: #55aaff;
+}
+
+.pointBoxRed {
+ background: #ff0000;
+}
+
+.pointBoxStart {
+ background: #ffaa00;
+}
+
+.pointBoxEnd {
+ background: #ff55ff;
+}
+
+.pointBoxStation {
+ background: #ffff00;
+}
+
+.chargeStation {
+ background: #ffaa7f;
+}
+
+.pointBoxDefault {
+ background: #86779d;
+}
+
+.pointBoxSelected {
+ background: #00ff7f !important;
+}
+
+.pointBoxSearch {
+ background: #9900ff;
+}
+
+.crnLine {
+ width: auto;
+ height: 2px;
+ margin: 10px 0;
+ background: #000;
+ position: relative;
+}
+
+.popBox {
+ position: absolute;
+}
+
+/*鍗$墖鏍峰紡start*/
+.apple-card {
+ width: 190px;
+ height: 254px;
+ margin: 0 auto;
+ background-color: #011522;
+ border-radius: 8px;
+ z-index: 1;
+ animation: fadeInOut 0.5s 1;
+}
+
+.apple-card .tools {
+ display: flex;
+ align-items: center;
+ padding: 9px;
+}
+
+.apple-card .circle {
+ padding: 0 4px;
+}
+
+.apple-card .box {
+ display: inline-block;
+ align-items: center;
+ width: 10px;
+ height: 10px;
+ padding: 1px;
+ border-radius: 50%;
+}
+
+.apple-card .red {
+ background-color: #ff605c;
+ position: relative;
+}
+
+.apple-card .red:hover {
+ background-color: #ff0300;
+}
+
+.apple-card .red:hover::before {
+ content: "x";
+ font-size: 11px;
+ color: #fff;
+ width: 10px;
+ height: 10px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: absolute;
+ animation: fadeInOut 0.5s 1;
+}
+
+.apple-card .yellow {
+ background-color: #ffbd44;
+}
+
+.apple-card .green {
+ background-color: #00ca4e;
+}
+
+.apple-card .card-content {
+ color: #fff;
+ padding: 10px;
+}
+
+/*鍗$墖鏍峰紡end*/
+
+/*婊戝姩鍗$墖start*/
+.hoverCard {
+ width: 150px;
+ height: 224px;
+ border-radius: 20px;
+ background: #f5f5f5;
+ position: relative;
+ padding: 1.8rem;
+ border: 2px solid #c3c6ce;
+ transition: 0.5s ease-out;
+ overflow: visible;
+ margin-top: 30px;
+}
+
+.hoverCard .card-details {
+ color: black;
+ height: 100%;
+ gap: .5em;
+ display: grid;
+ place-content: center;
+}
+
+.hoverCard .card-button {
+ transform: translate(-50%, 125%);
+ width: 60%;
+ border-radius: 1rem;
+ border: none;
+ background-color: #008bf8;
+ color: #fff;
+ font-size: 1rem;
+ padding: .5rem 1rem;
+ position: absolute;
+ left: 50%;
+ bottom: 0;
+ opacity: 0;
+ transition: 0.3s ease-out;
+}
+
+.hoverCard .text-body {
+ color: rgb(134, 134, 134);
+}
+
+/*Text*/
+.hoverCard .text-title {
+ font-size: 1.5em;
+ font-weight: bold;
+}
+
+/*Hover*/
+.hoverCard:hover {
+ border-color: #008bf8;
+ box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.25);
+}
+
+.hoverCard:hover .card-button {
+ transform: translate(-50%, 50%);
+ opacity: 1;
+}
+
+/*婊戝姩鍗$墖end*/
+
+/*妤煎眰鎺у埗start*/
+.floorSelect {
+ --text: #414856;
+ --radio: #7C96B2;
+ --radio-checked: #4F29F0;
+ --radio-size: 20px;
+ --width: 150px;
+ --height: 200px;
+ --border-radius: 10px;
+ width: var(--width);
+ height: var(--height);
+ border-radius: var(--border-radius);
+ color: var(--text);
+ position: relative;
+ box-shadow: 0 10px 30px rgba(65, 72, 86, 0.05);
+ display: grid;
+ grid-template-columns: auto var(--radio-size);
+ align-items: center;
+}
+
+.floorSelect label {
+ cursor: pointer;
+}
+
+.floorSelect input[type="radio"] {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ position: relative;
+ height: var(--radio-size);
+ width: var(--radio-size);
+ outline: none;
+ margin: 0;
+ cursor: pointer;
+ border: 2px solid var(--radio);
+ background: transparent;
+ border-radius: 50%;
+ display: grid;
+ justify-self: end;
+ justify-items: center;
+ align-items: center;
+ overflow: hidden;
+ transition: border .5s ease;
+}
+
+.floorSelect input[type="radio"]::before,
+.floorSelect input[type="radio"]::after {
+ content: "";
+ display: flex;
+ justify-self: center;
+ border-radius: 50%;
+}
+
+.floorSelect input[type="radio"]::before {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ z-index: 1;
+ opacity: var(--opacity, 1);
+}
+
+.floorSelect input[type="radio"]::after {
+ position: relative;
+ width: calc(100% /2);
+ height: calc(100% /2);
+ background: var(--radio-checked);
+ top: var(--y, 100%);
+ transition: top 0.5s cubic-bezier(0.48, 1.97, 0.5, 0.63);
+}
+
+.floorSelect input[type="radio"]:checked {
+ --radio: var(--radio-checked);
+}
+
+.floorSelect input[type="radio"]:checked::after {
+ --y: 0%;
+ animation: stretch-animate .3s ease-out .17s;
+}
+
+.floorSelect input[type="radio"]:checked::before {
+ --opacity: 0;
+}
+
+.floorSelect input[type="radio"]:checked~input[type="radio"]::after {
+ --y: -100%;
+}
+
+.floorSelect input[type="radio"]:not(:checked)::before {
+ --opacity: 1;
+ transition: opacity 0s linear .5s;
+}
+
+@keyframes stretch-animate {
+ 0% {
+ transform: scale(1, 1);
+ }
+
+ 28% {
+ transform: scale(1.15, 0.85);
+ }
+
+ 50% {
+ transform: scale(0.9, 1.1);
+ }
+
+ 100% {
+ transform: scale(1, 1);
+ }
+}
+
+/*妤煎眰鎺у埗end*/
+
+/*鎼滅储start*/
+.search-input {
+ line-height: 28px;
+ border: 2px solid transparent;
+ border-bottom-color: #777;
+ padding: .2rem 0;
+ outline: none;
+ background-color: transparent;
+ color: #0d0c22;
+ transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1);
+}
+
+.search-input:focus,
+.search-input:hover {
+ outline: none;
+ padding: .2rem 1rem;
+ border-radius: 1rem;
+ border-color: #7a9cc6;
+}
+
+.search-input::placeholder {
+ color: #777;
+}
+
+.search-input:focus::placeholder {
+ opacity: 0;
+ transition: opacity .3s;
+}
+
+/*鎼滅储end*/
+
+@keyframes fadeInOut {
+ 0% {
+ opacity: 0;
+ }
+
+ 100% {
+ opacity: 1;
+ }
+}
+</style>
diff --git a/zy-asrs-admin/src/components/locDetl/show.vue b/zy-asrs-admin/src/components/locDetl/show.vue
index bfbb01e..794ad29 100644
--- a/zy-asrs-admin/src/components/locDetl/show.vue
+++ b/zy-asrs-admin/src/components/locDetl/show.vue
@@ -157,12 +157,12 @@
}
const handleOk = () => {
- openDetl.value = false;
+ open.value = false;
}
const handleCancel = () => {
- openDetl.value = false;
- orderId.value = null;
+ open.value = false;
+ locId.value = null;
}
watch(locId, (newVal, oldVal) => {
diff --git a/zy-asrs-admin/src/config.js b/zy-asrs-admin/src/config.js
index 791414c..674288d 100644
--- a/zy-asrs-admin/src/config.js
+++ b/zy-asrs-admin/src/config.js
@@ -4,15 +4,36 @@
url: 'http://127.0.0.1:8081/wms',
token: '',
user: null,
- locale: 'zhCN', // 榛樿璇█
+ locale: 'zh_CN', // 榛樿璇█
currentHost: null,
localeList: {//璇█鍒楄〃
- 'zhCN': {
+ 'zh_CN': {
desc: '绠�浣撲腑鏂�'
},
- 'enUS': {
- desc: 'English'
- }
+ 'zh_HK': {
+ desc: '绻佷綋涓枃'
+ },
+ 'en_US': {
+ desc: '鑻辫'
+ },
+ 'es_ES': {
+ desc: '瑗跨彮鐗欒'
+ },
+ 'ar_EG': {
+ desc: '闃挎媺浼'
+ },
+ 'de_DE': {
+ desc: '寰疯'
+ },
+ 'fr_FR': {
+ desc: '娉曡'
+ },
+ 'ru_RU': {
+ desc: '淇勭綏鏂'
+ },
+ 'ko_KR': {
+ desc: '闊╄'
+ },
},
localeData: {}
});
diff --git a/zy-asrs-admin/src/views/base/locTypeBind/edit.vue b/zy-asrs-admin/src/views/base/locTypeBind/edit.vue
index 238736f..d72df00 100644
--- a/zy-asrs-admin/src/views/base/locTypeBind/edit.vue
+++ b/zy-asrs-admin/src/views/base/locTypeBind/edit.vue
@@ -132,7 +132,7 @@
]">
</a-select>
</a-form-item>
- <a-form-item :label="formatMessage('db.man_loc_type_bind.create_time', '娣诲姞鏃堕棿')" name="createTime"
+ <!-- <a-form-item :label="formatMessage('db.man_loc_type_bind.create_time', '娣诲姞鏃堕棿')" name="createTime"
style="width: 250px;">
<a-date-picker v-model:value="formData.createTime" show-time format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss" />
@@ -155,7 +155,7 @@
style="width: 100%" show-search :options="userQueryList" optionFilterProp="label"
optionLabelProp="label">
</a-select>
- </a-form-item>
+ </a-form-item> -->
<a-form-item :label="formatMessage('db.man_loc_type_bind.memo', '澶囨敞')" name="memo"
style="width: 250px;">
<a-input v-model:value="formData.memo" />
diff --git a/zy-asrs-admin/src/views/base/locTypeBind/index.vue b/zy-asrs-admin/src/views/base/locTypeBind/index.vue
index 4490c60..fa9de93 100644
--- a/zy-asrs-admin/src/views/base/locTypeBind/index.vue
+++ b/zy-asrs-admin/src/views/base/locTypeBind/index.vue
@@ -5,6 +5,7 @@
import { message, Modal } from 'ant-design-vue';
import { logout } from '@/config.js';
import EditView from './edit.vue'
+import InitView from './init.vue'
import { formatMessage } from '@/utils/localeUtils.js';
const context = getCurrentInstance()?.appContext.config.globalProperties;
@@ -15,6 +16,7 @@
let pageSize = 10;
const searchInput = ref("")
const editChild = ref(null)
+const initChild = ref(null)
let currentLocType = ref(null)
let tableData = ref([]);
@@ -133,6 +135,10 @@
message.error(result.msg);
}
})
+}
+
+const handleInit = (item) => {
+ initChild.value.open = true;
}
const handleEdit = (item) => {
@@ -259,12 +265,13 @@
</a-card>
<a-card style="flex: 10;">
+ <InitView ref="initChild" @tableReload="handleTableReload" />
<EditView ref="editChild" @tableReload="handleTableReload" />
<div class="table-header">
<a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
style="width: 200px;" @search="onSearch" />
<div class="table-header-right">
- <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.init', '鍒濆鍖�') }}</a-button>
+ <a-button @click="handleInit(null)" type="primary">{{ formatMessage('page.init', '鍒濆鍖�') }}</a-button>
<a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button>
<a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button>
</div>
diff --git a/zy-asrs-admin/src/views/base/locTypeBind/init.vue b/zy-asrs-admin/src/views/base/locTypeBind/init.vue
new file mode 100644
index 0000000..174aa9d
--- /dev/null
+++ b/zy-asrs-admin/src/views/base/locTypeBind/init.vue
@@ -0,0 +1,137 @@
+<script setup>
+import { ref, nextTick } from 'vue';
+import { get, post, postBlob, postForm } from '@/utils/request.js'
+import { formatMessage } from '@/utils/localeUtils.js';
+import { message } from 'ant-design-vue';
+
+const formTable = ref(null);
+const submitButton = ref(null);
+const isSave = ref(true);
+const open = ref(false);
+const initFormData = {}
+let formData = ref(initFormData);
+
+const emit = defineEmits(['tableReload'])
+
+const handleOk = (e) => {
+ nextTick(() => {
+ setTimeout(() => {
+ submitButton.value.$el.click();
+ }, 100);
+ });
+};
+
+const onFinish = values => {
+ // console.log('Success:', values);
+ open.value = false;
+ post('/api/locTypeBind/init', formData.value).then((resp) => {
+ let result = resp.data;
+ if (result.code === 200) {
+ message.success(formatMessage('page.add.success', '鍒濆鍖栨垚鍔�'));
+ } else {
+ message.error(result.msg);
+ }
+ emit('tableReload', 'reload')
+ nextTick(() => {
+ formTable.value.resetFields()
+ })
+ })
+};
+const onFinishFailed = errorInfo => {
+ console.log('Failed:', errorInfo);
+};
+
+const locQueryList = ref(null);
+locQuery();
+function locQuery() {
+ postForm('/api/loc/query', {}).then(resp => {
+ let result = resp.data;
+ locQueryList.value = result.data;
+ })
+}
+const locTypeQueryList = ref(null);
+locTypeQuery();
+function locTypeQuery() {
+ post('/api/locType/tree', {}).then(resp => {
+ let result = resp.data;
+ locTypeQueryList.value = result.data;
+ })
+}
+const userQueryList = ref(null);
+userQuery();
+function userQuery() {
+ postForm('/api/user/query', {}).then(resp => {
+ let result = resp.data;
+ userQueryList.value = result.data;
+ })
+}
+
+
+defineExpose({
+ open,
+})
+
+</script>
+
+<script>
+export default {
+ name: '搴撲綅绫诲瀷缁戝畾-init'
+}
+</script>
+
+<template>
+ <div>
+ <a-modal v-model:open="open" :title="formatMessage('page.init', '鍒濆鍖�')" @ok="handleOk" style="width: 600px;">
+ <a-form :model="formData" ref="formTable" name="formTable" :label-col="{ span: 8 }"
+ :wrapper-col="{ span: 16 }" style="display: flex;justify-content: space-between;flex-wrap: wrap;"
+ autocomplete="off" @finish="onFinish" @finishFailed="onFinishFailed">
+ <a-form-item :label="formatMessage('db.man_loc_area_type.type_id', '搴撲綅绫诲瀷')" name="typeId"
+ style="width: 250px;" :rules="[{ required: true }]">
+ <a-tree-select v-model:value="formData.typeId" show-search style="width: 100%"
+ :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+ :placeholder="formatMessage('page.input', '璇疯緭鍏�')" allow-clea tree-data-simple-mode
+ :tree-data="locTypeQueryList" tree-node-filter-prop="name" :field-names="{
+ children: 'children',
+ label: 'name',
+ value: 'id',
+ }">
+ <template #title="{ value: id, name }">
+ {{ name }}
+ </template>
+ </a-tree-select>
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_area_type.start_row', '璧峰鎺�')" name="startRow"
+ style="width: 250px;" :rules="[{ required: true }]">
+ <a-input v-model:value="formData.startRow" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_area_type.target_row', '缁撴潫鎺�')" name="targetRow"
+ style="width: 250px;" :rules="[{ required: true }]">
+ <a-input v-model:value="formData.targetRow" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_area_type.start_bay', '璧峰鍒�')" name="startBay"
+ style="width: 250px;" :rules="[{ required: true }]">
+ <a-input v-model:value="formData.startBay" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_area_type.target_bay', '缁撴潫鍒�')" name="targetBay"
+ style="width: 250px;" :rules="[{ required: true }]">
+ <a-input v-model:value="formData.targetBay" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_area_type.start_lev', '璧峰灞�')" name="startLev"
+ style="width: 250px;" :rules="[{ required: true }]">
+ <a-input v-model:value="formData.startLev" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_area_type.target_lev', '缁撴潫灞�')" name="targetLev"
+ style="width: 250px;" :rules="[{ required: true }]">
+ <a-input v-model:value="formData.targetLev" />
+ </a-form-item>
+
+ <a-form-item>
+ <a-button type="primary" html-type="submit" ref="submitButton"
+ style="visibility: hidden;">Submit</a-button>
+ </a-form-item>
+ </a-form>
+ </a-modal>
+ </div>
+</template>
+
+<style></style>
diff --git a/zy-asrs-admin/src/views/loc/loc/index.vue b/zy-asrs-admin/src/views/loc/loc/index.vue
index da53d69..5d3d7c3 100644
--- a/zy-asrs-admin/src/views/loc/loc/index.vue
+++ b/zy-asrs-admin/src/views/loc/loc/index.vue
@@ -229,7 +229,6 @@
}
const showDetl = (record) => {
- console.log(record);
locDetlShowChild.value.open = true;
locDetlShowChild.value.locId = record.id;
}
diff --git a/zy-asrs-admin/src/views/loc/locMap/edit.vue b/zy-asrs-admin/src/views/loc/locMap/edit.vue
new file mode 100644
index 0000000..eeafd43
--- /dev/null
+++ b/zy-asrs-admin/src/views/loc/locMap/edit.vue
@@ -0,0 +1,128 @@
+<script setup>
+import { ref, nextTick } from 'vue';
+import { get, post, postBlob, postForm } from '@/utils/request.js'
+import { formatMessage } from '@/utils/localeUtils.js';
+import { message } from 'ant-design-vue';
+
+const formTable = ref(null);
+const submitButton = ref(null);
+const isSave = ref(true);
+const open = ref(false);
+const initFormData = {}
+let formData = ref(initFormData);
+
+const emit = defineEmits(['tableReload'])
+
+const handleOk = (e) => {
+ nextTick(() => {
+ setTimeout(() => {
+ submitButton.value.$el.click();
+ }, 100);
+ });
+};
+
+const onFinish = values => {
+ // console.log('Success:', values);
+ open.value = false;
+ post(isSave.value ? '/api/locMap/save' : '/api/locMap/update', formData.value).then((resp) => {
+ let result = resp.data;
+ if (result.code === 200) {
+ message.success(isSave.value ? formatMessage('page.add.success', '鏂板鎴愬姛') : formatMessage('page.update.success', '鏇存柊鎴愬姛'));
+ } else {
+ message.error(result.msg);
+ }
+ emit('tableReload', 'reload')
+ nextTick(() => {
+ formTable.value.resetFields()
+ })
+ })
+};
+const onFinishFailed = errorInfo => {
+ console.log('Failed:', errorInfo);
+};
+
+const userQueryList = ref(null);
+userQuery();
+function userQuery() {
+ postForm('/api/user/query', {}).then(resp => {
+ let result = resp.data;
+ userQueryList.value = result.data;
+ })
+}
+
+
+defineExpose({
+ open,
+ formData,
+ initFormData,
+ isSave,
+})
+
+</script>
+
+<script>
+export default {
+ name: '搴撲綅鍦板浘-edit'
+}
+</script>
+
+<template>
+ <div>
+ <a-modal v-model:open="open"
+ :title="isSave ? formatMessage('page.add', '娣诲姞') : formatMessage('page.edit', '缂栬緫')" @ok="handleOk"
+ style="width: 600px;">
+ <a-form :model="formData" ref="formTable" name="formTable" :label-col="{ span: 8 }"
+ :wrapper-col="{ span: 16 }" style="display: flex;justify-content: space-between;flex-wrap: wrap;"
+ autocomplete="off" @finish="onFinish" @finishFailed="onFinishFailed">
+ <a-form-item :label="formatMessage('db.man_loc_map.data', '鍦板浘鏁版嵁')" name="data" style="width: 250px;">
+ <a-input v-model:value="formData.data" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_map.map_lev', '鍦板浘妤煎眰')" name="mapLev"
+ style="width: 250px;">
+ <a-input v-model:value="formData.mapLev" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_map.status', '鐘舵��')" name="status" style="width: 250px;">
+ <a-select v-model:value="formData.status" :options="[
+ { label: '姝e父', value: 1 },
+ { label: '绂佺敤', value: 0 },
+ ]">
+ </a-select>
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_map.create_time', '娣诲姞鏃堕棿')" name="createTime"
+ style="width: 250px;">
+ <a-date-picker v-model:value="formData.createTime" show-time format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_map.create_by', '娣诲姞浜哄憳')" name="createBy"
+ style="width: 250px;">
+ <a-select v-model:value="formData.createBy" :placeholder="formatMessage('common.select', '璇烽�夋嫨')"
+ style="width: 100%" show-search :options="userQueryList" optionFilterProp="label"
+ optionLabelProp="label">
+ </a-select>
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_map.update_time', '淇敼鏃堕棿')" name="updateTime"
+ style="width: 250px;">
+ <a-date-picker v-model:value="formData.updateTime" show-time format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss" />
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_map.update_by', '淇敼浜哄憳')" name="updateBy"
+ style="width: 250px;">
+ <a-select v-model:value="formData.updateBy" :placeholder="formatMessage('common.select', '璇烽�夋嫨')"
+ style="width: 100%" show-search :options="userQueryList" optionFilterProp="label"
+ optionLabelProp="label">
+ </a-select>
+ </a-form-item>
+ <a-form-item :label="formatMessage('db.man_loc_map.memo', '澶囨敞')" name="memo" style="width: 250px;">
+ <a-input v-model:value="formData.memo" />
+ </a-form-item>
+
+ <a-form-item>
+ <a-button type="primary" html-type="submit" ref="submitButton"
+ style="visibility: hidden;">Submit</a-button>
+ </a-form-item>
+ </a-form>
+ </a-modal>
+ </div>
+</template>
+
+<style></style>
diff --git a/zy-asrs-admin/src/views/loc/locMap/index.vue b/zy-asrs-admin/src/views/loc/locMap/index.vue
new file mode 100644
index 0000000..2930318
--- /dev/null
+++ b/zy-asrs-admin/src/views/loc/locMap/index.vue
@@ -0,0 +1,54 @@
+<script setup>
+import { getCurrentInstance, ref, computed, reactive } from 'vue';
+import { useRouter } from "vue-router";
+import { get, post, postBlob } from '@/utils/request.js'
+import { message, Modal } from 'ant-design-vue';
+import { logout } from '@/config.js';
+import { formatMessage } from '@/utils/localeUtils.js';
+import MapView from '@/components/loc/map/index.vue'
+import LocMapView from './locMap.vue'
+import {
+ FormOutlined,
+ CameraOutlined,
+} from "@ant-design/icons-vue";
+
+const currentPage = ref("map")
+
+const switchPage = () => {
+ let tmp = ''
+ if (currentPage.value == 'map') {
+ tmp = 'locMap'
+ }
+ if (currentPage.value == 'locMap') {
+ tmp = 'map'
+ }
+ currentPage.value = tmp;
+}
+
+</script>
+
+<script>
+export default {
+ name: '搴撲綅鍦板浘'
+}
+</script>
+
+<template>
+ <a-float-button :style="{
+ right: '24px',
+ bottom: '100px'
+ }" @click="switchPage()">
+ <template #icon>
+ <div v-if="currentPage == 'map'">
+ <FormOutlined />
+ </div>
+ <div v-else>
+ <CameraOutlined />
+ </div>
+ </template>
+ </a-float-button>
+ <MapView v-if="currentPage == 'map'" />
+ <LocMapView v-else />
+</template>
+
+<style></style>
diff --git a/zy-asrs-admin/src/views/loc/locMap/locMap.vue b/zy-asrs-admin/src/views/loc/locMap/locMap.vue
new file mode 100644
index 0000000..a6a152a
--- /dev/null
+++ b/zy-asrs-admin/src/views/loc/locMap/locMap.vue
@@ -0,0 +1,250 @@
+<script setup>
+import { getCurrentInstance, ref, computed, reactive } from 'vue';
+import { useRouter } from "vue-router";
+import { get, post, postBlob } from '@/utils/request.js'
+import { message, Modal } from 'ant-design-vue';
+import { logout } from '@/config.js';
+import EditView from './edit.vue'
+import { formatMessage } from '@/utils/localeUtils.js';
+import useTableSearch from '@/utils/tableUtils.jsx';
+const context = getCurrentInstance()?.appContext.config.globalProperties;
+
+const router = useRouter();
+
+const TABLE_KEY = 'table-locMap';
+let currentPage = 1;
+let pageSize = 10;
+const searchInput = ref("")
+const editChild = ref(null)
+
+let tableData = ref([]);
+getPage();
+
+const {
+ getColumnSearchProps,
+ handleResizeColumn,
+} = useTableSearch();
+
+const columns = [
+ {
+ title: formatMessage('db.man_loc_map.data', '鍦板浘鏁版嵁'),
+ dataIndex: 'data',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('data'),
+ },
+ {
+ title: formatMessage('db.man_loc_map.map_lev', '鍦板浘妤煎眰'),
+ dataIndex: 'mapLev',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('mapLev'),
+ },
+ {
+ title: formatMessage('db.man_loc_map.status', '鐘舵��'),
+ dataIndex: 'status$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('status$'),
+ },
+ {
+ title: formatMessage('db.man_loc_map.create_time', '娣诲姞鏃堕棿'),
+ dataIndex: 'createTime$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('createTime$'),
+ },
+ {
+ title: formatMessage('db.man_loc_map.create_by', '娣诲姞浜哄憳'),
+ dataIndex: 'createBy$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('createBy$'),
+ },
+ {
+ title: formatMessage('db.man_loc_map.update_time', '淇敼鏃堕棿'),
+ dataIndex: 'updateTime$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('updateTime$'),
+ },
+ {
+ title: formatMessage('db.man_loc_map.update_by', '淇敼浜哄憳'),
+ dataIndex: 'updateBy$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('updateBy$'),
+ },
+ {
+ title: formatMessage('db.man_loc_map.memo', '澶囨敞'),
+ dataIndex: 'memo',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('memo'),
+ },
+
+ {
+ title: formatMessage('common.operation', '鎿嶄綔'),
+ name: 'oper',
+ dataIndex: 'oper',
+ key: 'oper',
+ width: 240,
+ fixed: 'right',
+ },
+];
+
+const state = reactive({
+ selectedRowKeys: [],
+ loading: false,
+});
+const hasSelected = computed(() => state.selectedRowKeys.length > 0);
+const start = () => {
+ state.loading = true;
+ // ajax request after empty completing
+ setTimeout(() => {
+ state.loading = false;
+ state.selectedRowKeys = [];
+ }, 1000);
+};
+const onSelectChange = selectedRowKeys => {
+ // console.log('selectedRowKeys changed: ', selectedRowKeys);
+ state.selectedRowKeys = selectedRowKeys;
+};
+
+function getPage() {
+ post('/api/locMap/page', {
+ current: currentPage,
+ pageSize: pageSize,
+ condition: searchInput.value
+ }).then((resp) => {
+ let result = resp.data;
+ if (result.code == 200) {
+ let data = result.data;
+ tableData.value = data;
+ } else if (result.code === 401) {
+ message.error(result.msg);
+ logout()
+ } else {
+ message.error(result.msg);
+ }
+ })
+}
+
+const handleInit = (item) => {
+ Modal.confirm({
+ title: formatMessage('page.locMap.confirm.title', '鍒濆鍖�'),
+ content: formatMessage('page.locMap.confirm', '纭畾鍒濆鍖栧簱浣嶅悧锛�'),
+ maskClosable: true,
+ onOk: async () => {
+ const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�'));
+ try {
+ post('/api/locMap/init', item).then(resp => {
+ let result = resp.data;
+ if (result.code === 200) {
+ message.success(result.msg);
+ } else {
+ message.error(result.msg);
+ }
+ getPage()
+ hide()
+ })
+ } catch (error) {
+ message.error(formatMessage('common.fail', '璇锋眰澶辫触'));
+ }
+ },
+ });
+}
+
+const handleEdit = (item) => {
+ editChild.value.open = true;
+ editChild.value.formData = item == null ? editChild.value.initFormData : JSON.parse(JSON.stringify(item));
+ editChild.value.isSave = item == null;
+}
+
+const handleDel = (rows) => {
+ Modal.confirm({
+ title: formatMessage('page.delete', '鍒犻櫎'),
+ content: formatMessage('page.delete.confirm', '纭畾鍒犻櫎璇ラ」鍚楋紵'),
+ maskClosable: true,
+ onOk: async () => {
+ const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�'));
+ try {
+ post('/api/locMap/remove/' + rows.map((row) => row.id).join(','), {}).then(resp => {
+ let result = resp.data;
+ if (result.code === 200) {
+ message.success(result.msg);
+ } else {
+ message.error(result.msg);
+ }
+ getPage()
+ hide()
+ })
+ } catch (error) {
+ message.error(formatMessage('common.fail', '璇锋眰澶辫触'));
+ }
+ },
+ });
+}
+
+const handleExport = async (intl) => {
+ postBlob('/api/locMap/export', {}).then(result => {
+ const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });
+ window.location.href = window.URL.createObjectURL(blob);
+ return true;
+ })
+};
+
+const onSearch = () => {
+ // console.log('search');
+ getPage()
+}
+
+const onPageChange = (page, size) => {
+ currentPage = page;
+ pageSize = size;
+ getPage();
+}
+
+function handleTableReload(value) {
+ getPage()
+}
+
+</script>
+
+<script>
+export default {
+ name: '搴撲綅鍦板浘'
+}
+</script>
+
+<template>
+ <div>
+ <EditView ref="editChild" @tableReload="handleTableReload" />
+ <div class="table-header">
+ <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
+ style="width: 200px;" @search="onSearch" />
+ <div class="table-header-right">
+ <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button>
+ <a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button>
+ </div>
+ </div>
+ <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
+ :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
+ :pagination="{ total: tableData.total, onChange: onPageChange }"
+ :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn">
+ <template #bodyCell="{ column, text, record }">
+ <template v-if="column.dataIndex === 'oper'">
+ <div style="display: flex;justify-content: space-evenly;">
+ <a-button type="link" primary @click="handleInit(record)">{{ formatMessage('page.locMap.init', '鍒濆鍖栧簱浣�')
+ }}</a-button>
+ <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '缂栬緫') }}</a-button>
+ <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎')
+ }}</a-button>
+ </div>
+ </template>
+ </template>
+ </a-table>
+ </div>
+</template>
+
+<style></style>
diff --git a/zy-asrs-admin/src/views/system/language/edit.vue b/zy-asrs-admin/src/views/system/language/edit.vue
index 2c8c266..be70201 100644
--- a/zy-asrs-admin/src/views/system/language/edit.vue
+++ b/zy-asrs-admin/src/views/system/language/edit.vue
@@ -77,8 +77,8 @@
<a-form-item :label="formatMessage('db.sys_language.locale', '鍦板尯')" name="locale"
style="width: 250px;">
<a-select v-model:value="formData.locale" :options="[
- { label: '绠�浣撲腑鏂�', value: 'zhCN' },
- { label: 'English', value: 'enUS' },
+ { label: '绠�浣撲腑鏂�', value: 'zh_CN' },
+ { label: '鑻辫', value: 'en_US' },
]">
</a-select>
</a-form-item>
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
index 94ebbef..c196ef8 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
@@ -9,6 +9,7 @@
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.mapper.LocDetlMapper;
import com.zy.asrs.wms.asrs.service.LocDetlFieldService;
+import com.zy.asrs.wms.asrs.service.LocService;
import com.zy.asrs.wms.asrs.service.MatFieldService;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
@@ -28,6 +29,8 @@
@RequestMapping("/api")
public class LocDetlController extends BaseController {
+ @Autowired
+ private LocService locService;
@Autowired
private LocDetlService locDetlService;
@Autowired
@@ -75,6 +78,18 @@
}
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
+ @GetMapping("/locDetl/locNo/{locNo}")
+ public R list(@PathVariable("locNo") String locNo) {
+ Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, locNo));
+ if (loc == null) {
+ return R.error("搴撲綅涓嶅瓨鍦�");
+ }
+ List<LocDetl> list = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, loc.getId()));
+ List<LocDetl> locDetls = locDetlService.parseLocDetl(list);
+ return R.ok().add(locDetls);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locDetl:list')")
@GetMapping("/locDetl/{id}")
public R get(@PathVariable("id") Long id) {
return R.ok().add(locDetlService.getById(id));
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocMapController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocMapController.java
new file mode 100644
index 0000000..27ff99c
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocMapController.java
@@ -0,0 +1,182 @@
+package com.zy.asrs.wms.asrs.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.asrs.entity.Loc;
+import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
+import com.zy.asrs.wms.asrs.service.LocService;
+import com.zy.asrs.wms.common.annotation.OperationLog;
+import com.zy.asrs.wms.common.domain.BaseParam;
+import com.zy.asrs.wms.common.domain.KeyValVo;
+import com.zy.asrs.wms.common.domain.PageParam;
+import com.zy.asrs.wms.asrs.entity.LocMap;
+import com.zy.asrs.wms.asrs.service.LocMapService;
+import com.zy.asrs.wms.system.controller.BaseController;
+import com.zy.asrs.wms.utils.ExcelUtil;
+import com.zy.asrs.wms.utils.Utils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api")
+public class LocMapController extends BaseController {
+
+ @Autowired
+ private LocMapService locMapService;
+ @Autowired
+ private LocService locService;
+
+ @PreAuthorize("hasAuthority('asrs:locMap:list')")
+ @PostMapping("/locMap/page")
+ public R page(@RequestBody Map<String, Object> map) {
+ BaseParam baseParam = buildParam(map, BaseParam.class);
+ PageParam<LocMap, BaseParam> pageParam = new PageParam<>(baseParam, LocMap.class);
+ return R.ok().add(locMapService.page(pageParam, pageParam.buildWrapper(true)));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:list')")
+ @PostMapping("/locMap/list")
+ public R list(@RequestBody Map<String, Object> map) {
+ return R.ok().add(locMapService.list());
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:list')")
+ @GetMapping("/locMap/{id}")
+ public R get(@PathVariable("id") Long id) {
+ return R.ok().add(locMapService.getById(id));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:save')")
+ @OperationLog("娣诲姞搴撲綅鍦板浘")
+ @PostMapping("/locMap/save")
+ public R save(@RequestBody LocMap locMap) {
+ if (!locMapService.save(locMap)) {
+ return R.error("娣诲姞澶辫触");
+ }
+ return R.ok("娣诲姞鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:update')")
+ @OperationLog("淇敼搴撲綅鍦板浘")
+ @PostMapping("/locMap/update")
+ public R update(@RequestBody LocMap locMap) {
+ if (!locMapService.updateById(locMap)) {
+ return R.error("淇敼澶辫触");
+ }
+ return R.ok("淇敼鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:remove')")
+ @OperationLog("鍒犻櫎搴撲綅鍦板浘")
+ @PostMapping("/locMap/remove/{ids}")
+ public R remove(@PathVariable Long[] ids) {
+ if (!locMapService.removeByIds(Arrays.asList(ids))) {
+ return R.error("鍒犻櫎澶辫触");
+ }
+ return R.ok("鍒犻櫎鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:list')")
+ @PostMapping("/locMap/query")
+ public R query(@RequestParam(required = false) String condition) {
+ List<KeyValVo> vos = new ArrayList<>();
+ LambdaQueryWrapper<LocMap> wrapper = new LambdaQueryWrapper<>();
+ if (!Cools.isEmpty(condition)) {
+ wrapper.like(LocMap::getId, condition);
+ }
+ locMapService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
+ item -> vos.add(new KeyValVo(item.getId(), item.getId()))
+ );
+ return R.ok().add(vos);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:list')")
+ @PostMapping("/locMap/export")
+ public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+ ExcelUtil.build(ExcelUtil.create(locMapService.list(), LocMap.class), response);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:list')")
+ @GetMapping("/locMap/getData/{lev}/auth")
+ public R getMapData(@PathVariable("lev") Integer lev) {
+ LocMap locMap = locMapService.getOne(new LambdaQueryWrapper<LocMap>().eq(LocMap::getMapLev, lev));
+ //瑙f瀽json鍦板浘鏁版嵁
+ List<ArrayList> arrayLists = JSON.parseArray(locMap.getData(), ArrayList.class);
+
+ //鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
+ List<Loc> list = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getLev1, lev));
+ for (Loc loc : list) {
+ Integer row = loc.getRow1();
+ Integer bay = loc.getBay1();
+
+ ArrayList rowData = arrayLists.get(row);
+ Object o = rowData.get(bay);
+ JSONObject jsonObject = JSON.parseObject(o.toString());
+ jsonObject.put("locNo", loc.getLocNo());//璁剧疆搴撲綅鍙�
+ jsonObject.put("locSts$", loc.getLocStsId$());//搴撲綅鐘舵�佹弿杩�
+ jsonObject.put("locSts", loc.getLocSts$());//搴撲綅鐘舵��
+ //鏇存柊list
+ rowData.set(bay, jsonObject);
+ arrayLists.set(row, rowData);
+ }
+
+ return R.ok().add(JSONObject.toJSONString(arrayLists));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:list')")
+ @GetMapping("/locMap/getLev")
+ public R getMapLev() {
+ List<LocMap> list = locMapService.list(new LambdaQueryWrapper<LocMap>().orderByAsc(LocMap::getMapLev));
+ ArrayList<Integer> levList = new ArrayList<>();
+ for (LocMap locMap : list) {
+ levList.add(locMap.getMapLev());
+ }
+ return R.ok().add(levList);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locMap:save')")
+ @OperationLog("鍒濆鍖栧簱浣�")
+ @PostMapping("/locMap/init")
+ @Transactional
+ public R init(@RequestBody LocMap locMap) {
+ Integer mapLev = locMap.getMapLev();
+
+ locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev1, mapLev));
+
+ //瑙f瀽json鍦板浘鏁版嵁
+ List<ArrayList> arrayLists = JSON.parseArray(locMap.getData(), ArrayList.class);
+ int rowIdx = 0;
+ for (ArrayList row : arrayLists) {
+ int bayIdx = 0;
+ for (Object bay : row) {
+ JSONObject data = JSON.parseObject(JSON.toJSONString(bay));
+ if (data.getInteger("value") == 0) {
+ Loc loc = new Loc();
+ loc.setRow1(rowIdx);
+ loc.setBay1(bayIdx);
+ loc.setLev1(mapLev);
+ loc.setLocStsId(LocStsType.O.val());
+ loc.setLocNo(Utils.getLocNo(rowIdx, bayIdx, mapLev));
+ locService.save(loc);
+ }
+ bayIdx++;
+ }
+ rowIdx++;
+ }
+
+ return R.ok("娣诲姞鎴愬姛");
+ }
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocTypeBindController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocTypeBindController.java
index 28a1350..fad5aef 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocTypeBindController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocTypeBindController.java
@@ -4,6 +4,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.asrs.entity.Loc;
+import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
+import com.zy.asrs.wms.asrs.entity.param.InitLocTypeBindParam;
+import com.zy.asrs.wms.asrs.service.LocService;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -14,6 +18,7 @@
import com.zy.asrs.wms.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -28,6 +33,8 @@
@Autowired
private LocTypeBindService locTypeBindService;
+ @Autowired
+ private LocService locService;
@PreAuthorize("hasAuthority('asrs:locTypeBind:list')")
@PostMapping("/locTypeBind/page")
@@ -50,6 +57,34 @@
}
@PreAuthorize("hasAuthority('asrs:locTypeBind:save')")
+ @OperationLog("鍒濆鍖栧簱浣嶇被鍨嬬粦瀹�")
+ @PostMapping("/locTypeBind/init")
+ @Transactional
+ public R init(@RequestBody InitLocTypeBindParam param) {
+ LambdaQueryWrapper<Loc> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.ge(Loc::getRow1, param.getStartRow());
+ queryWrapper.le(Loc::getRow1, param.getTargetRow());
+ queryWrapper.ge(Loc::getBay1, param.getStartBay());
+ queryWrapper.le(Loc::getBay1, param.getTargetBay());
+ queryWrapper.ge(Loc::getLev1, param.getStartLev());
+ queryWrapper.le(Loc::getLev1, param.getTargetLev());
+
+ List<Loc> list = locService.list(queryWrapper);
+ if (list.isEmpty()) {
+ return R.error("鏈壘鍒板簱浣嶄俊鎭�");
+ }
+
+ for (Loc loc : list) {
+ LocTypeBind locTypeBind = new LocTypeBind();
+ locTypeBind.setLocId(loc.getId());
+ locTypeBind.setTypeId(param.getTypeId());
+ locTypeBindService.save(locTypeBind);
+ }
+
+ return R.ok("鍒濆鍖栨垚鍔�");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:locTypeBind:save')")
@OperationLog("娣诲姞搴撲綅绫诲瀷缁戝畾")
@PostMapping("/locTypeBind/save")
public R save(@RequestBody LocTypeBind locTypeBind) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LanewayRule.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LanewayRule.java
index 2939aae..6b39ea5 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LanewayRule.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LanewayRule.java
@@ -3,7 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.util.*;
import com.zy.asrs.wms.system.entity.Host;
import com.zy.asrs.wms.system.entity.User;
@@ -26,7 +26,6 @@
import java.io.Serializable;
import java.util.Date;
-import java.util.List;
@Data
@TableName("strategy_laneway_rule")
@@ -139,19 +138,25 @@
// );
public List<Integer> getLaneX$() {
- if (null == this.laneX){ return null; }
+ if (null == this.laneX){ return new ArrayList<>(); }
+ if (Cools.isEmpty(this.laneX)) {
+ return new ArrayList<>();
+ }
List<Integer> list = JSON.parseArray(this.laneX, Integer.class);
if (list.isEmpty()) {
- return null;
+ return new ArrayList<>();
}
return list;
}
public List<Integer> getLaneY$() {
- if (null == this.laneY){ return null; }
+ if (null == this.laneY){ return new ArrayList<>(); }
+ if (Cools.isEmpty(this.laneY)) {
+ return new ArrayList<>();
+ }
List<Integer> list = JSON.parseArray(this.laneY, Integer.class);
if (list.isEmpty()) {
- return null;
+ return new ArrayList<>();
}
return list;
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Loc.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Loc.java
index fa437b3..f9c15e8 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Loc.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Loc.java
@@ -103,7 +103,6 @@
* 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
*/
@ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
- @TableLogic
private Integer deleted;
/**
@@ -187,6 +186,15 @@
return null;
}
+ public String getLocSts$(){
+ LocStsService service = SpringUtils.getBean(LocStsService.class);
+ LocSts locSts = service.getById(this.locStsId);
+ if (!Cools.isEmpty(locSts)){
+ return String.valueOf(locSts.getLocSts());
+ }
+ return null;
+ }
+
public String getHostId$(){
HostService service = SpringUtils.getBean(HostService.class);
Host host = service.getById(this.hostId);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java
index 7472fb6..f7cb142 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java
@@ -6,9 +6,11 @@
import java.text.SimpleDateFormat;
import java.util.*;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.zy.asrs.common.utils.Synchro;
import com.zy.asrs.wms.asrs.service.LocService;
+import com.zy.asrs.wms.asrs.service.MatFieldService;
import com.zy.asrs.wms.asrs.service.MatService;
import com.zy.asrs.wms.system.entity.Host;
import com.zy.asrs.wms.system.entity.User;
@@ -316,4 +318,23 @@
dynamicFields.put(key, value);
}
+ public List<Map<String, Object>> getDynamicFieldsList() {
+ MatFieldService service = SpringUtils.getBean(MatFieldService.class);
+ List<MatField> matFields = service.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
+ HashMap<String, Object> fieldMap = new HashMap<>();
+ for (MatField matField : matFields) {
+ fieldMap.put(matField.getName(), matField.getDescribe());
+ }
+
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (Map.Entry<String, Object> entry : dynamicFields.entrySet()) {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("key", entry.getKey());
+ map.put("value", entry.getValue());
+ map.put("desc", fieldMap.get(entry.getKey()));
+ list.add(map);
+ }
+ return list;
+ }
+
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocMap.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocMap.java
new file mode 100644
index 0000000..3fb9a86
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocMap.java
@@ -0,0 +1,203 @@
+package com.zy.asrs.wms.asrs.entity;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.zy.asrs.wms.system.entity.Host;
+import com.zy.asrs.wms.system.entity.User;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.wms.system.service.UserService;
+import com.zy.asrs.wms.system.service.HostService;
+import com.zy.asrs.common.utils.Synchro;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("man_loc_map")
+public class LocMap implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ @ApiModelProperty(value= "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 鍦板浘鏁版嵁
+ */
+ @ApiModelProperty(value= "鍦板浘鏁版嵁")
+ private String data;
+
+ /**
+ * 鍦板浘妤煎眰
+ */
+ @ApiModelProperty(value= "鍦板浘妤煎眰")
+ private Integer mapLev;
+
+ /**
+ * 鎵�灞炴満鏋�
+ */
+ @ApiModelProperty(value= "鎵�灞炴満鏋�")
+ private Long hostId;
+
+ /**
+ * 鐘舵�� 1: 姝e父 0: 绂佺敤
+ */
+ @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ")
+ private Integer status;
+
+ /**
+ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
+ */
+ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
+ @TableLogic
+ private Integer deleted;
+
+ /**
+ * 娣诲姞鏃堕棿
+ */
+ @ApiModelProperty(value= "娣诲姞鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 娣诲姞浜哄憳
+ */
+ @ApiModelProperty(value= "娣诲姞浜哄憳")
+ private Long createBy;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @ApiModelProperty(value= "淇敼鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+ /**
+ * 淇敼浜哄憳
+ */
+ @ApiModelProperty(value= "淇敼浜哄憳")
+ private Long updateBy;
+
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value= "澶囨敞")
+ private String memo;
+
+ public LocMap() {}
+
+ public LocMap(String data,Integer mapLev,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) {
+ this.data = data;
+ this.mapLev = mapLev;
+ this.hostId = hostId;
+ this.status = status;
+ this.deleted = deleted;
+ this.createTime = createTime;
+ this.createBy = createBy;
+ this.updateTime = updateTime;
+ this.updateBy = updateBy;
+ this.memo = memo;
+ }
+
+// LocMap locMap = new LocMap(
+// null, // 鍦板浘鏁版嵁
+// null, // 鍦板浘妤煎眰
+// null, // 鎵�灞炴満鏋�
+// null, // 鐘舵��
+// null, // 鏄惁鍒犻櫎
+// null, // 娣诲姞鏃堕棿
+// null, // 娣诲姞浜哄憳
+// null, // 淇敼鏃堕棿
+// null, // 淇敼浜哄憳
+// null // 澶囨敞
+// );
+
+ public String getHostId$(){
+ HostService service = SpringUtils.getBean(HostService.class);
+ Host host = service.getById(this.hostId);
+ if (!Cools.isEmpty(host)){
+ return String.valueOf(host.getName());
+ }
+ return null;
+ }
+
+ public String getStatus$(){
+ if (null == this.status){ return null; }
+ switch (this.status){
+ case 1:
+ return "姝e父";
+ case 0:
+ return "绂佺敤";
+ default:
+ return String.valueOf(this.status);
+ }
+ }
+
+ public String getDeleted$(){
+ if (null == this.deleted){ return null; }
+ switch (this.deleted){
+ case 1:
+ return "鏄�";
+ case 0:
+ return "鍚�";
+ default:
+ return String.valueOf(this.deleted);
+ }
+ }
+
+ public String getCreateTime$(){
+ if (Cools.isEmpty(this.createTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+ }
+
+ public String getCreateBy$(){
+ UserService service = SpringUtils.getBean(UserService.class);
+ User user = service.getById(this.createBy);
+ if (!Cools.isEmpty(user)){
+ return String.valueOf(user.getNickname());
+ }
+ return null;
+ }
+
+ public String getUpdateTime$(){
+ if (Cools.isEmpty(this.updateTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+ }
+
+ public String getUpdateBy$(){
+ UserService service = SpringUtils.getBean(UserService.class);
+ User user = service.getById(this.updateBy);
+ if (!Cools.isEmpty(user)){
+ return String.valueOf(user.getNickname());
+ }
+ return null;
+ }
+
+
+
+ public void sync(Object source) {
+ Synchro.Copy(source, this);
+ }
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/enums/ShelvesRuleDetlType.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/enums/ShelvesRuleDetlType.java
new file mode 100644
index 0000000..4ae473b
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/enums/ShelvesRuleDetlType.java
@@ -0,0 +1,19 @@
+package com.zy.asrs.wms.asrs.entity.enums;
+
+public enum ShelvesRuleDetlType {
+
+ TASK_OR_LOC(1, "搴撳瓨鎴栦换鍔′腑鍖归厤鐩搁偦搴撲綅"),
+ SUGGEST(2, "鎺ㄨ崘鍖哄煙"),
+ COMPLETE(3, "瀹屾暣宸烽亾"),
+ ;
+
+
+ public Integer id;
+ public String desc;
+
+ ShelvesRuleDetlType(Integer id, String desc) {
+ this.id = id;
+ this.desc = desc;
+ }
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/param/InitLocTypeBindParam.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/param/InitLocTypeBindParam.java
new file mode 100644
index 0000000..b7be0ac
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/param/InitLocTypeBindParam.java
@@ -0,0 +1,43 @@
+package com.zy.asrs.wms.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class InitLocTypeBindParam {
+
+ /**
+ * 搴撲綅绫诲瀷
+ */
+ private Long typeId;
+
+ /**
+ * 璧峰鎺�
+ */
+ private Integer startRow;
+
+ /**
+ * 缁撴潫鎺�
+ */
+ private Integer targetRow;
+
+ /**
+ * 璧峰鍒�
+ */
+ private Integer startBay;
+
+ /**
+ * 缁撴潫鍒�
+ */
+ private Integer targetBay;
+
+ /**
+ * 璧峰灞�
+ */
+ private Integer startLev;
+
+ /**
+ * 缁撴潫灞�
+ */
+ private Integer targetLev;
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapMapper.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapMapper.java
new file mode 100644
index 0000000..a8ba43d
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.wms.asrs.mapper;
+
+import com.zy.asrs.wms.asrs.entity.LocMap;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface LocMapMapper extends BaseMapper<LocMap> {
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocMapService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocMapService.java
new file mode 100644
index 0000000..d62ca60
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/LocMapService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.wms.asrs.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.wms.asrs.entity.LocMap;
+
+public interface LocMapService extends IService<LocMap> {
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CircleRuleServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CircleRuleServiceImpl.java
index 6e93a17..62f7cd9 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CircleRuleServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CircleRuleServiceImpl.java
@@ -26,13 +26,11 @@
Integer currentValue = circleRule.getCurrentValue();
Integer startValue = circleRule.getStartValue();
Integer targetValue = circleRule.getTargetValue();
- if (currentValue > targetValue) {
- currentValue = startValue;
- }else {
- currentValue += 1;
- }
- circleRule.setCurrentValue(currentValue);
+ circleRule.setCurrentValue(currentValue + 1);
+ if (circleRule.getCurrentValue() > targetValue) {
+ circleRule.setCurrentValue(startValue);
+ }
this.updateById(circleRule);
return currentValue;
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocMapServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocMapServiceImpl.java
new file mode 100644
index 0000000..c12a942
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocMapServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.wms.asrs.service.impl;
+
+import com.zy.asrs.wms.asrs.mapper.LocMapMapper;
+import com.zy.asrs.wms.asrs.entity.LocMap;
+import com.zy.asrs.wms.asrs.service.LocMapService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("locMapService")
+public class LocMapServiceImpl extends ServiceImpl<LocMapMapper, LocMap> implements LocMapService {
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
index 1c6c199..1c1748b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
@@ -3,8 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.*;
-import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
-import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
+import com.zy.asrs.wms.asrs.entity.enums.*;
import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam;
import com.zy.asrs.wms.asrs.service.*;
import com.zy.asrs.wms.utils.LocUtils;
@@ -45,6 +44,12 @@
private TaskDetlFieldLogService taskDetlFieldLogService;
@Autowired
private LocUtils locUtils;
+ @Autowired
+ private ShelvesRuleService shelvesRuleService;
+ @Autowired
+ private LanewayRuleService lanewayRuleService;
+ @Autowired
+ private CircleRuleService circleRuleService;
@Override
public String generateTaskNo(Long taskType) {
@@ -60,31 +65,68 @@
@Override
public Loc generateEmptyLoc(Long taskType, Integer locTypeHeight) {
- Loc defaultLoc = null;
-
- //1.浠庡簱瀛樻垨浠诲姟涓尮閰嶇浉閭诲簱浣�
- defaultLoc = locUtils.getNeighborEmptyLoc(taskType, locTypeHeight);
- if (defaultLoc != null) {
- return defaultLoc;
+ List<ShelvesRule> shelvesRules = shelvesRuleService.list(new LambdaQueryWrapper<ShelvesRule>().eq(ShelvesRule::getStatus, 1).orderByDesc(ShelvesRule::getCreateTime));
+ if(shelvesRules.isEmpty()) {
+ throw new CoolException("鏈厤缃笂鏋惰鍒�");
}
-
- //2.鑾峰彇鎺ㄨ崘搴撲綅
- List<Loc> suggestLoc = locUtils.getSuggestEmptyLoc(taskType, locTypeHeight);
- //鑾峰彇搴撲綅
- if (!suggestLoc.isEmpty()) {
- defaultLoc = locUtils.filterLoc(taskType, suggestLoc);
- if(defaultLoc != null) {
- return defaultLoc;
+ ShelvesRule shelvesRule = shelvesRules.get(0);
+ //鍙敤宸烽亾
+ List<Long> laneList = shelvesRule.getLaneList();
+ //鍙敤宸烽亾Row
+ List<Integer> laneRowList = new ArrayList<>();
+ if (laneList != null) {
+ //鑾峰彇宸烽亾
+ List<LanewayRule> lanewayRules = lanewayRuleService.listByIds(laneList);
+ for (LanewayRule lanewayRule : lanewayRules) {
+ laneRowList.addAll(lanewayRule.getLaneX$());
+ laneRowList.addAll(lanewayRule.getLaneY$());
}
}
- //3.浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
- List<Loc> globalLoc = locUtils.getGlobalEmptyLoc(taskType, locTypeHeight);
- //鑾峰彇搴撲綅
- if (!globalLoc.isEmpty()) {
- defaultLoc = locUtils.filterAllLoc(globalLoc);
- if(defaultLoc != null) {
- return defaultLoc;
+ Integer currentLev = null;
+ if (shelvesRule.getRuleType().equals(ShelvesRuleType.HIGH.id)) {
+ //浼樺厛绔嬩綋灞�
+ currentLev = circleRuleService.getCurrentValueByFlag(CircleRuleType.LEV.flag);
+ }
+
+ List<ShelvesRuleDetl> ruleDetls = shelvesRule.getRuleDetl$();
+ if(ruleDetls.isEmpty()) {
+ throw new CoolException("鏈厤缃笂鏋惰鍒欐槑缁�");
+ }
+
+ Loc defaultLoc = null;
+
+ for (ShelvesRuleDetl ruleDetl : ruleDetls) {
+ if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.TASK_OR_LOC.id)) {
+ //浠庡簱瀛樻垨浠诲姟涓尮閰嶇浉閭诲簱浣�
+ defaultLoc = locUtils.getNeighborEmptyLoc(taskType, locTypeHeight);
+ if (defaultLoc != null) {
+ return defaultLoc;
+ }
+ }
+
+ if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.SUGGEST.id)) {
+ //鑾峰彇鎺ㄨ崘搴撲綅
+ List<Loc> suggestLoc = locUtils.getSuggestEmptyLoc(taskType, locTypeHeight, laneRowList, currentLev);
+ //鑾峰彇搴撲綅
+ if (!suggestLoc.isEmpty()) {
+ defaultLoc = locUtils.filterLoc(taskType, suggestLoc);
+ if(defaultLoc != null) {
+ return defaultLoc;
+ }
+ }
+ }
+
+ if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.COMPLETE.id)) {
+ //浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
+ List<Loc> globalLoc = locUtils.getGlobalEmptyLoc(taskType, locTypeHeight, laneRowList, currentLev);
+ //鑾峰彇搴撲綅
+ if (!globalLoc.isEmpty()) {
+ defaultLoc = locUtils.filterAllLoc(globalLoc);
+ if(defaultLoc != null) {
+ return defaultLoc;
+ }
+ }
}
}
@@ -109,34 +151,70 @@
throw new CoolException("鍟嗗搧涓嶅瓨鍦�");
}
+ List<ShelvesRule> shelvesRules = shelvesRuleService.list(new LambdaQueryWrapper<ShelvesRule>().eq(ShelvesRule::getStatus, 1).orderByDesc(ShelvesRule::getCreateTime));
+ if(shelvesRules.isEmpty()) {
+ throw new CoolException("鏈厤缃笂鏋惰鍒�");
+ }
+ ShelvesRule shelvesRule = shelvesRules.get(0);
+ //鍙敤宸烽亾
+ List<Long> laneList = shelvesRule.getLaneList();
+ //鍙敤宸烽亾Row
+ List<Integer> laneRowList = new ArrayList<>();
+ if (laneList != null) {
+ //鑾峰彇宸烽亾
+ List<LanewayRule> lanewayRules = lanewayRuleService.listByIds(laneList);
+ for (LanewayRule lanewayRule : lanewayRules) {
+ laneRowList.addAll(lanewayRule.getLaneX$());
+ laneRowList.addAll(lanewayRule.getLaneY$());
+ }
+ }
+
+ Integer currentLev = null;
+ if (shelvesRule.getRuleType().equals(ShelvesRuleType.HIGH.id)) {
+ //浼樺厛绔嬩綋灞�
+ currentLev = circleRuleService.getCurrentValueByFlag(CircleRuleType.LEV.flag);
+ }
+
+ List<ShelvesRuleDetl> ruleDetls = shelvesRule.getRuleDetl$();
+ if(ruleDetls.isEmpty()) {
+ throw new CoolException("鏈厤缃笂鏋惰鍒欐槑缁�");
+ }
+
Loc defaultLoc = null;
- //1.浠庡簱瀛樻垨浠诲姟涓尮閰嶇浉閭诲簱浣�
- defaultLoc = locUtils.getNeighborLoc(taskType, detl, locTypeHeight);
- if (defaultLoc != null) {
- return defaultLoc;
- }
+ for (ShelvesRuleDetl ruleDetl : ruleDetls) {
+ if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.TASK_OR_LOC.id)) {
+ //浠庡簱瀛樻垨浠诲姟涓尮閰嶇浉閭诲簱浣�
+ defaultLoc = locUtils.getNeighborLoc(taskType, detl, locTypeHeight);
+ if (defaultLoc != null) {
+ return defaultLoc;
+ }
+ }
- //2.鑾峰彇鎺ㄨ崘搴撲綅
- List<Loc> suggestLoc = locUtils.getSuggestLoc(taskType, mat.getId(), detl.getBatch(), locTypeHeight);
- //鑾峰彇搴撲綅
- if (!suggestLoc.isEmpty()) {
- defaultLoc = locUtils.filterLoc(taskType, suggestLoc);
- if(defaultLoc != null) {
- return defaultLoc;
+ if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.SUGGEST.id)) {
+ //鑾峰彇鎺ㄨ崘搴撲綅
+ List<Loc> suggestLoc = locUtils.getSuggestLoc(taskType, mat.getId(), detl.getBatch(), locTypeHeight, laneRowList, currentLev);
+ //鑾峰彇搴撲綅
+ if (!suggestLoc.isEmpty()) {
+ defaultLoc = locUtils.filterLoc(taskType, suggestLoc);
+ if(defaultLoc != null) {
+ return defaultLoc;
+ }
+ }
+ }
+
+ if (ruleDetl.getDetlType().equals(ShelvesRuleDetlType.COMPLETE.id)) {
+ //浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
+ List<Loc> globalLoc = locUtils.getGlobalLoc(taskType, locTypeHeight, laneRowList, currentLev);
+ //鑾峰彇搴撲綅
+ if (!globalLoc.isEmpty()) {
+ defaultLoc = locUtils.filterAllLoc(globalLoc);
+ if(defaultLoc != null) {
+ return defaultLoc;
+ }
+ }
}
}
-
- //3.浠庡叏灞�搴撲綅涓幏鍙�(瀹屾暣宸烽亾)
- List<Loc> globalLoc = locUtils.getGlobalLoc(taskType, locTypeHeight);
- //鑾峰彇搴撲綅
- if (!globalLoc.isEmpty()) {
- defaultLoc = locUtils.filterAllLoc(globalLoc);
- if(defaultLoc != null) {
- return defaultLoc;
- }
- }
-
return defaultLoc;
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/result/LoginResult.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/result/LoginResult.java
index 86e014d..ef764f3 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/result/LoginResult.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/result/LoginResult.java
@@ -1,24 +1,46 @@
package com.zy.asrs.wms.system.controller.result;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.zy.asrs.wms.system.entity.User;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
/**
* Created by vincent on 1/30/2024
*/
@Data
@NoArgsConstructor
-@AllArgsConstructor
public class LoginResult implements Serializable {
private static final long serialVersionUID = 1L;
private String accessToken;
- private User user;
+ private Map<String, Object> user;
+ public LoginResult(String accessToken, User user) {
+ this.accessToken = accessToken;
+
+ HashMap<String, Object> userMap = new HashMap<>();
+ userMap.put("username", user.getUsername());
+ userMap.put("nickname", user.getNickname());
+ userMap.put("avatar", user.getAvatar());
+ userMap.put("code", user.getCode());
+ userMap.put("sex", user.getSex());
+ userMap.put("phone", user.getPhone());
+ userMap.put("email", user.getEmail());
+ userMap.put("emailVerified", user.getEmailVerified());
+ userMap.put("deptId", user.getDeptId());
+ userMap.put("realName", user.getRealName());
+ userMap.put("hostId", user.getHostId());
+ userMap.put("status", user.getStatus());
+ userMap.put("memo", user.getMemo());
+ this.user = userMap;
+ }
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java
index 0964bf1..951922e 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java
@@ -22,8 +22,8 @@
// generator.username="sa";
// generator.password="Zoneyung@zy56$";
- generator.table="strategy_shelves_rule";
- generator.tableName="涓婃灦瑙勫垯";
+ generator.table="man_loc_map";
+ generator.tableName="搴撲綅鍦板浘";
generator.rootPackagePath="com.zy.asrs.wms";
generator.packagePath="com.zy.asrs.wms.asrs";
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/LocUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/LocUtils.java
index 06d9e13..3c9330c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/LocUtils.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/LocUtils.java
@@ -6,6 +6,7 @@
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
import com.zy.asrs.wms.asrs.entity.enums.LocTypeHeightType;
+import com.zy.asrs.wms.asrs.entity.enums.ShelvesRuleType;
import com.zy.asrs.wms.asrs.mapper.ViewLocDetlMapper;
import com.zy.asrs.wms.asrs.mapper.ViewTaskDetlMapper;
import com.zy.asrs.wms.asrs.service.*;
@@ -80,7 +81,7 @@
}
//鑾峰彇鎺ㄨ崘搴撲綅(婊℃墭鐩�)
- public List<Loc> getSuggestLoc(Long taskType, Long matId, String batch, Integer locTypeHeight) {
+ public List<Loc> getSuggestLoc(Long taskType, Long matId, String batch, Integer locTypeHeight, List<Integer> laneRowList, Integer currentLev) {
//婊℃墭鐩�
List<Loc> locs = new ArrayList<>();
LocTypeHeightType locTypeHeightType = LocTypeHeightType.get(locTypeHeight);
@@ -109,6 +110,15 @@
queryWrapper.le(Loc::getLev1, suggestLocRule.getTargetLev());
queryWrapper.eq(Loc::getLocStsId, LocStsType.O.val());
queryWrapper.in(Loc::getId, locIdList);
+
+ if (laneRowList != null && !laneRowList.isEmpty()) {
+ queryWrapper.in(Loc::getRow1, laneRowList);
+ }
+
+ if (currentLev != null) {
+ queryWrapper.eq(Loc::getLev1, currentLev);
+ }
+
List<Loc> list = locService.list(queryWrapper);
if (!list.isEmpty()) {
locs.addAll(list);
@@ -118,7 +128,7 @@
}
//鑾峰彇鍏ㄥ眬搴撲綅(瀹屾暣宸烽亾)
- public List<Loc> getGlobalLoc(Long taskType, Integer locTypeHeight) {
+ public List<Loc> getGlobalLoc(Long taskType, Integer locTypeHeight, List<Integer> laneRowList, Integer currentLev) {
List<Loc> locs = new ArrayList<>();
LocTypeHeightType locTypeHeightType = LocTypeHeightType.get(locTypeHeight);
if (locTypeHeightType == null) {
@@ -132,6 +142,15 @@
LambdaQueryWrapper<Loc> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Loc::getLocStsId, LocStsType.O.val());
queryWrapper.in(Loc::getId, locIdList);
+
+ if (laneRowList != null && !laneRowList.isEmpty()) {
+ queryWrapper.in(Loc::getRow1, laneRowList);
+ }
+
+ if (currentLev != null) {
+ queryWrapper.eq(Loc::getLev1, currentLev);
+ }
+
List<Loc> list = locService.list(queryWrapper);
if (!list.isEmpty()) {
locs.addAll(list);
@@ -270,7 +289,7 @@
}
//鑾峰彇鎺ㄨ崘搴撲綅(绌烘墭鐩�)
- public List<Loc> getSuggestEmptyLoc(Long taskType, Integer locTypeHeight) {
+ public List<Loc> getSuggestEmptyLoc(Long taskType, Integer locTypeHeight, List<Integer> laneRowList, Integer currentLev) {
List<Loc> locs = new ArrayList<>();
//绌烘墭鐩�
List<SuggestLocRule> suggestLocRules = suggestLocRuleService.list(new LambdaQueryWrapper<SuggestLocRule>().eq(SuggestLocRule::getLocType, 0));
@@ -283,6 +302,15 @@
queryWrapper.ge(Loc::getLev1, suggestLocRule.getStartLev());
queryWrapper.le(Loc::getLev1, suggestLocRule.getTargetLev());
queryWrapper.eq(Loc::getLocStsId, LocStsType.O.val());
+
+ if (laneRowList != null && !laneRowList.isEmpty()) {
+ queryWrapper.in(Loc::getRow1, laneRowList);
+ }
+
+ if (currentLev != null) {
+ queryWrapper.eq(Loc::getLev1, currentLev);
+ }
+
List<Loc> list = locService.list(queryWrapper);
if (!list.isEmpty()) {
locs.addAll(list);
@@ -292,7 +320,7 @@
}
//鑾峰彇鍏ㄥ眬搴撲綅(瀹屾暣宸烽亾)
- public List<Loc> getGlobalEmptyLoc(Long taskType, Integer locTypeHeight) {
+ public List<Loc> getGlobalEmptyLoc(Long taskType, Integer locTypeHeight, List<Integer> laneRowList, Integer currentLev) {
List<Loc> locs = new ArrayList<>();
LocTypeHeightType locTypeHeightType = LocTypeHeightType.get(locTypeHeight);
if (locTypeHeightType == null) {
@@ -306,6 +334,15 @@
LambdaQueryWrapper<Loc> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Loc::getLocStsId, LocStsType.O.val());
queryWrapper.in(Loc::getId, locIdList);
+
+ if (laneRowList != null && !laneRowList.isEmpty()) {
+ queryWrapper.in(Loc::getRow1, laneRowList);
+ }
+
+ if (currentLev != null) {
+ queryWrapper.eq(Loc::getLev1, currentLev);
+ }
+
List<Loc> list = locService.list(queryWrapper);
if (!list.isEmpty()) {
locs.addAll(list);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
index d203a74..edeab46 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
@@ -17,6 +17,45 @@
*/
public class Utils {
+ public static final String _LINK = "-";
+
+ /**
+ * 閫氳繃搴撲綅鍙疯幏鍙� 鎺�
+ */
+ public static int getRow(String locNo) {
+ if (!Cools.isEmpty(locNo)) {
+ String[] split = locNo.split(_LINK);
+ return Integer.parseInt(split[0]);
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
+ /**
+ * 閫氳繃搴撲綅鍙疯幏鍙� 鍒�
+ */
+ public static int getBay(String locNo) {
+ if (!Cools.isEmpty(locNo)) {
+ String[] split = locNo.split(_LINK);
+ return Integer.parseInt(split[1]);
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
+ /**
+ * 閫氳繃搴撲綅鍙疯幏鍙� 灞�
+ */
+ public static int getLev(String locNo) {
+ if (!Cools.isEmpty(locNo)) {
+ String[] split = locNo.split(_LINK);
+ return Integer.parseInt(split[2]);
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
+ public static String getLocNo(Number row, Number bay, Number lev) {
+ return row + _LINK + bay + _LINK + lev;
+ }
+
/**
* List杞负鏍戝舰缁撴瀯
*
diff --git a/zy-asrs-wms/src/main/resources/license.lic b/zy-asrs-wms/src/main/resources/license.lic
index b80345a..cb51cd3 100644
--- a/zy-asrs-wms/src/main/resources/license.lic
+++ b/zy-asrs-wms/src/main/resources/license.lic
Binary files differ
diff --git a/zy-asrs-wms/src/main/resources/mapper/asrs/LocMapMapper.xml b/zy-asrs-wms/src/main/resources/mapper/asrs/LocMapMapper.xml
new file mode 100644
index 0000000..1a0db57
--- /dev/null
+++ b/zy-asrs-wms/src/main/resources/mapper/asrs/LocMapMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.wms.asrs.mapper.LocMapMapper">
+
+</mapper>
diff --git a/zy-asrs-wms/src/main/resources/sql/menu/locMap.sql b/zy-asrs-wms/src/main/resources/sql/menu/locMap.sql
new file mode 100644
index 0000000..2c1d2b1
--- /dev/null
+++ b/zy-asrs-wms/src/main/resources/sql/menu/locMap.sql
@@ -0,0 +1,9 @@
+-- save locMap record
+-- mysql
+insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `host_id`, `status`) values ( '搴撲綅鍦板浘绠$悊', '0', '/asrs/locMap', '/asrs/locMap', '0' , '0', '1' , '1');
+
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '鏌ヨ搴撲綅鍦板浘', '', '1', 'asrs:locMap:list', '0', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '娣诲姞搴撲綅鍦板浘', '', '1', 'asrs:locMap:save', '1', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '淇敼搴撲綅鍦板浘', '', '1', 'asrs:locMap:update', '2', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '鍒犻櫎搴撲綅鍦板浘', '', '1', 'asrs:locMap:remove', '3', '1', '1');
+
--
Gitblit v1.9.1