diff --git a/package-lock.json b/package-lock.json index 4cc784e..ab1408f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "axios": "^0.21.1", "echarts": "^5.6.0", "element-ui": "^2.15.6", + "formiojs": "^4.21.7", "qrcodejs2": "^0.0.2", "tinymce": "^5.10.7", "vue": "^2.6.14", @@ -1571,6 +1572,47 @@ "node": ">=6.9.0" } }, + "node_modules/@formio/bootstrap3": { + "version": "2.12.4-rc.1", + "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.4-rc.1.tgz", + "integrity": "sha512-4B5rs+w9tAk5i+wbdw2/NrTxPqnDX7/W19tiTd9lfXnIGQmaj0ecMEVqDmOJg8pIlyU02g3c4ih6JnA/JVmUbA==", + "dependencies": { + "resize-observer-polyfill": "^1.5.1" + } + }, + "node_modules/@formio/choices.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@formio/choices.js/-/choices.js-10.2.1.tgz", + "integrity": "sha512-NCE5u7jG3XGokJP16MyAbVSUptKu/mpJYAxd4PPIoLiO/l9Do5uoOQ0MgNb9qG9qABJiOX+qNRE8q8RybY/SwQ==", + "dependencies": { + "deepmerge": "^4.2.2", + "fuse.js": "^6.6.2", + "redux": "^4.2.0" + } + }, + "node_modules/@formio/choices.js/node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@formio/semantic": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@formio/semantic/-/semantic-2.6.1.tgz", + "integrity": "sha512-obp1BT5UnzD+uYBbqmnsTfO2hGxI2A2iR/cj3P5JUFLYSBpnr3TS2ShQ7Ee5GCRRtJPu0JnljuJj+YSKLCMuhg==" + }, + "node_modules/@formio/text-mask-addons": { + "version": "3.8.0-formio.4", + "resolved": "https://registry.npmjs.org/@formio/text-mask-addons/-/text-mask-addons-3.8.0-formio.4.tgz", + "integrity": "sha512-vhkeIyuL+1rtC9S4IW8O3JCwroPtvJrkrcMO4wyELNqMIgQRKbiyBAitZfUP4tY04xdB5lxAinbzdwb+NMdX6w==" + }, + "node_modules/@formio/vanilla-text-mask": { + "version": "5.1.1-formio.1", + "resolved": "https://registry.npmjs.org/@formio/vanilla-text-mask/-/vanilla-text-mask-5.1.1-formio.1.tgz", + "integrity": "sha512-rYBlvIPMNUd6sAaduOaiIwI4vfTAjHDRonko2qJn2RP1O//TQ7rcFIPYVYePJZ4OtOpwHiHAvAIh79McphZotQ==" + }, "node_modules/@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", @@ -2069,6 +2111,15 @@ "node": ">=8.0" } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@soda/friendly-errors-webpack-plugin": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", @@ -2093,6 +2144,11 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, + "node_modules/@sphinxxxx/color-conversion": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz", + "integrity": "sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==" + }, "node_modules/@tinymce/tinymce-vue": { "version": "3.2.8", "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz", @@ -2268,6 +2324,12 @@ "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==", "dev": true }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "optional": true + }, "node_modules/@types/uglify-js": { "version": "3.17.5", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", @@ -3135,6 +3197,11 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.8.tgz", + "integrity": "sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==" + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -3227,6 +3294,11 @@ "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", "dev": true }, + "node_modules/animation-frame-polyfill": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/animation-frame-polyfill/-/animation-frame-polyfill-1.0.2.tgz", + "integrity": "sha512-PvO5poSMoHhaoNNgHPo+oqs/0L9UqjsUbqv0iOXVqLh6HX85fsOVQTUrzSBvjdZz7hydARlgLELyzJJKIrPJAQ==" + }, "node_modules/ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", @@ -3390,6 +3462,11 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, + "node_modules/array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==" + }, "node_modules/array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -3588,6 +3665,11 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, + "node_modules/atoa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atoa/-/atoa-1.0.0.tgz", + "integrity": "sha512-VVE1H6cc4ai+ZXo/CRWoJiHXrA1qfA31DPnx6D20+kSI547hQN5Greh51LQ1baMRMfxO5K5M4ImMtZbZt2DODQ==" + }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -3600,6 +3682,11 @@ "node": ">= 4.5.0" } }, + "node_modules/autocompleter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/autocompleter/-/autocompleter-7.1.0.tgz", + "integrity": "sha512-uCToOnq7eAD/GJAteDbYuQ7ksDtrYWOy5CIAq43wh0dT+5frMpPlyD9tp+y5fz8KIcsP+zR2MjzoTAdW5aJESw==" + }, "node_modules/autoprefixer": { "version": "9.8.8", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", @@ -4048,6 +4135,19 @@ "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, + "node_modules/browser-cookies": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browser-cookies/-/browser-cookies-1.2.0.tgz", + "integrity": "sha512-cg2WuoOJo+F+g2XjEaP8nmeRp1vDHjt7sqpKJMsTNXKrpyIBNVslYJeehvs6FEddj8usV2+qyRSBEX244yN5/g==" + }, + "node_modules/browser-md5-file": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browser-md5-file/-/browser-md5-file-1.1.1.tgz", + "integrity": "sha512-9h2UViTtZPhBa7oHvp5mb7MvJaX5OKEPUsplDwJ800OIV+In7BOR3RXOMB78obn2iQVIiS3WkVLhG7Zu1EMwbw==", + "dependencies": { + "spark-md5": "^2.0.2" + } + }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -4987,6 +5087,11 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, + "node_modules/compare-versions": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", + "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==" + }, "node_modules/component-emitter": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", @@ -5166,6 +5271,15 @@ "node": ">= 0.6" } }, + "node_modules/contra": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/contra/-/contra-1.9.4.tgz", + "integrity": "sha512-N9ArHAqwR/lhPq4OdIAwH4e1btn6EIZMAz4TazjnzCiVECcWUPTma+dRAM38ERImEJBh8NiCCpjoQruSZ+agYg==", + "dependencies": { + "atoa": "1.0.0", + "ticky": "1.0.1" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -5513,6 +5627,14 @@ "sha.js": "^2.4.8" } }, + "node_modules/create-point-cb": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-point-cb/-/create-point-cb-1.2.0.tgz", + "integrity": "sha512-r4l6IO/YGI7hIZRMLggOzwM6XO80+Fdcv4hx1fXCEdU+hKd7zZki6i+cbYfK9OliMwMYx1wPfQLU/snvS+Dygw==", + "dependencies": { + "type-func": "^1.0.1" + } + }, "node_modules/cross-spawn": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", @@ -5538,6 +5660,14 @@ "semver": "bin/semver" } }, + "node_modules/crossvent": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/crossvent/-/crossvent-1.5.5.tgz", + "integrity": "sha512-MY4xhBYEnVi+pmTpHCOCsCLYczc0PVtGdPBz6NXNXxikLaUZo4HdAeUb1UqAo3t3yXAloSelTmfxJ+/oUqkW5w==", + "dependencies": { + "custom-event": "^1.0.0" + } + }, "node_modules/crypto-browserify": { "version": "3.12.1", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", @@ -5833,6 +5963,16 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==" + }, + "node_modules/custom-event-polyfill": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", + "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==" + }, "node_modules/cyclist": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", @@ -6276,6 +6416,11 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, + "node_modules/dialog-polyfill": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/dialog-polyfill/-/dialog-polyfill-0.5.6.tgz", + "integrity": "sha512-ZbVDJI9uvxPAKze6z146rmfUZjBqNEwcnFTVamQzXH+svluiV7swmVIGr7miwADgfgt1G2JQIytypM9fbyhX4w==" + }, "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -6342,6 +6487,19 @@ "node": ">=6.0.0" } }, + "node_modules/dom-autoscroller": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/dom-autoscroller/-/dom-autoscroller-2.3.4.tgz", + "integrity": "sha512-HcAdt/2Dq9x4CG6LWXc2x9Iq0MJPAu8fuzHncclq7byufqYEYVtx9sZ/dyzR+gdj4qwEC9p27Lw1G2HRRYX6jQ==", + "dependencies": { + "animation-frame-polyfill": "^1.0.0", + "create-point-cb": "^1.0.0", + "dom-mousemove-dispatcher": "^1.0.1", + "dom-plane": "^1.0.1", + "dom-set": "^1.0.1", + "type-func": "^1.0.1" + } + }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -6351,6 +6509,19 @@ "utila": "~0.4" } }, + "node_modules/dom-mousemove-dispatcher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dom-mousemove-dispatcher/-/dom-mousemove-dispatcher-1.0.1.tgz", + "integrity": "sha512-NMdqqMbgW8kqOdmod2hkS+9hD/v7h4XoSvwU9qqe+wAA/O+ba0jhpbfW0Kb/fCyR0RX9jf4dwfQrl04LQX4FzQ==" + }, + "node_modules/dom-plane": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dom-plane/-/dom-plane-1.0.2.tgz", + "integrity": "sha512-/tR67G6ZGSciXoZLsD706yLxEXvX3mG/OWE8YNYj3A1yU/RAimtPXzklVTu5Y5xoeMoloA/Y+MaNjQm9apgAww==", + "dependencies": { + "create-point-cb": "^1.0.0" + } + }, "node_modules/dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", @@ -6374,6 +6545,16 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/dom-set": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/dom-set/-/dom-set-1.1.1.tgz", + "integrity": "sha512-sUi2aSvRsK3Ixx++gwX9cnaWk9ZxGVFry8+HnTRVmDimybU5PaiI4wX0o00mVtjFKlQNZLmtGoPTLorYbN0+Rw==", + "dependencies": { + "array-from": "^2.1.1", + "is-array": "^1.0.1", + "iselement": "^1.1.4" + } + }, "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -6411,6 +6592,14 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz", + "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", @@ -6452,6 +6641,20 @@ "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", "dev": true }, + "node_modules/downloadjs": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/downloadjs/-/downloadjs-1.4.7.tgz", + "integrity": "sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==" + }, + "node_modules/dragula": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/dragula/-/dragula-3.7.3.tgz", + "integrity": "sha512-/rRg4zRhcpf81TyDhaHLtXt6sEywdfpv1cRUMeFFy7DuypH2U0WUL0GTdyAQvXegviT4PJK4KuMmOaIDpICseQ==", + "dependencies": { + "contra": "1.9.4", + "crossvent": "1.5.5" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -7246,8 +7449,7 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/events": { "version": "3.3.0", @@ -7567,8 +7769,12 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" }, "node_modules/fast-glob": { "version": "2.2.7", @@ -7587,6 +7793,11 @@ "node": ">=4.0.0" } }, + "node_modules/fast-json-patch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz", + "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==" + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -7611,6 +7822,14 @@ "node": ">=0.8.0" } }, + "node_modules/fetch-ponyfill": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz", + "integrity": "sha512-FhbbL55dj/qdVO3YNK7ZEkshvj3eQ7EuIGV2I6ic/2YiocvyWv+7jg2s4AyS0wdRU75s3tA8ZxI/xPigb0v5Aw==", + "dependencies": { + "node-fetch": "~2.6.1" + } + }, "node_modules/figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -7911,6 +8130,63 @@ "node": ">= 0.12" } }, + "node_modules/formiojs": { + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.21.7.tgz", + "integrity": "sha512-DDXPhXABxdEbpyfv0C8SAS6zt92luGFXqe0usPHxSHvlP960GQkhS//WV7TAMrRsjj1WTIqqv3XZha8qTknG3Q==", + "dependencies": { + "@formio/bootstrap3": "2.12.4-rc.1", + "@formio/choices.js": "10.2.1", + "@formio/semantic": "2.6.1", + "@formio/text-mask-addons": "^3.8.0-formio.4", + "@formio/vanilla-text-mask": "^5.1.1-formio.1", + "abortcontroller-polyfill": "^1.7.5", + "autocompleter": "^7.0.1", + "browser-cookies": "^1.2.0", + "browser-md5-file": "^1.1.1", + "compare-versions": "^5.0.1", + "core-js": "^3.26.1", + "custom-event-polyfill": "^1.0.7", + "dialog-polyfill": "^0.5.6", + "dom-autoscroller": "^2.3.4", + "dompurify": "^3.0.5", + "downloadjs": "^1.4.7", + "dragula": "^3.7.3", + "eventemitter3": "^4.0.7", + "fast-deep-equal": "^3.1.3", + "fast-json-patch": "^3.1.1", + "fetch-ponyfill": "^7.1.0", + "i18next": "22.4.12", + "idb": "^7.1.1", + "inputmask": "^5.0.9", + "ismobilejs": "^1.1.1", + "json-logic-js": "^2.0.2", + "jstimezonedetect": "^1.0.7", + "jwt-decode": "^3.1.2", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "moment-timezone": "^0.5.40", + "native-promise-only": "^0.8.1", + "quill": "^2.0.0-dev.3", + "signature_pad": "^4.1.4", + "string-hash": "^1.1.3", + "tippy.js": "^6.3.7", + "uuid": "^9.0.0", + "vanilla-picker": "^2.12.1" + } + }, + "node_modules/formiojs/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -8041,6 +8317,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fuse.js": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", + "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", + "engines": { + "node": ">=10" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -8820,6 +9104,28 @@ "node": ">=8.12.0" } }, + "node_modules/i18next": { + "version": "22.4.12", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.12.tgz", + "integrity": "sha512-2lE+vRXxQ3lGLub1CVbwgO0IfkLHmUSDVOAVdPh22CsxttMXi+35n2qgxh2wZIkKl6t/NMzPfgFPRDiFQOmiCg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.20.6" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -8844,6 +9150,11 @@ "node": ">= 6" } }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -9034,6 +9345,11 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/inputmask": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/inputmask/-/inputmask-5.0.9.tgz", + "integrity": "sha512-s0lUfqcEbel+EQXtehXqwCJGShutgieOaIImFKC/r4reYNvX3foyrChl6LOEvaEgxEbesePIrw1Zi2jhZaDZbQ==" + }, "node_modules/inquirer": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", @@ -9175,6 +9491,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz", + "integrity": "sha512-gxiZ+y/u67AzpeFmAmo4CbtME/bs7J2C++su5zQzvQyaxUqVzkh69DI+jN+KZuSO6JaH6TIIU6M6LhqxMjxEpw==" + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -9779,12 +10100,22 @@ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, + "node_modules/iselement": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/iselement/-/iselement-1.1.4.tgz", + "integrity": "sha512-4Q519eWmbHO1pbimiz7H1iJRUHVmAmfh0viSsUD+oAwVO4ntZt7gpf8i8AShVBTyOvRTZNYNBpUxOIvwZR+ffw==" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "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/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -9852,6 +10183,11 @@ "node": ">=6" } }, + "node_modules/json-logic-js": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/json-logic-js/-/json-logic-js-2.0.5.tgz", + "integrity": "sha512-rTT2+lqcuUmj4DgWfmzupZqQDA64AdmYqizzMPWj3DxGdfFNsxPpcNVSaTj4l8W2tG/+hg7/mQhxjU3aPacO6g==" + }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -9924,6 +10260,16 @@ "node": ">=0.6.0" } }, + "node_modules/jstimezonedetect": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/jstimezonedetect/-/jstimezonedetect-1.0.7.tgz", + "integrity": "sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ==" + }, + "node_modules/jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" + }, "node_modules/killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -10085,14 +10431,18 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -10105,6 +10455,12 @@ "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", "dev": true }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead." + }, "node_modules/lodash.kebabcase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", @@ -10607,6 +10963,25 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.48", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.48.tgz", + "integrity": "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, "node_modules/move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -10710,6 +11085,11 @@ "node": ">=0.10.0" } }, + "node_modules/native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==" + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -10753,6 +11133,25 @@ "dev": true, "optional": true }, + "node_modules/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -11480,6 +11879,11 @@ "no-case": "^2.2.0" } }, + "node_modules/parchment": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz", + "integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -12696,6 +13100,38 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "node_modules/quill": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/quill/-/quill-2.0.3.tgz", + "integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==", + "dependencies": { + "eventemitter3": "^5.0.1", + "lodash-es": "^4.17.21", + "parchment": "^3.0.0", + "quill-delta": "^5.1.0" + }, + "engines": { + "npm": ">=8.2.3" + } + }, + "node_modules/quill-delta": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz", + "integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==", + "dependencies": { + "fast-diff": "^1.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/quill/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -12809,6 +13245,14 @@ "node": ">=8.10.0" } }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -13851,6 +14295,11 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/signature_pad": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-4.2.0.tgz", + "integrity": "sha512-YLWysmaUBaC5wosAKkgbX7XI+LBv2w5L0QUcI6Jc4moHYzv9BUBJtAyNLpWzHjtjKTeWOH6bfP4a4pzf0UinfQ==" + }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -14186,6 +14635,11 @@ "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, + "node_modules/spark-md5": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-2.0.2.tgz", + "integrity": "sha512-9WfT+FYBEvlrOOBEs484/zmbtSX4BlGjzXih1qIEWA1yhHbcqgcMHkiwXoWk2Sq1aJjLpcs6ZKV7JxrDNjIlNg==" + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -14434,6 +14888,11 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -15108,6 +15567,11 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "node_modules/ticky": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz", + "integrity": "sha512-RX35iq/D+lrsqhcPWIazM9ELkjOe30MSeoBHQHSsRwd1YuhJO5ui1K1/R0r7N3mFvbLBs33idw+eR6j+w6i/DA==" + }, "node_modules/timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", @@ -15131,6 +15595,14 @@ "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.10.7.tgz", "integrity": "sha512-9UUjaO0R7FxcFo0oxnd1lMs7H+D0Eh+dDVo5hKbVe1a+VB0nit97vOqlinj+YwgoBDt6/DSCUoWqAYlLI8BLYA==" }, + "node_modules/tippy.js": { + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", + "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", + "dependencies": { + "@popperjs/core": "^2.9.0" + } + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -15229,6 +15701,11 @@ "node": ">=0.8" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -15303,6 +15780,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/type-func": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz", + "integrity": "sha512-YA90CUk+i00tWESPNRMahywXhAz+12NLJLKlOWrgHIbqaFXjdZrWstRghaibOW/IxhPjui4SmXxO/03XSGRIjA==" + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -15856,6 +16338,14 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/vanilla-picker": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/vanilla-picker/-/vanilla-picker-2.12.3.tgz", + "integrity": "sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ==", + "dependencies": { + "@sphinxxxx/color-conversion": "^2.2.2" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -16413,6 +16903,11 @@ "defaults": "^1.0.3" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, "node_modules/webpack": { "version": "4.47.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", @@ -17161,6 +17656,15 @@ "node": ">=0.8.0" } }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/package.json b/package.json index 3dd64f1..624b54b 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "axios": "^0.21.1", "echarts": "^5.6.0", "element-ui": "^2.15.6", + "formiojs": "^4.21.7", "qrcodejs2": "^0.0.2", "tinymce": "^5.10.7", "vue": "^2.6.14", diff --git a/public/index.html b/public/index.html index 07c529c..457d64f 100644 --- a/public/index.html +++ b/public/index.html @@ -5,6 +5,8 @@ + + <%= htmlWebpackPlugin.options.title %> + diff --git a/src/api/fee/createFeeByComboApi.js b/src/api/fee/createFeeByComboApi.js new file mode 100644 index 0000000..66ffcb5 --- /dev/null +++ b/src/api/fee/createFeeByComboApi.js @@ -0,0 +1,58 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 获取费用套餐列表 +export function listFeeCombo(params) { + return new Promise((resolve, reject) => { + const communityId = getCommunityId() + request({ + url: '/feeCombo.listFeeCombo', + method: 'get', + params: { + ...params, + communityId + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取费用套餐成员列表 +export function listFeeComboMember(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeComboMember.listFeeComboMember', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 根据费用套餐创建费用 +export function createFeeByCombo(data) { + return new Promise((resolve, reject) => { + const communityId = getCommunityId() + request({ + url: '/fee.createFeeByCombo', + method: 'post', + data: { + ...data, + communityId + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/fee/owePayFeeOrderApi.js b/src/api/fee/owePayFeeOrderApi.js new file mode 100644 index 0000000..abc6fa5 --- /dev/null +++ b/src/api/fee/owePayFeeOrderApi.js @@ -0,0 +1,101 @@ +import request from '@/utils/request' + +/** + * 获取欠费列表 + * @param {Object} params 查询参数 + * @returns {Promise} + */ +export function listOweFees(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feeApi/listOweFees', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 缴费 + * @param {Object} data 缴费数据 + * @returns {Promise} + */ +export function payOweFee(data) { + return new Promise((resolve, reject) => { + request({ + url: '/fee.payOweFee', + method: 'post', + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 扫码支付 + * @param {Object} data 支付数据 + * @returns {Promise} + */ +export function qrCodePayment(data) { + return new Promise((resolve, reject) => { + request({ + url: '/payment.qrCodePayment', + method: 'post', + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 检查支付状态 + * @param {Object} data 检查参数 + * @returns {Promise} + */ +export function checkPayFinish(data) { + return new Promise((resolve, reject) => { + request({ + url: '/payment.checkPayFinish', + method: 'post', + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 获取打印页面列表 + * @param {Object} params 查询参数 + * @returns {Promise} + */ +export function listFeePrintPages(params) { + return new Promise((resolve, reject) => { + request({ + url: '/feePrintPage.listFeePrintPage', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/fee/refundDepositFeeApi.js b/src/api/fee/refundDepositFeeApi.js new file mode 100644 index 0000000..7d4eba2 --- /dev/null +++ b/src/api/fee/refundDepositFeeApi.js @@ -0,0 +1,100 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +/** + * 查询押金费用列表 + * @param {Object} params 查询参数 + * @returns {Promise} + */ +export function queryFeeDeposit(params) { + return new Promise((resolve, reject) => { + // 确保社区ID存在 + const communityId = params.communityId || getCommunityId() + if (!communityId) { + reject(new Error('Community ID is required')) + return + } + + request({ + url: '/fee.queryFeeDeposit', + method: 'get', + params: { + ...params, + communityId + } + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve({ + data: res.data, + total: res.total, + records: res.records + }) + } else { + reject(new Error(res.msg || 'Failed to fetch deposit fees')) + } + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 保存退费申请 + * @param {Object} data 退费数据 + * @returns {Promise} + */ +export function saveReturnPayFee(data) { + return new Promise((resolve, reject) => { + // 确保社区ID存在 + const communityId = data.communityId || getCommunityId() + if (!communityId) { + reject(new Error('Community ID is required')) + return + } + + request({ + url: '/returnPayFee.saveReturnPayFee', + method: 'post', + data: { + ...data, + communityId + } + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res) + } else { + reject(new Error(res.msg || 'Failed to save refund application')) + } + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 获取押金状态字典 + * @returns {Promise} + */ +export function getDepositStates() { + return new Promise((resolve, reject) => { + request({ + url: '/dict/getDict', + method: 'get', + params: { + dictType: 'fee_state', + dictCode: 'deposit' + } + }).then(response => { + const res = response.data + if (res.code === 0) { + resolve(res.data) + } else { + reject(new Error(res.msg || 'Failed to get deposit states')) + } + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/oa/newOaWorkflowApi.js b/src/api/oa/newOaWorkflowApi.js new file mode 100644 index 0000000..6e322df --- /dev/null +++ b/src/api/oa/newOaWorkflowApi.js @@ -0,0 +1,114 @@ +import request from '@/utils/request' + +// 查询OA工作流表单配置 +export function queryOaWorkflowForm(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowForm', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询OA工作流表单数据 +export function queryOaWorkflowFormData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowFormData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 保存OA工作流表单数据 +export function saveOaWorkflowFormData(data) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/saveOaWorkflowFormData', + method: 'post', + data + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询OA工作流用户任务表单数据 +export function queryOaWorkflowUserTaskFormData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowUserTaskFormData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询OA工作流用户历史任务表单数据 +export function queryOaWorkflowUserHisTaskFormData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowUserHisTaskFormData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 上传文件 +export function uploadVedio(data, config) { + return new Promise((resolve, reject) => { + request({ + url: '/uploadVedio/upload', + method: 'post', + data, + ...config + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取工作流图片 +export function listRunWorkflowImage(params) { + return new Promise((resolve, reject) => { + request({ + url: '/workflow/listRunWorkflowImage', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/oa/newOaWorkflowDetailApi.js b/src/api/oa/newOaWorkflowDetailApi.js new file mode 100644 index 0000000..b64ae17 --- /dev/null +++ b/src/api/oa/newOaWorkflowDetailApi.js @@ -0,0 +1,121 @@ +import request from '@/utils/request' + +// 查询工单表单 +export function queryOaWorkflowForm(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowForm', + method: 'get', + params + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询工单表单数据 +export function queryOaWorkflowFormData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowFormData', + method: 'get', + params + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询工单用户 +export function queryOaWorkflowUser(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowUser', + method: 'get', + params + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取下一个任务 +export function getNextTask(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/getNextTask', + method: 'get', + params + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 审核工单 +export function auditOaWorkflow(data) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/auditOaWorkflow', + method: 'post', + data + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 获取流程图 +export function listRunWorkflowImage(params) { + return new Promise((resolve, reject) => { + request({ + url: '/workflow.listRunWorkflowImage', + method: 'get', + params + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询组织树 +export function listOrgTree(params) { + return new Promise((resolve, reject) => { + request({ + url: '/org.listOrgTree', + method: 'get', + params + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} + +// 查询员工信息 +export function queryStaffInfos(params) { + return new Promise((resolve, reject) => { + request({ + url: '/query.staff.infos', + method: 'get', + params + }).then(response => { + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/api/oa/newOaWorkflowFormEditApi.js b/src/api/oa/newOaWorkflowFormEditApi.js new file mode 100644 index 0000000..ee98950 --- /dev/null +++ b/src/api/oa/newOaWorkflowFormEditApi.js @@ -0,0 +1,89 @@ +import request from '@/utils/request' + +/** + * 查询OA工作流表单 + * @param {Object} params 查询参数 + * @returns {Promise} Promise对象 + */ +export function queryOaWorkflowForm(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowForm', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 查询OA工作流表单数据 + * @param {Object} params 查询参数 + * @returns {Promise} Promise对象 + */ +export function queryOaWorkflowFormData(params) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow/queryOaWorkflowFormData', + method: 'get', + params + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 更新OA工作流表单数据 + * @param {Object} data 表单数据 + * @returns {Promise} Promise对象 + */ +export function updateOaWorkflowFormData(data) { + return new Promise((resolve, reject) => { + request({ + url: '/oaWorkflow.updateOaWorkflowFormData', + method: 'post', + data, + headers: { + 'Content-Type': 'application/json' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} + +/** + * 上传视频文件 + * @param {FormData} formData 表单数据 + * @param {Object} config 配置项 + * @returns {Promise} Promise对象 + */ +export function uploadVedio(formData, config) { + return new Promise((resolve, reject) => { + request({ + url: '/uploadVedio/upload', + method: 'post', + data: formData, + onUploadProgress: config.onUploadProgress, + headers: { + 'Content-Type': 'multipart/form-data' + } + }).then(response => { + const res = response.data + resolve(res) + }).catch(error => { + reject(error) + }) + }) +} \ No newline at end of file diff --git a/src/components/fee/carDetailOwner.vue b/src/components/fee/carDetailOwner.vue index e9a90e8..1c0c021 100644 --- a/src/components/fee/carDetailOwner.vue +++ b/src/components/fee/carDetailOwner.vue @@ -146,7 +146,7 @@ export default { } }, _toCarDetailOwnerDetail(owner) { - window.open(`/#/pages/owner/ownerDetail?ownerId=${owner.ownerId}`) + window.open(`/#/views/owner/ownerDetail?ownerId=${owner.ownerId}`) }, open(params) { this.handleSwitch(params) diff --git a/src/components/fee/chooseFeeCombo.vue b/src/components/fee/chooseFeeCombo.vue new file mode 100644 index 0000000..3a5230f --- /dev/null +++ b/src/components/fee/chooseFeeCombo.vue @@ -0,0 +1,164 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/payFeeUserAccount.vue b/src/components/fee/payFeeUserAccount.vue index e1d8115..22c1ade 100644 --- a/src/components/fee/payFeeUserAccount.vue +++ b/src/components/fee/payFeeUserAccount.vue @@ -123,7 +123,7 @@ export default { this.listUserAccount() }, openAddUserAmountModal(userAccount) { - window.open(`/#/pages/owner/ownerDetail?ownerId=${userAccount.objId}¤tTab=ownerDetailAccount`) + window.open(`/#/views/owner/ownerDetail?ownerId=${userAccount.objId}¤tTab=ownerDetailAccount`) }, computeFeeUserAmount(acctId) { let totalUserAmount = 0.0 diff --git a/src/components/fee/printOwnFee.vue b/src/components/fee/printOwnFee.vue new file mode 100644 index 0000000..7973d45 --- /dev/null +++ b/src/components/fee/printOwnFee.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/returnPayFee.vue b/src/components/fee/returnPayFee.vue index 5f1dfce..fef54f3 100644 --- a/src/components/fee/returnPayFee.vue +++ b/src/components/fee/returnPayFee.vue @@ -1,58 +1,76 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/src/components/fee/simplifyRoomFee.vue b/src/components/fee/simplifyRoomFee.vue index 8cd0730..e87c022 100644 --- a/src/components/fee/simplifyRoomFee.vue +++ b/src/components/fee/simplifyRoomFee.vue @@ -385,7 +385,7 @@ export default { }, toOwnerPayFee() { this.$router.push({ - path: '/property/owePayFeeOrder', + path: '/views/fee/owePayFeeOrder', query: { payObjId: this.simplifyRoomFeeInfo.roomId, payObjType: '3333', @@ -544,7 +544,7 @@ export default { }, openRoomCreateFeeComboModal() { this.$router.push({ - path: '/property/createFeeByCombo', + path: '/views/fee/createFeeByCombo', query: { payerObjId: this.simplifyRoomFeeInfo.roomId, payerObjName: this.simplifyRoomFeeInfo.roomName, diff --git a/src/components/inspection/selectMapPos.vue b/src/components/inspection/selectMapPos.vue index 78ab684..93378ef 100644 --- a/src/components/inspection/selectMapPos.vue +++ b/src/components/inspection/selectMapPos.vue @@ -50,6 +50,8 @@ export default { center = new TMap.LatLng(data.lat, data.lng) zoom = 16 } + + let TMap = window.TMap // 创建地图实例 this.map = new TMap.Map(document.getElementById(this.elementId), { @@ -88,6 +90,8 @@ export default { } // 创建新标记 + let TMap = window.TMap + this.marker = new TMap.MultiMarker({ map: this.map, styles: { @@ -112,7 +116,8 @@ export default { updatePosition(lat, lng) { if (!this.map) return - + let TMap = window.TMap + const position = new TMap.LatLng(lat, lng) this.addMarker(position) } diff --git a/src/components/oa/newOaWorkflowFinish.vue b/src/components/oa/newOaWorkflowFinish.vue new file mode 100644 index 0000000..26d750b --- /dev/null +++ b/src/components/oa/newOaWorkflowFinish.vue @@ -0,0 +1,180 @@ + + + + + \ No newline at end of file diff --git a/src/components/oa/newOaWorkflowForm.vue b/src/components/oa/newOaWorkflowForm.vue new file mode 100644 index 0000000..d817af9 --- /dev/null +++ b/src/components/oa/newOaWorkflowForm.vue @@ -0,0 +1,214 @@ + + + + + \ No newline at end of file diff --git a/src/components/oa/newOaWorkflowPool.vue b/src/components/oa/newOaWorkflowPool.vue new file mode 100644 index 0000000..f6473c6 --- /dev/null +++ b/src/components/oa/newOaWorkflowPool.vue @@ -0,0 +1,204 @@ + + + + + \ No newline at end of file diff --git a/src/components/oa/newOaWorkflowUndo.vue b/src/components/oa/newOaWorkflowUndo.vue new file mode 100644 index 0000000..9634ce7 --- /dev/null +++ b/src/components/oa/newOaWorkflowUndo.vue @@ -0,0 +1,213 @@ + + + + + \ No newline at end of file diff --git a/src/components/oa/orgTreeShow.vue b/src/components/oa/orgTreeShow.vue index 2c7421e..d7d2e7a 100644 --- a/src/components/oa/orgTreeShow.vue +++ b/src/components/oa/orgTreeShow.vue @@ -1,29 +1,23 @@ \ No newline at end of file diff --git a/src/components/oa/uploadFile.vue b/src/components/oa/uploadFile.vue index 8ca7d6d..e8b16a3 100644 --- a/src/components/oa/uploadFile.vue +++ b/src/components/oa/uploadFile.vue @@ -1,46 +1,44 @@ \ No newline at end of file diff --git a/src/views/fee/owePayFeeOrderLang.js b/src/views/fee/owePayFeeOrderLang.js new file mode 100644 index 0000000..36b4c36 --- /dev/null +++ b/src/views/fee/owePayFeeOrderLang.js @@ -0,0 +1,88 @@ +export const messages = { + en: { + owePayFeeOrder: { + printNotice1: 'Notice 1', + printNotice2: 'Notice 2', + payerObj: 'Payer', + feeType: 'Fee Type', + feeItem: 'Fee Item', + feeFlag: 'Fee Flag', + feeId: 'Fee ID', + startTime: 'Start Time', + endTime: 'End Time', + oweAmount: 'Owe Amount', + paymentAmount: 'Payment Amount', + yuan: 'Yuan', + scanPay: 'Scan Payment', + pay: 'Pay', + paymentConfirm: 'Payment Confirmation', + room: 'Room:', + amount: 'Amount:', + paymentMethod: 'Payment Method:', + selectPaymentMethod: 'Required, please select payment method', + remark: 'Remark:', + inputRemark: 'Optional, please enter remark', + authCode: 'Auth Code:', + scanCodeTip: 'Please scan with scanner', + confirmPayment: 'Confirm Payment', + paymentTip: 'Payment Notice', + paymentSuccess: 'Payment successful', + mergePrint: 'Merge Print', + printReceipt: 'Print Receipt', + illegalOperation: 'Illegal operation', + noOweData: 'No owe data currently', + noSelectedFee: 'No fee selected', + noSelectedFeeItem: 'No fee item selected', + selectPaymentMethodTip: 'Please select payment method' + }, + printOwnFee: { + printTitle: 'Print Notice', + validityDate: 'Validity Date:', + selectEndTime: 'Required, please select end time', + selectEndTimeTip: 'Please select end time' + } + }, + zh: { + owePayFeeOrder: { + printNotice1: '催缴单1', + printNotice2: '催缴单2', + payerObj: '收费对象', + feeType: '费用类型', + feeItem: '费用项目', + feeFlag: '费用标识', + feeId: '费用ID', + startTime: '计费起始时间', + endTime: '计费结束时间', + oweAmount: '欠费金额', + paymentAmount: '缴费金额', + yuan: '元', + scanPay: '扫码收费', + pay: '缴费', + paymentConfirm: '收费确认', + room: '房屋:', + amount: '金额:', + paymentMethod: '支付方式:', + selectPaymentMethod: '必填,请选择支付方式', + remark: '备注:', + inputRemark: '可填,请填写备注', + authCode: '授权码:', + scanCodeTip: '请用扫码枪扫码', + confirmPayment: '确定收费', + paymentTip: '缴费提示', + paymentSuccess: '缴费成功', + mergePrint: '合并打印', + printReceipt: '打印收据', + illegalOperation: '非法操作', + noOweData: '当前没有欠费数据', + noSelectedFee: '未选择费用', + noSelectedFeeItem: '未选中要缴费的项目', + selectPaymentMethodTip: '请选择支付方式' + }, + printOwnFee: { + printTitle: '打印催缴单', + validityDate: '有效期至:', + selectEndTime: '必填,请填写截止时间', + selectEndTimeTip: '请选择截止时间' + } + } +} \ No newline at end of file diff --git a/src/views/fee/owePayFeeOrderList.vue b/src/views/fee/owePayFeeOrderList.vue new file mode 100644 index 0000000..e2e8bf1 --- /dev/null +++ b/src/views/fee/owePayFeeOrderList.vue @@ -0,0 +1,573 @@ + + + + + \ No newline at end of file diff --git a/src/views/fee/refundDepositFeeLang.js b/src/views/fee/refundDepositFeeLang.js new file mode 100644 index 0000000..25fb8f7 --- /dev/null +++ b/src/views/fee/refundDepositFeeLang.js @@ -0,0 +1,70 @@ +export const messages = { + en: { + refundDepositFee: { + title: 'Refund Deposit', + unrefunded: 'Unrefunded', + refunded: 'Refunded', + pendingReview: 'Pending Review', + printReceipt: 'Reprint Receipt' + }, + payFeeDeposit: { + payerObject: 'Payer', + feeItem: 'Fee Item', + timePeriod: 'Time Period', + amount: 'Amount', + paymentTime: 'Payment Time', + status: 'Status', + operation: 'Operation', + refundDeposit: 'Refund Deposit', + detail: 'Detail' + }, + returnPayFee: { + fillRefundReason: 'Fill Refund Reason', + payment: 'Payment', + monthUnit: '(Months)', + cycle: 'Cycle', + receivableAmount: 'Receivable Amount', + receivedAmount: 'Received Amount', + paymentTime: 'Payment Time', + refundReason: 'Refund Reason', + reasonRequired: 'Refund reason is required', + reasonMaxLength: 'Refund reason cannot exceed 200 characters', + reasonPlaceholder: 'Please enter refund reason', + submitRefund: 'Submit Refund Application' + } + }, + zh: { + refundDepositFee: { + title: '退押金', + unrefunded: '未退押金', + refunded: '已退押金', + pendingReview: '待审核', + printReceipt: '补打退款单' + }, + payFeeDeposit: { + payerObject: '收费对象', + feeItem: '费用项', + timePeriod: '时间段', + amount: '金额', + paymentTime: '缴费时间', + status: '状态', + operation: '操作', + refundDeposit: '退押金', + detail: '详情' + }, + returnPayFee: { + fillRefundReason: '填写退费原因', + payment: '缴费', + monthUnit: '(单位月)', + cycle: '周期', + receivableAmount: '应收金额', + receivedAmount: '实收金额', + paymentTime: '缴费时间', + refundReason: '退费原因', + reasonRequired: '退费原因不能为空', + reasonMaxLength: '退费原因不能超过200个字符', + reasonPlaceholder: '请输入退费原因', + submitRefund: '提交退费申请' + } + } +} \ No newline at end of file diff --git a/src/views/fee/refundDepositFeeList.vue b/src/views/fee/refundDepositFeeList.vue new file mode 100644 index 0000000..987b6e4 --- /dev/null +++ b/src/views/fee/refundDepositFeeList.vue @@ -0,0 +1,198 @@ + + + + + \ No newline at end of file diff --git a/src/views/oa/newOaWorkflowDetailLang.js b/src/views/oa/newOaWorkflowDetailLang.js new file mode 100644 index 0000000..6687cd6 --- /dev/null +++ b/src/views/oa/newOaWorkflowDetailLang.js @@ -0,0 +1,102 @@ +export const messages = { + en: { + newOaWorkflowDetail: { + title: 'Work Order Details', + back: 'Back', + applicant: 'Applicant', + applyTime: 'Application Time', + status: 'Status', + workflowProcess: 'Work Order Process', + serialNumber: 'No.', + department: 'Department', + handler: 'Handler', + timeConsuming: 'Time Consuming', + comment: 'Comment', + processed: 'Processed', + processing: 'Processing', + admin: 'Administrator', + workflowHandle: 'Work Order Handling', + action: 'Action', + selectAction: 'Please select', + handle: 'Handle', + return: 'Return', + returnToSubmitter: 'Return to Submitter', + end: 'End', + transfer: 'Transfer', + workflowDescription: 'Work Order Description', + descriptionRequired: 'Required, please fill in the work order description', + nextHandler: 'Next Handler', + selectNextHandler: 'Required, please select the next handler', + select: 'Select', + submit: 'Submit', + flowChart: 'Flow Chart', + illegalOperation: 'Illegal operation', + selectStatus: 'Please select status', + fillDescription: 'Please fill in the description', + submitSuccess: 'Submitted successfully', + unknown: 'Unknown', + apply: 'Apply', + pendingReview: 'Pending Review', + returned: 'Returned', + transferred: 'Transferred', + completed: 'Completed' + }, + selectStaff: { + title: 'Select Staff', + orgInfo: 'Organization Information', + staffInfo: 'Staff Information', + submitter: 'Submitter', + customAssign: 'Dynamic Assignment' + } + }, + zh: { + newOaWorkflowDetail: { + title: '工单详情', + back: '返回', + applicant: '申请人', + applyTime: '申请时间', + status: '状态', + workflowProcess: '工单流转', + serialNumber: '序号', + department: '部门', + handler: '处理人', + timeConsuming: '耗时', + comment: '意见', + processed: '处理完成', + processing: '正在处理', + admin: '管理员', + workflowHandle: '工单办理', + action: '动作', + selectAction: '请选择', + handle: '办理', + return: '退回', + returnToSubmitter: '退回至提交者', + end: '结束', + transfer: '转单', + workflowDescription: '工单说明', + descriptionRequired: '必填,请填写工单说明', + nextHandler: '下一处理人', + selectNextHandler: '必填,请选择下一处理人', + select: '选择', + submit: '提交', + flowChart: '流程图', + illegalOperation: '非法操作', + selectStatus: '请选择状态', + fillDescription: '请填写说明', + submitSuccess: '提交成功', + unknown: '未知', + apply: '申请', + pendingReview: '待审核', + returned: '退回', + transferred: '转单', + completed: '办结' + }, + selectStaff: { + title: '选择员工', + orgInfo: '组织信息', + staffInfo: '员工信息', + submitter: '提交者', + customAssign: '动态指定' + } + } +} \ No newline at end of file diff --git a/src/views/oa/newOaWorkflowDetailList.vue b/src/views/oa/newOaWorkflowDetailList.vue new file mode 100644 index 0000000..b3d249e --- /dev/null +++ b/src/views/oa/newOaWorkflowDetailList.vue @@ -0,0 +1,369 @@ + + + + + \ No newline at end of file diff --git a/src/views/oa/newOaWorkflowFormEditLang.js b/src/views/oa/newOaWorkflowFormEditLang.js new file mode 100644 index 0000000..bfd11d9 --- /dev/null +++ b/src/views/oa/newOaWorkflowFormEditLang.js @@ -0,0 +1,34 @@ +export const messages = { + en: { + newOaWorkflowFormEdit: { + title: 'Edit', + submit: 'Submit', + cancel: 'Cancel', + requiredMessage: ' is required', + submitSuccess: 'Submit successfully', + submitError: 'Submit failed' + }, + uploadFile: { + uploadBtn: 'Upload Attachment', + sizeLimit: 'File size cannot exceed 20MB', + uploadSuccess: 'File uploaded successfully', + uploadError: 'File upload failed' + } + }, + zh: { + newOaWorkflowFormEdit: { + title: '编辑', + submit: '提交', + cancel: '取消', + requiredMessage: '不能为空', + submitSuccess: '提交成功', + submitError: '提交失败' + }, + uploadFile: { + uploadBtn: '上传附件', + sizeLimit: '文件大小不能超过20MB', + uploadSuccess: '文件上传成功', + uploadError: '文件上传失败' + } + } +} \ No newline at end of file diff --git a/src/views/oa/newOaWorkflowFormEditList.vue b/src/views/oa/newOaWorkflowFormEditList.vue new file mode 100644 index 0000000..d936472 --- /dev/null +++ b/src/views/oa/newOaWorkflowFormEditList.vue @@ -0,0 +1,195 @@ + + + + + \ No newline at end of file diff --git a/src/views/oa/newOaWorkflowLang.js b/src/views/oa/newOaWorkflowLang.js new file mode 100644 index 0000000..961a657 --- /dev/null +++ b/src/views/oa/newOaWorkflowLang.js @@ -0,0 +1,138 @@ +export const messages = { + en: { + newOaWorkflow: { + processWorkOrder: 'Process Work Order', + draftProcess: 'Draft Process', + processTodo: 'Process Todo', + processDone: 'Process Done' + }, + newOaWorkflowPool: { + searchTitle: 'Search Conditions', + enterApplicant: 'Please enter applicant', + enterStartTime: 'Please enter start time', + enterEndTime: 'Please enter end time', + processWorkOrder: 'Process Work Order', + applicant: 'Applicant', + status: 'Status', + createTime: 'Create Time', + operation: 'Operation', + detail: 'Detail', + flowChart: 'Flow Chart', + stateApply: 'Apply', + statePending: 'Pending', + stateReturned: 'Returned', + stateDelegate: 'Delegate', + stateCompleted: 'Completed' + }, + newOaWorkflowUndo: { + searchTitle: 'Search Conditions', + enterApplicant: 'Please enter applicant', + enterStartTime: 'Please enter start time', + enterEndTime: 'Please enter end time', + todoProcess: 'Todo Process', + applicant: 'Applicant', + status: 'Status', + createTime: 'Create Time', + operation: 'Operation', + process: 'Process', + detail: 'Detail', + edit: 'Edit', + stateApply: 'Apply', + statePending: 'Pending', + stateReturned: 'Returned', + stateDelegate: 'Delegate', + stateCompleted: 'Completed' + }, + newOaWorkflowFinish: { + searchTitle: 'Search Conditions', + enterApplicant: 'Please enter applicant', + enterStartTime: 'Please enter start time', + enterEndTime: 'Please enter end time', + doneProcess: 'Done Process', + applicant: 'Applicant', + status: 'Status', + createTime: 'Create Time', + operation: 'Operation', + detail: 'Detail', + stateApply: 'Apply', + statePending: 'Pending', + stateReturned: 'Returned', + stateDelegate: 'Delegate', + stateCompleted: 'Completed' + }, + uploadFile: { + uploadAttachment: 'Upload Attachment', + fileSizeLimit: 'File size cannot exceed 20MB', + uploadSuccess: 'File uploaded successfully', + uploadFailed: 'File upload failed' + } + }, + zh: { + newOaWorkflow: { + processWorkOrder: '流程工单', + draftProcess: '起草流程', + processTodo: '流程待办', + processDone: '流程已办' + }, + newOaWorkflowPool: { + searchTitle: '查询条件', + enterApplicant: '请输入申请人', + enterStartTime: '请输入开始时间', + enterEndTime: '请输入结束时间', + processWorkOrder: '流程工单', + applicant: '申请人', + status: '状态', + createTime: '创建时间', + operation: '操作', + detail: '详情', + flowChart: '流程图', + stateApply: '申请', + statePending: '待审核', + stateReturned: '退回', + stateDelegate: '委托', + stateCompleted: '办结' + }, + newOaWorkflowUndo: { + searchTitle: '查询条件', + enterApplicant: '请输入申请人', + enterStartTime: '请输入开始时间', + enterEndTime: '请输入结束时间', + todoProcess: '待办流程', + applicant: '申请人', + status: '状态', + createTime: '创建时间', + operation: '操作', + process: '办理', + detail: '详情', + edit: '编辑', + stateApply: '申请', + statePending: '待审核', + stateReturned: '退回', + stateDelegate: '委托', + stateCompleted: '办结' + }, + newOaWorkflowFinish: { + searchTitle: '查询条件', + enterApplicant: '请输入申请人', + enterStartTime: '请输入开始时间', + enterEndTime: '请输入结束时间', + doneProcess: '已办流程', + applicant: '申请人', + status: '状态', + createTime: '创建时间', + operation: '操作', + detail: '详情', + stateApply: '申请', + statePending: '待审核', + stateReturned: '退回', + stateDelegate: '委托', + stateCompleted: '办结' + }, + uploadFile: { + uploadAttachment: '上传附件', + fileSizeLimit: '文件大小不能超过20MB', + uploadSuccess: '文件上传成功', + uploadFailed: '文件上传失败' + } + } +} \ No newline at end of file diff --git a/src/views/oa/newOaWorkflowList.vue b/src/views/oa/newOaWorkflowList.vue new file mode 100644 index 0000000..7e42cab --- /dev/null +++ b/src/views/oa/newOaWorkflowList.vue @@ -0,0 +1,121 @@ + + + + + \ No newline at end of file diff --git a/src/views/oa/newOaWorkflowManageList.vue b/src/views/oa/newOaWorkflowManageList.vue index 85371be..864ea1c 100644 --- a/src/views/oa/newOaWorkflowManageList.vue +++ b/src/views/oa/newOaWorkflowManageList.vue @@ -3,13 +3,8 @@
- +
@@ -64,14 +59,14 @@ export default { flowId: flow.flowId, state: 'C' }) - + if (data.length < 1) { this.$message.error(this.$t('newOaWorkflowManage.flowNotDeployed')) return } - + this.$router.push({ - path: '/form.html#/pages/property/newOaWorkflow', + path: '/views/oa/newOaWorkflow', query: { flowId: flow.flowId } }) } catch (error) { @@ -85,27 +80,27 @@ export default {