@ozdao/prometheus-framework 0.1.35 → 0.1.37
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/BackofficeGallery-568b55bb.js +1 -0
- package/dist/BackofficeGallery-b4105137.mjs +306 -0
- package/dist/BlockTags-8cddaef7.js +1 -0
- package/dist/BlockTags-ee310572.mjs +853 -0
- package/dist/Breadcrumbs.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
- package/dist/Breadcrumbs.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
- package/dist/Button-7643c9aa.js +1 -0
- package/dist/Button-9e1a9284.mjs +226 -0
- package/dist/ButtonToggleMembership-15f149cb.js +1 -0
- package/dist/ButtonToggleMembership-3bb9139e.mjs +90 -0
- package/dist/CardBlogpost-38016b80.mjs +246 -0
- package/dist/CardBlogpost-cc208f93.js +1 -0
- package/dist/CardOrganization-d93c9bdb.js +1 -0
- package/dist/CardOrganization-e920be73.mjs +234 -0
- package/dist/CardProduct-92affca1.js +1 -0
- package/dist/CardProduct-fca53299.mjs +193 -0
- package/dist/Checkbox-5dbe7b23.mjs +62 -0
- package/dist/Checkbox-76f09248.js +1 -0
- package/dist/Chips-9d81b215.mjs +214 -0
- package/dist/Chips-d47704e6.js +1 -0
- package/dist/Community-87522a04.mjs +132 -0
- package/dist/Community-aef23aee.js +1 -0
- package/dist/Dashboard-91d73bc5.js +1 -0
- package/dist/Dashboard-ea9035bc.mjs +152 -0
- package/dist/Dropdown-31115457.js +1 -0
- package/dist/Dropdown-cab3605b.mjs +146 -0
- package/dist/EULA-aba6a807.js +1 -0
- package/dist/EditOrder-94bbebff.mjs +221 -0
- package/dist/EditOrder-c070d474.js +1 -0
- package/dist/EmptyState-d65bab5b.js +1 -0
- package/dist/EmptyState-e404b05d.mjs +36 -0
- package/dist/Events-cdfbca78.js +1 -0
- package/dist/Events-e9dd58f7.mjs +123 -0
- package/dist/Feed-22464fcd.js +1 -0
- package/dist/Feed-6e96d3dd.mjs +124 -0
- package/dist/Feed-793b3eef.mjs +146 -0
- package/dist/Feed-7b80704d.mjs +361 -0
- package/dist/Feed-98b47c6f.js +1 -0
- package/dist/Feed-b30ef609.js +1 -0
- package/dist/Feed-c5d4390a.js +1 -0
- package/dist/Feed-d114330c.mjs +112 -0
- package/dist/Field-e2a43424.js +1 -0
- package/dist/Field-e5ad88d3.mjs +75 -0
- package/dist/Field.vue_vue_type_style_index_0_scoped_f4a29b0d_lang-0ea8fbf8.js +1 -0
- package/dist/Field.vue_vue_type_style_index_0_scoped_f4a29b0d_lang-4ed993c7.mjs +1 -0
- package/dist/IconChevronRight-a55f838e.js +1 -0
- package/dist/IconChevronRight-fae9d012.mjs +28 -0
- package/dist/IconCommunity-468dc457.mjs +65 -0
- package/dist/IconCommunity-b339e806.js +1 -0
- package/dist/IconCross-5bf93179.js +1 -0
- package/dist/IconCross-84cb1292.mjs +28 -0
- package/dist/IconEdit-9edfd74d.mjs +21 -0
- package/dist/IconEdit-c0469b45.js +1 -0
- package/dist/Image-245c003d.mjs +480 -0
- package/dist/Image-35d31936.js +9 -0
- package/dist/LabelGooglePlay-24feb437.mjs +31 -0
- package/dist/LabelGooglePlay-f80e5ff0.js +1 -0
- package/dist/LeftoverAdd-08d9fb54.mjs +228 -0
- package/dist/LeftoverAdd-fc673884.js +1 -0
- package/dist/Leftovers-296c0042.js +1 -0
- package/dist/Leftovers-685d9f19.mjs +136 -0
- package/dist/Loader-21f016da.js +1 -0
- package/dist/Loader-cd422786.mjs +41 -0
- package/dist/Loader.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
- package/dist/Loader.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
- package/dist/Members-2cb2ff58.mjs +114 -0
- package/dist/Members-85534d1f.js +1 -0
- package/dist/Menu-b5d6a0c7.js +1 -0
- package/dist/Menu-dd7645c1.mjs +13 -0
- package/dist/MenuItem-56ae7f94.js +1 -0
- package/dist/MenuItem-6296d02f.mjs +63 -0
- package/dist/Orders-b64e8cb9.js +1 -0
- package/dist/Orders-ff30db05.mjs +75 -0
- package/dist/Organizations-0cb37d68.js +1 -0
- package/dist/Organizations-d6ef2113.mjs +73 -0
- package/dist/Payments-53e5fecf.js +1 -0
- package/dist/Payments-82e545e1.mjs +87 -0
- package/dist/PlaceholderUserpic-47f6f319.js +1 -0
- package/dist/Popup-0915427c.mjs +74 -0
- package/dist/Popup-795f5c88.js +1 -0
- package/dist/Popup.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
- package/dist/Popup.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
- package/dist/Product-5994a8c9.mjs +653 -0
- package/dist/Product-68fa1e9e.js +7 -0
- package/dist/ProductEdit-64207814.mjs +296 -0
- package/dist/ProductEdit-a434240f.js +1 -0
- package/dist/ProductsBackoffice-0c93f9b6.js +1 -0
- package/dist/ProductsBackoffice-3d987c60.mjs +86 -0
- package/dist/ProfileBlogposts-0b81d964.js +1 -0
- package/dist/ProfileBlogposts-b59992cf.mjs +79 -0
- package/dist/ProfileEvents-3f7ca2c1.js +1 -0
- package/dist/ProfileEvents-bbdd62e7.mjs +70 -0
- package/dist/ProfileOrganizations-4734c02e.mjs +73 -0
- package/dist/ProfileOrganizations-d55ee487.js +1 -0
- package/dist/Publics-0762210a.js +1 -0
- package/dist/Publics-660e851c.mjs +45 -0
- package/dist/SelectMulti-58704d69.mjs +1038 -0
- package/dist/SelectMulti-c25765cf.js +1 -0
- package/dist/SkeletonBlogpost-95db0fa9.js +1 -0
- package/dist/SkeletonBlogpost-e0621af7.mjs +16 -0
- package/dist/SkeletonEvent-8690422d.mjs +16 -0
- package/dist/SkeletonEvent-eb284de8.js +1 -0
- package/dist/SkeletonEventShort-6c9e3940.js +1 -0
- package/dist/SkeletonEventShort-f030e56f.mjs +16 -0
- package/dist/SkeletonOrganization-5c09cfc5.js +1 -0
- package/dist/SkeletonOrganization-8690422d.mjs +16 -0
- package/dist/Socials-31c06635.mjs +74 -0
- package/dist/Socials-cceaeaf2.js +1 -0
- package/dist/Tab-054b61f7.mjs +46 -0
- package/dist/Tab-2c1e4224.js +1 -0
- package/dist/Tab.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
- package/dist/Tab.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
- package/dist/addMembersQuantity-7147aa4a.js +89 -0
- package/dist/addMembersQuantity-eac999f0.mjs +90 -0
- package/dist/auth-06d35b82.js +7 -0
- package/dist/auth-ec618cb3.mjs +627 -0
- package/dist/auth.client.cjs +7 -7
- package/dist/auth.client.js +22 -19
- package/dist/auth.server.js +7 -7
- package/dist/auth.server.mjs +7 -7
- package/dist/auth.validation-0ce9e326.js +1 -0
- package/dist/auth.validation-ba3606bf.mjs +24 -0
- package/dist/backoffice.client.cjs +1 -1
- package/dist/backoffice.client.js +235 -59
- package/dist/categories-82b28618.js +1 -0
- package/dist/categories-df3240a7.mjs +122 -0
- package/dist/community.client.cjs +1 -1
- package/dist/community.client.js +233 -227
- package/dist/community.server.js +223 -195
- package/dist/community.server.mjs +223 -195
- package/dist/components/Field/Field.vue.d.ts +58 -2
- package/dist/components/Field/Field.vue.d.ts.map +1 -1
- package/dist/components/UploadImage/UploadImage.vue.d.ts +1 -1
- package/dist/dribbble-8e8e169b.js +1 -0
- package/dist/dribbble-ae37c2ac.mjs +127 -0
- package/dist/events.client.cjs +2 -2
- package/dist/events.client.js +1793 -1888
- package/dist/events.server.js +106 -216
- package/dist/events.server.mjs +106 -216
- package/dist/globals.server.js +1 -1
- package/dist/globals.server.mjs +1 -1
- package/dist/icons.client.cjs +1 -0
- package/dist/icons.client.js +84 -0
- package/dist/inputs.validation-d7cef32b.js +1 -0
- package/dist/inputs.validation-db65277a.mjs +83 -0
- package/dist/landing.client.cjs +1 -1
- package/dist/landing.client.js +40 -64
- package/dist/leftovers-66951de6.js +1 -0
- package/dist/leftovers-be37c7a5.mjs +67 -0
- package/dist/legal.client.cjs +1 -1
- package/dist/legal.client.js +7 -4
- package/dist/mailing-76895d59.mjs +50 -0
- package/dist/mailing-9659b3c4.js +49 -0
- package/dist/main.css +1 -1
- package/dist/memberships-12210953.mjs +68 -0
- package/dist/memberships-393765d8.js +1 -0
- package/dist/metadata.schema-147f9902.mjs +212 -0
- package/dist/metadata.schema-93397f9f.js +211 -0
- package/dist/metadata.schema-a539dd65.mjs +210 -0
- package/dist/metadata.schema-e4fe5c57.js +209 -0
- package/dist/modules/community/components/blocks/FooterBlogpost.vue.d.ts +1 -1
- package/dist/modules/community/components/sections/Feed.vue.d.ts +4 -3
- package/dist/modules/events/components/sections/Feed.vue.d.ts +4 -4
- package/dist/modules/events/components/sections/List.vue.d.ts +3 -3
- package/dist/modules/globals/components/blocks/CardFooter.vue.d.ts +8 -0
- package/dist/modules/globals/components/blocks/CardHeader.vue.d.ts +15 -0
- package/dist/modules/globals/components/sections/Feed.vue.d.ts +69 -0
- package/dist/modules/orders/components/pages/EditOrder.vue.d.ts +6 -0
- package/dist/modules/orders/components/pages/Favorites.vue.d.ts +6 -0
- package/dist/modules/orders/components/pages/History.vue.d.ts +6 -0
- package/dist/modules/orders/components/pages/Orders.vue.d.ts +2 -0
- package/dist/modules/orders/components/pages/ViewOrder.vue.d.ts +6 -0
- package/dist/modules/orders/components/sections/Form.vue.d.ts +1 -0
- package/dist/modules/organizations/components/blocks/CardDepartment.vue.d.ts +7 -0
- package/dist/modules/organizations/components/blocks/User.vue.d.ts +1 -1
- package/dist/modules/organizations/components/elements/ButtonToggleMembership.vue.d.ts +1 -1
- package/dist/modules/organizations/components/pages/Members.vue.d.ts +2 -0
- package/dist/modules/organizations/components/sections/Department2.vue.d.ts +7 -0
- package/dist/modules/organizations/components/sections/Feed.vue.d.ts +4 -4
- package/dist/modules/organizations/components/sections/FeedDepartments.vue.d.ts +8 -0
- package/dist/modules/payments/components/pages/Payments.vue.d.ts +2 -0
- package/dist/modules/products/components/blocks/CardLeftover.vue.d.ts +6 -0
- package/dist/modules/products/components/blocks/CardPosition.vue.d.ts +11 -0
- package/dist/modules/products/components/blocks/CardProduct.vue.d.ts +6 -0
- package/dist/modules/products/components/blocks/LeftoverPositions.vue.d.ts +0 -1
- package/dist/modules/products/components/pages/ProductsBackoffice.vue.d.ts +2 -0
- package/dist/modules/products/components/sections/FilterProducts.vue.d.ts +9 -0
- package/dist/modules/products/components/sections/SortProducts.vue.d.ts +10 -0
- package/dist/modules/reports/components/sections/FormReport.vue.d.ts +3 -3
- package/dist/modules/spots/components/blocks/CardSpot.vue.d.ts +7 -0
- package/dist/modules/spots/components/blocks/SpotMemberModify.vue.d.ts +11 -0
- package/dist/modules/spots/components/blocks/SpotSub.vue.d.ts +6 -0
- package/dist/modules/spots/components/pages/Spot.vue.d.ts +7 -0
- package/dist/modules/spots/components/pages/SpotEdit.vue.d.ts +2 -0
- package/dist/modules/spots/components/sections/Feed.vue.d.ts +8 -0
- package/dist/modules/spots/components/sections/PlaceModify.vue.d.ts +9 -0
- package/dist/modules/spots/components/sections/Places.vue.d.ts +9 -0
- package/dist/modules/wallet/components/pages/Wallet.vue.d.ts +2 -0
- package/dist/orders-13c10d49.mjs +85 -0
- package/dist/orders-37f041aa.js +1 -0
- package/dist/organizations-4d18a2e2.js +1 -0
- package/dist/organizations-6ed907e3.mjs +122 -0
- package/dist/organizations.client-01593e4d.js +3 -0
- package/dist/organizations.client-1b9fa66e.mjs +2997 -0
- package/dist/organizations.client.cjs +1 -1
- package/dist/organizations.client.js +75 -51
- package/dist/organizations.server.js +9 -20
- package/dist/organizations.server.mjs +9 -20
- package/dist/products-7960bbd4.js +1 -0
- package/dist/products-bf5783aa.mjs +108 -0
- package/dist/prometheus-framework.cjs.js +17 -17
- package/dist/prometheus-framework.es.js +771 -758
- package/dist/states.validation-03f7cd49.js +1 -0
- package/dist/states.validation-50e3a5a0.mjs +13 -0
- package/dist/style.css +1 -1
- package/dist/users.client.cjs +1 -1
- package/dist/users.client.js +214 -258
- package/dist/users.server.js +1 -1
- package/dist/users.server.mjs +1 -1
- package/package.json +2 -119
- package/src/components/Field/Field.vue +34 -9
- package/src/components/SelectMulti/SelectMulti.vue +18 -22
- package/src/modules/auth/routes/auth.routes.js +9 -6
- package/src/modules/auth/store/auth.js +34 -15
- package/src/modules/backoffice/components/pages/Dashboard.vue +91 -0
- package/src/modules/backoffice/router/admin.js +0 -28
- package/src/modules/backoffice/router/backoffice.js +131 -4
- package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
- package/src/modules/community/components/pages/Blog.vue +1 -0
- package/src/modules/community/components/sections/Comments.vue +1 -1
- package/src/modules/community/components/sections/Feed.vue +6 -0
- package/src/modules/community/controllers/blog.controller.js +129 -285
- package/src/modules/community/controllers/reactions.controller.js +2 -0
- package/src/modules/community/controllers/utils/queryProcessor.js +56 -0
- package/src/modules/community/controllers/utils/queryProcessorReactions.js +63 -0
- package/src/modules/community/routes/blog.routes.js +10 -6
- package/src/modules/community/store/blogposts.js +5 -5
- package/src/modules/events/components/blocks/CardEvent.vue +2 -3
- package/src/modules/events/components/pages/Events.vue +4 -4
- package/src/modules/events/components/sections/Feed.vue +4 -4
- package/src/modules/events/components/sections/List.vue +2 -2
- package/src/modules/events/controllers/events.controller.js +8 -6
- package/src/modules/events/controllers/utils/queryProcessor.js +111 -1
- package/src/modules/events/models/event.model.js +0 -4
- package/src/modules/events/routes/events.routes.js +9 -6
- package/src/modules/events/store/events.js +5 -7
- package/src/{components/CardHeader → modules/globals/components/blocks}/CardHeader.vue +31 -4
- package/src/modules/globals/components/sections/Feed.vue +136 -0
- package/src/modules/globals/controllers/utils/queryProcessor.js +19 -117
- package/src/modules/globals/models/engagement.schema.js +29 -25
- package/src/modules/globals/utils/mailing.js +1 -1
- package/src/modules/icons/icons.client.js +51 -0
- package/src/modules/marketplace/components/layouts/Marketplace.vue +1 -1
- package/src/modules/marketplace/components/pages/Catalog.vue +3 -4
- package/src/modules/marketplace/router/marketplace.js +0 -11
- package/src/modules/middlewares/client/auth.validation.js +1 -1
- package/src/modules/orders/components/blocks/CardOrderItem.vue +1 -2
- package/src/modules/orders/components/pages/EditOrder.vue +238 -0
- package/src/modules/{backoffice → orders}/components/pages/Favorites.vue +2 -2
- package/src/modules/orders/components/pages/Order.vue +28 -34
- package/src/modules/orders/components/pages/Orders.vue +90 -0
- package/src/modules/{backoffice/components/pages/History.vue → orders/components/pages/ViewOrder.vue} +0 -8
- package/src/modules/orders/components/sections/Form.vue +52 -34
- package/src/modules/orders/controllers/orders.controller.js +102 -72
- package/src/modules/orders/models/order.model.js +30 -22
- package/src/modules/orders/router/orders.router.js +30 -0
- package/src/modules/orders/routes/orders.routes.js +23 -13
- package/src/modules/orders/store/orders.js +67 -40
- package/src/modules/organizations/components/{sections/Department.vue → blocks/CardDepartment.vue} +1 -10
- package/src/modules/organizations/components/blocks/CardOrganization.vue +13 -9
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +3 -3
- package/src/modules/organizations/components/{sections/MembersTab.vue → pages/Members.vue} +23 -8
- package/src/modules/organizations/components/pages/Organization.vue +80 -46
- package/src/modules/organizations/components/pages/Organizations.vue +45 -90
- package/src/modules/organizations/components/sections/{StructureTab.vue → FeedDepartments.vue} +5 -5
- package/src/modules/organizations/components/sections/Organizations.vue +1 -2
- package/src/modules/organizations/components/sections/Publics.vue +3 -2
- package/src/modules/organizations/controllers/organizations.controller.js +8 -21
- package/src/modules/organizations/controllers/organizations.new.controller.js +372 -0
- package/src/modules/organizations/controllers/utils/addUserStatusFields.js +53 -48
- package/src/modules/organizations/controllers/utils/queryProcessor.js +87 -0
- package/src/modules/organizations/controllers/utils/queryProcessorOrganizations.js +25 -0
- package/src/modules/organizations/organizations.client.js +42 -46
- package/src/modules/organizations/router/departments.router.js +29 -0
- package/src/modules/organizations/router/members.router.js +19 -0
- package/src/modules/organizations/router/organizations.js +12 -88
- package/src/modules/organizations/router/organizations.router.js +38 -0
- package/src/modules/organizations/router/products.router.js +24 -0
- package/src/modules/organizations/store/departments.js +108 -0
- package/src/modules/{backoffice/components/admin/Orders.vue → payments/components/pages/Payments.vue} +0 -15
- package/src/modules/products/components/blocks/{Leftover.vue → CardLeftover.vue} +21 -12
- package/src/modules/products/components/blocks/CardPosition.vue +84 -0
- package/src/modules/products/components/blocks/LeftoverPositions.vue +65 -136
- package/src/modules/products/components/pages/LeftoverAdd.vue +133 -88
- package/src/modules/products/components/pages/Leftovers.vue +91 -64
- package/src/modules/products/components/pages/Product.vue +3 -3
- package/src/modules/products/components/pages/Products.vue +42 -263
- package/src/modules/products/components/pages/ProductsBackoffice.vue +92 -0
- package/src/modules/products/components/sections/FilterProducts.vue +180 -0
- package/src/modules/products/components/sections/PopularProducts.vue +2 -2
- package/src/modules/products/components/sections/SectionProduct.vue +18 -3
- package/src/modules/products/components/sections/SortProducts.vue +76 -0
- package/src/modules/products/controllers/leftovers.controller.js +51 -45
- package/src/modules/products/controllers/modifications.controller.js +66 -0
- package/src/modules/products/controllers/products.controller.js +67 -111
- package/src/modules/products/models/leftover.model.js +12 -9
- package/src/modules/products/models/product.model.js +1 -0
- package/src/modules/products/router/products.router.js +46 -0
- package/src/modules/products/routes/products.routes.js +4 -9
- package/src/modules/products/store/leftovers.js +56 -59
- package/src/modules/products/store/products.js +21 -22
- package/src/modules/spots/components/blocks/CardSpot.vue +104 -0
- package/src/modules/spots/components/blocks/SpotMemberModify.vue +92 -0
- package/src/modules/spots/components/blocks/SpotSub.vue +24 -0
- package/src/modules/spots/components/pages/Map.vue +2 -2
- package/src/modules/spots/components/pages/Spot.vue +107 -0
- package/src/modules/spots/components/pages/SpotEdit.vue +319 -0
- package/src/modules/spots/components/sections/Feed.vue +64 -0
- package/src/modules/spots/controllers/spots.controller.js +83 -0
- package/src/modules/spots/models/spot.model.js +72 -0
- package/src/modules/spots/router/spots.js +34 -1
- package/src/modules/spots/routes/spots.routes.js +31 -0
- package/src/modules/spots/store/spots.js +15 -15
- package/src/modules/users/components/pages/Profile.vue +2 -3
- package/src/modules/users/components/pages/ProfileBlogposts.vue +1 -1
- package/src/styles/components/block.scss +2 -4
- package/src/modules/backoffice/components/admin/LeftoverAdd.vue +0 -157
- package/src/modules/backoffice/components/admin/Leftovers.vue +0 -119
- package/src/modules/backoffice/components/admin/Order.vue +0 -199
- package/src/modules/backoffice/components/admin/Product.vue +0 -28
- package/src/modules/backoffice/components/admin/Products.vue +0 -82
- package/src/modules/backoffice/components/pages/Organizations.vue +0 -104
- package/src/modules/community/controllers/blog.new.controller.js +0 -290
- package/src/modules/organizations/components/blocks/DepartmentSubDepartmentModify.vue +0 -92
- package/src/modules/organizations/components/elements/ButtonFollow.vue +0 -84
- package/src/modules/organizations/components/pages/OrganizationsAccount.vue +0 -110
- package/src/modules/organizations/controllers/utils/excludeBlockedMembers.js +0 -18
- /package/src/{components/CardFooter → modules/globals/components/blocks}/CardFooter.vue +0 -0
- /package/src/modules/{orders/controllers → payments/controller}/payments.controller.js +0 -0
- /package/src/modules/{orders → payments}/routes/payments.routes.js +0 -0
- /package/src/modules/{orders → payments}/store/payments.js +0 -0
- /package/src/modules/products/components/blocks/{ProductCard.vue → CardProduct.vue} +0 -0
- /package/src/modules/{organizations → spots}/components/sections/PlaceModify.vue +0 -0
- /package/src/modules/{organizations → spots}/components/sections/Places.vue +0 -0
- /package/src/modules/{backoffice → wallet}/components/pages/Wallet.vue +0 -0
@@ -2,16 +2,17 @@ const ObjectId = require('mongoose').Types.ObjectId;
|
|
2
2
|
|
3
3
|
function getBasicOptions(query) {
|
4
4
|
// Деструктуризация для извлечения параметров запроса
|
5
|
-
const { _id, url, owner, creator } = query;
|
5
|
+
const { _id, url, status, owner, creator } = query;
|
6
6
|
|
7
7
|
// Подготовка условий для каждого возможного параметра
|
8
8
|
const conditions = [];
|
9
9
|
|
10
10
|
if (_id) { conditions.push({ _id: new ObjectId(_id) }); }
|
11
11
|
if (url) { conditions.push({ url: url }); }
|
12
|
+
if (status) { conditions.push({ status: status }); }
|
12
13
|
if (owner) { conditions.push({ "owner.target": new ObjectId(owner) }); }
|
13
14
|
if (creator) { conditions.push({ "creator.target": new ObjectId(creator) }); }
|
14
|
-
|
15
|
+
|
15
16
|
// Проверяем, есть ли условия для применения
|
16
17
|
if (conditions.length > 0) {
|
17
18
|
return [{ $match: { $and: conditions } }];
|
@@ -20,132 +21,35 @@ function getBasicOptions(query) {
|
|
20
21
|
}
|
21
22
|
}
|
22
23
|
|
23
|
-
function
|
24
|
-
|
25
|
-
|
24
|
+
function getTagsOptions(tags) {
|
25
|
+
if (tags && tags.length > 0) {
|
26
|
+
[{ $in: tags.split(',') }]
|
27
|
+
} else {
|
28
|
+
return [];
|
29
|
+
}
|
30
|
+
}
|
26
31
|
|
32
|
+
function getSortingOptions(param = 'createdAt', order = 'desc') {
|
27
33
|
let sort = {
|
28
|
-
[
|
34
|
+
[param]: order === 'desc' ? -1 : 1,
|
29
35
|
'_id': 1,
|
30
36
|
};
|
31
37
|
|
32
|
-
return [{ $sort: sort }]
|
38
|
+
return [{ $sort: sort }];
|
33
39
|
}
|
34
40
|
|
35
|
-
|
41
|
+
|
42
|
+
|
43
|
+
function getPaginationOptions(skip, limit) {
|
36
44
|
let pagination = {
|
37
|
-
skip: parseInt(
|
38
|
-
limit: parseInt(
|
45
|
+
skip: parseInt(skip) || 0,
|
46
|
+
limit: parseInt(limit) || 20,
|
39
47
|
};
|
40
48
|
|
41
49
|
return [{ $skip: pagination.skip },{ $limit: pagination.limit }]
|
42
50
|
}
|
43
51
|
|
44
|
-
function getDateConditions(date) {
|
45
|
-
if (date) {
|
46
|
-
const dateString = date.toString(); // Just to ensure it's a string
|
47
|
-
|
48
|
-
const day = parseInt(dateString.substring(0, 2), 10);
|
49
|
-
const month = parseInt(dateString.substring(2, 4), 10) - 1; // months are 0-based in JavaScript
|
50
|
-
const year = parseInt(dateString.substring(4, 8), 10);
|
51
|
-
|
52
|
-
const customDate = new Date(year, month, day);
|
53
|
-
customDate.setHours(0, 0, 0, 0); // Set the start of the day
|
54
|
-
|
55
|
-
const customDateEnd = new Date(year, month, day);
|
56
|
-
customDateEnd.setHours(23, 59, 59, 999); // Set the end of the day
|
57
|
-
|
58
|
-
return [{ $match: { "date.start": { $gte: customDate, $lte: customDateEnd } } }];
|
59
|
-
} else {
|
60
|
-
return []
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
function getPeriodConditions(period,periodStart, periodEnd) {
|
65
|
-
const now = new Date();
|
66
|
-
|
67
|
-
let startDate, endDate;
|
68
|
-
|
69
|
-
if (periodStart && periodEnd) {
|
70
|
-
startDate = new Date(periodStart);
|
71
|
-
endDate = new Date(periodEnd);
|
72
|
-
|
73
|
-
return [{
|
74
|
-
$match: {
|
75
|
-
"date.start": {
|
76
|
-
$gte: startDate,
|
77
|
-
$lte: endDate
|
78
|
-
}
|
79
|
-
}
|
80
|
-
}];
|
81
|
-
} else if (period) {
|
82
|
-
startDate = new Date(now.getTime()); // Make a copy
|
83
|
-
endDate = new Date(now.getTime()); // New end date variable
|
84
|
-
|
85
|
-
switch (period) {
|
86
|
-
case 'today':
|
87
|
-
startDate.setHours(0, 0, 0, 0);
|
88
|
-
endDate.setHours(23, 59, 59, 999);
|
89
|
-
break;
|
90
|
-
case 'week':
|
91
|
-
endDate.setDate(now.getDate() + 7);
|
92
|
-
break;
|
93
|
-
case 'month':
|
94
|
-
endDate.setDate(now.getDate() + 30); // Or endDate.setMonth(now.getMonth() + 1); based on your requirement
|
95
|
-
break;
|
96
|
-
case 'year':
|
97
|
-
endDate.setFullYear(now.getFullYear() + 1);
|
98
|
-
break;
|
99
|
-
default:
|
100
|
-
break;
|
101
|
-
}
|
102
|
-
return [{
|
103
|
-
$match: {
|
104
|
-
"date.start": {
|
105
|
-
$gte: startDate,
|
106
|
-
$lte: endDate
|
107
|
-
}
|
108
|
-
}
|
109
|
-
}];
|
110
|
-
} else {
|
111
|
-
return []
|
112
|
-
}
|
113
|
-
}
|
114
|
-
|
115
|
-
function getStatusConditions(status) {
|
116
|
-
const now = new Date();
|
117
|
-
|
118
|
-
const todayStart = new Date(now.getTime());
|
119
|
-
todayStart.setHours(0, 0, 0, 0);
|
120
|
-
const todayEnd = new Date(now.getTime());
|
121
|
-
todayEnd.setHours(23, 59, 59, 999);
|
122
|
-
|
123
|
-
let matchConditions = [];
|
124
|
-
|
125
|
-
switch (status) {
|
126
|
-
case 'finished':
|
127
|
-
matchConditions.push({ "date.start": { $lt: now } });
|
128
|
-
break;
|
129
|
-
case 'today':
|
130
|
-
matchConditions.push({ "date.start": { $gte: todayStart, $lte: todayEnd } });
|
131
|
-
break;
|
132
|
-
case 'live':
|
133
|
-
matchConditions.push({ "date.start": { $lte: now } });
|
134
|
-
matchConditions.push({ "date.end": { $gte: now } });
|
135
|
-
break;
|
136
|
-
case 'planned':
|
137
|
-
matchConditions.push({ "date.start": { $gt: now } });
|
138
|
-
break;
|
139
|
-
default:
|
140
|
-
break;
|
141
|
-
}
|
142
52
|
|
143
|
-
if (matchConditions && matchConditions.length > 0) {
|
144
|
-
return [{ $match: { $and: matchConditions } }];
|
145
|
-
} else {
|
146
|
-
return []
|
147
|
-
}
|
148
|
-
}
|
149
53
|
|
150
54
|
function getCreatorUserLookupStage() {
|
151
55
|
return {
|
@@ -216,9 +120,7 @@ module.exports = {
|
|
216
120
|
getBasicOptions,
|
217
121
|
getSortingOptions,
|
218
122
|
getPaginationOptions,
|
219
|
-
|
220
|
-
getStatusConditions,
|
221
|
-
getPeriodConditions,
|
123
|
+
getTagsOptions,
|
222
124
|
// Creator and Owner
|
223
125
|
getCreatorUserLookupStage,
|
224
126
|
getCreatorOrganizationLookupStage,
|
@@ -1,32 +1,36 @@
|
|
1
|
-
module.exports = function applyEngagementSchema(schema,db) {
|
2
|
-
//
|
3
|
-
schema.add({
|
4
|
-
views: {
|
5
|
-
type: Number,
|
6
|
-
default: 0
|
7
|
-
}
|
8
|
-
});
|
1
|
+
module.exports = function applyEngagementSchema(schema, db) {
|
2
|
+
// Добавление нового поля в схему
|
3
|
+
schema.add({ views: { type: Number, default: 0 } });
|
9
4
|
|
10
|
-
//
|
5
|
+
// Middleware после агрегации
|
11
6
|
schema.post('aggregate', async function(docs) {
|
7
|
+
// Если документы отсутствуют, выход из функции
|
8
|
+
if (docs.length === 0) return;
|
9
|
+
|
10
|
+
console.log('Post-aggregate hook in engagement schema triggered');
|
11
|
+
|
12
|
+
const model = this._model;
|
13
|
+
|
14
|
+
if (!model) {
|
15
|
+
console.error("No model is associated with this schema!");
|
16
|
+
return;
|
17
|
+
}
|
12
18
|
|
13
|
-
//
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
// мы должны выполнить обновление вручную для каждого соответствующего документа.
|
19
|
-
await Promise.all(docs.map(async (doc) => {
|
20
|
-
// Предполагается, что у каждого документа есть уникальный идентификатор '_id'
|
21
|
-
console.log(doc._id)
|
22
|
-
const updatedViews = await db.event.findOneAndUpdate({ _id: doc._id }, { $inc: { views: 1 } }).exec();
|
23
|
-
// console.log(updatedViews)
|
24
|
-
}));
|
25
|
-
} catch (error) {
|
26
|
-
console.error("Error updating views:", error);
|
27
|
-
}
|
19
|
+
// Обновление просмотров с обработкой ошибок
|
20
|
+
try {
|
21
|
+
await updateDocumentViews(docs, model);
|
22
|
+
} catch (error) {
|
23
|
+
console.error("Error updating views:", error);
|
28
24
|
}
|
29
25
|
});
|
30
26
|
|
31
|
-
//
|
27
|
+
// Функция для обновления просмотров документов
|
28
|
+
async function updateDocumentViews(docs, model) {
|
29
|
+
const updateViewsPromises = docs.map(doc => model.findOneAndUpdate(
|
30
|
+
{ _id: doc._id },
|
31
|
+
{ $inc: { views: 1 } }
|
32
|
+
).exec());
|
33
|
+
|
34
|
+
await Promise.all(updateViewsPromises);
|
35
|
+
}
|
32
36
|
};
|
@@ -0,0 +1,51 @@
|
|
1
|
+
// Importing icons
|
2
|
+
import PlaceholderUserpic from './placeholders/PlaceholderUserpic.vue';
|
3
|
+
import LabelGooglePlay from './labels/LabelGooglePlay.vue';
|
4
|
+
import LabelAppStore from './labels/LabelAppStore.vue';
|
5
|
+
import IconCross from './navigation/IconCross.vue';
|
6
|
+
import IconChevronRight from './navigation/IconChevronRight.vue';
|
7
|
+
import IconEdit from './navigation/IconEdit.vue';
|
8
|
+
import SkeletonEventShort from './skeletons/SkeletonEventShort.vue';
|
9
|
+
import SkeletonBlogpost from './skeletons/SkeletonBlogpost.vue';
|
10
|
+
import SkeletonOrganization from './skeletons/SkeletonOrganization.vue';
|
11
|
+
import SkeletonEvent from './skeletons/SkeletonEvent.vue';
|
12
|
+
import Vk from './socials/vk.vue';
|
13
|
+
import Instagram from './socials/instagram.vue';
|
14
|
+
import Telegram from './socials/telegram.vue';
|
15
|
+
import Twitter from './socials/twitter.vue';
|
16
|
+
import Linkedin from './socials/linkedin.vue';
|
17
|
+
import Reddit from './socials/reddit.vue';
|
18
|
+
import Dribbble from './socials/dribbble.vue';
|
19
|
+
import Facebook from './socials/facebook.vue';
|
20
|
+
import Youtube from './socials/youtube.vue';
|
21
|
+
import Line from './socials/line.vue';
|
22
|
+
import IconCommunity from './entities/IconCommunity.vue';
|
23
|
+
import IconEvents from './entities/IconEvents.vue';
|
24
|
+
import IconGroups from './entities/IconGroups.vue';
|
25
|
+
|
26
|
+
// Exporting icons
|
27
|
+
export {
|
28
|
+
PlaceholderUserpic,
|
29
|
+
LabelGooglePlay,
|
30
|
+
LabelAppStore,
|
31
|
+
IconCross,
|
32
|
+
IconChevronRight,
|
33
|
+
IconEdit,
|
34
|
+
SkeletonEventShort,
|
35
|
+
SkeletonBlogpost,
|
36
|
+
SkeletonOrganization,
|
37
|
+
SkeletonEvent,
|
38
|
+
Vk,
|
39
|
+
Instagram,
|
40
|
+
Telegram,
|
41
|
+
Twitter,
|
42
|
+
Linkedin,
|
43
|
+
Reddit,
|
44
|
+
Dribbble,
|
45
|
+
Facebook,
|
46
|
+
Youtube,
|
47
|
+
Line,
|
48
|
+
IconCommunity,
|
49
|
+
IconEvents,
|
50
|
+
IconGroups
|
51
|
+
};
|
@@ -120,7 +120,7 @@
|
|
120
120
|
// Partials
|
121
121
|
import Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'
|
122
122
|
// Import components
|
123
|
-
import
|
123
|
+
import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'
|
124
124
|
|
125
125
|
// Accessing router and store
|
126
126
|
const store = useStore()
|
@@ -40,14 +40,13 @@
|
|
40
40
|
import Field from '@pf/src/components/Field/Field.vue'
|
41
41
|
import Select from '@pf/src/components/Select/Select.vue'
|
42
42
|
import Button from '@pf/src/components/Button/Button.vue'
|
43
|
+
// Mobile Module
|
44
|
+
import Menu from '@pf/src/modules/mobile/components/Menu/Menu.vue'
|
45
|
+
import MenuItem from '@pf/src/modules/mobile/components/Menu/MenuItem.vue'
|
43
46
|
// Local
|
44
|
-
import DetailsTab from '@pf/src/modules/organizations/components/sections/DetailsTab.vue'
|
45
|
-
import StructureTab from '@pf/src/modules/organizations/components/sections/StructureTab.vue'
|
46
|
-
import MembersTab from '@pf/src/modules/organizations/components/sections/MembersTab.vue'
|
47
47
|
import CardOrganization from '@pf/src/modules/organizations/components/blocks/CardOrganization.vue'
|
48
48
|
// Blocks
|
49
49
|
import EmptyState from '@pf/src/components/EmptyState/EmptyState.vue'
|
50
|
-
import CardOrderItem from '@pf/src/modules/orders/components/blocks/CardOrderItem.vue';
|
51
50
|
import Unit from '@pf/src/modules/organizations/components/sections/Unit.vue'
|
52
51
|
// Import state
|
53
52
|
import * as organization from '@pf/src/modules/organizations/store/organizations'
|
@@ -30,17 +30,6 @@ const marketplace = [
|
|
30
30
|
}
|
31
31
|
]
|
32
32
|
},
|
33
|
-
{
|
34
|
-
path: 'order',
|
35
|
-
name: 'Order',
|
36
|
-
meta: {
|
37
|
-
title: {
|
38
|
-
en: 'Order',
|
39
|
-
ru: 'Заказ'
|
40
|
-
}
|
41
|
-
},
|
42
|
-
component: () => import(/* webpackChunkName: 'Order' */ '@pf/src/modules/orders/components/pages/Order.vue')
|
43
|
-
},
|
44
33
|
{
|
45
34
|
path: 'products/recommendation',
|
46
35
|
name: 'Product Recommmendation',
|
@@ -17,7 +17,7 @@ function requiresAuth(to, from, next) {
|
|
17
17
|
|
18
18
|
function requiresAdmin(to, from, next) {
|
19
19
|
|
20
|
-
const isAdmin = auth.state.access.roles.includes('ROLE_ADMIN');
|
20
|
+
const isAdmin = auth.state.access.roles?.includes('ROLE_ADMIN') ? auth.state.access.roles.includes('ROLE_ADMIN') : false;
|
21
21
|
|
22
22
|
if (isAdmin !== true) {
|
23
23
|
return next('/404');
|
@@ -0,0 +1,238 @@
|
|
1
|
+
<template>
|
2
|
+
<header class="mn-medium flex-v-center flex-nowrap flex">
|
3
|
+
<h2 class="mn-r-medium">Edit Order</h2>
|
4
|
+
|
5
|
+
<!-- <button
|
6
|
+
@click="$router.push({
|
7
|
+
name: 'AdminOrder'
|
8
|
+
})"
|
9
|
+
class="radius-100p i-big hover-scale-1 cursor-pointer t-white bg-second">
|
10
|
+
+
|
11
|
+
</button> -->
|
12
|
+
</header>
|
13
|
+
|
14
|
+
<section class="gap-thin flex-nowrap flex mn-semi">
|
15
|
+
|
16
|
+
<div class="w-100 br-solid br-1px br-black-transp-10 radius-big pd-medium">
|
17
|
+
<p class=" mn-small p-big">
|
18
|
+
Статус заказа:<br>{{order.status}}
|
19
|
+
</p>
|
20
|
+
<button class="button">Подтвердить заказ</button>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="w-100 br-solid br-1px br-black-transp-10 radius-big pd-medium">
|
24
|
+
<p class="mn-semi p-big">Статус оплаты:<br>{{order.payment?.status}}</p>
|
25
|
+
<button class="button">Изменить статус оплаты</button>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
|
29
|
+
</section>
|
30
|
+
|
31
|
+
|
32
|
+
<div class="mn-thin cols-2">
|
33
|
+
<section class="">
|
34
|
+
|
35
|
+
<h5 class="w-100 mn-small">Информация о заказе
|
36
|
+
|
37
|
+
<a v-if="showAddNew === false" class="mn-l-small t-main h5" @click="reserOrderList()">Редактировать</a>
|
38
|
+
|
39
|
+
</h5>
|
40
|
+
|
41
|
+
<div class="cols-2 mn-medium ">
|
42
|
+
<!-- <p class="w-100">Время создания: {{DateToFormattedString(order.createdAt)}}</p> -->
|
43
|
+
<div class="col flex block">
|
44
|
+
<p class="mn-small w-100">
|
45
|
+
Номер клиента: {{order.info?.phone}}<br>
|
46
|
+
</p>
|
47
|
+
<p class="mn-small w-100">
|
48
|
+
Имя клиента: {{order.info?.name}} {{order.info?.surname}}
|
49
|
+
</p>
|
50
|
+
<p class="mn-small w-100">
|
51
|
+
Контактный email: {{order.info?.email}}
|
52
|
+
</p>
|
53
|
+
</div>
|
54
|
+
<div class="col flex block">
|
55
|
+
<p class="mn-small w-100">
|
56
|
+
Тип доставки: {{order.info?.delivery}}
|
57
|
+
</p>
|
58
|
+
<p class="mn-small w-100">
|
59
|
+
Город: {{order.info?.city}}
|
60
|
+
</p>
|
61
|
+
<p class="mn-small w-100">
|
62
|
+
Адресс: {{order.info?.adress}}
|
63
|
+
</p>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
</div>
|
67
|
+
<div class="block">
|
68
|
+
<p class="w-100">
|
69
|
+
Комментарий: {{order.info?.comment}}
|
70
|
+
</p>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
</section>
|
74
|
+
|
75
|
+
<section class="">
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<div class="order-list">
|
80
|
+
<div class="flex">
|
81
|
+
<h5 class="mn-small">
|
82
|
+
Состав заказа
|
83
|
+
</h5>
|
84
|
+
<div>
|
85
|
+
<a v-if="showAddNew === false" class="t-main h5" @click="changeAdd()">Добавить</a>
|
86
|
+
<a v-else class="t-main h5" @click="changeAdd()">Закрыть</a>
|
87
|
+
<a v-if="showAddNew === false" class="mn-l-small t-main h5" @click="reserOrderList()">Сбросить</a>
|
88
|
+
<a v-if="showAddNew === false" class="mn-l-small t-main h5" @click="saveItemList()">Сохранить</a>
|
89
|
+
</div>
|
90
|
+
</div>
|
91
|
+
|
92
|
+
<div v-if="showAddNew !== false" class="mn-small w-100 block">
|
93
|
+
<vue-select :options="Products" v-model="techStack" :label-by="'name'" searchable clear-on-close :close-on-select="true"> </vue-select>
|
94
|
+
<button @click="addProductToOrder()" class="w-25 button">Добавить в заказ</button>
|
95
|
+
</div>
|
96
|
+
|
97
|
+
<ul class="mn-semi">
|
98
|
+
<li v-for="(product, index) in orderProducts" :key="product.id" class="shop-cart-item mn-small block">
|
99
|
+
<!-- <img :src="require( `@/assets/images/products/${product.images}`)"> -->
|
100
|
+
<div class="text-left">
|
101
|
+
<p class="name">{{ product.name }}</p>
|
102
|
+
|
103
|
+
<div class="mn-small flex">
|
104
|
+
<div class="small-underline variant">
|
105
|
+
<span v-if="!product.size && !product.color" class="">One-size</span>
|
106
|
+
<span v-if="product.size" class="">{{ product.size}}</span>
|
107
|
+
<span v-if="product.color && product.size" class="">, </span>
|
108
|
+
<span v-if="product.color" class="">{{ product.color}}</span>
|
109
|
+
<div v-if="product.edit">{{product.edit}}</div>
|
110
|
+
</div>
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
<p class="t-demi">{{product.quantity}} x {{product.price / 100}} ₽ </p>
|
115
|
+
</div>
|
116
|
+
<div v-if="data[index]" class="flex-nowrap flex w-100">
|
117
|
+
|
118
|
+
<input
|
119
|
+
@input="updateInputText('orders', 'current.items[' + index + '].quantity', $event)"
|
120
|
+
:value="product.quantity"
|
121
|
+
placeholder="Маргарита"
|
122
|
+
class="mn-small input-text input"
|
123
|
+
/>
|
124
|
+
</div>
|
125
|
+
<a v-if="!data[index]" @click="changeEdit(index)">Редактировать</a>
|
126
|
+
<a v-if="data[index]" @click="deleteItem(product)">Удалить</a>
|
127
|
+
<a v-if="data[index]" @click="changeEdit(index)">Закрыть</a>
|
128
|
+
</div>
|
129
|
+
</li>
|
130
|
+
</ul>
|
131
|
+
</div>
|
132
|
+
</section>
|
133
|
+
</div>
|
134
|
+
|
135
|
+
<div class="mn-thinw-100 flex-v-center flex block">
|
136
|
+
<p class="p-big">Сумма к оплате:
|
137
|
+
<span v-if="order.info?.delivery === 'Самовывоз'" class="p-big t-semi">{{ orderTotalPrice / 100 }} ₽</span>
|
138
|
+
<span v-if="order.info?.delivery === 'Курьером'" class="p-big t-semi">{{ orderTotalPrice / 100 + 350 }} ₽</span>
|
139
|
+
<span v-if="order.info?.delivery === 'Почтой'" class="p-big t-semi">{{ orderTotalPrice / 100 + 550 }} ₽</span>
|
140
|
+
(Заказ {{orderTotalPrice / 100}} ₽ + доставка
|
141
|
+
<span v-if="order.info?.delivery === 'Самовывоз'" >0</span>
|
142
|
+
<span v-if="order.info?.delivery === 'Курьером'" >350</span>
|
143
|
+
<span v-if="order.info?.delivery === 'Почтой'">550</span>
|
144
|
+
₽)
|
145
|
+
</p>
|
146
|
+
|
147
|
+
<button class="mn-l-auto button">Запросить онлайн</button>
|
148
|
+
</div>
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
</template>
|
153
|
+
|
154
|
+
<script setup="props">
|
155
|
+
// Import Vue functionality
|
156
|
+
import { computed, ref, defineProps, onMounted, reactive, toRefs, watch } from 'vue'
|
157
|
+
import { useRoute } from 'vue-router'
|
158
|
+
|
159
|
+
// Import your store
|
160
|
+
import { state, actions } from '@pf/src/modules/orders/store/orders';
|
161
|
+
|
162
|
+
// Accessing router
|
163
|
+
const route = useRoute()
|
164
|
+
|
165
|
+
// Define props
|
166
|
+
const props = defineProps(['showProduct'])
|
167
|
+
props.showProduct = [];
|
168
|
+
|
169
|
+
// Reactive data
|
170
|
+
let data = reactive([])
|
171
|
+
let reactiveData = toRefs(data)
|
172
|
+
var showAddNew = ref(false)
|
173
|
+
|
174
|
+
// Initialize order and products
|
175
|
+
let order = ref({})
|
176
|
+
let products = ref([])
|
177
|
+
|
178
|
+
// Function declarations
|
179
|
+
function test() {
|
180
|
+
console.log('Test Function')
|
181
|
+
}
|
182
|
+
|
183
|
+
function addProductToOrder() {
|
184
|
+
// Update your order state
|
185
|
+
actions.addProductToOrder() // Add your parameters here
|
186
|
+
showAddNew.value = !showAddNew.value
|
187
|
+
}
|
188
|
+
|
189
|
+
// ... [Continue with other function definitions]
|
190
|
+
|
191
|
+
// Replace store actions with your actions
|
192
|
+
onMounted(async () => {
|
193
|
+
// Replace Vuex actions with your actions
|
194
|
+
await actions.fetchProducts() // Implement this action in your store
|
195
|
+
await actions.fetchOrder(route.params.id) // Implement this action in your store
|
196
|
+
|
197
|
+
order.value = state.current // Replace Vuex state with your state
|
198
|
+
products.value = state.all // Replace Vuex state with your state
|
199
|
+
})
|
200
|
+
|
201
|
+
function deleteItem(item) {
|
202
|
+
actions.deleteItemFromOrder(item) // Replace Vuex mutation with your action
|
203
|
+
}
|
204
|
+
|
205
|
+
function saveItemList() {
|
206
|
+
actions.updateOrderItems(route.params.id) // Replace Vuex action with your action
|
207
|
+
}
|
208
|
+
|
209
|
+
function changeEdit(index) {
|
210
|
+
data[index] = !data[index]
|
211
|
+
}
|
212
|
+
|
213
|
+
function resetOrderList() {
|
214
|
+
actions.fetchOrder(route.params.id) // Replace Vuex action with your action
|
215
|
+
}
|
216
|
+
|
217
|
+
function changeAdd() {
|
218
|
+
showAddNew.value = !showAddNew.value
|
219
|
+
}
|
220
|
+
|
221
|
+
// Replace computed properties with reactive state
|
222
|
+
const Products = computed(() => state.products.all) // Update this line to match your state structure
|
223
|
+
const orderTotalPrice = computed(() => 100) // Implement this getter in your actions
|
224
|
+
const orderProducts = computed(() => []) // Implement this getter in your actions
|
225
|
+
</script>
|
226
|
+
|
227
|
+
|
228
|
+
<style lang="scss">
|
229
|
+
|
230
|
+
.vue-select {
|
231
|
+
width: inherit;
|
232
|
+
|
233
|
+
margin-right: 1rem;
|
234
|
+
}
|
235
|
+
.vue-select-header {
|
236
|
+
height: 3rem;
|
237
|
+
}
|
238
|
+
</style>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<hr class="mn-semi">
|
5
5
|
<div class="grid-layout">
|
6
6
|
<p v-if="(favorites.length == 0)" style="padding-top: 1.5rem;"><i>У вас еще нет товаров в избранном. Может стоит что-нибудь добавить?</i></p>
|
7
|
-
<
|
7
|
+
<CardProduct v-if="favorites" v-for="product in favorites" :product="product" :key="product"></CardProduct>
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
</template>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
// COMPONENT DEPENDENCIES
|
15
15
|
/////////////////////////////
|
16
16
|
import { toRefs } from 'vue';
|
17
|
-
import
|
17
|
+
import CardProduct from '@/components/blocks/CardProduct.vue';
|
18
18
|
|
19
19
|
|
20
20
|
/////////////////////////////
|