fix : style

This commit is contained in:
zeinab.ashrafi
2025-03-13 12:57:07 +03:30
parent 988e3aa5c8
commit 0d9a6f2ae4
21 changed files with 668 additions and 739 deletions
+36 -19
View File
@@ -1,5 +1,6 @@
<template> <template>
<v-navigation-drawer id="app-drawer" v-model="inputValue" app absolute dark floating persistent mobile-break-point="991" <v-navigation-drawer id="app-drawer" v-model="inputValue" app absolute dark floating persistent
mobile-break-point="991"
width="260"> width="260">
<v-img :src="image" height="100%"> <v-img :src="image" height="100%">
<v-layout class="fill-height" tag="v-list" column> <v-layout class="fill-height" tag="v-list" column>
@@ -13,22 +14,26 @@
</v-list-tile-avatar> </v-list-tile-avatar>
<v-list-tile-title class="title"> <v-list-tile-title class="title">
{{ $store.state.user.name }} {{ $store.state.user.name }}
<br /> <br/>
{{ $store.state.user.medical_center?.name }} {{ $store.state.user.medical_center?.name }}
<v-chip small class="user-role" color="#3a3a3a" text-color="#c3c3c3">
{{ $store.state.roles[0] }}
</v-chip>
</v-list-tile-title> </v-list-tile-title>
</v-list-tile> </v-list-tile>
<v-divider /> <v-divider/>
<v-list-tile v-if="responsive"> <v-list-tile v-if="responsive">
<v-text-field class="purple-input search-input" label="Search..." color="purple" /> <v-text-field class="purple-input search-input" label="Search..." color="purple"/>
</v-list-tile> </v-list-tile>
<template v-for="(link, i) in links"> <template v-for="(link, i) in links">
<v-list-tile v-if="!link.role || $hasRole(link.role)" :key="i" :to="link.to" :active-class="color" avatar <v-list-tile v-if="!link.role || $hasRole(link.role)" :key="i" :to="link.to" :active-class="color"
avatar
class="v-list-item"> class="v-list-item">
<v-list-tile-action> <v-list-tile-action>
<v-icon>{{ link.icon }}</v-icon> <v-icon>{{ link.icon }}</v-icon>
</v-list-tile-action> </v-list-tile-action>
<v-list-tile-title v-text="link.text" /> <v-list-tile-title v-text="link.text"/>
</v-list-tile> </v-list-tile>
</template> </template>
<!-- <v-list-tile <!-- <v-list-tile
@@ -61,72 +66,72 @@ export default {
logo: './img/vuetifylogo.png', logo: './img/vuetifylogo.png',
links: [ links: [
{ {
to: { name: 'Dashboard' }, to: {name: 'Dashboard'},
icon: 'mdi-view-dashboard', icon: 'mdi-view-dashboard',
text: 'Dashboard' text: 'Dashboard'
}, },
{ {
to: { name: 'MyInfo' }, to: {name: 'MyInfo'},
icon: 'mdi-account', icon: 'mdi-account',
text: 'My Info' text: 'My Info'
}, },
{ {
to: { name: 'SubmitTestResult' }, to: {name: 'SubmitTestResult'},
icon: 'fas fa-vial', icon: 'fas fa-vial',
text: 'Add a Test Result' text: 'Add a Test Result'
}, },
{ {
to: { name: 'AllResultTest' }, to: {name: 'AllResultTest'},
icon: 'description', icon: 'description',
text: 'All Test Result' text: 'All Test Result'
}, },
{ {
to: { name: 'ManageMedicalCenter' }, to: {name: 'ManageMedicalCenter'},
icon: 'far fa-building', icon: 'far fa-building',
text: 'Manage Medical Center', text: 'Manage Medical Center',
role: 'Admin', role: 'Admin',
}, },
{ {
to: { name: 'ManageUsers' }, to: {name: 'ManageUsers'},
icon: 'far fa-address-book', icon: 'far fa-address-book',
text: 'Manage Users', text: 'Manage Users',
role: 'Admin', role: 'Admin',
}, },
{ {
to: { name: 'ListTestType' }, to: {name: 'ListTestType'},
icon: 'fas fa-vial', icon: 'fas fa-vial',
text: 'List Test Type', text: 'List Test Type',
role: 'Admin' role: 'Admin'
}, },
{ {
to: { name: 'AllItem' }, to: {name: 'AllItem'},
icon: 'far fa-clone', icon: 'far fa-clone',
text: 'Items', text: 'Items',
role: 'Admin|Supervisor|User' role: 'Admin|Supervisor|User'
}, },
{ {
to: { name: 'AllPackage' }, to: {name: 'AllPackage'},
icon: 'fas fa-archive', icon: 'fas fa-archive',
text: 'Packages', text: 'Packages',
role: 'Admin|Supervisor|User' role: 'Admin|Supervisor|User'
}, },
{ {
to: { name: 'AllLabels' }, to: {name: 'AllLabels'},
icon: 'fas fa-inbox', icon: 'fas fa-inbox',
text: 'Labels' text: 'Labels'
}, },
{ {
to: { name: 'AllCycle' }, to: {name: 'AllCycle'},
icon: 'cached', icon: 'cached',
text: 'Cycles' text: 'Cycles'
}, },
{ {
to: { name: 'Statistics' }, to: {name: 'Statistics'},
icon: 'fas fa-chart-bar', icon: 'fas fa-chart-bar',
text: 'Statistics', text: 'Statistics',
}, },
{ {
to: { name: 'Tickets' }, to: {name: 'Tickets'},
icon: 'style', icon: 'style',
text: 'Tickets', text: 'Tickets',
}, },
@@ -178,6 +183,18 @@ export default {
} }
} }
.v-chip.user-role {
border-radius: 4px;
height: 20px !important;
line-height: 20px;
font-size: 11px;
letter-spacing: 1px;
.v-chip__content {
padding: 0 5px;
}
}
.v-image__image--contain { .v-image__image--contain {
top: 9px; top: 9px;
height: 60%; height: 60%;
+9 -11
View File
@@ -1,4 +1,3 @@
<template> <template>
<v-container grid-list-xs> <v-container grid-list-xs>
<material-card color="black" title="Show Item"> <material-card color="black" title="Show Item">
@@ -29,15 +28,15 @@
<v-flex xs12 md6 sm6> <v-flex xs12 md6 sm6>
<div class> <div class>
<span class="title CSSD-font">Specific :</span> <span class="title CSSD-font">Specific :</span>
<span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important">{{ data.specific <span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important">{{ data.specific}}</span>
}}</span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 md6 sm6>
<div class> <div class>
<span class="title CSSD-font">Register User :</span> <span class="title CSSD-font">Register User :</span>
<span class="headline ml-2 CSSD-font" style="letter-spacing:0 !important">{{ (typeof data.user <span class="headline ml-2 CSSD-font" style="letter-spacing:0 !important">
!= 'undefined') ? data.user.name : '' }}</span> {{ (typeof data.user != 'undefined') ? data.user.name : '' }}
</span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 md6 sm6>
@@ -61,8 +60,9 @@
</v-layout> </v-layout>
<v-layout row wrap class="ml-4"> <v-layout row wrap class="ml-4">
<v-flex xs12 md6 sm6 v-if="QRCodeimg"> <v-flex xs12 md6 sm6 v-if="QRCodeimg">
<a :href="'/Show/Item/' + data.id + ''" target="_blank"><img :src="QRCodeimg" <a :href="'/Show/Item/' + data.id + ''" target="_blank">
class="WM-Width-150"></a> <img :src="QRCodeimg" class="WM-Width-150">
</a>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
@@ -75,10 +75,8 @@
<span class="white--text CSSD-font">Print</span> <span class="white--text CSSD-font">Print</span>
</v-btn> </v-btn>
</v-flex> </v-flex>
<v-flex class xs12 md2 sm2 @click="changeCurrentModal({ <v-flex class xs12 md2 sm2
modal: 'modal-user-list', @click="changeCurrentModal({modal: 'modal-user-list', properties: { data }})">
properties: { data }
})">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
<!-- <v-icon class="white--text mr-2 caption">fas fa-print</v-icon> --> <!-- <v-icon class="white--text mr-2 caption">fas fa-print</v-icon> -->
<v-icon class="white--text mr-2 caption">fas fa-rocket</v-icon> <v-icon class="white--text mr-2 caption">fas fa-rocket</v-icon>
+10 -5
View File
@@ -5,14 +5,18 @@
<div class="text-center"> Are you sure?</div> <div class="text-center"> Are you sure?</div>
<v-layout row wrap> <v-layout row wrap>
<v-layout align-center justify-center wrap class="px-5 mt-2"> <v-layout align-center justify-center wrap class="px-5 mt-2">
<v-flex xs12 sm6 md6 class="text-center">
<v-btn @click="closeModal" class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
<v-icon class="black--text mr-2 caption">fas fa-times</v-icon>
<span class="black--text">Close</span>
</v-btn>
</v-flex>
<v-flex xs12 sm6 md6 class="text-center">
<v-btn @click="changeRole" class="WM-CyanBlueGradient-BG" style="padding:10px 60px"> <v-btn @click="changeRole" class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon> <v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>
<span class="white--text">Confirm</span> <span class="white--text">Confirm</span>
</v-btn> </v-btn>
<v-btn @click="closeModal" class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5"> </v-flex>
<v-icon class="black--text mr-2 caption">fas fa-times</v-icon>
<span class="black--text">Close</span>
</v-btn>
</v-layout> </v-layout>
</v-layout> </v-layout>
</material-card> </material-card>
@@ -20,7 +24,8 @@
</v-form> </v-form>
</template> </template>
<script> <script>
import { mapGetters, mapMutations } from "vuex"; import {mapGetters, mapMutations} from "vuex";
export default { export default {
methods: { methods: {
...mapMutations("modal", ["closeModal"]), ...mapMutations("modal", ["closeModal"]),
+2 -2
View File
@@ -29,10 +29,10 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-layout class="px-4 my-3"> <v-layout class="px-4 my-3">
<v-divider></v-divider> <v-divider/>
</v-layout> </v-layout>
<div class="text-xs-center mt-2" v-if="lastPage > 1"> <div class="text-xs-center mt-2" v-if="lastPage > 1">
<v-pagination color="black" v-model="currentPage" :length="lastPage" :total-visible="6"></v-pagination> <v-pagination color="black" v-model="currentPage" :length="lastPage" :total-visible="6"/>
</div> </div>
<v-layout row wrap align-center justify-strart class="mt-3"> <v-layout row wrap align-center justify-strart class="mt-3">
<v-btn type="submit" class="WM-CyanBlueGradient-BG ml-5 px-5"> <v-btn type="submit" class="WM-CyanBlueGradient-BG ml-5 px-5">
+15 -12
View File
@@ -9,17 +9,19 @@
</v-layout> </v-layout>
<v-layout row wrap> <v-layout row wrap>
<v-layout align-center justify-center wrap class="px-5 mt-2"> <v-layout align-center justify-center wrap class="px-5 mt-2">
<v-flex xs12 sm6 md6 lg3 class="text-center">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black"
@click="closeModal">
<v-icon class="black--text mr-2 caption">fas fa-times</v-icon>
<span class="black--text">Close</span>
</v-btn>
</v-flex>
<v-flex xs12 sm6 md6 lg3 class="text-center">
<v-btn @click="changeRole" class="WM-CyanBlueGradient-BG" style="padding:10px 60px"> <v-btn @click="changeRole" class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon> <v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>
<span class="white--text">Add</span> <span class="white--text">Add</span>
</v-btn> </v-btn>
<v-btn </v-flex>
@click="closeModal"
class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5"
>
<v-icon class="black--text mr-2 caption">fas fa-times</v-icon>
<span class="black--text">Close</span>
</v-btn>
</v-layout> </v-layout>
</v-layout> </v-layout>
</material-card> </material-card>
@@ -27,14 +29,15 @@
</v-form> </v-form>
</template> </template>
<script> <script>
import { mapGetters, mapMutations } from "vuex"; import {mapGetters, mapMutations} from "vuex";
import { ApiService } from "@/services"; import {ApiService} from "@/services";
import { roles } from "@/config/utils"; import {roles} from "@/config/utils";
import { urls } from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
data: () => ({ data: () => ({
items: roles, items: roles,
data: { roles: "" } data: {roles: ""}
}), }),
methods: { methods: {
...mapMutations("modal", ["closeModal", "setResultModal"]), ...mapMutations("modal", ["closeModal", "setResultModal"]),
+6 -6
View File
@@ -100,9 +100,9 @@ export default ApiService
export { ApiService } export { ApiService }
axios.interceptors.request.use(request => { axios.interceptors.request.use(request => {
console.log("🔵 API Request:", request.method.toUpperCase(), request.url); // console.log("🔵 API Request:", request.method.toUpperCase(), request.url);
console.log("🔹 Headers:", request.headers); // console.log("🔹 Headers:", request.headers);
console.log("🔹 Data:", request.data); // console.log("🔹 Data:", request.data);
return request; return request;
}, error => { }, error => {
console.error("🔴 Request Error:", error); console.error("🔴 Request Error:", error);
@@ -110,9 +110,9 @@ axios.interceptors.request.use(request => {
}); });
axios.interceptors.response.use(response => { axios.interceptors.response.use(response => {
console.log("🟢 API Response:", response.config.url); // console.log("🟢 API Response:", response.config.url);
console.log("🟢 Status:", response.status); // console.log("🟢 Status:", response.status);
console.log("🟢 Data:", response.data); // console.log("🟢 Data:", response.data);
return response; return response;
}, error => { }, error => {
console.error("🔴 API Error:", error.response ? error.response.data : error); console.error("🔴 API Error:", error.response ? error.response.data : error);
+1 -1
View File
@@ -165,7 +165,7 @@ h3.CSSD-font {
.v-btn.WM-NoShadow:not(.v-btn--depressed):not(.v-btn--flat) { .v-btn.WM-NoShadow:not(.v-btn--depressed):not(.v-btn--flat) {
-webkit-box-shadow: none !important; -webkit-box-shadow: none !important;
box-shadow: none !important; box-shadow: none !important;
padding: 8px 30px; padding: 10px 30px;
} }
.inputfile { .inputfile {
+5 -4
View File
@@ -37,7 +37,7 @@
</v-flex> </v-flex>
<v-spacer/> <v-spacer/>
<v-flex class xs12 sm6 md6 lg2 xl1> <v-flex class xs12 sm6 md6 lg2 xl1>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load()"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load()">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -63,12 +63,13 @@
</template> </template>
<template slot="items" slot-scope="{ item }"> <template slot="items" slot-scope="{ item }">
<td class="headline font-weight-light">{{ item.id }}</td> <td class="headline font-weight-light">{{ item.id }}</td>
<td class="title font-weight-light">{{ (item.user && item.user.medical_center) ? <td class="title font-weight-light">
item.user.medical_center.name : '' }}</td> {{ (item.user && item.user.medical_center) ? item.user.medical_center.name : '' }}
</td>
<td class="title font-weight-light">{{ item.sterilizer_id }}</td> <td class="title font-weight-light">{{ item.sterilizer_id }}</td>
<td class="title font-weight-light">{{ item.cycle_number }}</td> <td class="title font-weight-light">{{ item.cycle_number }}</td>
<td class="title font-weight-light">{{ item.date }}</td> <td class="title font-weight-light">{{ item.date }}</td>
<td class="text-xs-right FlexBtn Height-MD-60"> <td class="text-xs-right FlexBtn Height-MD-60 justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2" <v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2"
+2 -2
View File
@@ -29,7 +29,7 @@
<!--btn--> <!--btn-->
<v-spacer/> <v-spacer/>
<v-flex class xs12 sm6 md6 lg2 xl1> <v-flex class xs12 sm6 md6 lg2 xl1>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load()"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load()">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -64,7 +64,7 @@
<td class="title font-weight-light">{{ item.udi | text_20_letter }}</td> <td class="title font-weight-light">{{ item.udi | text_20_letter }}</td>
<td class="title font-weight-light">{{ item.size }}</td> <td class="title font-weight-light">{{ item.size }}</td>
<td class="title font-weight-light">{{ item.status }}</td> <td class="title font-weight-light">{{ item.status }}</td>
<td class="text-xs-right FlexBtn Height-MD-60"> <td class="text-xs-right FlexBtn Height-MD-60 justify-self-end">
<v-tooltip bottom open-on-hover v-if="$hasRole('Admin|Supervisor')"> <v-tooltip bottom open-on-hover v-if="$hasRole('Admin|Supervisor')">
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn <v-btn
+2 -2
View File
@@ -35,7 +35,7 @@
</v-flex> </v-flex>
<v-spacer/> <v-spacer/>
<v-flex xs12 sm6 md6 lg2 xl1 class=""> <v-flex xs12 sm6 md6 lg2 xl1 class="">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load()"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load()">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -67,7 +67,7 @@
<td class="title font-weight-light">{{ item.user ? item.user.name : '' }}</td> <td class="title font-weight-light">{{ item.user ? item.user.name : '' }}</td>
<td class="title font-weight-light">{{ item.cycle_number }}</td> <td class="title font-weight-light">{{ item.cycle_number }}</td>
<td class="title font-weight-light">{{ item.sterilizer_id }}</td> <td class="title font-weight-light">{{ item.sterilizer_id }}</td>
<td class="text-xs-right FlexBtn Height-MD-60"> <td class="text-xs-right FlexBtn Height-MD-60 justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2" <v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2"
+26 -21
View File
@@ -3,44 +3,53 @@
<v-container grid-list-xs> <v-container grid-list-xs>
<material-card class color="black" title="Add Medical Center" text> <material-card class color="black" title="Add Medical Center" text>
<v-layout row wrap class="px-5 mb-3"> <v-layout row wrap class="px-5 mb-3">
<v-flex xs12 md3 xs3> <v-flex xs12 sm6 md6 lg3>
<v-text-field <v-text-field
v-model="medicalCenter.name" v-model="medicalCenter.name"
label="Name" label="Name"
color="black" color="black"
class="pa-2" class="pa-2"
:rules="[rules.required, rules.counter]" :rules="[rules.required, rules.counter]"
></v-text-field> />
</v-flex> </v-flex>
<v-flex xs12 md3 xs3> <v-flex xs12 sm6 md6 lg3>
<v-select <v-select
:items="cities" :items="cities"
item-text="name_en" item-text="name_en"
item-value="id" item-value="id"
v-model="medicalCenter.city_id" v-model="medicalCenter.city_id"
label="Select City" label="Select City"
></v-select> />
</v-flex> </v-flex>
<v-flex xs12 md3 xs3> <v-flex xs12 sm6 md6 lg3>
<v-text-field <v-text-field
v-model="medicalCenter.address" v-model="medicalCenter.address"
label="Address" label="Address"
color="black" color="black"
class="pa-2" class="pa-2"
:rules="[rules.required]" :rules="[rules.required]"
></v-text-field> />
</v-flex> </v-flex>
<v-flex xs12 md3 xs3> <v-flex xs12 sm6 md6 lg3>
<v-text-field <v-text-field
v-model="medicalCenter.phone_number" v-model="medicalCenter.phone_number"
label="Phone Number" label="Phone Number"
color="black" color="black"
class="pa-2" class="pa-2"
:rules="[rules.required]" :rules="[rules.required]"
></v-text-field> />
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-layout row wrap align-center justify-center class="mt-3"> <v-layout row wrap align-center justify-center class="mt-3">
<v-flex xs12 sm6 md6 lg3 class="text-center">
<router-link :to="{name:'ManageMedicalCenter'}">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
<v-icon class="black--text mr-2 caption">fas fa-chevron-left</v-icon>
<span class="black--text">Back</span>
</v-btn>
</router-link>
</v-flex>
<v-flex xs12 sm6 md6 lg3 class="text-center">
<v-btn class="WM-CyanBlueGradient-BG" @click="AddMedicalCenter" style="padding:10px 60px"> <v-btn class="WM-CyanBlueGradient-BG" @click="AddMedicalCenter" style="padding:10px 60px">
<template v-if="$route.params.medicalCenter"> <template v-if="$route.params.medicalCenter">
<v-icon class="white--text mr-2 caption">fas fa-edit</v-icon> <v-icon class="white--text mr-2 caption">fas fa-edit</v-icon>
@@ -51,34 +60,30 @@
<span class="white--text">Add</span> <span class="white--text">Add</span>
</template> </template>
</v-btn> </v-btn>
<router-link :to="{name:'ManageMedicalCenter'}"> </v-flex>
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5">
<v-icon class="black--text mr-2 caption">fas fa-chevron-left</v-icon>
<span class="black--text">Back</span>
</v-btn>
</router-link>
</v-layout> </v-layout>
</material-card> </material-card>
</v-container> </v-container>
</v-form> </v-form>
</template> </template>
<script> <script>
import { ApiService } from "@/services"; import {ApiService} from "@/services";
import { urls } from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
data() { data() {
return { return {
medicalCenter: { medicalCenter: {
name: "", name: "",
address : "", address: "",
city_id : "", city_id: "",
phone_number : "" phone_number: ""
}, },
rules: { rules: {
required: value => !!value || "Required.", required: value => !!value || "Required.",
counter: value => value.length <= 30 || "Max 30 characters" counter: value => value.length <= 30 || "Max 30 characters"
}, },
cities : [] cities: []
}; };
}, },
created() { created() {
@@ -108,7 +113,7 @@ export default {
var result = await ApiService.post(urls.storeMedicalCenter, this.medicalCenter); var result = await ApiService.post(urls.storeMedicalCenter, this.medicalCenter);
} }
if (result && result.status == 200) { if (result && result.status == 200) {
this.$router.push({name : "ManageMedicalCenter"}); this.$router.push({name: "ManageMedicalCenter"});
} }
} }
} }
+4 -4
View File
@@ -7,7 +7,7 @@
</v-flex> </v-flex>
<v-spacer/> <v-spacer/>
<v-flex class xs12 sm6 md6 lg2 xl1> <v-flex class xs12 sm6 md6 lg2 xl1>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load()"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load()">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -22,7 +22,7 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-layout class="px-4 my-3"> <v-layout class="px-4 my-3">
<v-divider></v-divider> <v-divider/>
</v-layout> </v-layout>
<v-layout align-center justify-center wrap class="px-5 mt-3"> <v-layout align-center justify-center wrap class="px-5 mt-3">
<v-flex md12> <v-flex md12>
@@ -34,7 +34,7 @@
<td class="headline font-weight-light WM-NoLetterSpacing">{{ item.name }}</td> <td class="headline font-weight-light WM-NoLetterSpacing">{{ item.name }}</td>
<td class="title font-weight-light">{{ $d(new Date(item.created_at), 'long') }}</td> <td class="title font-weight-light">{{ $d(new Date(item.created_at), 'long') }}</td>
<td class="title font-weight-light">{{ item.users_count }} Operator</td> <td class="title font-weight-light">{{ item.users_count }} Operator</td>
<td class="text-xs-right FlexBtn Height-MD-80 Height-SM-48"> <td class="text-xs-right FlexBtn Height-MD-80 Height-SM-48 justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<router-link class="LinkBtn" <router-link class="LinkBtn"
@@ -72,7 +72,7 @@
</v-data-table> </v-data-table>
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-divider></v-divider> <v-divider/>
<div class="text-xs-center mt-2" v-if="lastPage > 1"> <div class="text-xs-center mt-2" v-if="lastPage > 1">
<v-pagination color="black" v-model="currentPage" :length="lastPage" :total-visible="6"></v-pagination> <v-pagination color="black" v-model="currentPage" :length="lastPage" :total-visible="6"></v-pagination>
</div> </div>
+2 -2
View File
@@ -12,7 +12,7 @@
<v-select :items="roles" name="roles" v-model="filter.role" label="Roles" class="pa-2" color="black"></v-select> <v-select :items="roles" name="roles" v-model="filter.role" label="Roles" class="pa-2" color="black"></v-select>
</v-flex> </v-flex>
<v-flex xs12 md2 sm2 class="text-xs-right"> <v-flex xs12 md2 sm2 class="text-xs-right">
<v-btn class="WM-CyanBlueGradient-BG" @click="load" style="padding:9px 30px"> <v-btn class="WM-CyanBlueGradient-BG" @click="load" style="padding:10px 30px">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -43,7 +43,7 @@
</td> </td>
<td class="title font-weight-light">{{ item.cell_number }}</td> <td class="title font-weight-light">{{ item.cell_number }}</td>
<td class="title font-weight-light">{{ item.status }}</td> <td class="title font-weight-light">{{ item.status }}</td>
<td class="text-xs-right"> <td class="text-xs-right justify-self-end">
<v-btn <v-btn
:color="item.status == 'Active' ? 'red' : 'green'" :color="item.status == 'Active' ? 'red' : 'green'"
@click="changeStatus(item.id)" @click="changeStatus(item.id)"
+1 -1
View File
@@ -56,7 +56,7 @@
<td class="title font-weight-light">{{ item.name }}</td> <td class="title font-weight-light">{{ item.name }}</td>
<td class="title font-weight-light">{{ item.udi }}</td> <td class="title font-weight-light">{{ item.udi }}</td>
<td class="title font-weight-light">{{ item.size }}</td> <td class="title font-weight-light">{{ item.size }}</td>
<td class="text-xs-right FlexBtn Height-MD-60"> <td class="text-xs-right FlexBtn Height-MD-60 justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2" @click="show(item.id)"> <v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2" @click="show(item.id)">
+1 -1
View File
@@ -56,7 +56,7 @@
<td class="title font-weight-light">{{ item.name }}</td> <td class="title font-weight-light">{{ item.name }}</td>
<td class="title font-weight-light">{{ item.udi }}</td> <td class="title font-weight-light">{{ item.udi }}</td>
<td class="title font-weight-light">{{ item.size }}</td> <td class="title font-weight-light">{{ item.size }}</td>
<td class="text-xs-right FlexBtn Height-MD-60"> <td class="text-xs-right FlexBtn Height-MD-60 justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2" @click="show(item.id)"> <v-btn v-bind="attrs" v-on="on" color="cyan" class="mr-2" @click="show(item.id)">
+5 -6
View File
@@ -19,7 +19,7 @@
:clearable="true"/> :clearable="true"/>
</v-flex> </v-flex>
<!-- <v-flex class xs12 md2 sm3> <!-- <v-flex class xs12 md2 sm3>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load()"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load()">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -28,7 +28,7 @@
<!-- <v-spacer></v-spacer> --> <!-- <v-spacer></v-spacer> -->
<v-spacer/> <v-spacer/>
<v-flex class xs12 sm6 md6 lg2 xl1> <v-flex class xs12 sm6 md6 lg2 xl1>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load()"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load()">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -60,14 +60,13 @@
<td class="title font-weight-light"> <td class="title font-weight-light">
{{ (item.user && item.user.medical_center) ? item.user.medical_center.name : '' }} {{ (item.user && item.user.medical_center) ? item.user.medical_center.name : '' }}
</td> </td>
<td class="title font-weight-light">{{ <td class="title font-weight-light">
item.user ? item.user.name : '' | text_20_letter {{item.user ? item.user.name : '' | text_20_letter}}
}}
</td> </td>
<td class="title font-weight-light">{{ item.udi | text_20_letter }}</td> <td class="title font-weight-light">{{ item.udi | text_20_letter }}</td>
<td class="title font-weight-light">{{ item.description }}</td> <td class="title font-weight-light">{{ item.description }}</td>
<td class="title font-weight-light">{{ item.status }}</td> <td class="title font-weight-light">{{ item.status }}</td>
<td class="text-xs-right FlexBtn Height-MD-60"> <td class="text-xs-right FlexBtn Height-MD-60 justify-self-end">
<v-tooltip bottom open-on-hover v-if="$hasRole('Admin|Supervisor')"> <v-tooltip bottom open-on-hover v-if="$hasRole('Admin|Supervisor')">
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn :color="!['suspended', 'rejected'].includes(item.status) ? 'red' : 'green'" <v-btn :color="!['suspended', 'rejected'].includes(item.status) ? 'red' : 'green'"
+3 -3
View File
@@ -53,7 +53,7 @@
<v-spacer/> <v-spacer/>
<v-spacer/> <v-spacer/>
<v-flex class xs12 sm6 md6 lg2 xl1> <v-flex class xs12 sm6 md6 lg2 xl1>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load(null, null)"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load(null, null)">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -69,7 +69,7 @@
</v-layout> </v-layout>
<!--<v-layout wrap class="px-5 mb-3 my-3"> <!--<v-layout wrap class="px-5 mb-3 my-3">
<v-flex class xs12 md3 sm3 class="WM-XL-Align-L text-lg-left"> <v-flex class xs12 md3 sm3 class="WM-XL-Align-L text-lg-left">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load(null, null)"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load(null, null)">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -113,7 +113,7 @@
</span> </span>
<!-- {{ item.verified }} --> <!-- {{ item.verified }} -->
</td> </td>
<td class="text-xs-right FlexBtn"> <td class="text-xs-right FlexBtn justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn color="cyan" class="mr-2" @click="show(item.id)" v-bind="attrs" <v-btn color="cyan" class="mr-2" @click="show(item.id)" v-bind="attrs"
+122 -219
View File
@@ -4,7 +4,7 @@
<material-card color="black" title="Add a New Test" class> <material-card color="black" title="Add a New Test" class>
<v-layout row wrap class="ma-2"> <v-layout row wrap class="ma-2">
<v-flex xs12 md3 sm3 class="WM-FlexCenter"> <v-flex xs12 md3 sm3 class="WM-FlexCenter">
<v-icon class="fa fa-align-left mr-2 WM-Margin-B-8"></v-icon> <v-icon class="fa fa-align-left mr-2 WM-Margin-B-8"/>
<v-text-field <v-text-field
name="name" name="name"
v-model="form.name" v-model="form.name"
@@ -12,10 +12,10 @@
color="black" color="black"
class="py-3 pr-3" class="py-3 pr-3"
:rules="[rules.required]" :rules="[rules.required]"
></v-text-field> />
</v-flex> </v-flex>
<v-flex xs12 md3 sm3 class="WM-FlexCenter pl-3"> <v-flex xs12 md3 sm3 class="WM-FlexCenter pl-3">
<v-icon class="fas fa-sort-numeric-up mr-2 WM-Margin-B-8"></v-icon> <v-icon class="fas fa-sort-numeric-up mr-2 WM-Margin-B-8"/>
<v-text-field <v-text-field
:rules="[rules.required]" :rules="[rules.required]"
name="uniquecode" name="uniquecode"
@@ -23,10 +23,10 @@
label="Unique Code" label="Unique Code"
color="black" color="black"
class="py-3 pr-3" class="py-3 pr-3"
></v-text-field> />
</v-flex> </v-flex>
<!-- <v-flex xs12 md3 sm3 class="WM-FlexCenter pl-3"> <!-- <v-flex xs12 md3 sm3 class="WM-FlexCenter pl-3">
<v-icon class="fas fa-sort-numeric-up mr-2 WM-Margin-B-8"></v-icon> <v-icon class="fas fa-sort-numeric-up mr-2 WM-Margin-B-8"/>
<v-autocomplete <v-autocomplete
:rules="[rules.required]" :rules="[rules.required]"
:items="deviceLabels" :items="deviceLabels"
@@ -36,16 +36,11 @@
label="ID Label" label="ID Label"
color="black" color="black"
class="py-3 pr-3" class="py-3 pr-3"
></v-autocomplete> />
</v-flex> --> </v-flex> -->
</v-layout> </v-layout>
<v-layout <v-layout row wrap class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Relative"
row :key="keyForm" v-for="(info, keyForm) in form.info">
wrap
class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Relative"
:key="keyForm"
v-for="(info, keyForm) in form.info"
>
<v-layout row wrap class="ma-2 WM-Width-Full"> <v-layout row wrap class="ma-2 WM-Width-Full">
<v-flex xs12 md3 sm3> <v-flex xs12 md3 sm3>
<v-text-field <v-text-field
@@ -56,7 +51,7 @@
class="pa-2" class="pa-2"
:rules="[rules.required]" :rules="[rules.required]"
prepend-icon="fa fa-align-left" prepend-icon="fa fa-align-left"
></v-text-field> />
</v-flex> </v-flex>
<v-flex xs12 md3 sm3> <v-flex xs12 md3 sm3>
<v-select <v-select
@@ -71,7 +66,7 @@
class="pa-2" class="pa-2"
prepend-icon="fa fa-filter" prepend-icon="fa fa-filter"
@change="changeType(keyForm, info.type)" @change="changeType(keyForm, info.type)"
></v-select> />
</v-flex> </v-flex>
<!-- Text Input Section --> <!-- Text Input Section -->
<v-flex xs12 md3 sm3> <v-flex xs12 md3 sm3>
@@ -86,7 +81,7 @@
color="black" color="black"
class="pa-2" class="pa-2"
prepend-icon="fa fa-sort-numeric-asc" prepend-icon="fa fa-sort-numeric-asc"
></v-select> />
</v-flex> </v-flex>
<v-flex xs12 md3 sm3 v-if="info.type == 'Text'"> <v-flex xs12 md3 sm3 v-if="info.type == 'Text'">
<v-layout row wrap> <v-layout row wrap>
@@ -94,7 +89,7 @@
<v-checkbox <v-checkbox
label="require barcode scanner" label="require barcode scanner"
v-model="info.require_scanner" v-model="info.require_scanner"
></v-checkbox> />
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-flex> </v-flex>
@@ -102,26 +97,12 @@
</v-layout> </v-layout>
<!-- SelectBox Section --> <!-- SelectBox Section -->
<v-layout <v-layout class="ma-3 pa-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full" row wrap
class="ma-3 pa-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full" v-if="info.type === 'Select' || info.type === 'Checkbox' || info.type === 'Radiobutton'">
row <v-layout row wrap class="WM-Relative WM-Width-Full"
wrap v-if="info['options'].length > 0">
v-if="info.type === 'Select' || info.type === 'Checkbox' || info.type === 'Radiobutton'" <v-flex xs12 md3 sm3 v-for="(selectbox , keySelect) in info['options']" :key="keySelect"
> class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Width-Full WM-Relative">
<v-layout
row
wrap
class="WM-Relative WM-Width-Full"
v-if="info['options'].length > 0"
>
<v-flex
xs12
md3
sm3
v-for="(selectbox , keySelect) in info['options']"
:key="keySelect"
class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Width-Full WM-Relative"
>
<v-text-field <v-text-field
:rules="[rules.required]" :rules="[rules.required]"
name="title" name="title"
@@ -130,50 +111,26 @@
class="pa-2 Input" class="pa-2 Input"
v-model="selectbox.title" v-model="selectbox.title"
prepend-icon="fa fa-align-left" prepend-icon="fa fa-align-left"
></v-text-field> />
<v-btn <v-btn absolute small right bottom color="pink" v-if="keySelect >= 1"
absolute @click="removeSelectbox(keyForm, keySelect)">
small <v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
right REMOVE
bottom
color="pink"
v-if="keySelect >= 1"
@click="removeSelectbox(keyForm, keySelect)"
>
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>REMOVE
</v-btn> </v-btn>
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-btn <v-btn absolute right bottom small @click="addSelectbox(keyForm)"
absolute
right
bottom
small
@click="addSelectbox(keyForm)"
color="black" color="black"
class="mb-2" class="mb-2">
>
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon> <v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>
<span class="white--text">Add</span> <span class="white--text">Add</span>
</v-btn> </v-btn>
</v-layout> </v-layout>
<v-layout <v-layout class="ma-3 pa-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full" row wrap
class="ma-3 pa-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full" v-if="info.type === 'Range'">
row <v-layout row wrap class="WM-Relative WM-Width-Full">
wrap <v-flex xs12 md3 sm3
v-if="info.type === 'Range'" class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Width-Full WM-Relative">
>
<v-layout
row
wrap
class="WM-Relative WM-Width-Full"
>
<v-flex
xs12
md3
sm3
class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Width-Full WM-Relative"
>
<v-text-field <v-text-field
:rules="[rules.required]" :rules="[rules.required]"
name="from" name="from"
@@ -182,7 +139,7 @@
class="pa-2 Input" class="pa-2 Input"
v-model="info['options'][0].title" v-model="info['options'][0].title"
prepend-icon="fa fa-angle-right" prepend-icon="fa fa-angle-right"
></v-text-field> />
</v-flex> </v-flex>
<v-flex <v-flex
xs12 xs12
@@ -198,7 +155,7 @@
class="pa-2 Input" class="pa-2 Input"
v-model="info['options'][1].title" v-model="info['options'][1].title"
prepend-icon="fa fa-angle-right" prepend-icon="fa fa-angle-right"
></v-text-field> />
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
@@ -209,13 +166,8 @@
v-if="info.type === 'Form'" v-if="info.type === 'Form'"
class="pa-3 my-4 mx-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full" class="pa-3 my-4 mx-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full"
> >
<v-layout <v-layout row wrap v-for="(children , keychildren) in info.children" :key="keychildren"
row class="pa-3 my-4 mx-3 WM-Border WM-Border-Gray WM-Color-LightGrey WM-Width-Full WM-Relative Form">
wrap
v-for="(children , keychildren) in info.children"
:key="keychildren"
class="pa-3 my-4 mx-3 WM-Border WM-Border-Gray WM-Color-LightGrey WM-Width-Full WM-Relative Form"
>
<v-flex xs12 md3 sm3> <v-flex xs12 md3 sm3>
<v-text-field <v-text-field
:rules="[rules.required]" :rules="[rules.required]"
@@ -225,7 +177,7 @@
color="black" color="black"
class="pa-2" class="pa-2"
prepend-icon="fa fa-align-left" prepend-icon="fa fa-align-left"
></v-text-field> />
</v-flex> </v-flex>
<v-flex xs12 md3 sm3> <v-flex xs12 md3 sm3>
<v-select <v-select
@@ -240,7 +192,7 @@
class="pa-2" class="pa-2"
@change="changeTypeForm(keyForm, children.type, keychildren)" @change="changeTypeForm(keyForm, children.type, keychildren)"
prepend-icon="fa fa-filter" prepend-icon="fa fa-filter"
></v-select> />
</v-flex> </v-flex>
<v-flex xs12 md3 sm3> <v-flex xs12 md3 sm3>
<v-select <v-select
@@ -254,7 +206,7 @@
color="black" color="black"
class="pa-2" class="pa-2"
prepend-icon="fa fa-sort-numeric-asc" prepend-icon="fa fa-sort-numeric-asc"
></v-select> />
</v-flex> </v-flex>
<v-flex xs12 md3 sm3 v-if="children.type == 'Text'"> <v-flex xs12 md3 sm3 v-if="children.type == 'Text'">
<v-layout row wrap> <v-layout row wrap>
@@ -262,31 +214,18 @@
<v-checkbox <v-checkbox
label="require barcode scanner" label="require barcode scanner"
v-model="children.require_scanner" v-model="children.require_scanner"
></v-checkbox> />
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-flex> </v-flex>
<!-- Inner Form Selectbox Section --> <!-- Inner Form Selectbox Section -->
<v-layout <v-layout row wrap class="pa-3 mb-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full"
row v-if="children.type === 'Select' || children.type === 'Checkbox' || children.type === 'Radiobutton'">
wrap <v-layout row wrap class="WM-Relative WM-Width-Full"
class="pa-3 mb-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full" v-if="children['options'].length > 0">
v-if="children.type === 'Select' || children.type === 'Checkbox' || children.type === 'Radiobutton'" <v-flex xs12 md3 sm3 v-for="(selectbox , keySelect) in children['options']"
>
<v-layout
row
wrap
class="WM-Relative WM-Width-Full"
v-if="children['options'].length > 0"
>
<v-flex
xs12
md3
sm3
v-for="(selectbox , keySelect) in children['options']"
:key="keySelect" :key="keySelect"
class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Width-Full WM-Relative" class="pb-4 ma-2 WM-Border WM-Border-Gray WM-BG-White WM-Width-Full WM-Relative">
>
<v-text-field <v-text-field
name="title" name="title"
label="Title" label="Title"
@@ -295,82 +234,40 @@
v-model="selectbox.title" v-model="selectbox.title"
:rules="[rules.required]" :rules="[rules.required]"
prepend-icon="fa fa-align-left" prepend-icon="fa fa-align-left"
></v-text-field> />
<v-btn <v-btn absolute small right bottom color="pink"
absolute
small
right
bottom
color="pink"
@click="removeSelectboxForm(keyForm, keySelect, keychildren)" @click="removeSelectboxForm(keyForm, keySelect, keychildren)"
v-if="keySelect >= 1" v-if="keySelect >= 1">
> <v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>REMOVE REMOVE
</v-btn> </v-btn>
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-btn <v-btn absolute right bottom small
absolute @click="addSelectboxForm(keyForm, keychildren)" color="black">
right
bottom
small
@click="addSelectboxForm(keyForm, keychildren)"
color="black"
>
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon> <v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>
<span class="white--text">Add</span> <span class="white--text">Add</span>
</v-btn> </v-btn>
</v-layout> </v-layout>
<v-btn <v-btn absolute small right top color="pink"
absolute @click="removeForm(keyForm, keychildren)">
small <v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
right REMOVE
top
color="pink"
@click="removeForm(keyForm, keychildren)"
>
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>REMOVE
</v-btn> </v-btn>
</v-layout> </v-layout>
<v-btn <v-btn absolute small right bottom color="cyan"
absolute @click="duplicateForm(keyForm)">
small <v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>
right ADD
bottom
color="cyan"
@click="duplicateForm(keyForm)"
>
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>ADD
</v-btn> </v-btn>
</v-layout> </v-layout>
<v-btn <v-btn v-if="keyForm > 0 || form.info.length > 1" absolute small right top color="pink"
v-if="keyForm > 0 || form.info.length > 1" @click="removeInput(keyForm)">
absolute <v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
small REMOVE
right
top
color="pink"
@click="removeInput(keyForm)"
>
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>REMOVE
</v-btn> </v-btn>
<v-layout <v-layout row wrap align-center justify-center class="mt-4" v-if="(form.info.length -1) == keyForm">
row <v-btn absolute right bottom small @click="addInput" color="pink" class="mb-2">
wrap
align-center
justify-center
class="mt-4"
v-if="(form.info.length -1) == keyForm"
>
<v-btn
absolute
right
bottom
small
@click="addInput"
color="pink"
class="mb-2"
>
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon> <v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>
<span class="white--text">Add</span> <span class="white--text">Add</span>
</v-btn> </v-btn>
@@ -378,28 +275,31 @@
</v-layout> </v-layout>
<v-layout row wrap align-center justify-center class="mt-4"> <v-layout row wrap align-center justify-center class="mt-4">
<v-btn <v-flex xs12 sm6 md6 lg3 class="text-center">
class="WM-CyanBlueGradient-BG"
style="padding:10px 60px"
@click="registerForm"
>
<v-icon class="white--text mr-2 caption">fas fa-check</v-icon>
<span class="white--text">Generate Form</span>
</v-btn>
<router-link :to="{name : 'ListTestType'}"> <router-link :to="{name : 'ListTestType'}">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5"> <v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
<v-icon class="black--text mr-2 caption">fas fa-chevron-left</v-icon> <v-icon class="black--text mr-2 caption">fas fa-chevron-left</v-icon>
<span class="black--text">Back</span> <span class="black--text">Back</span>
</v-btn> </v-btn>
</router-link> </router-link>
</v-flex>
<v-flex xs12 sm6 md6 lg3 class="text-center">
<v-btn class="WM-CyanBlueGradient-BG"
style="padding:10px 60px"
@click="registerForm">
<v-icon class="white--text mr-2 caption">fas fa-check</v-icon>
<span class="white--text">Generate Form</span>
</v-btn>
</v-flex>
</v-layout> </v-layout>
</material-card> </material-card>
</v-container> </v-container>
</v-form> </v-form>
</template> </template>
<script> <script>
import { ApiService } from "@/services"; import {ApiService} from "@/services";
import { urls } from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
data() { data() {
return { return {
@@ -417,43 +317,43 @@ export default {
] ]
}, },
type: [ type: [
{ state: "Text", abbr: "Text" }, {state: "Text", abbr: "Text"},
{ state: "Checkbox", abbr: "Checkbox" }, {state: "Checkbox", abbr: "Checkbox"},
{ state: "Select", abbr: "Select" }, {state: "Select", abbr: "Select"},
{ state: "Radiobutton", abbr: "Radiobutton" }, {state: "Radiobutton", abbr: "Radiobutton"},
{ state: "Switch", abbr: "Switch" }, {state: "Switch", abbr: "Switch"},
{ state: "Range", abbr: "Range" }, {state: "Range", abbr: "Range"},
{ state: "Time", abbr: "Time" }, {state: "Time", abbr: "Time"},
{ state: "Temperature", abbr: "Temperature" }, {state: "Temperature", abbr: "Temperature"},
{ state: "Pressure", abbr: "Pressure" }, {state: "Pressure", abbr: "Pressure"},
{ state: "Form", abbr: "Form" }, {state: "Form", abbr: "Form"},
], ],
size: [ size: [
{ state: "not Selected", abbr: "" }, {state: "not Selected", abbr: ""},
{ state: "2 from 12", abbr: "md2 sm4 xs12" }, {state: "2 from 12", abbr: "md2 sm4 xs12"},
{ state: "3 from 12", abbr: "md3 sm6 xs12" }, {state: "3 from 12", abbr: "md3 sm6 xs12"},
{ state: "4 from 12", abbr: "md4 sm4 xs12" }, {state: "4 from 12", abbr: "md4 sm4 xs12"},
{ state: "6 from 12", abbr: "md6 sm12 xs12" }, {state: "6 from 12", abbr: "md6 sm12 xs12"},
{ state: "8 from 12", abbr: "md8 sm8 xs12" }, {state: "8 from 12", abbr: "md8 sm8 xs12"},
{ state: "10 from 12", abbr: "md10 sm10 xs12" }, {state: "10 from 12", abbr: "md10 sm10 xs12"},
{ state: "12 from 12", abbr: "md12 sm12 xs12" } {state: "12 from 12", abbr: "md12 sm12 xs12"}
], ],
rules: { rules: {
required: value => !!value || "Required." required: value => !!value || "Required."
}, },
deviceLabels: [ deviceLabels: [
{ name: "Washer ID", id: "WasherID" }, {name: "Washer ID", id: "WasherID"},
{ name: "Autoclave ID", id: "AutoclaveID" }, {name: "Autoclave ID", id: "AutoclaveID"},
{ name: "Sterilizer ID", id: "SterilizerID" }, {name: "Sterilizer ID", id: "SterilizerID"},
{ name: "WasherMachine ID", id: "WasherMachineID" }, {name: "WasherMachine ID", id: "WasherMachineID"},
{ name: "SealMachine ID", id: "SealMachineID" }, {name: "SealMachine ID", id: "SealMachineID"},
{ name: "Patient ID", id: "PatientID" }, {name: "Patient ID", id: "PatientID"},
{ name: "Set/Pack ID", id: "Set/PackID" }, {name: "Set/Pack ID", id: "Set/PackID"},
{ name: "MD ID", id: "MDID" }, {name: "MD ID", id: "MDID"},
{ name: "OR ID", id: "ORID" }, {name: "OR ID", id: "ORID"},
{ name: "Personal ID", id: "PersonalID" }, {name: "Personal ID", id: "PersonalID"},
{ name: "Instrument ID", id: "InstrumentID" }, {name: "Instrument ID", id: "InstrumentID"},
{ name: "ID", id: "ID" }, {name: "ID", id: "ID"},
] ]
}; };
}, },
@@ -468,15 +368,15 @@ export default {
// //--add checkbox // //--add checkbox
// } // }
if (selectedboxType == "Select" || selectedboxType == "Checkbox" || selectedboxType == "Radiobutton") { if (selectedboxType == "Select" || selectedboxType == "Checkbox" || selectedboxType == "Radiobutton") {
this.form.info[infoIndex]["options"] = [{ id: 0, title: "" }]; this.form.info[infoIndex]["options"] = [{id: 0, title: ""}];
} else if(selectedboxType == "Range") { } else if (selectedboxType == "Range") {
this.form.info[infoIndex]["options"] = [{ id: 0, title: ""}, { id: 0, title: ""}]; this.form.info[infoIndex]["options"] = [{id: 0, title: ""}, {id: 0, title: ""}];
} else { } else {
this.form.info[infoIndex]["options"] = []; this.form.info[infoIndex]["options"] = [];
} }
if (selectedboxType == "Form") { if (selectedboxType == "Form") {
this.form.info[infoIndex]["children"] = [ this.form.info[infoIndex]["children"] = [
{ id: 0, name: "", type: "", size: "" } {id: 0, name: "", type: "", size: ""}
]; ];
} }
}, },
@@ -489,26 +389,26 @@ export default {
addSelectbox(infoIndex) { addSelectbox(infoIndex) {
let form = this.form; let form = this.form;
this.form = []; this.form = [];
form.info[infoIndex]["options"].push({ id: 0, title: "" }); form.info[infoIndex]["options"].push({id: 0, title: ""});
this.form = form; this.form = form;
}, },
addInput() { addInput() {
this.form.info.push({ id: 0, name: "", type: "", size: "" }); this.form.info.push({id: 0, name: "", type: "", size: ""});
}, },
changeTypeForm(infoIndex, type, formLevel) { changeTypeForm(infoIndex, type, formLevel) {
if (type == "Select" || type == "Checkbox" || type == "Radiobutton") { if (type == "Select" || type == "Checkbox" || type == "Radiobutton") {
let form = this.form; let form = this.form;
this.form = ""; this.form = "";
form.info[infoIndex]["children"][formLevel]["options"] = [ form.info[infoIndex]["children"][formLevel]["options"] = [
{ id: 0, title: "" } {id: 0, title: ""}
]; ];
this.form = form; this.form = form;
} else if(type == "Range") { } else if (type == "Range") {
let form = this.form; let form = this.form;
this.form = ""; this.form = "";
form.info[infoIndex]["children"][formLevel]["options"] = [ form.info[infoIndex]["children"][formLevel]["options"] = [
{ id: 0, title: "" }, {id: 0, title: ""},
{ id: 0, title: "" }, {id: 0, title: ""},
]; ];
this.form = form; this.form = form;
} else { } else {
@@ -591,12 +491,15 @@ export default {
.WM-Border-Gray { .WM-Border-Gray {
border-color: #aaa !important; border-color: #aaa !important;
} }
.WM-Color-LightGrey { .WM-Color-LightGrey {
background-color: #f5f5f5; background-color: #f5f5f5;
} }
.v-btn--top.v-btn--absolute.v-btn--small { .v-btn--top.v-btn--absolute.v-btn--small {
top: -25px !important; top: -25px !important;
} }
.v-btn--bottom.v-btn--absolute.v-btn--small { .v-btn--bottom.v-btn--absolute.v-btn--small {
bottom: -24px !important; bottom: -24px !important;
} }
+2 -2
View File
@@ -59,7 +59,7 @@
<v-spacer/> <v-spacer/>
<v-flex class xs12 sm6 md6 lg2 xl1> <v-flex class xs12 sm6 md6 lg2 xl1>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load(undefined)"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load(undefined)">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -87,7 +87,7 @@
<td class="title font-weight-light">{{ item.unique_code }}</td> <td class="title font-weight-light">{{ item.unique_code }}</td>
<td class="title font-weight-light">{{ item.user.name }}</td> <td class="title font-weight-light">{{ item.user.name }}</td>
<td class="title font-weight-light">{{ $d(new Date(item.created_at), 'long') }}</td> <td class="title font-weight-light">{{ $d(new Date(item.created_at), 'long') }}</td>
<td class="text-xs-right FlexBtn"> <td class="text-xs-right FlexBtn justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<router-link <router-link
+2 -4
View File
@@ -33,12 +33,10 @@
</td> </td>
<td class="title font-weight-light"> <td class="title font-weight-light">
<span class="Chip"> <span class="Chip">
<span <span class="Unread Content">{{ item.unread_messages_count }} unread</span>
class="Unread Content"
>{{ item.unread_messages_count }} unread</span>
</span> </span>
</td> </td>
<td class="text-xs-left FlexBtn"> <td class="text-xs-left FlexBtn justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn <v-btn
+3 -3
View File
@@ -46,7 +46,7 @@
</v-flex> </v-flex>
<v-spacer/> <v-spacer/>
<v-flex wrap xs12 sm12 class="WM-Align-R ml-4"> <v-flex wrap xs12 sm12 class="WM-Align-R ml-4">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:9px 30px" @click="load(undefined)"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 30px" @click="load(undefined)">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span> <span class="white--text">Filter</span>
</v-btn> </v-btn>
@@ -73,7 +73,7 @@
<span v-for="(role, key) in item.roles" :key="key">{{ role.name }}</span> <span v-for="(role, key) in item.roles" :key="key">{{ role.name }}</span>
</td> </td>
<td class="title font-weight-light">{{ item.medical_center.name }}</td> <td class="title font-weight-light">{{ item.medical_center.name }}</td>
<td class="text-xs-right FlexBtn"> <td class="text-xs-right FlexBtn justify-self-end">
<v-tooltip bottom open-on-hover> <v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn v-bind="attrs" v-on="on" <v-btn v-bind="attrs" v-on="on"
@@ -194,6 +194,7 @@ export default {
this.load(); this.load();
}, },
methods: { methods: {
...mapMutations("modal", ["changeCurrentModal", "closeModal"]),
async load(page = 1) { async load(page = 1) {
let filter = "?"; let filter = "?";
for (const key in this.filter) { for (const key in this.filter) {
@@ -223,7 +224,6 @@ export default {
this.$router.push({name: `Dashboard`}); this.$router.push({name: `Dashboard`});
} }
}, },
...mapMutations("modal", ["changeCurrentModal", "closeModal"]),
changeRoleModal(user) { changeRoleModal(user) {
this.changeCurrentModal({ this.changeCurrentModal({
modal: "modal-user-role", modal: "modal-user-role",