fix : title of pages

This commit is contained in:
zeinab.ashrafi
2025-04-10 12:39:48 +03:30
parent 78dfba9b24
commit fc029045bc
28 changed files with 1582 additions and 1427 deletions
+12 -9
View File
@@ -11,12 +11,12 @@ import Vue from 'vue'
// import VueAnalytics from 'vue-analytics' // import VueAnalytics from 'vue-analytics'
import Router from 'vue-router' import Router from 'vue-router'
import Meta from 'vue-meta' import Meta from 'vue-meta'
import { TokenService } from '@/services' import {TokenService} from '@/services'
// Routes // Routes
import paths from './paths' import paths from './paths'
function route (options) { function route(options) {
let path = options.path; let path = options.path;
let view = options.view; let view = options.view;
let name = options.name; let name = options.name;
@@ -37,20 +37,23 @@ Vue.use(Router)
const router = new Router({ const router = new Router({
mode: 'history', mode: 'history',
routes: paths.map(path => route(path)).concat([ routes: paths.map(path => route(path)).concat([
{ path: '*', redirect: '/dashboard' } {path: '*', redirect: '/dashboard'}
]), ]),
scrollBehavior (to, from, savedPosition) { scrollBehavior(to, from, savedPosition) {
if (savedPosition) { if (savedPosition) {
return savedPosition return savedPosition
} }
if (to.hash) { if (to.hash) {
return { selector: to.hash } return {selector: to.hash}
} }
return { x: 0, y: 0 } return {x: 0, y: 0}
} }
}) })
Vue.use(Meta)
Vue.use(Meta, {
refreshOnceOnNavigation: true
})
import {$hasRole} from '@/services/acl/role'; import {$hasRole} from '@/services/acl/role';
@@ -64,13 +67,13 @@ router.beforeEach((to, from, next) => {
} }
if (!isPublic && !loggedIn) { if (!isPublic && !loggedIn) {
return next({ return next({
path:'/login', path: '/login',
query: {redirect: to.fullPath} // Store the full path to redirect the user to after login query: {redirect: to.fullPath} // Store the full path to redirect the user to after login
}); });
} }
// Do not allow user to visit login page or register page if they are logged in // Do not allow user to visit login page or register page if they are logged in
if (loggedIn && onlyWhenLoggedOut ) { if (loggedIn && onlyWhenLoggedOut) {
return next('/') return next('/')
} }
+58 -58
View File
@@ -9,7 +9,7 @@ export default [
name: 'Dashboard', name: 'Dashboard',
view: 'Dashboard', view: 'Dashboard',
meta: { meta: {
title:'CSSD Dashboard' title: 'CSSD Dashboard'
} }
}, },
{ {
@@ -17,7 +17,7 @@ export default [
name: 'MyInfo', name: 'MyInfo',
view: 'User/MyInfo', view: 'User/MyInfo',
meta: { meta: {
title:'My Inf | CSSD Dashboard' title: 'My Info | CSSD Dashboard'
} }
}, },
{ {
@@ -26,7 +26,7 @@ export default [
view: 'User/List', view: 'User/List',
meta: { meta: {
roles: 'Admin|Supervisor', roles: 'Admin|Supervisor',
title:'Manage User | CSSD Dashboard' title: 'Manage User | CSSD Dashboard'
} }
}, },
{ {
@@ -34,7 +34,7 @@ export default [
name: 'AddTestType', name: 'AddTestType',
view: 'TestType/AddEdit', view: 'TestType/AddEdit',
meta: { meta: {
title:'Add Test Typ | CSSD Dashboard' title: 'Add Test Typ | CSSD Dashboard'
} }
}, },
{ {
@@ -43,7 +43,7 @@ export default [
view: 'TestType/AddEdit', view: 'TestType/AddEdit',
meta: { meta: {
roles: 'Admin', roles: 'Admin',
title:'Edit Test Typ | CSSD Dashboard' title: 'Edit Test Typ | CSSD Dashboard'
} }
}, },
{ {
@@ -52,7 +52,7 @@ export default [
view: 'TestType/List', view: 'TestType/List',
meta: { meta: {
roles: 'Admin', roles: 'Admin',
title:'List Test Typ | CSSD Dashboard' title: 'List Test Typ | CSSD Dashboard'
} }
}, },
{ {
@@ -60,7 +60,7 @@ export default [
name: 'ManageMedicalCenter', name: 'ManageMedicalCenter',
view: 'MedicalCenter/List', view: 'MedicalCenter/List',
meta: { meta: {
title:'Manage Medical Center | CSSD Dashboard', title: 'Manage Medical Center | CSSD Dashboard',
roles: 'Admin' roles: 'Admin'
} }
}, },
@@ -69,7 +69,7 @@ export default [
name: 'AddMedicalCenter', name: 'AddMedicalCenter',
view: 'MedicalCenter/AddEdit', view: 'MedicalCenter/AddEdit',
meta: { meta: {
title:'Add Medical Center | CSSD Dashboard', title: 'Add Medical Center | CSSD Dashboard',
roles: 'Admin' roles: 'Admin'
} }
}, },
@@ -78,7 +78,7 @@ export default [
name: 'EditMedicalCenter', name: 'EditMedicalCenter',
view: 'MedicalCenter/AddEdit', view: 'MedicalCenter/AddEdit',
meta: { meta: {
title:'Edit Medical Center | CSSD Dashboard', title: 'Edit Medical Center | CSSD Dashboard',
roles: 'Admin' roles: 'Admin'
} }
}, },
@@ -87,7 +87,7 @@ export default [
name: 'AddOperator', name: 'AddOperator',
view: 'Auth/Register', view: 'Auth/Register',
meta: { meta: {
title:'Add Operator | CSSD Dashboard', title: 'Add Operator | CSSD Dashboard',
roles: 'Admin' roles: 'Admin'
} }
}, },
@@ -96,7 +96,7 @@ export default [
name: 'OperatorList', name: 'OperatorList',
view: 'MedicalCenter/OperatorList', view: 'MedicalCenter/OperatorList',
meta: { meta: {
title:'Operator List | CSSD Dashboard', title: 'Operator List | CSSD Dashboard',
roles: 'Admin' roles: 'Admin'
} }
}, },
@@ -105,7 +105,7 @@ export default [
name: 'Login', name: 'Login',
view: 'Auth/Login', view: 'Auth/Login',
meta: { meta: {
title:'Login | CSSD Dashboard', title: 'Login | CSSD Dashboard',
public: true, // Allow access to even if not logged in public: true, // Allow access to even if not logged in
onlyWhenLoggedOut: true onlyWhenLoggedOut: true
} }
@@ -115,7 +115,7 @@ export default [
name: 'Register', name: 'Register',
view: 'Auth/Register', view: 'Auth/Register',
meta: { meta: {
title:'Register | CSSD Dashboard', title: 'Register | CSSD Dashboard',
public: true, // Allow access to even if not logged in public: true, // Allow access to even if not logged in
onlyWhenLoggedOut: true, onlyWhenLoggedOut: true,
roles: 'Admin' roles: 'Admin'
@@ -126,7 +126,7 @@ export default [
name: 'ForgotPassword', name: 'ForgotPassword',
view: 'Auth/ForgotPassword', view: 'Auth/ForgotPassword',
meta: { meta: {
title:'Forgot Password | CSSD Dashboard', title: 'Forgot Password | CSSD Dashboard',
public: true, // Allow access to even if not logged in public: true, // Allow access to even if not logged in
onlyWhenLoggedOut: true onlyWhenLoggedOut: true
}, },
@@ -136,7 +136,7 @@ export default [
name: 'ShowTestResult', name: 'ShowTestResult',
view: 'TestResult/Show', view: 'TestResult/Show',
meta: { meta: {
title:'Show Test Result | CSSD Dashboard', title: 'Show Test Result | CSSD Dashboard',
public: true, public: true,
}, },
}, },
@@ -144,163 +144,163 @@ export default [
path: '/result-test', path: '/result-test',
name: 'AllResultTest', name: 'AllResultTest',
view: 'TestResult/List', view: 'TestResult/List',
meta:{ meta: {
title:'All Result Test | CSSD Dashboard', title: 'All Result Test | CSSD Dashboard',
} }
}, },
{ {
path: '/add-test-result', path: '/add-test-result',
name: 'SubmitTestResult', name: 'SubmitTestResult',
view: 'TestResult/AddEdit', view: 'TestResult/AddEdit',
meta:{ meta: {
title:'Submit Test Result | CSSD Dashboard', title: 'Submit Test Result | CSSD Dashboard',
} }
}, },
{ {
path: '/test-result/:testResult/edit', path: '/test-result/:testResult/edit',
name: 'EditTestResult', name: 'EditTestResult',
view: 'TestResult/AddEdit', view: 'TestResult/AddEdit',
meta:{ meta: {
title:'Edit Test Result | CSSD Dashboard', title: 'Edit Test Result | CSSD Dashboard',
} }
}, },
{ {
path: '/test-result/NotVerified', path: '/test-result/NotVerified',
name: 'NotVerifyTestResult', name: 'NotVerifyTestResult',
view: 'TestResult/List', view: 'TestResult/List',
meta:{ meta: {
title:'Not Verify Test Resul | CSSD Dashboard' title: 'Not Verify Test Resul | CSSD Dashboard'
} }
}, },
{ {
path: '/statistics', path: '/statistics',
name: 'Statistics', name: 'Statistics',
view: 'Statistics/Chart', view: 'Statistics/Chart',
meta:{ meta: {
title:'Statistics | CSSD Dashboard', title: 'Statistics | CSSD Dashboard',
} }
}, },
{ {
path: '/add-package', path: '/add-package',
name: 'AddPackage', name: 'AddPackage',
view: 'Package/AddEdit', view: 'Package/AddEdit',
meta:{ meta: {
title:'Add Package | CSSD Dashboard', title: 'Add Package | CSSD Dashboard',
} }
}, },
{ {
path: '/packages', path: '/packages',
name: 'AllPackage', name: 'AllPackage',
view: 'Package/List', view: 'Package/List',
meta:{ meta: {
title:'All Package | CSSD Dashboard', title: 'All Package | CSSD Dashboard',
} }
}, },
{ {
path: '/packages/:package/edit', path: '/packages/:package/edit',
name: 'EditPackage', name: 'EditPackage',
view: 'Package/AddEdit', view: 'Package/AddEdit',
meta:{ meta: {
title:'Edit Package | CSSD Dashboard', title: 'Edit Package | CSSD Dashboard',
} }
}, },
{ {
path: '/add-label', path: '/add-label',
name: 'AddLabel', name: 'AddLabel',
view: 'Label/AddEdit', view: 'Label/AddEdit',
meta:{ meta: {
title:'Add Label | CSSD Dashboard', title: 'Add Label | CSSD Dashboard',
} }
}, },
{ {
path: '/labels', path: '/labels',
name: 'AllLabels', name: 'AllLabels',
view: 'Label/List', view: 'Label/List',
meta:{ meta: {
title:'All Labels | CSSD Dashboard', title: 'All Labels | CSSD Dashboard',
} }
}, },
{ {
path: '/label/:label/edit', path: '/label/:label/edit',
name: 'EditLabel', name: 'EditLabel',
view: 'Label/AddEdit', view: 'Label/AddEdit',
meta:{ meta: {
title:'Edit Label | CSSD Dashboard', title: 'Edit Label | CSSD Dashboard',
} }
}, },
{ {
path: '/add-cycle', path: '/add-cycle',
name: 'AddCycle', name: 'AddCycle',
view: 'Cycle/AddEdit', view: 'Cycle/AddEdit',
meta:{ meta: {
title:'Add Cycle | CSSD Dashboard', title: 'Add Cycle | CSSD Dashboard',
} }
}, },
{ {
path: '/cycles', path: '/cycles',
name: 'AllCycle', name: 'AllCycle',
view: 'Cycle/List', view: 'Cycle/List',
meta:{ meta: {
title:'All Cycle | CSSD Dashboard', title: 'All Cycle | CSSD Dashboard',
} }
}, },
{ {
path: '/cycle/:cycle/edit', path: '/cycle/:cycle/edit',
name: 'EditCycle', name: 'EditCycle',
view: 'Cycle/AddEdit', view: 'Cycle/AddEdit',
meta:{ meta: {
title:'Edit Cycle | CSSD Dashboard', title: 'Edit Cycle | CSSD Dashboard',
} }
}, },
{ {
path: '/add-Item', path: '/add-Item',
name: 'AddItem', name: 'AddItem',
view: 'Item/AddEdit', view: 'Item/AddEdit',
meta:{ meta: {
title:'Add Item | CSSD Dashboard', title: 'Add Item | CSSD Dashboard',
} }
}, },
{ {
path: '/Items', path: '/Items',
name: 'AllItem', name: 'AllItem',
view: 'Item/List', view: 'Item/List',
meta:{ meta: {
title:'All Item | CSSD Dashboard', title: 'All Item | CSSD Dashboard',
} }
}, },
{ {
path: '/Item/:Item/edit', path: '/Item/:Item/edit',
name: 'EditItem', name: 'EditItem',
view: 'Item/AddEdit', view: 'Item/AddEdit',
meta:{ meta: {
title:'Edit Item | CSSD Dashboard', title: 'Edit Item | CSSD Dashboard',
} }
}, },
{ {
path: '/my-Items', path: '/my-Items',
name: 'MyItem', name: 'MyItem',
view: 'MyItem/List', view: 'MyItem/List',
meta:{ meta: {
title:'My Item | CSSD Dashboard', title: 'My Item | CSSD Dashboard',
} }
}, },
{ {
path: '/my-Package', path: '/my-Package',
name: 'MyPackage', name: 'MyPackage',
view: 'MyPackage/List', view: 'MyPackage/List',
meta:{ meta: {
title:'My Package | CSSD Dashboard', title: 'My Package | CSSD Dashboard',
} }
}, },
{ {
path: '/tickets', path: '/tickets',
name: 'Tickets', name: 'Tickets',
view: 'Tickets/List', view: 'Tickets/List',
meta:{ meta: {
title:'Tickets | CSSD Dashboard', title: 'Tickets | CSSD Dashboard',
} }
}, },
/* { /* {
path: '/ShowPackage/:package', path: '/ShowPackage/:package',
name: 'ShowPackage', name: 'ShowPackage',
view: 'Package/ShowPackage', view: 'Package/ShowPackage',
@@ -312,8 +312,8 @@ export default [
path: '/Intro', path: '/Intro',
name: 'Intro', name: 'Intro',
view: 'Intro/Intro', view: 'Intro/Intro',
meta:{ meta: {
title:'Intro | CSSD Dashboard', title: 'Intro | CSSD Dashboard',
} }
}, },
] ]
+12 -5
View File
@@ -43,13 +43,20 @@
</v-form> </v-form>
</template> </template>
<script> <script>
import { mapActions, mapMutations } from "vuex"; import {mapActions, mapMutations} from "vuex";
import { ApiService } from "@/services"; import {ApiService} from "@/services";
import { urls } from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
form :{ form: {
cell_number: "" cell_number: ""
}, },
rules: { rules: {
@@ -62,7 +69,7 @@ export default {
...mapActions("auth", ["forgotPassword"]), ...mapActions("auth", ["forgotPassword"]),
async handleSubmit() { async handleSubmit() {
if (this.$refs.form.validate()) { if (this.$refs.form.validate()) {
this.forgotPassword({form : this.form}); this.forgotPassword({form: this.form});
} }
} }
} }
+11 -3
View File
@@ -1,5 +1,5 @@
<template> <template>
<v-form ref="form" > <v-form ref="form">
<v-container grid-list-xs> <v-container grid-list-xs>
<v-layout row wrap class="justify-center"> <v-layout row wrap class="justify-center">
<v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS"> <v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS">
@@ -44,7 +44,8 @@
<v-layout row wrap class="text-md-left text-sm-center text-xs-center"> <v-layout row wrap class="text-md-left text-sm-center text-xs-center">
<v-flex xs12 md12 sm12 class="px-4 py-3"> <v-flex xs12 md12 sm12 class="px-4 py-3">
<router-link :to="{name: 'ForgotPassword'}"> <router-link :to="{name: 'ForgotPassword'}">
<span class="black--text" style="border-bottom:1px solid #000;">Forgot Password ?</span> <span class="black--text"
style="border-bottom:1px solid #000;">Forgot Password ?</span>
</router-link> </router-link>
</v-flex> </v-flex>
</v-layout> </v-layout>
@@ -55,8 +56,15 @@
</v-form> </v-form>
</template> </template>
<script> <script>
import { mapGetters, mapActions } from "vuex"; import {mapGetters, mapActions} from "vuex";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
cell_number: "", cell_number: "",
+8 -2
View File
@@ -90,9 +90,15 @@
</v-form> </v-form>
</template> </template>
<script> <script>
import { TokenService, ApiService } from "@/services"; import {TokenService, ApiService} from "@/services";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
const defaultForm = Object.freeze({ const defaultForm = Object.freeze({
cell_number: "", cell_number: "",
@@ -123,7 +129,7 @@ export default {
var result = await ApiService.post(`register`, this.form); var result = await ApiService.post(`register`, this.form);
if (result && result.status == 200) { if (result && result.status == 200) {
this.$router.push( this.$router.push(
{name:`OperatorList`, params: { medicalCenter: this.form.medical_center_id }} {name: `OperatorList`, params: {medicalCenter: this.form.medical_center_id}}
); );
} }
} }
+6
View File
@@ -111,6 +111,12 @@ import {urls} from "@/config/urls";
import {mapMutations} from "vuex"; import {mapMutations} from "vuex";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
fromMenuDate: false, fromMenuDate: false,
+6
View File
@@ -143,6 +143,12 @@ import {urls} from "@/config/urls";
import {mapMutations, mapGetters} from "vuex"; import {mapMutations, mapGetters} from "vuex";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{sortable: false, text: "ID", value: "Cycle ID"}, {sortable: false, text: "ID", value: "Cycle ID"},
+6
View File
@@ -54,6 +54,12 @@
<script> <script>
// import { UserService } from '@/services'; // import { UserService } from '@/services';
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
AdminCards: [ AdminCards: [
+31 -40
View File
@@ -5,7 +5,9 @@
</v-toolbar> </v-toolbar>
<!-- _______________ Section 2::Begin _______________ --> <!-- _______________ Section 2::Begin _______________ -->
<section> <section>
<v-parallax src="https://images.squarespace-cdn.com/content/v1/5bf5d5da506fbea76ffa4abe/1547249524951-CQ5U440SQYT23ODKL23G/ke17ZwdGBToddI8pDm48kKAwwdAfKsTlKsCcElEApLR7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z5QPOohDIaIeljMHgDF5CVlOqpeNLcJ80NK65_fV7S1UegTYNQkRo-Jk4EWsyBNhwKrKLo5CceA1-Tdpfgyxoog5ck0MD3_q0rY3jFJjjoLbQ/yenyi.jpg" height="600"> <v-parallax
src="https://images.squarespace-cdn.com/content/v1/5bf5d5da506fbea76ffa4abe/1547249524951-CQ5U440SQYT23ODKL23G/ke17ZwdGBToddI8pDm48kKAwwdAfKsTlKsCcElEApLR7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z5QPOohDIaIeljMHgDF5CVlOqpeNLcJ80NK65_fV7S1UegTYNQkRo-Jk4EWsyBNhwKrKLo5CceA1-Tdpfgyxoog5ck0MD3_q0rY3jFJjjoLbQ/yenyi.jpg"
height="600">
<v-layout <v-layout
column column
align-center align-center
@@ -14,8 +16,11 @@
> >
<!-- <img src="assets/vuetify.png" alt="Vuetify.js" height="200"> --> <!-- <img src="assets/vuetify.png" alt="Vuetify.js" height="200"> -->
<p class="display-4 mb-5">CSSD-DOC</p> <p class="display-4 mb-5">CSSD-DOC</p>
<h1 class="white--text mb-2 mt-5 display-1 text-center">Central Sterile Supply Department App & Software</h1> <h1 class="white--text mb-2 mt-5 display-1 text-center">Central Sterile Supply Department App &
<div class="subheading mb-4 text-center">Management & Traceability & Documentation solution for CSSD / SPD</div> Software</h1>
<div class="subheading mb-4 text-center">Management & Traceability & Documentation solution for CSSD
/ SPD
</div>
</v-layout> </v-layout>
</v-parallax> </v-parallax>
</section> </section>
@@ -49,18 +54,19 @@
</v-flex> </v-flex>
<v-flex xs12 md4> <v-flex xs12 md4>
<v-card flat class="transparent"> <v-card flat class="transparent">
<p v-for="(item , i) in items.items3" :key="i" class="headline text-left" v-text="item"></p> <p v-for="(item , i) in items.items3" :key="i" class="headline text-left"
v-text="item"></p>
</v-card> </v-card>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-container> </v-container>
</v-flex> </v-flex>
</v-layout> </v-layout>
</section> </section>
<!-- _______________ Section 2::End _______________ --> <!-- _______________ Section 2::End _______________ -->
<!-- _______________ Section 7::Begin _______________ --> <!-- _______________ Section 7::Begin _______________ -->
<section> <section>
<v-layout <v-layout
column column
wrap wrap
@@ -101,8 +107,10 @@
</v-card-title> </v-card-title>
<v-card-text> <v-card-text>
Cras facilisis mi vitae nunc lobortis pharetra. Nulla volutpat tincidunt ornare. Cras facilisis mi vitae nunc lobortis pharetra. Nulla volutpat tincidunt ornare.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
Nullam in aliquet odio. Aliquam eu est vitae tellus bibendum tincidunt. Suspendisse potenti. turpis egestas.
Nullam in aliquet odio. Aliquam eu est vitae tellus bibendum tincidunt.
Suspendisse potenti.
</v-card-text> </v-card-text>
</v-card> </v-card>
</v-flex> </v-flex>
@@ -116,45 +124,30 @@
</v-card-title> </v-card-title>
<v-card-text> <v-card-text>
Cras facilisis mi vitae nunc lobortis pharetra. Nulla volutpat tincidunt ornare. Cras facilisis mi vitae nunc lobortis pharetra. Nulla volutpat tincidunt ornare.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
Nullam in aliquet odio. Aliquam eu est vitae tellus bibendum tincidunt. Suspendisse potenti. turpis egestas.
Nullam in aliquet odio. Aliquam eu est vitae tellus bibendum tincidunt.
Suspendisse potenti.
</v-card-text> </v-card-text>
</v-card> </v-card>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-container> </v-container>
</v-flex> </v-flex>
</v-layout> </v-layout>
</section> </section>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data: () => ({ data: () => ({
items: [ items: [
{ {items1: ['aaaaa', 'aaaaa', 'aaaaaa'],},
items1 : [ {items2: ['aaaaa', 'aaaaa', 'aaaaaa'],},
'aaaaa', {items3: ['aaaaa', 'aaaaa', 'aaaaaa'],},
'aaaaa',
'aaaaaa'
],
},
{
items2 : [
'aaaaa',
'aaaaa',
'aaaaaa'
],
},
{
items3 : [
'aaaaa',
'aaaaa',
'aaaaaa'
],
},
], ],
disabled: false, disabled: false,
dense: false, dense: false,
@@ -169,10 +162,8 @@ export default {
avatar: false, avatar: false,
rounded: false, rounded: false,
}), }),
components: { components: {},
created() {
},
created(){
}, },
} }
</script> </script>
+6
View File
@@ -79,6 +79,12 @@ import {mapMutations} from 'vuex';
import Dropzone from '@/components/core/Dropzone' import Dropzone from '@/components/core/Dropzone'
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
components: { components: {
'wm-Dropzone': Dropzone, 'wm-Dropzone': Dropzone,
}, },
+6
View File
@@ -157,6 +157,12 @@ import {mapMutations, mapGetters} from "vuex";
import toast from "@/services/global/toast.service"; import toast from "@/services/global/toast.service";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
// {sortable: true,text: "ID",value: "id"}, // {sortable: true,text: "ID",value: "id"},
+14 -5
View File
@@ -10,7 +10,8 @@
</v-flex> </v-flex>
<v-flex xs12 sm6 md4 lg3 class="WM-FlexCenter pl-3"> <v-flex xs12 sm6 md4 lg3 class="WM-FlexCenter pl-3">
<v-icon class="fas fa-sort-numeric-up mr-2 WM-Margin-B-8"/> <v-icon class="fas fa-sort-numeric-up mr-2 WM-Margin-B-8"/>
<v-text-field name="cycle_number" label="Preferred Cycle Number" color="black" v-model="formData.cycle_number" <v-text-field name="cycle_number" label="Preferred Cycle Number" color="black"
v-model="formData.cycle_number"
class="py-3 pr-3"/> class="py-3 pr-3"/>
</v-flex> </v-flex>
<v-flex xs12 sm6 md4 lg3 class="WM-FlexCenter pl-3"> <v-flex xs12 sm6 md4 lg3 class="WM-FlexCenter pl-3">
@@ -48,7 +49,8 @@
v-model="fromMenuExpire" style="width: 100%"> v-model="fromMenuExpire" style="width: 100%">
<v-text-field required slot="activator" label="Expire Date" color="black" class="pr-3" <v-text-field required slot="activator" label="Expire Date" color="black" class="pr-3"
v-model="formData.expire_date"/> v-model="formData.expire_date"/>
<v-date-picker :show-current="showCurrent" :min="formData.sterile_date" color="pink" no-title <v-date-picker :show-current="showCurrent" :min="formData.sterile_date" color="pink"
no-title
v-model="formData.expire_date" v-model="formData.expire_date"
:date-format="date => new Date(date).toDateString()"/> :date-format="date => new Date(date).toDateString()"/>
</v-menu> </v-menu>
@@ -77,9 +79,16 @@
</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 {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
showCurrent: false, showCurrent: false,
@@ -149,7 +158,7 @@ export default {
} }
if (result && result.status == 200) { if (result && result.status == 200) {
this.$router.push({ name: 'AllLabels' }); this.$router.push({name: 'AllLabels'});
} }
} }
} }
+6
View File
@@ -145,6 +145,12 @@ import {urls} from "@/config/urls";
import {mapMutations, mapGetters} from "vuex"; import {mapMutations, mapGetters} from "vuex";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{sortable: false, text: "ID", value: "Label ID"}, {sortable: false, text: "ID", value: "Label ID"},
+6
View File
@@ -71,6 +71,12 @@ import {ApiService} from "@/services";
import {urls} from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
medicalCenter: { medicalCenter: {
+17 -7
View File
@@ -28,7 +28,7 @@
<v-flex md12> <v-flex md12>
<v-data-table :headers="headers" :items="items" hide-actions> <v-data-table :headers="headers" :items="items" hide-actions>
<template slot="headerCell" slot-scope="{ header }"> <template slot="headerCell" slot-scope="{ header }">
<span class="subheading font-weight-light text-white text--darken-3" v-text="header.text" /> <span class="subheading font-weight-light text-white text--darken-3" v-text="header.text"/>
</template> </template>
<template slot="items" slot-scope="{ item }"> <template slot="items" slot-scope="{ item }">
<td class="title font-weight-light WM-NoLetterSpacing">{{ item.name }}</td> <td class="title font-weight-light WM-NoLetterSpacing">{{ item.name }}</td>
@@ -49,8 +49,10 @@
</v-tooltip> </v-tooltip>
<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" :to="{ name: 'OperatorList', params: { medicalCenter: item.id } }"> <router-link class="LinkBtn"
<v-btn v-bind="attrs" v-on="on" color="orange darken-1" class="mr-2 WM-ActionButton"> :to="{ name: 'OperatorList', params: { medicalCenter: item.id } }">
<v-btn v-bind="attrs" v-on="on" color="orange darken-1"
class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-user</v-icon> <v-icon class="white--text mr-2 caption">fas fa-user</v-icon>
<span>Operator</span> <span>Operator</span>
</v-btn> </v-btn>
@@ -60,7 +62,8 @@
</v-tooltip> </v-tooltip>
<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="pink" @click="remove(item.id)" class="WM-ActionButton"> <v-btn v-bind="attrs" v-on="on" color="pink" @click="remove(item.id)"
class="WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-trash</v-icon> <v-icon class="white--text mr-2 caption">fas fa-trash</v-icon>
<span>Remove</span> <span>Remove</span>
</v-btn> </v-btn>
@@ -89,10 +92,17 @@
</template> </template>
<script> <script>
import { ApiService } from "@/services"; import {ApiService} from "@/services";
import { urls } from "@/config/urls"; import {urls} from "@/config/urls";
import { mapMutations } from 'vuex' import {mapMutations} from 'vuex'
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{sortable: false, text: "Hospital Name", value: "name"}, {sortable: false, text: "Hospital Name", value: "name"},
+25 -36
View File
@@ -3,13 +3,16 @@
<material-card class color="black" :title="`Operator List`" text> <material-card class color="black" :title="`Operator List`" 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 md3 xs3>
<v-text-field name="Name" v-model="filter.name" label="Name" class="pa-2" color="black"></v-text-field> <v-text-field name="Name" v-model="filter.name" label="Name" class="pa-2"
color="black"></v-text-field>
</v-flex> </v-flex>
<v-flex xs12 md3 xs3> <v-flex xs12 md3 xs3>
<v-text-field name="cell_number" v-model="filter.cell_number" label="Cell Number" class="pa-2" color="black"></v-text-field> <v-text-field name="cell_number" v-model="filter.cell_number" label="Cell Number" class="pa-2"
color="black"></v-text-field>
</v-flex> </v-flex>
<v-flex xs12 md2 xs3> <v-flex xs12 md2 xs3>
<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:10px 30px"> <v-btn class="WM-CyanBlueGradient-BG" @click="load" style="padding:10px 30px">
@@ -88,39 +91,25 @@
</v-container> </v-container>
</template> </template>
<script> <script>
import { ApiService } from "@/services"; import {ApiService} from "@/services";
import { mapMutations, mapGetters } from "vuex"; import {mapMutations, mapGetters} from "vuex";
import { urls } from "@/config/urls"; import {urls} from "@/config/urls";
import { roles } from "@/config/utils"; import {roles} from "@/config/utils";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{ {sortable: false, text: "Operator Name", value: "name"},
sortable: true, {sortable: false, text: "Role", value: "role"},
text: "Operator Name", {sortable: false, text: "Number", value: "number"},
value: "name" {sortable: false, text: "Status", value: "status"},
}, {sortable: false, text: "Action", value: "action", align: "right"}
{
sortable: false,
text: "Role",
value: "role"
},
{
sortable: false,
text: "Number",
value: "number"
},
{
sortable: false,
text: "Status",
value: "status"
},
{
sortable: false,
text: "Action",
value: "action",
align: "right"
}
], ],
filter: { filter: {
name: '', name: '',
@@ -151,7 +140,7 @@ export default {
if (result && result.status == 200) { if (result && result.status == 200) {
this.items = result.data.data.users; this.items = result.data.data.users;
} else { } else {
this.$router.push({name:`Dashboard`}); this.$router.push({name: `Dashboard`});
} }
}, },
async changeStatus(userId) { async changeStatus(userId) {
@@ -163,14 +152,14 @@ export default {
} }
} }
} else { } else {
this.$router.push({name:`Dashboard`}); this.$router.push({name: `Dashboard`});
} }
}, },
...mapMutations("modal", ["changeCurrentModal"]), ...mapMutations("modal", ["changeCurrentModal"]),
changeRoleModal(user) { changeRoleModal(user) {
this.changeCurrentModal({ this.changeCurrentModal({
modal: "modal-user-role", modal: "modal-user-role",
properties: { user } properties: {user}
}); });
}, },
async remove(userId) { async remove(userId) {
+6
View File
@@ -167,6 +167,12 @@ import {mapMutations, mapGetters, mapActions} from "vuex";
import toast from "@/services/global/toast.service"; import toast from "@/services/global/toast.service";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
// {sortable: true,text: "ID",value: "id"}, // {sortable: true,text: "ID",value: "id"},
+21 -9
View File
@@ -56,10 +56,16 @@
<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 justify-self-end"> <td class="text-xs-right FlexBtn Height-MD-60 justify-self-end">
<template v-if="$hasRole('Admin|Supervisor')"> <template v-if="$hasRole('Admin|Supervisor')">
<v-tooltip v-for="status in getStatus(item)" :key="status.label" bottom open-on-hover> <v-tooltip v-for="status in getStatus(item)" :key="status.label" bottom
open-on-hover>
<template v-slot:activator="{ on, attrs }"> <template v-slot:activator="{ on, attrs }">
<v-btn :color="status.color" class="mr-2" @click="changeStatus(item, status.status)" v-bind="attrs" v-on="on"> <v-btn :color="status.color" class="mr-2"
<v-icon class="white--text mr-1 caption">fas {{ status.icon }}</v-icon> @click="changeStatus(item, status.status)" v-bind="attrs"
v-on="on">
<v-icon class="white--text mr-1 caption">fas {{
status.icon
}}
</v-icon>
<span>{{ status.label }}</span> <span>{{ status.label }}</span>
</v-btn> </v-btn>
</template> </template>
@@ -154,6 +160,12 @@ import {mapMutations, mapGetters} from "vuex";
import toast from "@/services/global/toast.service"; import toast from "@/services/global/toast.service";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{sortable: false, text: "ID", value: "Package ID"}, {sortable: false, text: "ID", value: "Package ID"},
@@ -161,7 +173,7 @@ export default {
{sortable: false, text: "Hospital", value: "Hospital"}, {sortable: false, text: "Hospital", value: "Hospital"},
{sortable: false, text: "Description", value: "description"}, {sortable: false, text: "Description", value: "description"},
{sortable: false, text: "Status", value: "status"}, {sortable: false, text: "Status", value: "status"},
{sortable: false, text: "Action", value: "action", align: "center",width:'20%'} {sortable: false, text: "Action", value: "action", align: "center", width: '20%'}
], ],
filter: { filter: {
name: '', name: '',
@@ -191,8 +203,8 @@ export default {
if (result && result.status == 200) { if (result && result.status == 200) {
const {data, meta} = result.data; const {data, meta} = result.data;
this.items = data; this.items = data;
this.currentPage = meta? meta.current_page : 1; this.currentPage = meta ? meta.current_page : 1;
this.lastPage =meta? meta.last_page : 1; this.lastPage = meta ? meta.last_page : 1;
} }
this.loadMedicalCenters(); this.loadMedicalCenters();
}, },
@@ -227,8 +239,8 @@ export default {
getStatus(item) { getStatus(item) {
if (item.status === 'pending') { if (item.status === 'pending') {
return [ return [
{ status: 'rejected', label: 'reject', color: 'red', icon: 'fa-close' }, {status: 'rejected', label: 'reject', color: 'red', icon: 'fa-close'},
{ status: 'approved', label: 'approve', color: 'green', icon: 'fa-check' } {status: 'approved', label: 'approve', color: 'green', icon: 'fa-check'}
] ]
} else { } else {
const nextStatus = item.status === 'rejected' ? 'approved' : 'rejected' const nextStatus = item.status === 'rejected' ? 'approved' : 'rejected'
@@ -243,7 +255,7 @@ export default {
} }
}, },
async changeStatus(item, status) { async changeStatus(item, status) {
const result = await ApiService.post(urls.changePackageStatus(item.id), { status }) const result = await ApiService.post(urls.changePackageStatus(item.id), {status})
if (result?.data?.data?.status) { if (result?.data?.data?.status) {
const newStatus = result.data.data.status const newStatus = result.data.data.status
+6
View File
@@ -118,6 +118,12 @@ import {urls} from "@/config/urls";
import {mapMutations} from "vuex"; import {mapMutations} from "vuex";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
formData: { formData: {
+6
View File
@@ -160,6 +160,12 @@ import {mapMutations, mapGetters} from "vuex";
import toast from "@/services/global/toast.service"; import toast from "@/services/global/toast.service";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{sortable: false, text: "ID", value: "Package ID"}, {sortable: false, text: "ID", value: "Package ID"},
+28 -11
View File
@@ -6,27 +6,35 @@
<v-layout align-center justify-center wrap class="px-5 my-3"> <v-layout align-center justify-center wrap class="px-5 my-3">
<v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3"> <v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3">
<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-icon>
<v-autocomplete :items="medicalCenters" item-text="name" item-value="id" v-model="form.medicalCenterId" @change="fillUsers" label="Hospital" color="black" class="pa-2"></v-autocomplete> <v-autocomplete :items="medicalCenters" item-text="name" item-value="id"
v-model="form.medicalCenterId" @change="fillUsers" label="Hospital"
color="black" class="pa-2"></v-autocomplete>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3"> <v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3">
<v-icon class="fa fa-user mr-2 WM-Margin-B-8"></v-icon> <v-icon class="fa fa-user mr-2 WM-Margin-B-8"></v-icon>
<v-autocomplete :items="users" item-text="name" item-value="id" v-model="form.userId" label="User" color="black" class="py-3 pr-3"></v-autocomplete> <v-autocomplete :items="users" item-text="name" item-value="id" v-model="form.userId"
label="User" color="black" class="py-3 pr-3"></v-autocomplete>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3"> <v-flex xs12 sm4 md4 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-icon>
<v-autocomplete :items="testTypes" item-text="name" item-value="id" v-model="form.testTypeId" label="TestType" color="black" class="py-3 pr-3"></v-autocomplete> <v-autocomplete :items="testTypes" item-text="name" item-value="id"
v-model="form.testTypeId" label="TestType" color="black"
class="py-3 pr-3"></v-autocomplete>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3"> <v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3">
<v-icon class="fas fa-angle-right mr-2 WM-Margin-B-8"></v-icon> <v-icon class="fas fa-angle-right mr-2 WM-Margin-B-8"></v-icon>
<v-autocomplete :items="result" v-model="form.result" label="Result" color="black" class="py-3 pr-3"></v-autocomplete> <v-autocomplete :items="result" v-model="form.result" label="Result" color="black"
class="py-3 pr-3"></v-autocomplete>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3"> <v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3">
<v-icon class="fas fa-angle-right mr-2 WM-Margin-B-8"></v-icon> <v-icon class="fas fa-angle-right mr-2 WM-Margin-B-8"></v-icon>
<v-autocomplete :items="verify" v-model="form.verify" label="Verify" color="black" class="py-3 pr-3"></v-autocomplete> <v-autocomplete :items="verify" v-model="form.verify" label="Verify" color="black"
class="py-3 pr-3"></v-autocomplete>
</v-flex> </v-flex>
<v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3"> <v-flex xs12 sm4 md4 class="WM-FlexCenter pl-3">
<v-icon class="fas fa-line-chart mr-2 WM-Margin-B-8"></v-icon> <v-icon class="fas fa-line-chart mr-2 WM-Margin-B-8"></v-icon>
<v-autocomplete :items="type" v-model="form.type" label="Type" color="black" class="py-3 pr-3"></v-autocomplete> <v-autocomplete :items="type" v-model="form.type" label="Type" color="black"
class="py-3 pr-3"></v-autocomplete>
</v-flex> </v-flex>
<v-flex xs12 sm6 md2 class="WM-FlexCenter pl-3"> <v-flex xs12 sm6 md2 class="WM-FlexCenter pl-3">
<v-icon class="far fa-calendar-alt mr-2"></v-icon> <v-icon class="far fa-calendar-alt mr-2"></v-icon>
@@ -104,10 +112,16 @@
<script> <script>
import BarChart from "@/plugins/chart/BarChart.js"; import BarChart from "@/plugins/chart/BarChart.js";
import PieChart from "@/plugins/chart/PieChart.js"; import PieChart from "@/plugins/chart/PieChart.js";
import { ApiService } from "@/services"; import {ApiService} from "@/services";
import { urls } from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
components: { components: {
BarChart, BarChart,
PieChart PieChart
@@ -183,13 +197,16 @@ export default {
max-width: 600px; max-width: 600px;
margin: 150px auto; margin: 150px auto;
} }
.v-btn--floating { .v-btn--floating {
padding: 0!important; padding: 0 !important;
} }
.theme--light.v-btn.v-btn--flat { .theme--light.v-btn.v-btn--flat {
color: rgba(0,0,0,.87)!important; color: rgba(0, 0, 0, .87) !important;
} }
.v-btn--floating, .v-btn--icon:before { .v-btn--floating, .v-btn--icon:before {
border-radius: 50%!important; border-radius: 50% !important;
} }
</style> </style>
+6
View File
@@ -416,6 +416,12 @@ import {ApiService} from "@/services";
import {urls} from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
components: { components: {
'wm-Dropzone': Dropzone, 'wm-Dropzone': Dropzone,
}, },
+6
View File
@@ -186,6 +186,12 @@ import {
} from "vuex"; } from "vuex";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{sortable: false, text: "ID", value: "name"}, {sortable: false, text: "ID", value: "name"},
+6
View File
@@ -126,6 +126,12 @@ import { mapGetters, mapMutations } from "vuex";
import { ApiService } from "@/services"; import { ApiService } from "@/services";
import { urls } from "@/config/urls"; import { urls } from "@/config/urls";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
data: { data: {
user: { user: {
+8 -1
View File
@@ -266,7 +266,8 @@
<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-layout row wrap align-center justify-center class="mt-4" v-if="(form.info.length -1) == keyForm"> <v-layout row 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-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>
@@ -301,6 +302,12 @@ import {ApiService} from "@/services";
import {urls} from "@/config/urls"; import {urls} from "@/config/urls";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
form: { form: {
+6
View File
@@ -150,6 +150,12 @@ import {urls} from "@/config/urls";
import {mapMutations, mapGetters} from "vuex"; import {mapMutations, mapGetters} from "vuex";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{sortable: false, text: "TestType Name", value: "name"}, {sortable: false, text: "TestType Name", value: "name"},
+6
View File
@@ -144,6 +144,12 @@ import {mapMutations, mapGetters} from "vuex";
import {roles} from "@/config/utils"; import {roles} from "@/config/utils";
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data: () => ({ data: () => ({
headers: [ headers: [
{ {
+6
View File
@@ -96,6 +96,12 @@ import {urls} from "@/config/urls";
import {mapMutations} from 'vuex'; import {mapMutations} from 'vuex';
export default { export default {
metaInfo() {
return {
title: this.$route.meta.title,
meta: this.$route.meta.metaTags || []
}
},
data() { data() {
return { return {
user: { user: {