step 1 : download 10.9.9.2 one-process-resultentry-v106
This commit is contained in:
@@ -0,0 +1,751 @@
|
||||
<template>
|
||||
<v-layout class="fill-height flex-card" column>
|
||||
|
||||
|
||||
<!-- dialog -->
|
||||
<v-dialog v-model="dialog_result_note_row" max-width="500px" persistent>
|
||||
<v-card>
|
||||
<v-card-title class="grey lighten-2">
|
||||
<h3>Result Note Row</h3>
|
||||
</v-card-title>
|
||||
<v-card-text>
|
||||
<v-layout row wrap>
|
||||
<v-flex xs12 class="mb-4">
|
||||
<label style="color: red; font-style: italic;">
|
||||
Kalau Hidden Dicentang True
|
||||
</label>
|
||||
<br />
|
||||
<input type="checkbox"
|
||||
v-model="selected_hidden" :value="'Y'"
|
||||
style="color: black; font-style: normal;" /> Hidden
|
||||
</v-flex>
|
||||
|
||||
<div v-if="result_note_rows.length > 0">
|
||||
<v-flex xs12 class="mb-4">
|
||||
<v-col v-for="(item, index) in result_note_rows" :key="index" cols="12">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
<input type="checkbox"
|
||||
:id="item.ResultNoteRowID" :value="item"
|
||||
v-model="selected_checkbox"/>
|
||||
{{ item.ResultNoteRowValue }}
|
||||
</v-card-title>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-flex>
|
||||
</div>
|
||||
|
||||
<span v-if="result_note_rows.length < 1" style="color: red;">Tidak Ada Data</span>
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
|
||||
<v-card-actions>
|
||||
<v-btn color="primary" flat @click="closeDialogResultNoteRow">Tutup</v-btn>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="primary" @click="saveResultDialogNoteRow">Simpan</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
<!-- dialog -->
|
||||
|
||||
<v-card class="fill-height">
|
||||
<!-- <v-subheader>
|
||||
<h3 class="title">DAFTAR PASIEN</h3>
|
||||
</v-subheader> -->
|
||||
<hr style="border-top:0px solid #c8c8c8;" />
|
||||
<!--
|
||||
<v-progress-linear :indeterminate="true" class="mt-1 mb-1" v-if="search_status == 1"
|
||||
height="10" striped></v-progress-linear>
|
||||
-->
|
||||
<v-data-table :headers="headers" :items="pxs" :loading="search_status == 1" hide-actions class="xelevation-1">
|
||||
|
||||
<template slot="items" slot-scope="props">
|
||||
<tr :class="{
|
||||
'red lighten-4': props.item.verification == 'Y',
|
||||
'green lighten-4': props.item.validation == 'Y'
|
||||
}">
|
||||
<td class="text-xs-left pt-2 pb-2 pr-2 green--text" v-bind:class="margin_left(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'N'" colspan="7">
|
||||
{{ props.item.t_testname }}
|
||||
</td>
|
||||
|
||||
<td class="text-xs-left pt-2 pb-2 pr-2 green--text" v-bind:class="margin_left(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'Y'">
|
||||
{{ props.item.t_testname }}
|
||||
</td>
|
||||
|
||||
<td class="text-xs-left pa-2" v-bind:class="is_selected(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'Y'"
|
||||
style="position: relative">
|
||||
|
||||
|
||||
|
||||
<v-textarea
|
||||
:value="props.item.result === null || props.item.result === '' ? 'Belum diisi' : 'Terlampir'"
|
||||
append-icon="description"
|
||||
v-if="(props.item.ResultGroupName === 'Preparasi Sperma' && props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && props.item.resample == 'N') ||
|
||||
(props.item.ResultGroupName === 'Preparasi Sperma' && props.item.resample == 'Y' && props.item.resample_status == 'W')"
|
||||
solo readonly single-line rows=1 auto-grow hide-details label="" type="text"
|
||||
@click:append="openDialogPreparasiSperma(props.item)"></v-textarea>
|
||||
|
||||
<v-textarea
|
||||
:value="props.item.result === null || props.item.result === '' ? 'Belum diisi' : 'Terlampir'"
|
||||
append-icon="description"
|
||||
v-if="(props.item.ResultGroupName === 'FNA' && props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && props.item.resample == 'N') ||
|
||||
(props.item.ResultGroupName === 'FNA' && props.item.resample == 'Y' && props.item.resample_status == 'W')" solo
|
||||
readonly single-line rows=1 auto-grow hide-details label="" type="text"
|
||||
@click:append="openDialogFNA(props.item)"></v-textarea>
|
||||
|
||||
<v-textarea
|
||||
:value="props.item.result === null || props.item.result === '' ? 'Belum diisi' : 'Terlampir'"
|
||||
append-icon="description"
|
||||
v-if="(props.item.ResultGroupName === 'Cytologi' && props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && props.item.resample == 'N') ||
|
||||
(props.item.ResultGroupName === 'Cytologi' && props.item.resample == 'Y' && props.item.resample_status == 'W')" solo
|
||||
readonly single-line rows=1 auto-grow hide-details label="" type="text"
|
||||
@click:append="openDialogCytologi(props.item)"></v-textarea>
|
||||
|
||||
<v-textarea
|
||||
:value="props.item.result === null || props.item.result === '' ? 'Belum diisi' : 'Terlampir'"
|
||||
append-icon="description"
|
||||
v-if="(props.item.ResultGroupName === 'Papsmear' && props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && props.item.resample == 'N') ||
|
||||
(props.item.ResultGroupName === 'Papsmear' && props.item.resample == 'Y' && props.item.resample_status == 'W')" solo
|
||||
readonly single-line rows=1 auto-grow hide-details label="" type="text"
|
||||
@click:append="openDialogPapsmear(props.item)"></v-textarea>
|
||||
|
||||
<v-textarea
|
||||
:value="props.item.result === null || props.item.result === '' ? 'Belum diisi' : 'Terlampir'"
|
||||
append-icon="description"
|
||||
v-if="(props.item.ResultGroupName === 'Pap Smear (Liquid C Prep)' && props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && props.item.resample == 'N') ||
|
||||
(props.item.ResultGroupName === 'Pap Smear (Liquid C Prep)' && props.item.resample == 'Y' && props.item.resample_status == 'W')"
|
||||
solo readonly single-line rows=1 auto-grow hide-details label="" type="text"
|
||||
@click:append="openDialogLcprep(props.item)"></v-textarea>
|
||||
|
||||
<v-textarea
|
||||
:value="props.item.result === null || props.item.result === '' ? 'Belum diisi' : props.item.result"
|
||||
append-icon="description"
|
||||
v-if="(props.item.ResultGroupName === 'Mikro' && props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic === 'Y' && props.item.resample == 'N') ||
|
||||
(props.item.ResultGroupName === 'Mikro' && props.item.resample == 'Y' && props.item.resample_status == 'W')" solo
|
||||
readonly single-line rows=1 auto-grow hide-details label="" type="text"
|
||||
@click:append="openDialogMikro(props.item)"></v-textarea>
|
||||
|
||||
|
||||
<v-textarea label="" solo rows=1 hide-details
|
||||
v-on:keyup="update_result(props.index, $event.target.value)" :value="props.item.result"
|
||||
v-if="props.item.is_quantitative == 'Y' && (props.item.ResultGroupName === 'LAB' || props.item.ResultGroupName === 'ACA')"
|
||||
@keydown.ctrl.a="keyDownResult(props.index, props.item)" auto-grow
|
||||
:readonly="props.item.T_OrderDetailVerification == 'Y'"
|
||||
:flat="props.item.T_OrderDetailVerification == 'Y'" v-show="(props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && props.item.resample == 'N') ||
|
||||
(props.item.resample == 'Y' && props.item.resample_status == 'W')"></v-textarea>
|
||||
|
||||
<v-select :items="props.item.template" label="" item-value="T_ResultTemplateValue"
|
||||
item-text="T_ResultTemplateValue"
|
||||
v-if="props.item.is_quantitative == 'N' && props.item.ResultGroupName === 'LAB'" solo hide-details
|
||||
:value="props.item.result" @change="update_result(props.index, $event)"
|
||||
:disabled="props.item.T_OrderDetailVerification == 'Y'" v-show="(props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && props.item.resample == 'N') ||
|
||||
(props.item.resample == 'Y' && props.item.resample_status == 'W')">
|
||||
<template style="margin-top: 3px;" v-slot:append-outer>
|
||||
<v-btn icon dark color="green" small class="btn-outer ma-0"
|
||||
@click="template_new(props.item)"><v-icon>add_circle</v-icon></v-btn>
|
||||
</template>
|
||||
</v-select>
|
||||
|
||||
<span class="body-1"
|
||||
v-show="props.item.sample_worklist_receive != 'Y' || !props.item.pre_analytic || (props.item.resample == 'Y' && props.item.resample_status != 'W')">{{
|
||||
init_result(props.item) }}</span>
|
||||
|
||||
<!-- <v-textarea
|
||||
solo
|
||||
hide-details
|
||||
rows="2"
|
||||
:value="props.item.result"
|
||||
@change="update_result(props.index, $event)"
|
||||
>
|
||||
</v-textarea> -->
|
||||
|
||||
<v-btn style="width: 28px;padding-bottom: 10px;margin-top: 43px;"
|
||||
v-if="props.item.is_quantitative == 'Y' && props.item.result_instrument_n > 0"
|
||||
color="green lighten-2" class="btn_rerun" icon flat small
|
||||
@click="rerun_me(props.index, props.item)">
|
||||
<v-img :src="icon_info" aspect-ratio="1" height="15" contain></v-img>
|
||||
</v-btn>
|
||||
</td>
|
||||
|
||||
<td class="text-xs-left pa-2" v-bind:class="is_selected(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'Y'">
|
||||
{{ !init_blank(props.item) ? props.item.result_flag : '' }}
|
||||
</td>
|
||||
|
||||
<td class="text-xs-left pa-2" v-bind:class="is_selected(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'Y'">
|
||||
{{ !init_blank_normal(props.item) ? props.item.normal_note : '' }}
|
||||
<a href="javascript:;"
|
||||
v-show="props.item.normal_note != '' && props.item.normal_note != null && props.item.sample_processing == 'Y' && !init_blank_normal(props.item) && false"
|
||||
@click="normalChange(props)"><v-icon small color="green">create</v-icon></a>
|
||||
</td>
|
||||
|
||||
<td class="text-xs-left pa-2" v-bind:class="is_selected(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'Y'">
|
||||
{{ !init_blank_normal(props.item) ? props.item.unit_name : '' }}
|
||||
</td>
|
||||
|
||||
<td class="text-xs-left pa-2" v-bind:class="is_selected(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'Y'">
|
||||
{{ !init_blank_normal(props.item) ? props.item.methode_name : '' }}
|
||||
<a href="javascript:;"
|
||||
v-show="props.item.methode_name != '' && props.item.methode_name != null && props.item.sample_processing == 'Y' && !init_blank_normal(props.item)"
|
||||
@click="methodeChange(props)"><v-icon small color="green">create</v-icon></a>
|
||||
</td>
|
||||
|
||||
<td class="text-xs-left pa-2" v-bind:class="is_selected(props.item)"
|
||||
@click="select(props.index, props.item)" v-if="props.item.is_result == 'Y'">
|
||||
<div class="d-flex align-center">
|
||||
<v-textarea label="" solo rows="1" hide-details
|
||||
v-on:keyup="update_note(props.index, $event.target.value)" :value="props.item.note" auto-grow
|
||||
@keydown.ctrl.a="keyDownResult(props.index, props.item)"
|
||||
:readonly="props.item.T_OrderDetailVerification == 'Y'"
|
||||
:flat="props.item.T_OrderDetailVerification == 'Y'"
|
||||
v-show="props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && !init_blank(props.item)"></v-textarea>
|
||||
<!-- button show result note row start -->
|
||||
<v-btn small class="btn-search one-btn-icon ma-1 white--text ma-1 x-small" color="orange"
|
||||
@click="openDialogResultNoteRow(props.item)"
|
||||
v-show="props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && !init_blank(props.item)"
|
||||
title="Result Note Row">
|
||||
<v-icon style="width: 10px; height: 10px;">library_books</v-icon>
|
||||
</v-btn>
|
||||
<!-- button show result note row end -->
|
||||
</div>
|
||||
|
||||
<p v-show="props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && !init_blank(props.item)"
|
||||
class="text-xs-left mt-2 mb-2" style="color: brown;">Internal</p>
|
||||
|
||||
<!-- Inputan T_OrderDetailInternalNote -->
|
||||
<v-textarea class="inputanInternalNote" label="" solo rows=1 hide-details
|
||||
v-on:keyup="update_internal_note(props.index, $event.target.value)"
|
||||
:value="props.item.T_OrderDetailInternalNote" auto-grow
|
||||
@keydown.ctrl.a="keyDownResult(props.index, props.item)"
|
||||
:readonly="props.item.T_OrderDetailVerification == 'Y'"
|
||||
:flat="props.item.T_OrderDetailVerification == 'Y'"
|
||||
v-show="props.item.sample_worklist_receive == 'Y' && props.item.pre_analytic && !init_blank(props.item)"></v-textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
</v-data-table>
|
||||
|
||||
|
||||
</v-card>
|
||||
|
||||
<one-process-re-rerun-result></one-process-re-rerun-result>
|
||||
<one-process-re-history></one-process-re-history>
|
||||
<one-process-re-fna></one-process-re-fna>
|
||||
<one-process-re-cytologi></one-process-re-cytologi>
|
||||
<one-process-re-papsmear></one-process-re-papsmear>
|
||||
<one-process-re-lcprep></one-process-re-lcprep>
|
||||
<one-process-re-mikro></one-process-re-mikro>
|
||||
<one-process-re-preparasisperma></one-process-re-preparasisperma>
|
||||
<v-snackbar v-model="snackbar" :timeout="5000" bottom right>
|
||||
{{ save_text }}
|
||||
<v-btn color="pink" flat @click="snackbar = false">
|
||||
Close
|
||||
</v-btn>
|
||||
</v-snackbar>
|
||||
|
||||
<!-- SNACKBAR INTERFACE START -->
|
||||
<v-snackbar v-model="snackbar_interface.value" top :color="snackbar_interface.color">
|
||||
{{ snackbar_interface.text }}
|
||||
<v-btn flat @click="snackbar_interface.value = false">
|
||||
Tutup
|
||||
</v-btn>
|
||||
</v-snackbar>
|
||||
<!-- SNACKBAR INTERFACE END -->
|
||||
|
||||
<one-dialog-template>
|
||||
</one-dialog-template>
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
/* button result note row */
|
||||
button.btn-search.one-btn-icon.ma-1.white--text.ma-1.x-small.v-btn.v-btn--small.theme--light.orange {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
.btn-search {
|
||||
font-size: 1.5em
|
||||
}
|
||||
|
||||
div.v-table__overflow {
|
||||
height: 640px !important;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.searchbox .v-input.v-text-field .v-input__slot {
|
||||
min-height: 60px;
|
||||
}
|
||||
|
||||
.searchbox .v-btn {
|
||||
min-height: 60px;
|
||||
}
|
||||
|
||||
table.v-table tbody td,
|
||||
table.v-table tbody th {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
table.v-table thead tr {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.btn_rerun {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 2px
|
||||
}
|
||||
|
||||
.flex-card {
|
||||
min-height: -webkit-min-content;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.v-text-field.v-text-field--solo .v-input__control {
|
||||
min-height: 32px;
|
||||
box-shadow: none;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.v-text-field.inputanInternalNote .v-input__control {
|
||||
border: 2px solid rgba(255, 0, 0, 0.5) !important;
|
||||
min-height: 32px !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.v-textarea.v-text-field--box.v-text-field--single-line .v-text-field__prefix,
|
||||
.v-textarea.v-text-field--box.v-text-field--single-line textarea,
|
||||
.v-textarea.v-text-field--enclosed.v-text-field--single-line .v-text-field__prefix,
|
||||
.v-textarea.v-text-field--enclosed.v-text-field--single-line textarea {
|
||||
margin-top: 2px;
|
||||
|
||||
}
|
||||
|
||||
.v-textarea.v-text-field--solo .v-input__append-inner,
|
||||
.v-textarea.v-text-field--solo .v-input__append-outer,
|
||||
.v-textarea.v-text-field--solo .v-input__prepend-inner,
|
||||
.v-textarea.v-text-field--solo .v-input__prepend-outer {
|
||||
align-self: flex-start;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.v-textarea.v-text-field--solo .v-input__append-inner .v-input__icon {
|
||||
align-items: center;
|
||||
display: inline-flex;
|
||||
height: 24px;
|
||||
flex: 1 0 auto;
|
||||
justify-content: center;
|
||||
min-width: 24px;
|
||||
width: 24px;
|
||||
padding-bottom: 6px;
|
||||
padding-left: 18px;
|
||||
}
|
||||
|
||||
.v-text-field.v-text-field--solo .v-input__append-outer,
|
||||
.v-text-field.v-text-field--solo .v-input__prepend-outer {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
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>
|
||||
let ts = '?ts=' + moment().format('YYMMDDhhmmss')
|
||||
module.exports = {
|
||||
components: {
|
||||
'one-process-re-rerun-result': httpVueLoader('./oneProcessReRerunResult.vue' + ts),
|
||||
'one-process-re-history': httpVueLoader('./oneProcessReHistory.vue' + ts),
|
||||
'one-process-re-fna': httpVueLoader('./oneResultFNA.vue' + ts),
|
||||
'one-process-re-cytologi': httpVueLoader('./oneResultCytologi.vue' + ts),
|
||||
'one-process-re-papsmear': httpVueLoader('./oneResultPapsmear.vue' + ts),
|
||||
'one-process-re-lcprep': httpVueLoader('./oneResultLcprep.vue' + ts),
|
||||
'one-process-re-mikro': httpVueLoader('./oneResultMikro.vue' + ts),
|
||||
'one-dialog-template': httpVueLoader('./oneProcessReDialogResultTemplateNew.vue' + ts),
|
||||
'one-process-re-preparasisperma': httpVueLoader('./oneResultPreparasiSperma.vue' + ts),
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
// selected checkbox_array
|
||||
selected_checkbox: [],
|
||||
// hidden
|
||||
selected_hidden:[],
|
||||
|
||||
borderColorInternalNote: 'black',
|
||||
query: "",
|
||||
save_text: "Data telah tersimpan.",
|
||||
items: [],
|
||||
order_detail_id_param: '',
|
||||
headers: [
|
||||
{
|
||||
text: "NAMA PEMERIKSAAN",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "15%",
|
||||
class: "pa-2 green lighten-3 white--text"
|
||||
},
|
||||
{
|
||||
text: "HASIL",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "15%",
|
||||
class: "pa-2 green lighten-3 white--text"
|
||||
},
|
||||
{
|
||||
text: "FLAG",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "10%",
|
||||
class: "pa-2 green lighten-3 white--text"
|
||||
},
|
||||
{
|
||||
text: "NILAI NORMAL",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "15%",
|
||||
class: "pa-2 green lighten-3 white--text"
|
||||
},
|
||||
{
|
||||
text: "UNIT",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "10%",
|
||||
class: "pa-2 green lighten-3 white--text"
|
||||
},
|
||||
{
|
||||
text: "METODE",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "15%",
|
||||
class: "pa-2 green lighten-3 white--text"
|
||||
},
|
||||
{
|
||||
text: "CATATAN",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "20%",
|
||||
class: "pa-2 green lighten-3 white--text"
|
||||
}
|
||||
],
|
||||
|
||||
isLoading: false
|
||||
};
|
||||
},
|
||||
|
||||
computed: {
|
||||
pxs() {
|
||||
return this.$store.state.re_px.pxs
|
||||
},
|
||||
|
||||
icon_info() {
|
||||
return window.BASE_URL + '/one-ui/apps/image/info.png'
|
||||
},
|
||||
|
||||
snackbar: {
|
||||
get() { return this.$store.state.re_px.snackbar },
|
||||
set(v) { this.$store.commit('re_px/update_snackbar', v) }
|
||||
},
|
||||
|
||||
// SNACKBAR INTERFACE
|
||||
snackbar_interface: {
|
||||
get() { return this.$store.state.re_px.snackbar_interface },
|
||||
set(v) { this.$store.commit('re_px/update_snackbar_interface', v) }
|
||||
},
|
||||
|
||||
search_status() {
|
||||
return this.$store.state.re_px.search_status
|
||||
},
|
||||
|
||||
selected_px() {
|
||||
return this.$store.state.re_px.selected_px
|
||||
},
|
||||
|
||||
// result note row
|
||||
dialog_result_note_row: {
|
||||
get() { return this.$store.state.re_px.dialog_result_note_row },
|
||||
set(v) { this.$store.commit('re_px/update_dialog_result_note_row', v) }
|
||||
},
|
||||
|
||||
result_note_rows() {
|
||||
return this.$store.state.re_px.result_note_rows
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
// dialog result note row
|
||||
openDialogResultNoteRow(item) {
|
||||
console.log("Data per row : ", item)
|
||||
this.order_detail_id_param = item.id;
|
||||
this.$store.dispatch("re_px/get_result_note_by_nat_test_id", { nattest_id: item.nattest_id })
|
||||
// this.$store.commit('re_px/update_dialog_result_note_row', true)
|
||||
},
|
||||
|
||||
closeDialogResultNoteRow() {
|
||||
// close dialog
|
||||
this.order_detail_id_param = ""
|
||||
this.selected_checkbox = []
|
||||
this.selected_hidden = []
|
||||
this.dialog_result_note_row = !this.dialog_result_note_row;
|
||||
},
|
||||
|
||||
saveResultDialogNoteRow(){
|
||||
console.log("result dialog note - selected hidden checkbox", this.selected_hidden);
|
||||
console.log("result dialog note - selected checkbox", this.selected_checkbox);
|
||||
// let resultNoteRowString = "";
|
||||
let hidden_note = "";
|
||||
// if(this.selected_checkbox.length > 0){
|
||||
// resultNoteRowString = this.selected_checkbox.map(item => item.ResultNoteRowValue).join(' \r ');
|
||||
// }
|
||||
|
||||
if(this.selected_hidden.length < 1){
|
||||
hidden_note = "N"
|
||||
}else{
|
||||
hidden_note = "Y"
|
||||
}
|
||||
|
||||
let prm = {
|
||||
// "result_note_row" : resultNoteRowString,
|
||||
"result_note_row" : this.selected_checkbox,
|
||||
"order_detail_id" : this.order_detail_id_param,
|
||||
"hidden_note" : hidden_note
|
||||
};
|
||||
|
||||
console.log("PARAM SAVE RESULT NOTE ROW",prm);
|
||||
this.$store.dispatch("re_px/save_result_note_row", prm)
|
||||
|
||||
// clear
|
||||
this.order_detail_id_param = ""
|
||||
this.selected_checkbox = []
|
||||
this.selected_hidden = []
|
||||
this.dialog_result_note_row = !this.dialog_result_note_row;
|
||||
},
|
||||
|
||||
async keyDownResult(idx, item) {
|
||||
await this.$store.dispatch('re_normal/update', item.id)
|
||||
if (this.$store.state.re_normal.error == "") {
|
||||
let result = this.$store.state.re_normal.result
|
||||
let pxs = this.$store.state.re_px.pxs
|
||||
pxs[idx]["normal_id"] = result.T_OrderDetailNat_NormalValueID
|
||||
pxs[idx]["normal_note"] = result.T_OrderDetailNormalValueNote
|
||||
pxs[idx]["methode_id"] = result.T_OrderDetailNat_MethodeID
|
||||
pxs[idx]["methode_name"] = result.Nat_MethodeName
|
||||
let data = { records: pxs }
|
||||
this.$store.commit("re_px/update_pxs", data)
|
||||
}
|
||||
},
|
||||
openDialogFNA(value) {
|
||||
if (value.result === null || value.result === '') {
|
||||
var results = []
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'A', label: 'Diagnosis Klinis', result: '' })
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'B', label: 'Makroskopis/Tindakan', result: '' })
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'C', label: 'Mikroskopis', result: '' })
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'D', label: 'Kesimpulan/Diagnosa', result: '' })
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'E', label: 'Saran', result: '' })
|
||||
this.$store.commit("re_fna/update_results", results)
|
||||
this.$store.dispatch("re_fna/get_doctors", { token: '' })
|
||||
}
|
||||
else
|
||||
this.$store.dispatch("re_fna/get_fnaresult", value)
|
||||
},
|
||||
openDialogCytologi(value) {
|
||||
//console.log(value.result)
|
||||
if (value.result === null || value.result === '') {
|
||||
console.log("ane-01")
|
||||
var results = []
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'A', label: 'Makroskopis', result: '' })
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'B', label: 'Mikroskopis', result: '' })
|
||||
results.push({ xid: '0', orderdetail_id: value.id, code: 'C', label: 'Kesimpulan', result: '' })
|
||||
this.$store.commit("re_cytologi/update_results", results)
|
||||
this.$store.dispatch("re_cytologi/get_doctors", { token: '' })
|
||||
}
|
||||
else {
|
||||
console.log("ane-09")
|
||||
this.$store.dispatch("re_cytologi/get_cytologiresult", value)
|
||||
}
|
||||
|
||||
},
|
||||
openDialogPapsmear(value) {
|
||||
this.$store.commit("re_papsmear/update_selected_papsmear", value)
|
||||
this.$store.dispatch("re_papsmear/get_papsmearresult", value)
|
||||
},
|
||||
openDialogLcprep(value) {
|
||||
console.log(value)
|
||||
this.$store.commit("re_lcprep/update_selected_lcprep", value)
|
||||
this.$store.dispatch("re_lcprep/get_lcprepresult", value)
|
||||
},
|
||||
openDialogMikro(value) {
|
||||
this.$store.commit("re_mikro/update_selected_mikro", value)
|
||||
this.$store.dispatch("re_mikro/get_mikroresult", value)
|
||||
},
|
||||
openDialogPreparasiSperma(value) {
|
||||
console.log(value)
|
||||
this.$store.commit("re_preparasisperma/update_selected_preparasisperma", value)
|
||||
if (value.result === null || value.result === '') {
|
||||
var results = { xid: '0' }
|
||||
console.log('result null')
|
||||
this.$store.commit("re_preparasisperma/update_results", results)
|
||||
this.$store.dispatch("re_preparasisperma/get_doctors_preparasi_sperma", { token: '' })
|
||||
}
|
||||
else
|
||||
this.$store.dispatch("re_preparasisperma/get_preparasispermaresult", value)
|
||||
},
|
||||
oneMoment: function (d) {
|
||||
return window.oneMoment(d)
|
||||
},
|
||||
|
||||
select(idx, item) {
|
||||
console.log("di file oneProcessPxList")
|
||||
this.$store.commit('re_px/update_selected_px', item)
|
||||
this.$store.commit('re_px/update_selected_px_idx', idx)
|
||||
},
|
||||
|
||||
is_selected(item) {
|
||||
|
||||
return ''
|
||||
},
|
||||
|
||||
margin_left(item) {
|
||||
if (item.level == 2)
|
||||
return 'pl-4'
|
||||
|
||||
if (item.level == 3)
|
||||
return 'pl-5'
|
||||
|
||||
return 'pl-2'
|
||||
},
|
||||
|
||||
rerun_me(idx, item) {
|
||||
if (item.verification == 'Y') return
|
||||
this.select(idx, item)
|
||||
this.$store.commit('re_px/update_dialog_rerun', true)
|
||||
},
|
||||
|
||||
update_result(idx, result) {
|
||||
let x = this.$store.state.re_px.pxs
|
||||
x[idx]['result'] = result
|
||||
|
||||
this.$store.commit('re_px/update_pxs', { records: x })
|
||||
},
|
||||
|
||||
update_note(idx, note) {
|
||||
|
||||
let x = this.$store.state.re_px.pxs
|
||||
x[idx]['note'] = note
|
||||
|
||||
this.$store.commit('re_px/update_pxs', { records: x })
|
||||
},
|
||||
|
||||
// internal note
|
||||
update_internal_note(idx, internalNote) {
|
||||
|
||||
let x = this.$store.state.re_px.pxs
|
||||
x[idx]['T_OrderDetailInternalNote'] = internalNote
|
||||
|
||||
this.$store.commit('re_px/update_pxs', { records: x })
|
||||
},
|
||||
|
||||
template_new(item) {
|
||||
this.$store.commit('re_px/update_selected_px', item)
|
||||
this.$store.commit('re_px/update_dialog_template_new', true)
|
||||
},
|
||||
|
||||
methodeChange(d) {
|
||||
if (d.item.verification == 'Y') return
|
||||
this.select(d.index, d.item)
|
||||
this.$store.commit('normal_method/update_nattest_id', d.item.nattest_id)
|
||||
this.$store.commit('normal_method/update_id', d.item.id)
|
||||
this.$store.commit('normal_method/update_dialog_method', true)
|
||||
},
|
||||
|
||||
normalChange(d) {
|
||||
return
|
||||
},
|
||||
|
||||
init_result(x) {
|
||||
if (x.verification == "Y" || x.validation == "Y")
|
||||
return x.result
|
||||
|
||||
let susul_date = moment(x.T_OrderPromiseDateTime).format('DD.MM.YYYY HH:mm')
|
||||
// Override
|
||||
if (x.resample == "Y") {
|
||||
if (x.resample_status == "N")
|
||||
return "Bahan belum"
|
||||
if (x.resample_status == "R")
|
||||
return "Hasil Menyusul : " + susul_date
|
||||
if (x.resample_status == "W")
|
||||
return x.result
|
||||
}
|
||||
|
||||
if (x.sample_receive != 'Y')
|
||||
return "Bahan belum"
|
||||
if (x.sample_receive == 'Y' && !x.pre_analytic)
|
||||
return "Belum Pre Analitik"
|
||||
if (x.sample_receive == 'Y' && x.pre_analytic) {
|
||||
if (x.sample_worklist_receive == "Y")
|
||||
return x.result
|
||||
else
|
||||
return "Hasil Menyusul : " + susul_date
|
||||
}
|
||||
},
|
||||
|
||||
init_blank_normal(x) {
|
||||
if (x.verification == "Y" || x.validation == "Y")
|
||||
return false
|
||||
|
||||
if (x.sample_receive != "Y")
|
||||
return true
|
||||
|
||||
return false
|
||||
},
|
||||
init_blank(x) {
|
||||
if (x.verification == "Y" || x.validation == "Y")
|
||||
return false
|
||||
|
||||
// Override
|
||||
if (x.resample == "Y") {
|
||||
if (x.resample_status == "N" || x.resample_status == "R")
|
||||
return true
|
||||
}
|
||||
|
||||
if (x.sample_receive != 'Y' || !x.pre_analytic || x.sample_worklist_receive != "Y")
|
||||
return true
|
||||
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
// this.$store.dispatch('re_patient/search')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user