1414 lines
70 KiB
Vue
1414 lines
70 KiB
Vue
<template>
|
|
<v-layout v-if="xact !== 'new'" column>
|
|
<v-dialog v-model="dialogconfirmationdeletepat" persistent max-width="290">
|
|
<v-card>
|
|
<v-card-title dark class="headline error pt-2 pb-2" primary-title style="color:white">
|
|
<h4 dark>Konfirmasi</h4>
|
|
</v-card-title>
|
|
<v-card-text>
|
|
{{msgconfirmationdeletepat}}
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn small color="error darken-1 text-sm-left" flat @click="doDeletePat()">Hapus</v-btn>
|
|
<v-btn small color="primary darken-1 text-sm-right" flat @click="dialogconfirmationdeletepat = false">Batal</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialogchooseprint" persistent max-width="20%">
|
|
<v-card>
|
|
<v-card-title class="headline white--text grey darken-1 pt-2 pb-2" primary-title style="color:white">
|
|
<h4>Pilih Format Laporan</h4>
|
|
</v-card-title>
|
|
<v-card-text class="pt-2 pb-2">
|
|
<v-layout row>
|
|
<v-flex xs12 d-flex>
|
|
<v-layout row>
|
|
<v-flex pb-1 xs12>
|
|
<v-layout row>
|
|
<v-flex pt-2 pr-2 xs12>
|
|
<v-radio-group v-model="formatreport" row>
|
|
<v-radio color="grey" label="PDF" value="pdf"></v-radio>
|
|
<v-radio color="grey" label="EXCEL" value="xls"></v-radio>
|
|
</v-radio-group>
|
|
</v-flex>
|
|
</v-layout>
|
|
</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="black" flat @click="dialogchooseprint = false">
|
|
Tutup
|
|
</v-btn>
|
|
<v-btn color="grey" flat @click="doPrint()">
|
|
Cetak
|
|
</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialogconfirmationsend" persistent max-width="290">
|
|
<v-card>
|
|
<v-card-title dark class="headline success pt-2 pb-2" primary-title style="color:white">
|
|
<h4 dark>Konfirmasi</h4>
|
|
</v-card-title>
|
|
<v-card-text>
|
|
{{msgconfirmationsend}}
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn small color="success darken-1 text-sm-left" flat @click="doOrderNilaiNormal()">Kirim</v-btn>
|
|
<v-btn small color="primary darken-1 text-sm-right" flat @click="dialogconfirmationsend = false">Batal</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialogformnilainormal" persistent max-width="650">
|
|
<v-card>
|
|
<v-card-title>
|
|
<span class="headline">Form Nilai Normal</span>
|
|
</v-card-title>
|
|
<v-card-text class="pt-0 pb-0">
|
|
<v-layout wrap>
|
|
<v-flex xs12>
|
|
<!-- <v-checkbox v-model="isabnormal" label="Abnormal"></v-checkbox> -->
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs4 pa-1>
|
|
<v-autocomplete label="Metode" v-model="methode" :items="xmethodes" :search-input.sync="search_methode" auto-select-first
|
|
no-filter item-text="Nat_MethodeName" return-object :loading="isLoading" no-data-text="Pilih Metode">
|
|
<template slot="item" slot-scope="{ item }">
|
|
<v-list-tile-content>
|
|
<v-list-tile-title v-text="item.Nat_MethodeName"></v-list-tile-title>
|
|
</v-list-tile-content>
|
|
</template>
|
|
</v-autocomplete>
|
|
<p v-if="checkError('requirexmethode')" class="error pl-2 pr-2" style="color:#fff">Pilih Metode</p>
|
|
</v-flex>
|
|
<v-flex xs4 pa-1>
|
|
<v-select item-text="Nat_FlagName" return-object :items="xflages" v-model="xflag" label="Flag*"></v-select>
|
|
<p v-if="checkError('requirexflag')" class="error pl-2 pr-2" style="color:#fff">Pilih flag</p>
|
|
</v-flex>
|
|
<v-flex xs4 pa-1>
|
|
<v-select item-text="Nat_NormalValueTypeName" return-object :items="xnormalvaluetypees" v-model="xnormalvaluetype" label="Tipe*"></v-select>
|
|
<p v-if="checkError('requirexnormalvaluetype')" class="error pl-2 pr-2" style="color:#fff">Pilih tipe</p>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs6 pa-1>
|
|
<v-menu ref="menuvaliddate" v-model="menuvaliddate" :close-on-content-click="false" :nudge-right="0" lazy transition="scale-transition"
|
|
offset-y full-width max-width="290px" min-width="290px">
|
|
<template v-slot:activator="{ on }">
|
|
<v-text-field v-model="validComputedDateFormatted" label="Tgl. Valid" readonly v-on="on" @blur="date = deFormatedDate(validComputedDateFormatted)"></v-text-field>
|
|
</template>
|
|
<v-date-picker v-model="xvaliddate" no-title @input="menuvaliddate = false"></v-date-picker>
|
|
</v-flex>
|
|
<v-flex xs6 pa-1>
|
|
<v-select v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 3"
|
|
item-text="Nat_SexName" return-object :items="xsexes" v-model="xsex" label="Jenis Kelamin*"></v-select>
|
|
<p v-if="checkError('requirexsex')" class="error pl-2 pr-2" style="color:#fff">Pilih jenis kelamin dulu dong</p>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
|
|
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
v-model="xminage" label="Min Age"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID ==2"
|
|
v-model="xmaxage" label="Max Age"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
v-model="isminageinclusive" label="Min Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
v-model="ismaxageinclusive" label="Max Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-select v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
item-text="Nat_AgeUnitName" return-object :items="xageunites" v-model="xageunit" label="Satuan Umur"></v-select>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-model="xminvalue" label="Min Value"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-model="xmaxvalue" label="Max Value"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-model="isminvalueinclusive" label="Min Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-model="ismaxvalueinclusive" label="Max Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs6 pa-1>
|
|
<v-textarea label="Catatan" v-model="xnote"></v-textarea>
|
|
</v-flex>
|
|
<v-flex xs6 pa-1>
|
|
<v-textarea label="Deskripsi" v-model="xdescription"></v-textarea>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-divider></v-divider>
|
|
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="blue darken-1" flat @click="dialogformnilainormal = false">Tutup</v-btn>
|
|
<v-btn v-if="xactpat === 'new'" color="blue darken-1" flat @click="saveNewNilaiNormal()">Simpan</v-btn>
|
|
<v-btn v-if="xactpat === 'edit'" color="blue darken-1" flat @click="saveEditNilaiNormal()">Simpan</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-dialog v-model="dialogformnilaiabnormal" persistent max-width="650">
|
|
<v-card>
|
|
<v-card-title>
|
|
<span class="headline">Form Nilai Abnormal</span>
|
|
</v-card-title>
|
|
<v-card-text class="pt-0 pb-0">
|
|
<v-layout wrap>
|
|
<v-flex xs12>
|
|
<!-- <v-checkbox v-model="isabnormal" label="Abnormal"></v-checkbox> -->
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs4 pa-1>
|
|
<v-autocomplete label="Metode" v-model="methode" :items="xmethodes" :search-input.sync="search_methode" auto-select-first
|
|
no-filter item-text="Nat_MethodeName" return-object :loading="isLoading" no-data-text="Pilih Metode">
|
|
<template slot="item" slot-scope="{ item }">
|
|
<v-list-tile-content>
|
|
<v-list-tile-title v-text="item.Nat_MethodeName"></v-list-tile-title>
|
|
</v-list-tile-content>
|
|
</template>
|
|
</v-autocomplete>
|
|
<p v-if="checkError('requirexmethode')" class="error pl-2 pr-2" style="color:#fff">Pilih Metode</p>
|
|
</v-flex>
|
|
<v-flex xs4 pa-1>
|
|
<v-select item-text="Nat_FlagName" return-object :items="xflages" v-model="xflag" label="Flag*"></v-select>
|
|
<p v-if="checkError('requirexflag')" class="error pl-2 pr-2" style="color:#fff">Pilih flag</p>
|
|
</v-flex>
|
|
<v-flex xs4 pa-1>
|
|
<v-select item-text="Nat_NormalValueTypeName" return-object :items="xnormalvaluetypees" v-model="xnormalvaluetype" label="Tipe*"></v-select>
|
|
<p v-if="checkError('requirexnormalvaluetype')" class="error pl-2 pr-2" style="color:#fff">Pilih tipe</p>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs6 pa-1>
|
|
<v-menu ref="menuvaliddate" v-model="menuvaliddate" :close-on-content-click="false" :nudge-right="0" lazy transition="scale-transition"
|
|
offset-y full-width max-width="290px" min-width="290px">
|
|
<template v-slot:activator="{ on }">
|
|
<v-text-field v-model="validComputedDateFormatted" label="Tgl. Valid" readonly v-on="on" @blur="date = deFormatedDate(validComputedDateFormatted)"></v-text-field>
|
|
</template>
|
|
<v-date-picker v-model="xvaliddate" no-title @input="menuvaliddate = false"></v-date-picker>
|
|
</v-flex>
|
|
<v-flex xs6 pa-1>
|
|
<v-select v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 3"
|
|
item-text="Nat_SexName" return-object :items="xsexes" v-model="xsex" label="Jenis Kelamin*"></v-select>
|
|
<p v-if="checkError('requirexsex')" class="error pl-2 pr-2" style="color:#fff">Pilih jenis kelamin dulu dong</p>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
|
|
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
v-model="xminage" label="Min Age"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID ==2"
|
|
v-model="xmaxage" label="Max Age"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
v-model="isminageinclusive" label="Min Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
v-model="ismaxageinclusive" label="Max Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-select v-if="this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 1 || this.$store.state.normalvalue.selected_normalvaluetype.Nat_NormalValueTypeID == 2"
|
|
item-text="Nat_AgeUnitName" return-object :items="xageunites" v-model="xageunit" label="Satuan Umur"></v-select>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-model="xminvalue" label="Min Value"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-text-field v-model="xmaxvalue" label="Max Value"></v-text-field>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-model="isminvalueinclusive" label="Min Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
<v-checkbox v-model="ismaxvalueinclusive" label="Max Inclusive"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs3 pa-1>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-flex>
|
|
<v-flex xs12>
|
|
<v-layout>
|
|
<v-flex xs6 pa-1>
|
|
<v-textarea label="Catatan" v-model="xnote"></v-textarea>
|
|
</v-flex>
|
|
<v-flex xs6 pa-1>
|
|
<v-textarea label="Deskripsi" v-model="xdescription"></v-textarea>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
<v-divider></v-divider>
|
|
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="blue darken-1" flat @click="dialogformnilaiabnormal = false">Tutup</v-btn>
|
|
<v-btn v-if="xactpatabnormal === 'new'" color="blue darken-1" flat @click="saveNewNilaiAbormal()">Buat Nilai Abnormal</v-btn>
|
|
<v-btn v-if="xactpatabnormal === 'edit'" color="blue darken-1" flat @click="saveEditNilaiAbnormal()">Simpan</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
<v-card>
|
|
<v-layout row>
|
|
<v-flex xs12>
|
|
|
|
<v-divider></v-divider>
|
|
<v-card class="mb-2 pa-2 searchbox">
|
|
<v-subheader red--text text--lighten-1> DAFTAR NILAI NORMAL
|
|
<v-layout><span @click="createNewNilaiNormal" class="icon-medium-fill-base xs1 white--text primary ml-1 icon-add"></span>
|
|
<span @click="openprintformat" class="icon-medium-fill-base xs1 white--text grey darken-1 ml-1 icon-print"></span>
|
|
|
|
<v-text-field class="xs4 ma-1" label="Metode" placeholder="Cari..." outline v-model="methodename" @keyup.enter="searchMetode"
|
|
hide-details></v-text-field>
|
|
<v-select item-text="Nat_SexName" return-object :items="f_sexs" style="font-size:14px" class="xs4 mini-select ma-1" v-model="selected_filter_sex"
|
|
outline hide-details label="Jenis Kelamin"></v-select>
|
|
<v-select item-text="Nat_FlagName" return-object :items="f_flags" style="font-size:14px" class="xs4 mini-select ma-1" v-model="selected_filter_flag"
|
|
outline hide-details label="Flag"></v-select>
|
|
|
|
</v-subheader>
|
|
|
|
</v-layout>
|
|
</v-card>
|
|
<v-layout>
|
|
<v-flex xs12>
|
|
<v-card class="mb-2" color="white">
|
|
<v-layout row wrap>
|
|
<v-flex class="border-bottom-dashed" xs12 pt-2 pl-4 pr-4 pb-4>
|
|
<div class="rTable">
|
|
<div class="rTableHeading">
|
|
<div style="width:5%" class="rTableHead">ABNORMAL</div>
|
|
<div style="width:15%" class="rTableHead">METODE</div>
|
|
<div style="width:15%" class="rTableHead">FLAG</div>
|
|
<div style="width:10%" class="rTableHead">SEX</div>
|
|
<div style="width:15%" class="rTableHead">AGE RANGE</div>
|
|
<div style="width:10%" class="rTableHead">VALUE RANGE</div>
|
|
<div style="width:10%" class="rTableHead">AKSI</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="xnilainormals.length === 0" class="rTable pt-2">
|
|
<div class="rTableRow">
|
|
<div style="width:100%;text-align:center" class="rTableCell">Belum ada data</div>
|
|
</div>
|
|
</div>
|
|
<div v-if="xnilainormals.length > 0" v-for="(vo,idx) in xnilainormals" :key="vo.Nat_NormalValueID">
|
|
<div class="rTable">
|
|
<div class="rTableGroup">
|
|
<div class="rTableRow">
|
|
<div style="width:5%" v-bind:class="[vo.Nat_NormalValueIsAbnormal == 'N' ? 'rTableCell' : 'rTableCellAbnormal']" rfirstCell>{{vo.Nat_NormalValueIsAbnormal}}</div>
|
|
<div style="width:15%" v-bind:class="[vo.Nat_NormalValueIsAbnormal == 'N' ? 'rTableCell' : 'rTableCellAbnormal']">{{vo.Nat_MethodeName}}</div>
|
|
<div style="width:15%" v-bind:class="[vo.Nat_NormalValueIsAbnormal == 'N' ? 'rTableCell' : 'rTableCellAbnormal']">{{vo.Nat_FlagName}}</div>
|
|
<div style="width:10%" v-bind:class="[vo.Nat_NormalValueIsAbnormal == 'N' ? 'rTableCell' : 'rTableCellAbnormal']">{{vo.Nat_SexName}}</div>
|
|
<div style="width:15%" v-bind:class="[vo.Nat_NormalValueIsAbnormal == 'N' ? 'rTableCell' : 'rTableCellAbnormal']">{{vo.Nat_NormalValueAge}}</div>
|
|
<div style="width:10%" v-bind:class="[vo.Nat_NormalValueIsAbnormal == 'N' ? 'rTableCell' : 'rTableCellAbnormal']">{{vo.Nat_NormalValueValue}}</div>
|
|
<div style="width:10%" v-bind:class="[vo.Nat_NormalValueIsAbnormal == 'N' ? 'rTableCell' : 'rTableCellAbnormal']">
|
|
|
|
<v-icon style="color:#757575" @click="editNilaiNormal(vo)">edit</v-icon>
|
|
<v-icon style="color:#757575" @click="deleteNilaiNormal(vo)">clear</v-icon>
|
|
<v-icon v-if="vo.show_detail === 'N'" style="color:#757575" class="text-sm-right" @click="showDetail(idx)">more_vert</v-icon>
|
|
<v-icon v-if="vo.show_detail === 'Y'" style="color:#757575" class="text-sm-right" @click="hideDetail(idx)">more_vert</v-icon>
|
|
<v-icon v-if="vo.show_detail === 'Y'" style="color:#757575" @click="simpanLang(idx)">save</v-icon>
|
|
<v-icon v-if="vo.Nat_NormalValueIsAbnormal === 'N'" style="color:#F9BDAF" @click="editNilaiAbnormal(vo)">warning</v-icon>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<transition name="fade">
|
|
<div v-if="vo.show_detail === 'Y'" style="width:100%;border:1px solid black" class="caption">
|
|
<v-layout row>
|
|
<table>
|
|
<tr>
|
|
<th class="text-md-center pt-2 pb-2">BAHASA</th>
|
|
<th class="text-md-center pt-2 pb-2">CATATAN</th>
|
|
<th class="text-md-center pt-2 pb-2">CATATAN SI</th>
|
|
<th class="text-md-center pt-2 pb-2">DESKRIPSI</th>
|
|
<th class="text-md-center pt-2 pb-2">DESKRIPSI SI</th>
|
|
|
|
</tr>
|
|
<tr v-for="(vt,tidx) in vo.tests" :key="vt.Nat_NormalValueLangID">
|
|
<td class="text-md-left pl-3">
|
|
<v-text-field style="margin-top:0;padidng-top:0" v-model="vt.Nat_LangName" hide-details></v-text-field>
|
|
</td>
|
|
<td class="text-md-right pr-2">
|
|
<v-textarea v-model="vt.Nat_NormalValueLangNote" hide-details></v-textarea>
|
|
</td>
|
|
<td class="text-md-right pr-2">
|
|
<v-textarea v-model="vt.Nat_NormalValueLangNoteSI" hide-details></v-textarea>
|
|
</td>
|
|
<td class="text-md-right pr-2">
|
|
<v-textarea v-model="vt.Nat_NormalValueLangDescription" hide-details></v-textarea>
|
|
</td>
|
|
<td class="text-md-right pr-2">
|
|
<v-textarea v-model="vt.Nat_NormalValueLangDescriptionSI" hide-details></v-textarea>
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<!--<tfoot>
|
|
<tr>
|
|
<th style="background:#03a9f43d" colspan="3" class="text-md-right pr-2 pt-1 pb-1">SUB TOTAL</th>
|
|
<th style="background:#03a9f43d" class="text-md-right pr-2 pt-2 pb-2" colspan="2">300.000</th>
|
|
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3" class="text-md-right pr-2 pt-1 pb-1">DISKON PEMBULATAN</th>
|
|
<th class="text-md-right pr-2 pt-1 pb-1" colspan="2">0</th>
|
|
|
|
</tr>
|
|
<tr>
|
|
<th style="background:#03a9f43d" colspan="3" class="text-md-right pr-2 pt-2 pb-2">TOTAL</th>
|
|
<th style="background:#03a9f43d" class="text-md-right pr-2 pt-1 pb-1" colspan="2">300.000</th>
|
|
|
|
</tr>
|
|
</tfoot>-->
|
|
</table>
|
|
</v-layout>
|
|
</div>
|
|
</transition>
|
|
</div>
|
|
</div>
|
|
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card>
|
|
</v-flex>
|
|
</v-layout>
|
|
|
|
<v-layout row wrap>
|
|
<!-- <v-flex xs12 pa-2>
|
|
Keterangan :
|
|
<v-btn @click="" small color="grey"></v-btn> Baru
|
|
<v-btn @click="" small color="yellow"></v-btn> Proses
|
|
<v-btn @click="" small color="green"></v-btn> Selesai
|
|
</v-flex>
|
|
-->
|
|
</v-layout>
|
|
|
|
</v-flex>
|
|
</v-flex>
|
|
</v-card>
|
|
<one-dialog-print :title="printtitle" :width="printwidth" :height="500" :status="openprint" :urlprint="urlprint" @close-dialog-print="closePrint"></one-dialog-print>
|
|
</v-layout>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.fade-enter-active,
|
|
.fade-leave-active {
|
|
transition: opacity .5s;
|
|
}
|
|
|
|
.fade-enter,
|
|
.fade-leave-to {
|
|
opacity: 0;
|
|
}
|
|
|
|
.bounce-enter-active {
|
|
animation: bounce-in .5s;
|
|
}
|
|
|
|
.bounce-leave-active {
|
|
animation: bounce-in .5s reverse;
|
|
}
|
|
|
|
@keyframes bounce-in {
|
|
0% {
|
|
transform: scale(0);
|
|
}
|
|
25% {
|
|
transform: scale(.50);
|
|
}
|
|
50% {
|
|
transform: scale(.75);
|
|
}
|
|
75% {
|
|
transform: scale(1.1);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
.rTable {
|
|
display: table;
|
|
width: 100%;
|
|
border-spacing: 0 .2em;
|
|
}
|
|
|
|
.rTableGroup {
|
|
display: table-row-group;
|
|
}
|
|
|
|
.rTableRow {
|
|
display: table-row;
|
|
font-size: 14px;
|
|
-webkit-flex-wrap: wrap;
|
|
/* Safari 6.1+ */
|
|
flex-wrap: wrap;
|
|
|
|
}
|
|
|
|
.rTableHeading {
|
|
display: table-header-group;
|
|
background-color: #fffff;
|
|
}
|
|
|
|
.rTableCell {
|
|
display: table-cell;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
line-height: 2;
|
|
border: 1px solid #2196f3;
|
|
background-color: #fffff;
|
|
border-spacing: 5px;
|
|
}
|
|
|
|
.rTableCellAbnormal {
|
|
display: table-cell;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
line-height: 2;
|
|
border: 1px solid #2196f3;
|
|
background-color: #FFD2C8;
|
|
border-spacing: 5px;
|
|
}
|
|
|
|
.rTableHead {
|
|
display: table-cell;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
padding-top: 10px;
|
|
padding-bottom: 0px;
|
|
background-color: #fffff;
|
|
}
|
|
|
|
.rTableHeading {
|
|
display: table-header-group;
|
|
text-transform: uppercase;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.rTableFoot {
|
|
display: table-footer-group;
|
|
font-weight: bold;
|
|
background-color: #ddd;
|
|
}
|
|
|
|
.rTableBody {
|
|
display: table-row-group;
|
|
}
|
|
|
|
.rfirstCell {
|
|
border-left: 10px solid #2196f3;
|
|
border-top-left-radius: 3px;
|
|
border-bottom-left-radius: 3px;
|
|
}
|
|
|
|
.caption {
|
|
border: 1px solid grey;
|
|
caption-side: bottom;
|
|
display: table-caption;
|
|
text-align: center;
|
|
padding: 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;
|
|
}
|
|
|
|
.text-fajrihm {
|
|
padding: 3px 20px 3px 0;
|
|
text-align: left;
|
|
font-size: 13px;
|
|
font-family: open sans, tahoma, sans-serif;
|
|
}
|
|
|
|
.label-delivery {
|
|
font-size: 11px;
|
|
padding: 3px 10px 3px 0;
|
|
font-family: open sans, tahoma, sans-serif;
|
|
}
|
|
|
|
.text-delivery {
|
|
font-size: 12px;
|
|
padding: 3px 10px 3px 0;
|
|
font-family: open sans, tahoma, sans-serif;
|
|
}
|
|
|
|
.nota {
|
|
font-size: 2em;
|
|
font-weight: bold;
|
|
text-align: left;
|
|
}
|
|
|
|
.total {
|
|
min-height: 76px;
|
|
}
|
|
|
|
table {
|
|
font-family: arial, sans-serif;
|
|
border-collapse: collapse;
|
|
width: 100%;
|
|
background: white;
|
|
border: 0px;
|
|
}
|
|
|
|
th,
|
|
td {
|
|
border: 1px solid black;
|
|
border-collapse: collapse;
|
|
padding-top: 2px;
|
|
padding-bottom: 2px;
|
|
}
|
|
|
|
table>tr>td {
|
|
padding: 8px;
|
|
}
|
|
|
|
table>tr>td:first {
|
|
padding-left: 15px !important;
|
|
}
|
|
|
|
.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;
|
|
}
|
|
|
|
.border-bottom-dashed {
|
|
border-bottom: 1px dashed rgba(0, 0, 0, .12);
|
|
}
|
|
|
|
.v-breadcrumbs__item {
|
|
color: #fff !important;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
module.exports = {
|
|
components: {
|
|
'one-dialog-print': httpVueLoader('../../common/oneDialogPrintX.vue')
|
|
},
|
|
data: () => ({
|
|
oldlabel: '',
|
|
search_test: '',
|
|
dialog: false,
|
|
urlprintnote: '',
|
|
printtitle: '',
|
|
printwidth: 600,
|
|
xid: 0,
|
|
validdate: "",
|
|
menuvaliddate: false,
|
|
isabnormal: "",
|
|
isminageinclusive: "",
|
|
ismaxageinclusive: "",
|
|
isminvalueinclusive: "",
|
|
ismaxvalueinclusive: "",
|
|
search_methode: '',
|
|
dialogchooseprint: false,
|
|
openprint: false,
|
|
urlprint: '',
|
|
printtitle: '',
|
|
methodename: '',
|
|
printwidth: 600,
|
|
formatreport: 'pdf',
|
|
headers: [
|
|
|
|
{
|
|
text: "NAMA",
|
|
align: "left",
|
|
sortable: false,
|
|
value: "mr",
|
|
width: "15%",
|
|
class: "pa-1 blue lighten-3 white--text"
|
|
},
|
|
{
|
|
text: "NO. REFERENSI",
|
|
align: "left",
|
|
sortable: false,
|
|
value: "lab",
|
|
width: "3%",
|
|
class: "pa-1 blue lighten-3 white--text"
|
|
},
|
|
{
|
|
text: "TGL. LAHIR",
|
|
align: "left",
|
|
sortable: false,
|
|
value: "lab",
|
|
width: "10%",
|
|
class: "pa-1 blue lighten-3 white--text"
|
|
},
|
|
{
|
|
text: "PEMERIKSAAN",
|
|
align: "left",
|
|
sortable: false,
|
|
value: "lab",
|
|
width: "10%",
|
|
class: "pa-1 blue lighten-3 white--text"
|
|
},
|
|
{
|
|
text: "TOTAL",
|
|
align: "left",
|
|
sortable: false,
|
|
value: "lab",
|
|
width: "15%",
|
|
class: "pa-1 blue lighten-3 white--text"
|
|
},
|
|
{
|
|
text: "AKSI",
|
|
align: "center",
|
|
sortable: false,
|
|
value: "action",
|
|
width: "10%",
|
|
class: "pa-1 blue lighten-3 white--text"
|
|
}
|
|
]
|
|
}),
|
|
computed: {
|
|
selected_filter_sex: {
|
|
get() {
|
|
return this.$store.state.normalvalue.selected_filter_sex
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_selected_filter_sex", val)
|
|
this.searchMetode()
|
|
}
|
|
},
|
|
f_sexs: {
|
|
get() {
|
|
return this.$store.state.normalvalue.f_sexs
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_f_sexs", val)
|
|
}
|
|
},
|
|
selected_filter_flag: {
|
|
get() {
|
|
return this.$store.state.normalvalue.selected_filter_flag
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_selected_filter_flag", val)
|
|
this.searchMetode()
|
|
}
|
|
},
|
|
f_flags: {
|
|
get() {
|
|
return this.$store.state.normalvalue.f_flags
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_f_flags", val)
|
|
}
|
|
},
|
|
validComputedDateFormatted() {
|
|
return this.formatDate(this.xvaliddate)
|
|
},
|
|
xvaliddate: {
|
|
get() {
|
|
return this.$store.state.normalvalue.validdate
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_validdate", val)
|
|
}
|
|
},
|
|
dialogconfirmationdeletepat: {
|
|
get() {
|
|
return this.$store.state.normalvalue.dialog_confirmation_delete_pat
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_dialog_confirmation_delete_pat", val)
|
|
}
|
|
},
|
|
msgconfirmationdeletepat() {
|
|
return this.$store.state.normalvalue.msg_confirmation_delete_pat
|
|
},
|
|
dialogconfirmationsend: {
|
|
get() {
|
|
return this.$store.state.normalvalue.dialog_confirmation_send
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_dialog_confirmation_send", val)
|
|
}
|
|
},
|
|
msgconfirmationsend() {
|
|
return this.$store.state.normalvalue.msg_confirmation_send
|
|
},
|
|
xact() {
|
|
return this.$store.state.normalvalue.act
|
|
},
|
|
xactpat() {
|
|
return this.$store.state.normalvalue.act_pat
|
|
},
|
|
xactpatabnormal() {
|
|
return this.$store.state.normalvalue.act_pat_abnormal
|
|
},
|
|
xactsend() {
|
|
return this.$store.state.normalvalue.act_send
|
|
},
|
|
dialogformnilainormal: {
|
|
get() {
|
|
return this.$store.state.normalvalue.dialog_form_nilainormal
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_dialog_form_nilainormal", val)
|
|
}
|
|
},
|
|
dialogformnilaiabnormal: {
|
|
get() {
|
|
return this.$store.state.normalvalue.dialog_form_nilaiabnormal
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_dialog_form_nilaiabnormal", val)
|
|
}
|
|
},
|
|
isLoading() {
|
|
return this.$store.state.normalvalue.search_status == 1
|
|
},
|
|
xnilainormals(p) {
|
|
return this.$store.state.normalvalue.nilainormals
|
|
},
|
|
xnoref: {
|
|
get() {
|
|
return this.$store.state.normalvalue.noref
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_noref", val)
|
|
}
|
|
},
|
|
namapasien: {
|
|
get() {
|
|
return this.$store.state.normalvalue.namapasien
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_nama_pasien", val)
|
|
}
|
|
},
|
|
xminage: {
|
|
get() {
|
|
return this.$store.state.normalvalue.minage
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_minage", val)
|
|
}
|
|
},
|
|
xmaxage: {
|
|
get() {
|
|
return this.$store.state.normalvalue.maxage
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_maxage", val)
|
|
}
|
|
},
|
|
xminvalue: {
|
|
get() {
|
|
return this.$store.state.normalvalue.minvalue
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_minvalue", val)
|
|
}
|
|
},
|
|
xmaxvalue: {
|
|
get() {
|
|
return this.$store.state.normalvalue.maxvalue
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_maxvalue", val)
|
|
}
|
|
},
|
|
xageunites() {
|
|
return this.$store.state.normalvalue.ageunites
|
|
},
|
|
xageunit: {
|
|
get() {
|
|
return this.$store.state.normalvalue.selected_ageunit
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_selected_ageunit", val)
|
|
}
|
|
},
|
|
xnote: {
|
|
get() {
|
|
return this.$store.state.normalvalue.note
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_note", val)
|
|
}
|
|
},
|
|
xdescription: {
|
|
get() {
|
|
return this.$store.state.normalvalue.description
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_description", val)
|
|
}
|
|
},
|
|
xsexes() {
|
|
return this.$store.state.normalvalue.sexes
|
|
},
|
|
xsex: {
|
|
get() {
|
|
return this.$store.state.normalvalue.selected_sex
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_selected_sex", val)
|
|
}
|
|
},
|
|
xmethodes() {
|
|
return this.$store.state.normalvalue.methodes
|
|
},
|
|
methode: {
|
|
get() {
|
|
return this.$store.state.normalvalue.methode
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_methode", val)
|
|
}
|
|
},
|
|
xnormalvaluetypees() {
|
|
return this.$store.state.normalvalue.normalvaluetypees
|
|
},
|
|
xnormalvaluetype: {
|
|
get() {
|
|
return this.$store.state.normalvalue.selected_normalvaluetype
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_selected_normalvaluetype", val)
|
|
}
|
|
},
|
|
xflages() {
|
|
return this.$store.state.normalvalue.flages
|
|
},
|
|
xflag: {
|
|
get() {
|
|
return this.$store.state.normalvalue.selected_flag
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_selected_flag", val)
|
|
}
|
|
},
|
|
xorderautotests() {
|
|
return this.$store.state.normalvalue.orderautotests
|
|
},
|
|
xorderautotest: {
|
|
get() {
|
|
return this.$store.state.normalvalue.orderautotest
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_orderautotest", val)
|
|
}
|
|
},
|
|
xordertests() {
|
|
return this.$store.state.normalvalue.ordertests
|
|
},
|
|
sub_total() {
|
|
let tests = this.xordertests
|
|
sub_total = 0
|
|
tests.forEach(function (vpx, idx) {
|
|
let total = parseInt(vpx.total)
|
|
sub_total = sub_total + total
|
|
})
|
|
return sub_total
|
|
},
|
|
dp() {
|
|
let mindp = this.$store.state.normalvalue.selected_normalvalue.Nat_TestMinDP
|
|
let dp = mindp / 100 * this.sub_total
|
|
return dp
|
|
},
|
|
isbill() {
|
|
let isbill = this.$store.state.normalvalue.selected_normalvalue.Nat_TestIsBill
|
|
return isbill
|
|
},
|
|
openprintnote: {
|
|
get() {
|
|
return this.$store.state.normalvalue.open_print_note
|
|
},
|
|
set(val) {
|
|
this.$store.commit("normalvalue/update_open_print_note", false)
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
createNewNilaiNormal() {
|
|
this.xid = 0
|
|
this.validdate = ''
|
|
this.xminage = ''
|
|
this.xmaxage = ''
|
|
this.xminvalue = ''
|
|
this.xmaxvalue = ''
|
|
this.xnote = ''
|
|
this.xdescription = ''
|
|
this.xparentid = 0
|
|
this.search_methode = ''
|
|
this.isabnormal = 'N'
|
|
this.isminageinclusive = ''
|
|
this.ismaxageinclusive = ''
|
|
this.isminvalueinclusive = ''
|
|
this.ismaxvalueinclusive = ''
|
|
this.$store.commit("normalvalue/update_methodes", [])
|
|
this.methode = {}
|
|
this.$store.commit("normalvalue/update_selected_flag", [])
|
|
this.xflag = {}
|
|
this.$store.commit("normalvalue/update_selected_normalvaluetype", [])
|
|
this.xnormalvaluetype = {}
|
|
this.$store.commit("normalvalue/update_act_pat", 'new')
|
|
this.$store.commit("normalvalue/update_dialog_form_nilainormal", true)
|
|
},
|
|
searchMetode() {
|
|
this.$store.dispatch("normalvalue/getnilainormal", {
|
|
id: this.$store.state.normalvalue.selected_normalvalue.Nat_TestID,
|
|
methodename: this.methodename,
|
|
sexid: this.selected_filter_sex.Nat_SexID,
|
|
flagid: this.selected_filter_flag.Nat_FlagID
|
|
})
|
|
},
|
|
saveNewNilaiNormal() {
|
|
this.$store.commit("normalvalue/update_errors", [])
|
|
var errors = this.$store.state.normalvalue.errors
|
|
if (_.isEmpty(this.xmethodes)) {
|
|
errors.push("requirexmethode")
|
|
}
|
|
if (_.isEmpty(this.xnormalvaluetype)) {
|
|
errors.push("requirexnormalvaluetype")
|
|
}
|
|
if (_.isEmpty(this.xflag)) {
|
|
errors.push("requirexflag")
|
|
}
|
|
if (errors.length === 0) {
|
|
var prm = {}
|
|
prm.Nat_NormalValueNat_TestID = this.$store.state.normalvalue
|
|
.selected_normalvalue
|
|
.Nat_TestID
|
|
prm.Nat_TestName = this.$store.state.normalvalue.selected_normalvalue.Nat_TestName
|
|
prm.Nat_NormalValueNat_MethodeID = this.methode.Nat_MethodeID,
|
|
prm.Nat_NormalValueNat_NormalValueTypeID = this.$store.state.normalvalue.selected_normalvaluetype
|
|
.Nat_NormalValueTypeID
|
|
prm.Nat_NormalValueNat_FlagID = this.$store.state.normalvalue.selected_flag.Nat_FlagID
|
|
prm.Nat_NormalValueValidDate = this.xvaliddate
|
|
prm.Nat_NormalValueMinAge = this.xminage
|
|
prm.Nat_NormalValueMaxAge = this.xmaxage
|
|
prm.Nat_NormalValueMinAgeInclusive = this.isminageinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueMaxAgeInclusive = this.ismaxageinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueAgeUnit = this.$store.state.normalvalue.selected_ageunit.Nat_AgeUnitName
|
|
prm.Nat_NormalValueNat_SexID = this.$store.state.normalvalue.selected_sex.Nat_SexID
|
|
prm.Nat_NormalValueNote = this.xnote
|
|
prm.Nat_NormalValueMinValue = this.xminvalue
|
|
prm.Nat_NormalValueMaxValue = this.xmaxvalue
|
|
prm.Nat_NormalValueMinValueInclusive = this.isminvalueinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueMaxValueInclusive = this.ismaxvalueinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueDescription = this.xdescription
|
|
prm.Nat_NormalValueIsAbnormal = "N"
|
|
this.$store.dispatch("normalvalue/savenewnilainormal", prm)
|
|
}
|
|
},
|
|
thr_search_methode: _.debounce(function () {
|
|
this.$store.dispatch("normalvalue/searchmethode", this.search_methode)
|
|
}, 2000),
|
|
checkError(value) {
|
|
var errors = this.$store.state.normalvalue.errors
|
|
if (errors.includes(value)) {
|
|
return true
|
|
} else {
|
|
return false
|
|
}
|
|
},
|
|
formatDate(date) {
|
|
if (!date) return null
|
|
|
|
const [year, month, day] = date.split('-')
|
|
return `${day}-${month}-${year}`
|
|
},
|
|
deFormatedDate(date) {
|
|
if (!date) return null
|
|
|
|
const [day, month, year] = date.split('-')
|
|
return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`
|
|
},
|
|
printNote(val, idx) {
|
|
this.printwidth = 600
|
|
this.printtitle = ""
|
|
let user = one_user()
|
|
var rpt = 'rpt_t_003'
|
|
if (val.note_amount < 0)
|
|
rpt = 'rpt_t_004'
|
|
this.urlprintnote = "/birt/run?__report=report/one/fo/" + rpt + ".rptdesign&__format=pdf&username=" +
|
|
user.M_UserUsername + "&PID=" + val.note_id
|
|
this.$store.commit("normalvalue/update_open_print_note", true)
|
|
},
|
|
showDetailold(value) {
|
|
var arrOrders = this.$store.state.normalvalue.ordertests
|
|
arrOrders[value].show_detail = arrOrders[value].show_detail === 'Y' ? 'N' : 'Y'
|
|
|
|
this.$store.commit("normalvalue/update_act_pat", 'edit')
|
|
this.$store.commit("normalvalue/update_x_pat_id", value.Nat_NormalValueID)
|
|
this.$store.commit("normalvalue/update_ordertests", value.tests)
|
|
},
|
|
showDetail(idx) {
|
|
var arrOrders = this.$store.state.normalvalue.nilainormals
|
|
arrOrders[idx].show_detail = arrOrders[idx].show_detail === 'Y' ? 'N' : 'Y'
|
|
this.$store.commit("normalvalue/update_ordertests", arrOrders)
|
|
},
|
|
hideDetail(idx) {
|
|
var arrOrders = this.$store.state.normalvalue.nilainormals
|
|
|
|
arrOrders[idx].show_detail = arrOrders[idx].show_detail === 'Y' ? 'N' : 'Y'
|
|
this.$store.commit("normalvalue/update_ordertests", arrOrders)
|
|
},
|
|
simpanLang(idx) {
|
|
var arrOrders = this.$store.state.normalvalue.nilainormals
|
|
var prm = {}
|
|
prm.normalvalueid = arrOrders[idx].Nat_NormalValueID
|
|
prm.ordertests = arrOrders[idx].tests
|
|
this.$store.dispatch("normalvalue/savenormalvaluelang", prm)
|
|
},
|
|
editNilaiNormal(value) {
|
|
this.xid = value.Nat_NormalValueID
|
|
this.$store.commit("normalvalue/update_act_pat", 'edit')
|
|
this.$store.commit("normalvalue/update_x_pat_id", value.Nat_NormalValueID)
|
|
this.xminage = value.Nat_NormalValueMinAge
|
|
this.xmaxage = value.Nat_NormalValueMaxAge
|
|
this.xminvalue = value.Nat_NormalValueMinValue
|
|
this.xmaxvalue = value.Nat_NormalValueMaxValue
|
|
this.xnote = value.Nat_NormalValueNote
|
|
this.xdescription = value.Nat_NormalValueDescription
|
|
this.isminageinclusive = value.Nat_NormalValueMinAgeInclusive === 'N' ? false : true
|
|
this.ismaxageinclusive = value.Nat_NormalValueMaxAgeInclusive === 'N' ? false : true
|
|
this.isminvalueinclusive = value.Nat_NormalValueMinValueInclusive === 'N' ? false : true
|
|
this.ismaxvalueinclusive = value.Nat_NormalValueMaxValueInclusive === 'N' ? false : true
|
|
this.isabnormal = value.Nat_NormalValueIsAbnormal
|
|
this.$store.commit("normalvalue/update_methodes", [{
|
|
Nat_MethodeID: value.Nat_MethodeID,
|
|
Nat_MethodeName: value.Nat_MethodeName
|
|
}])
|
|
this.methode = {
|
|
Nat_MethodeID: value.Nat_MethodeID,
|
|
Nat_MethodeName: value.Nat_MethodeName
|
|
}
|
|
this.$store.commit("normalvalue/update_selected_normalvaluetype", {
|
|
Nat_NormalValueTypeID: value.Nat_NormalValueTypeID,
|
|
Nat_NormalValueTypeName: value.Nat_NormalValueTypeName
|
|
})
|
|
this.$store.commit("normalvalue/update_selected_flag", {
|
|
Nat_FlagID: value.Nat_FlagID,
|
|
Nat_FlagName: value.Nat_FlagName
|
|
})
|
|
this.$store.commit("normalvalue/update_selected_ageunit", {
|
|
Nat_AgeUnitID: value.Nat_NormalValueAgeUnit,
|
|
Nat_AgeUnitName: value.Nat_NormalValueAgeUnit
|
|
})
|
|
this.$store.commit("normalvalue/update_selected_sex", {
|
|
Nat_SexID: value.Nat_SexID,
|
|
Nat_SexName: value.Nat_SexName
|
|
})
|
|
this.validdate = value.Nat_NormalValueValidDate
|
|
this.$store.commit("normalvalue/update_validdate", value.Nat_NormalValueValidDate)
|
|
this.$store.commit("normalvalue/update_ordertests", value.tests)
|
|
this.$store.commit("normalvalue/update_dialog_form_nilainormal", true)
|
|
},
|
|
editNilaiAbnormal(value) {
|
|
this.xid = value.Nat_NormalValueID
|
|
this.$store.commit("normalvalue/update_act_pat_abnormal", 'new')
|
|
this.$store.commit("normalvalue/update_x_pat_abnormal_id", value.Nat_NormalValueID)
|
|
this.xminage = value.Nat_NormalValueMinAge
|
|
this.xmaxage = value.Nat_NormalValueMaxAge
|
|
this.xminvalue = 0
|
|
this.xmaxvalue = 0
|
|
this.xnote = ''
|
|
this.xdescription = ''
|
|
this.xparentid = value.Nat_NormalValueID
|
|
this.isminageinclusive = value.Nat_NormalValueMinAgeInclusive === 'N' ? false : true
|
|
this.ismaxageinclusive = value.Nat_NormalValueMaxAgeInclusive === 'N' ? false : true
|
|
this.isminvalueinclusive = value.Nat_NormalValueMinValueInclusive === 'N' ? false : true
|
|
this.ismaxvalueinclusive = value.Nat_NormalValueMaxValueInclusive === 'N' ? false : true
|
|
this.$store.commit("normalvalue/update_methodes", [{
|
|
Nat_MethodeID: value.Nat_MethodeID,
|
|
Nat_MethodeName: value.Nat_MethodeName
|
|
}])
|
|
this.methode = {
|
|
Nat_MethodeID: value.Nat_MethodeID,
|
|
Nat_MethodeName: value.Nat_MethodeName
|
|
}
|
|
this.$store.commit("normalvalue/update_selected_normalvaluetype", {
|
|
Nat_NormalValueTypeID: value.Nat_NormalValueTypeID,
|
|
Nat_NormalValueTypeName: value.Nat_NormalValueTypeName
|
|
})
|
|
this.$store.commit("normalvalue/update_selected_flag", {
|
|
Nat_FlagID: value.Nat_FlagID,
|
|
Nat_FlagName: value.Nat_FlagName
|
|
})
|
|
this.$store.commit("normalvalue/update_selected_ageunit", {
|
|
Nat_AgeUnitID: value.Nat_NormalValueAgeUnit,
|
|
Nat_AgeUnitName: value.Nat_NormalValueAgeUnit
|
|
})
|
|
this.$store.commit("normalvalue/update_selected_sex", {
|
|
Nat_SexID: value.Nat_SexID,
|
|
Nat_SexName: value.Nat_SexName
|
|
})
|
|
this.validdate = value.Nat_NormalValueValidDate
|
|
this.$store.commit("normalvalue/update_validdate", value.Nat_NormalValueValidDate)
|
|
this.$store.commit("normalvalue/update_ordertests", value.tests)
|
|
this.$store.commit("normalvalue/update_dialog_form_nilaiabnormal", true)
|
|
},
|
|
saveEditNilaiNormal() {
|
|
this.$store.commit("normalvalue/update_errors", [])
|
|
var errors = this.$store.state.normalvalue.errors
|
|
if (_.isEmpty(this.xsex)) {
|
|
errors.push("requirexsex")
|
|
}
|
|
if (_.isEmpty(this.xmethodes)) {
|
|
errors.push("requirexmethode")
|
|
}
|
|
if (_.isEmpty(this.xnormalvaluetype)) {
|
|
errors.push("requirexnormalvaluetype")
|
|
}
|
|
if (_.isEmpty(this.xflag)) {
|
|
errors.push("requirexflag")
|
|
}
|
|
if (errors.length === 0) {
|
|
var prm = {}
|
|
prm.Nat_NormalValueID = this.xid
|
|
prm.Nat_NormalValueNat_TestID = this.$store.state.normalvalue
|
|
.selected_normalvalue
|
|
.Nat_TestID
|
|
prm.Nat_TestName = this.$store.state.normalvalue.selected_normalvalue.Nat_TestName
|
|
prm.Nat_NormalValueNat_MethodeID = this.methode.Nat_MethodeID,
|
|
prm.Nat_NormalValueNat_NormalValueTypeID = this.$store.state.normalvalue.selected_normalvaluetype
|
|
.Nat_NormalValueTypeID
|
|
prm.Nat_NormalValueNat_FlagID = this.$store.state.normalvalue.selected_flag.Nat_FlagID
|
|
prm.Nat_NormalValueValidDate = this.xvaliddate
|
|
prm.Nat_NormalValueMinAge = this.xminage
|
|
prm.Nat_NormalValueMaxAge = this.xmaxage
|
|
prm.Nat_NormalValueMinAgeInclusive = this.isminageinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueMaxAgeInclusive = this.ismaxageinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueAgeUnit = this.$store.state.normalvalue.selected_ageunit.Nat_AgeUnitName
|
|
prm.Nat_NormalValueNat_SexID = this.$store.state.normalvalue.selected_sex.Nat_SexID
|
|
prm.Nat_NormalValueNote = this.xnote
|
|
prm.Nat_NormalValueMinValue = this.xminvalue
|
|
prm.Nat_NormalValueMaxValue = this.xmaxvalue
|
|
prm.Nat_NormalValueMinValueInclusive = this.isminvalueinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueMaxValueInclusive = this.ismaxvalueinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueDescription = this.xdescription
|
|
prm.Nat_NormalValueIsAbnormal = this.isabnormal
|
|
this.$store.dispatch("normalvalue/saveeditnilainormal", prm)
|
|
}
|
|
},
|
|
saveNewNilaiAbormal() {
|
|
this.$store.commit("normalvalue/update_errors", [])
|
|
var errors = this.$store.state.normalvalue.errors
|
|
if (_.isEmpty(this.xmethodes)) {
|
|
errors.push("requirexmethode")
|
|
}
|
|
if (_.isEmpty(this.xnormalvaluetype)) {
|
|
errors.push("requirexnormalvaluetype")
|
|
}
|
|
if (errors.length === 0) {
|
|
var prm = {}
|
|
prm.Nat_NormalValueNat_TestID = this.$store.state.normalvalue
|
|
.selected_normalvalue
|
|
.Nat_TestID
|
|
prm.Nat_TestName = this.$store.state.normalvalue.selected_normalvalue.Nat_TestName
|
|
prm.Nat_NormalValueNat_MethodeID = this.methode.Nat_MethodeID,
|
|
prm.Nat_NormalValueNat_NormalValueTypeID = this.$store.state.normalvalue.selected_normalvaluetype
|
|
.Nat_NormalValueTypeID
|
|
prm.Nat_NormalValueNat_FlagID = this.$store.state.normalvalue.selected_flag.Nat_FlagID
|
|
prm.Nat_NormalValueValidDate = this.xvaliddate
|
|
prm.Nat_NormalValueMinAge = this.xminage
|
|
prm.Nat_NormalValueMaxAge = this.xmaxage
|
|
prm.Nat_NormalValueMinAgeInclusive = this.isminageinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueMaxAgeInclusive = this.ismaxageinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueAgeUnit = this.$store.state.normalvalue.selected_ageunit.Nat_AgeUnitName
|
|
prm.Nat_NormalValueNat_SexID = this.$store.state.normalvalue.selected_sex.Nat_SexID
|
|
prm.Nat_NormalValueNote = this.xnote
|
|
prm.Nat_NormalValueMinValue = this.xminvalue
|
|
prm.Nat_NormalValueMaxValue = this.xmaxvalue
|
|
prm.Nat_NormalValueMinValueInclusive = this.isminvalueinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueMaxValueInclusive = this.ismaxvalueinclusive === true ? "Y" : "N"
|
|
prm.Nat_NormalValueDescription = this.xdescription
|
|
prm.Nat_NormalValueParentID = this.xparentid
|
|
prm.Nat_NormalValueIsAbnormal = "Y"
|
|
this.$store.dispatch("normalvalue/savenewnilaiabnormal", prm)
|
|
}
|
|
},
|
|
thr_search_test: _.debounce(function () {
|
|
this.$store.dispatch("normalvalue/searchtest", {
|
|
tes: this.search_test,
|
|
mouid: this.$store.state.normalvalue.selected_normalvalue
|
|
.Nat_TestM_MouID
|
|
})
|
|
}, 2000),
|
|
deleteNilaiNormal(value) {
|
|
this.$store.commit("normalvalue/update_act_pat", 'delete')
|
|
this.$store.commit("normalvalue/update_x_pat_id", value.Nat_NormalValueID)
|
|
this.$store.commit("normalvalue/update_errors", [])
|
|
var errors = this.$store.state.normalvalue.errors
|
|
var msg = ''
|
|
msg = "Yakin, akan menghapus data normal value ini ?"
|
|
this.$store.commit("normalvalue/update_msg_confirmation_delete_pat", msg)
|
|
this.$store.commit("normalvalue/update_dialog_confirmation_delete_pat", true)
|
|
},
|
|
doDeletePat() {
|
|
var prm = {}
|
|
prm.Nat_NormalValueNat_TestID = this.$store.state.normalvalue.selected_normalvalue
|
|
.Nat_TestID
|
|
prm.Nat_NormalValueID = this.$store.state.normalvalue.x_pat_id
|
|
prm.Nat_NormalValueName = this.namapasien
|
|
prm.Nat_TestName = this.$store.state.normalvalue.selected_normalvalue.Nat_TestName
|
|
this.$store.dispatch("normalvalue/deletenilainormal", prm)
|
|
},
|
|
openprintformat() {
|
|
this.formatreport = 'pdf'
|
|
this.dialogchooseprint = true
|
|
},
|
|
doPrint() {
|
|
console.log('doprint')
|
|
this.dialogchooseprint = false
|
|
this.printwidth = 1028
|
|
this.printtitle = ""
|
|
let user = one_user()
|
|
var d = new Date();
|
|
var n = d.getTime()
|
|
var rptname = 'nilainormalnew'
|
|
var formatrpt = this.formatreport
|
|
|
|
this.urlprint = "/birt/run?__report=report/nasional/masterdata/" + rptname + ".rptdesign&__format=" +
|
|
formatrpt + "&username=" + user.M_UserUsername + "&tm=" + n
|
|
|
|
this.openprint = true
|
|
},
|
|
closePrint() {
|
|
this.openprint = false
|
|
},
|
|
sendOrderNilaiNormal(value) {
|
|
let msg = "Yakin, akan mengirim permintaan nomor " + this.$store.state.normalvalue.selected_normalvalue
|
|
.Nat_TestNumber + " ?"
|
|
this.$store.commit("normalvalue/update_msg_confirmation_send", msg)
|
|
this.$store.commit("normalvalue/update_dialog_confirmation_send", true)
|
|
},
|
|
doOrderNilaiNormal() {
|
|
var prm = {}
|
|
prm.Nat_TestID = this.$store.state.normalvalue.selected_normalvalue
|
|
.Nat_TestID
|
|
prm.Nat_TestNumber = this.$store.state.normalvalue.selected_normalvalue
|
|
.Nat_TestNumber
|
|
this.$store.dispatch("normalvalue/sendorder", prm)
|
|
},
|
|
convertMoney(money) {
|
|
return one_money(money)
|
|
},
|
|
addTest() {
|
|
var oldArr = this.$store.state.normalvalue.ordertests
|
|
oldArr.push(this.$store.state.normalvalue.orderautotest)
|
|
this.searchtest = ''
|
|
this.$store.commit("normalvalue/update_orderautotests", [])
|
|
this.$store.commit("normalvalue/update_orderautotest", {})
|
|
},
|
|
deleteDataPx(idx) {
|
|
var inx = parseInt(idx);
|
|
var xrow = this.$store.state.normalvalue.ordertests[inx]
|
|
if (parseInt(xrow.xid) !== 0) {
|
|
var xdeltest = this.$store.state.normalvalue.deleted_ordertests
|
|
xdeltest.push(xrow)
|
|
this.$store.commit("normalvalue/update_deleted_ordertests", xdeltest)
|
|
}
|
|
var oldArr = this.$store.state.normalvalue.ordertests
|
|
oldArr.splice(inx, 1)
|
|
this.$store.commit("normalvalue/update_ordertests", oldArr)
|
|
},
|
|
},
|
|
watch: {
|
|
search_city(val, old) {
|
|
if (val == old) return
|
|
if (!val) return
|
|
if (val.length < 1) return
|
|
if (this.$store.state.normalvalue.update_autocomplete_status == 1) return
|
|
this.thr_search_city()
|
|
},
|
|
search_test(val, old) {
|
|
if (val == old) return
|
|
if (!val) return
|
|
if (val.length < 1) return
|
|
if (this.$store.state.normalvalue.update_autocomplete_status == 1) return
|
|
this.thr_search_test()
|
|
},
|
|
search_methode(val, old) {
|
|
if (val == old) return
|
|
if (!val) return
|
|
if (val.length < 1) return
|
|
if (this.$store.state.normalvalue.update_autocomplete_status == 1) return
|
|
this.thr_search_methode()
|
|
}
|
|
}
|
|
}
|
|
</script> |