11<template >
2- <q-splitter v-model =" splitterModel" class =" full-width-vw" >
3- <template v-slot :before >
4- <div class =" q-a-xl no-margin no-padding" >
5- <service-details-component
6- :service =" selectedService"
7- v-on:on-open-service ="
2+ <div class =" container fit row wrap justify-start items-start content-start" >
3+ <div class =" s-left" >
4+ <q-tabs v-model =" tab" vertical >
5+ <q-tab name =" dashboard" icon =" dashboard" />
6+ <q-tab name =" services" icon =" miscellaneous_services" />
7+ </q-tabs >
8+ </div >
9+ <div class =" s-right col-grow" >
10+ <q-tab-panels v-model =" tab" >
11+ <q-tab-panel name =" dashboard" >
12+ <dashboard-component />
13+ </q-tab-panel >
14+ <q-tab-panel name =" services" style =" padding : 0 " >
15+ <q-splitter
16+ v-model =" splitterModel"
17+ class =" full-width-vw"
18+ separator-style =" border: 1px solid white;"
19+ >
20+ <template v-slot :before >
21+ <div class =" q-a-xl no-margin no-padding" >
22+ <service-details-component
23+ :service =" selectedService"
24+ v-on:on-open-service ="
825 (svr: ServiceType) => {
926 openService(svr);
1027 }
1128 "
12- />
13- </div >
14- </template >
29+ />
30+ </div >
31+ </template >
1532
16- <template v-slot :after >
17- <div class =" q-a-xl no-margin no-padding" >
18- <services-list-component
19- v-on:on-select-service ="
33+ <template v-slot :after >
34+ <div class =" q-a-xl no-margin no-padding" >
35+ <services-list-component
36+ v-on:on-select-service ="
2037 (svr: ServiceType) => {
2138 selectedService = svr;
2239 }
2340 "
24- v-on:on-open-service ="
41+ v-on:on-open-service ="
2542 (svr: ServiceType) => {
2643 openService(svr);
2744 }
2845 "
29- />
30- </div >
31- </template >
32- </q-splitter >
46+ />
47+ </div >
48+ </template >
49+ </q-splitter >
50+ </q-tab-panel >
51+ </q-tab-panels >
52+ </div >
53+ </div >
54+
3355 <dialog id =" serviceWindow" ref =" serviceWindow" class =" shadow-24" >
3456 <header >
3557 <div class =" fit row wrap justify-between items-start content-start" >
5779 </dialog >
5880</template >
5981
60- <style lang="css">
82+ <style lang="css" scoped>
83+ div .s-left {
84+ overflow : auto ;
85+ min-width : 50px ;
86+ max-width : 50px ;
87+ }
88+ div .s-right {
89+ overflow : hidden ;
90+ width : calc (100vw - 70px );
91+ height : calc (100vh - 100px );
92+ border-left : 1px solid rgba (0 , 0 , 0 , 0.12 );
93+ }
6194.dialog-title {
6295 white-space : nowrap ;
6396 overflow : hidden ;
6497 max-width : 355px ;
6598}
6699.full-width-vw {
67- width : 100vw !important ;
100+ /* width: 100vw !important;*/
68101}
69102.left {
70103 border-right : 1px solid rgb (230 , 229 , 229 );
@@ -134,6 +167,8 @@ import { bus } from 'boot/bus';
134167import ServicesListComponent from ' ../components/ServicesListComponent.vue' ;
135168import ServiceDetailsComponent from ' ../components/ServiceDetailsComponent.vue' ;
136169import ServiceWindowComponent from ' ../components/service-window/ServiceWindowComponent.vue' ;
170+ import DashboardComponent from ' ../components/dashboard/DashboardComponent.vue' ;
171+
137172import { ServiceModel , ServiceType } from ' ./models' ;
138173
139174// import { ServiceModel, ServiceType } from './repo/models';
@@ -144,6 +179,7 @@ export default defineComponent({
144179 ServicesListComponent ,
145180 ServiceDetailsComponent ,
146181 ServiceWindowComponent ,
182+ DashboardComponent ,
147183 },
148184 methods: {
149185 openService(service : ServiceType ) {
@@ -183,6 +219,7 @@ export default defineComponent({
183219 services: ref <Array <ServiceModel >>([]),
184220 isDialogOpen: isDialogOpen ,
185221 serviceWindow ,
222+ tab: ref (' dashboard' ),
186223 };
187224 },
188225});
0 commit comments