shared-ritm 1.2.108 → 1.2.110

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 (126) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +1133 -1132
  4. package/dist/shared-ritm.umd.js +6 -6
  5. package/dist/types/api/services/ProjectsService.d.ts +1 -0
  6. package/package.json +64 -64
  7. package/src/App.vue +2461 -2461
  8. package/src/api/services/AuthService.ts +64 -64
  9. package/src/api/services/BrigadesService.ts +32 -32
  10. package/src/api/services/CommentsService.ts +24 -24
  11. package/src/api/services/ControlsService.ts +65 -65
  12. package/src/api/services/EquipmentService.ts +29 -29
  13. package/src/api/services/FileService.ts +17 -17
  14. package/src/api/services/GanttService.ts +17 -17
  15. package/src/api/services/InstrumentsService.ts +63 -63
  16. package/src/api/services/MetricsService.ts +110 -110
  17. package/src/api/services/ProjectsService.ts +72 -68
  18. package/src/api/services/RepairsService.ts +119 -119
  19. package/src/api/services/SearchService.ts +22 -22
  20. package/src/api/services/TasksService.ts +145 -145
  21. package/src/api/services/UserService.ts +101 -101
  22. package/src/api/services/VideoService.ts +62 -62
  23. package/src/api/settings/ApiService.ts +124 -124
  24. package/src/api/types/Api_Brigades.ts +36 -36
  25. package/src/api/types/Api_Comment.ts +40 -40
  26. package/src/api/types/Api_Controls.ts +72 -72
  27. package/src/api/types/Api_Equipment.ts +3 -3
  28. package/src/api/types/Api_Files.ts +7 -7
  29. package/src/api/types/Api_Instruments.ts +136 -136
  30. package/src/api/types/Api_Projects.ts +55 -55
  31. package/src/api/types/Api_Repairs.ts +115 -115
  32. package/src/api/types/Api_Search.ts +77 -77
  33. package/src/api/types/Api_Service.ts +9 -9
  34. package/src/api/types/Api_Tasks.ts +319 -319
  35. package/src/api/types/Api_User.ts +117 -117
  36. package/src/api/types/Api_Video.ts +123 -123
  37. package/src/common/app-button/AppButton.vue +173 -173
  38. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  39. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  40. package/src/common/app-datepicker/AppDatepicker.vue +165 -165
  41. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  42. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  43. package/src/common/app-icon/AppIcon.vue +108 -108
  44. package/src/common/app-input/AppInput.vue +148 -148
  45. package/src/common/app-input-new/AppInputNew.vue +167 -167
  46. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  47. package/src/common/app-layout/AppLayout.vue +84 -84
  48. package/src/common/app-layout/components/AppLayoutHeader.vue +250 -250
  49. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  50. package/src/common/app-loader/index.vue +43 -43
  51. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  52. package/src/common/app-select/AppSelect.vue +157 -157
  53. package/src/common/app-sheet/AppSheet.vue +120 -120
  54. package/src/common/app-sheet-new/AppSheetNew.vue +246 -246
  55. package/src/common/app-sidebar/AppSidebar.vue +168 -168
  56. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  57. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  58. package/src/common/app-table/AppTable.vue +314 -314
  59. package/src/common/app-table/AppTableLayout.vue +137 -137
  60. package/src/common/app-table/components/ModalSelect.vue +270 -270
  61. package/src/common/app-table/components/TableModal.vue +356 -356
  62. package/src/common/app-table/components/TablePagination.vue +152 -152
  63. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  64. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  65. package/src/common/app-table/controllers/useTableModel.ts +93 -93
  66. package/src/common/app-toggle/AppToggle.vue +24 -24
  67. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  68. package/src/global.d.ts +1 -1
  69. package/src/icons/components/arrow-down-icon.vue +25 -25
  70. package/src/icons/components/arrow-frame-icon.vue +19 -19
  71. package/src/icons/components/arrow-square.vue +22 -22
  72. package/src/icons/components/table-filter-icon.vue +30 -30
  73. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  74. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  75. package/src/icons/header/NotificationIcon.vue +18 -18
  76. package/src/icons/header/PersonIcon.vue +11 -11
  77. package/src/icons/header/SettingIcon.vue +14 -14
  78. package/src/icons/header/flashIcon.vue +24 -24
  79. package/src/icons/header/searchStatusIcon.vue +24 -24
  80. package/src/icons/header/smallCapsIcon.vue +34 -34
  81. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  82. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  83. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  84. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  85. package/src/icons/sidebar/instruments-icon.vue +45 -45
  86. package/src/icons/sidebar/logo-icon.vue +15 -15
  87. package/src/icons/sidebar/logout-icon.vue +13 -13
  88. package/src/icons/sidebar/modules-icon.vue +16 -16
  89. package/src/icons/sidebar/notifications-icon.vue +24 -24
  90. package/src/icons/sidebar/order-icon.vue +44 -44
  91. package/src/icons/sidebar/pass-icon.vue +38 -38
  92. package/src/icons/sidebar/positions-icon.vue +42 -42
  93. package/src/icons/sidebar/preorder-icon.vue +19 -19
  94. package/src/icons/sidebar/projects-icon.vue +31 -31
  95. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  96. package/src/icons/sidebar/repairs-icon.vue +20 -20
  97. package/src/icons/sidebar/roles-icon.vue +26 -26
  98. package/src/icons/sidebar/status-history-icon.vue +24 -24
  99. package/src/icons/sidebar/tasks-icon.vue +28 -28
  100. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  101. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  102. package/src/icons/sidebar/teams-icon.vue +32 -32
  103. package/src/icons/sidebar/user-icon.vue +18 -18
  104. package/src/icons/sidebar/users-icon.vue +46 -46
  105. package/src/icons/sidebar/videosources-icon.vue +19 -19
  106. package/src/icons/sidebar/videowall-icon.vue +13 -13
  107. package/src/icons/sidebar/videozones-icon.vue +21 -21
  108. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  109. package/src/icons/sidebar/workshop-icon.vue +100 -100
  110. package/src/icons/sidebar/workzones-icon.vue +22 -22
  111. package/src/icons/task/attention-icon.vue +13 -13
  112. package/src/icons/task/clock-icon.vue +10 -10
  113. package/src/icons/task/delete-icon.vue +10 -10
  114. package/src/icons/task/fire-icon.vue +16 -16
  115. package/src/index.ts +119 -119
  116. package/src/main.ts +28 -28
  117. package/src/quasar-user-options.ts +17 -17
  118. package/src/router/index.ts +10 -10
  119. package/src/shared/styles/general.css +124 -124
  120. package/src/shims-vue.d.ts +5 -5
  121. package/src/styles/variables.sass +12 -12
  122. package/src/utils/confirm.ts +12 -12
  123. package/src/utils/faceApiHelper.ts +137 -137
  124. package/src/utils/helpers.ts +59 -59
  125. package/src/utils/notification.ts +9 -9
  126. package/dist/types/api/services/PhotoService.d.ts +0 -40
@@ -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>