fix : details btn in details modals

This commit is contained in:
zeinab.ashrafi
2025-05-13 11:52:58 +03:30
parent 4a15071d17
commit f324456ae6
5 changed files with 198 additions and 160 deletions
+19 -3
View File
@@ -82,12 +82,28 @@
<v-layout row class="CSSD-font"> <v-layout row class="CSSD-font">
<span class="item-counter">{{ key + 1 }}</span> <span class="item-counter">{{ key + 1 }}</span>
<v-layout row class="pl-2"> <v-layout row class="pl-2">
<v-flex xs12 sm6 md4> <v-flex xs12 sm6 md6>
<span class="sub-text">Label ID:</span> {{ label.id }} <span class="sub-text">Label ID:</span> {{ label.id }}
</v-flex> </v-flex>
<v-flex xs12 sm6 md4 v-if="label.pivot"> <v-flex xs12 sm6 md6 class="d-flex">
<div v-if="label.pivot">
<span class="sub-text">Label Pivot counter:</span> <span class="sub-text">Label Pivot counter:</span>
{{ label.pivot.count }} {{ label.pivot.count }}
</div>
<v-spacer/>
<a :href="'https://www.cssd-doc.com/Show/Label/' + label.id + ''"
target="_blank" style="max-width: fit-content;">
<v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }">
<v-btn v-bind="attrs" v-on="on" @click.stop.native=""
color="WM-Tooltip-Btn WM-Outline-Btn WM-Border WM-Margin-BT-0 WM-Border-Black mr-2">
<v-icon class="black--text caption">fas fa-search
</v-icon>
</v-btn>
</template>
<span>Filter</span>
</v-tooltip>
</a>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
@@ -117,7 +133,7 @@
</v-flex> </v-flex>
<v-flex xs12 sm6 md4> <v-flex xs12 sm6 md4>
<span class="sub-text">Item Name:</span> <span class="sub-text">Item Name:</span>
{{item.name}} {{ item.name }}
</v-flex> </v-flex>
<v-flex xs12 sm6 md4 v-if="item.pivot"> <v-flex xs12 sm6 md4 v-if="item.pivot">
<span class="sub-text"> <span class="sub-text">
+10 -10
View File
@@ -7,7 +7,7 @@
<hr class="v-divider theme--light"> <hr class="v-divider theme--light">
</v-flex> </v-flex>
<v-layout row wrap class=""> <v-layout row wrap class="">
<v-flex xs12 md6 sm6> <v-flex xs12 sm6 md4>
<div class> <div class>
<span class="title CSSD-font">Item ID :</span> <span class="title CSSD-font">Item ID :</span>
<span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important"> <span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important">
@@ -15,7 +15,7 @@
</span> </span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 sm6 md4>
<div class> <div class>
<span class="title CSSD-font">Name :</span> <span class="title CSSD-font">Name :</span>
<span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important"> <span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important">
@@ -23,7 +23,7 @@
</span> </span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 sm6 md4>
<div class> <div class>
<span class="title CSSD-font">Size :</span> <span class="title CSSD-font">Size :</span>
<span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important"> <span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important">
@@ -31,7 +31,7 @@
</span> </span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 sm6 md4>
<div class> <div class>
<span class="title CSSD-font">UDI :</span> <span class="title CSSD-font">UDI :</span>
<span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important"> <span class="headline ml-1 CSSD-font" style="letter-spacing:0 !important">
@@ -39,14 +39,14 @@
</span> </span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 sm6 md4>
<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" <span class="headline ml-1 CSSD-font"
style="letter-spacing:0 !important">{{ data.specific }}</span> style="letter-spacing:0 !important">{{ data.specific }}</span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 sm6 md4>
<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"> <span class="headline ml-2 CSSD-font" style="letter-spacing:0 !important">
@@ -54,7 +54,7 @@
</span> </span>
</div> </div>
</v-flex> </v-flex>
<v-flex xs12 md6 sm6> <v-flex xs12 sm6 md4>
<div class> <div class>
<span class="title CSSD-font">Date Register:</span> <span class="title CSSD-font">Date Register:</span>
<span class="headline ml-2 CSSD-font" <span class="headline ml-2 CSSD-font"
@@ -63,12 +63,12 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-layout align-left justify-left wrap class="my-3" v-if="data.files.length"> <v-layout align-left justify-left wrap class="my-1" v-if="data.files.length">
<h3 class="CSSD-font">Image</h3> <h3 class="CSSD-font">Image</h3>
<v-flex xs12> <v-flex xs12>
<hr class="v-divider theme--light"/> <hr class="v-divider theme--light"/>
</v-flex> </v-flex>
<v-layout row wrap class="align-center"> <v-layout row wrap class="align-center mt-2">
<v-flex xs6 md2 sm2 v-for="(file, key) in data.files" :key="key"> <v-flex xs6 md2 sm2 v-for="(file, key) in data.files" :key="key">
<template v-if="file.file_type == 'document'"> <template v-if="file.file_type == 'document'">
<a target="_blank" :href="'/'+file.thumbnail"> <a target="_blank" :href="'/'+file.thumbnail">
@@ -82,7 +82,7 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
<v-layout align-left justify-left wrap class="my-3"> <v-layout align-left justify-left wrap class="my-1">
<h3 class="CSSD-font">Barcode And QRCode Image</h3> <h3 class="CSSD-font">Barcode And QRCode Image</h3>
<v-flex xs12> <v-flex xs12>
<hr class="v-divider theme--light"> <hr class="v-divider theme--light">
+25 -8
View File
@@ -16,7 +16,7 @@
<v-flex xs12 md12 sm12> <v-flex xs12 md12 sm12>
<div class="WM-d-flex"> <div class="WM-d-flex">
<span class="headline ml-1 mb-1" style="letter-spacing:0 !important"> <span class="headline ml-1 mb-1" style="letter-spacing:0 !important">
{{(data.user && data.user.medical_center) ? data.user.medical_center.name : ""}} {{ (data.user && data.user.medical_center) ? data.user.medical_center.name : "" }}
</span> </span>
</div> </div>
</v-flex> </v-flex>
@@ -45,7 +45,7 @@
<div class="WM-d-flex"> <div class="WM-d-flex">
<v-icon class="WMi-user"/> <v-icon class="WMi-user"/>
<span class="headline ml-2 mb-1" style="letter-spacing:0 !important"> <span class="headline ml-2 mb-1" style="letter-spacing:0 !important">
{{data.user ? data.user.name : ''}} {{ data.user ? data.user.name : '' }}
</span> </span>
</div> </div>
</v-flex> </v-flex>
@@ -111,18 +111,35 @@
<template v-slot:header> <template v-slot:header>
<v-layout row class="CSSD-font"> <v-layout row class="CSSD-font">
<v-layout row class="pl-2"> <v-layout row class="pl-2">
<v-flex xs12 sm6 md6> <v-flex xs12 sm6 md4>
<span class="sub-text">Package ID:</span> {{ data.package.id }} <span class="sub-text">Package ID:</span> {{ data.package.id }}
</v-flex> </v-flex>
<v-flex xs12 sm6 md6> <v-flex xs12 sm6 md8 class="d-flex">
<div>
<span class="sub-text">Package Name:</span> {{ data.package.name }} <span class="sub-text">Package Name:</span> {{ data.package.name }}
</div>
<v-spacer/>
<a :href="'https://www.cssd-doc.com/Show/Package/' + data.package.id + ''"
target="_blank" style="max-width: fit-content;">
<v-tooltip bottom open-on-hover>
<template v-slot:activator="{ on, attrs }">
<v-btn v-bind="attrs" v-on="on" @click.stop.native=""
color="WM-Tooltip-Btn WM-Outline-Btn WM-Border WM-Margin-BT-0 WM-Border-Black mr-2">
<v-icon class="black--text caption">fas fa-search
</v-icon>
</v-btn>
</template>
<span>Filter</span>
</v-tooltip>
</a>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
</template> </template>
<v-card> <v-card>
<v-card-text>note : {{ data.package.note }}</v-card-text> <v-card-text>note : {{ data.package.note }}</v-card-text>
<v-card-text> Items : <v-card-text v-if="data.package.items && data.package.items.length">
Items :
<v-expansion-panel class="WM-Panel" v-for="(item, key) in data.package.items" <v-expansion-panel class="WM-Panel" v-for="(item, key) in data.package.items"
:key="key"> :key="key">
<v-expansion-panel-content> <v-expansion-panel-content>
@@ -130,10 +147,10 @@
<v-layout row class="CSSD-font"> <v-layout row class="CSSD-font">
<span class="item-counter">{{ key + 1 }}</span> <span class="item-counter">{{ key + 1 }}</span>
<v-layout row class="pl-2"> <v-layout row class="pl-2">
<v-flex xs12 sm6 md4> <v-flex xs12 sm6 md3>
<span class="sub-text">Item ID:</span> {{ item.id }} <span class="sub-text">Item ID:</span> {{ item.id }}
</v-flex> </v-flex>
<v-flex xs12 sm6 md4> <v-flex xs12 sm6 md5>
<span class="sub-text">Item Name:</span> {{ item.name }} <span class="sub-text">Item Name:</span> {{ item.name }}
</v-flex> </v-flex>
<v-flex xs12 sm6 md4 v-if="item.pivot"> <v-flex xs12 sm6 md4 v-if="item.pivot">
@@ -142,7 +159,7 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
<!-- <div>{{ item.name }} ({{ item.pivot.count }})</div>--> <!-- <div>{{ item.name }} ({{ item.pivot.count }})</div>-->
</template> </template>
<v-card> <v-card>
<v-card-text>note : {{ item.note }}</v-card-text> <v-card-text>note : {{ item.note }}</v-card-text>
+1 -1
View File
@@ -66,7 +66,7 @@
<v-flex xs12> <v-flex xs12>
<hr class="v-divider theme--light"> <hr class="v-divider theme--light">
</v-flex> </v-flex>
<v-layout row wrap class="ml-4 WM-Relative"> <v-layout row wrap class="WM-Relative">
<template v-if="data.items.length"> <template v-if="data.items.length">
<v-expansion-panel class="WM-Panel"> <v-expansion-panel class="WM-Panel">
<v-expansion-panel-content v-for="(item, key) in data.items" :key="key"> <v-expansion-panel-content v-for="(item, key) in data.items" :key="key">
+14 -9
View File
@@ -1,6 +1,7 @@
<template> <template>
<v-container grid-list-xs> <v-container grid-list-xs>
<material-card color="black" title="Show Test Result" id="printMe"> <material-card color="black" title="Show Test Result">
<v-flex xs12 id="printMe">
<v-layout align-left justify-left wrap class="my-3 ShowTestResult"> <v-layout align-left justify-left wrap class="my-3 ShowTestResult">
<h4 class="ml-4 headline font-weight-bold">Test Type : {{ data.test_type.name }}</h4> <h4 class="ml-4 headline font-weight-bold">Test Type : {{ data.test_type.name }}</h4>
<v-flex xs12> <v-flex xs12>
@@ -25,7 +26,7 @@
<span class="subtitle-1">Result :</span> <span class="subtitle-1">Result :</span>
<v-icon size="20" <v-icon size="20"
:class="['caption fa ml-2', data.result == 'Reject'?'NotVerified':( data.result == 'Accept'?'Verified':'')]"> :class="['caption fa ml-2', data.result == 'Reject'?'NotVerified':( data.result == 'Accept'?'Verified':'')]">
{{ data.result == 'Reject' ? 'fa-times' : (data.result == 'Accept' ? 'fa-check':'') }} {{ data.result == 'Reject' ? 'fa-times' : (data.result == 'Accept' ? 'fa-check' : '') }}
</v-icon> </v-icon>
<span class="title font-weight-bold ml-1" style="letter-spacing:0 !important"> <span class="title font-weight-bold ml-1" style="letter-spacing:0 !important">
{{ data.result }} {{ data.result }}
@@ -35,7 +36,9 @@
<span class="subtitle-1">verify :</span> <span class="subtitle-1">verify :</span>
<v-icon size="20" <v-icon size="20"
:class="['caption fa ml-2', data.verified == 'NotVerified'?'NotVerified':(data.verified == 'Verified'? 'Verified' : '')]"> :class="['caption fa ml-2', data.verified == 'NotVerified'?'NotVerified':(data.verified == 'Verified'? 'Verified' : '')]">
{{ data.verified == 'NotVerified' ? 'fa-times' :(data.verified == 'Verified' ? 'fa-check':'') }} {{
data.verified == 'NotVerified' ? 'fa-times' : (data.verified == 'Verified' ? 'fa-check' : '')
}}
</v-icon> </v-icon>
<span class="title font-weight-bold ml-1" style="letter-spacing:0 !important"> <span class="title font-weight-bold ml-1" style="letter-spacing:0 !important">
{{ data.verified }} {{ data.verified }}
@@ -69,14 +72,16 @@
</v-flex> </v-flex>
<v-layout row wrap class="ml-4"> <v-layout row wrap class="ml-4">
<template v-if="data.inputs"> <template v-if="data.inputs">
<v-flex xs12 sm12 md6 lg4 class="py-1" v-for="(inputData, keyInputs) in data.inputs" :key="keyInputs"> <v-flex xs12 sm12 md6 lg4 class="py-1" v-for="(inputData, keyInputs) in data.inputs"
:key="keyInputs">
<span class="subtitle-1">{{ keyInputs }} :</span> <span class="subtitle-1">{{ keyInputs }} :</span>
<span class="title font-weight-bold ml-2" <span class="title font-weight-bold ml-2"
style="letter-spacing:0 !important">{{ inputData }}</span> style="letter-spacing:0 !important">{{ inputData }}</span>
</v-flex> </v-flex>
</template> </template>
<template v-if="data.options"> <template v-if="data.options">
<v-flex xs12 sm12 md6 lg4 class="py-1" v-for="(optionData, keyOptions) in data.options" :key="keyOptions"> <v-flex xs12 sm12 md6 lg4 class="py-1" v-for="(optionData, keyOptions) in data.options"
:key="keyOptions">
<span class="subtitle-1">{{ keyOptions }} :</span> <span class="subtitle-1">{{ keyOptions }} :</span>
<span <span
style="letter-spacing:0 !important" style="letter-spacing:0 !important"
@@ -87,7 +92,8 @@
</template> </template>
<template v-if="data.children"> <template v-if="data.children">
<v-layout row wrap class="WM-Width-Full"> <v-layout row wrap class="WM-Width-Full">
<v-flex class="mt-4 pb-4" style="border-left:3px solid #32c5d2;border-bottom:1px solid #ddd" <v-flex class="mt-4 pb-4"
style="border-left:3px solid #32c5d2;border-bottom:1px solid #ddd"
xs12 md12 sm12 v-for="(formData, keyForm) in data.children" :key="keyForm"> xs12 md12 sm12 v-for="(formData, keyForm) in data.children" :key="keyForm">
<h4 class="ml-4 headline CSSD-font font-weight-bold">{{ keyForm }}</h4> <h4 class="ml-4 headline CSSD-font font-weight-bold">{{ keyForm }}</h4>
<v-layout row wrap> <v-layout row wrap>
@@ -131,7 +137,6 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
<v-layout align-left justify-left wrap class="my-3"> <v-layout align-left justify-left wrap class="my-3">
<h3 class="CSSD-font">Barcode And QRCode Image</h3> <h3 class="CSSD-font">Barcode And QRCode Image</h3>
<v-flex xs12> <v-flex xs12>
@@ -149,8 +154,7 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-layout> </v-layout>
<!-- </material-card> </v-flex>
<material-card> -->
<v-layout row wrap align-center justify-center class="my-3" v-if="$hasRole('Admin|Supervisor')"> <v-layout row wrap align-center justify-center class="my-3" v-if="$hasRole('Admin|Supervisor')">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black" style="padding:10px 60px" <v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black" style="padding:10px 60px"
@click="closeModal"> @click="closeModal">
@@ -193,6 +197,7 @@ import {ApiService} from "@/services";
import {urls} from "@/config/urls"; import {urls} from "@/config/urls";
import VueImageLightbox from 'vue-image-lightbox' import VueImageLightbox from 'vue-image-lightbox'
import 'vue-image-lightbox/dist/vue-image-lightbox.min.css' import 'vue-image-lightbox/dist/vue-image-lightbox.min.css'
export default { export default {
data: () => ({ data: () => ({
data: {}, data: {},