4569 lines
308 KiB
Vue
4569 lines
308 KiB
Vue
<template>
|
|
<div>
|
|
<v-dialog v-model="dialogdownload" persistent max-width="650" max-height="500">
|
|
<v-card >
|
|
<v-container grid-list-sm fluid>
|
|
<v-layout row wrap>
|
|
<v-flex xs12>
|
|
<p class="mb-2">PILIH YANG DIINGINKAN : </p>
|
|
<v-layout class="pl-2 pt-2" row>
|
|
<v-flex xs12>
|
|
<v-radio-group v-model="selected_download">
|
|
<v-radio
|
|
v-for="(report,i) in reports"
|
|
:key="i"
|
|
:label="report.test"
|
|
:value="report.url"
|
|
></v-radio>
|
|
</v-radio-group>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-container>
|
|
<v-card-actions>
|
|
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="error darken-1" flat @click="dialogdownload = false">Tutup</v-btn>
|
|
<v-btn color="teal lighten-2" flat @click="doDownloadRpt()">DOWNLOAD</v-btn>
|
|
</v-card-actions>
|
|
<v-card>
|
|
</v-dialog>
|
|
<v-dialog
|
|
v-model="dialognote"
|
|
width="75%"
|
|
>
|
|
<v-card>
|
|
<v-card-title
|
|
class="headline white--text error"
|
|
primary-title
|
|
>
|
|
|
|
</v-card-title>
|
|
|
|
<v-card-text>
|
|
<v-layout v-if="patient.fo_note !== ''" mb-2 row>
|
|
<v-flex mb-2 xs3>
|
|
<span style="color: #0f80db" class="mono name">FO</span>
|
|
</v-flex>
|
|
<v-flex xs9>
|
|
<v-layout row>
|
|
<v-flex mb-1 xs12>
|
|
<code style="box-shadow: none !important;color: #0f80db !important;background-color: #a8cfee6b !important;">{{patient.fo_note_user}}</code>
|
|
<div class="v-markdown">
|
|
<p style="margin-top:2px;margin-bottom:0">{{patient.fo_note}}</p>
|
|
</div>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="patient.fo_ver_note !== ''" mb-2 row>
|
|
<v-flex mb-2 xs3>
|
|
<span style="color: #0f80db" class="mono name">FO Verifikasi</span>
|
|
</v-flex>
|
|
<v-flex xs9>
|
|
<v-layout row>
|
|
<v-flex mb-1 xs12>
|
|
<code style="box-shadow: none !important;color: #0f80db !important;background-color: #a8cfee6b !important;">{{patient.fo_ver_note_user}}</code>
|
|
<div class="v-markdown">
|
|
<p style="margin-top:2px;margin-bottom:0">{{patient.fo_ver_note}}</p>
|
|
</div>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="patient.sampling_note !== ''" mb-2 row>
|
|
<v-flex mb-2 xs3>
|
|
<span style="color: #0f80db" class="mono name">Sampling</span>
|
|
</v-flex>
|
|
<v-flex xs9>
|
|
<v-layout row>
|
|
<v-flex mb-1 xs12>
|
|
<code style="box-shadow: none !important;color: #0f80db !important;background-color: #a8cfee6b !important;">{{patient.sampling_note_user}}</code>
|
|
<div class="v-markdown">
|
|
<p style="margin-top:2px;margin-bottom:0">{{patient.sampling_note}}</p>
|
|
</div>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card-text>
|
|
|
|
<v-divider></v-divider>
|
|
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn
|
|
color="grey"
|
|
dark
|
|
flat
|
|
text
|
|
@click="dialognote = false"
|
|
>
|
|
Tutup
|
|
</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialogprintlang" persistent max-width="450">
|
|
<v-card class="align-center justify-center">
|
|
<v-card-title style="padding:0px;" primary-title dark color="blue-grey" class="blue-grey white--text">
|
|
<v-subheader style="color:#fff!important">PILIH BAHASA</v-subheader>
|
|
</v-card-title>
|
|
<v-card-text>
|
|
<v-switch style="margin-top:0;padding-top:0"
|
|
@change="changeSwitch(lang.chex,index)"
|
|
v-for="(lang,index) in dialoglangs"
|
|
:key="index"
|
|
v-model="lang.chex === 'Y'"
|
|
:label="lang.name"
|
|
:disabled="lang.chex === 'N'">
|
|
</v-switch>
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="grey ligthen-1" flat @click="dialogprintlang = false">Batal</v-btn>
|
|
<v-btn color="blue-grey" flat @click="doPrintAfterLang()">Cetak</v-btn>
|
|
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialoglang" persistent max-width="450">
|
|
<v-card class="align-center justify-center">
|
|
<v-card-title style="padding:0px;" primary-title dark color="blue-grey" class="blue-grey white--text">
|
|
<v-subheader style="color:#fff!important">PILIH BAHASA</v-subheader>
|
|
</v-card-title>
|
|
<v-card-text>
|
|
<v-select class="ma-1 mini-select" :items="xnowtest.langs"
|
|
item-text="name"
|
|
return-object
|
|
v-model="sellang"
|
|
label="Bahasa" outline hide-details>
|
|
</v-select>
|
|
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="grey ligthen-1" flat @click="changeLang()">Tutup</v-btn>
|
|
|
|
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialogtemplates" persistent max-width="450">
|
|
<v-card class="align-center justify-center">
|
|
<v-card-title style="padding:0px;" primary-title dark color="primary" class="primary white--text">
|
|
<v-subheader style="color:#fff!important">PILIH TEMPLATE</v-subheader>
|
|
</v-card-title>
|
|
<v-card-text>
|
|
<v-select class="ma-1 mini-select" :items="xtemplates"
|
|
item-text="label"
|
|
return-object
|
|
v-model="xselectedtemplate"
|
|
label="Template" outline hide-details>
|
|
</v-select>
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="grey ligthen-1" flat @click="dialogtemplates = false">Batal</v-btn>
|
|
<v-btn color="blue-grey" flat @click="doPasteTemplate()">Terapkan</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="xdialogdoctor" persistent max-width="350">
|
|
<v-card class="align-center justify-center">
|
|
<v-card-title primary-title dark color="warning" class="warning white--text headline">PILIH DOKTER</v-card-title>
|
|
<v-card-text>
|
|
<p v-if="requiredoctor" class="error pl-2 pr-2" style="color:#fff">Dokter harus dipilih salah satu dong</p>
|
|
<v-autocomplete
|
|
label="Dokter"
|
|
v-model="selected_doctor"
|
|
:items="doctors"
|
|
:search-input.sync="search_doctor"
|
|
auto-select-first
|
|
no-filter
|
|
item-text="name"
|
|
return-object
|
|
style="height:32px!important"
|
|
|
|
no-data-text="Pilih Dokter"
|
|
>
|
|
<template
|
|
slot="item"
|
|
slot-scope="{ item }"
|
|
>
|
|
<v-list-tile-content>
|
|
<v-list-tile-title v-text="item.name"></v-list-tile-title>
|
|
</v-list-tile-content>
|
|
</template>
|
|
</v-autocomplete>
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="red darken-1" flat @click="xdialogdoctor = false">Tutup</v-btn>
|
|
<v-btn color="green darken-1" @click="savedoctor" flat >Simpan</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="xdialogaction" persistent max-width="350">
|
|
<v-card>
|
|
<v-card-title color="warning" class="headline">Konfirmasi</v-card-title>
|
|
<v-card-text v-html="xmsgaction">
|
|
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="primary darken-1" flat @click="closeDialogAction()">Ya</v-btn>
|
|
<v-btn color="error darken-1" flat @click="xdialogaction = false">Tutup</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="xdialogimage" persistent max-width="650" max-height="500">
|
|
<v-card color="amber lighten-5">
|
|
<v-container grid-list-sm fluid>
|
|
<v-layout row wrap>
|
|
<v-flex>
|
|
<v-card flat tile class="d-flex">
|
|
<v-img
|
|
:src="ximage"
|
|
aspect-ratio="1"
|
|
class="grey lighten-2"
|
|
>
|
|
<template v-slot:placeholder>
|
|
<v-layout
|
|
fill-height
|
|
align-center
|
|
justify-center
|
|
ma-0
|
|
>
|
|
<v-progress-circular indeterminate color="grey lighten-5"></v-progress-circular>
|
|
</v-layout>
|
|
</template>
|
|
</v-img>
|
|
</v-card>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-container>
|
|
<v-card-actions>
|
|
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="black" dark @click="xdialogimage = false">Tutup</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-layout row mb-2 wrap>
|
|
<v-flex xs12 pr-1>
|
|
<v-card>
|
|
<v-layout pt-1 pb-1 row>
|
|
<v-flex pt-1 pb-1 pl-2 pr-2 xs12>
|
|
<span class="left" style="font-size:x-large">
|
|
<p class="mb-0">{{patient.ordernumber}} <span><v-icon title="catatan" @click="dialognote = true" v-if="(patient.fo_note && patient.fo_note != '') || (patient.sampling_note && patient.sampling_note != '')" style="font-size:20px;cursor:pointer" large color="error">info</v-icon></span></p>
|
|
|
|
</span>
|
|
<span class="right">
|
|
<v-chip dark v-for="(delivery,ix) in patient.deliveries"
|
|
:key="ix"
|
|
@click="downloadRpt(delivery)" :title="delivery.destination" label
|
|
:color="delivery.color" text-color="white">
|
|
{{delivery.label}}
|
|
</v-chip>
|
|
</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-divider></v-divider>
|
|
<v-layout pt-1 pb-2 wrap>
|
|
<v-flex pt-1 pb-1 pl-2 sm6 xs12>
|
|
<v-text-field ma-1
|
|
label="NAMA PASIEN"
|
|
class="text-uppercase"
|
|
:value="patient.patient_fullname"
|
|
hide-details
|
|
readonly
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex pt-1 pb-1 pl-2 xs4 sm2>
|
|
<v-text-field ma-1
|
|
label="JENIS KELAMIN"
|
|
class="text-uppercase"
|
|
:value="patient.sexname"
|
|
hide-details
|
|
readonly
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex pt-1 pb-1 pl-2 sm4 xs8>
|
|
<v-text-field ma-1
|
|
label="UMUR"
|
|
class="text-uppercase"
|
|
:value="patient.umur"
|
|
:title="patient.dob"
|
|
hide-details
|
|
readonly
|
|
></v-text-field>
|
|
</v-flex>
|
|
<!--<v-flex pt-1 pb-1 pl-2 pr-1 xs3>
|
|
<v-text-field ma-1
|
|
label="PENGIRIM"
|
|
class="text-uppercase"
|
|
:value="patient.doctor_fullname"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>-->
|
|
</v-layout>
|
|
</v-card>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout mb-2 row v-for="(test,index) in xtests" :key="index" wrap>
|
|
<v-flex xs12 pr-1>
|
|
<v-card>
|
|
<v-layout row>
|
|
<v-flex xs12>
|
|
<v-subheader red--text text--lighten-1>
|
|
<v-chip class="hidden-xs-only" v-if="test.status === 'NEW'" label color="grey" text-color="white">
|
|
<v-icon left>label</v-icon>{{test.test_name}}
|
|
</v-chip>
|
|
<v-chip class="hidden-xs-only" v-if="test.status === 'VAL1'" label color="warning" text-color="white">
|
|
<v-icon left>label</v-icon>{{test.test_name}}
|
|
</v-chip>
|
|
<v-chip class="hidden-xs-only" v-if="test.status === 'VAL2'" label color="success" text-color="white">
|
|
<v-icon left>label</v-icon>{{test.test_name}}
|
|
</v-chip>
|
|
<v-chip class="hidden-xs-only" v-if="test.status_name === 'NO TEMPLATE'" label color="black" text-color="white">
|
|
<v-icon left>label</v-icon>{{test.test_name}}
|
|
</v-chip>
|
|
<v-chip v-if="test.doctor_fullname != ''" @click="opendialogdoctor(test)" label color="info" outline >
|
|
<v-icon left>assignment_ind</v-icon>{{test.doctor_fullname}}
|
|
</v-chip>
|
|
|
|
<v-spacer></v-spacer>
|
|
|
|
<span v-if="check_saved(test)" @click="print(test,'print',test.template_name)" class="icon-medium-fill-base-small xs1 white--text blue-grey icon-print"></span>
|
|
<span v-if="test.status === 'VAL1'" @click="unval1(test,'unval1')" class="hidden-xs-only icon-medium-fill-base-small xs1 white--text warning icon-unval"></span>
|
|
<span v-if="test.status === 'NEW' && check_saved(test)" @click="val1(test,'val1')" class="hidden-xs-only icon-medium-fill-base-small xs1 white--text warning icon-v"></span>
|
|
<span v-if="test.status === 'NEW'" @click="saveResult(test,'save')" class="icon-medium-fill-base-small xs1 white--text info icon-save"></span>
|
|
|
|
</v-subheader>
|
|
<v-divider></v-divider>
|
|
|
|
<v-layout v-if="test.status_name === 'NO TEMPLATE'" row wrap>
|
|
<v-flex pa-3 xs12>
|
|
<h4 class="text-align-center font-weight-black title">TEMPLATE BELUM PERNAH TERCIPTA</h4>
|
|
<blockquote class="blockquote subheading font-weight-light font-italic">
|
|
Silahkan setting template pemeriksaan ini terlebih dahulu
|
|
<span class="font-weight-bold">Berikan aku template</span>, agar ku bisa mengisi.
|
|
</blockquote>
|
|
<p class="mt-2 pb-1 pr-5 caption warning--text">*) silahkan hubungi admin untuk setting template</p>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="test.template_flag_other === 'N' " row wrap>
|
|
<v-flex xs12 pa-2 mb-1 pt-1>
|
|
<v-layout align-center justify-center v-for="(result,idxresult) in test.details" :key="idxresult" row>
|
|
<v-flex pl-2 class="text-xs-center" xs1>
|
|
<v-switch
|
|
v-model="result.flag_print === 'Y'"
|
|
@change="changeFlagPrint(result.flag_print,idxresult,index)"
|
|
></v-switch>
|
|
|
|
</v-flex>
|
|
<v-flex xs11 pa-1>
|
|
<v-textarea
|
|
filled
|
|
outline
|
|
hide-details
|
|
:label="result.result_label"
|
|
@change="changeResult()"
|
|
:disabled="test.status !== 'NEW'"
|
|
v-model="result.result_value"
|
|
rows="3"
|
|
></v-textarea>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-divider v-if="test.template_flag_other === 'N' " ></v-divider>
|
|
<v-layout v-if="test.template_flag_other === 'N' " row wrap>
|
|
<v-flex xs12 pa-2 mb-1 pt-1>
|
|
<v-layout align-center justify-center row>
|
|
<v-flex xs12 pa-1>
|
|
<v-textarea
|
|
filled
|
|
outline
|
|
hide-details
|
|
label="Catatan"
|
|
:disabled="test.status !== 'NEW'"
|
|
v-model="test.note"
|
|
auto-grow
|
|
rows="2"
|
|
></v-textarea>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="test.template_flag_other === 'Y' && test.template_name.includes('Umum') " row wrap>
|
|
<v-flex xs12>
|
|
<v-card flat>
|
|
<v-stepper style="background:#2196f3" v-model="tab">
|
|
<v-stepper-header>
|
|
<template v-for="n in tabs_fisik">
|
|
<v-stepper-step
|
|
color="#ff5252"
|
|
:key="`${n.id}-step`"
|
|
:step="n.id"
|
|
editable
|
|
>
|
|
<span style="color:white">{{getnamelabel(n.name)}}</span>
|
|
</v-stepper-step>
|
|
<v-divider
|
|
class="x_step"
|
|
style="border-color:#fff"
|
|
v-if="n.id !== tabs_fisik.length"
|
|
:key="n.id"
|
|
></v-divider>
|
|
</template>
|
|
</v-stepper-header>
|
|
<v-stepper-items>
|
|
<v-stepper-content class="x_form" step="1">
|
|
<div v-for="(riwayat,idx_r) in riwayats" :key="idx_r">
|
|
<v-card class="mb-2">
|
|
<v-layout pb-2 row>
|
|
<v-flex xs12>
|
|
<v-subheader red--text text--lighten-1>
|
|
<v-btn class="hidden-xs-only" v-if="riwayat.show_all === 'N'" @click="toggleDetailRiwayat(idx_r)" style="min-width:30px;" small flat color="#fa8072"><v-icon small>add</v-icon></v-btn>
|
|
<v-btn class="hidden-xs-only" v-if="riwayat.show_all === 'Y'" @click="toggleDetailRiwayat(idx_r)" style="min-width:30px;" small flat color="#fa8072"><v-icon small>remove</v-icon></v-btn>
|
|
{{getnamelabel(riwayat.title)}}
|
|
|
|
<v-flex text-md-right>
|
|
<v-btn v-if="riwayat.flag_normal === 'N'" :disabled="cantedit" @click="changeFlagNormal(idx_r)" small color="error"><v-icon class="pr-1" small>close</v-icon> {{getnamelabel(riwayat.label_flag_normal)}}</v-btn>
|
|
<v-btn v-if="riwayat.flag_normal === 'Y'" :disabled="cantedit" @click="changeFlagNormal(idx_r)" small color="info"><v-icon class="pr-1" small>check</v-icon> {{getnamelabel(riwayat.label_flag_normal)}}</v-btn>
|
|
</v-flex>
|
|
</v-subheader>
|
|
<v-divider class="mb-2" ></v-divider>
|
|
<div v-if="riwayat.type_form === 'X'">
|
|
<v-layout v-if="riwayat.subtitle !== ''" class="pl-2 caption pb-2" row>{{riwayat.subtitle}}</v-layout>
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(r_detail,idx_detail) in generate_rows(riwayat.details)" :key="idx_detail" v-if="riwayat.show_all === 'Y'" wrap>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[0]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[0].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
@change="checkAnotherXCbx(r_detail[0].id_code,$event,idx_detail,idx_r)"
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs11>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[0].color && r_detail[0].color == 'red'}">{{getnamelabel(r_detail[0].label)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[1]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[1].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
@change="checkAnotherXCbx(r_detail[1].id_code,$event,idx_detail,idx_r)"
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs11>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[1].color && r_detail[1].color == 'red'}">{{getnamelabel(r_detail[1].label)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
|
|
<div v-if="riwayat.type_form === 'XV'">
|
|
<v-layout v-if="riwayat.subtitle !== ''" class="pl-2 caption pb-2" row>{{riwayat.subtitle}}</v-layout>
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(r_detail,idx_detail) in generate_rows(riwayat.details)" :key="idx_detail" v-if="riwayat.show_all === 'Y'" wrap>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[0]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[0].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[0].color && r_detail[0].color == 'red'}">{{getnamelabel(r_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[0].value"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[1]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[1].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[1].color && r_detail[1].color == 'red'}">{{getnamelabel(r_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[1].value"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
|
|
<div v-if="riwayat.type_form === 'XVS'">
|
|
<v-layout pl-2 v-for="(segment,idx_segment) in riwayat.details" :key="idx_segment" wrap>
|
|
<v-flex xs12>
|
|
<v-layout v-if="riwayat.show_all === 'Y'" row>{{getnamelabel(segment.name)}}</v-layout>
|
|
<v-layout v-if="riwayat.show_all === 'Y' && segment.caption && segment.caption !== ''" row><span class="caption red--text">{{segment.caption}}</span></v-layout>
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(r_detail,idx_detail) in generate_rows(segment.details)" :key="idx_detail" v-if="riwayat.show_all === 'Y'" wrap>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[0]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[0].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
@change="checkXVSRiwayatCbx(r_detail[0].id_code,$event,idx_segment,idx_r)"
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs5>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[0].color && r_detail[0].color == 'red'}">{{getnamelabel(r_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex v-if="!r_detail[0]['suffix']" xs6 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[0].value"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit || !r_detail[0].chx"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex v-if="r_detail[0]['suffix']" xs2 pl-1>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[0].value"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit || !r_detail[0].chx"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex v-if="r_detail[0]['suffix']" xs4 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(r_detail[0].suffix)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[1]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[1].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
@change="checkXVSRiwayatCbx(r_detail[1].id_code,$event,idx_segment,idx_r)"
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs5>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[1].color && r_detail[1].color == 'red'}" >{{getnamelabel(r_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs6 v-if="!r_detail[1]['suffix']" pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[1].value"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit || !r_detail[1].chx"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex v-if="r_detail[1]['suffix']" xs2 pl-1>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[1].value"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit || !r_detail[1].chx"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex v-if="r_detail[1]['suffix']" xs4 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(r_detail[1].suffix)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
|
|
<div v-if="riwayat.type_form === 'XO'">
|
|
<v-layout v-if="riwayat.subtitle !== ''" class="pl-2 caption pb-2" row>{{riwayat.subtitle}}</v-layout>
|
|
<v-layout v-if="riwayat.show_all === 'Y'" class="pl-2 caption pb-2" row>
|
|
<v-flex xs12 pa-1>
|
|
<v-layout align-center row>
|
|
<v-flex xs8 sm4></v-flex>
|
|
<v-flex class="text-xs-left" xs2 sm2>
|
|
Ayah
|
|
</v-flex>
|
|
<v-flex class="text-xs-left" xs2 sm2>
|
|
Ibu
|
|
</v-flex>
|
|
<!----<v-flex class="text-xs-left" xs2>
|
|
Saudara Kandung
|
|
</v-flex>
|
|
<v-flex class="text-xs-left" xs2>
|
|
Kakek/Nenek
|
|
</v-flex>
|
|
<v-flex class="text-xs-left" xs2>
|
|
Saudara Lainnya
|
|
</v-flex>-->
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(r_detail,idx_detail) in riwayat.details" :key="idx_detail" v-if="riwayat.show_all === 'Y'" wrap>
|
|
<v-flex xs12 pa-1>
|
|
<v-layout align-center row>
|
|
<v-flex xs8 sm4>{{getnamelabel(r_detail.label)}}</v-flex>
|
|
<v-flex xs2 sm2 class="text-xs-left" v-for="(opsi,idx_opsi) in r_detail.options" :key="idx_opsi">
|
|
<v-checkbox row
|
|
class="mt-0 pt-0 text-xs-left"
|
|
v-model="opsi.selected"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
|
|
|
|
</v-layout>
|
|
</div>
|
|
|
|
<div v-if="riwayat.type_form === 'XD'">
|
|
<v-layout pl-2 v-for="(segment,idx_segment) in riwayat.details" :key="idx_segment" mb-2 wrap>
|
|
<v-flex xs12>
|
|
<v-layout v-if="riwayat.show_all === 'Y'" row>{{getnamelabel(segment.label)}}</v-layout>
|
|
<v-layout v-if="riwayat.show_all === 'Y' && segment.caption && segment.caption !== ''" row><span class="caption red--text">{{segment.caption}}</span></v-layout>
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(r_detail,idx_detail) in generate_rows(segment.details)" :key="idx_detail" v-if="riwayat.show_all === 'Y'" wrap>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[0]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[0].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
@change="checkAnotherCbx(r_detail[0].id_code,$event,idx_segment,idx_r)"
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs6>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[0].color && r_detail[0].color == 'red'}">{{getnamelabel(r_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs5 v-if="r_detail[0].show_date" pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[0].value"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
:readonly="!r_detail[0].chx"
|
|
single-line
|
|
:placeholder="getnamelabel('DD/MM/YYYY')"
|
|
hide-details
|
|
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
<v-flex xs12 sm6 pa-1>
|
|
<v-layout v-if="r_detail[1]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="r_detail[1].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
color="red"
|
|
hide-details
|
|
@change="checkAnotherCbx(r_detail[1].id_code,$event,idx_segment,idx_r)"
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs6>
|
|
<span style="font-size:12px" :class="{'red--text':r_detail[1].color && r_detail[1].color == 'red'}">{{getnamelabel(r_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs5 v-if="r_detail[1].show_date" pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="r_detail[1].value"
|
|
:readonly="!r_detail[1].chx"
|
|
:disabled="riwayat.flag_normal === 'Y' || cantedit"
|
|
single-line
|
|
:placeholder="getnamelabel('DD/MM/YYYY')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-divider></v-divider>
|
|
<v-card-actions class="mr-3">
|
|
<v-spacer></v-spacer>
|
|
<v-btn v-if="riwayat.flag_normal === 'N'" :disabled="cantedit" @click="changeFlagNormal(idx_r)" small color="error"><v-icon class="pr-1" small>close</v-icon> {{getnamelabel(riwayat.label_flag_normal)}}</v-btn>
|
|
<v-btn v-if="riwayat.flag_normal === 'Y'" :disabled="cantedit" @click="changeFlagNormal(idx_r)" small color="info"><v-icon class="pr-1" small>check</v-icon> {{getnamelabel(riwayat.label_flag_normal)}}</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</div>
|
|
|
|
|
|
</v-stepper-content>
|
|
<v-stepper-content class="x_form" step="2">
|
|
<div v-for="(fisik,idx_f) in fisiks" :key="idx_f">
|
|
<v-card id="stepbar_x" ref="stepbar_x" class="mb-2 ">
|
|
<v-layout pb-2 row>
|
|
<v-flex xs12>
|
|
<v-subheader red--text text--lighten-1>
|
|
<v-btn class="hidden-xs-only" v-if="fisik.show_all === 'N'" @click="toggleDetailFisik(idx_f)" style="min-width:30px;" small flat color="#fa8072"><v-icon small>add</v-icon></v-btn>
|
|
<v-btn class="hidden-xs-only" v-if="fisik.show_all === 'Y'" @click="toggleDetailFisik(idx_f)" style="min-width:30px;" small flat color="#fa8072"><v-icon small>remove</v-icon></v-btn>
|
|
{{getnamelabel(fisik.title)}}
|
|
<v-flex text-md-right>
|
|
<v-btn v-if="fisik.details[0].table_name === 'status_gizi'" :disabled="cantedit" @click="changeStandartBMI(idx_f)" small color="info">{{fisik.standart_bmi}}</v-btn>
|
|
|
|
<v-btn v-if="fisik.type_form === 'TOOTH' && fisik.is_normal === 'Y'"
|
|
:disabled="cantedit"
|
|
style="color:white"
|
|
@click="changeStatusTooth(idx_f)"
|
|
small
|
|
color="info">
|
|
<v-icon class="pr-1" small>check</v-icon> {{getnamelabel('TIDAK DIPERIKSA')}}
|
|
</v-btn>
|
|
<v-btn v-if="fisik.type_form === 'TOOTH' && fisik.is_normal === 'N'"
|
|
:disabled="cantedit"
|
|
style="color:white"
|
|
@click="changeStatusTooth(idx_f)"
|
|
small
|
|
color="error">
|
|
<v-icon class="pr-1" small>close</v-icon> {{getnamelabel('TIDAK DIPERIKSA')}}
|
|
</v-btn>
|
|
|
|
<v-btn v-if="fisik.is_inspected && fisik.is_inspected === 'N'"
|
|
:disabled="cantedit"
|
|
style="color:white"
|
|
@click="changeStatusInspected(idx_f)"
|
|
small
|
|
color="info">
|
|
<v-icon class="pr-1" small>check</v-icon> {{getnamelabel('TIDAK DIPERIKSA')}}
|
|
</v-btn>
|
|
<v-btn v-if="fisik.is_inspected && fisik.is_inspected === 'Y'"
|
|
:disabled="cantedit"
|
|
style="color:white"
|
|
@click="changeStatusInspected(idx_f)"
|
|
small
|
|
color="error">
|
|
<v-icon class="pr-1" small>close</v-icon> {{getnamelabel('TIDAK DIPERIKSA')}}
|
|
</v-btn>
|
|
</v-flex>
|
|
</v-subheader>
|
|
<v-divider class="mb-2" ></v-divider>
|
|
<div v-if="fisik.type_form === 'TOOTH'" >
|
|
<v-layout wrap v-if="fisik.show_all === 'Y'" >
|
|
<v-flex pl-2 pt-2 pb-2 pr-2 xs12>
|
|
<v-layout row>
|
|
<v-flex xs12>
|
|
<table>
|
|
<!--<tr>
|
|
<th colspan="18">Gigi Geligi</th>
|
|
</tr>-->
|
|
<tr class="bggrey">
|
|
<th></th>
|
|
<th class="text-xs-center" colspan="8">{{getnamelabel('GIGI KANAN')}}</th>
|
|
<th class="text-xs-center" colspan="8">{{getnamelabel('GIGI KIRI')}}</th>
|
|
<th></th>
|
|
</tr>
|
|
<tr>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
<th v-for="gigiatasketiga in fisik.details[0].details" class="thgigi">
|
|
<input
|
|
type="text"
|
|
:disabled="cantedit || fisik.is_normal === 'Y'"
|
|
v-model="gigiatasketiga.value"
|
|
|
|
@change="changeToothValue('atasketiga',gigiatasketiga,idx_f)"
|
|
v-bind:class="{'background-black':gigiatasketiga.value.toUpperCase() === 'X','background-teal':gigiatasketiga.value.toUpperCase() === 'C','background-brown':gigiatasketiga.value.toUpperCase() === 'R','background-red':gigiatasketiga.value.toUpperCase() === 'O','background-yellow-accent-4':gigiatasketiga.value.toUpperCase() === 'A','background-info':gigiatasketiga.value.toUpperCase() === 'K','background-purple':gigiatasketiga.value.toUpperCase() === 'I'}"
|
|
class="input_gigi mono"
|
|
:readonly="!cantedit && fisik.is_normal !== 'Y'"
|
|
@click="openChooseToothDialog('atasketiga',gigiatasketiga,idx_f)"
|
|
/>
|
|
</th>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
</tr>
|
|
<tr>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
<th v-for="gigiataskedua in fisik.details[1].details" class="thgigi">
|
|
<input
|
|
type="text"
|
|
v-model="gigiataskedua.value"
|
|
:disabled="cantedit || fisik.is_normal === 'Y'"
|
|
@change="changeToothValue('ataskedua',gigiataskedua,idx_f)"
|
|
v-bind:class="{'background-black':gigiataskedua.value.toUpperCase() === 'X','background-teal':gigiataskedua.value.toUpperCase() === 'C','background-brown':gigiataskedua.value.toUpperCase() === 'R','background-red':gigiataskedua.value.toUpperCase() === 'O','background-yellow-accent-4':gigiataskedua.value.toUpperCase() === 'A','background-info':gigiataskedua.value.toUpperCase() === 'K','background-purple':gigiataskedua.value.toUpperCase() === 'I'}"
|
|
class="input_gigi mono"
|
|
:readonly="!cantedit && fisik.is_normal !== 'Y'"
|
|
@click="openChooseToothDialog('ataskedua',gigiataskedua,idx_f)"
|
|
/>
|
|
</th>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
</tr>
|
|
<tr>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
<th v-for="gigiatas in fisik.details[2].details" class="thgigi">
|
|
<input
|
|
type="text"
|
|
v-model="gigiatas.value"
|
|
:disabled="cantedit || fisik.is_normal === 'Y'"
|
|
@change="changeToothValue('atas',gigiatas,idx_f)"
|
|
v-bind:class="{'background-black':gigiatas.value.toUpperCase() === 'X','background-teal':gigiatas.value.toUpperCase() === 'C','background-brown':gigiatas.value.toUpperCase() === 'R','background-red':gigiatas.value.toUpperCase() === 'O','background-yellow-accent-4':gigiatas.value.toUpperCase() === 'A','background-info':gigiatas.value.toUpperCase() === 'K','background-purple':gigiatas.value.toUpperCase() === 'I'}"
|
|
class="input_gigi mono"
|
|
:readonly="!cantedit && fisik.is_normal !== 'Y'"
|
|
@click="openChooseToothDialog('atas',gigiatas,idx_f)"
|
|
/>
|
|
</th>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
</tr>
|
|
<tr class="bggrey">
|
|
<th>{{getnamelabel('ATAS')}}</th>
|
|
<th v-for="gigiatas in fisik.details[0].details" class="thgigi">
|
|
{{gigiatas.label}}
|
|
</th>
|
|
<th>{{getnamelabel('ATAS')}}</th>
|
|
</tr>
|
|
<tr class="bggrey">
|
|
<th>{{getnamelabel('BAWAH')}}</th>
|
|
<th v-for="gigibawah in fisik.details[1].details" class="thgigi">
|
|
{{gigibawah.label}}
|
|
</th>
|
|
<th>{{getnamelabel('BAWAH')}}</th>
|
|
</tr>
|
|
<tr>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
<th v-for="gigibawah in fisik.details[3].details" class="thgigi">
|
|
<input
|
|
type="text"
|
|
v-model="gigibawah.value"
|
|
:disabled="cantedit || fisik.is_normal === 'Y'"
|
|
@change="changeToothValue('bawah',gigibawah,idx_f)"
|
|
v-bind:class="{'background-black':gigibawah.value.toUpperCase() === 'X','background-teal':gigibawah.value.toUpperCase() === 'C','background-brown':gigibawah.value.toUpperCase() === 'R','background-red':gigibawah.value.toUpperCase() === 'O','background-yellow-accent-4':gigibawah.value.toUpperCase() === 'A','background-info':gigibawah.value.toUpperCase() === 'K','background-purple':gigibawah.value.toUpperCase() === 'I'}"
|
|
class="input_gigi mono"
|
|
:readonly="!cantedit && fisik.is_normal !== 'Y'"
|
|
@click="openChooseToothDialog('bawah',gigibawah,idx_f)"/>
|
|
</th>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
</tr>
|
|
<tr>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
<th v-for="gigibawahkedua in fisik.details[4].details" class="thgigi">
|
|
<input
|
|
type="text"
|
|
v-model="gigibawahkedua.value"
|
|
:disabled="cantedit || fisik.is_normal === 'Y'"
|
|
@change="changeToothValue('bawahkedua',gigibawahkedua,idx_f)"
|
|
v-bind:class="{'background-black':gigibawahkedua.value.toUpperCase() === 'X','background-teal':gigibawahkedua.value.toUpperCase() === 'C','background-brown':gigibawahkedua.value.toUpperCase() === 'R','background-red':gigibawahkedua.value.toUpperCase() === 'O','background-yellow-accent-4':gigibawahkedua.value.toUpperCase() === 'A','background-info':gigibawahkedua.value.toUpperCase() === 'K','background-purple':gigibawahkedua.value.toUpperCase() === 'I'}"
|
|
class="input_gigi mono"
|
|
:readonly="!cantedit && fisik.is_normal !== 'Y'"
|
|
@click="openChooseToothDialog('bawahkedua',gigibawahkedua,idx_f)"
|
|
/>
|
|
</th>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
</tr>
|
|
<tr>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
<th v-for="gigibawahketiga in fisik.details[5].details" class="thgigi">
|
|
<input
|
|
type="text"
|
|
v-model="gigibawahketiga.value"
|
|
:disabled="cantedit || fisik.is_normal === 'Y'"
|
|
@change="changeToothValue('bawahketiga',gigibawahketiga,idx_f)"
|
|
v-bind:class="{'background-black':gigibawahketiga.value.toUpperCase() === 'X','background-teal':gigibawahketiga.value.toUpperCase() === 'C','background-brown':gigibawahketiga.value.toUpperCase() === 'R','background-red':gigibawahketiga.value.toUpperCase() === 'O','background-yellow-accent-4':gigibawahketiga.value.toUpperCase() === 'A','background-info':gigibawahketiga.value.toUpperCase() === 'K','background-purple':gigibawahketiga.value.toUpperCase() === 'I'}"
|
|
class="input_gigi mono"
|
|
:readonly="!cantedit && fisik.is_normal !== 'Y'"
|
|
@click="openChooseToothDialog('bawahketiga',gigibawahketiga,idx_f)"
|
|
/>
|
|
</th>
|
|
<th>{{getnamelabel('KODE')}}</th>
|
|
</tr>
|
|
<tr class="bggrey">
|
|
<th></th>
|
|
<th class="text-xs-center" colspan="8">{{getnamelabel('GIGI KANAN')}}</th>
|
|
<th class="text-xs-center" colspan="8">{{getnamelabel('GIGI KIRI')}}</th>
|
|
<th></th>
|
|
</tr>
|
|
</table>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout align-center pt-4 pl-2 row>
|
|
<v-flex d-flex><h4>{{getnamelabel('KETERANGAN KODE')}} :</h4></v-flex>
|
|
</v-layout>
|
|
<v-layout align-center pt-3 pl-2 pb-3 row>
|
|
<v-flex xs3>
|
|
<v-layout align-center row>
|
|
<v-flex xs4>
|
|
<v-btn small style="min-width:35px;margin:0" dark color="black">
|
|
X
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs8>
|
|
<h5>{{getnamelabel('BERLUBANG')}}</h5>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<v-layout align-center row>
|
|
<v-flex xs4>
|
|
<v-btn small style="min-width:35px;margin:0" dark color="teal">
|
|
C
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs8>
|
|
<h5>{{getnamelabel('TAMBALAN')}}</h5>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<v-layout align-center row>
|
|
<v-flex xs4>
|
|
<v-btn small style="min-width:35px;margin:0" dark color="red">
|
|
O
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs8>
|
|
<h5>{{getnamelabel('TANGGAL')}}</h5>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<v-layout align-center row>
|
|
<v-flex xs4>
|
|
<v-btn small style="min-width:35px;margin:0" dark color="brown">
|
|
R
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs8>
|
|
<h5>{{getnamelabel('SISA AKAR')}}</h5>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
<v-layout align-center pt-3 pl-2 pb-3 row>
|
|
<v-flex xs3>
|
|
<v-layout align-center row>
|
|
<v-flex xs4>
|
|
<v-btn small style="min-width:35px;margin:0" dark color="yellow accent-4">
|
|
A
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs8>
|
|
<h5>{{getnamelabel('GIGI PALSU')}}</h5>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<v-layout align-center row>
|
|
<v-flex xs4>
|
|
<v-btn small style="min-width:35px;margin:0" dark color="info">
|
|
K
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs8>
|
|
<h5>{{getnamelabel('KARANG GIGI')}}</h5>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<v-layout align-center row>
|
|
<v-flex xs4>
|
|
<v-btn small style="min-width:35px;margin:0" dark color="purple">
|
|
I
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs8>
|
|
<h5>{{getnamelabel('IMPAKSI')}}</h5>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
<div v-if="fisik.type_form === 'XV'">
|
|
<!--<v-layout v-if="riwayat.subtitle !== ''" class="pl-2 caption pb-2" row>{{riwayat.subtitle}}</v-layout>-->
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in generate_rows(fisik.details)" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[0]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_detail[0].chx"
|
|
@change="changeXVChx(idx_f,f_detail[0])"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[0].value"
|
|
@change="changeXVChx(idx_f,f_detail[0])"
|
|
:disabled="cantedit"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[1]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_detail[1].chx"
|
|
@change="changeXVChx(idx_f,f_detail[1])"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[1].value"
|
|
@change="changeXVChx(idx_f,f_detail[1])"
|
|
:disabled="cantedit"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
<div v-if="fisik.type_form === 'V'">
|
|
<!--<v-layout v-if="riwayat.subtitle !== ''" class="pl-2 caption pb-2" row>{{riwayat.subtitle}}</v-layout>-->
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in generate_rows(fisik.details)" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[0]" align-center row>
|
|
<v-flex xs4>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs5>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_detail[0].value"
|
|
outline
|
|
|
|
:disabled="cantedit"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_detail[0].unit)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[1]" align-center row>
|
|
<v-flex xs4>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs5>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_detail[1].value"
|
|
outline
|
|
|
|
:disabled="cantedit"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_detail[1].unit)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
|
|
<div v-if="fisik.type_form === 'XVS'">
|
|
<v-layout pl-2 v-for="(segment,idx_s) in fisik.details" wrap>
|
|
<v-flex xs12>
|
|
<v-layout v-if="fisik.show_all === 'Y'" row>{{getnamelabel(segment.name)}}</v-layout>
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in generate_rows(segment.details)" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[0]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_detail[0].chx"
|
|
@change="changeXVSChx(idx_f,idx_s,f_detail[0])"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[0].value"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[1]" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_detail[1].chx"
|
|
@change="changeXVSChx(idx_f,idx_s,f_detail[1])"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[1].value"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
|
|
<div v-if="fisik.type_form === 'XVS3R'">
|
|
<v-layout pl-2 v-for="(segment,idx_s) in fisik.details" wrap>
|
|
<v-flex xs12>
|
|
<v-layout v-if="fisik.show_all === 'Y'" row>{{getnamelabel(segment.name)}}</v-layout>
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in generate_rows(segment.details)" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[0] && f_detail[0].type_form === 'XVS'" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_detail[0].chx"
|
|
@change="changeXVSChx(idx_f,idx_s,f_detail[0])"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[0].value"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="f_detail[0] && f_detail[0].type_form === 'V'" align-center row>
|
|
<v-flex xs6>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[0].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs6 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[0].value"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
single-line
|
|
|
|
hide-details
|
|
:suffix="getnamelabel(f_detail[0].unit)"
|
|
></v-text-field>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
<v-flex sm6 xs12 pa-1>
|
|
<v-layout v-if="f_detail[1] && f_detail[1].type_form === 'V'" align-center row>
|
|
<v-flex xs6>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs6 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[1].value"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
single-line
|
|
|
|
hide-details
|
|
:suffix="getnamelabel(f_detail[1].unit)"
|
|
></v-text-field>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
|
|
<v-layout v-if="f_detail[1] && f_detail[1].type_form === 'XVS'" align-center row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_detail[1].chx"
|
|
@change="changeXVSChx(idx_f,idx_s,f_detail[1])"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs7>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[1].label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
v-model="f_detail[1].value"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
single-line
|
|
:placeholder="getnamelabel('Keterangan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="f_detail[1] && f_detail[1].type_form === 'XVS-LXX'" align-center row>
|
|
<v-flex xs12>
|
|
<v-layout row>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_detail[1].chx"
|
|
@change="changeXVSChxLXX(idx_f,idx_s,f_detail[1])"
|
|
:disabled="cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs11>
|
|
<span style="font-size:12px" >{{getnamelabel(f_detail[1].label)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout row>
|
|
|
|
<v-flex class="pl-4" xs12>
|
|
<v-layout v-for="(value_perut_14, idx_perut_14) in f_detail[1].details" class="pa-2" row>
|
|
<v-flex xs6 pl-4><span style="font-size:12px" >{{value_perut_14.label}}</span></v-flex>
|
|
<v-flex v-if="_.has(value_perut_14, 'chx_a_value')" xs3>
|
|
<v-checkbox row
|
|
|
|
class="mt-0 pt-0"
|
|
color="red"
|
|
label="D"
|
|
v-model="value_perut_14.chx_a_value"
|
|
:disabled="!f_detail[1].chx || cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex v-if="_.has(value_perut_14, 'chx_b_value')" xs3>
|
|
<v-checkbox row
|
|
|
|
class="mt-0 pt-0"
|
|
color="red"
|
|
label="S"
|
|
v-model="value_perut_14.chx_b_value"
|
|
:disabled="!f_detail[1].chx || cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex v-if="_.has(value_perut_14, 'chx_value')" xs6>
|
|
<v-checkbox row
|
|
|
|
class="mt-0 pt-0"
|
|
color="red"
|
|
label=""
|
|
v-model="value_perut_14.chx_value"
|
|
:disabled="!f_detail[1].chx || cantedit || (fisik.is_inspected && fisik.is_inspected === 'N')"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
|
|
<div v-if="fisik.type_form === 'VXX'" >
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in generate_rows(fisik.details)" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex v-for="f_cols in f_detail" sm6 xs12 pa-1>
|
|
<v-layout v-if="f_cols.type === 'vxx-v'" align-center row>
|
|
<v-flex xs4>
|
|
<span style="font-size:12px" >{{getnamelabel(f_cols.label)}}</span>
|
|
</v-flex>
|
|
<v-flex xs5>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_cols.value"
|
|
outline
|
|
@change="changeVXXValue(idx_f,f_cols)"
|
|
:disabled="cantedit"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.unit)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="f_cols.type === 'vxx-xx'" align-center row>
|
|
<v-flex xs4><span style="font-size:12px" >{{getnamelabel(f_cols.label)}}</span></v-flex>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_cols.chx_y"
|
|
@change="changeVXXChx(idx_f,f_cols,'y')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.label_y)}}</span>
|
|
</v-flex>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_cols.chx_x"
|
|
@change="changeVXXChx(idx_f,f_cols,'x')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.label_x)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
<div v-if="fisik.type_form === 'VXX+'" >
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in generate_rows(fisik.details)" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex v-for="f_cols in f_detail" sm6 xs12 pa-1>
|
|
<v-layout v-if="f_cols.type === 'vxx-vv'" align-center row>
|
|
<v-flex xs4>
|
|
<span style="font-size:12px" >{{getnamelabel(f_cols.label)}}</span><br/>
|
|
<v-btn @click="changStandartTensi(idx_f,f_cols)"
|
|
style="font-size:10px;height: 20px;width: auto;min-width: 5px;margin: 0;"
|
|
small
|
|
v-if="f_cols.standart !== ''"
|
|
color="info">
|
|
{{f_cols.standart}}
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex xs4>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_cols.value"
|
|
outline
|
|
@change="changeVXXValuePlus(idx_f,f_cols)"
|
|
:disabled="cantedit"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
<span v-if="f_cols.standart !==''" class='d-flex mt-1'
|
|
style="font-size:10px;font-weight:600"
|
|
:class="getcolortensi(f_cols)">{{getnamelabel(f_cols.value_x)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.unit)}}</span>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
<v-layout v-if="f_cols.type === 'vxx-vv2r'" align-center row>
|
|
<v-flex xs4>
|
|
<span style="font-size:12px" >{{getnamelabel(f_cols.label)}}</span><br/>
|
|
<v-btn @click="changStandartTensi(idx_f,f_cols)"
|
|
style="font-size:10px;height: 20px;width: auto;min-width: 5px;margin: 0;"
|
|
small
|
|
v-if="f_cols.standart !== ''"
|
|
color="info">
|
|
{{f_cols.standart}}
|
|
</v-btn>
|
|
</v-flex>
|
|
<v-flex style="margin-left:-8px" xs8>
|
|
<v-layout class="pa-2 pl-0" align-center row>
|
|
<!--<v-flex xs3>
|
|
<span style="font-size:12px" >{{getnamelabel(f_cols.label_x)}}</span>
|
|
</v-flex>-->
|
|
<v-flex xs9>
|
|
<v-text-field
|
|
:suffix="getnamelabel(f_cols.label_x)"
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_cols.value_x"
|
|
outline
|
|
@change="changeVXXValuePlus2R(idx_f,f_cols)"
|
|
:disabled="cantedit"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.unit)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout class="pa-2 pl-0" align-center row>
|
|
<!--<v-flex xs3>
|
|
<span style="font-size:12px" >{{getnamelabel(f_cols.label_y)}}</span>
|
|
</v-flex>-->
|
|
<v-flex xs9>
|
|
<v-text-field
|
|
:suffix="getnamelabel(f_cols.label_y)"
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_cols.value_y"
|
|
outline
|
|
@change="changeVXXValuePlus2R(idx_f,f_cols)"
|
|
:disabled="cantedit"
|
|
single-line
|
|
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.unit)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
<span v-if="f_cols.standart !==''" class='d-flex mt-1 pl-2'
|
|
style="font-size:10px;font-weight:600"
|
|
:class="getcolortensi(f_cols)">{{getnamelabel(f_cols.value)}}</span>
|
|
</v-flex>
|
|
<!--<v-flex xs4>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_cols.value"
|
|
outline
|
|
@change="changeVXXValuePlus(idx_f,f_cols)"
|
|
:disabled="cantedit"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
<span v-if="f_cols.standart !==''" class='d-flex mt-1'
|
|
style="font-size:10px;font-weight:600"
|
|
:class="getcolortensi(f_cols)">{{getnamelabel(f_cols.value_x)}}</span>
|
|
</v-flex>
|
|
<v-flex xs2 pl-1>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.unit)}}</span>
|
|
</v-flex>-->
|
|
|
|
</v-layout>
|
|
<v-layout v-if="f_cols.type === 'vxx-xx'" align-center row>
|
|
<v-flex xs4><span style="font-size:12px" >{{getnamelabel(f_cols.label)}}</span></v-flex>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_cols.chx_y"
|
|
@change="changeVXXChx(idx_f,f_cols,'y')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.label_y)}}</span>
|
|
</v-flex>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_cols.chx_x"
|
|
@change="changeVXXChx(idx_f,f_cols,'x')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.label_x)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="f_cols.type === 'vxx-xv'" align-center row>
|
|
<v-flex xs4><span style="font-size:12px" >{{getnamelabel(f_cols.label)}}</span></v-flex>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_cols.chx_x"
|
|
@change="changeVXXChx(idx_f,f_cols,'x')"
|
|
:disabled="cantedit || f_cols.value !== ''"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.label_x)}}</span>
|
|
</v-flex>
|
|
<v-flex xs4 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_cols.value"
|
|
outline
|
|
@change="changeVXXValuePlusV(idx_f,f_cols)"
|
|
:disabled="cantedit || f_cols.chx_x"
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="f_cols.type === 'vxx-xxv2r'" align-center row>
|
|
<v-flex xs12>
|
|
<v-layout class="mb-2" row>
|
|
<v-flex xs4><span style="font-size:12px" >{{getnamelabel(f_cols.label)}}</span></v-flex>
|
|
<v-flex xs8 pr-3>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_cols.value"
|
|
:disabled="f_cols.disable_value === 'Y' || cantedit"
|
|
outline
|
|
single-line
|
|
hide-details
|
|
:suffix="f_cols.unit_name"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout row>
|
|
<v-flex xs4></v-flex>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_cols.chx_x"
|
|
@change="changeVXXChx(idx_f,f_cols,'x')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.label_x)}}</span>
|
|
</v-flex>
|
|
<v-flex xs1>
|
|
<v-checkbox row
|
|
class="mt-0 pt-0"
|
|
v-model="f_cols.chx_y"
|
|
@change="changeVXXChx(idx_f,f_cols,'y')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<span class="mono" style="font-size:12px" >{{getnamelabel(f_cols.label_y)}}</span>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
<div v-if="fisik.type_form === 'XXV'" >
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in fisik.details" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex xs12 pa-1>
|
|
<v-layout align-center wrap>
|
|
<v-flex sm4 xs12><span style="font-size:12px" >{{getnamelabel(f_detail.label)}}</span></v-flex>
|
|
<v-flex sm2 xs3>
|
|
<v-layout align-center>
|
|
<v-checkbox
|
|
class="mt-0 pt-0 shrink mr-2"
|
|
style="width:15px"
|
|
v-model="f_detail.chx_y"
|
|
@change="changeXXVChx(idx_f,f_detail,'y')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
<span class="mono pl-1" style="font-size:12px" >{{getnamelabel(f_detail.label_y)}}</span>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex sm2 xs3>
|
|
<v-layout align-center>
|
|
<v-checkbox
|
|
class="mt-0 pt-0 shrink mr-2"
|
|
style="width:15px"
|
|
v-model="f_detail.chx_x"
|
|
@change="changeXXVChx(idx_f,f_detail,'x')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
<span class="mono pl-1" style="font-size:12px" >{{getnamelabel(f_detail.label_x)}}</span>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex sm4 xs6 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_detail.value"
|
|
:disabled="f_detail.disable_value === 'Y' || cantedit"
|
|
outline
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
<div v-if="fisik.type_form === 'XXVWL'" >
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(f_detail,kdx_detail) in fisik.details" v-if="fisik.show_all === 'Y'" wrap>
|
|
<v-flex xs12 pa-1>
|
|
<v-layout align-center row>
|
|
<v-flex xs3>
|
|
<v-layout align-center>
|
|
<v-checkbox
|
|
class="mt-0 pt-0 shrink mr-2"
|
|
style="width:15px"
|
|
v-model="f_detail.chx_y"
|
|
@change="changeXXVChx(idx_f,f_detail,'y')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
<span class="mono pl-1" style="font-size:12px" >{{getnamelabel(f_detail.label_y)}}</span>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs3>
|
|
<v-layout align-center>
|
|
<v-checkbox
|
|
class="mt-0 pt-0 shrink mr-2"
|
|
style="width:15px"
|
|
v-model="f_detail.chx_x"
|
|
@change="changeXXVChx(idx_f,f_detail,'x')"
|
|
:disabled="cantedit"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
<span class="mono pl-1" style="font-size:12px" >{{getnamelabel(f_detail.label_x)}}</span>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs6 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
v-model="f_detail.value"
|
|
:disabled="f_detail.disable_value === 'Y' || cantedit"
|
|
outline
|
|
single-line
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</div>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</div>
|
|
<v-card>
|
|
<v-layout row>
|
|
<v-flex xs12>
|
|
<v-subheader red--text text--lighten-1> {{getnamelabel('SARAN')}}</v-subheader>
|
|
<v-divider></v-divider>
|
|
<v-layout row wrap>
|
|
<v-flex xs12 pa-2>
|
|
<v-text-field
|
|
v-model="umum_saran"
|
|
:label="getnamelabel('Isikan saran')+'...'"
|
|
:disabled="cantedit"
|
|
outline
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</v-stepper-content>
|
|
|
|
<v-stepper-content class="x_form" step="3">
|
|
<div v-if="patient.details[0].template_name === 'Fisik Umum K3'" v-for="(k3,idx_k) in k3s">
|
|
<v-card class="mb-2">
|
|
<v-layout pb-2 row>
|
|
<v-flex xs12>
|
|
<v-subheader red--text text--lighten-1>
|
|
<v-btn v-if="k3.show_all === 'N'" @click="toggleDetailK3(idx_k)" style="min-width:30px;" small flat color="#fa8072"><v-icon small>add</v-icon></v-btn>
|
|
<v-btn v-if="k3.show_all === 'Y'" @click="toggleDetailK3(idx_k)" style="min-width:30px;" small flat color="#fa8072"><v-icon small>remove</v-icon></v-btn>
|
|
{{getnamelabel(k3.title)}}
|
|
|
|
<v-flex text-md-right>
|
|
|
|
|
|
<v-btn v-if="k3.is_notexist === 'Y'"
|
|
:disabled="cantedit"
|
|
style="color:white"
|
|
@click="changeExistPajanan(idx_k)"
|
|
small
|
|
color="info">
|
|
<v-icon class="pr-1" small>check</v-icon> {{getnamelabel(k3.label_notexist)}}
|
|
</v-btn>
|
|
<v-btn v-if="k3.is_notexist === 'N'"
|
|
:disabled="cantedit"
|
|
style="color:white"
|
|
@click="changeExistPajanan(idx_k)"
|
|
small
|
|
color="error">
|
|
<v-icon class="pr-1" small>close</v-icon> {{getnamelabel(k3.label_notexist)}}
|
|
</v-btn>
|
|
</v-flex>
|
|
</v-subheader>
|
|
<v-divider class="mb-2" ></v-divider>
|
|
<div v-if="k3.type_form === 'XVV'">
|
|
<!--<v-layout v-if="riwayat.subtitle !== ''" class="pl-2 caption pb-2" row>{{riwayat.subtitle}}</v-layout>-->
|
|
<v-layout pl-2 pb-1 pt-1 v-for="(k_detail,idk_detail) in k3.details" v-if="k3.show_all === 'Y'" wrap>
|
|
<v-flex xs12>
|
|
<v-layout align-center row>
|
|
<v-flex xs12>
|
|
<v-layout align-center>
|
|
<v-checkbox
|
|
style="width:15px"
|
|
class="mt-0 pt-0 shrink mr-2"
|
|
:disabled="cantedit || k3.is_notexist === 'Y'"
|
|
v-model="k_detail.chx"
|
|
color="red"
|
|
hide-details
|
|
></v-checkbox>
|
|
<span class="pl-2" style="font-size:12px" >{{getnamelabel(k_detail.label)}}</span>
|
|
</v-layout>
|
|
</v-flex>
|
|
<!----<v-flex xs3 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
:disabled="cantedit || k3.is_notexist === 'Y'"
|
|
v-model="k_detail.value_sumber"
|
|
single-line
|
|
:placeholder="getnamelabel('Sumber')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>-->
|
|
<!----<v-flex xs3 pl-1 pr-2>
|
|
<v-text-field
|
|
style="font-size:12px;margin-top:0;padding-top:0;line-height:25px!important"
|
|
outline
|
|
:disabled="cantedit || k3.is_notexist === 'Y'"
|
|
v-model="k_detail.value_lama"
|
|
single-line
|
|
:placeholder="getnamelabel('Lama Pajanan')"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>-->
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
</div>
|
|
|
|
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</div>
|
|
|
|
<div v-if="patient.details[0].template_name === 'UMUM_KONSUL'" >
|
|
<v-card>
|
|
<v-layout row>
|
|
<v-flex xs12>
|
|
<v-subheader red--text text--lighten-1> {{getnamelabel('KONSULTASI')}}</v-subheader>
|
|
<v-divider></v-divider>
|
|
<v-layout row wrap>
|
|
<v-flex xs12 pa-2>
|
|
<v-textarea
|
|
v-for="(xkonsul,i) in konsul" :key="i"
|
|
v-model="xkonsul.result"
|
|
:label="getnamelabel(xkonsul.label).toUpperCase()"
|
|
:disabled="cantedit"
|
|
auto-grow
|
|
outline
|
|
></v-textarea>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</div>
|
|
|
|
|
|
</v-stepper-content>
|
|
</v-stepper-items>
|
|
</v-stepper>
|
|
|
|
<v-card-actions>
|
|
<v-fab-transition>
|
|
<v-btn
|
|
color="warning"
|
|
dark
|
|
absolute
|
|
bottom
|
|
right
|
|
fab
|
|
|
|
@click="goToUp()"
|
|
>
|
|
<v-icon>expand_less</v-icon>
|
|
</v-btn>
|
|
</v-fab-transition>
|
|
<v-btn
|
|
color="error"
|
|
@click="backStep(tab)"
|
|
flat
|
|
v-if="tab > 1"
|
|
>
|
|
Kembali
|
|
</v-btn>
|
|
<v-btn
|
|
color="error"
|
|
@click="nextStep(tab)"
|
|
flat
|
|
v-if="tab < tabs_fisik.length"
|
|
>
|
|
Lanjutkan
|
|
</v-btn>
|
|
<v-spacer></v-spacer>
|
|
<v-btn v-if="search_lab_no !== '' && tab === tabs_fisik.length" dark color="#2196f3" large @click="saveResult(test,'save')">Simpan</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="test.template_flag_other === 'Y' && test.template_name.includes('6MWT') " row wrap>
|
|
<v-flex xs12>
|
|
<v-layout pt-1 pb-2 row>
|
|
<v-flex pt-1 pb-1 pl-2 pr-2 xs4>
|
|
<v-text-field
|
|
label="BERAT BADAN (KG)"
|
|
v-model="data_6mwt.bb"
|
|
:disabled="cantedit"
|
|
@change="countBMI6mwt()"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex pt-1 pb-1 pl-2 pr-2 xs4>
|
|
<v-text-field
|
|
label="TINGGI BADAN (CM)"
|
|
v-model="data_6mwt.tb"
|
|
:disabled="cantedit"
|
|
@change="countBMI6mwt()"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex pt-1 pb-1 pl-2 pr-2 xs4>
|
|
<v-text-field
|
|
label="BMI (KG/M^2)"
|
|
v-model="data_6mwt.bmi"
|
|
:disabled="cantedit"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pt-1 pb-2 row>
|
|
<v-flex pt-1 pb-1 pl-2 pr-2 xs6>
|
|
<v-text-field
|
|
label="JARAK 1 PUTARAN (METER)"
|
|
v-model="data_6mwt.distance"
|
|
:disabled="cantedit"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
<v-flex pt-1 pb-1 pl-2 pr-2 xs6>
|
|
<v-text-field
|
|
label="JUMLAH PUTARAN (PUTARAN)"
|
|
v-model="data_6mwt.rounds"
|
|
:disabled="cantedit"
|
|
hide-details
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-divider class="mt-2 mb-2"></v-divider>
|
|
<v-layout pt-1 pb-2 row>
|
|
<v-flex pt-1 pb-1 pl-2 pr-1 xs6>
|
|
<v-card class="pa-2">
|
|
<v-layout mb-2 row>
|
|
<v-flex class="text-xs-center" xs12>
|
|
<h4 class="subheading">PRE TEST</h4>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="TENSI"
|
|
v-model="data_6mwt.pretest.tensi"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="SPO2"
|
|
v-model="data_6mwt.pretest.spo2"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="NADI"
|
|
v-model="data_6mwt.pretest.nadi"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="DYSPNEA"
|
|
v-model="data_6mwt.pretest.dyspnea"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="FATIGUE"
|
|
v-model="data_6mwt.pretest.fatigue"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</v-flex>
|
|
<v-flex pt-1 pb-1 pl-1 pr-2 xs6>
|
|
<v-card class="pa-2">
|
|
<v-layout mb-2 row>
|
|
<v-flex class="text-xs-center" xs12>
|
|
<h4 class="subheading">POST TEST</h4>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="TENSI"
|
|
v-model="data_6mwt.posttest.tensi"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="SPO2"
|
|
v-model="data_6mwt.posttest.spo2"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="NADI"
|
|
v-model="data_6mwt.posttest.nadi"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="DYSPNEA"
|
|
v-model="data_6mwt.posttest.dyspnea"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout pl-3 pr-3 row>
|
|
<v-flex xs12>
|
|
<v-text-field ma-1
|
|
label="FATIGUE"
|
|
v-model="data_6mwt.posttest.fatigue"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="test.template_flag_other === 'Y' && test.template_name.includes('6MWT') " class="ml-2 mr-2 mb-2" row>
|
|
<v-flex xs12>
|
|
<v-data-table
|
|
:headers="headers_6mwt"
|
|
:items="data_6mwt.details_6mwt"
|
|
class="elevation-1" hide-actions
|
|
>
|
|
<template v-slot:items="props">
|
|
<td class="text-xs-right">{{ props.item.waktu }}</td>
|
|
<td class="text-xs-right">
|
|
<v-text-field ma-1
|
|
:disabled="cantedit"
|
|
v-model="props.item.spo2"
|
|
></v-text-field>
|
|
</td>
|
|
<td class="text-xs-right">
|
|
<v-text-field ma-1
|
|
v-model="props.item.nadi"
|
|
:disabled="cantedit"
|
|
></v-text-field>
|
|
</td>
|
|
</template>
|
|
</v-data-table>
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-layout v-if="test.template_flag_other === 'Y' && test.template_name.includes('6MWT') " class="pa-2" row>
|
|
|
|
<v-flex text-xs-center xs12>
|
|
<v-card >
|
|
<p class="headline pt-3 pb-1 font-weight-light">
|
|
{{textvomax}}
|
|
</p>
|
|
</v-card>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
<v-layout v-if="test.template_flag_other === 'Y' && test.template_name.includes('6MWT') " class="pa-2" row>
|
|
|
|
<v-flex text-xs-center xs12>
|
|
<v-card color="blue-grey darken-2" class="white--text" >
|
|
<p class="display-2 pt-3 pb-3 font-weight-bold">
|
|
{{categoryvomax.toUpperCase()}}
|
|
</p>
|
|
</v-card>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
<v-dialog
|
|
v-model="dialog_xsignature"
|
|
width="80%"
|
|
|
|
>
|
|
|
|
|
|
<v-card>
|
|
<v-card-title
|
|
class="headline grey lighten-2"
|
|
primary-title
|
|
>
|
|
Signature Pad
|
|
</v-card-title>
|
|
|
|
<v-card-text>
|
|
<v-layout row>
|
|
<v-flex xs8>
|
|
<div class="signature-pad-container">
|
|
<a class="button-text" @click="clear()" id="clear_button">CLEAR</a>
|
|
<canvas id="signature_pad"></canvas>
|
|
</div>
|
|
</v-flex>
|
|
<v-flex xs4>
|
|
|
|
<v-card height="35vh" v-if="patient.image_signature && patient.image_signature !== ''">
|
|
<v-card-title>File Tanda Tangan</v-card-title>
|
|
<v-card-text>
|
|
<v-img
|
|
:src="patient.image_signature"
|
|
|
|
class="white lighten-2 pt-2"
|
|
contain
|
|
>
|
|
<template v-slot:placeholder>
|
|
<v-layout
|
|
fill-height
|
|
align-center
|
|
justify-center
|
|
ma-0
|
|
>
|
|
<v-progress-circular indeterminate color="grey lighten-5"></v-progress-circular>
|
|
</v-layout>
|
|
</template>
|
|
</v-img>
|
|
</v-card-text>
|
|
</v-card>
|
|
<v-card height="" v-if="!patient.image_signature || patient.image_signature === ''" color="blue-grey darken-2" class="white--text">
|
|
<v-card-title primary-title>
|
|
<div>
|
|
<div class="headline">File tanda tangan belum ada</div>
|
|
<span>Silahkan melakukan tanda tangan pada signature pad di sebelah kiri</span>
|
|
</div>
|
|
</v-card-title>
|
|
<v-card-actions>
|
|
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-card-text>
|
|
|
|
<v-divider></v-divider>
|
|
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn
|
|
color="primary"
|
|
flat
|
|
:disabled="test.status === 'VAL1' || test.status === 'VAL2'"
|
|
@click="saveSignature()"
|
|
>
|
|
Simpan
|
|
</v-btn>
|
|
<v-btn
|
|
color="grey"
|
|
flat
|
|
@click="dialog_xsignature = false"
|
|
>
|
|
Tutup
|
|
</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</v-flex>
|
|
|
|
</v-layout>
|
|
|
|
<v-dialog v-model="dialog_warning_signature" persistent max-width="290">
|
|
<v-card>
|
|
<v-card-title class="headline">Ups...sudah ada file tanda tangan</v-card-title>
|
|
<v-card-text>
|
|
Dengan memilih setuju, maka file tanda tangan yang sebelumnya akan dihapus diganti dengan yang baru
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="green darken-1" flat @click="dialog_warning_signature = false">Batal</v-btn>
|
|
<v-btn color="green darken-1" flat @click="save">Setuju</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialog_choose_tooth" scrollable max-width="300px">
|
|
<v-card>
|
|
<v-card-title>Pilih Kelainan</v-card-title>
|
|
<v-divider></v-divider>
|
|
<v-card-text style="height: 300px;">
|
|
<v-radio-group v-model="kelainan_gigi" column>
|
|
<v-radio color="black" label="Berlubang" value="X"></v-radio>
|
|
<v-radio color="teal" label="Tambalan" value="C"></v-radio>
|
|
<v-radio color="red" label="Tanggal" value="O"></v-radio>
|
|
<v-radio color="brown" label="Sisa Akar" value="R"></v-radio>
|
|
<v-radio color="yellow" label="Gigi Palsu" value="A"></v-radio>
|
|
<v-radio color="blue" label="Karang Gigi" value="K"></v-radio>
|
|
<v-radio color="purple" label="Impaksi" value="I"></v-radio>
|
|
|
|
<v-radio color="primary" class="mt-3" value="">
|
|
<template v-slot:label>
|
|
<div>-- <strong class="primary--text">Reset</strong> --</div>
|
|
</template>
|
|
</v-radio>
|
|
|
|
</v-radio-group>
|
|
</v-card-text>
|
|
<v-divider></v-divider>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="grey darken-1" flat @click="dialog_choose_tooth = false">Batal</v-btn>
|
|
<v-btn color="blue darken-1" flat @click="saveSelectedTooth()">Pilih</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<template>
|
|
|
|
<v-dialog v-model="openprint" style="overflow:hidden!important" fullscreen>
|
|
|
|
<v-card >
|
|
|
|
<v-card-text>
|
|
<object type="application/pdf" style="overflow: hidden;min-height:100vh;width:100%" :data="urlprint"></object>
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
|
|
<v-btn color="green darken-1" flat="flat" @click="closePrint">Tutup</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
|
|
</template>
|
|
<v-dialog
|
|
v-model="dialog_alert_info"
|
|
width="500"
|
|
>
|
|
<v-card>
|
|
<v-card-title
|
|
class="headline error lighten-2"
|
|
primary-title
|
|
>
|
|
Perhatian !
|
|
</v-card-title>
|
|
|
|
<v-card-text v-html="msg_alert_info">
|
|
|
|
</v-card-text>
|
|
|
|
<v-divider></v-divider>
|
|
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn
|
|
color="primary"
|
|
flat
|
|
@click="dialog_alert_info = false"
|
|
>
|
|
Tutup
|
|
</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog
|
|
<one-dialog-print :title="printtitle" :width="printwidth" :height="500" :status="openprint" :urlprint="urlprint" @close-dialog-print="closePrint"></one-dialog-print>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.divider.x_step{
|
|
border-color:#fff;
|
|
}
|
|
.x_form .v-text-field--outline>.v-input__control>.v-input__slot {
|
|
align-items: stretch;
|
|
min-height: 20px!important;
|
|
margin-top:0;
|
|
line-height:25px;
|
|
}
|
|
|
|
.x_form .v-text-field--outline.v-text-field--single-line input {
|
|
margin-top: 0px!important;
|
|
font-size:14px;
|
|
}
|
|
table, td, th {
|
|
border: 1px solid #ddd;
|
|
text-align: left;
|
|
}
|
|
|
|
table {
|
|
border-collapse: collapse;
|
|
width: 100%;
|
|
}
|
|
|
|
th, td {
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
padding-left: 8px;
|
|
padding-right: 5px;
|
|
}
|
|
|
|
.mini-input .v-input{
|
|
margin-top: 0px;
|
|
}
|
|
|
|
.mini-input .v-input, .mini-input .v-input--selection-controls,.mini-input .v-input__slot{
|
|
margin-top: 0px;
|
|
margin-bottom:0px;
|
|
margin-left:3px;
|
|
}
|
|
.mini-input .v-messages{
|
|
min-height:0px;
|
|
}
|
|
input.fhm-input{
|
|
border: 1px solid black;
|
|
border-radius: 2px;
|
|
-webkit-box-shadow:
|
|
inset 0 0 2px rgba(0,0,0,0.1),
|
|
0 0 4px rgba(0,0,0,0.1);
|
|
-moz-box-shadow:
|
|
inset 0 0 2px rgba(0,0,0,0.1),
|
|
0 0 4px rgba(0,0,0,0.1);
|
|
box-shadow:
|
|
inset 0 0 2px rgba(0,0,0,0.1),
|
|
0 0 4px rgba(0,0,0,0.1);
|
|
padding: 2px 4px;
|
|
background: rgba(255,255,255,0.5);
|
|
margin: 0 0 1px 0;
|
|
width:30px;
|
|
text-align:center;
|
|
}
|
|
th, td {
|
|
padding-left: 15px;
|
|
padding-right: 15px;
|
|
padding-top: 10px;
|
|
padding-bottom: 10px;
|
|
text-align: left;
|
|
}
|
|
table.tform tr:nth-child(even) {
|
|
background-color: #eee;
|
|
}
|
|
table.tform tr:nth-child(odd) {
|
|
background-color: #fff;
|
|
}
|
|
.thgigi{
|
|
width:50px!important;
|
|
padding:5px!important;
|
|
text-align:center;
|
|
}
|
|
.input_gigi{
|
|
width:100%;
|
|
border:1px solid grey;
|
|
font-size:14px;
|
|
text-align:center;
|
|
line-height: 2;
|
|
text-transform: uppercase;
|
|
}
|
|
.bggrey{
|
|
background:#eee!important;
|
|
}
|
|
.background-black{
|
|
background:black;
|
|
color:#fff;
|
|
}
|
|
.background-teal{
|
|
background:#009688;
|
|
color:#fff;
|
|
}
|
|
.background-red{
|
|
background:#f44336;
|
|
color:#fff;
|
|
}
|
|
.background-brown{
|
|
background:#795548;
|
|
color:#fff;
|
|
}
|
|
.background-yellow-accent-4{
|
|
background:#ffeb3b;
|
|
color:#fff;
|
|
}
|
|
.background-info{
|
|
background:#64b5f6;
|
|
color:#fff;
|
|
}
|
|
.background-purple{
|
|
background:#9C27B0;
|
|
color:#fff;
|
|
}
|
|
|
|
</style>
|
|
|
|
<script>
|
|
module.exports = {
|
|
components : {
|
|
'one-dialog-print':httpVueLoader('../../common/oneDialogPrintX.vue')
|
|
},
|
|
data: () => ({
|
|
dialog_alert_info:false,
|
|
msg_alert_info:'',
|
|
kelainan_gigi:false,
|
|
dialog_choose_tooth:false,
|
|
tooth_icx:null,
|
|
tooth_pos:null,
|
|
tooth_idx:null,
|
|
search_doctor:'',
|
|
dialog_warning_signature:false,
|
|
dialogdownload:false,
|
|
reports:[],
|
|
selected_download:'',
|
|
openprint:false,
|
|
//urlprint:'',
|
|
printtitle:'',
|
|
printwidth:600,
|
|
requiredoctor:false,
|
|
tab:1,
|
|
cbx_1:false,
|
|
dialoglang:false,
|
|
xnowtest:{},
|
|
template_xname:'',
|
|
headers_6mwt: [
|
|
{ text: 'WAKTU',sortable:false,width:'30%'},
|
|
{ text: 'SPO2',sortable:false},
|
|
{ text: 'NADI',sortable:false}
|
|
],
|
|
|
|
}),
|
|
mounted() {
|
|
this.draw()
|
|
},
|
|
computed: {
|
|
search_lab_no(){
|
|
return this.$store.state.sample.search_lab_no
|
|
},
|
|
dialog_xsignature:{
|
|
get() {
|
|
return this.$store.state.sample.dialog_xsignature
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_dialog_xsignature",val)
|
|
}
|
|
},
|
|
categoryvomax(){
|
|
var rtn = '-'
|
|
if(this.vo2max > 0){
|
|
if(this.patient.sexcode == 'L'){
|
|
if(this.umur >= 18 && this.umur <= 25){
|
|
if(this.vo2max > 60)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 52 && this.vo2max < 61)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 47 && this.vo2max < 52)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 42 && this.vo2max < 47)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 37 && this.vo2max < 42)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 30 && this.vo2max < 37)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 30)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 26 && this.umur <= 35){
|
|
if(this.vo2max > 56)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 49 && this.vo2max < 57)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 43 && this.vo2max < 49)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 40 && this.vo2max < 43)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 35 && this.vo2max < 40)
|
|
//rtn = 'Bellow Average'
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 30 && this.vo2max < 35)
|
|
//rtn = 'Poor'
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 30)
|
|
//rtn = 'Very Poor'
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 36 && this.umur <= 45){
|
|
if(this.vo2max > 51)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 43 && this.vo2max < 52)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 39 && this.vo2max < 43)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 35 && this.vo2max < 39)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 31 && this.vo2max < 35)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 26 && this.vo2max < 31)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 26)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 46 && this.umur <= 55){
|
|
if(this.vo2max > 45)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 39 && this.vo2max < 46)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 36 && this.vo2max < 39)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 32 && this.vo2max < 36)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 29 && this.vo2max < 32)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 25 && this.vo2max < 29)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 25)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 56 && this.umur <= 65){
|
|
if(this.vo2max > 41)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 36 && this.vo2max < 42)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 32 && this.vo2max < 36)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 30 && this.vo2max < 32)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 26 && this.vo2max < 30)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 22 && this.vo2max < 26)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 22)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur > 65){
|
|
if(this.vo2max > 37)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 33 && this.vo2max < 38)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 29 && this.vo2max < 33)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 26 && this.vo2max < 29)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 22 && this.vo2max < 26)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 20 && this.vo2max < 22)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 20)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
}
|
|
if(this.patient.sexcode == 'P'){
|
|
if(this.umur >= 18 && this.umur <= 25){
|
|
if(this.vo2max > 56)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 47 && this.vo2max < 57)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 42 && this.vo2max < 47)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 38 && this.vo2max < 42)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 33 && this.vo2max < 38)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 28 && this.vo2max < 33)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 28)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 26 && this.umur <= 35){
|
|
if(this.vo2max > 52)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 45 && this.vo2max < 53)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 39 && this.vo2max < 45)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 35 && this.vo2max < 39)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 31 && this.vo2max < 35)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 26 && this.vo2max < 31)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 26)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 36 && this.umur <= 45){
|
|
if(this.vo2max > 45)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 38 && this.vo2max < 46)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 34 && this.vo2max < 38)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 31 && this.vo2max < 34)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 27 && this.vo2max < 31)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 22 && this.vo2max < 27)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 22)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 46 && this.umur <= 55){
|
|
if(this.vo2max > 40)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 34 && this.vo2max < 41)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 31 && this.vo2max < 34)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 28 && this.vo2max < 31)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 25 && this.vo2max < 28)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 20 && this.vo2max < 25)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 20)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur >= 56 && this.umur <= 65){
|
|
if(this.vo2max > 37)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 32 && this.vo2max < 38)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 28 && this.vo2max < 32)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 25 && this.vo2max < 28)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 22 && this.vo2max < 25)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 18 && this.vo2max < 22)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 18)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
if(this.umur > 65){
|
|
if(this.vo2max > 32)
|
|
rtn = 'Excellent'
|
|
if(this.vo2max >= 28 && this.vo2max < 33)
|
|
rtn = 'Good'
|
|
if(this.vo2max >= 25 && this.vo2max < 28)
|
|
rtn = 'Di atas rata-rata'
|
|
if(this.vo2max >= 22 && this.vo2max < 25)
|
|
rtn = 'Rata-rata'
|
|
if(this.vo2max >= 19 && this.vo2max < 22)
|
|
rtn = 'Di bawah rata-rata'
|
|
if(this.vo2max >= 17 && this.vo2max < 19)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
if(this.vo2max < 17)
|
|
rtn = 'Di bawah batas nilai normal'
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
return rtn
|
|
},
|
|
textvomax(){
|
|
//console.log('dasdasdas')
|
|
var rtn = '-'
|
|
//console.log(this.vo2max)
|
|
if(this.vo2max > 0)
|
|
rtn = "VO2 MAX = (0.06 x "+this.data_6mwt.distance+" x "+this.data_6mwt.rounds+") - (0.104 x "+this.umur+") + (0.052 x "+this.data_6mwt.bb+") + 2.9 = "+this.vo2max
|
|
|
|
return rtn
|
|
},
|
|
umur(){
|
|
var rtn = 0
|
|
if(!_.isEmpty(this.patient)){
|
|
var age = this.patient.age
|
|
var res = age.split(" ");
|
|
rtn = Math.floor((parseInt(res[0]) + parseFloat(res[2]/12)).toFixed(1))
|
|
}
|
|
return rtn
|
|
},
|
|
vo2max(){
|
|
console.log("ikiki")
|
|
var rtn = 0
|
|
var datax = this.$store.state.sample.data_6mwt
|
|
console.log(datax)
|
|
if(datax){
|
|
var xusia = this.umur
|
|
if(parseInt(datax.distance) > 0 && parseInt(datax.rounds) && parseInt(datax.bb) > 0)
|
|
rtn = ((0.06 * (datax.distance * datax.rounds)) - (0.104 * xusia) + (0.052 * datax.bb) + 2.9).toFixed(2)
|
|
}
|
|
return rtn
|
|
},
|
|
data_6mwt(){
|
|
return this.$store.state.sample.data_6mwt
|
|
},
|
|
dialognote: {
|
|
get() {
|
|
return this.$store.state.sample.dialog_note
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_dialog_note",val)
|
|
}
|
|
},
|
|
urlprint:{
|
|
get() {
|
|
return this.$store.state.sample.url_print
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_url_print",val)
|
|
}
|
|
},
|
|
standart_bmi(){
|
|
return this.$store.state.sample.standart_bmi
|
|
},
|
|
selected_standart_bmi:{
|
|
get() {
|
|
return this.$store.state.sample.selected_standart_bmi
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_selected_standart_bmi",val)
|
|
}
|
|
},
|
|
cantedit:{
|
|
get() {
|
|
return this.$store.state.sample.cantedit
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_cantedit",val)
|
|
}
|
|
},
|
|
tabs_fisik:{
|
|
get() {
|
|
return this.$store.state.sample.tabs_fisik
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_tabs_fisik",val)
|
|
}
|
|
},
|
|
umum_saran:{
|
|
get() {
|
|
return this.$store.state.sample.umum_saran
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_umum_saran",val)
|
|
}
|
|
},
|
|
konsul:{
|
|
get() {
|
|
return this.$store.state.sample.konsul
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_konsul",val)
|
|
}
|
|
},
|
|
rows_riwayat(){
|
|
return this.$store.state.sample.rows_riwayat
|
|
},
|
|
riwayats:{
|
|
get() {
|
|
return this.$store.state.sample.riwayats
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_riwayats",val)
|
|
}
|
|
},
|
|
fisiks:{
|
|
get() {
|
|
return this.$store.state.sample.fisiks
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_fisiks",val)
|
|
}
|
|
},
|
|
k3s:{
|
|
get() {
|
|
return this.$store.state.sample.k3s
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_k3s",val)
|
|
}
|
|
},
|
|
xdialogaction:{
|
|
get() {
|
|
return this.$store.state.sample.dialog_action
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_dialog_action",val)
|
|
}
|
|
},
|
|
xmsgaction:{
|
|
get() {
|
|
return this.$store.state.sample.msg_action
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_msg_action",val)
|
|
}
|
|
},
|
|
xtests(){
|
|
return this.$store.state.sample.selected_transaction.details
|
|
},
|
|
xlangs(){
|
|
return this.$store.state.sample.langs
|
|
},
|
|
patient(){
|
|
return this.$store.state.sample.selected_transaction
|
|
},
|
|
xdialogimage:{
|
|
get() {
|
|
return this.$store.state.sample.dialog_image
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_dialog_image",val)
|
|
}
|
|
},
|
|
ximage() {
|
|
return this.$store.state.sample.image
|
|
},
|
|
xdoctors(){
|
|
return this.$store.state.sample.doctors
|
|
},
|
|
xselecteddoctor:{
|
|
get() {
|
|
return this.$store.state.sample.selected_doctor
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_selected_doctor",val)
|
|
}
|
|
},
|
|
xdialogdoctor:{
|
|
get() {
|
|
return this.$store.state.sample.dialog_doctor
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_dialog_doctor",val)
|
|
}
|
|
},
|
|
dialogtemplates:{
|
|
get() {
|
|
return this.$store.state.sample.dialog_template
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_dialog_template",val)
|
|
}
|
|
},
|
|
xtemplates(){
|
|
return this.$store.state.sample.templates
|
|
},
|
|
xselectedtemplate:{
|
|
get() {
|
|
return this.$store.state.sample.selected_template
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_selected_template",val)
|
|
}
|
|
},
|
|
dialoglangs:{
|
|
get() {
|
|
return this.$store.state.sample.langs
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_item_langs",val)
|
|
}
|
|
},
|
|
xselectedlang:{
|
|
get() {
|
|
return this.$store.state.sample.selected_lang
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_selected_lang",val)
|
|
}
|
|
},
|
|
sellang:{
|
|
get() {
|
|
return this.$store.state.sample.sellang
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_sellang",val)
|
|
|
|
}
|
|
},
|
|
dialogprintlang:{
|
|
get() {
|
|
return this.$store.state.sample.dialog_print_lang
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_dialog_print_lang",val)
|
|
}
|
|
},
|
|
doctors:{
|
|
get() {
|
|
return this.$store.state.sample.doctors
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_doctors",val)
|
|
}
|
|
},
|
|
selected_doctor:{
|
|
get() {
|
|
return this.$store.state.sample.selected_doctor
|
|
},
|
|
set(val) {
|
|
this.$store.commit("sample/update_selected_doctor",val)
|
|
}
|
|
},
|
|
},
|
|
methods : {
|
|
goToUp(){
|
|
/*this.$nextTick(() => {
|
|
this.$refs.stepbar_x.scrollTop = 0;
|
|
});*/
|
|
window.scrollTo({
|
|
top: 0,
|
|
left: 0,
|
|
behavior: 'smooth'
|
|
})
|
|
|
|
},
|
|
nextStep (n) {
|
|
console.log(n)
|
|
if (n === this.tabs_fisik.length) {
|
|
this.tab = 1
|
|
} else {
|
|
this.tab = n + 1
|
|
}
|
|
},
|
|
backStep(n) {
|
|
console.log(n)
|
|
if (n === 1) {
|
|
this.tab = 1
|
|
} else {
|
|
this.tab = n - 1
|
|
}
|
|
},
|
|
saveSelectedTooth(){
|
|
var fisiks = this.fisiks
|
|
var pos = this.tooth_pos
|
|
var icx = this.tooth_icx
|
|
var idx = this.tooth_idx
|
|
var tooth_value = this.kelainan_gigi
|
|
fisiks[icx].details[pos].details[idx].value = tooth_value.toUpperCase()
|
|
console.log(fisiks[icx].details[pos].details[idx])
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
this.dialog_choose_tooth = false
|
|
},
|
|
openChooseToothDialog(position,tooth,icx){
|
|
this.kelainan_gigi = ''
|
|
this.dialog_choose_tooth = true
|
|
var fisiks = this.fisiks
|
|
var pos = -1
|
|
if(position === 'atasketiga')
|
|
pos = 0
|
|
if(position === 'ataskedua')
|
|
pos = 1
|
|
if(position === 'atas')
|
|
pos = 2
|
|
if(position === 'bawah')
|
|
pos = 3
|
|
if(position === 'bawahkedua')
|
|
pos = 4
|
|
if(position === 'bawahketiga')
|
|
pos = 5
|
|
|
|
var idx = _.findIndex(fisiks[icx].details[pos].details, function(o) { return o.id_code == tooth.id_code})
|
|
this.tooth_pos = pos
|
|
this.tooth_icx = icx
|
|
this.tooth_idx = idx
|
|
|
|
|
|
},
|
|
clear(){
|
|
var _this = this;
|
|
_this.sig.clear();
|
|
},
|
|
saveSignature(){
|
|
var trx = this.$store.state.sample.selected_transaction
|
|
this.dialog_warning_signature = false
|
|
if(trx.image_signature === ''){
|
|
this.save()
|
|
}
|
|
else{
|
|
this.dialog_warning_signature = true
|
|
}
|
|
},
|
|
save(format){
|
|
this.dialog_warning_signature = false
|
|
var _this = this;
|
|
//return format ? _this.sig.toDataURL(format) : _this.sig.toDataURL()
|
|
console.log(_this.sig.toDataURL()) // save image as PNG
|
|
// signaturePad.toDataURL("image/jpeg"); // save image as JPEG
|
|
// signaturePad.toDataURL("image/svg+xml"); // save image as SVG
|
|
var prm = {data:_this.sig.toDataURL()}
|
|
this.$store.dispatch("sample/save_signature",prm)
|
|
},
|
|
openDialog(){
|
|
this.dialog_xsignature=true
|
|
this.$nextTick(() => {
|
|
this.draw()
|
|
});
|
|
},
|
|
draw(){
|
|
var _this = this;
|
|
var canvas = document.getElementById("signature_pad")
|
|
//var canvas = document.querySelector("#signature_pad");
|
|
_this.sig = new SignaturePad(canvas, {
|
|
minWidth: 2,
|
|
maxWidth: 4,
|
|
});
|
|
|
|
function resizeCanvas() {
|
|
var ratio = Math.max(window.devicePixelRatio || 1, 1);
|
|
canvas.width = canvas.offsetWidth * ratio;
|
|
canvas.height = canvas.offsetHeight * ratio;
|
|
canvas.getContext("2d").scale(ratio, ratio);
|
|
let storedData = _this.sig.toData();
|
|
_this.sig.clear(); // otherwise isEmpty() might return incorrect value
|
|
_this.sig.fromData(storedData);
|
|
}
|
|
|
|
window.addEventListener("resize", resizeCanvas);
|
|
resizeCanvas();
|
|
},
|
|
opendialogSignature(){
|
|
console.log("waooaoao")
|
|
this.$store.commit("sample/update_dialog_xsignature",true)
|
|
this.$nextTick(() => {
|
|
this.draw()
|
|
});
|
|
|
|
},
|
|
checkXVSRiwayatCbx(id_code,event,idx_detail,idx_segment){
|
|
var riwayats = this.riwayats
|
|
var data = riwayats[idx_segment].details[idx_detail].details
|
|
if(riwayats[idx_segment].title === 'RIWAYAT KEBIASAAN HIDUP'){
|
|
data.forEach((value,key) => {
|
|
if(value.id_code !== id_code){
|
|
data[key].chx = false
|
|
data[key].value = ''
|
|
}
|
|
});
|
|
console.log('check')
|
|
console.log(data)
|
|
this.riwayats = riwayats
|
|
}
|
|
|
|
},
|
|
checkAnotherXCbx(id_code,event,idx_detail,idx_segment){
|
|
var riwayats = this.riwayats
|
|
var data = riwayats[idx_segment].details
|
|
data.forEach((value,key) => {
|
|
if(value.id_code !== id_code){
|
|
data[key].chx = false
|
|
data[key].value = ''
|
|
}
|
|
});
|
|
this.riwayats = riwayats
|
|
},
|
|
checkAnotherCbx(id_code,event,idx_detail,idx_segment){
|
|
var riwayats = this.riwayats
|
|
var data = riwayats[idx_segment].details[idx_detail].details
|
|
//console.log(id_code)
|
|
//console.log(event)
|
|
//console.log(details)
|
|
//console.log(data)
|
|
data.forEach((value,key) => {
|
|
if(value.id_code !== id_code){
|
|
data[key].chx = false
|
|
data[key].value = ''
|
|
}
|
|
});
|
|
console.log('check')
|
|
console.log(data)
|
|
this.riwayats = riwayats
|
|
},
|
|
doDownloadRpt(){
|
|
var eurl = this.selected_download
|
|
var win = window.open(eurl, '_blank');
|
|
win.focus();
|
|
},
|
|
downloadRpt(dx){
|
|
this.reports = dx.url
|
|
this.selected_download = ''
|
|
if(dx.status_payment === 'Y' && dx.url.length > 0){
|
|
if(dx.url.length === 1){
|
|
var eurl = dx.url[0].url
|
|
var win = window.open(eurl, '_blank');
|
|
win.focus();
|
|
}
|
|
else{
|
|
this.dialogdownload = true
|
|
}
|
|
|
|
|
|
}
|
|
},
|
|
countBMI6mwt(){
|
|
var data = this.$store.state.sample.data_6mwt
|
|
data.bmi = ''
|
|
if((data.bb && parseFloat(data.bb) > 0) && (data.tb && parseFloat(data.tb) > 0)){
|
|
data.bmi = Math.round((data.bb / ((data.tb/100)*(data.tb/100))).toFixed(2) * 10) / 10
|
|
|
|
}
|
|
this.$store.commit("sample/update_data_6mwt",data)
|
|
},
|
|
getnamelabel(kata){
|
|
var lang_id = this.$store.state.sample.sellang.id
|
|
var words = this.$store.state.sample.words
|
|
var row_word = _.filter(words, function(o) { return o.Translate_WordNat_LangID === lang_id && o.Translate_WordFrom.toLowerCase() === kata.toLowerCase() })
|
|
|
|
//console.log(row_word)
|
|
if(row_word.length > 0)
|
|
return row_word[0].Translate_WordTo
|
|
else
|
|
return kata
|
|
},
|
|
opendialogLang(test){
|
|
var xlng = {id:test.language_id,name:test.language_name}
|
|
this.sellang = xlng
|
|
this.xnowtest = test
|
|
this.dialoglang = true
|
|
},
|
|
getcolortensi(row){
|
|
console.log(row)
|
|
var result = 'grey--text'
|
|
|
|
if(row.standart === 'JNC-VII'){
|
|
if(row.value === 'NORMAL'){
|
|
result = 'info--text'
|
|
}
|
|
if(row.value === 'PREHIPERTENSI'){
|
|
result = 'warning--text'
|
|
}
|
|
if(row.value === 'HIPERTENSI STADIUM 1'){
|
|
result = 'amber--text'
|
|
}
|
|
if(row.value === 'HIPERTENSI STADIUM 2'){
|
|
result = 'red--text'
|
|
}
|
|
}
|
|
|
|
if(row.standart === 'JNC-VIII'){
|
|
if(row.value_x === 'NORMAL'){
|
|
result = 'info--text'
|
|
}
|
|
if(row.value_x === 'ELEVATED'){
|
|
result = 'warning--text'
|
|
}
|
|
if(row.value_x === 'HIPERTENSI STAGE 1'){
|
|
result = 'amber--text'
|
|
}
|
|
if(row.value_x === 'HIPERTENSI STAGE 2'){
|
|
result = 'red--text'
|
|
}
|
|
if(row.value_x === 'HIPERTENSI STAGE 3'){
|
|
result = 'brown--text'
|
|
}
|
|
}
|
|
|
|
if(row.standart === 'ESC/ESH'){
|
|
if(row.value_x === 'OPTIMAL' || row.value_x === 'NORMAL'){
|
|
result = 'info--text'
|
|
}
|
|
if(row.value_x === 'HIGH NORMAL' || row.value_x === 'GRADE 1 HYPERTENSION'){
|
|
result = 'warning--text'
|
|
}
|
|
if(row.value_x === 'HIGH NORMAL' || row.value_x === 'GRADE 1 HYPERTENSION'){
|
|
result = 'amber--text'
|
|
}
|
|
if(row.value_x === 'GRADE 2 HYPERTENSION' || row.value_x === 'GRADE 3 HYPERTENSION'){
|
|
result = 'red--text'
|
|
}
|
|
if(row.value_x === 'ISOLATED SYSTOLIC HYPERTENSION'){
|
|
result = 'brown--text'
|
|
}
|
|
}
|
|
|
|
//console.log(result)
|
|
return result
|
|
},
|
|
changeStandartBMI(idx_f){
|
|
var fisiks = this.fisiks
|
|
var value_x = fisiks[idx_f].standart_bmi
|
|
var val_now = value_x
|
|
if(value_x === 'who'){
|
|
val_now = 'asia_pacific'
|
|
}else if(value_x === 'asia_pacific'){
|
|
val_now = 'kemenkes'
|
|
}else{
|
|
val_now = 'who'
|
|
}
|
|
//var val_now = fisiks[idx_f].standart_bmi === 'who' ? 'asia_pacific':'who'
|
|
fisiks[idx_f].standart_bmi = val_now
|
|
// console.log('jalan')
|
|
var idx_bmi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'status_gizi_4'})
|
|
var bmi_value = fisiks[idx_f].details[idx_bmi].value
|
|
console.log('bmi : '+bmi_value)
|
|
var classx = '-'
|
|
if(bmi_value && !isNaN(bmi_value) && bmi_value > 0 && bmi_value != 'Infinity'){
|
|
|
|
if(fisiks[idx_f].standart_bmi === 'asia_pacific'){
|
|
if(bmi_value < 18.5)
|
|
classx = 'Underweight'
|
|
|
|
if(bmi_value >= 18.5 && bmi_value < 23)
|
|
classx = 'Normal'
|
|
|
|
if(bmi_value >= 23 && bmi_value < 25)
|
|
classx = 'Overweight'
|
|
|
|
if(bmi_value >= 25 && bmi_value < 30)
|
|
classx = 'Obese I'
|
|
|
|
if(bmi_value >= 30)
|
|
classx = 'Obese II'
|
|
}
|
|
|
|
if(fisiks[idx_f].standart_bmi === 'who'){
|
|
//console.log(bmi_value)
|
|
if(bmi_value < 18.5)
|
|
classx = 'Underweight'
|
|
|
|
if(bmi_value >= 18.5 && bmi_value < 25){
|
|
classx = 'Normal'
|
|
// console.log("normal")
|
|
}
|
|
|
|
|
|
if(bmi_value >= 25 && bmi_value < 30){
|
|
classx = 'Overweight'
|
|
// console.log("iyyaaa")
|
|
}
|
|
|
|
if(bmi_value >= 30)
|
|
classx = 'Obese'
|
|
}
|
|
|
|
if(fisiks[idx_f].standart_bmi === 'kemenkes'){
|
|
if(bmi_value < 18.5)
|
|
classx = 'Underweight'
|
|
|
|
if(bmi_value >= 18.5 && bmi_value < 25.1)
|
|
classx = 'Normal'
|
|
|
|
if(bmi_value >= 25.1 && bmi_value < 27)
|
|
classx = 'Overweight'
|
|
|
|
if(bmi_value >= 27)
|
|
classx = 'Obese'
|
|
}
|
|
|
|
|
|
}
|
|
var idx_xclass = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'status_gizi_6'})
|
|
console.log(idx_xclass)
|
|
fisiks[idx_f].details[idx_xclass].value = classx
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
changeXVSChx(idx_f,idx_s,row){
|
|
var fisiks = this.fisiks
|
|
var isnormal = row.is_normal
|
|
|
|
if(isnormal === 'Y' && row.chx){
|
|
fisiks[idx_f].details[idx_s].details.forEach(function(entry,index) {
|
|
if(fisiks[idx_f].details[idx_s].details[index].is_normal === 'N'){
|
|
fisiks[idx_f].details[idx_s].details[index].chx = false
|
|
fisiks[idx_f].details[idx_s].details[index].value = ''
|
|
}
|
|
})
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
|
|
if(isnormal === 'N' && row.chx){
|
|
var n_idx = _.findIndex(fisiks[idx_f].details[idx_s].details, function(o) { return o.is_normal === 'Y'})
|
|
//console.log(n_idx)
|
|
fisiks[idx_f].details[idx_s].details[n_idx].chx = false
|
|
fisiks[idx_f].details[idx_s].details[n_idx].value = ''
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
},
|
|
changeXVSChxLXX(idx_f,idx_s,row){
|
|
var fisiks = this.fisiks
|
|
var isnormal = row.is_normal
|
|
|
|
if(isnormal === 'N' && !row.chx){
|
|
fisiks[idx_f].details[idx_s].details[1].details.forEach(function(entry,index) {
|
|
fisiks[idx_f].details[idx_s].details[1].details[index].chx_a_value = false
|
|
fisiks[idx_f].details[idx_s].details[1].details[index].chx_b_value = false
|
|
})
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
|
|
if(isnormal === 'N' && row.chx){
|
|
var n_idx = _.findIndex(fisiks[idx_f].details[idx_s].details, function(o) { return o.is_normal === 'Y'})
|
|
//console.log(n_idx)
|
|
fisiks[idx_f].details[idx_s].details[n_idx].chx = false
|
|
fisiks[idx_f].details[idx_s].details[n_idx].value = ''
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
},
|
|
changeXVChx(idx_f,row){
|
|
//console.log(idx_f)
|
|
var fisiks = this.fisiks
|
|
var isnormal = row.is_normal
|
|
if(isnormal === 'Y' && row.chx){
|
|
fisiks[idx_f].details.forEach(function(entry,index) {
|
|
if(fisiks[idx_f].details[index].is_normal === 'N'){
|
|
fisiks[idx_f].details[index].chx = false
|
|
fisiks[idx_f].details[index].value = ''
|
|
}
|
|
})
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
|
|
if(isnormal === 'N' && row.chx){
|
|
var n_idx = _.findIndex(fisiks[idx_f].details, function(o) { return o.is_normal === 'Y'})
|
|
//console.log(n_idx)
|
|
fisiks[idx_f].details[n_idx].chx = false
|
|
fisiks[idx_f].details[n_idx].value = ''
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
//console.log("detailss")
|
|
// console.log(fisiks[idx_f])
|
|
|
|
},
|
|
changeToothValue(position,tooth,icx){
|
|
var fisiks = this.fisiks
|
|
var pos = -1
|
|
if(position === 'atasketiga')
|
|
pos = 0
|
|
if(position === 'ataskedua')
|
|
pos = 1
|
|
if(position === 'atas')
|
|
pos = 2
|
|
if(position === 'bawah')
|
|
pos = 3
|
|
if(position === 'bawahkedua')
|
|
pos = 4
|
|
if(position === 'bawahketiga')
|
|
pos = 5
|
|
|
|
var idx = _.findIndex(fisiks[icx].details[pos].details, function(o) { return o.id_code == tooth.id_code})
|
|
fisiks[icx].details[pos].details[idx].value = tooth.value.toUpperCase()
|
|
console.log(fisiks[icx].details[pos].details[idx])
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
changeXXVChx(idx_f,row,status){
|
|
var fisiks = this.fisiks
|
|
|
|
var idx = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == row.id_code})
|
|
if(status == 'y'){
|
|
var now_y = fisiks[idx_f].details[idx].chx_y
|
|
fisiks[idx_f].details[idx].chx_x = now_y === true ?false:true
|
|
if(now_y)
|
|
fisiks[idx_f].details[idx].disable_value = 'Y'
|
|
else
|
|
fisiks[idx_f].details[idx].disable_value = 'N'
|
|
}
|
|
if(status == 'x'){
|
|
var now_x = fisiks[idx_f].details[idx].chx_x
|
|
fisiks[idx_f].details[idx].chx_y = now_x === true ?false:true
|
|
if(now_x)
|
|
fisiks[idx_f].details[idx].disable_value = 'N'
|
|
else
|
|
fisiks[idx_f].details[idx].disable_value = 'Y'
|
|
}
|
|
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
changeVXXChx(idx_f,row,status){
|
|
var fisiks = this.fisiks
|
|
//console.log(row)
|
|
var idx = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == row.id_code})
|
|
|
|
if(status == 'y'){
|
|
var now_y = fisiks[idx_f].details[idx].chx_y
|
|
fisiks[idx_f].details[idx].chx_x = now_y?false:true
|
|
fisiks[idx_f].details[idx].value = ''
|
|
}
|
|
|
|
if(status == 'x'){
|
|
var now_x = fisiks[idx_f].details[idx].chx_x
|
|
fisiks[idx_f].details[idx].chx_y = now_x?false:true
|
|
|
|
}
|
|
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
changeVXXValuePlusV(idx_f,row){
|
|
var fisiks = this.fisiks
|
|
//console.log(row)
|
|
var idx = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == row.id_code})
|
|
|
|
var now_val = fisiks[idx_f].details[idx].value
|
|
if(now_val != ''){
|
|
fisiks[idx_f].details[idx].chx_x = false
|
|
}
|
|
|
|
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
changeVXXValue(idx_f,row){
|
|
var fisiks = this.fisiks
|
|
// console.log(row)
|
|
if(row.table_name === 'status_gizi'){
|
|
// console.log(row)
|
|
var idx_berat = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'status_gizi_1'})
|
|
var val_berat = parseFloat(fisiks[idx_f].details[idx_berat].value)
|
|
//console.log(val_berat)
|
|
var idx_tinggi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'status_gizi_2'})
|
|
var val_tinggi = parseFloat(fisiks[idx_f].details[idx_tinggi].value)
|
|
//console.log(val_tinggi)
|
|
var idx_bmi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'status_gizi_4'})
|
|
var val_bmi = (val_berat / ((val_tinggi/100)*(val_tinggi/100))).toFixed(2)
|
|
console.log('bmi : '+val_bmi)
|
|
fisiks[idx_f].details[idx_bmi].value = val_bmi
|
|
var bmi_value = val_bmi
|
|
var classx = '-'
|
|
if(bmi_value && !isNaN(bmi_value) && bmi_value > 0 && bmi_value != 'Infinity'){
|
|
|
|
if(fisiks[idx_f].standart_bmi === 'asia_pacific'){
|
|
if(bmi_value < 18.5)
|
|
classx = 'Underweight'
|
|
|
|
if(bmi_value >= 18.5 && bmi_value < 23)
|
|
classx = 'Normal'
|
|
|
|
if(bmi_value >= 23 && bmi_value < 25)
|
|
classx = 'Overweight'
|
|
|
|
if(bmi_value >= 25 && bmi_value < 30)
|
|
classx = 'Obese I'
|
|
|
|
if(bmi_value >= 30)
|
|
classx = 'Obese II'
|
|
}
|
|
|
|
if(fisiks[idx_f].standart_bmi === 'who'){
|
|
if(bmi_value < 18.5)
|
|
classx = 'Underweight'
|
|
|
|
if(bmi_value >= 18.5 && bmi_value < 25){
|
|
classx = 'Normal'
|
|
// console.log("normal")
|
|
}
|
|
|
|
|
|
if(bmi_value >= 25 && bmi_value < 30){
|
|
classx = 'Overweight'
|
|
// console.log("iyyaaa")
|
|
}
|
|
|
|
if(bmi_value >= 30)
|
|
classx = 'Obese'
|
|
}
|
|
|
|
if(fisiks[idx_f].standart_bmi === 'kemenkes'){
|
|
if(bmi_value < 18.5)
|
|
classx = 'Underweight'
|
|
|
|
if(bmi_value >= 18.5 && bmi_value < 25.1)
|
|
classx = 'Normal'
|
|
|
|
if(bmi_value >= 25.1 && bmi_value < 27)
|
|
classx = 'Overweight'
|
|
|
|
if(bmi_value >= 27)
|
|
classx = 'Obese'
|
|
}
|
|
|
|
|
|
|
|
}
|
|
var idx_xclass = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'status_gizi_6'})
|
|
fisiks[idx_f].details[idx_xclass].value = classx
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
},
|
|
changeVXXValuePlus(idx_f,row){
|
|
var fisiks = this.fisiks
|
|
var idx_tensi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'tanda_vital_5'})
|
|
var standart = fisiks[idx_f].details[idx_tensi].standart
|
|
console.log(standart)
|
|
if(row.table_name === 'tanda_vital'){
|
|
var result = fisiks[idx_f].details[idx_tensi].value_x
|
|
var xval = fisiks[idx_f].details[idx_tensi].value
|
|
if(xval !== ''){
|
|
var arr_val = xval.split("/")
|
|
var sistolik = arr_val[0]
|
|
var diastolik = arr_val[1]
|
|
if(standart === 'JNC-VII'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 139) || (diastolik >= 80 && diastolik <= 89)){
|
|
result = 'PREHIPERTENSI'
|
|
}
|
|
if((sistolik >= 140 && sistolik <= 159) || (diastolik >= 90 && diastolik <= 99)){
|
|
result = 'HIPERTENSI STADIUM 1'
|
|
}
|
|
if((sistolik >= 160) || (diastolik >= 100)){
|
|
result = 'HIPERTENSI STADIUM 2'
|
|
}
|
|
}
|
|
if(standart === 'JNC-VIII'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 129) && (diastolik < 80)){
|
|
result = 'ELEVATED'
|
|
}
|
|
if((sistolik >= 130 && sistolik <= 139) || (diastolik >= 80 && diastolik <= 89)){
|
|
result = 'HIPERTENSI STAGE 1'
|
|
}
|
|
if(sistolik >= 140 || diastolik >= 90){
|
|
result = 'HIPERTENSI STAGE 2'
|
|
}
|
|
if((sistolik >= 180) || (diastolik >= 120)){
|
|
result = 'HYPERTENSIVE CRISIS'
|
|
}
|
|
}
|
|
if(standart === 'ESC/ESH'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'OPTIMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 129) || (diastolik >= 80 && diastolik <= 84)){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 130 && sistolik <= 139) || (diastolik >= 85 && diastolik <= 89)){
|
|
result = 'HIGH NORMAL'
|
|
}
|
|
if((sistolik >= 140 && sistolik <= 159) || (diastolik >= 90 && diastolik <= 99)){
|
|
result = 'GRADE 1 HYPERTENSION'
|
|
}
|
|
if((sistolik >= 160 && sistolik <= 179) || (diastolik >= 100 && diastolik <= 109)){
|
|
result = 'GRADE 2 HYPERTENSION'
|
|
}
|
|
if(sistolik >= 180 || diastolik >= 110){
|
|
result = 'GRADE 3 HYPERTENSION'
|
|
}
|
|
if(sistolik >= 140 && diastolik < 90){
|
|
result = 'ISOLATED SYSTOLIC HYPERTENSION'
|
|
}
|
|
}
|
|
}
|
|
fisiks[idx_f].details[idx_tensi].value_x = result
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
},
|
|
changeVXXValuePlus2R(idx_f,row){
|
|
var fisiks = this.fisiks
|
|
var idx_tensi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'tanda_vital_5'})
|
|
var standart = fisiks[idx_f].details[idx_tensi].standart
|
|
console.log(standart)
|
|
if(row.table_name === 'tanda_vital'){
|
|
var result = fisiks[idx_f].details[idx_tensi].value
|
|
var sistolik = fisiks[idx_f].details[idx_tensi].value_x
|
|
var diastolik = fisiks[idx_f].details[idx_tensi].value_y
|
|
if(standart === 'JNC-VII'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 139) || (diastolik >= 80 && diastolik <= 89)){
|
|
result = 'PREHIPERTENSI'
|
|
}
|
|
if((sistolik >= 140 && sistolik <= 159) || (diastolik >= 90 && diastolik <= 99)){
|
|
result = 'HIPERTENSI STADIUM 1'
|
|
}
|
|
if((sistolik >= 160) || (diastolik >= 100)){
|
|
result = 'HIPERTENSI STADIUM 2'
|
|
}
|
|
}
|
|
if(standart === 'JNC-VIII'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 129) && (diastolik < 80)){
|
|
result = 'ELEVATED'
|
|
}
|
|
if((sistolik >= 130 && sistolik <= 139) || (diastolik >= 80 && diastolik <= 89)){
|
|
result = 'HIPERTENSI STAGE 1'
|
|
}
|
|
if(sistolik >= 140 || diastolik >= 90){
|
|
result = 'HIPERTENSI STAGE 2'
|
|
}
|
|
if((sistolik >= 180) || (diastolik >= 120)){
|
|
result = 'HYPERTENSIVE CRISIS'
|
|
}
|
|
}
|
|
if(standart === 'ESC/ESH'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'OPTIMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 129) || (diastolik >= 80 && diastolik <= 84)){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 130 && sistolik <= 139) || (diastolik >= 85 && diastolik <= 89)){
|
|
result = 'HIGH NORMAL'
|
|
}
|
|
if((sistolik >= 140 && sistolik <= 159) || (diastolik >= 90 && diastolik <= 99)){
|
|
result = 'GRADE 1 HYPERTENSION'
|
|
}
|
|
if((sistolik >= 160 && sistolik <= 179) || (diastolik >= 100 && diastolik <= 109)){
|
|
result = 'GRADE 2 HYPERTENSION'
|
|
}
|
|
if(sistolik >= 180 || diastolik >= 110){
|
|
result = 'GRADE 3 HYPERTENSION'
|
|
}
|
|
if(sistolik >= 140 && diastolik < 90){
|
|
result = 'ISOLATED SYSTOLIC HYPERTENSION'
|
|
}
|
|
}
|
|
|
|
fisiks[idx_f].details[idx_tensi].value = result
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
},
|
|
changeStatusTooth(idx_f){
|
|
var fisiks = this.fisiks
|
|
//var idx_tensi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'tanda_vital_5'})
|
|
//console.log("tooth-status")
|
|
//console.log(fisiks[idx_f])
|
|
fisiks[idx_f].is_normal = fisiks[idx_f].is_normal === "Y" ?"N":"Y"
|
|
if(fisiks[idx_f].is_normal === 'Y'){
|
|
fisiks[idx_f].details.forEach(function(value,idx){
|
|
let details_x = value.details
|
|
details_x.forEach(function(item,index){
|
|
console.log('detail_x')
|
|
console.log(fisiks[idx_f].details[idx].details[index])
|
|
fisiks[idx_f].details[idx].details[index].value = ""
|
|
})
|
|
})
|
|
}
|
|
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
changeStatusInspected(idx_f){
|
|
var fisiks = this.fisiks
|
|
//var idx_tensi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'tanda_vital_5'})
|
|
//console.log("tooth-status")
|
|
//console.log(fisiks[idx_f])
|
|
fisiks[idx_f].is_inspected = fisiks[idx_f].is_inspected === "Y" ?"N":"Y"
|
|
if(fisiks[idx_f].is_inspected === 'Y'){
|
|
fisiks[idx_f].details.forEach(function(value,idx){
|
|
let details_x = value.details
|
|
details_x.forEach(function(item,index){
|
|
console.log('detail_x')
|
|
console.log(fisiks[idx_f].details[idx].details[index])
|
|
fisiks[idx_f].details[idx].details[index].value = ""
|
|
})
|
|
})
|
|
}
|
|
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
changeExistPajanan(idx_k){
|
|
var k3s = this.k3s
|
|
|
|
k3s[idx_k].is_notexist = k3s[idx_k].is_notexist === "Y" ?"N":"Y"
|
|
if(k3s[idx_k].is_notexist === 'Y'){
|
|
k3s[idx_k].details.forEach(function(value,idx){
|
|
k3s[idx_k].details[idx].chx = false
|
|
k3s[idx_k].details[idx].value_lama = ""
|
|
k3s[idx_k].details[idx].value_sumber = ""
|
|
})
|
|
}
|
|
|
|
this.$store.commit("sample/update_k3s",k3s)
|
|
},
|
|
changStandartTensi(idx_f,row){
|
|
var fisiks = this.fisiks
|
|
var idx_tensi = _.findIndex(fisiks[idx_f].details, function(o) { return o.id_code == 'tanda_vital_5'})
|
|
var standart = fisiks[idx_f].details[idx_tensi].standart //=== 'JNC-VII' ? 'JNC-VIII':'JNC-VII'
|
|
if(standart === 'JNC-VII'){
|
|
standart = 'JNC-VIII'
|
|
console.log(1)
|
|
}else if(standart === 'JNC-VIII'){
|
|
standart = 'ESC/ESH'
|
|
console.log(2)
|
|
}
|
|
else{
|
|
console.log(3)
|
|
standart = 'JNC-VII'
|
|
}
|
|
console.log(standart)
|
|
fisiks[idx_f].details[idx_tensi].standart = standart
|
|
if(row.table_name === 'tanda_vital'){
|
|
var result = fisiks[idx_f].details[idx_tensi].value_x
|
|
var xval = fisiks[idx_f].details[idx_tensi].value
|
|
if(xval !== ''){
|
|
var arr_val = xval.split("/")
|
|
var sistolik = arr_val[0]
|
|
var diastolik = arr_val[1]
|
|
if(standart === 'JNC-VII'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 139) || (diastolik >= 80 && diastolik <= 89)){
|
|
result = 'PREHIPERTENSI'
|
|
}
|
|
if((sistolik >= 140 && sistolik <= 159) || (diastolik >= 90 && diastolik <= 99)){
|
|
result = 'HIPERTENSI STADIUM 1'
|
|
}
|
|
if((sistolik >= 160) || (diastolik >= 100)){
|
|
result = 'HIPERTENSI STADIUM 2'
|
|
}
|
|
}
|
|
if(standart === 'JNC-VIII'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 129) && (diastolik < 80)){
|
|
result = 'ELEVATED'
|
|
}
|
|
if((sistolik >= 130 && sistolik <= 139) || (diastolik >= 80 && diastolik <= 89)){
|
|
result = 'HIPERTENSI STAGE 1'
|
|
}
|
|
if(sistolik >= 140 || diastolik >= 90){
|
|
result = 'HIPERTENSI STAGE 2'
|
|
}
|
|
if((sistolik >= 180) || (diastolik >= 120)){
|
|
result = 'HYPERTENSIVE CRISIS'
|
|
}
|
|
}
|
|
if(standart === 'ESC/ESH'){
|
|
if(sistolik < 120 && diastolik < 80){
|
|
result = 'OPTIMAL'
|
|
}
|
|
if((sistolik >= 120 && sistolik <= 129) || (diastolik >= 80 && diastolik <= 84)){
|
|
result = 'NORMAL'
|
|
}
|
|
if((sistolik >= 130 && sistolik <= 139) || (diastolik >= 85 && diastolik <= 89)){
|
|
result = 'HIGH NORMAL'
|
|
}
|
|
if((sistolik >= 140 && sistolik <= 159) || (diastolik >= 90 && diastolik <= 99)){
|
|
result = 'GRADE 1 HYPERTENSION'
|
|
}
|
|
if((sistolik >= 160 && sistolik <= 179) || (diastolik >= 100 && diastolik <= 109)){
|
|
result = 'GRADE 2 HYPERTENSION'
|
|
}
|
|
if(sistolik >= 180 || diastolik >= 110){
|
|
result = 'GRADE 3 HYPERTENSION'
|
|
}
|
|
if(sistolik >= 140 && diastolik < 90){
|
|
result = 'ISOLATED SYSTOLIC HYPERTENSION'
|
|
}
|
|
}
|
|
}
|
|
fisiks[idx_f].details[idx_tensi].value_x = result
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
}
|
|
},
|
|
generate_rows(details){
|
|
//console.log(details)
|
|
var riwayats = details
|
|
var row_riwayats = []
|
|
var rows = []
|
|
riwayats.forEach(function(item,index){
|
|
rows.push(item)
|
|
if(index%2 !== 0 || index === riwayats.length - 1 ){
|
|
row_riwayats.push(rows)
|
|
rows = []
|
|
}
|
|
})
|
|
//console.log(row_riwayats)
|
|
return row_riwayats
|
|
},
|
|
changeFlagNormal(idx){
|
|
var riwayats = this.$store.state.sample.riwayats
|
|
var old_val = riwayats[idx].flag_normal
|
|
riwayats[idx].flag_normal = old_val === 'Y'?'N':'Y'
|
|
if(riwayats[idx].flag_normal === 'Y'){
|
|
riwayats[idx].details.forEach((item) => item.chx = false)
|
|
riwayats[idx].details.forEach((item) => item.value = '')
|
|
}
|
|
this.$store.commit("sample/update_riwayats",riwayats)
|
|
},
|
|
toggleDetailRiwayat(idx){
|
|
var riwayats = this.$store.state.sample.riwayats
|
|
var old_val = riwayats[idx].show_all
|
|
riwayats[idx].show_all = old_val === 'Y'?'N':'Y'
|
|
this.$store.commit("sample/update_riwayats",riwayats)
|
|
},
|
|
toggleDetailFisik(idx){
|
|
var fisiks = this.$store.state.sample.fisiks
|
|
var old_val = fisiks[idx].show_all
|
|
fisiks[idx].show_all = old_val === 'Y'?'N':'Y'
|
|
this.$store.commit("sample/update_fisiks",fisiks)
|
|
},
|
|
toggleDetailK3(idx){
|
|
var k3s = this.$store.state.sample.k3s
|
|
var old_val = k3s[idx].show_all
|
|
k3s[idx].show_all = old_val === 'Y'?'N':'Y'
|
|
this.$store.commit("sample/update_k3s",k3s)
|
|
},
|
|
selectedLang(value){
|
|
return {id:value.language_id,name:value.language_name}
|
|
},
|
|
selectedlangName(value){
|
|
return value.language_name
|
|
},
|
|
check_saved(test){
|
|
var trx = this.$store.state.sample.selected_transaction
|
|
if(trx.details[0].template_name === 'Fisik Umum' || trx.details[0].template_name === 'Fisik Umum K3' || trx.details[0].template_name === 'Fisik Umum Konsul'){
|
|
return true
|
|
}
|
|
else if(trx.details[0].template_name === '6MWT'){
|
|
return this.$store.state.sample.data_6mwt.id === '0' ?false:true
|
|
}
|
|
else{
|
|
var arrdetails = test.details
|
|
var notempty = _.filter(arrdetails, function(o) { return o.result_value_before !== '' })
|
|
//console.log(notempty)
|
|
if(notempty.length === 0)
|
|
return false
|
|
else
|
|
return true
|
|
}
|
|
|
|
},
|
|
changeLang(){
|
|
this.dialoglang = false
|
|
var trx = this.xnowtest
|
|
var arr = this.$store.state.sample.selected_transaction
|
|
var arrdetails = arr.details
|
|
let idx = _.findIndex(arrdetails, function(o) { return o.trx_id == trx.trx_id })
|
|
|
|
if(arr.details[0].template_name === 'Fisik Umum' || arr.details[0].template_name === 'Fisik Umum K3' || arr.details[0].template_name === 'UMUM_KONSUL'){
|
|
console.log(arr.details[0].template_name)
|
|
if(arr.details[0].template_name === 'Fisik Umum')
|
|
this.$store.commit("sample/update_tabs_fisik",[{id:1,name:'RIWAYAT'},{id:2,name:'FISIK'}])
|
|
if(arr.details[0].template_name === 'Fisik Umum K3')
|
|
this.$store.commit("sample/update_tabs_fisik",[{id:1,name:'RIWAYAT'},{id:2,name:'FISIK'},{id:3,name:'PAJANAN'}])
|
|
if(arr.details[0].template_name === 'UMUM_KONSUL')
|
|
this.$store.commit("sample/update_tabs_fisik",[{id:1,name:'RIWAYAT'},{id:2,name:'FISIK'},{id:3,name:'KONSULTASI'}])
|
|
var prm = arr.details[0]
|
|
prm.act = arr.details[0].template_name
|
|
|
|
var seltrx = arr
|
|
seltrx.details[idx].language_id = this.$store.state.sample.sellang.id
|
|
seltrx.details[idx].language_name = this.$store.state.sample.sellang.name
|
|
this.$store.commit("update_selected_transaction",seltrx)
|
|
|
|
this.$store.dispatch("sample/getumum",prm)
|
|
// this.generateRiwayatRow()
|
|
}
|
|
else{
|
|
this.$store.dispatch("sample/getrstbylang",{
|
|
selected_trx:arr,
|
|
trx:trx,
|
|
lang:this.$store.state.sample.sellang,
|
|
selected_trx:this.$store.state.sample.selected_transaction,
|
|
idx:idx,
|
|
detail:arrdetails[idx]})
|
|
}
|
|
|
|
},
|
|
selectLang(trx,lang){
|
|
|
|
var arr = this.$store.state.sample.selected_transaction
|
|
var arrdetails = arr.details
|
|
let idx = _.findIndex(arrdetails, function(o) { return o.trx_id == trx.trx_id })
|
|
|
|
if(arr.details[0].template_name === 'Fisik Umum' || arr.details[0].template_name === 'Fisik Umum K3' || arr.details[0].template_name === 'UMUM_KONSUL'){
|
|
console.log(arr.details[0].template_name)
|
|
if(arr.details[0].template_name === 'Fisik Umum')
|
|
this.$store.commit("sample/update_tabs_fisik",[{id:1,name:'RIWAYAT'},{id:2,name:'FISIK'}])
|
|
if(arr.details[0].template_name === 'Fisik Umum K3')
|
|
this.$store.commit("sample/update_tabs_fisik",[{id:1,name:'RIWAYAT'},{id:2,name:'FISIK'},{id:3,name:'PAJANAN'}])
|
|
if(arr.details[0].template_name === 'UMUM_KONSUL')
|
|
this.$store.commit("sample/update_tabs_fisik",[{id:1,name:'RIWAYAT'},{id:2,name:'FISIK'},{id:3,name:'KONSULTASI'}])
|
|
var prm = arr.details[0]
|
|
prm.act = arr.details[0].template_name
|
|
|
|
var seltrx = arr
|
|
seltrx.details[idx].language_id = lang.id
|
|
seltrx.details[idx].language_name = lang.name
|
|
this.$store.commit("update_selected_transaction",seltrx)
|
|
|
|
this.$store.dispatch("sample/getumum",prm)
|
|
// this.generateRiwayatRow()
|
|
}
|
|
else{
|
|
this.$store.dispatch("sample/getrstbylang",{
|
|
selected_trx:arr,
|
|
trx:trx,
|
|
lang:lang,
|
|
selected_trx:this.$store.state.sample.selected_transaction,
|
|
idx:idx,
|
|
detail:arrdetails[idx]})
|
|
}
|
|
|
|
},
|
|
changeResult(){
|
|
this.$store.commit("sample/update_no_save",1)
|
|
},
|
|
changeFlagPrint(value,rst_idx,test_idx){
|
|
var selected_patient = this.$store.state.sample.selected_transaction
|
|
console.log(selected_patient)
|
|
selected_patient.details[test_idx].details[rst_idx].flag_print = value === 'Y' ?'N':'Y'
|
|
//console.log(selected_patient[test_idx][rst_idx])
|
|
this.$store.dispatch("sample/save_flagprint",{selected_trx:selected_patient,row:selected_patient.details[test_idx].details[rst_idx]})
|
|
},
|
|
saveResult(trx,act){
|
|
var ar = this.$store.state.sample.transactions
|
|
var arr = this.$store.state.sample.selected_transaction
|
|
let idx = _.findIndex(ar, function(o) { return o.re_id == arr.re_id })
|
|
var template = arr.details[0].template_name
|
|
var error_msg = []
|
|
//var riwayats = this.riwayats
|
|
|
|
if(template === 'Fisik Umum' || template === 'Fisik Umum K3' || template === 'Fisik Umum Konsul'){
|
|
var go_action = true
|
|
var riwayats = this.riwayats
|
|
var fisiks = this.fisiks
|
|
let k3s = this.k3s
|
|
var idx_keluhan = _.findIndex(riwayats, function(o) { return o.title == "KELUHAN SAAT INI"; });
|
|
riwayats.forEach(function(item,index){
|
|
console.log(item.flag_normal)
|
|
if(item.flag_normal === 'N'){
|
|
var count_y = _.filter(item.details, function(o) { return o.chx }).length
|
|
if(item.type_form === 'XVS' || item.type_form === 'XD'){
|
|
count_y = 0
|
|
item.details.forEach(function(entry) {
|
|
count_y += _.filter(entry.details, function(o) { return o.chx }).length
|
|
})
|
|
}
|
|
|
|
if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(item.title === "RIWAYAT PENYAKIT KELUARGA"){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
count_y = 0
|
|
item.details.forEach(function(entry) {
|
|
count_y += _.filter(entry.options, function(o) { return o.selected }).length
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
console.log(item)
|
|
console.log(count_y)
|
|
if(count_y === 0){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+item.title+"</span>"
|
|
|
|
error_msg.push(x_msg)
|
|
}
|
|
}
|
|
})
|
|
|
|
error_msg_fisik = []
|
|
fisiks.forEach(function(item,index) {
|
|
if(item.title === "TANDA VITAL"){
|
|
item.details.forEach(function(entry) {
|
|
if(entry.id_code === "tanda_vital_5"){
|
|
if(entry.value_x === ''){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.label_x+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
if(entry.value_y === ''){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.label_y+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
else if(entry.id_code === "tanda_vital_6"){
|
|
if(entry.chx_x && entry.value === ''){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>Isi suhu jika demam</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
if(!entry.chx_x && !entry.chx_y){
|
|
console.log('suhu b')
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.label+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}else if(entry.id_code === "tanda_vital_4" || entry.id_code === "tanda_vital_2"){
|
|
if(!entry.chx_x && !entry.chx_y){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.label+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
else{
|
|
if(entry.value === ''){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.label+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
|
|
|
|
//count_y += _.filter(entry.options, function(o) { return o.selected }).length
|
|
})
|
|
}
|
|
|
|
var arr_form2 = ["KEADAAN UMUM"]
|
|
if(arr_form2.includes(item.title)){
|
|
var x_count = 0
|
|
item.details.forEach(function(entry) {
|
|
if(!entry.chx_x && !entry.chx_y){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.label+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
})
|
|
}
|
|
|
|
if(item.title === "LAPANG PANDANG"){
|
|
if(!item.details[0].chx_x && !item.details[0].chx_y){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+item.title+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
|
|
|
|
var arr_form3 = ["KEPALA WAJAH","MATA","TELINGA","GIGI","LEHER","THORAX / DADA","PARU-PARU","GENITOURINARIA"]
|
|
if(arr_form3.includes(item.title)){
|
|
let count_x = _.filter(item.details, function(o) { return o.chx }).length
|
|
if(count_x === 0){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+item.title+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
|
|
var arr_form4 = ["MULUT","JANTUNG","ANGGOTA GERAK","SISTEM PERSYARAFAN", "SISTEM INTEGUMEN"]
|
|
if(arr_form4.includes(item.title)){
|
|
item.details.forEach(entry => {
|
|
let count_x = _.filter(entry.details, function(o) { return o.chx }).length
|
|
if(count_x === 0){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.name+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
})
|
|
}
|
|
|
|
var arr_form5 = ["SMELL TEST","LOW BACK PAIN SCREENING TEST"]
|
|
if(arr_form5.includes(item.title)){
|
|
if(item.is_inspected === "Y"){
|
|
item.details.forEach(entry => {
|
|
let count_x = _.filter(entry.details, function(o) { return o.chx }).length
|
|
if(count_x === 0){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.name+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
if(item.title === "PERUT / ABDOMEN"){
|
|
item.details.forEach(entry => {
|
|
if(entry.name !== "Hernia" && entry.name !== "Pengukuran"){
|
|
let count_x = _.filter(entry.details, function(o) { return o.chx }).length
|
|
if(count_x === 0){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.name+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
|
|
if(entry.name === "Hernia"){
|
|
|
|
if(!entry.details[0].chx && !entry.details[1].chx){
|
|
console.log("dua hernia kiri")
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.name+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
|
|
let child_details = entry.details[1].details
|
|
if(entry.details[1].chx && !child_details[0].chx_value && !child_details[1].chx_a_value && !child_details[1].chx_b_value && !child_details[2].chx_a_value && !child_details[2].chx_b_value){
|
|
console.log("dua hernia kanan")
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.name+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
|
|
if(entry.name === "Pengukuran"){
|
|
|
|
if(entry.details[0].value == ""){
|
|
console.log("tiga "+entry.details[0].label)
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.details[0].label+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
if(entry.details[1].value == ""){
|
|
console.log("tiga "+entry.details[1].label)
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+entry.details[1].label+"</span>"
|
|
error_msg_fisik.push(x_msg)
|
|
}
|
|
}
|
|
})
|
|
|
|
}
|
|
})
|
|
|
|
var error_msg_pajanan = []
|
|
if(k3s.length > 0){
|
|
k3s.forEach(function(item,index){
|
|
if(item.is_notexist === 'N'){
|
|
let count_x = _.filter(item.details, function(o) { return o.chx }).length
|
|
if(count_x === 0){
|
|
go_action = false
|
|
var x_msg = "<span style='color:red'>"+item.title+"</span>"
|
|
error_msg_pajanan.push(x_msg)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
console.log("axx")
|
|
console.log(go_action)
|
|
if(go_action){
|
|
this.$store.commit("sample/update_last_id",arr.re_id)
|
|
this.$store.dispatch("sample/savefisik",{
|
|
template:template,
|
|
startdate:this.$store.state.sample.start_date,
|
|
enddate: this.$store.state.sample.end_date,
|
|
search:this.$store.state.sample.name_lab,
|
|
stationid:this.$store.state.sample.selected_station.id,
|
|
groupid:this.$store.state.sample.select_item_group.id,
|
|
subgroupid:this.$store.state.sample.select_item_subgroup.id,
|
|
lastid:arr.re_id,
|
|
trx:trx,
|
|
trx_numbering:arr.ordernumber,
|
|
riwayats:riwayats,
|
|
fisiks:this.fisiks,
|
|
umum_saran:this.umum_saran,
|
|
konsul:this.konsul,
|
|
k3s:this.k3s,
|
|
act:template,
|
|
action:act
|
|
})
|
|
}
|
|
else{
|
|
console.log("in error new")
|
|
console.log(error_msg)
|
|
var msg = ""
|
|
if(error_msg.length > 0){
|
|
msg += "<p class='font-weigth-bold'>Mohon dicek ulang form riwayat berikut : </p>"
|
|
msg += error_msg.join(', ')
|
|
}
|
|
|
|
if(error_msg_fisik.length > 0){
|
|
msg += "<p class='mt-3 font-weigth-bold'>Mohon dicek ulang form fisik berikut : </p>"
|
|
msg += error_msg_fisik.join(', ')
|
|
}
|
|
|
|
if(error_msg_pajanan.length > 0){
|
|
msg += "<p class='mt-3 font-weigth-bold'>Mohon dicek ulang form pajanan berikut : </p>"
|
|
msg += error_msg_pajanan.join(', ')
|
|
}
|
|
|
|
this.msg_alert_info = msg
|
|
this.dialog_alert_info = true
|
|
}
|
|
}
|
|
else if(template === '6MWT'){
|
|
this.$store.dispatch("sample/save6mwt",{
|
|
template:template,
|
|
startdate:this.$store.state.sample.start_date,
|
|
enddate: this.$store.state.sample.end_date,
|
|
search:this.$store.state.sample.name_lab,
|
|
stationid:this.$store.state.sample.selected_station.id,
|
|
groupid:this.$store.state.sample.select_item_group.id,
|
|
subgroupid:this.$store.state.sample.select_item_subgroup.id,
|
|
lastid:arr.re_id,
|
|
trx:trx,
|
|
trx_numbering:arr.ordernumber,
|
|
data_6mwt:this.$store.state.sample.data_6mwt,
|
|
vomax:this.textvomax,
|
|
category:this.categoryvomax,
|
|
act:template,
|
|
action:act
|
|
})
|
|
}
|
|
else{
|
|
this.$store.dispatch("sample/saveresult",{
|
|
startdate:this.$store.state.sample.start_date,
|
|
enddate: this.$store.state.sample.end_date,
|
|
search:this.$store.state.sample.name_lab,
|
|
stationid:this.$store.state.sample.selected_station.id,
|
|
groupid:this.$store.state.sample.select_item_group.id,
|
|
subgroupid:this.$store.state.sample.select_item_subgroup.id,
|
|
lastid:arr.re_id,
|
|
trx:trx,
|
|
trx_numbering:arr.ordernumber,
|
|
act:act
|
|
})
|
|
}
|
|
},
|
|
val1(trx,act){
|
|
//console.log(act)
|
|
if(parseInt(trx.doctor_id) === 0){
|
|
var msg = "Orang sakit diperiksa dokter, kalau kosong tiada yang periksa"
|
|
this.$store.commit("sample/update_msg_info",msg)
|
|
this.$store.commit("sample/update_open_dialog_info",true)
|
|
}
|
|
else{
|
|
this.$store.commit("sample/update_act",act)
|
|
this.$store.commit("sample/update_last_trx",trx)
|
|
var arr = this.$store.state.sample.selected_transaction
|
|
var msg = "Anda yakin akan melakukan verifikasi untuk pemeriksaan "+trx.test_name+" dari pasien "+arr.patient_fullname+" ?"
|
|
this.$store.commit("sample/update_msg_action",msg)
|
|
this.$store.commit("sample/update_dialog_action",true)
|
|
}
|
|
},
|
|
unval1(trx,act){
|
|
console.log(act)
|
|
this.$store.commit("sample/update_act",act)
|
|
this.$store.commit("sample/update_last_trx",trx)
|
|
var arr = this.$store.state.sample.selected_transaction
|
|
var msg = "Anda yakin akan membatalkan verifikasi untuk pemeriksaan "+trx.test_name+" dari pasien "+arr.patient_fullname+" ?"
|
|
this.$store.commit("sample/update_msg_action",msg)
|
|
this.$store.commit("sample/update_dialog_action",true)
|
|
},
|
|
val2(trx,act){
|
|
console.log(act)
|
|
this.$store.commit("sample/update_act",act)
|
|
this.$store.commit("sample/update_last_trx",trx)
|
|
var arr = this.$store.state.sample.selected_transaction
|
|
var msg = "Anda yakin akan melakukan validasi untuk pemeriksaan "+trx.test_name+" dari pasien "+arr.patient_fullname+" ?"
|
|
this.$store.commit("sample/update_msg_action",msg)
|
|
this.$store.commit("sample/update_dialog_action",true)
|
|
},
|
|
unval2(trx,act){
|
|
console.log(act)
|
|
this.$store.commit("sample/update_act",act)
|
|
this.$store.commit("sample/update_last_trx",trx)
|
|
var arr = this.$store.state.sample.selected_transaction
|
|
var msg = "Anda yakin akan membatalkan validasi untuk pemeriksaan "+trx.test_name+" dari pasien "+arr.patient_fullname+" ?"
|
|
this.$store.commit("sample/update_msg_action",msg)
|
|
this.$store.commit("sample/update_dialog_action",true)
|
|
},
|
|
lama_print(trx,act){
|
|
console.log(act)
|
|
this.$store.commit("sample/update_act",act)
|
|
this.$store.commit("sample/update_last_trx",trx)
|
|
this.printwidth = 1028
|
|
this.printtitle = ""
|
|
let idx = trx.trx_id
|
|
let user = one_user()
|
|
var d = new Date();
|
|
var n = d.getTime()
|
|
var rptname = 'rpt_hasil_so'
|
|
if(trx.language_name === 'EN')
|
|
rptname = 'rpt_hasil_so_eng'
|
|
|
|
this.urlprint = "/birt/run?__report=report/one/lab/"+rptname+".rptdesign&__format=pdf&username="+user.M_StaffName+"&PID="+idx+'&PLang='+trx.language_id+'&tm='+n
|
|
|
|
this.openprint = true
|
|
},
|
|
async doPrintAfterLang(){
|
|
this.dialogprintlang = false
|
|
var trx = this.$store.state.sample.selected_test
|
|
var trx_selected = this.$store.state.sample.selected_transaction
|
|
console.log(trx)
|
|
var idx_true = _.findIndex(this.dialoglangs, item => item.chex === 'Y')
|
|
this.xselectedlang = {id:1,name:"Bahasa Indonesia"}
|
|
this.printwidth = 1028
|
|
this.printtitle = ""
|
|
let idx = trx.re_id
|
|
let user = one_user()
|
|
var d = new Date();
|
|
var n = d.getTime()
|
|
var rptname = ''
|
|
var folder = 'lab'
|
|
var rptname = 'rpt_hasil_so_layanan'
|
|
if(this.xselectedlang.id == 2){
|
|
rptname = 'rpt_hasil_so_layanan_eng'
|
|
}
|
|
var rptname_email = 'rpt_hasil_so_layanan_email'
|
|
if(trx.test_name.toUpperCase() === 'MANTHOUX TEST')
|
|
rptname = 'rpt_hasil_so_manthoux'
|
|
|
|
if(this.xselectedlang.id == 2){
|
|
rptname = 'rpt_hasil_so_layanan_eng'
|
|
if(trx.test_name.toUpperCase() === 'MANTHOUX TEST')
|
|
rptname = 'rpt_hasil_so_manthoux_eng'
|
|
}
|
|
|
|
rptname_email = rptname + '_email'
|
|
|
|
var xurl = ""
|
|
var xurl_email = ""
|
|
var template = trx_selected.details[0].template_name
|
|
this.urlprint = ''
|
|
if(template === 'Fisik Umum' || template === 'Fisik Umum K3'){
|
|
folder = 'mcu'
|
|
var typemcu = 'riwayat'
|
|
var rpt_emails = []
|
|
var riwayats = this.riwayats
|
|
var idx_keluhan = _.findIndex(riwayats, function(o) { return o.title == "KELUHAN SAAT INI"; });
|
|
|
|
|
|
if(this.tab === 1 && this.xselectedlang.id !== 2 ){
|
|
rptname = "mcu_riwayat"
|
|
typemcu = 'riwayat'
|
|
if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
rptname = "mcu_riwayat"
|
|
}
|
|
}
|
|
//rpt_emails.push({rptname:rptname+"_email",typemcu:typemcu})
|
|
}
|
|
if(this.tab === 1 && this.xselectedlang.id == 2 ){
|
|
rptname = "mcu_riwayat_eng"
|
|
typemcu = 'riwayat'
|
|
//rpt_emails.push({rptname:rptname+"_email",typemcu:typemcu})
|
|
if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
rptname = "mcu_riwayat_eng_v2"
|
|
}
|
|
}
|
|
}
|
|
if(this.tab == 2 && this.xselectedlang.id !== 2 ){
|
|
rptname = "mcu_fisik"
|
|
typemcu = "fisik"
|
|
// rpt_emails.push({rptname:rptname+"_email",typemcu:typemcu})
|
|
if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
rptname = "mcu_fisik"
|
|
}
|
|
}
|
|
}
|
|
if(this.tab == 2 && this.xselectedlang.id == 2 ){
|
|
rptname = "mcu_fisik_eng"
|
|
typemcu = "fisik"
|
|
// rpt_emails.push({rptname:rptname,typemcu:typemcu})
|
|
if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
rptname = "mcu_fisik_eng_v2"
|
|
}
|
|
}
|
|
}
|
|
if(this.tab == 3 && this.xselectedlang.id !== 2 ){
|
|
rptname = "mcu_pajanan"
|
|
typemcu = "k3"
|
|
/*if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
rptname = "mcu_pajanan_v2"
|
|
}
|
|
}*/
|
|
}
|
|
if(this.tab == 3 && this.xselectedlang.id == 2 ){
|
|
rptname = "mcu_pajanan_eng"
|
|
typemcu = "k3"
|
|
/*if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
rptname = "mcu_pajanan_eng_v2"
|
|
}
|
|
}*/
|
|
}
|
|
//console.log(rptname);
|
|
rptname_email = rptname + '_email'
|
|
|
|
xurl = "/birt/run?__report=report/one/mcu/"+rptname+".rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType="+typemcu+"&username="+user.M_StaffName+"&tm="+n
|
|
if(template === 'Fisik Umum' || 'UMUM_KONSUL'){
|
|
xurl_email = "/birt/run?__report=report/one/mcu/mcu_riwayat_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=riwayat&username="+user.M_StaffName+"&tm="+n
|
|
xurl_email += "|^|"
|
|
xurl_email += "/birt/run?__report=report/one/mcu/mcu_fisik_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=fisik&username="+user.M_StaffName+"&tm="+n
|
|
if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
xurl_email = "/birt/run?__report=report/one/mcu/mcu_riwayat_v2_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=riwayat&username="+user.M_StaffName+"&tm="+n
|
|
xurl_email += "|^|"
|
|
xurl_email += "/birt/run?__report=report/one/mcu/mcu_fisik_v2_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=fisik&username="+user.M_StaffName+"&tm="+n
|
|
}
|
|
}
|
|
}
|
|
|
|
if(template === 'Fisik Umum K3'){
|
|
xurl_email = "/birt/run?__report=report/one/mcu/mcu_riwayat_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=riwayat&username="+user.M_StaffName+"&tm="+n
|
|
xurl_email += "|^|"
|
|
xurl_email += "/birt/run?__report=report/one/mcu/mcu_fisik_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=fisik&username="+user.M_StaffName+"&tm="+n
|
|
xurl_email += "|^|"
|
|
xurl_email += "/birt/run?__report=report/one/mcu/mcu_pajanan_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=pajanan&username="+user.M_StaffName+"&tm="+n
|
|
if(_.has(riwayats[idx_keluhan], 'version')){
|
|
if(riwayats[idx_keluhan].version === 2){
|
|
xurl_email = "/birt/run?__report=report/one/mcu/mcu_riwayat_v2_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=riwayat&username="+user.M_StaffName+"&tm="+n
|
|
xurl_email += "|^|"
|
|
xurl_email += "/birt/run?__report=report/one/mcu/mcu_fisik_v2_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=fisik&username="+user.M_StaffName+"&tm="+n
|
|
xurl_email += "|^|"
|
|
xurl_email += "/birt/run?__report=report/one/mcu/mcu_pajanan_email.rptdesign&__format=pdf&PID="+idx+"&PLang="+trx.language_id+"&PType=pajanan&username="+user.M_StaffName+"&tm="+n
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
else if(template === '6MWT'){
|
|
rptname = 'rpt_hasil_so_smwt'
|
|
rptname_email = rptname + '_email'
|
|
|
|
xurl = "/birt/run?__report=report/one/"+folder+"/"+rptname+".rptdesign&__format=pdf&username="+user.M_StaffName+"&PID="+idx+'&PLang='+trx.language_id+'&tm='+n
|
|
xurl_email = "/birt/run?__report=report/one/"+folder+"/"+rptname_email+".rptdesign&__format=pdf&username="+user.M_StaffName+"&PID="+idx+'&PLang='+trx.language_id+'&tm='+n
|
|
}
|
|
else{
|
|
xurl = "/birt/run?__report=report/one/"+folder+"/"+rptname+".rptdesign&__format=pdf&username="+user.M_StaffName+"&PID="+idx+'&PLang='+trx.language_id+'&tm='+n
|
|
|
|
xurl_email = "/birt/run?__report=report/one/"+folder+"/"+rptname_email+".rptdesign&__format=pdf&username="+user.M_StaffName+"&PID="+idx+'&PLang='+trx.language_id+'&tm='+n
|
|
}
|
|
console.log('ini mulai url email')
|
|
console.log(template)
|
|
console.log(xurl_email)
|
|
this.urlprint = xurl
|
|
let prm_email = {
|
|
orderID: trx.orderid,
|
|
type: trx.group_name,
|
|
url: xurl_email,
|
|
re_id: trx.re_id,
|
|
format: ''
|
|
}
|
|
//await this.$store.dispatch("email/save",prm_email)
|
|
console.log(xurl)
|
|
this.openprint = true
|
|
var seltrx = this.$store.state.sample.selected_transaction
|
|
var deliveries = seltrx.deliveries
|
|
var e_del = _.filter(deliveries, function(o) { return o.code === 'EMAIL' || o.code === 'WHATSAPP' || o.code === 'TELEGRAM' })
|
|
console.log(e_del)
|
|
if(e_del.length > 0){
|
|
this.$store.dispatch("email/save",prm_email)
|
|
}
|
|
|
|
},
|
|
print(trx,act,template_xname){
|
|
this.template_xname = template_xname
|
|
// console.log(trx)
|
|
//this.dialogprintlang = true
|
|
var nowlang = trx.langs
|
|
console.log(trx)
|
|
//_.forEach(nowlang, function(num) { num.chex = 'N' })
|
|
//var lang_idx = _.findIndex(nowlang, function(o) { return o.id == trx.language_id })
|
|
//nowlang[lang_idx].chex = 'Y'
|
|
//this.$store.commit("sample/update_item_langs",nowlang )
|
|
//this.xselectedlang = trx.langs[0]
|
|
this.$store.commit("sample/update_selected_test",trx)
|
|
this.$store.commit("sample/update_act",act)
|
|
this.$store.commit("sample/update_last_trx",trx)
|
|
this.doPrintAfterLang()
|
|
},
|
|
closePrint(){
|
|
this.openprint = false
|
|
var prm = this.$store.state.sample.last_trx
|
|
this.$store.dispatch("sample/printcount",prm)
|
|
},
|
|
savedoctor(){
|
|
var prm = {}
|
|
prm.selected_detail = this.$store.state.sample.selected_detail
|
|
prm.selected_doctor = this.selected_doctor
|
|
this.$store.dispatch("sample/savedoctor",prm)
|
|
},
|
|
closeDialogAction(){
|
|
var trx = this.$store.state.sample.last_trx
|
|
var act = this.$store.state.sample.act
|
|
this.saveResult(trx,act)
|
|
},
|
|
opendialogdoctor(test){
|
|
this.$store.commit("sample/update_selected_detail",test)
|
|
this.$store.commit("sample/update_doctors",[])
|
|
this.selected_doctor = {}
|
|
if(test.doctor_id !== 0 || test.doctor_id !== '0'){
|
|
this.selected_doctor = {id:test.doctor_id,name:test.doctor_fullname}
|
|
this.$store.commit("sample/update_doctors",[{id:test.doctor_id,name:test.doctor_fullname}])
|
|
}
|
|
this.xdialogdoctor = true
|
|
},
|
|
openImage(value){
|
|
this.$store.commit("sample/update_selected_photo",value)
|
|
this.$store.commit("sample/update_image",value.newname)
|
|
this.$store.commit("sample/update_dialog_image",true)
|
|
},
|
|
pasteTemplate(rst,idx){
|
|
this.idx_test = idx
|
|
var seltrx = this.$store.state.sample.selected_transaction
|
|
var datax = seltrx.details[idx]
|
|
if(datax.status === 'NEW'){
|
|
var prm = {
|
|
idx:idx,
|
|
template_id:datax.template_id,
|
|
doctor_id:datax.doctor_id,
|
|
language_id:datax.language_id,
|
|
test_id:datax.test_id}
|
|
this.$store.dispatch("sample/gettemplate",prm)
|
|
}
|
|
},
|
|
doPasteTemplate(){
|
|
var seltrx = this.$store.state.sample.selected_transaction
|
|
//console.log(seltrx)
|
|
var temp_val = this.$store.state.sample.selected_template.details
|
|
var test_idx = this.idx_test
|
|
|
|
seltrx.details[test_idx].details.forEach(function(temp,index) {
|
|
var template_detail_id = seltrx.details[test_idx].details[index].template_detail_id
|
|
var value_now = seltrx.details[test_idx].details[index].result_value
|
|
var filter_temp = _.filter(temp_val, function(o) { return o.template_detail_id === template_detail_id })
|
|
//console.log(filter_temp)
|
|
if(filter_temp.length > 0 && ( !value_now || value_now === '')){
|
|
seltrx.details[test_idx].details[index].result_value = filter_temp[0].value
|
|
}
|
|
|
|
})
|
|
|
|
this.$store.commit("update_selected_transaction",seltrx)
|
|
this.dialogtemplates = false
|
|
},
|
|
thr_search_doctor: _.debounce( function () {
|
|
this.$store.dispatch("sample/searchdoctor",this.search_doctor)
|
|
},2000),
|
|
|
|
},
|
|
watch: {
|
|
search_doctor(val,old) {
|
|
if (val == old ) return
|
|
if (! val) return
|
|
if (val.length < 1 ) return
|
|
//if (this.$store.state.sample.update_autocomplete_status == 1 ) return
|
|
this.thr_search_doctor()
|
|
}
|
|
}
|
|
}
|
|
</script>
|