| | |
| | | "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" |
| | |
| | | "@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", |
| | |
| | | "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", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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": { |
| | |
| | | "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": { |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | }, |
| | | "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": { |
| | |
| | | "@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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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", |
| | |
| | | "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" |
| | |
| | | "@vue/babel-plugin-jsx": "^1.2.2", |
| | | "vite": "^5.3.1" |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | <script setup> |
| | | import { ref, onMounted, watch } 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 LocDetlShowView from '@/components/locDetl/show.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; |
| | | // 记录下stage原来的位置 |
| | | stageOriginalPos = [pixiApp.stage.position._x, pixiApp.stage.position._y]; |
| | | // 记录下mouse 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(); |
| | | // 因为画布是充满视窗的,所以clientX等于mouse point在renderer上的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 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> |
| | | |
| | | <!--输出操作和FPS--> |
| | | <div style="position: absolute;top: 0px;right: 10px;user-select: none;"> |
| | | <div>FPS:{{ mapFps }}</div> |
| | | <a-button @click="drawerOper = true">操作</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> |
| | |
| | | } |
| | | |
| | | 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) => { |
| | |
| | | ]"> |
| | | </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" /> |
| | |
| | | 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" /> |
| | |
| | | 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; |
| | | |
| | |
| | | let pageSize = 10; |
| | | const searchInput = ref("") |
| | | const editChild = ref(null) |
| | | const initChild = ref(null) |
| | | |
| | | let currentLocType = ref(null) |
| | | let tableData = ref([]); |
| | |
| | | message.error(result.msg); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | const handleInit = (item) => { |
| | | initChild.value.open = true; |
| | | } |
| | | |
| | | const handleEdit = (item) => { |
| | |
| | | </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> |
New file |
| | |
| | | <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> |
| | |
| | | } |
| | | |
| | | const showDetl = (record) => { |
| | | console.log(record); |
| | | locDetlShowChild.value.open = true; |
| | | locDetlShowChild.value.locId = record.id; |
| | | } |
New file |
| | |
| | | <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: '正常', 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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | import com.zy.asrs.framework.common.R; |
| | | import com.zy.asrs.wms.asrs.entity.*; |
| | | 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; |
| | |
| | | @RequestMapping("/api") |
| | | public class LocDetlController extends BaseController { |
| | | |
| | | @Autowired |
| | | private LocService locService; |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | @Autowired |
| | |
| | | } |
| | | |
| | | @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)); |
New file |
| | |
| | | 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)); |
| | | //解析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)); |
| | | |
| | | //解析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("添加成功"); |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | private LocTypeBindService locTypeBindService; |
| | | @Autowired |
| | | private LocService locService; |
| | | |
| | | @PreAuthorize("hasAuthority('asrs:locTypeBind:list')") |
| | | @PostMapping("/locTypeBind/page") |
| | |
| | | } |
| | | |
| | | @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) { |
| | |
| | | * 是否删除 1: 是 0: 否 |
| | | */ |
| | | @ApiModelProperty(value= "是否删除 1: 是 0: 否 ") |
| | | @TableLogic |
| | | private Integer deleted; |
| | | |
| | | /** |
| | |
| | | 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); |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | 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: 正常 0: 禁用 |
| | | */ |
| | | @ApiModelProperty(value= "状态 1: 正常 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 "正常"; |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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> { |
| | | |
| | | } |
New file |
| | |
| | | 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> { |
| | | |
| | | } |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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 { |
| | | |
| | | } |
| | |
| | | // generator.username="sa"; |
| | | // generator.password="Zoneyung@zy56$"; |
| | | |
| | | generator.table="strategy_shelves_rule_detl"; |
| | | generator.tableName="上架规则明细"; |
| | | generator.table="man_loc_map"; |
| | | generator.tableName="库位地图"; |
| | | generator.rootPackagePath="com.zy.asrs.wms"; |
| | | generator.packagePath="com.zy.asrs.wms.asrs"; |
| | | |
| | |
| | | */ |
| | | 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("库位解析异常"); |
| | | } |
| | | |
| | | /** |
| | | * 通过库位号获取 列 |
| | | */ |
| | | public static int getBay(String locNo) { |
| | | if (!Cools.isEmpty(locNo)) { |
| | | String[] split = locNo.split(_LINK); |
| | | return Integer.parseInt(split[1]); |
| | | } |
| | | throw new RuntimeException("库位解析异常"); |
| | | } |
| | | |
| | | /** |
| | | * 通过库位号获取 层 |
| | | */ |
| | | public static int getLev(String locNo) { |
| | | if (!Cools.isEmpty(locNo)) { |
| | | String[] split = locNo.split(_LINK); |
| | | return Integer.parseInt(split[2]); |
| | | } |
| | | throw new RuntimeException("库位解析异常"); |
| | | } |
| | | |
| | | public static String getLocNo(Number row, Number bay, Number lev) { |
| | | return row + _LINK + bay + _LINK + lev; |
| | | } |
| | | |
| | | /** |
| | | * List转为树形结构 |
| | | * |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | -- 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'); |
| | | |