Merge pull request 'new stage' (#53) from new-stage-front into test
Reviewed-on: #53
This commit is contained in:
commit
1e50ce6acb
511
web/package-lock.json
generated
511
web/package-lock.json
generated
@ -12,14 +12,15 @@
|
||||
"@emotion/styled": "^11.14.1",
|
||||
"@mui/material": "^9.0.1",
|
||||
"@mui/x-tree-view": "^9.1.0",
|
||||
"axios": "^1.16.1",
|
||||
"axios": "^1.9.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"material-react-table": "^3.2.1",
|
||||
"react": "^18.3.1",
|
||||
"react-daisyui": "^5.0.5",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-router-dom": "^7.15.1",
|
||||
"react-toastify": "^11.1.0"
|
||||
"react-dom": "^18.2.0",
|
||||
"react-router": "^6.30.0",
|
||||
"react-router-dom": "^6.30.0",
|
||||
"react-toastify": "^11.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
@ -45,12 +46,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
"version": "7.29.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
|
||||
"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
|
||||
"integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-validator-identifier": "^7.28.5",
|
||||
"@babel/helper-validator-identifier": "^7.29.7",
|
||||
"js-tokens": "^4.0.0",
|
||||
"picocolors": "^1.1.1"
|
||||
},
|
||||
@ -59,13 +60,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/generator": {
|
||||
"version": "7.29.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
|
||||
"integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz",
|
||||
"integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.29.0",
|
||||
"@babel/types": "^7.29.0",
|
||||
"@babel/parser": "^7.29.7",
|
||||
"@babel/types": "^7.29.7",
|
||||
"@jridgewell/gen-mapping": "^0.3.12",
|
||||
"@jridgewell/trace-mapping": "^0.3.28",
|
||||
"jsesc": "^3.0.2"
|
||||
@ -75,52 +76,52 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-globals": {
|
||||
"version": "7.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
|
||||
"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
|
||||
"integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-module-imports": {
|
||||
"version": "7.28.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
|
||||
"integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz",
|
||||
"integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/traverse": "^7.28.6",
|
||||
"@babel/types": "^7.28.6"
|
||||
"@babel/traverse": "^7.29.7",
|
||||
"@babel/types": "^7.29.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-string-parser": {
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
|
||||
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
|
||||
"integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
"version": "7.28.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
|
||||
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
|
||||
"integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.29.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz",
|
||||
"integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz",
|
||||
"integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/types": "^7.29.0"
|
||||
"@babel/types": "^7.29.7"
|
||||
},
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
@ -130,40 +131,40 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.29.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz",
|
||||
"integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
|
||||
"integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/template": {
|
||||
"version": "7.28.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
|
||||
"integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz",
|
||||
"integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.28.6",
|
||||
"@babel/parser": "^7.28.6",
|
||||
"@babel/types": "^7.28.6"
|
||||
"@babel/code-frame": "^7.29.7",
|
||||
"@babel/parser": "^7.29.7",
|
||||
"@babel/types": "^7.29.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/traverse": {
|
||||
"version": "7.29.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
|
||||
"integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz",
|
||||
"integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.29.0",
|
||||
"@babel/generator": "^7.29.0",
|
||||
"@babel/helper-globals": "^7.28.0",
|
||||
"@babel/parser": "^7.29.0",
|
||||
"@babel/template": "^7.28.6",
|
||||
"@babel/types": "^7.29.0",
|
||||
"@babel/code-frame": "^7.29.7",
|
||||
"@babel/generator": "^7.29.7",
|
||||
"@babel/helper-globals": "^7.29.7",
|
||||
"@babel/parser": "^7.29.7",
|
||||
"@babel/template": "^7.29.7",
|
||||
"@babel/types": "^7.29.7",
|
||||
"debug": "^4.3.1"
|
||||
},
|
||||
"engines": {
|
||||
@ -171,22 +172,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/types": {
|
||||
"version": "7.29.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
|
||||
"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
|
||||
"version": "7.29.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz",
|
||||
"integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": "^7.27.1",
|
||||
"@babel/helper-validator-identifier": "^7.28.5"
|
||||
"@babel/helper-string-parser": "^7.29.7",
|
||||
"@babel/helper-validator-identifier": "^7.29.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@base-ui/utils": {
|
||||
"version": "0.2.8",
|
||||
"resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.8.tgz",
|
||||
"integrity": "sha512-jvOi+c+ftGlGotNcKnzPVg2IhCaDTB6/6R3JeqdjdXktuAJi3wKH9T7+svuaKh1mmfVU11UWzUZVH74JDfi/wQ==",
|
||||
"version": "0.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz",
|
||||
"integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
@ -370,21 +371,21 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/core": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
|
||||
"integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz",
|
||||
"integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@emnapi/wasi-threads": "1.2.1",
|
||||
"@emnapi/wasi-threads": "1.2.2",
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/runtime": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
||||
"integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz",
|
||||
"integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
@ -393,9 +394,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/wasi-threads": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
||||
"integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==",
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz",
|
||||
"integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
@ -650,9 +651,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/core-downloads-tracker": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-9.0.1.tgz",
|
||||
"integrity": "sha512-GzamIIhZ1bH77dq7eKaeyRgJdkypsxin4jBFq2EMs4lBWRR0LFO1CSVMsoebn/VvjcNrnrOrjy48MkrkQUK2iw==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-9.1.1.tgz",
|
||||
"integrity": "sha512-AupmMICbdJHqAh6FfOMaaiiIr7dfEgZJn5DFfiPuGNrbs+ZZy9cD1APwO0TSVBz5j08MJEEY6n7iC76/2wjMEA==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
@ -660,9 +661,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/icons-material": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-9.0.1.tgz",
|
||||
"integrity": "sha512-5PRpQjVLTNLyV/2J9J53Yz4R0tVbodG0BQDN2zQI1QBG1OPYM25ar+4N20eyFOfJT6zKglLzsnU70+zdVLaTkw==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-9.1.1.tgz",
|
||||
"integrity": "sha512-OXhm9DajemStb58AumM06DuPhHTa3XD36TFD4yf6WtJyNRO5DfEZbbnHlBg/US2Y2oOXwM/XurMTBOD6L/YYZw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
@ -676,7 +677,7 @@
|
||||
"url": "https://opencollective.com/mui-org"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mui/material": "^9.0.1",
|
||||
"@mui/material": "^9.1.1",
|
||||
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
},
|
||||
@ -687,22 +688,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/material": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/material/-/material-9.0.1.tgz",
|
||||
"integrity": "sha512-voyCpeUxcSWLN7KPZuq0pGCIt726T9K6kiVM3XUcywZDAlZSarLHaUxJVQpospbjjOzN53hwyjo8s6KoWl6utw==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/material/-/material-9.1.1.tgz",
|
||||
"integrity": "sha512-Wv+gInjrpf99l1Q0oHe0eOWGTnlbkzs5nowClX65KCT/2fyPMwcbFEEkUsOHdpcHhB5UAbz/d7jlwt5ajWVvlA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
"@mui/core-downloads-tracker": "^9.0.1",
|
||||
"@mui/system": "^9.0.1",
|
||||
"@mui/types": "^9.0.0",
|
||||
"@mui/utils": "^9.0.1",
|
||||
"@mui/core-downloads-tracker": "^9.1.1",
|
||||
"@mui/system": "^9.1.1",
|
||||
"@mui/types": "^9.1.1",
|
||||
"@mui/utils": "^9.1.1",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
"@types/react-transition-group": "^4.4.12",
|
||||
"clsx": "^2.1.1",
|
||||
"csstype": "^3.2.3",
|
||||
"prop-types": "^15.8.1",
|
||||
"react-is": "^19.2.4",
|
||||
"react-is": "^19.2.6",
|
||||
"react-transition-group": "^4.4.5"
|
||||
},
|
||||
"engines": {
|
||||
@ -715,7 +716,7 @@
|
||||
"peerDependencies": {
|
||||
"@emotion/react": "^11.5.0",
|
||||
"@emotion/styled": "^11.3.0",
|
||||
"@mui/material-pigment-css": "^9.0.1",
|
||||
"@mui/material-pigment-css": "^9.1.1",
|
||||
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
@ -736,13 +737,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/private-theming": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-9.0.1.tgz",
|
||||
"integrity": "sha512-pSIGq4Yw749KHEwlkYZWVERgHgwJELP6ODtBNUfV8V4oIb5H+h7IQDFXuk/b2oQccODK1enJAtiEzlgLZmq+8g==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-9.1.1.tgz",
|
||||
"integrity": "sha512-oH6c+d6sJ1CZT0Vg2/fHdUQ5zvo9Pn+f+WWk0tlQliHqqIRdN32DZ7UxjalW3LUj4OkHbdWR31biWuLxK9i7Cg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
"@mui/utils": "^9.0.1",
|
||||
"@mui/utils": "^9.1.1",
|
||||
"prop-types": "^15.8.1"
|
||||
},
|
||||
"engines": {
|
||||
@ -763,9 +764,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/styled-engine": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-9.0.0.tgz",
|
||||
"integrity": "sha512-9RLGdX4Jg0aQPRuvqh/OLzYSPlgd5zyEw5/1HIRfdavSiOd03WtUaGZH9/w1RoTYuRKwpgy0hpIFaMHIqPVIWg==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-9.1.1.tgz",
|
||||
"integrity": "sha512-neaYKdJfvEG54q8efHLJR7swpHG/gfSv9xGqW5iTSMsubD7yPCPFrhVBt284j1DOF3uZaaDJSHQL7gz6jGF21Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
@ -797,16 +798,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/system": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/system/-/system-9.0.1.tgz",
|
||||
"integrity": "sha512-WvlioaLxk6ewUIOfh0StxUvOPDS1mCfzaulcudsL1brZNXuh0N9FMk7RpH7ImJKjEz412SEy/V/yvqmtxbqxCQ==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/system/-/system-9.1.1.tgz",
|
||||
"integrity": "sha512-q+aqNa58QZUwmmyUvJKKrStrej+4BcWFw4M0Ug+zRylPIQgR64cqvBnE3QTfLZm4OXulydp8Hl3zwKxMayrdsA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
"@mui/private-theming": "^9.0.1",
|
||||
"@mui/styled-engine": "^9.0.0",
|
||||
"@mui/types": "^9.0.0",
|
||||
"@mui/utils": "^9.0.1",
|
||||
"@mui/private-theming": "^9.1.1",
|
||||
"@mui/styled-engine": "^9.1.1",
|
||||
"@mui/types": "^9.1.1",
|
||||
"@mui/utils": "^9.1.1",
|
||||
"clsx": "^2.1.1",
|
||||
"csstype": "^3.2.3",
|
||||
"prop-types": "^15.8.1"
|
||||
@ -837,9 +838,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/types": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/types/-/types-9.0.0.tgz",
|
||||
"integrity": "sha512-i1cuFCAWN44b3AJWO7mh7tuh1sqbQSeVr/94oG0TX5uXivac8XalgE4/6fQZcmGZigzbQ35IXxj/4jLpRIBYZg==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/types/-/types-9.1.1.tgz",
|
||||
"integrity": "sha512-Zjt7u8wNvDg40rPTGoL+TnfkpuSKjwubsNSFRH1KAVZLcaV4I3AFNHIFbvH7p4F3alEibSbdd90xAgn5Rnfndg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2"
|
||||
@ -854,17 +855,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/utils": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.1.tgz",
|
||||
"integrity": "sha512-f3UO3jNN1pYg5zxqXC81Bvv8hx5ACcYc0387382ZI7M5ono1heIwHYLrKsz85myguWdeVKPRZGmDdynWUBjK2g==",
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.1.1.tgz",
|
||||
"integrity": "sha512-qSNfnkzZMptaaWFFklpDf4NPJztgwsMDVfM/sSDt+wq4ssYSBhLYwwjuB6eS/+p2IUYbeRzHluzXbw0Zn7aI4A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
"@mui/types": "^9.0.0",
|
||||
"@mui/types": "^9.1.1",
|
||||
"@types/prop-types": "^15.7.15",
|
||||
"clsx": "^2.1.1",
|
||||
"prop-types": "^15.8.1",
|
||||
"react-is": "^19.2.4"
|
||||
"react-is": "^19.2.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
@ -884,13 +885,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-date-pickers": {
|
||||
"version": "9.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-9.2.0.tgz",
|
||||
"integrity": "sha512-4GMal3xvHSKs+Ajv1PwbakWas79DDh6KlsSr9sjJhSINaST6dAPsIQblX5mSOmR7c4Du1Aemhqeiwo3L0CwNzQ==",
|
||||
"version": "9.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-9.5.0.tgz",
|
||||
"integrity": "sha512-Pzd8gU2qOoIAUMMesjbrq3gFs6akWXcSsEkFIHVA4dtuoh6SeWISu+WR+ymq/sBOcn2tk9IBIjqRQkqLhkm+tg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
"@babel/runtime": "^7.29.7",
|
||||
"@mui/utils": "9.0.1",
|
||||
"@mui/x-internals": "^9.1.0",
|
||||
"@types/react-transition-group": "^4.4.12",
|
||||
@ -950,6 +951,37 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-date-pickers/node_modules/@mui/utils": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.1.tgz",
|
||||
"integrity": "sha512-f3UO3jNN1pYg5zxqXC81Bvv8hx5ACcYc0387382ZI7M5ono1heIwHYLrKsz85myguWdeVKPRZGmDdynWUBjK2g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
"@mui/types": "^9.0.0",
|
||||
"@types/prop-types": "^15.7.15",
|
||||
"clsx": "^2.1.1",
|
||||
"prop-types": "^15.8.1",
|
||||
"react-is": "^19.2.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/mui-org"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-internals": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-9.1.0.tgz",
|
||||
@ -1003,14 +1035,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-tree-view": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-9.1.0.tgz",
|
||||
"integrity": "sha512-Pht6/VS5cmKBCKr7MfbvS+XY4vPKpzDEKZVaSpUiv4ClnSsm9kJeSbzziA1MM1yeEmJx40XyNqZKUCslLO76kw==",
|
||||
"version": "9.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-9.4.0.tgz",
|
||||
"integrity": "sha512-tJ4txQCwadY7Yj1LDhgtV4gjc0KCHdTWTPh/ynUj7BJ7aKqOzblXZzur0GLjyLJUhauBvotaF4LpzRxrjsPu5g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
"@base-ui/utils": "^0.2.8",
|
||||
"@mui/utils": "9.0.0",
|
||||
"@babel/runtime": "^7.29.7",
|
||||
"@base-ui/utils": "^0.2.9",
|
||||
"@mui/utils": "9.0.1",
|
||||
"@mui/x-internals": "^9.1.0",
|
||||
"@types/react-transition-group": "^4.4.12",
|
||||
"clsx": "^2.1.1",
|
||||
@ -1042,9 +1074,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mui/x-tree-view/node_modules/@mui/utils": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.0.tgz",
|
||||
"integrity": "sha512-bQcqyg/gjULUqTuyUjSAFr6LQGLvtkNtDbJerAtoUn9kGZ0hg5QJiN1PLHMLbeFpe3te1831uq7GFl2ITokGdg==",
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.0.1.tgz",
|
||||
"integrity": "sha512-f3UO3jNN1pYg5zxqXC81Bvv8hx5ACcYc0387382ZI7M5ono1heIwHYLrKsz85myguWdeVKPRZGmDdynWUBjK2g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.29.2",
|
||||
@ -1129,6 +1161,15 @@
|
||||
"url": "https://opencollective.com/popperjs"
|
||||
}
|
||||
},
|
||||
"node_modules/@remix-run/router": {
|
||||
"version": "1.23.3",
|
||||
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.3.tgz",
|
||||
"integrity": "sha512-4An71tdz9X8+3sI4Qqqd2LWd9vS39J7sqd9EU4Scw7TJE/qB10Flv/UuqbPVgfQV9XoK8Np6jNquZitnZq5i+Q==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rsbuild/core": {
|
||||
"version": "1.7.5",
|
||||
"resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-1.7.5.tgz",
|
||||
@ -1169,28 +1210,28 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rspack/binding": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz",
|
||||
"integrity": "sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.12.tgz",
|
||||
"integrity": "sha512-f4HHuLbvuld8Ba4iB/4ibse5XrKxFrgmM3S4P2AOKnPlekAFlBjmltCuaTL/W2ggYvILaVY+YcFXrEH1rrKeQA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optionalDependencies": {
|
||||
"@rspack/binding-darwin-arm64": "1.7.11",
|
||||
"@rspack/binding-darwin-x64": "1.7.11",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.7.11",
|
||||
"@rspack/binding-linux-arm64-musl": "1.7.11",
|
||||
"@rspack/binding-linux-x64-gnu": "1.7.11",
|
||||
"@rspack/binding-linux-x64-musl": "1.7.11",
|
||||
"@rspack/binding-wasm32-wasi": "1.7.11",
|
||||
"@rspack/binding-win32-arm64-msvc": "1.7.11",
|
||||
"@rspack/binding-win32-ia32-msvc": "1.7.11",
|
||||
"@rspack/binding-win32-x64-msvc": "1.7.11"
|
||||
"@rspack/binding-darwin-arm64": "1.7.12",
|
||||
"@rspack/binding-darwin-x64": "1.7.12",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.7.12",
|
||||
"@rspack/binding-linux-arm64-musl": "1.7.12",
|
||||
"@rspack/binding-linux-x64-gnu": "1.7.12",
|
||||
"@rspack/binding-linux-x64-musl": "1.7.12",
|
||||
"@rspack/binding-wasm32-wasi": "1.7.12",
|
||||
"@rspack/binding-win32-arm64-msvc": "1.7.12",
|
||||
"@rspack/binding-win32-ia32-msvc": "1.7.12",
|
||||
"@rspack/binding-win32-x64-msvc": "1.7.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@rspack/binding-darwin-arm64": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz",
|
||||
"integrity": "sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.12.tgz",
|
||||
"integrity": "sha512-rbFprJaJiqrmfy8SHth8EsoRS0wg4bXcucwj9NiMzpGFq14Opw8c04iQ6H9BECYzgmN0PKZ9rh41LdVvhdZe4A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1202,9 +1243,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-darwin-x64": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz",
|
||||
"integrity": "sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.12.tgz",
|
||||
"integrity": "sha512-jnOp+/UXOJa9xqUb8KXH03sysoO2e4Ij6tw6MqDdmdj8n/A8PQENRPUbW9AwXpPtVDJPus9r4fi7b3+6e4B8Hg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1216,9 +1257,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-linux-arm64-gnu": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz",
|
||||
"integrity": "sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.12.tgz",
|
||||
"integrity": "sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1230,9 +1271,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-linux-arm64-musl": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz",
|
||||
"integrity": "sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.12.tgz",
|
||||
"integrity": "sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1244,9 +1285,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-linux-x64-gnu": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz",
|
||||
"integrity": "sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.12.tgz",
|
||||
"integrity": "sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1258,9 +1299,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-linux-x64-musl": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz",
|
||||
"integrity": "sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.12.tgz",
|
||||
"integrity": "sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1272,9 +1313,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-wasm32-wasi": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz",
|
||||
"integrity": "sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.12.tgz",
|
||||
"integrity": "sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg==",
|
||||
"cpu": [
|
||||
"wasm32"
|
||||
],
|
||||
@ -1286,9 +1327,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rspack/binding-win32-arm64-msvc": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz",
|
||||
"integrity": "sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.12.tgz",
|
||||
"integrity": "sha512-8+h5fYDXYdmugbdfZ+D1y8IQ3rv2EhSfyGP7vBe+bjNyaMa4jWrpucmZbtxojUL1AzaeuHbvMdj9UO/gelk/+g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -1300,9 +1341,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-win32-ia32-msvc": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz",
|
||||
"integrity": "sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.12.tgz",
|
||||
"integrity": "sha512-cDMGwTRSa2p9fNBVe1wTRkF2AEXZ9ARWW36QeC5CkLaI0Ezz8lvhF2+CSOPnhaQ1O1qtn0L0SF+lFnrY+I7xGQ==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@ -1314,9 +1355,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/binding-win32-x64-msvc": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz",
|
||||
"integrity": "sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.12.tgz",
|
||||
"integrity": "sha512-wIqFvlgFqrgUyj/6S/FJcvShnkZOmIeXTfqvheLY67MGq8qd8jb1YimQVKAIrmWB3yuJKUFACI3Ag1UBtEedEA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -1328,14 +1369,14 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rspack/core": {
|
||||
"version": "1.7.11",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz",
|
||||
"integrity": "sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==",
|
||||
"version": "1.7.12",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.12.tgz",
|
||||
"integrity": "sha512-6CwFIHlhRmXfZoMj3v9MZ1SMTPBn+cHVXeMIeaGp5sufqinKsISbsqHu6ZMJu2wDSmZLdmQJX6zLxkhcAUlhkQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@module-federation/runtime-tools": "0.22.0",
|
||||
"@rspack/binding": "1.7.11",
|
||||
"@rspack/binding": "1.7.12",
|
||||
"@rspack/lite-tapable": "1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
@ -1350,13 +1391,20 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@rspack/lite-tapable": {
|
||||
"node_modules/@rspack/core/node_modules/@rspack/lite-tapable": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz",
|
||||
"integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@rspack/lite-tapable": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.2.tgz",
|
||||
"integrity": "sha512-1OnyWChLGE46YzWyjlmYJssOu/Y0STAnnr2ueKPqDCYTf63GJMs0mxNnCul4dNiVqHYPKv3/fxrTY3IpqoVwZQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@rspack/plugin-react-refresh": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.2.tgz",
|
||||
@ -1377,9 +1425,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/helpers": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz",
|
||||
"integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==",
|
||||
"version": "0.5.23",
|
||||
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz",
|
||||
"integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@ -1486,9 +1534,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/react": {
|
||||
"version": "18.3.28",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz",
|
||||
"integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
|
||||
"version": "18.3.31",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.31.tgz",
|
||||
"integrity": "sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/prop-types": "*",
|
||||
@ -1558,9 +1606,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
|
||||
"integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
|
||||
"version": "1.18.0",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.18.0.tgz",
|
||||
"integrity": "sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.16.0",
|
||||
@ -1711,19 +1759,6 @@
|
||||
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/cookie": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
|
||||
"integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/express"
|
||||
}
|
||||
},
|
||||
"node_modules/core-js": {
|
||||
"version": "3.47.0",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz",
|
||||
@ -1809,9 +1844,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/date-fns": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
|
||||
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz",
|
||||
"integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
@ -1918,9 +1953,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/es-object-atoms": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
||||
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
|
||||
"integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es-errors": "^1.3.0"
|
||||
@ -2038,16 +2073,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/form-data": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
||||
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
|
||||
"version": "4.0.6",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz",
|
||||
"integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"es-set-tostringtag": "^2.1.0",
|
||||
"hasown": "^2.0.2",
|
||||
"mime-types": "^2.1.12"
|
||||
"hasown": "^2.0.4",
|
||||
"mime-types": "^2.1.35"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
@ -2165,9 +2200,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz",
|
||||
"integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==",
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
|
||||
"integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.2"
|
||||
@ -2581,9 +2616,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.14",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
|
||||
"integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
|
||||
"version": "8.5.15",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
|
||||
"integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@ -2600,7 +2635,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.11",
|
||||
"nanoid": "^3.3.12",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
},
|
||||
@ -2676,9 +2711,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-selector-parser": {
|
||||
"version": "6.1.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
|
||||
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
|
||||
"version": "6.1.4",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz",
|
||||
"integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
@ -2778,9 +2813,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/react-is": {
|
||||
"version": "19.2.6",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.6.tgz",
|
||||
"integrity": "sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw==",
|
||||
"version": "19.2.7",
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz",
|
||||
"integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/react-refresh": {
|
||||
@ -2794,41 +2829,35 @@
|
||||
}
|
||||
},
|
||||
"node_modules/react-router": {
|
||||
"version": "7.15.1",
|
||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.15.1.tgz",
|
||||
"integrity": "sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A==",
|
||||
"version": "6.30.4",
|
||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.4.tgz",
|
||||
"integrity": "sha512-SVUsDe+DybHM/WmYKIVYhZh1o5Dcuf16yM6WjG02Q9XVFMZIJyHYhwrr6bFBXZkVP6z69kNkMyBCujt8FaFLJA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cookie": "^1.0.1",
|
||||
"set-cookie-parser": "^2.6.0"
|
||||
"@remix-run/router": "1.23.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18",
|
||||
"react-dom": ">=18"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
"react": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/react-router-dom": {
|
||||
"version": "7.15.1",
|
||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.15.1.tgz",
|
||||
"integrity": "sha512-AzF62gjY6U9rkMq4RfP/r2EVtQ7DMfNMjyOp/flLTCrtRylLiK4wT4pSq6O8rOXZ2eXdZYJPEYe+ifomiv+Igg==",
|
||||
"version": "6.30.4",
|
||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.4.tgz",
|
||||
"integrity": "sha512-q4HvNl+mmDdkS0g+MqiBZNteQJCuimWoOyHMy4T/RQLAn9Z29+E91QXRaxOujeMl2HTzRSS0KFPd7lxX3PjV0Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"react-router": "7.15.1"
|
||||
"@remix-run/router": "1.23.3",
|
||||
"react-router": "6.30.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18",
|
||||
"react-dom": ">=18"
|
||||
"react": ">=16.8",
|
||||
"react-dom": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/react-toastify": {
|
||||
@ -2888,9 +2917,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/reselect": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
|
||||
"integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.2.0.tgz",
|
||||
"integrity": "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
@ -2965,12 +2994,6 @@
|
||||
"loose-envify": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/set-cookie-parser": {
|
||||
"version": "2.7.2",
|
||||
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
|
||||
"integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
@ -3163,9 +3186,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.16",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz",
|
||||
"integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==",
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
|
||||
"integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fdir": "^6.5.0",
|
||||
|
||||
@ -13,14 +13,15 @@
|
||||
"@emotion/styled": "^11.14.1",
|
||||
"@mui/material": "^9.0.1",
|
||||
"@mui/x-tree-view": "^9.1.0",
|
||||
"axios": "^1.16.1",
|
||||
"axios": "^1.9.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"material-react-table": "^3.2.1",
|
||||
"react": "^18.3.1",
|
||||
"react-daisyui": "^5.0.5",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-router-dom": "^7.15.1",
|
||||
"react-toastify": "^11.1.0"
|
||||
"react-dom": "^18.2.0",
|
||||
"react-router": "^6.30.0",
|
||||
"react-router-dom": "^6.30.0",
|
||||
"react-toastify": "^11.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import api from './client';
|
||||
import api from "./client";
|
||||
|
||||
export const StagesApi = {
|
||||
createStage(formId, payload) {
|
||||
return api.post(`/stages/form/${formId}`, [payload]).then((r) => r.data);
|
||||
return api.post(`/stages/form/${formId}`, payload).then((r) => r.data);
|
||||
},
|
||||
updateStage(payload) {
|
||||
const { budget_form_id, sheet, phase_code, opens_at, closes_at } = payload;
|
||||
|
||||
@ -14,7 +14,7 @@ import {
|
||||
RemoveLine,
|
||||
Search,
|
||||
} from '../../common/icons/icons';
|
||||
import CollapsibleTree from './CollapsibleTree';
|
||||
import CollapsibleTree from '../../common/CollapsibleTree';
|
||||
import ZoomSlider from './ZoomSlider';
|
||||
import SearchComponent from '../../common/SearchComponent';
|
||||
import { ExportDefaultButton } from '../../common/Buttons/ButtonsActions';
|
||||
|
||||
@ -105,7 +105,7 @@
|
||||
"accessorKey":"field",
|
||||
"columns":[
|
||||
{
|
||||
"header":"=ЕСЛИ(ЛЕВСИМВ(B17;1)="3";B17;ЕСЛИ(D17<>0;СЦЕПИТЬ(C17;"_";D17);C17))",
|
||||
"header":" ",
|
||||
"accessorKey":"field_eslilevsimvb1713b17eslid170stsepitc17_d17c17",
|
||||
"columns":[
|
||||
{
|
||||
|
||||
@ -12,8 +12,8 @@ export const getLeafColumns = (targetColumn) => {
|
||||
|
||||
// Сбор всех листовых колонок из иерархии
|
||||
export const collectLeafColumns = (column) => {
|
||||
if (column.columns?.length === 0) return [column];
|
||||
if (column.columns?.length > 0 && column.columns[0]?.columns?.length === 0) {
|
||||
if (column.columns?.length === 0 || !column.columns) return [column];
|
||||
if (column.columns?.length > 0 && (column.columns[0]?.columns?.length === 0 || !column.columns)) {
|
||||
return column.columns;
|
||||
}
|
||||
return (
|
||||
|
||||
@ -8,6 +8,9 @@ import {
|
||||
IconButton,
|
||||
Stack,
|
||||
TextField,
|
||||
Select,
|
||||
MenuItem,
|
||||
Autocomplete,
|
||||
} from '@mui/material';
|
||||
import {
|
||||
ModalBackdrop,
|
||||
@ -20,6 +23,9 @@ import { Cancel } from '../common/icons/icons';
|
||||
import { getStageStatus, getStatusColors } from './StagesTable/utils';
|
||||
import { StageStatusChip } from './StageStatusChip';
|
||||
import { formatDateForApi } from './utils';
|
||||
import CollapsibleTree from '../common/CollapsibleTree';
|
||||
import { collectLeafColumns } from '../RealtimeTable/utils/columnUtils';
|
||||
import { STAGE_ROLE_RUSSIAN_NAME } from '../../constants';
|
||||
|
||||
export const AddStagesModal = ({
|
||||
isOpen,
|
||||
@ -29,34 +35,89 @@ export const AddStagesModal = ({
|
||||
updateStage,
|
||||
isTaskMode = false,
|
||||
isSaving = false,
|
||||
sheetOptions = [], // [{ value: 'sheet1', label: 'Лист 1' }]
|
||||
formType = '',
|
||||
defaultSheet = '',
|
||||
defaultRole,
|
||||
}) => {
|
||||
const [startDate, setStartDate] = useState(null);
|
||||
const [endDate, setEndDate] = useState(null);
|
||||
const [stageName, setStageName] = useState('');
|
||||
const [selectedSheet, setSelectedSheet] = useState(defaultSheet);
|
||||
const [selectedRole, setSelectedRole] = useState(defaultRole);
|
||||
const [columnsConfig, setColumnsConfig] = useState({ columns: [], colors: {} });
|
||||
const [selectedColumns, setSelectedColumns] = useState([]);
|
||||
|
||||
useEffect(() => {
|
||||
const loadColumnsConfig = async () => {
|
||||
if (!selectedSheet) return;
|
||||
const sheetObj = sheetOptions.find(s => s.value == selectedSheet);
|
||||
|
||||
try {
|
||||
const { config } = await import(`../RealtimeTable/constants/${formType}/${sheetObj.sheet}.js`);
|
||||
setColumnsConfig(config.config);
|
||||
|
||||
// Если есть сохраненные выбранные колонки для этого листа
|
||||
if (stage?.column_keys) {
|
||||
setSelectedColumns(stage.column_keys);
|
||||
} else {
|
||||
setSelectedColumns([]);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`Failed to load config for ${formType}/${selectedSheet}:`, error);
|
||||
setColumnsConfig({ columns: [], colors: {} });
|
||||
setSelectedColumns([]);
|
||||
}
|
||||
};
|
||||
|
||||
loadColumnsConfig();
|
||||
}, [selectedSheet, formType, stage]);
|
||||
|
||||
useEffect(() => {
|
||||
if (stage !== null) {
|
||||
setStartDate(stage.opens_at ?? null);
|
||||
setEndDate(stage.closes_at ?? null);
|
||||
setStageName(stage.phase_code ?? '');
|
||||
setSelectedSheet(stage.sheet ?? null);
|
||||
setSelectedRole(stage.role ?? null);
|
||||
|
||||
if (stage.column_keys) {
|
||||
setSelectedColumns(stage.column_keys.map(c => 'data.' + c));
|
||||
}
|
||||
} else {
|
||||
setStartDate(null);
|
||||
setEndDate(null);
|
||||
setStageName('');
|
||||
setSelectedSheet(defaultSheet);
|
||||
setSelectedRole(defaultRole);
|
||||
setSelectedColumns([]);
|
||||
}
|
||||
}, [stage, isOpen]);
|
||||
}, [stage, isOpen, defaultSheet, defaultRole]);
|
||||
|
||||
const handleSave = () => {
|
||||
const opensAt = formatDateForApi(startDate);
|
||||
const closesAt = formatDateForApi(endDate);
|
||||
const sheetObj = sheetOptions.find(s => s.value == selectedSheet);
|
||||
|
||||
const stageData = {
|
||||
phase_code: stageName,
|
||||
sheet: sheetObj.sheet,
|
||||
direction: sheetObj.direction,
|
||||
role: selectedRole,
|
||||
opens_at: opensAt,
|
||||
closes_at: closesAt,
|
||||
column_keys: selectedColumns.map(c => c.slice(5)),
|
||||
};
|
||||
|
||||
if (stage === null) {
|
||||
if (!createStage) return;
|
||||
createStage(opensAt, closesAt)?.then(() => {
|
||||
createStage(stageData)?.then(() => {
|
||||
handleCancel();
|
||||
});
|
||||
} else {
|
||||
updateStage({
|
||||
...stage,
|
||||
opens_at: opensAt,
|
||||
closes_at: closesAt,
|
||||
...stageData,
|
||||
})?.then(() => {
|
||||
handleCancel();
|
||||
});
|
||||
@ -66,6 +127,10 @@ export const AddStagesModal = ({
|
||||
const handleCancel = () => {
|
||||
setStartDate(null);
|
||||
setEndDate(null);
|
||||
setStageName('');
|
||||
setSelectedSheet(defaultSheet);
|
||||
setSelectedRole(defaultRole);
|
||||
setSelectedColumns([]);
|
||||
onClose();
|
||||
};
|
||||
|
||||
@ -75,13 +140,33 @@ export const AddStagesModal = ({
|
||||
}
|
||||
};
|
||||
|
||||
const isFormValid = startDate && endDate;
|
||||
const handleSheetChange = (event) => {
|
||||
setSelectedSheet(event.target.value);
|
||||
setSelectedColumns([]);
|
||||
};
|
||||
|
||||
const handleColumnsSelect = (column, isSelect) => {
|
||||
const leafCols = collectLeafColumns(column).reduce((acc, item) => {
|
||||
acc.push(item.accessorKey)
|
||||
return acc;
|
||||
}, []);
|
||||
if (!isSelect) {
|
||||
setSelectedColumns(prev => ([...prev, ...leafCols]));
|
||||
}
|
||||
else {
|
||||
setSelectedColumns(prev => (prev.filter(c => !leafCols.includes(c))));
|
||||
}
|
||||
};
|
||||
|
||||
const isFormValid = startDate && endDate && stageName.trim() && selectedSheet;
|
||||
|
||||
if (!isOpen) return null;
|
||||
|
||||
const stageStatus = stage ? getStageStatus(stage) : null;
|
||||
const statusColors = stageStatus ? getStatusColors(stageStatus) : null;
|
||||
|
||||
const columnTree = columnsConfig.columns || [];
|
||||
|
||||
return (
|
||||
<ModalBackdrop isOpen={isOpen} onClick={handleBackdropClick}>
|
||||
<ModalContainer>
|
||||
@ -107,6 +192,78 @@ export const AddStagesModal = ({
|
||||
<Box>
|
||||
<Divider sx={{ marginBottom: '0.75rem' }} />
|
||||
|
||||
{/* Название этапа */}
|
||||
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||
<FormControl fullWidth>
|
||||
<FormLabel>Название этапа</FormLabel>
|
||||
<TextField
|
||||
value={stageName}
|
||||
onChange={(e) => setStageName(e.target.value)}
|
||||
placeholder="Введите название этапа"
|
||||
fullWidth
|
||||
size="small"
|
||||
/>
|
||||
</FormControl>
|
||||
</Stack>
|
||||
|
||||
{/* Выбор листа */}
|
||||
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||
<FormControl fullWidth>
|
||||
<FormLabel>Выбор листа</FormLabel>
|
||||
<Select
|
||||
value={selectedSheet}
|
||||
onChange={handleSheetChange}
|
||||
displayEmpty
|
||||
size="small"
|
||||
>
|
||||
<MenuItem value="" disabled>
|
||||
Выберите лист
|
||||
</MenuItem>
|
||||
{sheetOptions.map((option) => (
|
||||
<MenuItem key={option.value} value={option.value}>
|
||||
{option.label}
|
||||
</MenuItem>
|
||||
))}
|
||||
</Select>
|
||||
</FormControl>
|
||||
</Stack>
|
||||
{selectedSheet && columnTree.length > 0 && (
|
||||
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||
<FormControl fullWidth>
|
||||
<FormLabel>Выбор колонок</FormLabel>
|
||||
|
||||
<CollapsibleTree
|
||||
columnTree={columnTree}
|
||||
placeholder="Выбрать столбцы"
|
||||
placeholderSelect="Выбрано столбцов: "
|
||||
selectedIds={selectedColumns}
|
||||
onSelectNode={handleColumnsSelect}
|
||||
/>
|
||||
</FormControl>
|
||||
</Stack>
|
||||
)}
|
||||
|
||||
<Stack sx={{ marginBottom: '0.75rem', width: '100%' }}>
|
||||
<FormControl fullWidth>
|
||||
<FormLabel>Роль</FormLabel>
|
||||
<Select
|
||||
value={selectedRole}
|
||||
onChange={(e) => setSelectedRole(e.target.value)}
|
||||
displayEmpty
|
||||
size="small"
|
||||
>
|
||||
{Object.entries(STAGE_ROLE_RUSSIAN_NAME).map(([key, label]) => (
|
||||
<MenuItem key={key} value={key}>
|
||||
{label}
|
||||
</MenuItem>
|
||||
))}
|
||||
</Select>
|
||||
</FormControl>
|
||||
</Stack>
|
||||
|
||||
|
||||
|
||||
{/* Даты */}
|
||||
<Stack
|
||||
direction="row"
|
||||
spacing={1}
|
||||
@ -118,7 +275,6 @@ export const AddStagesModal = ({
|
||||
<CalendarInput
|
||||
value={startDate}
|
||||
onChange={(newValue) => setStartDate(newValue)}
|
||||
isTaskMode={isTaskMode}
|
||||
/>
|
||||
</FormControl>
|
||||
</Stack>
|
||||
@ -128,7 +284,6 @@ export const AddStagesModal = ({
|
||||
<CalendarInput
|
||||
value={endDate}
|
||||
onChange={(newValue) => setEndDate(newValue)}
|
||||
isTaskMode={isTaskMode}
|
||||
/>
|
||||
</FormControl>
|
||||
</Stack>
|
||||
@ -166,4 +321,4 @@ export const AddStagesModal = ({
|
||||
</ModalContainer>
|
||||
</ModalBackdrop>
|
||||
);
|
||||
};
|
||||
};
|
||||
@ -20,6 +20,7 @@ import {
|
||||
} from '@mui/material';
|
||||
import CloseIcon from '@mui/icons-material/Close';
|
||||
import { StagesTable } from './StagesTable/StagesTable';
|
||||
import { PrimaryButton } from '../common/Buttons/Buttons';
|
||||
|
||||
export const SettingModal = ({
|
||||
isOpen = true,
|
||||
@ -27,9 +28,10 @@ export const SettingModal = ({
|
||||
formId,
|
||||
taskId,
|
||||
mode = 'form', // 'form' | 'task'
|
||||
formTypeCode = '',
|
||||
sheets,
|
||||
}) => {
|
||||
const formStages = useStages(mode === 'form' ? formId : null);
|
||||
const taskStages = useTaskStages(mode === 'task' ? taskId : null);
|
||||
const taskStages = useTaskStages(taskId);
|
||||
|
||||
const {
|
||||
deleteStage,
|
||||
@ -38,10 +40,10 @@ export const SettingModal = ({
|
||||
createStage,
|
||||
updateStage,
|
||||
isSaving,
|
||||
} = mode === 'task' ? taskStages : formStages;
|
||||
} = taskStages;
|
||||
|
||||
const isTaskMode = mode === 'task';
|
||||
const entityId = mode === 'task' ? taskId : formId;
|
||||
const entityId = taskId;
|
||||
|
||||
useEffect(() => {
|
||||
if (isOpen && entityId) {
|
||||
@ -53,6 +55,7 @@ export const SettingModal = ({
|
||||
const [stageForEdit, setStageForEdit] = useState(null);
|
||||
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
|
||||
const [stageToDelete, setStageToDelete] = useState(null);
|
||||
const [sheetOptions, setSheetOptions] = useState([]);
|
||||
|
||||
const handleAddStage = () => {
|
||||
setStageForEdit(null);
|
||||
@ -72,6 +75,50 @@ export const SettingModal = ({
|
||||
setStageForEdit(stage);
|
||||
setIsAddEditModalOpen(true);
|
||||
};
|
||||
const transformToSheetOptions = (data) => {
|
||||
const sheetMap = new Map();
|
||||
|
||||
data.forEach(item => {
|
||||
const key = item.direction ? `${item.sheet}_${item.direction}` : item.sheet;
|
||||
|
||||
if (!sheetMap.has(key)) {
|
||||
sheetMap.set(key, {
|
||||
sheet: item.sheet,
|
||||
direction: item.direction,
|
||||
names: []
|
||||
});
|
||||
}
|
||||
|
||||
const entry = sheetMap.get(key);
|
||||
if (!entry.names.includes(item.name)) {
|
||||
entry.names.push(item.name);
|
||||
}
|
||||
});
|
||||
|
||||
const sheetOptions = [];
|
||||
|
||||
sheetMap.forEach((value) => {
|
||||
let label = value.names.join(' / ');
|
||||
|
||||
if (value.direction) {
|
||||
label += ` (${value.direction})`;
|
||||
}
|
||||
|
||||
sheetOptions.push({
|
||||
value: value.direction ? `${value.sheet}_${value.direction}` : value.sheet,
|
||||
label: label,
|
||||
sheet: value.sheet,
|
||||
direction: value.direction
|
||||
});
|
||||
});
|
||||
|
||||
return sheetOptions;
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (!sheets || sheets.length === 0) return;
|
||||
setSheetOptions(transformToSheetOptions(sheets))
|
||||
}, [sheets])
|
||||
|
||||
if (!isOpen) {
|
||||
return null;
|
||||
@ -100,15 +147,14 @@ export const SettingModal = ({
|
||||
sx={{ width: '100%', justifyContent: 'space-between' }}
|
||||
>
|
||||
<Typography fontWeight="bold">Этапы</Typography>
|
||||
{!isTaskMode && (
|
||||
<Button
|
||||
variant="contained"
|
||||
onClick={handleAddStage}
|
||||
startIcon={<WhitePlus />}
|
||||
>
|
||||
Добавить этап
|
||||
</Button>
|
||||
)}
|
||||
|
||||
<PrimaryButton
|
||||
onClick={handleAddStage}
|
||||
startIcon={<WhitePlus />}
|
||||
>
|
||||
Добавить этап
|
||||
</PrimaryButton>
|
||||
|
||||
</Stack>
|
||||
|
||||
{stagesInfo.isLoading ? (
|
||||
@ -138,6 +184,8 @@ export const SettingModal = ({
|
||||
updateStage={updateStage}
|
||||
isTaskMode={isTaskMode}
|
||||
isSaving={isSaving}
|
||||
sheetOptions={sheetOptions}
|
||||
formType={formTypeCode}
|
||||
/>
|
||||
{!isTaskMode && (
|
||||
<DeleteStageModal
|
||||
|
||||
@ -20,7 +20,7 @@ import {
|
||||
import { getStageStatus, getStatusColors } from './utils';
|
||||
import { formatDate } from '../../../utils/formatDate';
|
||||
import { StageStatusChip } from '../StageStatusChip';
|
||||
import { ROLES_NAME_ID, STAGE_ROLE_RUSSIAN_NAME } from '../../../constants';
|
||||
import { ROLES_NAME_ID, SHEET_NAME, STAGE_ROLE_RUSSIAN_NAME } from '../../../constants';
|
||||
import { useAuth } from '../../../app/context/AuthProvider';
|
||||
|
||||
export const StagesTable = ({ stages, onEdit, onDelete }) => {
|
||||
@ -85,7 +85,7 @@ export const StagesTable = ({ stages, onEdit, onDelete }) => {
|
||||
return (
|
||||
<StyledTableRow key={rowKey}>
|
||||
<TableCell>
|
||||
<Typography variant="body2">{stage.sheet}</Typography>
|
||||
<Typography variant="body2">{SHEET_NAME[stage.sheet]} - {stage.phase_code}</Typography>
|
||||
<Typography
|
||||
variant="caption"
|
||||
color="text.secondary"
|
||||
|
||||
@ -18,8 +18,9 @@ import {
|
||||
const CollapsibleTree = ({
|
||||
columnTree,
|
||||
placeholder = 'Скрыть столбцы',
|
||||
placeholderSelect = 'Скрыто столбцов: ',
|
||||
selectedIds = [],
|
||||
onSelectNode: onHideColumns,
|
||||
onSelectNode,
|
||||
}) => {
|
||||
const [expandedItems, setExpandedItems] = useState([]);
|
||||
const [anchorEl, setAnchorEl] = useState(null);
|
||||
@ -35,25 +36,39 @@ const CollapsibleTree = ({
|
||||
|
||||
const handleSelectAll = (isSelected) => {
|
||||
for (const col of columnTree) {
|
||||
onHideColumns?.(col, !isSelected);
|
||||
onSelectNode?.(col, !isSelected);
|
||||
}
|
||||
};
|
||||
|
||||
const getChildrenIds = (node) => {
|
||||
const getLeafColumn = (col) => {
|
||||
if (col.columns.length == 0) return [col];
|
||||
if (col.columns.length > 0 && col.columns[0].columns.length == 0) {
|
||||
const hasColumns = col.columns && Array.isArray(col.columns);
|
||||
|
||||
if (!hasColumns || col.columns.length === 0) {
|
||||
return [col];
|
||||
}
|
||||
|
||||
const allChildrenAreLeaves = col.columns.every(
|
||||
child => !child.columns || !Array.isArray(child.columns) || child.columns.length === 0
|
||||
);
|
||||
|
||||
if (allChildrenAreLeaves) {
|
||||
return col.columns;
|
||||
}
|
||||
|
||||
return col.columns.flatMap((childCol) => getLeafColumn(childCol));
|
||||
};
|
||||
return getLeafColumn(node).map((c) => c.id);
|
||||
|
||||
const leafColumns = getLeafColumn(node);
|
||||
return leafColumns.map((c) => c.id || c.accessorKey);
|
||||
};
|
||||
|
||||
const isNodeChecked = (node) => {
|
||||
const childrenIds = getChildrenIds(node);
|
||||
const selectedChildren = childrenIds.filter((id) =>
|
||||
selectedNodes.includes(id),
|
||||
selectedNodes.includes(id)
|
||||
|
||||
,
|
||||
);
|
||||
|
||||
if (selectedChildren.length === 0) return false;
|
||||
@ -62,7 +77,7 @@ const CollapsibleTree = ({
|
||||
};
|
||||
|
||||
const handleNodeCheck = (node, isSelected) => {
|
||||
onHideColumns?.(node, !isSelected);
|
||||
onSelectNode?.(node, !isSelected);
|
||||
};
|
||||
|
||||
const getId = (column) => {
|
||||
@ -71,7 +86,7 @@ const CollapsibleTree = ({
|
||||
let current = column;
|
||||
|
||||
while (current) {
|
||||
ancestors.unshift(current.id);
|
||||
ancestors.unshift(current.id || current.accessorKey);
|
||||
current = current.parent;
|
||||
}
|
||||
|
||||
@ -85,10 +100,9 @@ const CollapsibleTree = ({
|
||||
|
||||
return nodes.map((node) => {
|
||||
const checkStatus = isNodeChecked(node);
|
||||
|
||||
return (
|
||||
<TreeItem
|
||||
key={node.id}
|
||||
key={node.id || node.accessorKey}
|
||||
itemId={String(getId(node))}
|
||||
label={
|
||||
<Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
|
||||
@ -107,7 +121,7 @@ const CollapsibleTree = ({
|
||||
indeterminateIcon={<IndeterminateCheckBox />}
|
||||
/>
|
||||
<Typography variant="body2">
|
||||
{node.columnDef?.header || node.name || 'Без названия'}
|
||||
{node.columnDef?.header || node.name || node.header || 'Без названия'}
|
||||
</Typography>
|
||||
</Box>
|
||||
}
|
||||
@ -149,7 +163,7 @@ const CollapsibleTree = ({
|
||||
if (selectedCount === 0) {
|
||||
return '';
|
||||
}
|
||||
return `Скрыто столбцов: ${selectedCount}`;
|
||||
return `${placeholderSelect} ${selectedCount}`;
|
||||
};
|
||||
|
||||
return (
|
||||
@ -157,7 +171,7 @@ const CollapsibleTree = ({
|
||||
<Box
|
||||
sx={{
|
||||
position: 'relative',
|
||||
width: '25rem',
|
||||
width: '100%',
|
||||
}}
|
||||
>
|
||||
<TextField
|
||||
@ -62,10 +62,68 @@ export const useTaskStages = (taskId) => {
|
||||
[taskId],
|
||||
);
|
||||
|
||||
const createStage = useCallback(
|
||||
(payload) => {
|
||||
if (!taskId) return Promise.reject('Нет taskId');
|
||||
|
||||
setIsSaving(true);
|
||||
|
||||
return StagesApi.createStage(taskId, payload)
|
||||
.then((data) => {
|
||||
setStagesInfo((prev) => ({
|
||||
...prev,
|
||||
stages: [...prev.stages, data.result],
|
||||
}));
|
||||
toast.success('Этап добавлен');
|
||||
return data;
|
||||
})
|
||||
.catch((error) => {
|
||||
toast.error(
|
||||
error?.response?.data?.detail || 'Ошибка добавления этапа ',
|
||||
);
|
||||
throw error;
|
||||
})
|
||||
.finally(() => {
|
||||
setIsSaving(false);
|
||||
});
|
||||
},
|
||||
[taskId],
|
||||
);
|
||||
|
||||
const deleteStage = useCallback(
|
||||
(stage) => {
|
||||
const { sheet, phase_code, budget_form_id } = stage;
|
||||
if (!budget_form_id || !sheet || !phase_code) return;
|
||||
|
||||
StagesApi.deleteStage(budget_form_id, sheet, phase_code)
|
||||
.then(() => {
|
||||
setStagesInfo((prev) => ({
|
||||
...prev,
|
||||
stages: prev.stages.filter(
|
||||
(curStage) =>
|
||||
!(
|
||||
curStage.sheet === sheet &&
|
||||
curStage.phase_code === phase_code
|
||||
),
|
||||
),
|
||||
}));
|
||||
toast.success('Этап успешно удален');
|
||||
})
|
||||
.catch((error) => {
|
||||
toast.error(
|
||||
error?.response?.data?.detail || 'Ошибка при удалении этапа',
|
||||
);
|
||||
});
|
||||
},
|
||||
[taskId],
|
||||
);
|
||||
|
||||
return {
|
||||
stagesInfo,
|
||||
getStages,
|
||||
updateStage,
|
||||
isSaving,
|
||||
createStage,
|
||||
deleteStage,
|
||||
};
|
||||
};
|
||||
|
||||
@ -15,7 +15,7 @@ export const EVENT_CONFIGS = {
|
||||
notes: 'Примечания',
|
||||
location_form: 'Форма расположения ВСП',
|
||||
numbers: 'Штатная численность ВСП',
|
||||
area: 'Площадь помещений ВСП',
|
||||
total_area: 'Площадь помещений ВСП',
|
||||
rent_contract_num: 'Номер договора аренды',
|
||||
rent_end_date: 'Срок окончания договора аренды',
|
||||
system_code: 'Код РФ',
|
||||
@ -33,7 +33,7 @@ export const EVENT_CONFIGS = {
|
||||
notes: 'Примечания',
|
||||
location_form: 'Форма расположения ВСП',
|
||||
numbers: 'Штатная численность ВСП',
|
||||
area: 'Площадь помещений ВСП',
|
||||
total_area: 'Площадь помещений ВСП',
|
||||
rent_contract_num: 'Номер договора аренды',
|
||||
rent_end_date: 'Срок окончания договора аренды',
|
||||
system_code: 'Код РФ',
|
||||
|
||||
@ -151,14 +151,16 @@ export default function TaskPage() {
|
||||
>
|
||||
<span>Этапы</span>
|
||||
</PrimaryOutlinedButton>
|
||||
{modalStageOpen && (
|
||||
<SettingStageModal
|
||||
isOpen={modalStageOpen}
|
||||
onClose={() => setModalStageOpen(false)}
|
||||
taskId={taskId}
|
||||
mode="task"
|
||||
/>
|
||||
)}
|
||||
|
||||
<SettingStageModal
|
||||
isOpen={modalStageOpen}
|
||||
onClose={() => setModalStageOpen(false)}
|
||||
taskId={taskId}
|
||||
mode="task"
|
||||
formTypeCode={task?.form_type_code || ''}
|
||||
sheets={tables}
|
||||
/>
|
||||
|
||||
</Stack>
|
||||
</Box>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user