@ozdao/prometheus-framework 0.2.48 → 0.2.50

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. package/dist/auth.server.js +27 -25
  2. package/dist/auth.server.mjs +27 -25
  3. package/dist/community.server.js +1 -1
  4. package/dist/community.server.mjs +1 -1
  5. package/dist/events.server.js +1 -1
  6. package/dist/events.server.mjs +1 -1
  7. package/dist/files.server.js +1 -1
  8. package/dist/files.server.mjs +1 -1
  9. package/dist/gallery.server.js +1 -1
  10. package/dist/gallery.server.mjs +1 -1
  11. package/dist/index-3981e903.mjs +217 -0
  12. package/dist/index-4eecfdb9.js +216 -0
  13. package/dist/main-203b36b6.mjs +13628 -0
  14. package/dist/main-_b1_i8mt.mjs +13606 -0
  15. package/dist/main-a7ae4ce5.js +91 -0
  16. package/dist/main-uiQFxEks.js +91 -0
  17. package/dist/middlewares.server.js +1 -1
  18. package/dist/middlewares.server.mjs +1 -1
  19. package/dist/node_modules/vue-select/dist/vue-select.es.cjs +1 -3
  20. package/dist/node_modules/vue-select/dist/vue-select.es.js +49 -645
  21. package/dist/organizations.server.js +13 -27
  22. package/dist/organizations.server.mjs +13 -27
  23. package/dist/products.server.js +95 -15
  24. package/dist/products.server.mjs +95 -15
  25. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +1 -1
  26. package/dist/prometheus-framework/src/components/Button/Button.vue.js +2 -225
  27. package/dist/prometheus-framework/src/components/Button/Button.vue2.cjs +1 -1
  28. package/dist/prometheus-framework/src/components/Button/Button.vue2.js +225 -2
  29. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue.cjs +1 -1
  30. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue.js +61 -2
  31. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue2.cjs +1 -1
  32. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue2.js +2 -61
  33. package/dist/prometheus-framework/src/components/Field/Field.vue.cjs +1 -1
  34. package/dist/prometheus-framework/src/components/Field/Field.vue.js +2 -76
  35. package/dist/prometheus-framework/src/components/Field/Field.vue2.cjs +1 -1
  36. package/dist/prometheus-framework/src/components/Field/Field.vue2.js +76 -2
  37. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  38. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  39. package/dist/prometheus-framework/src/components/SelectMulti/SelectMulti.vue.cjs +1 -1
  40. package/dist/prometheus-framework/src/components/SelectMulti/SelectMulti.vue.js +6 -6
  41. package/dist/prometheus-framework/src/components/Tab/Tab.vue.cjs +1 -1
  42. package/dist/prometheus-framework/src/components/Tab/Tab.vue.js +2 -44
  43. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.cjs +1 -1
  44. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.js +44 -2
  45. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.cjs +1 -1
  46. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.js +3 -3
  47. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.cjs +1 -1
  48. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.js +1 -1
  49. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.cjs +1 -1
  50. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.js +3 -3
  51. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.cjs +1 -1
  52. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.js +44 -32
  53. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.cjs +1 -1
  54. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.js +3 -3
  55. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.cjs +1 -1
  56. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.js +3 -3
  57. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.cjs +1 -1
  58. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.js +3 -3
  59. package/dist/prometheus-framework/src/modules/auth/store/auth.cjs +1 -1
  60. package/dist/prometheus-framework/src/modules/auth/store/auth.js +45 -44
  61. package/dist/prometheus-framework/src/modules/auth/store/invites.cjs +1 -1
  62. package/dist/prometheus-framework/src/modules/auth/store/invites.js +5 -5
  63. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  64. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  65. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  66. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
  67. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  68. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  69. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  70. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  71. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  72. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  73. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs +1 -1
  74. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js +1 -1
  75. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  76. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  77. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.cjs +1 -1
  78. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.js +2 -2
  79. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
  80. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +1 -1
  81. package/dist/prometheus-framework/src/modules/globals/store/globals.cjs +1 -1
  82. package/dist/prometheus-framework/src/modules/globals/store/globals.js +22 -21
  83. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
  84. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +3 -3
  85. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.cjs +1 -1
  86. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.js +11 -2
  87. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.cjs +1 -1
  88. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.js +2 -11
  89. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.cjs +1 -1
  90. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.js +1 -1
  91. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  92. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +1 -1
  93. package/dist/prometheus-framework/src/modules/orders/components/sections/FormOrderDetails.vue.cjs +1 -1
  94. package/dist/prometheus-framework/src/modules/orders/components/sections/FormOrderDetails.vue.js +1 -1
  95. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.js +17 -17
  97. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.cjs +1 -1
  98. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.js +49 -42
  99. package/dist/prometheus-framework/src/modules/organizations/components/blocks/User.vue.cjs +1 -1
  100. package/dist/prometheus-framework/src/modules/organizations/components/blocks/User.vue.js +47 -15
  101. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  102. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  103. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
  104. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.js +38 -37
  105. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  106. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +249 -61
  107. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  108. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +78 -45
  109. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  110. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +161 -86
  111. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  112. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  113. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  114. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  115. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  116. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  117. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  118. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +52 -54
  119. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  120. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +20 -26
  121. package/dist/prometheus-framework/src/modules/organizations/organizations.client.cjs +1 -1
  122. package/dist/prometheus-framework/src/modules/organizations/organizations.client.js +40 -46
  123. package/dist/prometheus-framework/src/modules/organizations/store/departments.cjs +1 -1
  124. package/dist/prometheus-framework/src/modules/organizations/store/departments.js +34 -30
  125. package/dist/prometheus-framework/src/modules/organizations/store/memberships.cjs +1 -1
  126. package/dist/prometheus-framework/src/modules/organizations/store/memberships.js +30 -28
  127. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  128. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +18 -18
  129. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  130. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  131. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  132. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  133. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
  134. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  136. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  137. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs +1 -1
  138. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js +33 -28
  139. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  140. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +123 -113
  141. package/dist/prometheus-framework/src/modules/products/components/pages/ProductsBackoffice.vue.cjs +1 -1
  142. package/dist/prometheus-framework/src/modules/products/components/pages/ProductsBackoffice.vue.js +1 -1
  143. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  144. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  146. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
  147. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  148. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  149. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  150. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  151. package/dist/prometheus-framework/src/modules/products/store/products.cjs +1 -1
  152. package/dist/prometheus-framework/src/modules/products/store/products.js +1 -1
  153. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  154. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  155. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
  156. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +3 -3
  157. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.cjs +1 -1
  158. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.js +1 -1
  159. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.cjs +1 -1
  160. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +3 -3
  161. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.cjs +1 -1
  162. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.js +1 -1
  163. package/dist/prometheus-framework/src/modules/wallet/components/pages/Wallet.vue.cjs +1 -1
  164. package/dist/prometheus-framework/src/modules/wallet/components/pages/Wallet.vue.js +1 -1
  165. package/dist/prometheus-framework.cjs.js +1 -1
  166. package/dist/prometheus-framework.es.js +1 -1
  167. package/dist/reports.server.js +1 -1
  168. package/dist/reports.server.mjs +1 -1
  169. package/dist/style.css +1 -1
  170. package/dist/web-7p76PGnO.mjs +55 -0
  171. package/dist/web-c63f0ecc.js +1 -0
  172. package/dist/web-d8173758.mjs +55 -0
  173. package/dist/web-dn8vgptQ.js +1 -0
  174. package/package.json +1 -1
  175. package/src/components/SelectMulti/SelectMulti.vue +1 -1
  176. package/src/modules/auth/components/pages/Invite.vue +17 -6
  177. package/src/modules/auth/controllers/auth.controller.js +24 -16
  178. package/src/modules/auth/controllers/invites.controller.js +17 -8
  179. package/src/modules/auth/store/auth.js +8 -1
  180. package/src/modules/auth/store/invites.js +1 -0
  181. package/src/modules/globals/store/globals.js +5 -1
  182. package/src/modules/landing/components/blocks/MapBlock.vue +37 -0
  183. package/src/modules/landing/components/pages/404.vue +3 -0
  184. package/src/modules/landing/components/pages/Governance.vue +155 -0
  185. package/src/modules/landing/components/pages/Home.vue +52 -0
  186. package/src/modules/landing/components/pages/Hotel.vue +54 -0
  187. package/src/modules/landing/components/pages/Page.vue +184 -0
  188. package/src/modules/landing/components/sections/AboutSection.vue +69 -0
  189. package/src/modules/landing/components/sections/Examples.vue +90 -0
  190. package/src/modules/landing/components/sections/FeatureSection.vue +80 -0
  191. package/src/modules/landing/components/sections/GiftSection.vue +63 -0
  192. package/src/modules/landing/components/sections/HeroSection.vue +74 -0
  193. package/src/modules/landing/components/sections/HowItWorksSection.vue +88 -0
  194. package/src/modules/landing/components/sections/HowToBuyWDR.vue +131 -0
  195. package/src/modules/landing/components/sections/InstagramSection.vue +181 -0
  196. package/src/modules/landing/components/sections/MapSection.vue +91 -0
  197. package/src/modules/landing/components/sections/SectionsSection.vue +69 -0
  198. package/src/modules/landing/components/sections/SliderFeatures.vue +131 -0
  199. package/src/modules/landing/components/sections/WhatIsWDRSection.vue +116 -0
  200. package/src/modules/landing/router/landing.js +34 -0
  201. package/src/modules/middlewares/server/verifySignUp.js +4 -0
  202. package/src/modules/organizations/components/blocks/CardDepartment.vue +3 -3
  203. package/src/modules/organizations/components/blocks/DepartmentMemberModify.vue +52 -44
  204. package/src/modules/organizations/components/blocks/User.vue +42 -10
  205. package/src/modules/organizations/components/pages/Department.vue +7 -6
  206. package/src/modules/organizations/components/pages/DepartmentEdit.vue +110 -134
  207. package/src/modules/organizations/components/pages/Members.vue +85 -26
  208. package/src/modules/organizations/components/pages/Organization.vue +60 -4
  209. package/src/modules/organizations/components/sections/MembersAdd.vue +27 -34
  210. package/src/modules/organizations/components/sections/Organizations.vue +0 -1
  211. package/src/modules/organizations/controllers/memberships.controller.js +6 -2
  212. package/src/modules/organizations/controllers/organizations.controller.js +1 -1
  213. package/src/modules/organizations/models/department.model.js +0 -19
  214. package/src/modules/organizations/models/membership.model.js +4 -0
  215. package/src/modules/organizations/organizations.client.js +1 -6
  216. package/src/modules/organizations/store/departments.js +48 -44
  217. package/src/modules/organizations/store/memberships.js +11 -3
  218. package/src/modules/products/components/blocks/CardPosition.vue +2 -2
  219. package/src/modules/products/components/pages/Product.vue +6 -1
  220. package/src/modules/products/components/pages/ProductEdit.vue +48 -28
  221. package/src/modules/products/controllers/products.controller.js +87 -24
  222. package/src/modules/products/models/product.model.js +16 -1
  223. package/src/modules/products/store/products.js +1 -1
  224. package/src/modules/users/components/pages/ProfileOrganizations.vue +41 -7
  225. package/src/modules/organizations/components/sections/FeedDepartments.vue +0 -64
  226. package/src/modules/organizations/components/sections/MembersList.vue +0 -85
  227. package/src/modules/organizations/store/invites.js +0 -93
@@ -1,76 +1,84 @@
1
1
  <template>
2
2
  <div>
3
- <div class="br-grey radius-small mn-b-small">
4
- <VueSelect
5
- v-if="props.department === null"
6
- v-model="departmentForm.subdepartment"
7
- :options="filteredDepartments"
8
- :get-option-label='option => option.name'
9
- class="w-100 mn-b-small"
10
- />
3
+
4
+ <div class="br-grey radius-small mn-small">
5
+ {{memberForm.id}}
6
+ <SelectMulti
7
+ v-if="props.member === null"
8
+ v-model="memberForm.user"
9
+ :options="users"
10
+ :multiple="false"
11
+ :taggable="false"
12
+ placeholder="Type to search or add type of organization"
13
+ class="mn-b-semi bg-grey pd-medium radius-small"
14
+ />
15
+
11
16
  <div v-else class="pd-small br-grey br-1px br-solid">
12
- {{ departmentForm.name ? departmentForm.name : 'Безымянный' }}
17
+ {{ memberForm.user.name ? memberForm.user.name : 'Безымянный' }}, {{memberForm.user.id}}
13
18
  </div>
19
+ <Field
20
+ v-model:field="memberForm.position"
21
+ label="Должность"
22
+ placeholder="Название должности"
23
+ class="bg-white "
24
+ :validation="organizationName"
25
+ />
14
26
  </div>
15
27
 
16
- <button :disabled="!departmentForm.subdepartment" v-if="props.department === null" @click="submitForm" class="w-100 button bg-second t-white">
17
- Добавить отдел
28
+ <button :disabled="!memberForm.user._id || !memberForm.position" @click="submitForm" class="w-100 button bg-blue t-white">
29
+ {{ props.member !== null ? "Редактировать участника" : "Добавить участника" }}
18
30
  </button>
19
31
 
20
- <button v-if="props.department !== null" @click="removeMember" class="w-100 button bg-fourth t-white">
21
- Удалить отдел
22
- </button>
32
+ <button v-if="props.member !== null" @click="removeMember" class="w-100 button bg-red t-white">
33
+ Удалить участника
34
+ </button>
23
35
  </div>
24
36
  </template>
25
37
 
26
38
  <script setup>
27
- import { ref, computed } from "vue";
28
- import VueSelect from "vue-select";
39
+ import { ref, watch, computed } from "vue";
40
+ // Import components
41
+ import SelectMulti from '@pf/src/components/SelectMulti/SelectMulti.vue'
29
42
  import Field from "@pf/src/components/Field/Field.vue";
30
43
  import Select from "@pf/src/components/Select/Select.vue";
44
+
31
45
  const props = defineProps({
32
46
  isPopupOpen: Boolean,
33
- department: Number,
34
- departments: Array,
35
- maindepartment: Object,
36
- alldepartments: Array,
47
+ member: Number,
48
+ members: Array,
49
+ users: Array,
37
50
  });
38
51
 
39
- const emits = defineEmits(['callback', 'remove']);
52
+ const emits = defineEmits(['callback','remove'])
40
53
 
41
- const departmentForm = ref({
42
- subdepartment: null,
54
+ const memberForm = ref({
55
+ user: "",
56
+ position: "",
43
57
  });
44
58
 
45
- if (props.department !== null) {
46
- departmentForm.value = props.departments[props.department];
59
+ if (props.member !== null) {
60
+ memberForm.value = props.members[props.member]
47
61
  }
48
62
 
49
- function filterDepartments(allDepartments, departments, editingDepartment) {
50
- return allDepartments.filter((department) => {
51
- if (departments.some((dept) => dept._id === department._id)) {
52
- return false;
53
- }
54
- if (editingDepartment._id === department._id) {
55
- return false;
56
- }
57
- return true;
58
- });
59
- }
63
+ import * as inputsValidation from '@pf/src/modules/middlewares/client/inputs.validation'
64
+ const placeValidation = ref(null)
60
65
 
61
- const filteredDepartments = computed(() => {
62
- return filterDepartments(props.alldepartments, props.departments, props.maindepartment);
63
- });
64
66
 
65
67
  async function submitForm() {
66
- props.departments.push(departmentForm.value.subdepartment);
67
- emits("callback");
68
+ if (props.member !== null) {
69
+ props.members[props.member] = memberForm.value
70
+ emits("callback");
71
+ } else {
72
+ props.members.push(memberForm.value);
73
+ emits("callback");
74
+ }
68
75
  }
69
76
 
70
77
  async function removeMember() {
71
- props.departments.splice(props.department, 1);
72
- emits("callback");
78
+ props.members.splice(props.member, 1);
79
+ emits("callback");
73
80
  }
81
+
74
82
  </script>
75
83
 
76
84
  <style scoped>
@@ -89,4 +97,4 @@ input {
89
97
  border: 1px solid #ccc;
90
98
  border-radius: 5px;
91
99
  }
92
- </style>
100
+ </style>
@@ -1,23 +1,55 @@
1
1
  <template>
2
- <div class="pd-small flex-nowrap flex">
3
- <!-- <img :src="(FILE_SERVER_URL || '') + avatar" :alt="`${name} avatar`" class="user-card__avatar" /> -->
4
- <div class="user-card__info">
5
- <p class="user-card__name">{{ user.name ? user.name : 'Безымянный' }}</p>
6
- <p class="t-transp">{{ position }}</p>
7
- </div>
2
+ <div class="">
3
+ <img
4
+ v-if="user.profile?.photo.length > 0 && type !== 'short'"
5
+ :src="(FILE_SERVER_URL || '') + member.profile.photo"
6
+ class="radius-medium object-fit-cover mn-r-thin i-thin"
7
+
8
+ @click.stop="$router.push({
9
+ name: user.type === 'user' ? 'User Profile' : 'Organization',
10
+ params: {
11
+ _id: user._id
12
+ }
13
+ })"
14
+ />
15
+
16
+ <PlaceholderUserpic
17
+ v-if="!user.profile?.photo && type !== 'short'"
18
+ class="radius-medium mn-r-thin i-thin"
19
+
20
+ @click.stop="$router.push({
21
+ name: user.type === 'user' ? 'User Profile' : 'Organization',
22
+ params: {
23
+ _id: user._id
24
+ }
25
+ })"
26
+ />
27
+ <!-- <div class="user-card__info"> -->
28
+ <!-- <p class="user-card__name">{{ user.profile?.name || 'Безымянный' }}</p> -->
29
+ <!-- </div> -->
30
+ <div class="mn-r-auto">
31
+ <span class=" mn-r-small">{{user.profile?.email}} {{user.profile?.phone}}</span>
32
+ <span class="t-transp">{{user.role}}</span>
33
+ <br>
34
+ <span class="mn-r-auto t-transp">Member since (date) {{user.createdAt}}</span>
35
+ </div>
36
+
37
+ <div v-if="user.position !== 'Основатель'" class="mn-l-medium flex-v-center flex">
38
+ <button @click="removeMember(user)" class="button-small button">×</button>
39
+ </div>
40
+
8
41
  </div>
9
42
  </template>
10
43
 
11
44
  <script setup>
12
45
 
46
+
47
+ import PlaceholderUserpic from '@pf/src/modules/icons/placeholders/PlaceholderUserpic.vue'
48
+
13
49
  const props = defineProps({
14
50
  user: {
15
51
  type: Object,
16
52
  required: true
17
- },
18
- position: {
19
- type: String,
20
- required: true
21
53
  }
22
54
  // Define other props here
23
55
  });
@@ -1,12 +1,13 @@
1
1
  <template>
2
2
  <div class="for-transition w-100">
3
3
 
4
- <div id="dash" class="pd-medium bg-grey">
4
+ <div v-if="departments.state.department" id="dash" class="pd-medium bg-grey">
5
5
  <section class="mn-b-medium radius-medium pd-semi bg-white">
6
6
  <div class="flex-nowrap flex mn-b-small">
7
- <h2 class="w-100">{{ departments.state.department.name }}</h2>
8
7
 
9
- <svg @click="$router.push(`/app/organization/departments/${departments.state.department._id}/edit`)" class="i-regular t-transp" width="652" height="652" viewBox="0 0 652 652" fill="none" xmlns="http://www.w3.org/2000/svg">
8
+ <h2 class="w-100">{{ departments.state.department.profile.name }}</h2>
9
+
10
+ <svg @click="$router.push(`/organizations/${route.params._id}/departments/${route.params.department}/edit`)" class="i-regular t-transp" width="652" height="652" viewBox="0 0 652 652" fill="none" xmlns="http://www.w3.org/2000/svg">
10
11
  <path d="M515.693 9.52082C510.095 3.91669 502.49 0.765625 494.563 0.765625C486.635 0.765625 479.036 3.91669 473.432 9.52082L48.7255 434.307C44.8244 438.214 42.0848 443.125 40.8088 448.496L0.939444 615.069C-1.47202 625.168 1.528 635.788 8.86652 643.132C16.2103 650.47 26.8305 653.47 36.9292 651.059L203.516 611.261H203.511C208.88 609.985 213.792 607.246 217.699 603.35L642.485 178.496C648.089 172.892 651.241 165.293 651.241 157.366C651.241 149.439 648.089 141.835 642.485 136.235L515.693 9.52082ZM113.76 453.708L388.307 179.161L472.828 263.682L198.281 538.229L113.76 453.708ZM87.1041 511.5L140.416 564.812L70.3014 581.614L87.1041 511.5ZM515.091 221.793L430.195 136.897L494.184 72.9075L579.08 157.429L515.091 221.793Z" fill="rgb(var(--black))"/>
11
12
  </svg>
12
13
 
@@ -22,7 +23,7 @@
22
23
  class="br-b br-solid br-grey"
23
24
  v-for="(member, index) in departments.state.department.members"
24
25
  :key="index"
25
- :user="member.user"
26
+ :user="member"
26
27
  :position="member.position"
27
28
  @click="$router.push(`/app/profile/${member.user._id}`)"
28
29
  />
@@ -46,12 +47,12 @@ import { useRoute, useRouter } from 'vue-router';
46
47
  import Spoiler from '@pf/src/components/Spoiler/Spoiler.vue';
47
48
  import DepartmentSub from '@pf/src/modules/organizations/components/blocks/DepartmentSub.vue';
48
49
  import User from '@pf/src/modules/organizations/components/blocks/User.vue';
49
- import * as departments from '@pf/src/modules/spots/store/spots';
50
+ import * as departments from '@pf/src/modules/organizations/store/departments';
50
51
 
51
52
  const router = useRouter();
52
53
  const route = useRoute();
53
54
 
54
- await departments.actions.readOne(route.params._id);
55
+ await departments.actions.readOne(route.params.department);
55
56
  </script>
56
57
 
57
58
  <style scoped>
@@ -1,184 +1,158 @@
1
1
  <template>
2
- <div class="for-transition w-100">
3
-
4
- <div class="pd-b-zero pd-t-zero pd-thin">
5
- <Breadcrumbs class="pd-medium bg-grey radius-big"/>
6
- </div>
2
+ <div class="for-transition pd-thin w-100">
3
+
4
+ <header class="mn-b-thin flex-nowrap flex bg-grey pd-medium radius-big">
5
+ <h1 v-if="route.params.department" class="mn-r-auto">Edit Department</h1>
6
+ <h1 v-else class="mn-r-auto">Create Department</h1>
7
7
 
8
- <div class="pd-thin">
9
- <header class="flex-nowrap flex bg-grey pd-medium radius-big">
10
- <h1 v-if="route.params.department" class="mn-r-auto">Edit Spot</h1>
11
- <h1 v-else class="mn-r-auto">Create Spot</h1>
8
+ <section class="flex-nowrap flex pd-thin">
9
+ <Button :submit="onSubmit" :callback="redirectTo" class="bg-main">Save Department</Button>
10
+ </section>
12
11
 
13
- <section class="flex-nowrap flex pd-thin">
14
- <Button :submit="onSubmit" :callback="redirectTo">Save Spot</Button>
15
- </section>
12
+ </header>
16
13
 
17
- </header>
14
+ <div class="mn-b-thin bg-grey pd-medium o-hidden radius-big">
15
+ <h3 class="mn-b-semi">Profile</h3>
16
+
17
+ <div v-if="departments.state.department.profile" class="radius-small flex-nowrap flex">
18
+ <UploadImage
19
+ v-model:photo="departments.state.department.profile.photo"
20
+ :uploadPath="'organizations/' + departments.state.department.name + '/avatars'"
21
+ class="w-8r aspect-1x1 o-hidden mn-r-small radius-extra"
22
+ />
23
+ <div class="w-100 flex-child-grow-1 flex-child ">
24
+ <Field
25
+ v-model:field="departments.state.department.profile.name"
26
+ label="Name"
27
+ placeholder="Department Name"
28
+ class="mn-b-small bg-white radius-small pd-medium"
29
+ :validation="organizationName"
30
+ />
31
+ <Field
32
+ v-model:field="departments.state.department.profile.description"
33
+ label="Description"
34
+ placeholder="Department description (max 120 symbols)"
35
+ class="bg-white radius-small pd-medium"
36
+ :validation="organizationName"
37
+ />
38
+ </div>
39
+ </div>
18
40
  </div>
19
41
 
20
- <!-- <div class="pd-b-zero pd-t-zero pd-thin cols-2 gap-thin">
21
-
22
- <div class="flex-stretch flex-column flex">
42
+ <Block
43
+ title="Team"
44
+ placeholder="No members added yet"
45
+ :actions="[{
46
+ label: '+',
47
+ function: () => openMemberPopup()
48
+ }]"
49
+ class="cols-1 gap-thin mn-b-thin"
50
+ >
51
+ <User
52
+ class="bg-grey o-hidden radius-small mn-b-thin"
53
+ v-for="(member, index) in departments.state.department.members"
54
+ :key="index"
55
+ :user="member.user"
56
+ :position="member.position"
57
+ @click="openMemberPopup(index)"
58
+ />
59
+ </Block>
60
+
61
+ <Popup
62
+ title="Добавить участника"
63
+ @close-popup="closeMemberPopup"
64
+ :isPopupOpen="isOpenAddMemberPopup"
65
+ >
66
+ <DepartmentMemberModify
67
+ :members="departments.state.department.members"
68
+ :member="selectedMember"
69
+ :users="memberships.state.memberships"
70
+ @callback="closeMemberPopup"
71
+ />
72
+ </Popup>
73
+
23
74
 
24
- <div class="mn-b-thin bg-grey pd-medium o-hidden radius-big">
25
- <h3 class="mn-b-semi">Profile</h3>
75
+ <div class="cols-2 gap-thin">
76
+
77
+ <div class="bg-grey pd-medium o-hidden radius-big">
78
+ <h3 class="mn-b-semi">Department Settings</h3>
26
79
 
27
- <div v-if="departments.state.department.profile" class="radius-small flex-nowrap flex">
28
- <UploadImage
29
- v-model:photo="departments.state.department.profile.photo"
30
- :uploadPath="'organizations/' + departments.state.department.name + '/avatars'"
31
- class="w-8r aspect-1x1 o-hidden mn-r-small radius-extra"
80
+ <p class="p-medium mn-b-small">Please settings for your department:</p>
81
+ <div class="cols-1 gap-thin">
82
+ <h4>Products</h4>
83
+ <Checkbox
84
+ label="Hidden department"
85
+ name="Delivery"
86
+ value="pickup"
87
+ class="w-100 mn-r-small bg-white radius-small pd-small"
88
+ :radio="departments.state.department.delivery"
32
89
  />
33
- <div class="w-100 flex-child-grow-1 flex-child ">
34
- <Field
35
- v-model:field="departments.state.department.profile.name"
36
- label="Name"
37
- placeholder="Spot Name"
38
- class="mn-b-small bg-white radius-small pd-medium"
39
- :validation="organizationName"
40
- />
41
- <Field
42
- v-model:field="departments.state.department.profile.description"
43
- label="Description"
44
- placeholder="Spot description (max 120 symbols)"
45
- class="bg-white radius-small pd-medium"
46
- :validation="organizationName"
47
- />
48
- </div>
49
90
  </div>
50
91
  </div>
51
92
 
52
93
  <div class="bg-grey pd-medium o-hidden radius-big">
53
- <h3 class="mn-b-semi">Details</h3>
94
+ <h3 class="mn-b-semi">Acessess</h3>
95
+
96
+ <p class="p-medium mn-b-small">Please select organization accesses for user in department:</p>
54
97
 
55
- <p class="p-medium mn-b-small">Please the available delivery options:</p>
56
- <div class="mn-b-medium flex-nowrap flex">
98
+ <div class="cols-1 gap-thin">
99
+ <h4>Products</h4>
57
100
  <Checkbox
58
- label="Pickup"
101
+ label="See products"
59
102
  name="Delivery"
60
103
  value="pickup"
61
104
  class="w-100 mn-r-small bg-white radius-small pd-small"
62
105
  :radio="departments.state.department.delivery"
63
106
  />
64
107
  <Checkbox
65
- label="Delivery"
108
+ label="Edit products"
66
109
  name="Delivery"
67
110
  value="courier"
68
111
  class="w-100 mn-r-small bg-white radius-small pd-small"
69
112
  :radio="departments.state.department.delivery"
70
113
  />
71
114
  <Checkbox
72
- label="Post"
115
+ label="Delete orders"
73
116
  name="Delivery"
74
117
  value="post"
75
118
  class="w-100 bg-white radius-small pd-small"
76
119
  :radio="departments.state.department.delivery"
77
120
  />
78
- </div>
79
-
80
- <p class="p-medium mn-b-small">Please select the available payment methods:</p>
81
- <div class="flex-nowrap flex">
121
+ <h4>Orders</h4>
82
122
  <Checkbox
83
- label="Cash"
84
- name="Payment"
85
- value="cash"
123
+ label="See orders"
124
+ name="Delivery"
125
+ value="pickup"
86
126
  class="w-100 mn-r-small bg-white radius-small pd-small"
87
- :radio="departments.state.department.payment"
127
+ :radio="departments.state.department.delivery"
88
128
  />
89
129
  <Checkbox
90
- label="Bank Transfer"
91
- name="Payment"
92
- value="bank"
130
+ label="Confirm orders"
131
+ name="Delivery"
132
+ value="courier"
93
133
  class="w-100 mn-r-small bg-white radius-small pd-small"
94
- :radio="departments.state.department.payment"
134
+ :radio="departments.state.department.delivery"
95
135
  />
96
136
  <Checkbox
97
- label="Crypto"
98
- name="Payment"
99
- value="crypto"
137
+ label="Delete orders"
138
+ name="Delivery"
139
+ value="post"
100
140
  class="w-100 bg-white radius-small pd-small"
101
- :radio="departments.state.department.payment"
141
+ :radio="departments.state.department.delivery"
102
142
  />
103
143
  </div>
104
144
  </div>
105
- </div>
106
145
 
107
- <div class="bg-grey pd-medium o-hidden radius-big">
108
- <h3 class="mn-b-semi">Location</h3>
109
- <Address
110
- :apiKey="GOOGLE_MAPS_API_KEY"
111
- :address="departments.state.department.address"
112
- :location="departments.state.department.location"
113
- label="Address"
114
- placeholder="Enter delivery address"
115
- class="
116
- bg-white radius-small pd-small mn-b-small
117
- "
118
- @update:location="newLocation => {
119
- departments.state.department.location = newLocation;
120
- }"
121
- @update:address="newAddress => {
122
- departments.state.department.address = newAddress;
123
- }"
124
- />
125
-
126
- <p class="mn-b-small p-medium">Or choose on map:</p>
127
-
128
- <LocationMarker
129
- :address="departments.state.department.address"
130
- :location="departments.state.department.location"
131
- :apiKey="GOOGLE_MAPS_API_KEY"
132
- class="radius-big o-hidden"
133
- @update:location="newLocation => {
134
- departments.state.department.location = newLocation;
135
- }"
136
- @update:address="newAddress => {
137
- departments.state.department.address = newAddress;
138
- }"
139
- />
140
146
 
141
147
  </div>
142
- </div> -->
143
148
 
144
- <section class="flex-nowrap flex pd-thin">
145
- <Button :submit="onDelete" :callback="redirectToDash" class="bg-grey">Delete Spot</Button>
149
+ <section v-if="route.params.department" class="flex-nowrap flex pd-thin">
150
+ <Button :submit="onDelete" :callback="redirectToDash" class="bg-grey">Delete Department</Button>
146
151
  </section>
147
152
 
148
153
 
149
154
 
150
- <!-- <div id="dash" class="pd-medium bg-white">
151
-
152
-
153
- <div class="mn-b-regular flex-v-center flex-nowrap flex">
154
- <h3 class="mn-r-small">Команда</h3>
155
- <div>
156
- <a class="t-main h5" @click="openMemberPopup()">+</a>
157
- </div>
158
- </div>
159
-
160
- <Popup title="Добавить участника" @close-popup="closeMemberPopup" :isPopupOpen="isOpenAddMemberPopup">
161
- <DepartmentMemberModify
162
- :members="departments.state.department.members"
163
- :member="selectedMember"
164
- :users="users"
165
- @callback="closeMemberPopup"
166
- />
167
- </Popup>
168
-
169
-
170
- <ul class=mn-b-small>
171
- <li v-if="departments.state.department.members.length < 1">В отделе еще нет участников</li>
172
- <User
173
- class="bg-grey o-hidden radius-small mn-b-thin"
174
- v-for="(member, index) in departments.state.department.members"
175
- :key="index"
176
- :user="member.user"
177
- :position="member.position"
178
- @click="openMemberPopup(index)"
179
- />
180
- </ul>
181
-
155
+ <div id="dash" class="pd-medium bg-white">
182
156
 
183
157
  <Popup title="Добавить подотдел" @close-popup="closeDepartmentPopup" :isPopupOpen="isOpenDepartmentPopup">
184
158
  <DepartmentSubDepartmentModify
@@ -208,7 +182,7 @@
208
182
  </ul>
209
183
 
210
184
 
211
- </div> -->
185
+ </div>
212
186
  </div>
213
187
  </template>
214
188
 
@@ -219,7 +193,6 @@ import Cookies from "js-cookie";
219
193
  import Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'
220
194
  import UploadImage from '@pf/src/components/UploadImage/UploadImage.vue';
221
195
 
222
-
223
196
  import Tab from "@pf/src/components/Tab/Tab.vue";
224
197
  import Field from "@pf/src/components/Field/Field.vue";
225
198
  import Select from "@pf/src/components/Select/Select.vue";
@@ -228,6 +201,7 @@ import Address from "@pf/src/components/Address/Address.vue";
228
201
  import LocationMarker from "@pf/src/components/LocationMarker/LocationMarker.vue";
229
202
  import Button from "@pf/src/components/Button/Button.vue";
230
203
  import Popup from "@pf/src/components/Popup/Popup.vue";
204
+ import Block from '@pf/src/components/Block/Block.vue';
231
205
 
232
206
  import EditArray from "@pf/src/modules/organizations/components/blocks/EditArray.vue";
233
207
  import DepartmentSub from "@pf/src/modules/organizations/components/blocks/DepartmentSub.vue";
@@ -235,9 +209,11 @@ import DepartmentMemberModify from "@pf/src/modules/organizations/components/blo
235
209
  import DepartmentSubDepartmentModify from "@pf/src/modules/organizations/components/blocks/DepartmentMemberModify.vue";
236
210
  import User from '@pf/src/modules/organizations/components/blocks/User.vue';
237
211
 
238
- import * as departments from "@pf/src/modules/spots/store/spots";
212
+ import * as departments from "@pf/src/modules/organizations/store/departments";
239
213
  import * as memberships from "@pf/src/modules/organizations/store/memberships";
240
214
 
215
+
216
+
241
217
  const router = useRouter();
242
218
  const route = useRoute();
243
219
  const tabOrganization = ref("details");
@@ -245,7 +221,7 @@ const showAddNew = ref(false);
245
221
 
246
222
  async function fetchData() {
247
223
  if (route.params.department) {
248
- await memberships.actions.read(route.params.department);
224
+ await memberships.actions.read({target: route.params._id});
249
225
  }
250
226
  const users = ref(memberships.state.memberships);
251
227