step 1 : download 10.9.9.2 one-process-resultentry-v106
This commit is contained in:
@@ -0,0 +1,362 @@
|
||||
<template>
|
||||
<v-layout row justify-center>
|
||||
<v-dialog v-model="dialog_mikro" persistent max-width="50%">
|
||||
<v-card>
|
||||
<v-card-title class="teal white--text">
|
||||
<span class="headline">Mikro</span>
|
||||
</v-card-title>
|
||||
<v-card-text>
|
||||
<v-layout class="mb-0" row>
|
||||
<v-flex xs6 pa-2 pb-0>
|
||||
<v-select
|
||||
item-text="value"
|
||||
return-object
|
||||
class="mini-select"
|
||||
:items="result_values"
|
||||
v-model="selected_result_value"
|
||||
label="Pilih Hasil"
|
||||
outline
|
||||
hide-details
|
||||
></v-select>
|
||||
<p v-if="error_hasil" class="error pt-1 pl-2 pr-2" style="color:#fff">Hasilnya apa ? jangan lupa ya ...</p>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout class="mb-0" row>
|
||||
<v-flex xs6 pa-2 pb-0>
|
||||
<v-select
|
||||
item-text="name"
|
||||
return-object
|
||||
class="mini-select"
|
||||
:items="doctors"
|
||||
v-model="selected_doctor"
|
||||
label="Pilih Dokter"
|
||||
outline
|
||||
hide-details
|
||||
></v-select>
|
||||
<p v-if="error_doctor" class="error pt-1 pl-2 pr-2" style="color:#fff">Dokternya siapa ? jangan lupa ya ...</p>
|
||||
</v-flex>
|
||||
<v-flex xs6 v-if="selected_result_value.id === 'Positif'" pa-2 pb-0>
|
||||
<v-select
|
||||
class="mini-select"
|
||||
item-text="name"
|
||||
return-object
|
||||
:items="bacteries"
|
||||
v-model="selected_bacteria"
|
||||
label="Pilih Bakteri"
|
||||
outline
|
||||
hide-details
|
||||
></v-select>
|
||||
<p v-if="error_bacteria" class="error pt-1 pl-2 pr-2" style="color:#fff">Bakterinya ? jangan lupa ya ...</p>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout v-if="selected_result_value.id === 'other'" class="pl-2 pr-2" row>
|
||||
<v-flex xs12>
|
||||
<v-textarea
|
||||
auto-grow
|
||||
label="Hasil Lainnya"
|
||||
outline
|
||||
rows="2"
|
||||
v-model="results.result_other"
|
||||
hide-details
|
||||
></v-textarea>
|
||||
<p v-if="error_result_other" class="error pt-1 pl-2 pr-2" style="color:#fff">Hasil Lainnya : harus diisi</p>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout v-if="selected_result_value.id === 'Positif'" class="mb-2" row>
|
||||
<v-flex xs6 pa-2 pb-0>
|
||||
<v-text-field
|
||||
label="Hasil Biakan"
|
||||
outline
|
||||
v-model="results.hasil_biakan"
|
||||
hide-details
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs6 pa-2 pb-0>
|
||||
<v-text-field
|
||||
label="Jenis Bahan"
|
||||
outline
|
||||
v-model="results.sample_name"
|
||||
hide-details
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout v-if="selected_result_value.id === 'Positif'" class="mb-2" row>
|
||||
<v-flex xs12>
|
||||
<table style="width:100%;border-collapse: collapse;" class="table_antibiotics">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="5%" style="padding: 8px;border: 1px solid black;" rowspan="2">No.</th>
|
||||
<th width="22%" style="padding: 8px;border: 1px solid black;" rowspan="2">Jenis Obat</th>
|
||||
<th style="padding: 8px;border: 1px solid black;" colspan="3">Standart</th>
|
||||
<th width="10%" style="padding: 8px;border: 1px solid black;" rowspan="2">Test</th>
|
||||
<th width="23%" style="padding: 8px;border: 1px solid black;" rowspan="2">Keterangan</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="12%" style="padding: 8px;border: 1px solid black;">R <</th>
|
||||
<th width="12%" style="padding: 8px;border: 1px solid black;"> =< I = </th>
|
||||
<th width="12%" style="padding: 8px;border: 1px solid black;">S >=</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr style="border: 1px solid black;"
|
||||
v-for="detail in results.details"
|
||||
>
|
||||
<td style="border: 1px solid black;padding: 8px;text-align:center">{{detail.xno}}</td>
|
||||
<td style="border: 1px solid black;padding: 8px;">{{detail.T_AntibioticName}}</td>
|
||||
<td style="border: 1px solid black;padding: 8px;text-align:center">{{detail.T_AntibioticNoteR}}</td>
|
||||
<td style="border: 1px solid black;padding: 8px;text-align:center">{{detail.T_AntibioticNoteI}}</td>
|
||||
<td style="border: 1px solid black;padding: 8px;text-align:center">{{detail.T_AntibioticNoteS}}</td>
|
||||
<td style="border: 1px solid black;padding: 8px;">
|
||||
<v-text-field
|
||||
single-line
|
||||
v-model="detail.value"
|
||||
@change="changeValue(detail,detail.value)"
|
||||
hide-details
|
||||
></v-text-field>
|
||||
</td>
|
||||
<td style="border: 1px solid black;padding: 8px;text-align:center">
|
||||
<v-btn style="min-width:30px" v-if="detail.chx_r === 'Y'" color="teal" dark small>R</v-btn>
|
||||
<v-btn style="min-width:30px" v-if="detail.chx_r === 'N'" color="red" dark small>R</v-btn>
|
||||
<v-btn style="min-width:30px" v-if="detail.chx_i === 'Y'" color="teal" dark small>I</v-btn>
|
||||
<v-btn style="min-width:30px" v-if="detail.chx_i === 'N'" color="red" dark small>I</v-btn>
|
||||
<v-btn style="min-width:30px" v-if="detail.chx_s === 'Y'" color="teal" dark small>S</v-btn>
|
||||
<v-btn style="min-width:30px" v-if="detail.chx_s === 'N'" color="red" dark small>S</v-btn>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="grey darken-1" flat @click="dialog_mikro = false">Tutup</v-btn>
|
||||
<v-btn v-if="!onprocess" color="green darken-1" @click="saveResult_Mikro" flat >Simpan</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</v-layout>
|
||||
</template>
|
||||
<style scoped>
|
||||
table.table_antibiotics {
|
||||
font-family: arial, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.table_antibiotics tbody td, table.table_antibiotics tbody th {
|
||||
border: 1px solid #dddddd;
|
||||
text-align: left;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
table.table_antibiotics tbody tr:nth-child(even) {
|
||||
background-color: #dddddd;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
module.exports = {
|
||||
mounted() {
|
||||
//this.$store.dispatch("re_mikro/get_doctors",{token:''})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
error_doctor:false,
|
||||
error_bacteria:false,
|
||||
error_hasil:false,
|
||||
error_result_other:false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
onprocess(){
|
||||
return this.$store.state.re_mikro.onprocess
|
||||
},
|
||||
disable_save(){
|
||||
return this.$store.state.re_mikro.disable_save
|
||||
},
|
||||
selected_result_value: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.selected_result_value
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_selected_result_value", val)
|
||||
}
|
||||
},
|
||||
result_values(){
|
||||
return this.$store.state.re_mikro.result_values
|
||||
},
|
||||
bacteries(){
|
||||
return this.$store.state.re_mikro.bacteries
|
||||
},
|
||||
selected_bacteria: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.selected_bacteria
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_selected_bacteria", val)
|
||||
this.$store.dispatch("re_mikro/getantibiotics", val)
|
||||
}
|
||||
},
|
||||
dialog_mikro: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.dialog_mikro
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_dialog_mikro", val)
|
||||
}
|
||||
},
|
||||
results: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.results
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_results", val)
|
||||
}
|
||||
},
|
||||
hasil_biakan: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.hasil_biakan
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_hasil_biakan", val)
|
||||
}
|
||||
},
|
||||
result_other: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.result_other
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_result_other", val)
|
||||
}
|
||||
},
|
||||
sample_name: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.sample_name
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_sample_name", val)
|
||||
}
|
||||
},
|
||||
interpretasi: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.interpretasi
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_interpretasi", val)
|
||||
}
|
||||
},
|
||||
doctors(){
|
||||
return this.$store.state.re_mikro.doctors
|
||||
},
|
||||
selected_doctor: {
|
||||
get() {
|
||||
return this.$store.state.re_mikro.selected_doctor
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("re_mikro/update_selected_doctor", val)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeValue(detail,value){
|
||||
let antibiotics = this.results.details
|
||||
let idx = _.findIndex(antibiotics, function(o) { return o.T_AntibioticID === detail.T_AntibioticID })
|
||||
console.log(antibiotics[idx])
|
||||
antibiotics[idx].value = value
|
||||
antibiotics[idx].chx_r = 'N'
|
||||
antibiotics[idx].chx_s = 'N'
|
||||
antibiotics[idx].chx_i = 'N'
|
||||
|
||||
if(
|
||||
((detail.T_AntibioticMinInclusiveR === 'N' && parseFloat(antibiotics[idx].value) > detail.T_AntibioticMinValueR) ||
|
||||
(detail.T_AntibioticMinInclusiveR === 'Y' && parseFloat(antibiotics[idx].value) >= detail.T_AntibioticMinValueR)) &&
|
||||
((detail.T_AntibioticMaxInclusiveR === 'N' && parseFloat(antibiotics[idx].value) < detail.T_AntibioticMaxValueR) ||
|
||||
(detail.T_AntibioticMaxInclusiveR === 'Y' && parseFloat(antibiotics[idx].value) <= detail.T_AntibioticMaxValueR))
|
||||
){
|
||||
antibiotics[idx].chx_r = 'Y'
|
||||
antibiotics[idx].note = 'R'
|
||||
}
|
||||
|
||||
if(
|
||||
((detail.T_AntibioticMinInclusiveS === 'N' && parseFloat(antibiotics[idx].value) > detail.T_AntibioticMinValueS) ||
|
||||
(detail.T_AntibioticMinInclusiveS === 'Y' && parseFloat(antibiotics[idx].value) >= detail.T_AntibioticMinValueS)) &&
|
||||
((detail.T_AntibioticMaxInclusiveS === 'N' && parseFloat(antibiotics[idx].value) < detail.T_AntibioticMaxValueS) ||
|
||||
(detail.T_AntibioticMaxInclusiveS === 'Y' && parseFloat(antibiotics[idx].value) <= detail.T_AntibioticMaxValueS))
|
||||
){
|
||||
antibiotics[idx].chx_s = 'Y'
|
||||
antibiotics[idx].note = 'S'
|
||||
}
|
||||
|
||||
if(
|
||||
((detail.T_AntibioticMinInclusiveI === 'N' && parseFloat(antibiotics[idx].value) > detail.T_AntibioticMinValueI) ||
|
||||
(detail.T_AntibioticMinInclusiveI === 'Y' && parseFloat(antibiotics[idx].value) >= detail.T_AntibioticMinValueI)) &&
|
||||
((detail.T_AntibioticMaxInclusiveI === 'N' && parseFloat(antibiotics[idx].value) < detail.T_AntibioticMaxValueI) ||
|
||||
(detail.T_AntibioticMaxInclusiveI === 'Y' && parseFloat(antibiotics[idx].value) <= detail.T_AntibioticMaxValueI))
|
||||
){
|
||||
antibiotics[idx].chx_i = 'Y'
|
||||
antibiotics[idx].note = 'I'
|
||||
}
|
||||
|
||||
this.results.details = antibiotics
|
||||
},
|
||||
getAntibiotics(){
|
||||
console.log(this.selected_bacteria)
|
||||
var prm = this.selected_bacteria
|
||||
this.$store.dispatch("re_mikro/getantibiotics", prm)
|
||||
},
|
||||
changeChildsChex(childs,idxxx,idxx,idx){
|
||||
let interpretasi = this.interpretasi
|
||||
var parent_id = interpretasi[idx].subgroups[idxx].childs[idxxx].parent_id
|
||||
if(parent_id !== '0'){
|
||||
let childs = interpretasi[idx].subgroups[idxx].childs
|
||||
let index_parent = _.findIndex(childs, function(o) { return o.id === parent_id })
|
||||
if(childs.chex)
|
||||
interpretasi[idx].subgroups[idxx].childs[index_parent].chex = true
|
||||
else
|
||||
{
|
||||
let xfilter = _.filter(childs, { 'chex': true, 'parent_id': parent_id })
|
||||
if(xfilter.length === 0)
|
||||
interpretasi[idx].subgroups[idxx].childs[index_parent].chex = false
|
||||
else
|
||||
interpretasi[idx].subgroups[idxx].childs[index_parent].chex = true
|
||||
}
|
||||
}
|
||||
this.interpretasi = interpretasi
|
||||
},
|
||||
saveResult_Mikro(){
|
||||
var go_save = true
|
||||
this.$store.commit("re_mikro/update_disable_save", true)
|
||||
if(_.isEmpty(this.selected_doctor) || this.selected_doctor.id == '0'){
|
||||
this.error_doctor = true
|
||||
go_save = false
|
||||
}
|
||||
if(this.selected_result_value.id === 'Positif' && (_.isEmpty(this.selected_bacteria) || this.selected_bacteria.id == '0')){
|
||||
this.error_bacteria = true
|
||||
go_save = false
|
||||
}
|
||||
|
||||
if(this.selected_result_value.id === 'other' && this.results.result_other === ''){
|
||||
this.error_result_other = true
|
||||
go_save = false
|
||||
}
|
||||
if(go_save){
|
||||
this.$store.commit("re_mikro/update_onprocess", true)
|
||||
let selected_mikro = this.$store.state.re_mikro.selected_mikro
|
||||
var prm = {
|
||||
result_value:this.selected_result_value.id,
|
||||
doctor:this.selected_doctor.id,
|
||||
bacteria:this.selected_bacteria.id,
|
||||
hasil_biakan:this.hasil_biakan,
|
||||
sample_name:this.sample_name,
|
||||
results:this.results
|
||||
}
|
||||
this.$store.dispatch("re_mikro/saveresult_mikro",prm)
|
||||
}else{
|
||||
this.$store.commit("re_mikro/update_disable_save", false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user