@coopenomics/desktop 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +9 -0
- package/.env-example +3 -0
- package/.eslintignore +8 -0
- package/.eslintrc.cjs +91 -0
- package/.prettierrc +7 -0
- package/.vscode/extensions.json +15 -0
- package/.vscode/settings.json +14 -0
- package/CHANGELOG.md +495 -0
- package/Env-example.ts +12 -0
- package/README.md +38 -0
- package/extensions/powerup/boot.ts +17 -0
- package/extensions/powerup/src/Powerup.vue +3 -0
- package/index.html +78 -0
- package/package.json +98 -0
- package/postcss.config.cjs +27 -0
- package/public/documents/privacy_policy.pdf +0 -0
- package/public/documents/regulation_on_the_cpp_wallet.pdf +0 -0
- package/public/documents/regulation_on_the_procedure_and_rules_for_using_a_simple_electronic_signature.pdf +0 -0
- package/public/documents/user_agreement.pdf +0 -0
- package/public/documents/ustav.pdf +0 -0
- package/public/icons/favicon-128x128.png +0 -0
- package/public/icons/favicon-16x16.png +0 -0
- package/public/icons/favicon-32x32.png +0 -0
- package/public/icons/favicon-96x96.png +0 -0
- package/public/logo.svg +1 -0
- package/public/open.ttf +0 -0
- package/public/pwa/pwa_icon_128x128.png +0 -0
- package/public/pwa/pwa_icon_144x144.png +0 -0
- package/public/pwa/pwa_icon_152x152.png +0 -0
- package/public/pwa/pwa_icon_192x192.png +0 -0
- package/public/pwa/pwa_icon_256x256.png +0 -0
- package/public/pwa/pwa_icon_384x384.png +0 -0
- package/public/pwa/pwa_icon_48x48.png +0 -0
- package/public/pwa/pwa_icon_512x512.png +0 -0
- package/public/pwa/pwa_icon_72x72.png +0 -0
- package/public/pwa/pwa_icon_96x96.png +0 -0
- package/public/roboto.ttf +0 -0
- package/public/service-worker.js +17 -0
- package/public/ubuntu.ttf +0 -0
- package/quasar.config.cjs +256 -0
- package/src/app/App.vue +85 -0
- package/src/app/config/index.ts +188 -0
- package/src/app/providers/card/store.ts +39 -0
- package/src/app/providers/router.ts +28 -0
- package/src/app/providers/routes/index.ts +288 -0
- package/src/app/service-worker.js +12 -0
- package/src/app/styles/app.scss +29 -0
- package/src/app/styles/quasar-variables.sass +556 -0
- package/src/app/styles/style.css +388 -0
- package/src/assets/anime.svg +187 -0
- package/src/assets/bizsystem.svg +1 -0
- package/src/assets/blockchain.svg +1 -0
- package/src/assets/buycheaper.svg +1 -0
- package/src/assets/cart.svg +3 -0
- package/src/assets/club1.svg +1 -0
- package/src/assets/club2.svg +1 -0
- package/src/assets/clubs.png +0 -0
- package/src/assets/clubs.svg +1 -0
- package/src/assets/crown.svg +3 -0
- package/src/assets/dacom.png +0 -0
- package/src/assets/dacom2.png +0 -0
- package/src/assets/dacom_night.svg +1 -0
- package/src/assets/dacom_night2.png +0 -0
- package/src/assets/dao_free.svg +1 -0
- package/src/assets/flow1.svg +1 -0
- package/src/assets/flow2.svg +1 -0
- package/src/assets/flow3.svg +1 -0
- package/src/assets/flow4.svg +1 -0
- package/src/assets/header-logo.svg +25 -0
- package/src/assets/history.svg +4 -0
- package/src/assets/logo-white.png +0 -0
- package/src/assets/logo.png +0 -0
- package/src/assets/main.svg +1 -0
- package/src/assets/menu.svg +3 -0
- package/src/assets/order.svg +5 -0
- package/src/assets/pin.svg +4 -0
- package/src/assets/quasar-logo-vertical.svg +15 -0
- package/src/assets/sellmore.svg +1 -0
- package/src/assets/star.svg +4 -0
- package/src/assets/systemadmin.svg +1 -0
- package/src/assets/systemfunds.svg +1 -0
- package/src/assets/systemgoals.svg +1 -0
- package/src/assets/systemgov.svg +1 -0
- package/src/assets/systemprojects.svg +1 -0
- package/src/assets/systemtasks.svg +1 -0
- package/src/assets/ticket.svg +1 -0
- package/src/assets/union.svg +3 -0
- package/src/assets/user.png +0 -0
- package/src/assets/wallet.svg +4 -0
- package/src/assets/welcome.jpeg +0 -0
- package/src/boot/.gitkeep +0 -0
- package/src/boot/axios.ts +31 -0
- package/src/boot/branch-selector.ts +42 -0
- package/src/boot/i18n.ts +33 -0
- package/src/boot/init-stores.ts +43 -0
- package/src/boot/map.ts +7 -0
- package/src/boot/navigation-guards.ts +48 -0
- package/src/boot/sentry.ts +26 -0
- package/src/chainsMain.ts +8 -0
- package/src/components/history/AccountEvents.vue +137 -0
- package/src/components/history/AccountLink.vue +11 -0
- package/src/components/history/ActionCell.vue +96 -0
- package/src/components/history/DataCell.vue +84 -0
- package/src/components/menu/blockchainStatus.vue +84 -0
- package/src/components/menu/footerMobileMenu.vue +77 -0
- package/src/components/soviet/index.vue +76 -0
- package/src/components/soviet/staff.vue +272 -0
- package/src/css/quasar.variables.scss +50 -0
- package/src/desktops/Chairman/index.ts +1 -0
- package/src/desktops/Chairman/model/index.ts +63 -0
- package/src/desktops/Member/index.ts +1 -0
- package/src/desktops/Member/model/index.ts +63 -0
- package/src/desktops/Setup/index.ts +1 -0
- package/src/desktops/Setup/model/index.ts +63 -0
- package/src/desktops/User/index.ts +1 -0
- package/src/desktops/User/model/index.ts +325 -0
- package/src/desktops/index.ts +9 -0
- package/src/entities/Account/api/index.ts +17 -0
- package/src/entities/Account/index.ts +2 -0
- package/src/entities/Account/model/index.ts +1 -0
- package/src/entities/Account/model/store.ts +25 -0
- package/src/entities/Account/types/index.ts +3 -0
- package/src/entities/Agreement/api/index.ts +46 -0
- package/src/entities/Agreement/index.ts +2 -0
- package/src/entities/Agreement/model/index.ts +1 -0
- package/src/entities/Agreement/model/store.ts +49 -0
- package/src/entities/Branch/api/index.ts +34 -0
- package/src/entities/Branch/index.ts +2 -0
- package/src/entities/Branch/model/index.ts +2 -0
- package/src/entities/Branch/model/store.ts +36 -0
- package/src/entities/Branch/model/types.ts +7 -0
- package/src/entities/Cooperative/api/index.ts +106 -0
- package/src/entities/Cooperative/index.ts +2 -0
- package/src/entities/Cooperative/model/index.ts +2 -0
- package/src/entities/Cooperative/model/stores.ts +123 -0
- package/src/entities/Cooperative/model/types.ts +19 -0
- package/src/entities/Decision/index.ts +1 -0
- package/src/entities/Decision/model/index.ts +1 -0
- package/src/entities/Decision/model/types.ts +4 -0
- package/src/entities/Desktop/api/index.ts +10 -0
- package/src/entities/Desktop/index.ts +2 -0
- package/src/entities/Desktop/model/index.ts +1 -0
- package/src/entities/Desktop/model/store.ts +135 -0
- package/src/entities/Desktop/model/types.ts +29 -0
- package/src/entities/Extension/api/index.ts +19 -0
- package/src/entities/Extension/index.ts +2 -0
- package/src/entities/Extension/model/index.ts +2 -0
- package/src/entities/Extension/model/store.ts +71 -0
- package/src/entities/Extension/model/types.ts +28 -0
- package/src/entities/Installer/index.ts +1 -0
- package/src/entities/Installer/model/index.ts +1 -0
- package/src/entities/Installer/model/store.ts +36 -0
- package/src/entities/Menu/index.ts +2 -0
- package/src/entities/Menu/model/index.ts +2 -0
- package/src/entities/Menu/model/store.ts +69 -0
- package/src/entities/Menu/model/types.ts +11 -0
- package/src/entities/Menu/ui/index.ts +1 -0
- package/src/entities/Order/api/index.ts +14 -0
- package/src/entities/Order/index.ts +1 -0
- package/src/entities/Order/model/index.ts +1 -0
- package/src/entities/Order/model/store.ts +87 -0
- package/src/entities/Registrator/index.ts +2 -0
- package/src/entities/Registrator/model/index.ts +1 -0
- package/src/entities/Registrator/model/store.ts +237 -0
- package/src/entities/Registrator/ui/index.ts +1 -0
- package/src/entities/Request/api/index.ts +192 -0
- package/src/entities/Request/index.ts +3 -0
- package/src/entities/Request/model/index.ts +1 -0
- package/src/entities/Request/model/stores.ts +123 -0
- package/src/entities/Request/model/types.ts +57 -0
- package/src/entities/Request/ui/index.ts +1 -0
- package/src/entities/Session/api/index.ts +21 -0
- package/src/entities/Session/index.ts +2 -0
- package/src/entities/Session/model/index.ts +2 -0
- package/src/entities/Session/model/store.ts +100 -0
- package/src/entities/Session/model/types.ts +1 -0
- package/src/entities/Settings/api/index.ts +8 -0
- package/src/entities/Settings/index.ts +2 -0
- package/src/entities/Settings/model/index.ts +1 -0
- package/src/entities/Settings/model/store.ts +24 -0
- package/src/entities/System/api/index.ts +12 -0
- package/src/entities/System/index.ts +2 -0
- package/src/entities/System/model/index.ts +1 -0
- package/src/entities/System/model/store.ts +24 -0
- package/src/entities/System/types/index.ts +3 -0
- package/src/entities/Union/model/index.ts +1 -0
- package/src/entities/Union/model/store.ts +19 -0
- package/src/entities/User/api/index.ts +75 -0
- package/src/entities/User/index.ts +3 -0
- package/src/entities/User/model/entity.ts +47 -0
- package/src/entities/User/model/index.ts +2 -0
- package/src/entities/User/model/stores.ts +49 -0
- package/src/entities/User/model/types.ts +36 -0
- package/src/entities/User/ui/index.ts +1 -0
- package/src/entities/Wallet/api/index.ts +192 -0
- package/src/entities/Wallet/index.ts +3 -0
- package/src/entities/Wallet/model/index.ts +2 -0
- package/src/entities/Wallet/model/stores.ts +108 -0
- package/src/entities/Wallet/model/types.ts +77 -0
- package/src/entities/Wallet/ui/WalletBalance/WalletBalance.vue +35 -0
- package/src/entities/Wallet/ui/WalletBalance/index.ts +1 -0
- package/src/entities/Wallet/ui/WalletProgramsList/WalletProgramsList.vue +15 -0
- package/src/entities/Wallet/ui/WalletProgramsList/index.ts +1 -0
- package/src/entities/Wallet/ui/index.ts +2 -0
- package/src/env.d.ts +28 -0
- package/src/features/Agreementer/GenerateAgreement/index.ts +1 -0
- package/src/features/Agreementer/GenerateAgreement/model/index.ts +24 -0
- package/src/features/Agreementer/GenerateAgreement/ui/AgreementReader.vue +37 -0
- package/src/features/Agreementer/GenerateAgreement/ui/index.ts +1 -0
- package/src/features/Agreementer/ReadAgreementDialog/index.ts +1 -0
- package/src/features/Agreementer/ReadAgreementDialog/ui/ReadAgreementDialog.vue +58 -0
- package/src/features/Agreementer/ReadAgreementDialog/ui/index.ts +1 -0
- package/src/features/Agreementer/SignAgreementDialog/api/index.ts +26 -0
- package/src/features/Agreementer/SignAgreementDialog/index.ts +3 -0
- package/src/features/Agreementer/SignAgreementDialog/model/index.ts +27 -0
- package/src/features/Agreementer/SignAgreementDialog/ui/SignAgreementDialog.vue +73 -0
- package/src/features/Agreementer/SignAgreementDialog/ui/index.ts +1 -0
- package/src/features/Branch/CreateBranch/api/index.ts +16 -0
- package/src/features/Branch/CreateBranch/index.ts +2 -0
- package/src/features/Branch/CreateBranch/model/index.ts +49 -0
- package/src/features/Branch/CreateBranch/ui/CreateBranchButton.vue +61 -0
- package/src/features/Branch/CreateBranch/ui/index.ts +1 -0
- package/src/features/Branch/EditBranch/api/index.ts +16 -0
- package/src/features/Branch/EditBranch/index.ts +2 -0
- package/src/features/Branch/EditBranch/model/index.ts +34 -0
- package/src/features/Branch/SelectBranch/api/index.ts +15 -0
- package/src/features/Branch/SelectBranch/index.ts +1 -0
- package/src/features/Branch/SelectBranch/model/index.ts +18 -0
- package/src/features/Branch/SelectBranch/ui/SelectBranchOverlay.vue +109 -0
- package/src/features/Branch/SelectBranch/ui/index.ts +1 -0
- package/src/features/Cooperative/AddAdmin/index.ts +1 -0
- package/src/features/Cooperative/AddAdmin/model/index.ts +27 -0
- package/src/features/Cooperative/CreateBoard/index.ts +1 -0
- package/src/features/Cooperative/CreateBoard/model/index.ts +27 -0
- package/src/features/Cooperative/DeleteAdmin/index.ts +1 -0
- package/src/features/Cooperative/DeleteAdmin/model/index.ts +27 -0
- package/src/features/Cooperative/SetRights/index.ts +1 -0
- package/src/features/Cooperative/SetRights/model/index.ts +27 -0
- package/src/features/Cooperative/UpdateBoard/index.ts +1 -0
- package/src/features/Cooperative/UpdateBoard/model/index.ts +27 -0
- package/src/features/Cooperative/UpdateCoop/index.ts +1 -0
- package/src/features/Cooperative/UpdateCoop/model/index.ts +27 -0
- package/src/features/Decision/AuthorizeAndExecDecision/index.ts +1 -0
- package/src/features/Decision/AuthorizeAndExecDecision/model/index.ts +83 -0
- package/src/features/Decision/AutomateDecision/index.ts +1 -0
- package/src/features/Decision/AutomateDecision/model/index.ts +27 -0
- package/src/features/Decision/CreateProject/index.ts +1 -0
- package/src/features/Decision/CreateProject/model/index.ts +84 -0
- package/src/features/Decision/CreateProject/ui/CreateProjectFreeDecisionButton.vue +51 -0
- package/src/features/Decision/CreateProject/ui/index.ts +1 -0
- package/src/features/Decision/DisautomateDecision/index.ts +1 -0
- package/src/features/Decision/DisautomateDecision/model/index.ts +27 -0
- package/src/features/Decision/GenerateProjectDocument/index.ts +1 -0
- package/src/features/Decision/GenerateProjectDocument/model/index.ts +22 -0
- package/src/features/Decision/PublishProject/index.ts +1 -0
- package/src/features/Decision/PublishProject/model/index.ts +22 -0
- package/src/features/Decision/ValidateDecision/index.ts +1 -0
- package/src/features/Decision/ValidateDecision/model/index.ts +27 -0
- package/src/features/Decision/VoteAgainstDecision/index.ts +1 -0
- package/src/features/Decision/VoteAgainstDecision/model/index.ts +27 -0
- package/src/features/Decision/VoteForDecision/index.ts +1 -0
- package/src/features/Decision/VoteForDecision/model/index.ts +32 -0
- package/src/features/Extension/InstallExtension/index.ts +1 -0
- package/src/features/Extension/InstallExtension/model/index.ts +25 -0
- package/src/features/Extension/UninstallExtension/index.ts +1 -0
- package/src/features/Extension/UninstallExtension/model/index.ts +23 -0
- package/src/features/Extension/UpdateExtension/index.ts +1 -0
- package/src/features/Extension/UpdateExtension/model/index.ts +25 -0
- package/src/features/Fund/CreateFund/index.ts +1 -0
- package/src/features/Fund/CreateFund/model/index.ts +27 -0
- package/src/features/Fund/DeleteFund/index.ts +1 -0
- package/src/features/Fund/DeleteFund/model/index.ts +27 -0
- package/src/features/Fund/EditFund/index.ts +1 -0
- package/src/features/Fund/EditFund/model/index.ts +27 -0
- package/src/features/Installer/api/index.ts +13 -0
- package/src/features/Installer/index.ts +2 -0
- package/src/features/Installer/model/index.ts +20 -0
- package/src/features/Installer/ui/RequestKeyForm/RequestKeyForm.vue +57 -0
- package/src/features/Installer/ui/RequestKeyForm/index.ts +1 -0
- package/src/features/Installer/ui/SetSovietForm/SetSovietForm.vue +71 -0
- package/src/features/Installer/ui/SetSovietForm/index.ts +1 -0
- package/src/features/Installer/ui/index.ts +2 -0
- package/src/features/Order/SetStatus/api/index.ts +7 -0
- package/src/features/Order/SetStatus/index.ts +1 -0
- package/src/features/Order/SetStatus/model/index.ts +23 -0
- package/src/features/Order/SetStatus/ui/SetOrderCompletedStatusButton/SetOrderCompletedStatusButton.vue +48 -0
- package/src/features/Order/SetStatus/ui/SetOrderCompletedStatusButton/index.ts +1 -0
- package/src/features/Order/SetStatus/ui/SetOrderPaidStatusButton/SetOrderPaidStatusButton.vue +49 -0
- package/src/features/Order/SetStatus/ui/SetOrderPaidStatusButton/index.ts +1 -0
- package/src/features/Order/SetStatus/ui/SetOrderRefundedStatusButton/SetOrderRefundedStatusButton.vue +49 -0
- package/src/features/Order/SetStatus/ui/SetOrderRefundedStatusButton/index.ts +1 -0
- package/src/features/PaymentMethod/AddPaymentMethod/index.ts +2 -0
- package/src/features/PaymentMethod/AddPaymentMethod/model/index.ts +56 -0
- package/src/features/PaymentMethod/AddPaymentMethod/ui/AddPaymentButton.vue +166 -0
- package/src/features/PaymentMethod/AddPaymentMethod/ui/index.ts +1 -0
- package/src/features/PaymentMethod/DeletePaymentMethod/index.ts +1 -0
- package/src/features/PaymentMethod/DeletePaymentMethod/model/index.ts +29 -0
- package/src/features/PaymentMethod/DeletePaymentMethod/ui/DeletePaymentMethodButton.vue +67 -0
- package/src/features/PaymentMethod/DeletePaymentMethod/ui/index.ts +1 -0
- package/src/features/PaymentMethod/UpdateBankAccount/api/index.ts +14 -0
- package/src/features/PaymentMethod/UpdateBankAccount/index.ts +1 -0
- package/src/features/PaymentMethod/UpdateBankAccount/model/index.ts +34 -0
- package/src/features/Request/AcceptRequest/api/index.ts +53 -0
- package/src/features/Request/AcceptRequest/index.ts +3 -0
- package/src/features/Request/AcceptRequest/model/index.ts +1 -0
- package/src/features/Request/AcceptRequest/model/types.ts +5 -0
- package/src/features/Request/AcceptRequest/ui/AcceptButton.vue +37 -0
- package/src/features/Request/AcceptRequest/ui/index.ts +1 -0
- package/src/features/Request/CancelRequest/api/index.ts +44 -0
- package/src/features/Request/CancelRequest/index.ts +3 -0
- package/src/features/Request/CancelRequest/model/index.ts +1 -0
- package/src/features/Request/CancelRequest/model/types.ts +5 -0
- package/src/features/Request/CancelRequest/ui/CancelButton.vue +36 -0
- package/src/features/Request/CancelRequest/ui/index.ts +1 -0
- package/src/features/Request/CompleteOnRequest/api/index.ts +43 -0
- package/src/features/Request/CompleteOnRequest/index.ts +3 -0
- package/src/features/Request/CompleteOnRequest/model/index.ts +1 -0
- package/src/features/Request/CompleteOnRequest/model/types.ts +5 -0
- package/src/features/Request/CompleteOnRequest/ui/CompleteOnRequestButton.vue +37 -0
- package/src/features/Request/CompleteOnRequest/ui/index.ts +1 -0
- package/src/features/Request/ConfirmRecieveOnRequest/api/index.ts +53 -0
- package/src/features/Request/ConfirmRecieveOnRequest/index.ts +3 -0
- package/src/features/Request/ConfirmRecieveOnRequest/model/index.ts +1 -0
- package/src/features/Request/ConfirmRecieveOnRequest/model/types.ts +5 -0
- package/src/features/Request/ConfirmRecieveOnRequest/ui/ConfirmRecieveOnRequest.vue +37 -0
- package/src/features/Request/ConfirmRecieveOnRequest/ui/index.ts +1 -0
- package/src/features/Request/ConfirmSupplyOnRequest/api/index.ts +53 -0
- package/src/features/Request/ConfirmSupplyOnRequest/index.ts +3 -0
- package/src/features/Request/ConfirmSupplyOnRequest/model/index.ts +1 -0
- package/src/features/Request/ConfirmSupplyOnRequest/model/types.ts +5 -0
- package/src/features/Request/ConfirmSupplyOnRequest/ui/ConfirmSupplyOnRequestButton.vue +38 -0
- package/src/features/Request/ConfirmSupplyOnRequest/ui/index.ts +1 -0
- package/src/features/Request/CreateChildOrder/api/index.ts +60 -0
- package/src/features/Request/CreateChildOrder/index.ts +3 -0
- package/src/features/Request/CreateChildOrder/model/index.ts +1 -0
- package/src/features/Request/CreateChildOrder/model/types.ts +17 -0
- package/src/features/Request/CreateChildOrder/ui/CreateChildOrderButton/CreateChildOrderButton.vue +30 -0
- package/src/features/Request/CreateChildOrder/ui/CreateChildOrderButton/index.ts +1 -0
- package/src/features/Request/CreateChildOrder/ui/index.ts +1 -0
- package/src/features/Request/CreateParentOffer/api/index.ts +61 -0
- package/src/features/Request/CreateParentOffer/index.ts +3 -0
- package/src/features/Request/CreateParentOffer/model/index.ts +1 -0
- package/src/features/Request/CreateParentOffer/model/types.ts +22 -0
- package/src/features/Request/CreateParentOffer/ui/CreateParentOfferForm/CreateParentOfferForm.vue +78 -0
- package/src/features/Request/CreateParentOffer/ui/CreateParentOfferForm/index.ts +1 -0
- package/src/features/Request/CreateParentOffer/ui/ImageUploaderWithPreview/ImageUploaderWithPreview.vue +48 -0
- package/src/features/Request/CreateParentOffer/ui/ImageUploaderWithPreview/index.ts +1 -0
- package/src/features/Request/CreateParentOffer/ui/ImagesPreview/ImagesPreview.vue +104 -0
- package/src/features/Request/CreateParentOffer/ui/ImagesPreview/index.ts +1 -0
- package/src/features/Request/CreateParentOffer/ui/index.ts +3 -0
- package/src/features/Request/DeclineRequest/api/index.ts +45 -0
- package/src/features/Request/DeclineRequest/index.ts +3 -0
- package/src/features/Request/DeclineRequest/model/index.ts +1 -0
- package/src/features/Request/DeclineRequest/model/types.ts +5 -0
- package/src/features/Request/DeclineRequest/ui/DeclineButton.vue +37 -0
- package/src/features/Request/DeclineRequest/ui/index.ts +1 -0
- package/src/features/Request/DeliverOnRequest/api/index.ts +43 -0
- package/src/features/Request/DeliverOnRequest/index.ts +3 -0
- package/src/features/Request/DeliverOnRequest/model/index.ts +1 -0
- package/src/features/Request/DeliverOnRequest/model/types.ts +5 -0
- package/src/features/Request/DeliverOnRequest/ui/DeliverOnRequestButton.vue +38 -0
- package/src/features/Request/DeliverOnRequest/ui/index.ts +1 -0
- package/src/features/Request/DisputeOnRequest/api/index.ts +53 -0
- package/src/features/Request/DisputeOnRequest/index.ts +3 -0
- package/src/features/Request/DisputeOnRequest/model/index.ts +1 -0
- package/src/features/Request/DisputeOnRequest/model/types.ts +5 -0
- package/src/features/Request/DisputeOnRequest/ui/DisputeOnRequestButton.vue +37 -0
- package/src/features/Request/DisputeOnRequest/ui/index.ts +1 -0
- package/src/features/Request/ModerateRequest/api/index.ts +43 -0
- package/src/features/Request/ModerateRequest/index.ts +3 -0
- package/src/features/Request/ModerateRequest/model/index.ts +1 -0
- package/src/features/Request/ModerateRequest/model/types.ts +6 -0
- package/src/features/Request/ModerateRequest/ui/ModerateRequestButton.vue +40 -0
- package/src/features/Request/ModerateRequest/ui/index.ts +1 -0
- package/src/features/Request/ProhibitRequest/api/index.ts +43 -0
- package/src/features/Request/ProhibitRequest/index.ts +3 -0
- package/src/features/Request/ProhibitRequest/model/index.ts +1 -0
- package/src/features/Request/ProhibitRequest/model/types.ts +5 -0
- package/src/features/Request/ProhibitRequest/ui/ProhibitRequestButton.vue +36 -0
- package/src/features/Request/ProhibitRequest/ui/index.ts +1 -0
- package/src/features/Request/PublishRequest/api/index.ts +44 -0
- package/src/features/Request/PublishRequest/index.ts +3 -0
- package/src/features/Request/PublishRequest/model/index.ts +1 -0
- package/src/features/Request/PublishRequest/model/types.ts +5 -0
- package/src/features/Request/PublishRequest/ui/PublishRequestButton.vue +36 -0
- package/src/features/Request/PublishRequest/ui/index.ts +1 -0
- package/src/features/Request/RecieveOnRequest/api/index.ts +53 -0
- package/src/features/Request/RecieveOnRequest/index.ts +3 -0
- package/src/features/Request/RecieveOnRequest/model/index.ts +1 -0
- package/src/features/Request/RecieveOnRequest/model/types.ts +5 -0
- package/src/features/Request/RecieveOnRequest/ui/RecieveOnRequestButton.vue +37 -0
- package/src/features/Request/RecieveOnRequest/ui/index.ts +1 -0
- package/src/features/Request/SupplyOnRequest/api/index.ts +53 -0
- package/src/features/Request/SupplyOnRequest/index.ts +3 -0
- package/src/features/Request/SupplyOnRequest/model/index.ts +1 -0
- package/src/features/Request/SupplyOnRequest/model/types.ts +5 -0
- package/src/features/Request/SupplyOnRequest/ui/SupplyOnRequestButton.vue +37 -0
- package/src/features/Request/SupplyOnRequest/ui/index.ts +1 -0
- package/src/features/Request/UnpublishRequest/api/index.ts +44 -0
- package/src/features/Request/UnpublishRequest/index.ts +3 -0
- package/src/features/Request/UnpublishRequest/model/index.ts +1 -0
- package/src/features/Request/UnpublishRequest/model/types.ts +5 -0
- package/src/features/Request/UnpublishRequest/ui/UnpublishRequestButton.vue +36 -0
- package/src/features/Request/UnpublishRequest/ui/index.ts +1 -0
- package/src/features/Request/UpdateRequest/api/index.ts +47 -0
- package/src/features/Request/UpdateRequest/index.ts +3 -0
- package/src/features/Request/UpdateRequest/model/index.ts +1 -0
- package/src/features/Request/UpdateRequest/model/types.ts +10 -0
- package/src/features/Request/UpdateRequest/ui/UpdateRequestButton.vue +28 -0
- package/src/features/Request/UpdateRequest/ui/index.ts +1 -0
- package/src/features/Settings/UpdateSettings/api/index.ts +11 -0
- package/src/features/Settings/UpdateSettings/index.ts +2 -0
- package/src/features/Settings/UpdateSettings/model/index.ts +16 -0
- package/src/features/Settings/index.ts +2 -0
- package/src/features/Union/ActivateCooperative/index.ts +1 -0
- package/src/features/Union/ActivateCooperative/model/index.ts +33 -0
- package/src/features/Union/AddCooperative/index.ts +2 -0
- package/src/features/Union/AddCooperative/model/index.ts +33 -0
- package/src/features/Union/AddCooperative/ui/AddCooperativeForm.vue +91 -0
- package/src/features/Union/AddCooperative/ui/index.ts +1 -0
- package/src/features/Union/BlockCooperative/index.ts +1 -0
- package/src/features/Union/BlockCooperative/model/index.ts +33 -0
- package/src/features/Union/DeleteCooperative/index.ts +1 -0
- package/src/features/Union/DeleteCooperative/model/index.ts +32 -0
- package/src/features/Union/LoadCooperatives/api/index.ts +33 -0
- package/src/features/Union/LoadCooperatives/index.ts +2 -0
- package/src/features/Union/LoadCooperatives/model/index.ts +16 -0
- package/src/features/User/AddUser/api/index.ts +11 -0
- package/src/features/User/AddUser/index.ts +3 -0
- package/src/features/User/AddUser/model/index.ts +59 -0
- package/src/features/User/AddUser/ui/AddUserDialog/AddUserDialog.vue +232 -0
- package/src/features/User/AddUser/ui/AddUserDialog/index.ts +1 -0
- package/src/features/User/AddUser/ui/index.ts +1 -0
- package/src/features/User/CreateUser/api/index.ts +65 -0
- package/src/features/User/CreateUser/index.ts +2 -0
- package/src/features/User/CreateUser/model/index.ts +237 -0
- package/src/features/User/LoginUser/api/index.ts +20 -0
- package/src/features/User/LoginUser/index.ts +2 -0
- package/src/features/User/LoginUser/model/index.ts +69 -0
- package/src/features/User/LoginUser/ui/LoginForm/LoginForm.vue +78 -0
- package/src/features/User/LoginUser/ui/LoginForm/index.ts +1 -0
- package/src/features/User/Logout/api/index.ts +16 -0
- package/src/features/User/Logout/index.ts +2 -0
- package/src/features/User/Logout/model/index.ts +21 -0
- package/src/features/User/LostKey/api/index.ts +9 -0
- package/src/features/User/LostKey/index.ts +2 -0
- package/src/features/User/LostKey/model/index.ts +11 -0
- package/src/features/User/ResetKey/api/index.ts +9 -0
- package/src/features/User/ResetKey/index.ts +2 -0
- package/src/features/User/ResetKey/model/index.ts +11 -0
- package/src/features/User/UpdateMeta/index.ts +1 -0
- package/src/features/User/UpdateMeta/model/index.ts +34 -0
- package/src/features/Wallet/DepositToWallet/index.ts +1 -0
- package/src/features/Wallet/DepositToWallet/ui/DepositButton/DepositButton.vue +79 -0
- package/src/features/Wallet/DepositToWallet/ui/DepositButton/index.ts +1 -0
- package/src/features/Wallet/DepositToWallet/ui/index.ts +1 -0
- package/src/features/Wallet/WithdrawFromWallet/index.ts +1 -0
- package/src/features/Wallet/WithdrawFromWallet/ui/index.ts +1 -0
- package/src/features/Wallet/WithdrawFromWallet/ui/withdrawButton.vue +54 -0
- package/src/i18n/index.ts +5 -0
- package/src/i18n/ru-RU/index.ts +7 -0
- package/src/index.ts +1 -0
- package/src/pages/Cooperative/Contacts/index.ts +1 -0
- package/src/pages/Cooperative/Contacts/ui/ContactsPage.vue +7 -0
- package/src/pages/Cooperative/Contacts/ui/index.ts +1 -0
- package/src/pages/Cooperative/ListOfBranches/index.ts +1 -0
- package/src/pages/Cooperative/ListOfBranches/ui/ListOfBranchesPage.vue +101 -0
- package/src/pages/Cooperative/ListOfBranches/ui/index.ts +1 -0
- package/src/pages/Cooperative/ListOfOrders/index.ts +1 -0
- package/src/pages/Cooperative/ListOfOrders/ui/ListOfOrdersPage.vue +12 -0
- package/src/pages/Cooperative/ListOfOrders/ui/index.ts +1 -0
- package/src/pages/Cooperative/ListOfParticipants/index.ts +1 -0
- package/src/pages/Cooperative/ListOfParticipants/ui/ListOfParticipantsPage.vue +14 -0
- package/src/pages/Cooperative/ListOfParticipants/ui/index.ts +1 -0
- package/src/pages/Cooperative/MembersPage/MembersPage.vue +10 -0
- package/src/pages/Cooperative/MembersPage/index.ts +1 -0
- package/src/pages/Cooperative/SettingsPage/CooperativeSettingsPage.vue +5 -0
- package/src/pages/Cooperative/SettingsPage/index.ts +1 -0
- package/src/pages/Documentor/ListOfDocuments/ListOfDocumentsPage.vue +10 -0
- package/src/pages/Documentor/ListOfDocuments/index.ts +1 -0
- package/src/pages/ExtStore/BaseRoute/ExtensionStoreBase.vue +5 -0
- package/src/pages/ExtStore/BaseRoute/index.ts +1 -0
- package/src/pages/ExtStore/ExtensionPage/ExtensionPage.vue +205 -0
- package/src/pages/ExtStore/ExtensionPage/index.ts +1 -0
- package/src/pages/ExtStore/ExtensionsShowcase/ExtensionsShowcase.vue +18 -0
- package/src/pages/ExtStore/ExtensionsShowcase/index.ts +1 -0
- package/src/pages/ExtStore/InstalledExtensions/InstalledExtensions.vue +18 -0
- package/src/pages/ExtStore/InstalledExtensions/index.ts +1 -0
- package/src/pages/Installer/index.ts +1 -0
- package/src/pages/Installer/ui/InstallCooperativePage.vue +9 -0
- package/src/pages/Installer/ui/index.ts +1 -0
- package/src/pages/Marketplace/CreateParentOffer/index.ts +1 -0
- package/src/pages/Marketplace/CreateParentOffer/ui/CreateParentOfferPage.vue +13 -0
- package/src/pages/Marketplace/CreateParentOffer/ui/index.ts +1 -0
- package/src/pages/Marketplace/MainPage/index.ts +1 -0
- package/src/pages/Marketplace/MainPage/ui/MainPage.vue +36 -0
- package/src/pages/Marketplace/MainPage/ui/index.ts +1 -0
- package/src/pages/Marketplace/Moderation/index.ts +1 -0
- package/src/pages/Marketplace/Moderation/ui/ModerationPage.vue +59 -0
- package/src/pages/Marketplace/Moderation/ui/index.ts +1 -0
- package/src/pages/Marketplace/OfferPage/index.ts +1 -0
- package/src/pages/Marketplace/OfferPage/ui/OfferPage.vue +162 -0
- package/src/pages/Marketplace/OfferPage/ui/index.ts +1 -0
- package/src/pages/Marketplace/Showcase/index.ts +1 -0
- package/src/pages/Marketplace/Showcase/ui/ShowcasePage.vue +42 -0
- package/src/pages/Marketplace/Showcase/ui/index.ts +1 -0
- package/src/pages/Marketplace/SuppliesList/index.ts +1 -0
- package/src/pages/Marketplace/SuppliesList/ui/SuppliesListPage.vue +18 -0
- package/src/pages/Marketplace/SuppliesList/ui/index.ts +1 -0
- package/src/pages/Marketplace/UserParentOffers/index.ts +1 -0
- package/src/pages/Marketplace/UserParentOffers/ui/UserParentOffersPage.vue +44 -0
- package/src/pages/Marketplace/UserParentOffers/ui/index.ts +1 -0
- package/src/pages/Marketplace/UserSuppliesList/index.ts +1 -0
- package/src/pages/Marketplace/UserSuppliesList/ui/UserSuppliesListPage.vue +29 -0
- package/src/pages/Marketplace/UserSuppliesList/ui/index.ts +1 -0
- package/src/pages/Registrator/LostKey/index.ts +1 -0
- package/src/pages/Registrator/LostKey/ui/LostKeyPage.vue +13 -0
- package/src/pages/Registrator/LostKey/ui/index.ts +1 -0
- package/src/pages/Registrator/ResetKey/index.ts +1 -0
- package/src/pages/Registrator/ResetKey/ui/ResetKeyPage.vue +9 -0
- package/src/pages/Registrator/ResetKey/ui/index.ts +1 -0
- package/src/pages/Registrator/SignIn/index.ts +1 -0
- package/src/pages/Registrator/SignIn/ui/SignInPage.vue +26 -0
- package/src/pages/Registrator/SignIn/ui/index.ts +1 -0
- package/src/pages/Registrator/SignUp/EmailInput.vue +74 -0
- package/src/pages/Registrator/SignUp/GenerateAccount.vue +82 -0
- package/src/pages/Registrator/SignUp/PayInitial.vue +70 -0
- package/src/pages/Registrator/SignUp/ReadStatement.vue +103 -0
- package/src/pages/Registrator/SignUp/SelectBranch.vue +50 -0
- package/src/pages/Registrator/SignUp/SetUserData.vue +64 -0
- package/src/pages/Registrator/SignUp/SignStatement.vue +189 -0
- package/src/pages/Registrator/SignUp/SignUp.vue +119 -0
- package/src/pages/Registrator/SignUp/WaitingRegistration.vue +69 -0
- package/src/pages/Registrator/SignUp/Welcome.vue +30 -0
- package/src/pages/Registrator/SignUp/index.ts +1 -0
- package/src/pages/Support/SupportPage.vue +38 -0
- package/src/pages/Support/index.ts +1 -0
- package/src/pages/Union/Connection/ConnectionPage.vue +107 -0
- package/src/pages/Union/Connection/index.ts +1 -0
- package/src/pages/Union/ListOfCooperatives/index.ts +1 -0
- package/src/pages/Union/ListOfCooperatives/ui/UnionPageListOfCooperatives.vue +8 -0
- package/src/pages/Union/ListOfCooperatives/ui/index.ts +1 -0
- package/src/pages/User/CardPage/index.ts +1 -0
- package/src/pages/User/CardPage/ui/CoopCardPage.vue +8 -0
- package/src/pages/User/CardPage/ui/index.ts +1 -0
- package/src/pages/User/IdentityPage/index.ts +1 -0
- package/src/pages/User/IdentityPage/ui/IdentityPage.vue +15 -0
- package/src/pages/User/IdentityPage/ui/index.ts +1 -0
- package/src/pages/User/PaymentMethodsPage/index.ts +1 -0
- package/src/pages/User/PaymentMethodsPage/ui/PaymentMethods.vue +15 -0
- package/src/pages/User/PaymentMethodsPage/ui/index.ts +1 -0
- package/src/pages/User/SettingsPage/index.ts +1 -0
- package/src/pages/User/SettingsPage/ui/UserSettingsPage.vue +5 -0
- package/src/pages/User/SettingsPage/ui/index.ts +1 -0
- package/src/pages/User/WalletPage/index.ts +1 -0
- package/src/pages/User/WalletPage/ui/WalletPage.vue +14 -0
- package/src/pages/User/WalletPage/ui/index.ts +1 -0
- package/src/pages/_layouts/blank.vue +24 -0
- package/src/pages/_layouts/default.vue +78 -0
- package/src/pages/_layouts/permissionDenied.vue +20 -0
- package/src/pages/blank/blank.vue +9 -0
- package/src/pages/index.vue +5 -0
- package/src/quasar.d.ts +9 -0
- package/src/shared/api/alerts.ts +27 -0
- package/src/shared/api/axios.ts +72 -0
- package/src/shared/api/client.ts +13 -0
- package/src/shared/api/crypto.ts +86 -0
- package/src/shared/api/eosio.ts +122 -0
- package/src/shared/api/errors.ts +40 -0
- package/src/shared/api/index.ts +5 -0
- package/src/shared/api/indexDB.ts +39 -0
- package/src/shared/api/sleep.ts +1 -0
- package/src/shared/api/utils.ts +9 -0
- package/src/shared/api/wif.ts +9 -0
- package/src/shared/config/ActionsList.ts +23 -0
- package/src/shared/config/ContractsList.ts +32 -0
- package/src/shared/config/LimitsList.ts +7 -0
- package/src/shared/config/SecondaryIndexesNumbersList.ts +15 -0
- package/src/shared/config/SecondaryIndexesTypesList.ts +7 -0
- package/src/shared/config/TablesList.ts +12 -0
- package/src/shared/config/index.ts +6 -0
- package/src/shared/lib/composables/useEditableData.ts +58 -0
- package/src/shared/lib/composables/useEditableTableRows.ts +89 -0
- package/src/shared/lib/consts/workspaces/index.ts +1 -0
- package/src/shared/lib/document/api/index.ts +12 -0
- package/src/shared/lib/document/index.ts +2 -0
- package/src/shared/lib/document/model/entity.ts +64 -0
- package/src/shared/lib/document/model/index.ts +2 -0
- package/src/shared/lib/document/model/types.ts +9 -0
- package/src/shared/lib/types/crypto/index.ts +5 -0
- package/src/shared/lib/types/document/index.ts +15 -0
- package/src/shared/lib/types/errors/base.ts +5 -0
- package/src/shared/lib/types/errors/index.ts +1 -0
- package/src/shared/lib/types/graphql/index.ts +14 -0
- package/src/shared/lib/types/payments/index.ts +23 -0
- package/src/shared/lib/types/user/IUserData.ts +28 -0
- package/src/shared/lib/types/user/index.ts +53 -0
- package/src/shared/lib/utils/dates/formatToFromNow.ts +6 -0
- package/src/shared/lib/utils/dates/formatToHumanDate.ts +6 -0
- package/src/shared/lib/utils/dates/moment.ts +6 -0
- package/src/shared/lib/utils/formatAssetToReadable.ts +10 -0
- package/src/shared/lib/utils/formatDateForEos.ts +6 -0
- package/src/shared/lib/utils/formatToAsset.ts +4 -0
- package/src/shared/lib/utils/generateUsername.ts +9 -0
- package/src/shared/lib/utils/getNameFromUserData.ts +9 -0
- package/src/shared/lib/utils/index.ts +6 -0
- package/src/shared/lib/utils/isDomainRule.ts +4 -0
- package/src/shared/lib/utils/notEmptyPhoneRule.ts +3 -0
- package/src/shared/lib/utils/notEmptyRule.ts +3 -0
- package/src/shared/lib/utils/validEmailRule.ts +6 -0
- package/src/shared/lib/utils/validatePersonalNameRule.ts +3 -0
- package/src/shared/locales/ru/base.yml +12 -0
- package/src/shared/locales/ru.ts +12 -0
- package/src/shared/store/index.ts +202 -0
- package/src/shared/ui/AutoAvatar/AutoAvatar.vue +37 -0
- package/src/shared/ui/AutoAvatar/index.ts +1 -0
- package/src/shared/ui/BaseDocument/BaseDocument.vue +202 -0
- package/src/shared/ui/BaseDocument/index.ts +1 -0
- package/src/shared/ui/BranchSelector/BranchSelector.vue +47 -0
- package/src/shared/ui/BranchSelector/index.ts +1 -0
- package/src/shared/ui/ComplexDocument/ComplexDocument.vue +25 -0
- package/src/shared/ui/ComplexDocument/index.ts +1 -0
- package/src/shared/ui/DocumentHtmlReader/DocumentHtmlReader.vue +57 -0
- package/src/shared/ui/DocumentHtmlReader/index.ts +1 -0
- package/src/shared/ui/EditableActions/EditableActions.vue +34 -0
- package/src/shared/ui/EditableActions/index.ts +1 -0
- package/src/shared/ui/Footer/Contacts.vue +24 -0
- package/src/shared/ui/Footer/index.ts +1 -0
- package/src/shared/ui/Form/Form.vue +33 -0
- package/src/shared/ui/Form/index.ts +1 -0
- package/src/shared/ui/ImageCarousel/ImageCarousel.vue +68 -0
- package/src/shared/ui/ImageCarousel/index.ts +1 -0
- package/src/shared/ui/Loader/Loader.vue +19 -0
- package/src/shared/ui/Loader/index.ts +1 -0
- package/src/shared/ui/Map/Map.vue +52 -0
- package/src/shared/ui/Map/index.ts +1 -0
- package/src/shared/ui/ModalBase/ModalBase.vue +26 -0
- package/src/shared/ui/ModalBase/index.ts +1 -0
- package/src/shared/ui/PayWithProvider/PayWithProvider.vue +19 -0
- package/src/shared/ui/PayWithProvider/index.ts +1 -0
- package/src/shared/ui/Providers/Bank/Bank.vue +105 -0
- package/src/shared/ui/Providers/Bank/index.ts +1 -0
- package/src/shared/ui/Providers/Yookassa/Yookassa.vue +57 -0
- package/src/shared/ui/Providers/Yookassa/index.ts +1 -0
- package/src/shared/ui/ToogleDarkLight/ToogleDarkLight.vue +34 -0
- package/src/shared/ui/ToogleDarkLight/index.ts +1 -0
- package/src/shared/ui/UserDataForm/EntrepreneurDataForm/EntrepreneurDataForm.vue +115 -0
- package/src/shared/ui/UserDataForm/EntrepreneurDataForm/index.ts +1 -0
- package/src/shared/ui/UserDataForm/IndividualDataForm/IndividualDataForm.vue +40 -0
- package/src/shared/ui/UserDataForm/IndividualDataForm/index.ts +1 -0
- package/src/shared/ui/UserDataForm/OrganizationDataForm/OrganizationDataForm.vue +129 -0
- package/src/shared/ui/UserDataForm/OrganizationDataForm/index.ts +1 -0
- package/src/shared/ui/UserDataForm/UserDataForm/UserDataForm.vue +47 -0
- package/src/shared/ui/UserDataForm/UserDataForm/index.ts +1 -0
- package/src/shared/ui/ZodForm/ZodForm.vue +169 -0
- package/src/shared/ui/ZodForm/index.ts +1 -0
- package/src/shims-vue.d.ts +10 -0
- package/src/stores/index.ts +34 -0
- package/src/stores/store-flag.d.ts +10 -0
- package/src/types/index.ts +3 -0
- package/src/widgets/Agreementer/RequireAgreements/ui/RequireAgreements.vue +71 -0
- package/src/widgets/Agreementer/RequireAgreements/ui/index.ts +1 -0
- package/src/widgets/BankDetailsCard/index.ts +1 -0
- package/src/widgets/BankDetailsCard/ui/BankDetailsCard.vue +107 -0
- package/src/widgets/BankDetailsCard/ui/index.ts +1 -0
- package/src/widgets/BranchCard/index.ts +1 -0
- package/src/widgets/BranchCard/ui/BranchCard.vue +100 -0
- package/src/widgets/BranchCard/ui/index.ts +1 -0
- package/src/widgets/Commutator/Commutator.vue +7 -0
- package/src/widgets/Commutator/index.ts +1 -0
- package/src/widgets/Cooperative/Agenda/ListOfQuestions/index.ts +1 -0
- package/src/widgets/Cooperative/Agenda/ListOfQuestions/ui/ListOfQuestions.vue +265 -0
- package/src/widgets/Cooperative/Agenda/ListOfQuestions/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Contacts/index.ts +1 -0
- package/src/widgets/Cooperative/Contacts/ui/ChangeContacts.vue +56 -0
- package/src/widgets/Cooperative/Contacts/ui/Contacts.vue +52 -0
- package/src/widgets/Cooperative/Contacts/ui/index.ts +2 -0
- package/src/widgets/Cooperative/Contributions/index.ts +1 -0
- package/src/widgets/Cooperative/Contributions/ui/ChangeContributions.vue +88 -0
- package/src/widgets/Cooperative/Contributions/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Description/ui/SetDescription.vue +4 -0
- package/src/widgets/Cooperative/Description/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Details/index.ts +1 -0
- package/src/widgets/Cooperative/Details/ui/Details.vue +32 -0
- package/src/widgets/Cooperative/Details/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Documents/ListOfDocuments/index.ts +1 -0
- package/src/widgets/Cooperative/Documents/ListOfDocuments/ui/ListOfDocumentsWidget.vue +156 -0
- package/src/widgets/Cooperative/Documents/ListOfDocuments/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Funds/index.ts +1 -0
- package/src/widgets/Cooperative/Funds/ui/AccumulationFunds.vue +121 -0
- package/src/widgets/Cooperative/Funds/ui/AddAccumulationFund.vue +79 -0
- package/src/widgets/Cooperative/Funds/ui/AddExpenseFund.vue +76 -0
- package/src/widgets/Cooperative/Funds/ui/ChangeFunds.vue +11 -0
- package/src/widgets/Cooperative/Funds/ui/ExpenseFunds.vue +113 -0
- package/src/widgets/Cooperative/Funds/ui/index.ts +3 -0
- package/src/widgets/Cooperative/Install/InstallWidgetBase/index.ts +1 -0
- package/src/widgets/Cooperative/Install/InstallWidgetBase/ui/InstallWidgetBase.vue +29 -0
- package/src/widgets/Cooperative/Install/InstallWidgetBase/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Members/index.ts +1 -0
- package/src/widgets/Cooperative/Members/ui/Members.vue +220 -0
- package/src/widgets/Cooperative/Members/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Orders/ListOfOrders/index.ts +1 -0
- package/src/widgets/Cooperative/Orders/ListOfOrders/ui/ListOfOrdersWidget.vue +209 -0
- package/src/widgets/Cooperative/Orders/ListOfOrders/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Participants/ExitCard/index.ts +1 -0
- package/src/widgets/Cooperative/Participants/ExitCard/ui/ExitCard.vue +15 -0
- package/src/widgets/Cooperative/Participants/ExitCard/ui/index.ts +1 -0
- package/src/widgets/Cooperative/Participants/ListOfParticipants/index.ts +1 -0
- package/src/widgets/Cooperative/Participants/ListOfParticipants/ui/ListOfParticipantsWidget.vue +103 -0
- package/src/widgets/Cooperative/Participants/ListOfParticipants/ui/index.ts +1 -0
- package/src/widgets/Desktop/LeftDrawerMenu/LeftDrawerMenu.vue +10 -0
- package/src/widgets/Desktop/LeftDrawerMenu/index.ts +1 -0
- package/src/widgets/Desktop/SecondLevelMenu/SecondLevelMenu.vue +57 -0
- package/src/widgets/Desktop/SecondLevelMenu/index.ts +1 -0
- package/src/widgets/Desktop/SecondLevelMenuList/SecondLevelMenuList.vue +86 -0
- package/src/widgets/Desktop/SecondLevelMenuList/index.ts +1 -0
- package/src/widgets/Desktop/WorkspaceMenu/WorkspaceMenu.vue +94 -0
- package/src/widgets/Desktop/WorkspaceMenu/index.ts +1 -0
- package/src/widgets/ExtStore/ExtensionCard/ExtensionCard.vue +38 -0
- package/src/widgets/ExtStore/ExtensionCard/index.ts +1 -0
- package/src/widgets/Header/CommonHeader/Header.vue +203 -0
- package/src/widgets/Header/CommonHeader/index.ts +1 -0
- package/src/widgets/Header/SettingsDropdown/SettingsDropdown.vue +86 -0
- package/src/widgets/Header/SettingsDropdown/index.ts +1 -0
- package/src/widgets/IndividualCard/index.ts +1 -0
- package/src/widgets/IndividualCard/ui/IndividualCard.vue +170 -0
- package/src/widgets/IndividualCard/ui/index.ts +1 -0
- package/src/widgets/OrganizationCard/index.ts +1 -0
- package/src/widgets/OrganizationCard/ui/OrganizationCard.vue +44 -0
- package/src/widgets/OrganizationCard/ui/index.ts +1 -0
- package/src/widgets/Registrator/AlreadyRegistered/AlreadyRegistered.vue +19 -0
- package/src/widgets/Registrator/AlreadyRegistered/index.ts +1 -0
- package/src/widgets/Registrator/LostKey/index.ts +1 -0
- package/src/widgets/Registrator/LostKey/ui/LostKey.vue +63 -0
- package/src/widgets/Registrator/LostKey/ui/index.ts +1 -0
- package/src/widgets/Registrator/ResetKey/index.ts +1 -0
- package/src/widgets/Registrator/ResetKey/ui/ResetKey.vue +89 -0
- package/src/widgets/Registrator/ResetKey/ui/index.ts +1 -0
- package/src/widgets/Registrator/SignIn/SignIn.vue +12 -0
- package/src/widgets/Registrator/SignIn/index.ts +1 -0
- package/src/widgets/Request/CreateChildOrderCard/CreateChildOrderCard.vue +57 -0
- package/src/widgets/Request/CreateChildOrderCard/index.ts +1 -0
- package/src/widgets/Request/RequestCard/RequestCard.vue +37 -0
- package/src/widgets/Request/RequestCard/index.ts +1 -0
- package/src/widgets/Request/SupplyOrderRequestCard/index.ts +2 -0
- package/src/widgets/Request/SupplyOrderRequestCard/model/index.ts +1 -0
- package/src/widgets/Request/SupplyOrderRequestCard/model/types.ts +10 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Base/Base.vue +93 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Base/index.ts +1 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/EightStep.vue +28 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/FifthStep.vue +34 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/FirstStep.vue +39 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/FourthStep.vue +37 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/SecondStep.vue +18 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/SeventhStep.vue +37 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/SixthStep.vue +37 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/ThirdStep.vue +51 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/Steps/index.ts +8 -0
- package/src/widgets/Request/SupplyOrderRequestCard/ui/index.ts +1 -0
- package/src/widgets/Union/ListOfCooperatives/index.ts +1 -0
- package/src/widgets/Union/ListOfCooperatives/ui/UnionListOfCooperatives.vue +136 -0
- package/src/widgets/Union/ListOfCooperatives/ui/index.ts +1 -0
- package/src/widgets/User/CoopCard/index.ts +1 -0
- package/src/widgets/User/CoopCard/ui/CoopCard.vue +111 -0
- package/src/widgets/User/CoopCard/ui/index.ts +1 -0
- package/src/widgets/User/LogoutCard/index.ts +1 -0
- package/src/widgets/User/LogoutCard/ui/LogoutCard.vue +31 -0
- package/src/widgets/User/LogoutCard/ui/index.ts +1 -0
- package/src/widgets/User/PaymentMethods/index.ts +1 -0
- package/src/widgets/User/PaymentMethods/ui/PaymentMethods.vue +116 -0
- package/src/widgets/User/PaymentMethods/ui/index.ts +1 -0
- package/src/widgets/User/PersonalCard/index.ts +1 -0
- package/src/widgets/User/PersonalCard/ui/PersonalCard.vue +109 -0
- package/src/widgets/User/PersonalCard/ui/UserQR.vue +5 -0
- package/src/widgets/User/PersonalCard/ui/index.ts +2 -0
- package/src/widgets/User/WalletCard/index.ts +1 -0
- package/src/widgets/User/WalletCard/ui/WalletCard.vue +26 -0
- package/src/widgets/User/WalletCard/ui/index.ts +1 -0
- package/src-ssr/middlewares/render.ts +59 -0
- package/src-ssr/server.ts +134 -0
- package/src-ssr/ssr-flag.d.ts +10 -0
- package/tsconfig.json +25 -0
- package/tsconfig.vue-tsc.json +9 -0
- package/vite.111config.js +37 -0
@@ -0,0 +1,202 @@
|
|
1
|
+
// store/global.ts
|
2
|
+
import { Action, PrivateKey } from '@wharfkit/antelope';
|
3
|
+
import { defineStore } from 'pinia';
|
4
|
+
import { ref, Ref } from 'vue';
|
5
|
+
import { decrypt, encrypt, hashSHA256 } from '../api/crypto';
|
6
|
+
import { COOPNAME } from '../config';
|
7
|
+
import { IMessageSignature } from '../lib/types/crypto';
|
8
|
+
import { useSessionStore } from 'src/entities/Session';
|
9
|
+
import { TransactResult } from '@wharfkit/session';
|
10
|
+
import { readBlockchain } from '../api';
|
11
|
+
import { ITokens } from '../lib/types/user';
|
12
|
+
import { getFromIndexedDB, setToIndexedDB } from '../api/indexDB';
|
13
|
+
import { client } from '../api/client';
|
14
|
+
|
15
|
+
interface IGlobalStore {
|
16
|
+
hasCreditials: Ref<boolean>;
|
17
|
+
username: Ref<string>;
|
18
|
+
tokens: Ref<ITokens | undefined>;
|
19
|
+
wif: Ref<PrivateKey | undefined>;
|
20
|
+
setWif: (newUsername: string, key: string) => Promise<void>;
|
21
|
+
setTokens: (newTokens: ITokens) => Promise<void>;
|
22
|
+
logout: () => Promise<void>;
|
23
|
+
init: () => void;
|
24
|
+
signDigest: (digest: string) => IMessageSignature;
|
25
|
+
hashMessage: (message: string | Uint8Array) => Promise<string>;
|
26
|
+
formActionFromAbi: (action: any) => any;
|
27
|
+
transact: (
|
28
|
+
actionOrActions: any | any[]
|
29
|
+
) => Promise<TransactResult | undefined>;
|
30
|
+
}
|
31
|
+
|
32
|
+
export const useGlobalStore = defineStore('global', (): IGlobalStore => {
|
33
|
+
const username = ref<string>('');
|
34
|
+
const wif = ref<PrivateKey | undefined>(undefined);
|
35
|
+
const hasCreditials = ref(false);
|
36
|
+
const tokens = ref<ITokens | undefined>(undefined);
|
37
|
+
|
38
|
+
const password = ''; // это временное намеренное решение. Позже заменим на пользовательский пин-код.
|
39
|
+
|
40
|
+
// Инициализация
|
41
|
+
const init = async () => {
|
42
|
+
|
43
|
+
try {
|
44
|
+
// Получите зашифрованный ключ и токены из хранилища
|
45
|
+
const encryptedKey = await getFromIndexedDB(
|
46
|
+
COOPNAME,
|
47
|
+
'store',
|
48
|
+
'encryptedKey'
|
49
|
+
);
|
50
|
+
const encryptedTokens = await getFromIndexedDB(
|
51
|
+
COOPNAME,
|
52
|
+
'store',
|
53
|
+
'encryptedTokens'
|
54
|
+
);
|
55
|
+
const encryptedUsername = await getFromIndexedDB(
|
56
|
+
COOPNAME,
|
57
|
+
'store',
|
58
|
+
'encryptedUsername'
|
59
|
+
);
|
60
|
+
|
61
|
+
// Если ключ или токены не найдены, выбросите ошибку
|
62
|
+
if (!encryptedKey || !encryptedTokens || !encryptedUsername) {
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
|
66
|
+
// Расшифруйте ключ и токены
|
67
|
+
const decryptedKey = await decrypt(encryptedKey, password);
|
68
|
+
const decryptedTokens = await decrypt(encryptedTokens, password);
|
69
|
+
const decryptedUsername = await decrypt(encryptedUsername, password);
|
70
|
+
|
71
|
+
// Установите расшифрованный ключ и токены
|
72
|
+
wif.value = PrivateKey.fromString(decryptedKey);
|
73
|
+
tokens.value = JSON.parse(decryptedTokens);
|
74
|
+
username.value = decryptedUsername;
|
75
|
+
|
76
|
+
// if (NODE_ENV === 'development')
|
77
|
+
// console.log('tokens: ', tokens)
|
78
|
+
|
79
|
+
// Установите hasCreditials в true
|
80
|
+
hasCreditials.value = true;
|
81
|
+
console.log('on init', tokens.value?.access.token)
|
82
|
+
if (tokens.value?.access.token){
|
83
|
+
console.log('on set tokens')
|
84
|
+
client.setToken(tokens.value.access.token)
|
85
|
+
}
|
86
|
+
|
87
|
+
|
88
|
+
} catch (error: any) {
|
89
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedKey', '');
|
90
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedUsername', '');
|
91
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedTokens', '');
|
92
|
+
throw new Error('Ошибка авторизации. Войдите повторно.');
|
93
|
+
}
|
94
|
+
};
|
95
|
+
|
96
|
+
const setWif = async (newUsername: string, key: string) => {
|
97
|
+
const encryptedKey = await encrypt(key, password);
|
98
|
+
const encryptedUsername = await encrypt(newUsername, password);
|
99
|
+
|
100
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedKey', encryptedKey);
|
101
|
+
await setToIndexedDB(
|
102
|
+
COOPNAME,
|
103
|
+
'store',
|
104
|
+
'encryptedUsername',
|
105
|
+
encryptedUsername
|
106
|
+
);
|
107
|
+
|
108
|
+
wif.value = PrivateKey.fromString(key);
|
109
|
+
username.value = newUsername;
|
110
|
+
};
|
111
|
+
|
112
|
+
const setTokens = async (newTokens: ITokens) => {
|
113
|
+
const encryptedTokens = await encrypt(JSON.stringify(newTokens), password);
|
114
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedTokens', encryptedTokens);
|
115
|
+
tokens.value = newTokens;
|
116
|
+
};
|
117
|
+
|
118
|
+
const logout = async () => {
|
119
|
+
username.value = '';
|
120
|
+
wif.value = undefined;
|
121
|
+
hasCreditials.value = false;
|
122
|
+
tokens.value = undefined;
|
123
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedKey', '');
|
124
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedUsername', '');
|
125
|
+
await setToIndexedDB(COOPNAME, 'store', 'encryptedTokens', '');
|
126
|
+
};
|
127
|
+
|
128
|
+
const signDigest = (digest: string): IMessageSignature => {
|
129
|
+
if (!wif.value) throw new Error('ключ не найден');
|
130
|
+
|
131
|
+
const signed = wif.value.signDigest(digest);
|
132
|
+
const verified = signed.verifyDigest(digest, wif.value.toPublic());
|
133
|
+
|
134
|
+
if (!verified) throw new Error('Подпись не верифицирована');
|
135
|
+
|
136
|
+
const result: IMessageSignature = {
|
137
|
+
message: digest,
|
138
|
+
signature: signed.toString(),
|
139
|
+
public_key: wif.value.toPublic().toString(),
|
140
|
+
};
|
141
|
+
return result;
|
142
|
+
};
|
143
|
+
|
144
|
+
const hashMessage = (message: string | Uint8Array) => {
|
145
|
+
return hashSHA256(message);
|
146
|
+
};
|
147
|
+
|
148
|
+
async function transact(
|
149
|
+
actionOrActions: any | any[],
|
150
|
+
broadcast = true
|
151
|
+
): Promise<TransactResult | undefined> {
|
152
|
+
if (Array.isArray(actionOrActions)) {
|
153
|
+
return await sendActions(actionOrActions, broadcast);
|
154
|
+
} else {
|
155
|
+
return await sendAction(actionOrActions, broadcast);
|
156
|
+
}
|
157
|
+
}
|
158
|
+
const formActionFromAbi = async (action: any) => {
|
159
|
+
const { abi } = (await readBlockchain?.v1.chain.get_abi(action.account)) ?? {
|
160
|
+
abi: undefined,
|
161
|
+
};
|
162
|
+
return Action.from(action, abi);
|
163
|
+
};
|
164
|
+
|
165
|
+
const sendAction = async (action: any, broadcast: boolean) => {
|
166
|
+
const session = useSessionStore();
|
167
|
+
const formedAction = await formActionFromAbi(action);
|
168
|
+
|
169
|
+
return session.session?.transact({
|
170
|
+
action: formedAction,
|
171
|
+
}, { broadcast });
|
172
|
+
};
|
173
|
+
|
174
|
+
const sendActions = async (actions: any[], broadcast: boolean) => {
|
175
|
+
const session = useSessionStore();
|
176
|
+
const data: Action[] = [];
|
177
|
+
|
178
|
+
for (const action of actions) {
|
179
|
+
const formedAction = await formActionFromAbi(action);
|
180
|
+
data.push(formedAction);
|
181
|
+
}
|
182
|
+
|
183
|
+
return session.session?.transact({
|
184
|
+
actions: data,
|
185
|
+
}, { broadcast });
|
186
|
+
};
|
187
|
+
|
188
|
+
return {
|
189
|
+
init,
|
190
|
+
username,
|
191
|
+
wif,
|
192
|
+
hasCreditials,
|
193
|
+
tokens,
|
194
|
+
setWif,
|
195
|
+
setTokens,
|
196
|
+
logout,
|
197
|
+
signDigest,
|
198
|
+
hashMessage,
|
199
|
+
transact,
|
200
|
+
formActionFromAbi
|
201
|
+
};
|
202
|
+
});
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<template lang="pug">
|
2
|
+
div
|
3
|
+
q-img(:src="ava").bg-grey.rounded-borders
|
4
|
+
</template>
|
5
|
+
|
6
|
+
<script setup lang="ts">
|
7
|
+
import { computed, onMounted, ref } from 'vue'
|
8
|
+
import { createAvatar } from '@dicebear/core'
|
9
|
+
import { rings } from '@dicebear/collection'
|
10
|
+
|
11
|
+
const ava = ref('')
|
12
|
+
|
13
|
+
const props = defineProps({
|
14
|
+
username: {
|
15
|
+
type: String,
|
16
|
+
required: true,
|
17
|
+
},
|
18
|
+
})
|
19
|
+
|
20
|
+
const username = computed(() => props.username)
|
21
|
+
|
22
|
+
onMounted(async () => {
|
23
|
+
if (username.value) {
|
24
|
+
const avatar = createAvatar(rings, {
|
25
|
+
seed: username.value,
|
26
|
+
ringColor: ['4db6ac'],
|
27
|
+
})
|
28
|
+
const blob = new Blob([avatar.toString()], { type: 'image/svg+xml' })
|
29
|
+
const url = URL.createObjectURL(blob)
|
30
|
+
|
31
|
+
ava.value = url
|
32
|
+
|
33
|
+
}
|
34
|
+
|
35
|
+
})
|
36
|
+
|
37
|
+
</script>
|
@@ -0,0 +1 @@
|
|
1
|
+
export {default as AutoAvatar} from './AutoAvatar.vue'
|
@@ -0,0 +1,202 @@
|
|
1
|
+
<template lang="pug">
|
2
|
+
q-card(style="word-break: break-all !important; white-space: normal !important;").q-pa-md.dynamic-padding
|
3
|
+
div(v-if="loading").full-width.text-center
|
4
|
+
div(style="margin:auto;").flex.q-pa-sm.full-width.text-center
|
5
|
+
q-spinner
|
6
|
+
span.q-ml-sm.text-grey подговка {{doc.meta.title}}
|
7
|
+
div(v-if="!loading")
|
8
|
+
div(v-html="safeHtml").description.q-pa-xs
|
9
|
+
div.row.q-mt-lg.q-pa-sm.justify-center
|
10
|
+
q-card(style="word-break: break-all !important; text-wrap: pretty;" flat).col-md-8.col-xs-12.q-pa-sm.verify-card
|
11
|
+
div.q-mr-lg.q-mt-md
|
12
|
+
q-badge(:color="doc.hash == regeneratedHash ? 'teal' : 'red'").text-center.q-pa-xs
|
13
|
+
q-icon(:name="doc.hash == regeneratedHash ? 'check_circle' : 'cancel'" ).q-mr-sm
|
14
|
+
span контрольная сумма
|
15
|
+
p.q-mr-lg.q-ml-lg.text-grey {{ doc.hash }}
|
16
|
+
|
17
|
+
div.q-mr-lg.q-mt-md
|
18
|
+
q-badge(:color="signature_verified ? 'teal' : 'red'").text-center.q-pa-xs
|
19
|
+
q-icon(:name="signature_verified ? 'check_circle' : 'cancel'" ).q-mr-sm
|
20
|
+
span цифровая подпись
|
21
|
+
p.q-mr-lg.q-ml-lg.text-grey {{ actionDocumentData?.document?.signature }}
|
22
|
+
|
23
|
+
div.q-mr-lg.q-mt-md
|
24
|
+
q-badge(:color="signature_verified ? 'teal' : 'red'").text-center.q-pa-xs
|
25
|
+
q-icon(:name="signature_verified ? 'check_circle' : 'cancel'" ).q-mr-sm
|
26
|
+
span публичный ключ
|
27
|
+
p.q-mr-lg.q-ml-lg.text-grey {{ actionDocumentData?.document?.public_key }}
|
28
|
+
|
29
|
+
div.text-center.q-gutter-sm
|
30
|
+
q-btn(size="sm" color="primary" icon="download" @click="download") скачать
|
31
|
+
//- q-btn(size="sm" color="primary" icon="download" @click="download2") скачать2
|
32
|
+
|
33
|
+
q-btn(size="sm" color="primary" icon="fa-solid fa-check-double" @click="regenerate" :loading="onRegenerate") сверить
|
34
|
+
|
35
|
+
</template>
|
36
|
+
|
37
|
+
<script setup lang="ts">
|
38
|
+
import { ref, computed } from 'vue'
|
39
|
+
import { Cooperative, SovietContract } from 'cooptypes'
|
40
|
+
import { Signature, PublicKey } from '@wharfkit/antelope';
|
41
|
+
import { useGlobalStore } from 'src/shared/store';
|
42
|
+
import DOMPurify from 'dompurify';
|
43
|
+
import { DigitalDocument } from 'src/shared/lib/document';
|
44
|
+
import { FailAlert, SuccessAlert } from 'src/shared/api';
|
45
|
+
|
46
|
+
const props = defineProps({
|
47
|
+
action: {
|
48
|
+
type: Object as () => Cooperative.Blockchain.IExtendedAction,
|
49
|
+
required: true,
|
50
|
+
},
|
51
|
+
doc: {
|
52
|
+
type: Object as () => Cooperative.Document.IGeneratedDocument,
|
53
|
+
required: true
|
54
|
+
}
|
55
|
+
})
|
56
|
+
|
57
|
+
const actionDocumentData = ref(props.action.data as SovietContract.Actions.Registry.NewSubmitted.INewSubmitted)
|
58
|
+
const doc = ref(props.doc)
|
59
|
+
const loading = ref(false)
|
60
|
+
const signature_verified = ref(false)
|
61
|
+
|
62
|
+
const regeneratedHash = ref()
|
63
|
+
const onRegenerate = ref(false)
|
64
|
+
const regenerated = ref()
|
65
|
+
|
66
|
+
const regenerate = async() => {
|
67
|
+
try {
|
68
|
+
onRegenerate.value = true
|
69
|
+
|
70
|
+
regenerated.value = await new DigitalDocument().generate({...doc.value.meta}, {skip_save: true})
|
71
|
+
|
72
|
+
if (regenerated.value.hash == regeneratedHash.value)
|
73
|
+
SuccessAlert('Сверка прошла успешно: аналогичный документ восстановлен из исходных данных')
|
74
|
+
else
|
75
|
+
FailAlert('Сверка прошла безуспешно: аналогичный документ невозможно получить из исходных данных')
|
76
|
+
|
77
|
+
onRegenerate.value = false
|
78
|
+
} catch(e){
|
79
|
+
onRegenerate.value = false
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
// Функция для декодирования и очистки HTML
|
84
|
+
function sanitizeHtml(html: string) {
|
85
|
+
return DOMPurify.sanitize(html);
|
86
|
+
}
|
87
|
+
|
88
|
+
const safeHtml = computed(() => sanitizeHtml(doc.value.html));
|
89
|
+
|
90
|
+
|
91
|
+
const hashBuffer = async () => {
|
92
|
+
// Декодирование из base64
|
93
|
+
const binaryString = window.atob(doc.value.binary.toString());
|
94
|
+
|
95
|
+
const len = binaryString.length;
|
96
|
+
|
97
|
+
const data = new Uint8Array(len);
|
98
|
+
for (let i = 0; i < len; i++) {
|
99
|
+
data[i] = binaryString.charCodeAt(i);
|
100
|
+
}
|
101
|
+
|
102
|
+
// Вычисление хэша из декодированных бинарных данных
|
103
|
+
regeneratedHash.value = (await useGlobalStore().hashMessage(data)).toUpperCase();
|
104
|
+
}
|
105
|
+
|
106
|
+
hashBuffer()
|
107
|
+
|
108
|
+
|
109
|
+
const verifySignature = () => {
|
110
|
+
const public_key = PublicKey.from(actionDocumentData.value.document.public_key)
|
111
|
+
const signature = Signature.from(actionDocumentData.value.document.signature)
|
112
|
+
const hash = actionDocumentData.value.document.hash
|
113
|
+
signature_verified.value = signature.verifyDigest(hash, public_key)
|
114
|
+
}
|
115
|
+
|
116
|
+
verifySignature()
|
117
|
+
|
118
|
+
// TODO удалить позже
|
119
|
+
// использовали для отладки сверки. Позволяет скачать регенерированный документ после нажатия на кнопку сверки.
|
120
|
+
// async function download2() {
|
121
|
+
// // Преобразование base64 строки в Blob
|
122
|
+
// console.log('regenerated: ', regenerated)
|
123
|
+
// const binaryData = new Uint8Array(Object.values(regenerated.value.binary));
|
124
|
+
// const blob = new Blob([binaryData], { type: 'application/pdf' });
|
125
|
+
|
126
|
+
// // Создание временной ссылки для скачивания файла
|
127
|
+
// const link = document.createElement('a');
|
128
|
+
// link.href = URL.createObjectURL(blob);
|
129
|
+
// link.download = regenerated.value.full_title ? regenerated.value.full_title : `${regenerated.value.meta.title} - ${regenerated.value.meta.username} - ${regenerated.value.meta.created_at}.pdf`;
|
130
|
+
|
131
|
+
// // Имитация клика по ссылке для начала скачивания
|
132
|
+
// document.body.appendChild(link);
|
133
|
+
// link.click();
|
134
|
+
|
135
|
+
// // Очистка после скачивания
|
136
|
+
// document.body.removeChild(link);
|
137
|
+
// URL.revokeObjectURL(link.href);
|
138
|
+
// }
|
139
|
+
|
140
|
+
|
141
|
+
async function download() {
|
142
|
+
// Преобразование base64 строки в Blob
|
143
|
+
const response = await fetch(`data:application/pdf;base64,${doc.value.binary.toString()}`);
|
144
|
+
const blob = await response.blob();
|
145
|
+
|
146
|
+
// Создание временной ссылки для скачивания файла
|
147
|
+
const link = document.createElement('a');
|
148
|
+
link.href = URL.createObjectURL(blob);
|
149
|
+
link.download = doc.value.full_title ? doc.value.full_title : `${doc.value.meta.title} - ${doc.value.meta.username} - ${doc.value.meta.created_at}.pdf`;
|
150
|
+
|
151
|
+
// Имитация клика по ссылке для начала скачивания
|
152
|
+
document.body.appendChild(link);
|
153
|
+
link.click();
|
154
|
+
|
155
|
+
// Очистка после скачивания
|
156
|
+
document.body.removeChild(link);
|
157
|
+
URL.revokeObjectURL(link.href);
|
158
|
+
}
|
159
|
+
|
160
|
+
</script>
|
161
|
+
<style>
|
162
|
+
.description table {
|
163
|
+
width: 100%;
|
164
|
+
/* или другая фиксированная ширина */
|
165
|
+
table-layout: fixed;
|
166
|
+
}
|
167
|
+
|
168
|
+
.description td {
|
169
|
+
word-break: break-all !important;
|
170
|
+
word-wrap: break-word !important;
|
171
|
+
white-space: normal !important;
|
172
|
+
}
|
173
|
+
|
174
|
+
.digital-document .header {
|
175
|
+
text-align: center;
|
176
|
+
word-break: break-word !important;
|
177
|
+
}
|
178
|
+
|
179
|
+
.description {
|
180
|
+
font-size: 14px;
|
181
|
+
white-space: pre-wrap;
|
182
|
+
}
|
183
|
+
|
184
|
+
.description p {
|
185
|
+
margin: 0 !important;
|
186
|
+
}
|
187
|
+
|
188
|
+
.verify-card {
|
189
|
+
font-size: 10px !important;
|
190
|
+
}
|
191
|
+
|
192
|
+
@media (min-width: 700px) {
|
193
|
+
.dynamic-padding {
|
194
|
+
padding: 50px !important;
|
195
|
+
}
|
196
|
+
}
|
197
|
+
@media (max-width: 700px) {
|
198
|
+
.dynamic-padding {
|
199
|
+
padding: 20px !important;
|
200
|
+
}
|
201
|
+
}
|
202
|
+
</style>
|
@@ -0,0 +1 @@
|
|
1
|
+
export {default as BaseDocument} from './BaseDocument.vue'
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<template lang="pug">
|
2
|
+
div
|
3
|
+
q-select(
|
4
|
+
label="Кооперативный участок"
|
5
|
+
v-model="selectedBranch"
|
6
|
+
:options="branches"
|
7
|
+
option-value="braname"
|
8
|
+
option-label="full_name"
|
9
|
+
emit-value
|
10
|
+
standout="bg-teal text-white"
|
11
|
+
map-options
|
12
|
+
@update:model-value="$emit('update:selectedBranch', $event)"
|
13
|
+
)
|
14
|
+
template(v-slot:option="scope")
|
15
|
+
q-item(v-bind="scope.itemProps")
|
16
|
+
q-item-section
|
17
|
+
q-item-label(style="font-weight: bold;") {{ scope.opt.full_name }}
|
18
|
+
q-item-label(caption) {{ scope.opt.full_address }}
|
19
|
+
|
20
|
+
template(v-slot:selected-item="scope")
|
21
|
+
q-avatar(text-color="black" icon="home" size="md")
|
22
|
+
q-item-section.q-mt-sm
|
23
|
+
q-item-label(style="font-weight: bold;") {{ scope.opt.full_name }}
|
24
|
+
q-item-label() {{ scope.opt.full_address }}
|
25
|
+
</template>
|
26
|
+
|
27
|
+
<script lang="ts" setup>
|
28
|
+
import { type IPublicBranch } from 'src/entities/Branch/model';
|
29
|
+
import { ref, defineProps, watch } from 'vue'
|
30
|
+
|
31
|
+
const props = defineProps({
|
32
|
+
branches: {
|
33
|
+
type: Object as () => IPublicBranch[],
|
34
|
+
required: true,
|
35
|
+
},
|
36
|
+
modelValue: {
|
37
|
+
type: String,
|
38
|
+
required: false,
|
39
|
+
},
|
40
|
+
})
|
41
|
+
|
42
|
+
const selectedBranch = ref(props.modelValue)
|
43
|
+
|
44
|
+
watch(() => props.modelValue, (newVal) => {
|
45
|
+
selectedBranch.value = newVal
|
46
|
+
})
|
47
|
+
</script>
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as BranchSelector } from './BranchSelector.vue'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<template lang="pug">
|
2
|
+
.row.justify-center
|
3
|
+
div.documents-gap.col-md-8.col-xs-12
|
4
|
+
BaseDocument(:doc="complexDocument.statement.document" :action="complexDocument.statement.action")
|
5
|
+
BaseDocument(v-if="complexDocument.decision && complexDocument.decision.document" :doc="complexDocument.decision.document" :action="complexDocument.decision.action")
|
6
|
+
|
7
|
+
BaseDocument(v-for="doc in complexDocument.links" v-bind:key="doc.hash" :doc="doc" :action="complexDocument.statement.action")
|
8
|
+
|
9
|
+
</template>
|
10
|
+
|
11
|
+
<script setup lang="ts">
|
12
|
+
import { computed } from 'vue'
|
13
|
+
import { BaseDocument } from '../BaseDocument';
|
14
|
+
import { Cooperative } from 'cooptypes'
|
15
|
+
|
16
|
+
const props = defineProps({
|
17
|
+
documents: {
|
18
|
+
type: Object as () => Cooperative.Document.IComplexDocument,
|
19
|
+
required: true
|
20
|
+
},
|
21
|
+
})
|
22
|
+
|
23
|
+
const complexDocument = computed(() => props.documents)
|
24
|
+
|
25
|
+
</script>
|
@@ -0,0 +1 @@
|
|
1
|
+
export {default as ComplexDocument} from './ComplexDocument.vue'
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<template lang="pug">
|
2
|
+
div(v-html="safeHtml").statement
|
3
|
+
</template>
|
4
|
+
|
5
|
+
<script setup lang="ts">
|
6
|
+
import { computed } from 'vue';
|
7
|
+
import DOMPurify from 'dompurify';
|
8
|
+
|
9
|
+
const props = defineProps({
|
10
|
+
html: {
|
11
|
+
type: String,
|
12
|
+
required: true
|
13
|
+
}
|
14
|
+
})
|
15
|
+
|
16
|
+
// Функция для декодирования и очистки HTML
|
17
|
+
function sanitizeHtml(html: string) {
|
18
|
+
return DOMPurify.sanitize(html);
|
19
|
+
}
|
20
|
+
|
21
|
+
const safeHtml = computed(() => sanitizeHtml(props.html));
|
22
|
+
|
23
|
+
</script>
|
24
|
+
|
25
|
+
<style>
|
26
|
+
.digital-document {
|
27
|
+
padding: 0px !important;
|
28
|
+
}
|
29
|
+
|
30
|
+
.statement h1 {
|
31
|
+
font-weight: 700 !important;
|
32
|
+
line-height: 4.5rem !important;
|
33
|
+
font-size: 3rem !important;
|
34
|
+
}
|
35
|
+
|
36
|
+
@media (max-width: 600px) {
|
37
|
+
.statement h1 {
|
38
|
+
font-size: 1.5rem !important;
|
39
|
+
line-height: 2rem !important;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
.statement h3 {
|
44
|
+
font-size: 2rem !important;
|
45
|
+
font-weight: 400 !important;
|
46
|
+
line-height: 2rem !important;
|
47
|
+
letter-spacing: normal !important;
|
48
|
+
}
|
49
|
+
|
50
|
+
@media (max-width: 600px) {
|
51
|
+
.statement h3 {
|
52
|
+
font-size: 1rem !important;
|
53
|
+
line-height: 1.5rem !important;
|
54
|
+
/* Добавить или изменить другие стили по мере необходимости */
|
55
|
+
}
|
56
|
+
}
|
57
|
+
</style>
|
@@ -0,0 +1 @@
|
|
1
|
+
export {default as DocumentHtmlReader} from './DocumentHtmlReader.vue'
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<template lang="pug">
|
2
|
+
div.q-gutter-sm
|
3
|
+
q-btn(
|
4
|
+
:disabled="isDisabled"
|
5
|
+
size="sm"
|
6
|
+
v-if="isEditing"
|
7
|
+
@click="$emit('save')"
|
8
|
+
color="primary"
|
9
|
+
label="Сохранить"
|
10
|
+
)
|
11
|
+
q-btn(
|
12
|
+
size="sm"
|
13
|
+
flat
|
14
|
+
v-if="isEditing"
|
15
|
+
@click="$emit('cancel')"
|
16
|
+
color="negative"
|
17
|
+
label="Отменить"
|
18
|
+
)
|
19
|
+
</template>
|
20
|
+
|
21
|
+
<script lang="ts" setup>
|
22
|
+
defineProps({
|
23
|
+
isEditing: {
|
24
|
+
type: Boolean,
|
25
|
+
required: true
|
26
|
+
},
|
27
|
+
isDisabled: {
|
28
|
+
type: Boolean,
|
29
|
+
required: false,
|
30
|
+
}
|
31
|
+
});
|
32
|
+
|
33
|
+
defineEmits(['save', 'cancel']);
|
34
|
+
</script>
|
@@ -0,0 +1 @@
|
|
1
|
+
export {default as EditableActions} from './EditableActions.vue'
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<template lang='pug'>
|
2
|
+
div.contact-footer.q-pa-xs.text-grey-7.text-center {{ text }}
|
3
|
+
</template>
|
4
|
+
|
5
|
+
<script setup lang='ts'>
|
6
|
+
import { computed } from 'vue';
|
7
|
+
|
8
|
+
const props = defineProps({
|
9
|
+
text: {
|
10
|
+
type: String,
|
11
|
+
required: false,
|
12
|
+
default: ''
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
const text = computed(() => props.text)
|
17
|
+
|
18
|
+
</script>
|
19
|
+
|
20
|
+
<style>
|
21
|
+
.contact-footer {
|
22
|
+
font-size: 12px !important;
|
23
|
+
}
|
24
|
+
</style>
|
@@ -0,0 +1 @@
|
|
1
|
+
export {default as ContactsFooter} from './Contacts.vue'
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
const emit = defineEmits(['cancel'])
|
3
|
+
interface IFormProps {
|
4
|
+
handlerSubmit: (e?: Event) => Promise<void>
|
5
|
+
isSubmitting?: boolean
|
6
|
+
showSubmit?: boolean
|
7
|
+
showCancel?: boolean
|
8
|
+
buttonSubmitTxt?: string
|
9
|
+
buttonCancelTxt?: string
|
10
|
+
}
|
11
|
+
|
12
|
+
withDefaults(defineProps<IFormProps>(), {
|
13
|
+
isSubmitting: false,
|
14
|
+
showCancel: true,
|
15
|
+
showSubmit: true,
|
16
|
+
buttonSubmitTxt: 'Продолжить',
|
17
|
+
buttonCancelTxt: 'Отменить',
|
18
|
+
})
|
19
|
+
|
20
|
+
const cancel = (): void => {
|
21
|
+
emit('cancel')
|
22
|
+
}
|
23
|
+
</script>
|
24
|
+
|
25
|
+
<template lang="pug">
|
26
|
+
q-form(@submit.prevent="handlerSubmit")
|
27
|
+
template(#default)
|
28
|
+
slot
|
29
|
+
div.flex
|
30
|
+
q-btn(v-if="showCancel" flat @click="cancel" size="sm") {{ buttonCancelTxt }}
|
31
|
+
q-btn(v-if="showSubmit" size="sm" type="submit" :loading="isSubmitting" color="primary") {{ buttonSubmitTxt }}
|
32
|
+
|
33
|
+
</template>
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as Form } from './Form.vue'
|