shared-ritm 1.2.110 → 1.2.111

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.
Files changed (131) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +3648 -3627
  4. package/dist/shared-ritm.umd.js +141 -141
  5. package/dist/types/api/services/ModulesService.d.ts +19 -0
  6. package/dist/types/api/services/PhotoService.d.ts +40 -0
  7. package/dist/types/api/types/Api_Instruments.d.ts +1 -1
  8. package/dist/types/api/types/Api_Modules.d.ts +19 -0
  9. package/dist/types/index.d.ts +5 -3
  10. package/package.json +64 -64
  11. package/src/App.vue +2461 -2461
  12. package/src/api/services/AuthService.ts +64 -64
  13. package/src/api/services/BrigadesService.ts +32 -32
  14. package/src/api/services/CommentsService.ts +24 -24
  15. package/src/api/services/ControlsService.ts +65 -65
  16. package/src/api/services/EquipmentService.ts +29 -29
  17. package/src/api/services/FileService.ts +17 -17
  18. package/src/api/services/GanttService.ts +17 -17
  19. package/src/api/services/InstrumentsService.ts +63 -63
  20. package/src/api/services/MetricsService.ts +110 -110
  21. package/src/api/services/ModulesService.ts +27 -0
  22. package/src/api/services/ProjectsService.ts +72 -72
  23. package/src/api/services/RepairsService.ts +119 -119
  24. package/src/api/services/SearchService.ts +22 -22
  25. package/src/api/services/TasksService.ts +145 -145
  26. package/src/api/services/UserService.ts +101 -101
  27. package/src/api/services/VideoService.ts +62 -62
  28. package/src/api/settings/ApiService.ts +124 -124
  29. package/src/api/types/Api_Brigades.ts +36 -36
  30. package/src/api/types/Api_Comment.ts +40 -40
  31. package/src/api/types/Api_Controls.ts +72 -72
  32. package/src/api/types/Api_Equipment.ts +3 -3
  33. package/src/api/types/Api_Files.ts +7 -7
  34. package/src/api/types/Api_Instruments.ts +136 -136
  35. package/src/api/types/Api_Modules.ts +21 -0
  36. package/src/api/types/Api_Projects.ts +55 -55
  37. package/src/api/types/Api_Repairs.ts +115 -115
  38. package/src/api/types/Api_Search.ts +77 -77
  39. package/src/api/types/Api_Service.ts +9 -9
  40. package/src/api/types/Api_Tasks.ts +319 -319
  41. package/src/api/types/Api_User.ts +117 -117
  42. package/src/api/types/Api_Video.ts +123 -123
  43. package/src/common/app-button/AppButton.vue +173 -173
  44. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  45. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  46. package/src/common/app-datepicker/AppDatepicker.vue +165 -165
  47. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  48. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  49. package/src/common/app-icon/AppIcon.vue +108 -108
  50. package/src/common/app-input/AppInput.vue +148 -148
  51. package/src/common/app-input-new/AppInputNew.vue +175 -167
  52. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  53. package/src/common/app-layout/AppLayout.vue +84 -84
  54. package/src/common/app-layout/components/AppLayoutHeader.vue +250 -250
  55. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  56. package/src/common/app-loader/index.vue +43 -43
  57. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  58. package/src/common/app-select/AppSelect.vue +157 -157
  59. package/src/common/app-sheet/AppSheet.vue +120 -120
  60. package/src/common/app-sheet-new/AppSheetNew.vue +246 -246
  61. package/src/common/app-sidebar/AppSidebar.vue +168 -168
  62. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  63. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  64. package/src/common/app-table/AppTable.vue +314 -314
  65. package/src/common/app-table/AppTableLayout.vue +137 -137
  66. package/src/common/app-table/components/ModalSelect.vue +270 -270
  67. package/src/common/app-table/components/TableModal.vue +356 -356
  68. package/src/common/app-table/components/TablePagination.vue +152 -152
  69. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  70. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  71. package/src/common/app-table/controllers/useTableModel.ts +93 -93
  72. package/src/common/app-toggle/AppToggle.vue +24 -24
  73. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  74. package/src/global.d.ts +1 -1
  75. package/src/icons/components/arrow-down-icon.vue +25 -25
  76. package/src/icons/components/arrow-frame-icon.vue +19 -19
  77. package/src/icons/components/arrow-square.vue +22 -22
  78. package/src/icons/components/table-filter-icon.vue +30 -30
  79. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  80. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  81. package/src/icons/header/NotificationIcon.vue +18 -18
  82. package/src/icons/header/PersonIcon.vue +11 -11
  83. package/src/icons/header/SettingIcon.vue +14 -14
  84. package/src/icons/header/flashIcon.vue +24 -24
  85. package/src/icons/header/searchStatusIcon.vue +24 -24
  86. package/src/icons/header/smallCapsIcon.vue +34 -34
  87. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  88. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  89. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  90. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  91. package/src/icons/sidebar/instruments-icon.vue +45 -45
  92. package/src/icons/sidebar/logo-icon.vue +15 -15
  93. package/src/icons/sidebar/logout-icon.vue +13 -13
  94. package/src/icons/sidebar/modules-icon.vue +16 -16
  95. package/src/icons/sidebar/notifications-icon.vue +24 -24
  96. package/src/icons/sidebar/order-icon.vue +44 -44
  97. package/src/icons/sidebar/pass-icon.vue +38 -38
  98. package/src/icons/sidebar/positions-icon.vue +42 -42
  99. package/src/icons/sidebar/preorder-icon.vue +19 -19
  100. package/src/icons/sidebar/projects-icon.vue +31 -31
  101. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  102. package/src/icons/sidebar/repairs-icon.vue +20 -20
  103. package/src/icons/sidebar/roles-icon.vue +26 -26
  104. package/src/icons/sidebar/status-history-icon.vue +24 -24
  105. package/src/icons/sidebar/tasks-icon.vue +28 -28
  106. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  107. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  108. package/src/icons/sidebar/teams-icon.vue +32 -32
  109. package/src/icons/sidebar/user-icon.vue +18 -18
  110. package/src/icons/sidebar/users-icon.vue +46 -46
  111. package/src/icons/sidebar/videosources-icon.vue +19 -19
  112. package/src/icons/sidebar/videowall-icon.vue +13 -13
  113. package/src/icons/sidebar/videozones-icon.vue +21 -21
  114. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  115. package/src/icons/sidebar/workshop-icon.vue +100 -100
  116. package/src/icons/sidebar/workzones-icon.vue +22 -22
  117. package/src/icons/task/attention-icon.vue +13 -13
  118. package/src/icons/task/clock-icon.vue +10 -10
  119. package/src/icons/task/delete-icon.vue +10 -10
  120. package/src/icons/task/fire-icon.vue +16 -16
  121. package/src/index.ts +122 -119
  122. package/src/main.ts +28 -28
  123. package/src/quasar-user-options.ts +17 -17
  124. package/src/router/index.ts +10 -10
  125. package/src/shared/styles/general.css +124 -124
  126. package/src/shims-vue.d.ts +5 -5
  127. package/src/styles/variables.sass +12 -12
  128. package/src/utils/confirm.ts +12 -12
  129. package/src/utils/faceApiHelper.ts +137 -137
  130. package/src/utils/helpers.ts +59 -59
  131. package/src/utils/notification.ts +9 -9
@@ -1,167 +1,175 @@
1
- <template>
2
- <div class="app-input-new">
3
- <label v-if="label" class="app-input-new__label">
4
- {{ label }}
5
- <span v-if="required" class="required">*</span>
6
- </label>
7
-
8
- <q-input
9
- v-model="model"
10
- filled
11
- :type="inputType"
12
- :rules="rules"
13
- :placeholder="placeholder"
14
- :disable="disable"
15
- :readonly="readonly"
16
- :class="inputClass"
17
- :error="error"
18
- :autocomplete="autocomplete"
19
- @blur="emit('blur')"
20
- >
21
- <slot />
22
- <template #append>
23
- <slot name="append" />
24
- <q-icon
25
- v-if="type === 'password'"
26
- :name="isVisiblePass ? 'visibility' : 'visibility_off'"
27
- color="primary"
28
- class="cursor-pointer"
29
- @click="isVisiblePass = !isVisiblePass"
30
- />
31
- <q-icon
32
- v-if="clearable && String(model)?.length"
33
- name="close"
34
- class="cursor-pointer clear-input"
35
- @click="model = null"
36
- />
37
- <q-btn v-if="uuid" flat no-caps label="UUID" size="sm" class="q-ml-sm uuid-btn" @click="model = uuidv4()" />
38
- <q-icon
39
- v-if="copyable"
40
- name="content_copy"
41
- class="cursor-pointer q-ml-sm copy-icon"
42
- color="primary"
43
- :disable="!model"
44
- @click="copyToClipboard"
45
- />
46
- </template>
47
- </q-input>
48
- </div>
49
- </template>
50
-
51
- <script setup lang="ts">
52
- import { defineEmits, defineProps, computed, ref } from 'vue'
53
- import { uuidv4 } from '@/utils/helpers'
54
- import { notificationSettings } from '@/utils/notification'
55
- import { QInputProps, useQuasar } from 'quasar'
56
-
57
- const props = defineProps<
58
- QInputProps & {
59
- modelValue?: string | number | null
60
- label?: string
61
- placeholder?: string
62
- rules?: ((val: string | number | null | undefined) => boolean | string)[]
63
- inputClass?: string
64
- required?: boolean
65
- readonly?: boolean
66
- disable?: boolean
67
- uuid?: boolean
68
- clearable?: boolean
69
- copyable?: boolean
70
- error?: boolean
71
- autocomplete?: string
72
- }
73
- >()
74
-
75
- const emit = defineEmits<{
76
- (e: 'update:modelValue', val?: string | number | null): void
77
- (e: 'blur', val?: string | number | null): void
78
- }>()
79
-
80
- const $q = useQuasar()
81
-
82
- const isVisiblePass = ref(false)
83
-
84
- const model = computed({
85
- get: () => getValue(props.modelValue),
86
- set: (newValue?: string | number | null) => emit('update:modelValue', getValue(newValue)),
87
- })
88
-
89
- const inputType = computed(() => (props.type === 'password' && isVisiblePass.value ? 'text' : props.type))
90
-
91
- const getValue = (value?: string | number | null) => {
92
- if (props.type === 'number') return value ? +value : value
93
-
94
- return value
95
- }
96
-
97
- const copyToClipboard = () => {
98
- if (!model.value && model.value !== 0) return
99
-
100
- navigator.clipboard.writeText(model.value.toString()).then(() => {
101
- $q.notify(notificationSettings('success', 'Данные скопированы'))
102
- })
103
- }
104
- </script>
105
-
106
- <style scoped lang="scss">
107
- .app-input-new {
108
- display: flex;
109
- flex-direction: column;
110
- margin-bottom: 15px;
111
-
112
- &__label {
113
- font-size: 14px;
114
- font-weight: 700;
115
- color: #7d8592;
116
- }
117
-
118
- .required {
119
- color: #f65160;
120
- font-weight: bold;
121
- }
122
-
123
- .clear-input {
124
- color: #d8e0f0;
125
- }
126
-
127
- .uuid-btn {
128
- height: 32px;
129
- padding: 0 10px;
130
- border: 1px solid #3f8cff;
131
- color: #3f8cff;
132
- font-weight: 700;
133
- font-size: 14px;
134
- background: white;
135
- border-radius: 6px;
136
-
137
- :deep(.block) {
138
- line-height: normal;
139
- }
140
- }
141
-
142
- :deep(.q-placeholder) {
143
- color: #7d8592;
144
- }
145
-
146
- :deep(.q-field__control) {
147
- min-height: 58px;
148
- border-radius: 8px;
149
- border: 1px solid #d8e0f0;
150
- background: #fff;
151
- box-shadow: 0 1px 2px 0 rgba(184, 200, 224, 0.22);
152
- }
153
-
154
- :deep(.q-field--filled .q-field__control:before) {
155
- background: #fff !important;
156
- border: none;
157
- }
158
-
159
- :deep(.q-field--with-bottom) {
160
- padding-bottom: 0;
161
- }
162
-
163
- :deep(.q-field__bottom) {
164
- padding: 0;
165
- }
166
- }
167
- </style>
1
+ <template>
2
+ <div class="app-input-new">
3
+ <label v-if="label" class="app-input-new__label">
4
+ {{ label }}
5
+ <span v-if="required" class="required">*</span>
6
+ </label>
7
+
8
+ <q-input
9
+ v-model="model"
10
+ filled
11
+ :type="inputType"
12
+ :rules="rules"
13
+ :placeholder="placeholder"
14
+ :disable="disable"
15
+ :readonly="readonly"
16
+ :class="inputClass"
17
+ :error="error"
18
+ :autocomplete="autocomplete"
19
+ @blur="emit('blur')"
20
+ >
21
+ <slot />
22
+ <template #append>
23
+ <slot name="append" />
24
+ <q-icon
25
+ v-if="type === 'password'"
26
+ :name="isVisiblePass ? 'visibility' : 'visibility_off'"
27
+ color="primary"
28
+ class="cursor-pointer"
29
+ @click="isVisiblePass = !isVisiblePass"
30
+ />
31
+ <q-icon
32
+ v-if="clearable && String(model)?.length"
33
+ name="close"
34
+ class="cursor-pointer clear-input"
35
+ @click="model = null"
36
+ />
37
+ <q-btn
38
+ v-if="uuid && !disable && !readonly"
39
+ flat
40
+ no-caps
41
+ label="UUID"
42
+ size="sm"
43
+ class="q-ml-sm uuid-btn"
44
+ @click="model = uuidv4()"
45
+ />
46
+ <q-icon
47
+ v-if="copyable"
48
+ name="content_copy"
49
+ class="cursor-pointer q-ml-sm copy-icon"
50
+ color="primary"
51
+ :disable="!model"
52
+ @click="copyToClipboard"
53
+ />
54
+ </template>
55
+ </q-input>
56
+ </div>
57
+ </template>
58
+
59
+ <script setup lang="ts">
60
+ import { defineEmits, defineProps, computed, ref } from 'vue'
61
+ import { uuidv4 } from '@/utils/helpers'
62
+ import { notificationSettings } from '@/utils/notification'
63
+ import { QInputProps, useQuasar } from 'quasar'
64
+
65
+ const props = defineProps<
66
+ QInputProps & {
67
+ modelValue?: string | number | null
68
+ label?: string
69
+ placeholder?: string
70
+ rules?: ((val: string | number | null | undefined) => boolean | string)[]
71
+ inputClass?: string
72
+ required?: boolean
73
+ readonly?: boolean
74
+ disable?: boolean
75
+ uuid?: boolean
76
+ clearable?: boolean
77
+ copyable?: boolean
78
+ error?: boolean
79
+ autocomplete?: string
80
+ }
81
+ >()
82
+
83
+ const emit = defineEmits<{
84
+ (e: 'update:modelValue', val?: string | number | null): void
85
+ (e: 'blur', val?: string | number | null): void
86
+ }>()
87
+
88
+ const $q = useQuasar()
89
+
90
+ const isVisiblePass = ref(false)
91
+
92
+ const model = computed({
93
+ get: () => getValue(props.modelValue),
94
+ set: (newValue?: string | number | null) => emit('update:modelValue', getValue(newValue)),
95
+ })
96
+
97
+ const inputType = computed(() => (props.type === 'password' && isVisiblePass.value ? 'text' : props.type))
98
+
99
+ const getValue = (value?: string | number | null) => {
100
+ if (props.type === 'number') return value ? +value : value
101
+
102
+ return value
103
+ }
104
+
105
+ const copyToClipboard = () => {
106
+ if (!model.value && model.value !== 0) return
107
+
108
+ navigator.clipboard.writeText(model.value.toString()).then(() => {
109
+ $q.notify(notificationSettings('success', 'Данные скопированы'))
110
+ })
111
+ }
112
+ </script>
113
+
114
+ <style scoped lang="scss">
115
+ .app-input-new {
116
+ display: flex;
117
+ flex-direction: column;
118
+ margin-bottom: 15px;
119
+
120
+ &__label {
121
+ font-size: 14px;
122
+ font-weight: 700;
123
+ color: #7d8592;
124
+ }
125
+
126
+ .required {
127
+ color: #f65160;
128
+ font-weight: bold;
129
+ }
130
+
131
+ .clear-input {
132
+ color: #d8e0f0;
133
+ }
134
+
135
+ .uuid-btn {
136
+ height: 32px;
137
+ padding: 0 10px;
138
+ border: 1px solid #3f8cff;
139
+ color: #3f8cff;
140
+ font-weight: 700;
141
+ font-size: 14px;
142
+ background: white;
143
+ border-radius: 6px;
144
+
145
+ :deep(.block) {
146
+ line-height: normal;
147
+ }
148
+ }
149
+
150
+ :deep(.q-placeholder) {
151
+ color: #7d8592;
152
+ }
153
+
154
+ :deep(.q-field__control) {
155
+ min-height: 58px;
156
+ border-radius: 8px;
157
+ border: 1px solid #d8e0f0;
158
+ background: #fff;
159
+ box-shadow: 0 1px 2px 0 rgba(184, 200, 224, 0.22);
160
+ }
161
+
162
+ :deep(.q-field--filled .q-field__control:before) {
163
+ background: #fff !important;
164
+ border: none;
165
+ }
166
+
167
+ :deep(.q-field--with-bottom) {
168
+ padding-bottom: 0;
169
+ }
170
+
171
+ :deep(.q-field__bottom) {
172
+ padding: 0;
173
+ }
174
+ }
175
+ </style>