shared-ritm 1.3.22 → 1.3.23

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 (57) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/shared-ritm.es.js +4936 -4981
  3. package/dist/shared-ritm.umd.js +103 -103
  4. package/dist/types/api/services/ComentsServise.d.ts +10 -0
  5. package/dist/types/api/services/PhotoService.d.ts +51 -38
  6. package/dist/types/api/services/RepairsService.d.ts +1 -1
  7. package/dist/types/api/services/TasksService.d.ts +5 -0
  8. package/dist/types/api/settings/ApiService.d.ts +1 -1
  9. package/dist/types/api/types/Api_Users.d.ts +43 -0
  10. package/package.json +65 -65
  11. package/src/App.vue +2461 -2461
  12. package/src/api/services/BrigadesService.ts +32 -32
  13. package/src/api/services/ControlsService.ts +96 -96
  14. package/src/api/services/EquipmentService.ts +29 -29
  15. package/src/api/services/InstrumentsService.ts +68 -68
  16. package/src/api/services/MetricsService.ts +123 -123
  17. package/src/api/services/ModulesService.ts +27 -27
  18. package/src/api/services/ProjectsService.ts +83 -83
  19. package/src/api/services/RepairsService.ts +111 -111
  20. package/src/api/services/ScheduleService.ts +69 -69
  21. package/src/api/services/SearchService.ts +22 -22
  22. package/src/api/services/TasksService.ts +7 -0
  23. package/src/api/services/UserService.ts +119 -119
  24. package/src/api/services/VideoService.ts +108 -108
  25. package/src/api/settings/ApiService.ts +124 -124
  26. package/src/api/types/Api_Auth.ts +105 -105
  27. package/src/api/types/Api_Brigades.ts +36 -36
  28. package/src/api/types/Api_Controls.ts +111 -111
  29. package/src/api/types/Api_Equipment.ts +3 -3
  30. package/src/api/types/Api_Instruments.ts +156 -156
  31. package/src/api/types/Api_Metrics.ts +5 -5
  32. package/src/api/types/Api_Modules.ts +21 -21
  33. package/src/api/types/Api_Projects.ts +62 -62
  34. package/src/api/types/Api_Repairs.ts +140 -140
  35. package/src/api/types/Api_Schedule.ts +64 -64
  36. package/src/api/types/Api_Search.ts +80 -80
  37. package/src/api/types/Api_Tasks.ts +372 -372
  38. package/src/api/types/Api_User.ts +146 -146
  39. package/src/api/types/Api_Video.ts +198 -198
  40. package/src/common/app-datepicker/AppDatepicker.vue +218 -218
  41. package/src/common/app-dropdown/AppDropdown.vue +37 -37
  42. package/src/common/app-input-new/AppInputNew.vue +179 -179
  43. package/src/common/app-layout/AppLayout.vue +84 -84
  44. package/src/common/app-modal/index.vue +96 -96
  45. package/src/common/app-sheet-new/AppSheetNew.vue +244 -244
  46. package/src/common/app-sidebar/AppSidebar.vue +174 -174
  47. package/src/common/app-sidebar/components/SidebarMenuItem.vue +149 -149
  48. package/src/common/app-table/AppTable.vue +308 -308
  49. package/src/common/app-table/AppTableLayout.vue +137 -137
  50. package/src/common/app-table/components/ModalSelect.vue +296 -296
  51. package/src/common/app-table/components/TableModal.vue +356 -356
  52. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  53. package/src/common/app-table/controllers/useTableModel.ts +102 -102
  54. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  55. package/src/index.ts +131 -131
  56. package/src/styles/variables.sass +12 -12
  57. package/src/utils/files.ts +19 -19
@@ -1,137 +1,137 @@
1
- <template>
2
- <div class="table-layout" :class="{ 'hide-search': !isActionsSlot && hideSearch, 'hide-pagination': hidePagination }">
3
- <div v-if="isActionsSlot || !hideSearch" class="table-controls">
4
- <app-table-search
5
- v-if="!hideSearch"
6
- :model-value="props.search || ''"
7
- class="search-input"
8
- placeholder="Введите наименование"
9
- @search="props.onSearch"
10
- />
11
- <slot v-if="isActionsSlot" name="actions" />
12
- </div>
13
-
14
- <div class="table-wrapper">
15
- <app-table
16
- v-bind="props.tableProps"
17
- :selected-rows="props.selectedRows"
18
- :no-hover="noHover"
19
- :slots="slots"
20
- :hide-pagination="hidePagination"
21
- v-on="props.tableEvents"
22
- @update:selectedRows="rows => emit('update:selectedRows', rows)"
23
- >
24
- <template v-for="name in cellSlotsNames" :key="name" #[name]="{ cellProps }">
25
- <slot :name="name" :row="cellProps.row" />
26
- </template>
27
- </app-table>
28
- <div v-if="props.loading" class="loader-overlay">
29
- <q-spinner-audio class="loader-spinner" size="md" :thickness="3" color="primary" />
30
- </div>
31
- </div>
32
-
33
- <app-table-pagination
34
- v-if="!hidePagination && props.currentPage && props.totalPages"
35
- :model-value="props.currentPage"
36
- :total-pages="props.totalPages"
37
- @page-change="props.onPageChange"
38
- />
39
-
40
- <slot v-if="'modal' in slots" name="modal" />
41
- </div>
42
- </template>
43
- <script setup lang="ts">
44
- import AppTable from './AppTable.vue'
45
- import AppTablePagination from '../app-table/components/TablePagination.vue'
46
- import AppTableSearch from '../app-table/components/TableSearch.vue'
47
- import { defineProps, defineEmits, useSlots, computed } from 'vue'
48
-
49
- const props = defineProps<{
50
- search?: string
51
- loading?: boolean
52
- currentPage?: number
53
- totalPages?: number
54
- tableProps: any
55
- tableEvents?: any
56
- onSearch?: (val: string) => void
57
- onPageChange?: (page: number) => void
58
- hideSearch?: boolean
59
- hidePagination?: boolean
60
- noHover?: boolean
61
- selectedRows?: any[]
62
- }>()
63
- const emit = defineEmits<{
64
- 'update:selectedRows': [rows: any[]]
65
- }>()
66
-
67
- const slots = useSlots()
68
-
69
- const baseSlotsNames = ['actions', 'modal']
70
-
71
- const cellSlotsNames = computed(() => {
72
- if (!slots) return []
73
-
74
- return Object.keys(slots).filter((key: string) => !baseSlotsNames.includes(key))
75
- })
76
-
77
- const isActionsSlot = computed(() => 'actions' in slots)
78
- </script>
79
- <style scoped lang="scss">
80
- .table-layout {
81
- height: 100%;
82
- display: grid;
83
- grid-template-rows: auto 1fr auto;
84
- gap: 1.25rem;
85
- box-sizing: border-box;
86
- overflow: auto;
87
-
88
- &.hide-search {
89
- grid-template-rows: 1fr auto;
90
- }
91
-
92
- &.hide-pagination {
93
- grid-template-rows: auto 1fr;
94
- }
95
-
96
- &.hide-search.hide-pagination {
97
- grid-template-rows: 1fr;
98
- }
99
- }
100
- .table-controls {
101
- display: flex;
102
- align-items: center;
103
- justify-content: space-between;
104
- gap: 1.25rem;
105
-
106
- .search-input {
107
- flex: 1;
108
- }
109
-
110
- ::v-deep(.q-btn) {
111
- flex-shrink: 0;
112
- border-radius: 2px;
113
- background: #fff;
114
- box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
115
- color: #3f8cff;
116
- height: 50px;
117
- width: 50px;
118
- }
119
- }
120
- .table-wrapper {
121
- position: relative;
122
- flex: 1;
123
- overflow-y: auto;
124
- }
125
- .loader-overlay {
126
- position: absolute;
127
- inset: 0;
128
- z-index: 10;
129
- background: rgba(255, 255, 255, 0.8);
130
- display: flex;
131
- align-items: center;
132
- justify-content: center;
133
- }
134
- .loader-spinner {
135
- z-index: 11;
136
- }
137
- </style>
1
+ <template>
2
+ <div class="table-layout" :class="{ 'hide-search': !isActionsSlot && hideSearch, 'hide-pagination': hidePagination }">
3
+ <div v-if="isActionsSlot || !hideSearch" class="table-controls">
4
+ <app-table-search
5
+ v-if="!hideSearch"
6
+ :model-value="props.search || ''"
7
+ class="search-input"
8
+ placeholder="Введите наименование"
9
+ @search="props.onSearch"
10
+ />
11
+ <slot v-if="isActionsSlot" name="actions" />
12
+ </div>
13
+
14
+ <div class="table-wrapper">
15
+ <app-table
16
+ v-bind="props.tableProps"
17
+ :selected-rows="props.selectedRows"
18
+ :no-hover="noHover"
19
+ :slots="slots"
20
+ :hide-pagination="hidePagination"
21
+ v-on="props.tableEvents"
22
+ @update:selectedRows="rows => emit('update:selectedRows', rows)"
23
+ >
24
+ <template v-for="name in cellSlotsNames" :key="name" #[name]="{ cellProps }">
25
+ <slot :name="name" :row="cellProps.row" />
26
+ </template>
27
+ </app-table>
28
+ <div v-if="props.loading" class="loader-overlay">
29
+ <q-spinner-audio class="loader-spinner" size="md" :thickness="3" color="primary" />
30
+ </div>
31
+ </div>
32
+
33
+ <app-table-pagination
34
+ v-if="!hidePagination && props.currentPage && props.totalPages"
35
+ :model-value="props.currentPage"
36
+ :total-pages="props.totalPages"
37
+ @page-change="props.onPageChange"
38
+ />
39
+
40
+ <slot v-if="'modal' in slots" name="modal" />
41
+ </div>
42
+ </template>
43
+ <script setup lang="ts">
44
+ import AppTable from './AppTable.vue'
45
+ import AppTablePagination from '../app-table/components/TablePagination.vue'
46
+ import AppTableSearch from '../app-table/components/TableSearch.vue'
47
+ import { defineProps, defineEmits, useSlots, computed } from 'vue'
48
+
49
+ const props = defineProps<{
50
+ search?: string
51
+ loading?: boolean
52
+ currentPage?: number
53
+ totalPages?: number
54
+ tableProps: any
55
+ tableEvents?: any
56
+ onSearch?: (val: string) => void
57
+ onPageChange?: (page: number) => void
58
+ hideSearch?: boolean
59
+ hidePagination?: boolean
60
+ noHover?: boolean
61
+ selectedRows?: any[]
62
+ }>()
63
+ const emit = defineEmits<{
64
+ 'update:selectedRows': [rows: any[]]
65
+ }>()
66
+
67
+ const slots = useSlots()
68
+
69
+ const baseSlotsNames = ['actions', 'modal']
70
+
71
+ const cellSlotsNames = computed(() => {
72
+ if (!slots) return []
73
+
74
+ return Object.keys(slots).filter((key: string) => !baseSlotsNames.includes(key))
75
+ })
76
+
77
+ const isActionsSlot = computed(() => 'actions' in slots)
78
+ </script>
79
+ <style scoped lang="scss">
80
+ .table-layout {
81
+ height: 100%;
82
+ display: grid;
83
+ grid-template-rows: auto 1fr auto;
84
+ gap: 1.25rem;
85
+ box-sizing: border-box;
86
+ overflow: auto;
87
+
88
+ &.hide-search {
89
+ grid-template-rows: 1fr auto;
90
+ }
91
+
92
+ &.hide-pagination {
93
+ grid-template-rows: auto 1fr;
94
+ }
95
+
96
+ &.hide-search.hide-pagination {
97
+ grid-template-rows: 1fr;
98
+ }
99
+ }
100
+ .table-controls {
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: space-between;
104
+ gap: 1.25rem;
105
+
106
+ .search-input {
107
+ flex: 1;
108
+ }
109
+
110
+ ::v-deep(.q-btn) {
111
+ flex-shrink: 0;
112
+ border-radius: 2px;
113
+ background: #fff;
114
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
115
+ color: #3f8cff;
116
+ height: 50px;
117
+ width: 50px;
118
+ }
119
+ }
120
+ .table-wrapper {
121
+ position: relative;
122
+ flex: 1;
123
+ overflow-y: auto;
124
+ }
125
+ .loader-overlay {
126
+ position: absolute;
127
+ inset: 0;
128
+ z-index: 10;
129
+ background: rgba(255, 255, 255, 0.8);
130
+ display: flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ }
134
+ .loader-spinner {
135
+ z-index: 11;
136
+ }
137
+ </style>