@coopenomics/desktop 2025.7.2 → 2025.7.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coopenomics/desktop",
3
- "version": "2025.7.2",
3
+ "version": "2025.7.3",
4
4
  "description": "A Desktop Project",
5
5
  "productName": "Desktop App",
6
6
  "author": "Alex Ant <dacom.dark.sun@gmail.com>",
@@ -24,8 +24,8 @@
24
24
  "start": "node -r ./alias-resolver.js dist/ssr/index.js"
25
25
  },
26
26
  "dependencies": {
27
- "@coopenomics/controller": "2025.7.2",
28
- "@coopenomics/sdk": "2025.7.2",
27
+ "@coopenomics/controller": "2025.7.3",
28
+ "@coopenomics/sdk": "2025.7.3",
29
29
  "@dicebear/collection": "^9.0.1",
30
30
  "@dicebear/core": "^9.0.1",
31
31
  "@fortawesome/fontawesome-svg-core": "^6.5.2",
@@ -50,7 +50,7 @@
50
50
  "@wharfkit/wallet-plugin-privatekey": "^1.1.0",
51
51
  "axios": "^1.2.1",
52
52
  "compression": "^1.7.4",
53
- "cooptypes": "2025.7.2",
53
+ "cooptypes": "2025.7.3",
54
54
  "dompurify": "^3.1.7",
55
55
  "dotenv": "^16.4.5",
56
56
  "email-regex": "^5.0.0",
@@ -103,5 +103,5 @@
103
103
  "npm": ">= 6.13.4",
104
104
  "yarn": ">= 1.21.1"
105
105
  },
106
- "gitHead": "305864c1ed125be304a3b4fa9749ac6743dd5571"
106
+ "gitHead": "3bf3c7987336453bf1a5fc0260b8f5b09c230506"
107
107
  }
@@ -1,130 +1,228 @@
1
1
  <template lang="pug">
2
- div(v-if="userData.organization_data").q-gutter-sm.q-mt-md
2
+ .q-gutter-sm.q-mt-md(v-if='userData.organization_data')
3
+ q-select.q-mb-md(
4
+ v-model='userData.organization_data.type',
5
+ label='Выберите тип организации',
6
+ standout='bg-teal text-white',
7
+ :options='[ { label: "Потребительский Кооператив", value: Zeus.OrganizationType.COOP }, { label: "Производственный Кооператив", value: Zeus.OrganizationType.PRODCOOP }, { label: "ООО", value: Zeus.OrganizationType.OOO }, ]',
8
+ emit-value,
9
+ map-options
10
+ )
11
+
12
+ q-input(
13
+ v-model='userData.organization_data.short_name',
14
+ standout='bg-teal text-white',
15
+ hint='ПК Ромашка',
16
+ label='Краткое наименование организации',
17
+ :rules='[(val) => notEmpty(val)]',
18
+ autocomplete='off'
19
+ )
20
+ q-input(
21
+ v-model='userData.organization_data.full_name',
22
+ standout='bg-teal text-white',
23
+ hint='Потребительский Кооператив \'Ромашка\'',
24
+ label='Полное наименование организации',
25
+ :rules='[(val) => notEmpty(val)]',
26
+ autocomplete='off'
27
+ )
28
+ q-input(
29
+ v-model='userData.organization_data.represented_by.last_name',
30
+ standout='bg-teal text-white',
31
+ label='Фамилия представителя',
32
+ hint='',
33
+ :rules='[(val) => notEmpty(val), (val) => validatePersonalName(val)]',
34
+ autocomplete='off'
35
+ )
36
+ q-input(
37
+ v-model='userData.organization_data.represented_by.first_name',
38
+ standout='bg-teal text-white',
39
+ label='Имя представителя',
40
+ hint='',
41
+ :rules='[(val) => notEmpty(val), (val) => validatePersonalName(val)]',
42
+ autocomplete='off'
43
+ )
44
+ q-input(
45
+ v-model='userData.organization_data.represented_by.middle_name',
46
+ standout='bg-teal text-white',
47
+ label='Отчество представителя',
48
+ hint='',
49
+ :rules='[(val) => validatePersonalName(val)]',
50
+ autocomplete='off'
51
+ )
52
+
53
+ q-input(
54
+ v-model='userData.organization_data.represented_by.based_on',
55
+ standout='bg-teal text-white',
56
+ label='Представитель действует на основании',
57
+ hint='решения общего собрания №102 от 01.01.2025 г',
58
+ :rules='[(val) => notEmpty(val)]',
59
+ autocomplete='off'
60
+ )
61
+ q-input(
62
+ v-model='userData.organization_data.represented_by.position',
63
+ standout='bg-teal text-white',
64
+ label='Должность представителя',
65
+ hint='председатель совета',
66
+ :rules='[(val) => notEmpty(val)]',
67
+ autocomplete='off'
68
+ )
69
+
70
+ q-input(
71
+ v-model='userData.organization_data.phone',
72
+ standout='bg-teal text-white',
73
+ label='Номер телефона представителя',
74
+ mask='+7 (###) ###-##-##',
75
+ fill-mask,
76
+ hint='',
77
+ :rules='[(val) => notEmpty(val), (val) => notEmptyPhone(val)]',
78
+ autocomplete='off'
79
+ )
80
+
3
81
  q-select(
4
- v-model="userData.organization_data.type"
5
- label="Выберите тип организации"
6
- standout="bg-teal text-white"
7
- :options="[{ label: 'Потребительский Кооператив', value: 'coop' }, { label: 'Производственный Кооператив', value: 'prodcoop' }, { label: 'ООО', value: 'ooo' }]"
8
- emit-value
9
- map-options).q-mb-md
10
-
11
- q-input(v-model="userData.organization_data.short_name" standout="bg-teal text-white" hint="ПК Ромашка" label="Краткое наименование организации" :rules="[val => notEmpty(val)]" autocomplete="off")
12
- q-input(v-model="userData.organization_data.full_name" standout="bg-teal text-white" hint="Потребительский Кооператив 'Ромашка'" label="Полное наименование организации" :rules="[val => notEmpty(val)]" autocomplete="off")
13
- q-input(v-model="userData.organization_data.represented_by.last_name" standout="bg-teal text-white" label="Фамилия представителя" hint="" :rules="[val => notEmpty(val), val => validatePersonalName(val)]" autocomplete="off")
14
- q-input(v-model="userData.organization_data.represented_by.first_name" standout="bg-teal text-white" label="Имя представителя" hint="" :rules="[val => notEmpty(val), val => validatePersonalName(val)]" autocomplete="off")
15
- q-input(v-model="userData.organization_data.represented_by.middle_name" standout="bg-teal text-white" label="Отчество представителя" hint="" :rules="[val => validatePersonalName(val)]" autocomplete="off")
16
-
17
- q-input(v-model="userData.organization_data.represented_by.based_on" standout="bg-teal text-white" label="Представитель действует на основании" hint="решения общего собрания №102 от 01.01.2025 г" :rules="[val => notEmpty(val)]" autocomplete="off")
18
- q-input(v-model="userData.organization_data.represented_by.position" standout="bg-teal text-white" label="Должность представителя" hint="председатель совета" :rules="[val => notEmpty(val)]" autocomplete="off")
19
-
20
- q-input(v-model="userData.organization_data.phone" standout="bg-teal text-white" label="Номер телефона представителя" mask="+7 (###) ###-##-##" fill-mask hint="" :rules="[val => notEmpty(val), val => notEmptyPhone(val)]" autocomplete="off")
21
-
22
- q-select(v-model="userData.organization_data.country" standout="bg-teal text-white" map-options emit-value option-label="label" option-value="value" label="Страна" :options="[{ label: 'Россия', value: 'Russia' }]" :rules="[val => notEmpty(val)]" autocomplete="off")
23
- q-input(v-model="userData.organization_data.city" standout="bg-teal text-white" label="Город" hint="" :rules="[val => notEmpty(val)]" autocomplete="off")
24
- q-input(v-model="userData.organization_data.full_address" standout="bg-teal text-white" hint="" label="Юридический адрес регистрации" :rules="[val => notEmpty(val)]" autocomplete="off")
25
- q-input(v-model="userData.organization_data.fact_address" standout="bg-teal text-white" hint="" label="Фактический адрес" :rules="[val => notEmpty(val)]" autocomplete="off")
82
+ v-model='userData.organization_data.country',
83
+ standout='bg-teal text-white',
84
+ map-options,
85
+ emit-value,
86
+ option-label='label',
87
+ option-value='value',
88
+ label='Страна',
89
+ :options='[{ label: "Россия", value: "Russia" }]',
90
+ :rules='[(val) => notEmpty(val)]',
91
+ autocomplete='off'
92
+ )
93
+ q-input(
94
+ v-model='userData.organization_data.city',
95
+ standout='bg-teal text-white',
96
+ label='Город',
97
+ hint='',
98
+ :rules='[(val) => notEmpty(val)]',
99
+ autocomplete='off'
100
+ )
101
+ q-input(
102
+ v-model='userData.organization_data.full_address',
103
+ standout='bg-teal text-white',
104
+ hint='',
105
+ label='Юридический адрес регистрации',
106
+ :rules='[(val) => notEmpty(val)]',
107
+ autocomplete='off'
108
+ )
109
+ q-input(
110
+ v-model='userData.organization_data.fact_address',
111
+ standout='bg-teal text-white',
112
+ hint='',
113
+ label='Фактический адрес',
114
+ :rules='[(val) => notEmpty(val)]',
115
+ autocomplete='off'
116
+ )
26
117
  template(v-slot:append)
27
- q-btn(dense size="sm" color="teal" @click="userData.organization_data.fact_address = userData.organization_data.full_address") совпадает
118
+ q-btn(
119
+ dense,
120
+ size='sm',
121
+ color='teal',
122
+ @click='userData.organization_data.fact_address = userData.organization_data.full_address'
123
+ ) совпадает
28
124
 
29
125
  q-input(
30
- v-model="userData.organization_data.details.inn"
31
- standout="bg-teal text-white"
32
- mask="############"
33
- label="ИНН организации"
34
- hint="10 или 12 цифр"
35
- :rules="[val => notEmpty(val), val => (val.length === 10 || val.length === 12) || 'ИНН должен содержать 10 или 12 цифр']"
36
- autocomplete="off"
126
+ v-model='userData.organization_data.details.inn',
127
+ standout='bg-teal text-white',
128
+ mask='############',
129
+ label='ИНН организации',
130
+ hint='10 или 12 цифр',
131
+ :rules='[(val) => notEmpty(val), (val) => val.length === 10 || val.length === 12 || "ИНН должен содержать 10 или 12 цифр"]',
132
+ autocomplete='off'
37
133
  )
38
134
 
39
135
  q-input(
40
- v-model="userData.organization_data.details.ogrn"
41
- standout="bg-teal text-white"
42
- mask="###############"
43
- label="ОГРН организации"
44
- hint="13 или 15 цифр"
45
- :rules="[val => notEmpty(val), val => (val.length === 13 || val.length === 15) || 'ОГРН должен содержать 13 или 15 цифр']"
46
- autocomplete="off"
136
+ v-model='userData.organization_data.details.ogrn',
137
+ standout='bg-teal text-white',
138
+ mask='###############',
139
+ label='ОГРН организации',
140
+ hint='13 или 15 цифр',
141
+ :rules='[(val) => notEmpty(val), (val) => val.length === 13 || val.length === 15 || "ОГРН должен содержать 13 или 15 цифр"]',
142
+ autocomplete='off'
47
143
  )
48
144
 
49
145
  q-input(
50
- v-model="userData.organization_data.details.kpp"
51
- standout="bg-teal text-white"
52
- mask="#########"
53
- label="КПП организации"
54
- hint="9 цифр"
55
- :rules="[val => notEmpty(val), val => val.length === 9 || 'КПП должен содержать 9 цифр']"
56
- autocomplete="off"
146
+ v-model='userData.organization_data.details.kpp',
147
+ standout='bg-teal text-white',
148
+ mask='#########',
149
+ label='КПП организации',
150
+ hint='9 цифр',
151
+ :rules='[(val) => notEmpty(val), (val) => val.length === 9 || "КПП должен содержать 9 цифр"]',
152
+ autocomplete='off'
57
153
  )
58
154
 
59
-
60
155
  q-input(
61
- v-model="userData.organization_data.bank_account.bank_name"
62
- standout="bg-teal text-white"
63
- label="Наименование банка"
64
- hint="ПАО Сбербанк"
65
- :rules="[val => notEmpty(val)]"
66
- autocomplete="off"
156
+ v-model='userData.organization_data.bank_account.bank_name',
157
+ standout='bg-teal text-white',
158
+ label='Наименование банка',
159
+ hint='ПАО Сбербанк',
160
+ :rules='[(val) => notEmpty(val)]',
161
+ autocomplete='off'
67
162
  )
68
163
 
69
164
  q-input(
70
- v-model="userData.organization_data.bank_account.details.corr"
71
- standout="bg-teal text-white"
72
- mask="####################"
73
- label="Корреспондентский счет"
74
- hint="20 цифр"
75
- :rules="[val => notEmpty(val), val => val.length === 20 || 'Корреспондентский счет должен содержать 20 цифр']"
76
- autocomplete="off"
165
+ v-model='userData.organization_data.bank_account.details.corr',
166
+ standout='bg-teal text-white',
167
+ mask='####################',
168
+ label='Корреспондентский счет',
169
+ hint='20 цифр',
170
+ :rules='[(val) => notEmpty(val), (val) => val.length === 20 || "Корреспондентский счет должен содержать 20 цифр"]',
171
+ autocomplete='off'
77
172
  )
78
173
  q-input(
79
- v-model="userData.organization_data.bank_account.details.bik"
80
- standout="bg-teal text-white"
81
- mask="#########"
82
- label="БИК"
83
- hint="9 цифр"
84
- :rules="[val => notEmpty(val), val => val.length === 9 || 'БИК должен содержать 9 цифр']"
85
- autocomplete="off"
174
+ v-model='userData.organization_data.bank_account.details.bik',
175
+ standout='bg-teal text-white',
176
+ mask='#########',
177
+ label='БИК',
178
+ hint='9 цифр',
179
+ :rules='[(val) => notEmpty(val), (val) => val.length === 9 || "БИК должен содержать 9 цифр"]',
180
+ autocomplete='off'
86
181
  )
87
182
 
88
183
  q-input(
89
- v-model="userData.organization_data.bank_account.details.kpp"
90
- standout="bg-teal text-white"
91
- mask="#########"
92
- label="КПП (банка)"
93
- hint="9 цифр"
94
- :rules="[val => notEmpty(val), val => val.length === 9 || 'КПП должен содержать 9 цифр']"
95
- autocomplete="off"
184
+ v-model='userData.organization_data.bank_account.details.kpp',
185
+ standout='bg-teal text-white',
186
+ mask='#########',
187
+ label='КПП (банка)',
188
+ hint='9 цифр',
189
+ :rules='[(val) => notEmpty(val), (val) => val.length === 9 || "КПП должен содержать 9 цифр"]',
190
+ autocomplete='off'
96
191
  )
97
192
 
98
193
  q-input(
99
- v-model="userData.organization_data.bank_account.account_number"
100
- standout="bg-teal text-white"
101
- mask="####################"
102
- label="Номер счета"
103
- hint="20 цифр"
104
- :rules="[val => notEmpty(val), val => val.length === 20 || 'Номер счета должен содержать 20 цифр']"
105
- autocomplete="off"
194
+ v-model='userData.organization_data.bank_account.account_number',
195
+ standout='bg-teal text-white',
196
+ mask='####################',
197
+ label='Номер счета',
198
+ hint='20 цифр',
199
+ :rules='[(val) => notEmpty(val), (val) => val.length === 20 || "Номер счета должен содержать 20 цифр"]',
200
+ autocomplete='off'
106
201
  )
107
202
 
108
203
  q-select(
109
- v-model="userData.organization_data.bank_account.currency"
110
- label="Валюта счёта"
111
- standout="bg-teal text-white"
112
- :options="[{ label: 'RUB', value: 'RUB' }]"
113
- emit-value
114
- :rules="[val => notEmpty(val)]"
204
+ v-model='userData.organization_data.bank_account.currency',
205
+ label='Валюта счёта',
206
+ standout='bg-teal text-white',
207
+ :options='[{ label: "RUB", value: "RUB" }]',
208
+ emit-value,
209
+ :rules='[(val) => notEmpty(val)]',
115
210
  map-options
116
211
  )
117
-
118
212
  </template>
119
213
 
120
214
  <script setup lang="ts">
121
- import { validatePersonalName, notEmpty, notEmptyPhone } from 'src/shared/lib/utils';
215
+ import {
216
+ validatePersonalName,
217
+ notEmpty,
218
+ notEmptyPhone,
219
+ } from 'src/shared/lib/utils';
122
220
 
123
221
  import type { IUserData } from 'src/shared/lib/types/user/IUserData';
124
222
  import { ref } from 'vue';
223
+ import { Zeus } from '@coopenomics/sdk';
125
224
 
126
225
  const props = defineProps<{ userData: IUserData }>();
127
226
 
128
- const userData = ref<IUserData>(props.userData)
129
-
227
+ const userData = ref<IUserData>(props.userData);
130
228
  </script>