shared-ritm 1.1.31 → 1.1.33
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/dist/index.css +1 -1
- package/dist/shared-ritm.es.js +39751 -20781
- package/dist/shared-ritm.umd.js +72 -62
- package/dist/types/api/types/Api_Repairs.d.ts +3 -0
- package/package.json +1 -1
- package/src/api/types/Api_Repairs.ts +3 -0
- package/src/common/app-sheet/AppSheet.vue +114 -114
|
@@ -31,6 +31,9 @@ export type Api_Create_Repair_With_Equipments = {
|
|
|
31
31
|
display_name: string;
|
|
32
32
|
description: string;
|
|
33
33
|
equipment_id: string;
|
|
34
|
+
power_output_MWh?: number;
|
|
35
|
+
cost_per_MWh?: number;
|
|
36
|
+
category?: string;
|
|
34
37
|
};
|
|
35
38
|
export type Api_Update_Repair = {
|
|
36
39
|
name?: string;
|
package/package.json
CHANGED
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<q-dialog
|
|
3
|
-
ref="DialogRef"
|
|
4
|
-
:model-value="true"
|
|
5
|
-
:position="'right'"
|
|
6
|
-
:class="$style['sheet-dialog']"
|
|
7
|
-
full-height
|
|
8
|
-
full-width
|
|
9
|
-
>
|
|
10
|
-
<template v-if="type === 'details'">
|
|
11
|
-
<q-card>
|
|
12
|
-
<div class="wrapper">
|
|
13
|
-
<div class="sheet-header">
|
|
14
|
-
<h2>{{ title }}</h2>
|
|
15
|
-
<div class="close-button">
|
|
16
|
-
<q-btn v-close-popup dense flat icon="close" />
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
<div v-if="loading" class="loader">
|
|
20
|
-
<q-spinner-audio v-if="loading" class="loader-spinner" size="md" :thickness="3" color="primary" />
|
|
21
|
-
</div>
|
|
22
|
-
<slot v-else />
|
|
23
|
-
</div>
|
|
24
|
-
</q-card>
|
|
25
|
-
</template>
|
|
26
|
-
<template v-if="type === 'custom'">
|
|
27
|
-
<div v-if="loading" class="custom-wrapper">
|
|
28
|
-
<div class="loader">
|
|
29
|
-
<q-spinner-audio v-if="loading" class="loader-spinner" size="md" :thickness="3" color="primary" />
|
|
30
|
-
</div>
|
|
31
|
-
</div>
|
|
32
|
-
<slot v-else />
|
|
33
|
-
</template>
|
|
34
|
-
</q-dialog>
|
|
35
|
-
</template>
|
|
36
|
-
|
|
37
|
-
<script setup lang="ts">
|
|
38
|
-
import { computed, defineEmits, defineProps, withDefaults } from 'vue'
|
|
39
|
-
|
|
40
|
-
interface DialogProps {
|
|
41
|
-
dialogRef: any
|
|
42
|
-
loading?: boolean
|
|
43
|
-
title?: string
|
|
44
|
-
width?: string
|
|
45
|
-
type?: 'details' | 'custom'
|
|
46
|
-
tabs?: any[]
|
|
47
|
-
currentTabName?: string
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const props = withDefaults(defineProps<DialogProps>(), {
|
|
51
|
-
title: '',
|
|
52
|
-
width: '976px',
|
|
53
|
-
type: 'details',
|
|
54
|
-
loading: false,
|
|
55
|
-
tabs: () => [],
|
|
56
|
-
currentTabName: '',
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
const emit = defineEmits(['update:dialogRef', 'update:currentTabName'])
|
|
60
|
-
|
|
61
|
-
const DialogRef = computed({
|
|
62
|
-
get() {
|
|
63
|
-
return props.dialogRef
|
|
64
|
-
},
|
|
65
|
-
set(value) {
|
|
66
|
-
emit('update:dialogRef', value)
|
|
67
|
-
},
|
|
68
|
-
})
|
|
69
|
-
</script>
|
|
70
|
-
|
|
71
|
-
<style lang="scss" scoped>
|
|
72
|
-
.custom-wrapper {
|
|
73
|
-
width: v-bind(width);
|
|
74
|
-
background-color: white;
|
|
75
|
-
}
|
|
76
|
-
.wrapper {
|
|
77
|
-
display: flex;
|
|
78
|
-
flex-direction: column;
|
|
79
|
-
gap: 1rem;
|
|
80
|
-
width: v-bind(width);
|
|
81
|
-
height: 100vh;
|
|
82
|
-
min-height: 100vh;
|
|
83
|
-
position: relative;
|
|
84
|
-
padding: 2rem 2rem 4rem 2rem;
|
|
85
|
-
background-color: #7991ad32;
|
|
86
|
-
font-family: 'NunitoSansFont', sans-serif;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.sheet-header {
|
|
90
|
-
display: flex;
|
|
91
|
-
justify-content: space-between;
|
|
92
|
-
align-items: center;
|
|
93
|
-
h2 {
|
|
94
|
-
font-size: 36px;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
.loader {
|
|
98
|
-
min-width: 976px;
|
|
99
|
-
&-spinner {
|
|
100
|
-
position: absolute;
|
|
101
|
-
top: 50%;
|
|
102
|
-
left: 50%;
|
|
103
|
-
z-index: 4;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
</style>
|
|
107
|
-
|
|
108
|
-
<style lang="scss" module>
|
|
109
|
-
.sheet-dialog {
|
|
110
|
-
:global(.q-dialog__inner--minimized) {
|
|
111
|
-
padding: 0;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<q-dialog
|
|
3
|
+
ref="DialogRef"
|
|
4
|
+
:model-value="true"
|
|
5
|
+
:position="'right'"
|
|
6
|
+
:class="$style['sheet-dialog']"
|
|
7
|
+
full-height
|
|
8
|
+
full-width
|
|
9
|
+
>
|
|
10
|
+
<template v-if="type === 'details'">
|
|
11
|
+
<q-card>
|
|
12
|
+
<div class="wrapper">
|
|
13
|
+
<div class="sheet-header">
|
|
14
|
+
<h2>{{ title }}</h2>
|
|
15
|
+
<div class="close-button">
|
|
16
|
+
<q-btn v-close-popup dense flat icon="close" />
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div v-if="loading" class="loader">
|
|
20
|
+
<q-spinner-audio v-if="loading" class="loader-spinner" size="md" :thickness="3" color="primary" />
|
|
21
|
+
</div>
|
|
22
|
+
<slot v-else />
|
|
23
|
+
</div>
|
|
24
|
+
</q-card>
|
|
25
|
+
</template>
|
|
26
|
+
<template v-if="type === 'custom'">
|
|
27
|
+
<div v-if="loading" class="custom-wrapper">
|
|
28
|
+
<div class="loader">
|
|
29
|
+
<q-spinner-audio v-if="loading" class="loader-spinner" size="md" :thickness="3" color="primary" />
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
<slot v-else />
|
|
33
|
+
</template>
|
|
34
|
+
</q-dialog>
|
|
35
|
+
</template>
|
|
36
|
+
|
|
37
|
+
<script setup lang="ts">
|
|
38
|
+
import { computed, defineEmits, defineProps, withDefaults } from 'vue'
|
|
39
|
+
|
|
40
|
+
interface DialogProps {
|
|
41
|
+
dialogRef: any
|
|
42
|
+
loading?: boolean
|
|
43
|
+
title?: string
|
|
44
|
+
width?: string
|
|
45
|
+
type?: 'details' | 'custom'
|
|
46
|
+
tabs?: any[]
|
|
47
|
+
currentTabName?: string
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const props = withDefaults(defineProps<DialogProps>(), {
|
|
51
|
+
title: '',
|
|
52
|
+
width: '976px',
|
|
53
|
+
type: 'details',
|
|
54
|
+
loading: false,
|
|
55
|
+
tabs: () => [],
|
|
56
|
+
currentTabName: '',
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
const emit = defineEmits(['update:dialogRef', 'update:currentTabName'])
|
|
60
|
+
|
|
61
|
+
const DialogRef = computed({
|
|
62
|
+
get() {
|
|
63
|
+
return props.dialogRef
|
|
64
|
+
},
|
|
65
|
+
set(value) {
|
|
66
|
+
emit('update:dialogRef', value)
|
|
67
|
+
},
|
|
68
|
+
})
|
|
69
|
+
</script>
|
|
70
|
+
|
|
71
|
+
<style lang="scss" scoped>
|
|
72
|
+
.custom-wrapper {
|
|
73
|
+
width: v-bind(width);
|
|
74
|
+
background-color: white;
|
|
75
|
+
}
|
|
76
|
+
.wrapper {
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
gap: 1rem;
|
|
80
|
+
width: v-bind(width);
|
|
81
|
+
height: 100vh;
|
|
82
|
+
min-height: 100vh;
|
|
83
|
+
position: relative;
|
|
84
|
+
padding: 2rem 2rem 4rem 2rem;
|
|
85
|
+
background-color: #7991ad32;
|
|
86
|
+
font-family: 'NunitoSansFont', sans-serif;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.sheet-header {
|
|
90
|
+
display: flex;
|
|
91
|
+
justify-content: space-between;
|
|
92
|
+
align-items: center;
|
|
93
|
+
h2 {
|
|
94
|
+
font-size: 36px;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
.loader {
|
|
98
|
+
min-width: 976px;
|
|
99
|
+
&-spinner {
|
|
100
|
+
position: absolute;
|
|
101
|
+
top: 50%;
|
|
102
|
+
left: 50%;
|
|
103
|
+
z-index: 4;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
</style>
|
|
107
|
+
|
|
108
|
+
<style lang="scss" module>
|
|
109
|
+
.sheet-dialog {
|
|
110
|
+
:global(.q-dialog__inner--minimized) {
|
|
111
|
+
padding: 0;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
</style>
|