@ozdao/martyrs 0.2.508 → 0.2.509
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/dist/_virtual/index.cjs +4 -4
- package/dist/_virtual/index.js +4 -4
- package/dist/_virtual/index2.cjs +4 -4
- package/dist/_virtual/index2.js +4 -4
- package/dist/{main-AWSb_d2P.cjs → main-D89N_jml.cjs} +1 -1
- package/dist/{main-Dq-UfO4G.js → main-DSiCr7yl.js} +7 -8
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +4 -3
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +5 -4
- package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue.cjs → Select.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
- package/dist/martyrs/src/components/Select/{Select.vue.cjs.map → Select.vue2.js.map} +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +17 -11
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +18 -12
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/globals.client.js +15 -15
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +121 -107
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +131 -117
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.cjs +3 -3
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +138 -136
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +137 -135
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
- package/dist/martyrs/src/modules/music/router/music.cjs +1 -1
- package/dist/martyrs/src/modules/music/router/music.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +61 -9
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +61 -9
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.cjs +36 -38
- package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js +36 -38
- package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs +7 -0
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/store/models/customer.js +7 -0
- package/dist/martyrs/src/modules/orders/store/models/customer.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +17 -28
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +17 -28
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +9 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +9 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +10 -5
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +10 -5
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +5 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +5 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/orders.server.cjs +58 -0
- package/dist/orders.server.js +58 -0
- package/dist/products.server.cjs +11 -1
- package/dist/products.server.js +11 -1
- package/dist/style.css +30 -41
- package/dist/{web-DaBwwCQ5.cjs → web-XyQNm3cW.cjs} +1 -1
- package/dist/{web-BXajFCU2.js → web-gtBkwjra.js} +1 -1
- package/package.json +1 -1
- package/src/components/Feed/Carousel.vue +3 -1
- package/src/components/FieldBig/FieldBig.vue +2 -2
- package/src/modules/auth/views/components/pages/ProfileEdit.vue +17 -10
- package/src/modules/globals/views/components/partials/Footer.centered.vue +338 -0
- package/src/modules/globals/views/components/partials/Footer.vue +104 -99
- package/src/modules/globals/views/components/partials/Header.vue +1 -1
- package/src/modules/icons/logos/Logotype.vue +1 -1
- package/src/modules/inventory/components/pages/Inventory.vue +126 -119
- package/src/modules/orders/components/forms/FormCustomerDetails.vue +51 -0
- package/src/modules/orders/middlewares/customers.verifier.js +60 -0
- package/src/modules/orders/models/customer.model.js +18 -0
- package/src/modules/orders/orders.client.js +36 -38
- package/src/modules/orders/store/models/customer.js +7 -0
- package/src/modules/organizations/configs/navigation.organization.config.js +17 -26
- package/src/modules/products/TASKS.MD +1 -157
- package/src/modules/products/components/elements/QuantitySelector.vue +17 -9
- package/src/modules/products/components/pages/Product.vue +1 -1
- package/src/modules/products/components/pages/Products.vue +0 -1
- package/src/modules/products/components/sections/ProductsPopular.vue +9 -5
- package/src/modules/products/components/sections/ProductsRecommended.vue +4 -1
- package/src/modules/products/controllers/configs/products.lookup.config.js +11 -1
- package/src/styles/base/all.scss +9 -4
- package/src/styles/config.scss +10 -0
- package/src/styles/responsive.scss +2 -1
- package/src/styles/typography.scss +0 -5
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
|
@@ -18,133 +18,138 @@
|
|
|
18
18
|
</header>
|
|
19
19
|
|
|
20
20
|
<!-- Products Feed -->
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<Table
|
|
47
|
-
:columns="columns.filter(col => col.visible)"
|
|
48
|
-
:items="items"
|
|
49
|
-
class="bg-white z-index-1 br-solid br-1px br-light radius-medium"
|
|
21
|
+
<div class="rows-1">
|
|
22
|
+
<Feed
|
|
23
|
+
:search="true"
|
|
24
|
+
v-model:filter="filter"
|
|
25
|
+
v-model:sort="sort"
|
|
26
|
+
:store="{
|
|
27
|
+
read: (options) => products.actions.read(options),
|
|
28
|
+
state: products.state
|
|
29
|
+
}"
|
|
30
|
+
:actions="[{
|
|
31
|
+
key: 'settings',
|
|
32
|
+
component: IconSettings,
|
|
33
|
+
props: {
|
|
34
|
+
class: 'h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer'
|
|
35
|
+
},
|
|
36
|
+
handler: openViewSettings
|
|
37
|
+
}]"
|
|
38
|
+
:options="{
|
|
39
|
+
limit: 15,
|
|
40
|
+
lookup: ['inventory','categories'],
|
|
41
|
+
owner: route.params._id,
|
|
42
|
+
sortParam: sort.param,
|
|
43
|
+
sortOrder: sort.order
|
|
44
|
+
}"
|
|
45
|
+
v-slot="{ items }"
|
|
50
46
|
>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
v-for="cat in row.category"
|
|
70
|
-
:key="cat._id"
|
|
71
|
-
class="pd-nano mn-r-micro pd-r-small pd-l-small radius-small bg-light t-small"
|
|
72
|
-
>
|
|
73
|
-
{{ cat.name }}
|
|
74
|
-
</span>
|
|
75
|
-
<span v-else>-</span>
|
|
76
|
-
</template>
|
|
47
|
+
<Table
|
|
48
|
+
:columns="columns.filter(col => col.visible)"
|
|
49
|
+
:items="items"
|
|
50
|
+
class="bg-white z-index-1 br-solid br-1px br-light radius-medium"
|
|
51
|
+
>
|
|
52
|
+
<!-- Name column (was "product") -->
|
|
53
|
+
<template #cell-name="{ row }">
|
|
54
|
+
<div class="w-max-20r t-trim flex gap-small flex-nowrap flex-v-center">
|
|
55
|
+
<img
|
|
56
|
+
v-if="row.images?.length"
|
|
57
|
+
:src="(FILE_SERVER_URL || '') + row.images[0]"
|
|
58
|
+
alt="Product"
|
|
59
|
+
class="w-3r h-3r radius-small bg-light object-fit-cover"
|
|
60
|
+
/>
|
|
61
|
+
<PlaceholderImage v-else class="w-3r h-3r radius-small" />
|
|
62
|
+
<p class="t-trim t-nowrap">{{ row.name || 'Unknown Product' }}</p>
|
|
63
|
+
</div>
|
|
64
|
+
</template>
|
|
77
65
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
66
|
+
<!-- Categories -->
|
|
67
|
+
<template #cell-category="{ row }">
|
|
68
|
+
<div class="w-max-10r flex-nowrap flex t-trim">
|
|
69
|
+
<p
|
|
70
|
+
v-if="row.category?.length"
|
|
71
|
+
v-for="cat in row.category"
|
|
72
|
+
:key="cat._id"
|
|
73
|
+
class="w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
|
|
74
|
+
>
|
|
75
|
+
{{ cat.name }}
|
|
76
|
+
</p>
|
|
77
|
+
<p v-else>-</p>
|
|
88
78
|
</div>
|
|
89
|
-
</
|
|
90
|
-
<span v-else class="t-transp">No stock</span>
|
|
91
|
-
</template>
|
|
79
|
+
</template>
|
|
92
80
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
? 'bg-orange t-white'
|
|
108
|
-
: 'bg-green t-white'
|
|
109
|
-
"
|
|
110
|
-
:style="`width: ${
|
|
111
|
-
Math.min(
|
|
112
|
-
(row.available / (row.alert !== undefined ? row.alert : 50)) * 100,
|
|
113
|
-
100
|
|
114
|
-
)
|
|
115
|
-
}%`"
|
|
116
|
-
/>
|
|
81
|
+
<!-- Storages -->
|
|
82
|
+
<template #cell-storages="{ row }">
|
|
83
|
+
<div class="w-max-10r flex-nowrap flex t-trim">
|
|
84
|
+
<p
|
|
85
|
+
v-if="row.availabilityDetails?.length"
|
|
86
|
+
v-for="avail in row.availabilityDetails"
|
|
87
|
+
:key="avail._id"
|
|
88
|
+
class="w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
|
|
89
|
+
>
|
|
90
|
+
|
|
91
|
+
<span class="t-medium">{{ avail.available || 0 }}</span> ·
|
|
92
|
+
<span class="t-small">{{ avail.storageName || avail.storage }}:</span>
|
|
93
|
+
</p>
|
|
94
|
+
<p v-else>No stock</p>
|
|
117
95
|
</div>
|
|
118
|
-
</
|
|
119
|
-
</template>
|
|
120
|
-
<!-- Price -->
|
|
121
|
-
<template #cell-price="{ row }">
|
|
122
|
-
{{ formatPrice(row.price || 0) }}
|
|
123
|
-
</template>
|
|
96
|
+
</template>
|
|
124
97
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
98
|
+
<!-- Available (replaces stock) -->
|
|
99
|
+
<template #cell-available="{ row }">
|
|
100
|
+
<div class="flex-column flex">
|
|
101
|
+
<span class="d-block mn-b-thin">
|
|
102
|
+
{{ row.available }} ·
|
|
103
|
+
{{ row.available <= 5 ? 'Low' : row.available <= 10 ? 'Medium' : 'High' }}
|
|
104
|
+
</span>
|
|
105
|
+
<div class="w-100 h-micro radius-thin bg-light">
|
|
106
|
+
<div
|
|
107
|
+
class="h-100 radius-thin"
|
|
108
|
+
:class="
|
|
109
|
+
row.available <= 1
|
|
110
|
+
? 'bg-red t-white'
|
|
111
|
+
: row.available <= 2
|
|
112
|
+
? 'bg-orange t-white'
|
|
113
|
+
: 'bg-green t-white'
|
|
114
|
+
"
|
|
115
|
+
:style="`width: ${
|
|
116
|
+
Math.min(
|
|
117
|
+
(row.available / (row.alert !== undefined ? row.alert : 50)) * 100,
|
|
118
|
+
100
|
|
119
|
+
)
|
|
120
|
+
}%`"
|
|
121
|
+
/>
|
|
122
|
+
</div>
|
|
142
123
|
</div>
|
|
143
|
-
</
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
124
|
+
</template>
|
|
125
|
+
<!-- Price -->
|
|
126
|
+
<template #cell-price="{ row }">
|
|
127
|
+
{{ formatPrice(row.price || 0) }}
|
|
128
|
+
</template>
|
|
147
129
|
|
|
130
|
+
<!-- Actions -->
|
|
131
|
+
<template #cell-actions="{ row }">
|
|
132
|
+
<Dropdown
|
|
133
|
+
:label="{ component: IconEllipsis, class: 't-transp i-medium' }"
|
|
134
|
+
class="cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light"
|
|
135
|
+
align="right"
|
|
136
|
+
>
|
|
137
|
+
<div class="bg-white radius-small">
|
|
138
|
+
<button @click="openStockAudit(row)" class="cursor-pointer t-left t-nowrap w-100 pd-small">
|
|
139
|
+
Audit Stock
|
|
140
|
+
</button>
|
|
141
|
+
<button @click="openStockHistory(row)" class="cursor-pointer t-left t-nowrap w-100 pd-small">
|
|
142
|
+
Stock History
|
|
143
|
+
</button>
|
|
144
|
+
<button @click="openReorderSettings(row)" class="cursor-pointer t-left t-nowrap w-100 pd-small">
|
|
145
|
+
Set Alerts
|
|
146
|
+
</button>
|
|
147
|
+
</div>
|
|
148
|
+
</Dropdown>
|
|
149
|
+
</template>
|
|
150
|
+
</Table>
|
|
151
|
+
</Feed>
|
|
152
|
+
</div>
|
|
148
153
|
<!-- Modals -->
|
|
149
154
|
<Popup
|
|
150
155
|
:isPopupOpen="showAuditModal"
|
|
@@ -210,6 +215,8 @@ import Feed from '@martyrs/src/components/Feed/Feed.vue'
|
|
|
210
215
|
import PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'
|
|
211
216
|
import Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'
|
|
212
217
|
import Popup from '@martyrs/src/components/Popup/Popup.vue'
|
|
218
|
+
import Chips from '@martyrs/src/components/Chips/Chips.vue'
|
|
219
|
+
|
|
213
220
|
|
|
214
221
|
// Icons
|
|
215
222
|
import IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue'
|
|
@@ -63,6 +63,48 @@
|
|
|
63
63
|
class="bg-white pd-small radius-small mn-b-thin"
|
|
64
64
|
/>
|
|
65
65
|
|
|
66
|
+
<!-- Address Fields -->
|
|
67
|
+
<div class="mn-t-small">
|
|
68
|
+
<h3 class="t-medium mn-b-thin">Address Information</h3>
|
|
69
|
+
|
|
70
|
+
<Field
|
|
71
|
+
v-model:field="customer.address.country"
|
|
72
|
+
label="Country"
|
|
73
|
+
placeholder="Enter country"
|
|
74
|
+
class="bg-white pd-small radius-small mn-b-thin"
|
|
75
|
+
/>
|
|
76
|
+
|
|
77
|
+
<Field
|
|
78
|
+
v-model:field="customer.address.addressLine1"
|
|
79
|
+
label="Address Line 1"
|
|
80
|
+
placeholder="Enter address line 1"
|
|
81
|
+
class="bg-white pd-small radius-small mn-b-thin"
|
|
82
|
+
required
|
|
83
|
+
/>
|
|
84
|
+
|
|
85
|
+
<Field
|
|
86
|
+
v-model:field="customer.address.addressLine2"
|
|
87
|
+
label="Address Line 2"
|
|
88
|
+
placeholder="Enter address line 2"
|
|
89
|
+
class="bg-white pd-small radius-small mn-b-thin"
|
|
90
|
+
/>
|
|
91
|
+
|
|
92
|
+
<div class="gap-thin flex-justify-between flex-nowrap flex">
|
|
93
|
+
<Field
|
|
94
|
+
v-model:field="customer.address.city"
|
|
95
|
+
label="City"
|
|
96
|
+
placeholder="Enter city"
|
|
97
|
+
class="bg-white pd-small radius-small w-100"
|
|
98
|
+
/>
|
|
99
|
+
<Field
|
|
100
|
+
v-model:field="customer.address.postalCode"
|
|
101
|
+
label="Postal Code"
|
|
102
|
+
placeholder="Enter postal code"
|
|
103
|
+
class="bg-white pd-small radius-small w-100"
|
|
104
|
+
/>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
66
108
|
<Select
|
|
67
109
|
:select="statusSelected"
|
|
68
110
|
:options="[
|
|
@@ -152,6 +194,15 @@ watch(customer, (newCustomer) => {
|
|
|
152
194
|
if (!newCustomer.socials) {
|
|
153
195
|
newCustomer.socials = { instagram: null, telegram: null, whatsapp: null };
|
|
154
196
|
}
|
|
197
|
+
if (!newCustomer.address) {
|
|
198
|
+
newCustomer.address = {
|
|
199
|
+
country: null,
|
|
200
|
+
addressLine1: null,
|
|
201
|
+
addressLine2: null,
|
|
202
|
+
city: null,
|
|
203
|
+
postalCode: null
|
|
204
|
+
};
|
|
205
|
+
}
|
|
155
206
|
}
|
|
156
207
|
}, { immediate: true, deep: true });
|
|
157
208
|
|
|
@@ -94,6 +94,36 @@ export default (function (db) {
|
|
|
94
94
|
type: Validator.schema().string().oneOf(['user', 'organization', 'User', 'Organization']),
|
|
95
95
|
target: Validator.schema().string().pattern(/^[0-9a-fA-F]{24}$/)
|
|
96
96
|
})
|
|
97
|
+
},
|
|
98
|
+
'address.country': {
|
|
99
|
+
rule: 'optional',
|
|
100
|
+
validator: Validator.schema()
|
|
101
|
+
.string()
|
|
102
|
+
.max(100, 'Country must not exceed 100 characters')
|
|
103
|
+
},
|
|
104
|
+
'address.addressLine1': {
|
|
105
|
+
rule: 'optional',
|
|
106
|
+
validator: Validator.schema()
|
|
107
|
+
.string()
|
|
108
|
+
.max(255, 'Address line 1 must not exceed 255 characters')
|
|
109
|
+
},
|
|
110
|
+
'address.addressLine2': {
|
|
111
|
+
rule: 'optional',
|
|
112
|
+
validator: Validator.schema()
|
|
113
|
+
.string()
|
|
114
|
+
.max(255, 'Address line 2 must not exceed 255 characters')
|
|
115
|
+
},
|
|
116
|
+
'address.city': {
|
|
117
|
+
rule: 'optional',
|
|
118
|
+
validator: Validator.schema()
|
|
119
|
+
.string()
|
|
120
|
+
.max(100, 'City must not exceed 100 characters')
|
|
121
|
+
},
|
|
122
|
+
'address.postalCode': {
|
|
123
|
+
rule: 'optional',
|
|
124
|
+
validator: Validator.schema()
|
|
125
|
+
.string()
|
|
126
|
+
.max(20, 'Postal code must not exceed 20 characters')
|
|
97
127
|
}
|
|
98
128
|
});
|
|
99
129
|
|
|
@@ -174,6 +204,36 @@ export default (function (db) {
|
|
|
174
204
|
validator: Validator.schema()
|
|
175
205
|
.string()
|
|
176
206
|
.oneOf(['active', 'inactive', 'blocked'])
|
|
207
|
+
},
|
|
208
|
+
'address.country': {
|
|
209
|
+
rule: 'optional',
|
|
210
|
+
validator: Validator.schema()
|
|
211
|
+
.string()
|
|
212
|
+
.max(100, 'Country must not exceed 100 characters')
|
|
213
|
+
},
|
|
214
|
+
'address.addressLine1': {
|
|
215
|
+
rule: 'optional',
|
|
216
|
+
validator: Validator.schema()
|
|
217
|
+
.string()
|
|
218
|
+
.max(255, 'Address line 1 must not exceed 255 characters')
|
|
219
|
+
},
|
|
220
|
+
'address.addressLine2': {
|
|
221
|
+
rule: 'optional',
|
|
222
|
+
validator: Validator.schema()
|
|
223
|
+
.string()
|
|
224
|
+
.max(255, 'Address line 2 must not exceed 255 characters')
|
|
225
|
+
},
|
|
226
|
+
'address.city': {
|
|
227
|
+
rule: 'optional',
|
|
228
|
+
validator: Validator.schema()
|
|
229
|
+
.string()
|
|
230
|
+
.max(100, 'City must not exceed 100 characters')
|
|
231
|
+
},
|
|
232
|
+
'address.postalCode': {
|
|
233
|
+
rule: 'optional',
|
|
234
|
+
validator: Validator.schema()
|
|
235
|
+
.string()
|
|
236
|
+
.max(20, 'Postal code must not exceed 20 characters')
|
|
177
237
|
}
|
|
178
238
|
});
|
|
179
239
|
|
|
@@ -45,6 +45,24 @@ export default db => {
|
|
|
45
45
|
enum: ['active', 'inactive', 'blocked'],
|
|
46
46
|
default: 'active',
|
|
47
47
|
},
|
|
48
|
+
address: {
|
|
49
|
+
country: {
|
|
50
|
+
type: String,
|
|
51
|
+
},
|
|
52
|
+
addressLine1: {
|
|
53
|
+
type: String,
|
|
54
|
+
required: true,
|
|
55
|
+
},
|
|
56
|
+
addressLine2: {
|
|
57
|
+
type: String,
|
|
58
|
+
},
|
|
59
|
+
city: {
|
|
60
|
+
type: String,
|
|
61
|
+
},
|
|
62
|
+
postalCode: {
|
|
63
|
+
type: String,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
48
66
|
},
|
|
49
67
|
{
|
|
50
68
|
timestamps: {
|
|
@@ -184,44 +184,42 @@ function initializeOrders(app, store, router, options = {}) {
|
|
|
184
184
|
|
|
185
185
|
const ModuleOrder = {
|
|
186
186
|
initialize: initializeOrders,
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
ShopCart,
|
|
224
|
-
},
|
|
187
|
+
store: {
|
|
188
|
+
storeOrders,
|
|
189
|
+
storeShopcart,
|
|
190
|
+
storeTestimonials,
|
|
191
|
+
storeCustomers,
|
|
192
|
+
storeApplications,
|
|
193
|
+
},
|
|
194
|
+
router: {
|
|
195
|
+
routerOrders,
|
|
196
|
+
routerCustomers,
|
|
197
|
+
routerApplications,
|
|
198
|
+
},
|
|
199
|
+
components: {
|
|
200
|
+
// Pages
|
|
201
|
+
Orders,
|
|
202
|
+
Customers,
|
|
203
|
+
Applications,
|
|
204
|
+
// Order,
|
|
205
|
+
OrderCreate,
|
|
206
|
+
OrderCreateBackoffice,
|
|
207
|
+
// Favorites,
|
|
208
|
+
// Blocks
|
|
209
|
+
CardOrderItem,
|
|
210
|
+
CardOrder,
|
|
211
|
+
CardOrderUser,
|
|
212
|
+
CardCustomer,
|
|
213
|
+
StatusHistory,
|
|
214
|
+
// Sections
|
|
215
|
+
FormCustomerDetails,
|
|
216
|
+
AskToLogin,
|
|
217
|
+
FormDelivery,
|
|
218
|
+
EmptyState,
|
|
219
|
+
Succes,
|
|
220
|
+
FormPayment,
|
|
221
|
+
// Partials
|
|
222
|
+
ShopCart,
|
|
225
223
|
},
|
|
226
224
|
};
|
|
227
225
|
|
|
@@ -110,7 +110,13 @@ export const navigationItems = [
|
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
category: 'Management',
|
|
113
|
-
visible: (auth, route) =>
|
|
113
|
+
visible: (auth, route) => hasAccess(
|
|
114
|
+
route.params._id,
|
|
115
|
+
'products',
|
|
116
|
+
'read',
|
|
117
|
+
auth.accesses,
|
|
118
|
+
auth.access.roles
|
|
119
|
+
),
|
|
114
120
|
items: [
|
|
115
121
|
{
|
|
116
122
|
title: 'Categories',
|
|
@@ -161,7 +167,13 @@ export const navigationItems = [
|
|
|
161
167
|
},
|
|
162
168
|
{
|
|
163
169
|
category: 'Orders & Sales',
|
|
164
|
-
visible: (auth, route) =>
|
|
170
|
+
visible: (auth, route) => hasAccess(
|
|
171
|
+
route.params._id,
|
|
172
|
+
'orders',
|
|
173
|
+
'read',
|
|
174
|
+
auth.accesses,
|
|
175
|
+
auth.access.roles
|
|
176
|
+
),
|
|
165
177
|
items: [
|
|
166
178
|
{
|
|
167
179
|
title: 'Orders',
|
|
@@ -169,14 +181,7 @@ export const navigationItems = [
|
|
|
169
181
|
route: (auth, route) => ({
|
|
170
182
|
name: 'OrganizationOrdersList',
|
|
171
183
|
params: { _id: route.params._id }
|
|
172
|
-
})
|
|
173
|
-
visible: (auth, route) => hasAccess(
|
|
174
|
-
route.params._id,
|
|
175
|
-
'orders',
|
|
176
|
-
'read',
|
|
177
|
-
auth.accesses,
|
|
178
|
-
auth.access.roles
|
|
179
|
-
)
|
|
184
|
+
})
|
|
180
185
|
},
|
|
181
186
|
{
|
|
182
187
|
title: 'Customers',
|
|
@@ -184,14 +189,7 @@ export const navigationItems = [
|
|
|
184
189
|
route: (auth, route) => ({
|
|
185
190
|
name: 'OrganizationCustomers',
|
|
186
191
|
params: { _id: route.params._id }
|
|
187
|
-
})
|
|
188
|
-
visible: (auth, route) => hasAccess(
|
|
189
|
-
route.params._id,
|
|
190
|
-
'orders',
|
|
191
|
-
'read',
|
|
192
|
-
auth.accesses,
|
|
193
|
-
auth.access.roles
|
|
194
|
-
)
|
|
192
|
+
})
|
|
195
193
|
},
|
|
196
194
|
{
|
|
197
195
|
title: 'Applications',
|
|
@@ -199,14 +197,7 @@ export const navigationItems = [
|
|
|
199
197
|
route: (auth, route) => ({
|
|
200
198
|
name: 'OrganizationApplications',
|
|
201
199
|
params: { _id: route.params._id }
|
|
202
|
-
})
|
|
203
|
-
visible: (auth, route) => hasAccess(
|
|
204
|
-
route.params._id,
|
|
205
|
-
'orders',
|
|
206
|
-
'read',
|
|
207
|
-
auth.accesses,
|
|
208
|
-
auth.access.roles
|
|
209
|
-
)
|
|
200
|
+
})
|
|
210
201
|
},
|
|
211
202
|
]
|
|
212
203
|
},
|