add filter date mcu preregister patient

This commit is contained in:
2026-04-27 16:16:48 +07:00
parent 95c30b6d96
commit a4c1b39a66

View File

@@ -7,7 +7,8 @@
<v-layout pa-2 class="grey lighten-2" row>
<v-flex xs1>
<v-checkbox style="padding-top: 0; margin-top: 0;" hide-details color="grey darken-1"
:indeterminate="indeterminatex" @change="changeCbxAll(bar_chx_all)" v-model="bar_chx_all">
:indeterminate="indeterminatex" @change="changeCbxAll(bar_chx_all)"
v-model="bar_chx_all">
</v-checkbox>
</v-flex>
<v-flex xs5> SPECIMEN </v-flex>
@@ -15,15 +16,16 @@
<v-flex xs2> JUMLAH </v-flex>
<v-flex xs2> CETAK </v-flex>
</v-layout>
<v-layout align-center pa-2 v-for="(vs, idx) in barcodeList" :key="vs.id" class="grey lighten-4" row>
<v-layout align-center pa-2 v-for="(vs, idx) in barcodeList" :key="vs.id" class="grey lighten-4"
row>
<v-flex xs1>
<v-checkbox v-if="
vs.type === 'barcode' ||
vs.type === 'formulir' ||
vs.type === 'qrcode' ||
vs.type === 'nonlab'
" style="padding-top: 0; margin-top: 0;" color="grey darken-1" hide-details v-model="vs.chex"
@change="checkTop()"></v-checkbox>
" style="padding-top: 0; margin-top: 0;" color="grey darken-1" hide-details
v-model="vs.chex" @change="checkTop()"></v-checkbox>
</v-flex>
<v-flex xs5>
{{ vs.T_SampleTypeName }}
@@ -51,7 +53,8 @@
>Cetak Robo
</v-btn> -->
<!-- [ {{ selected_barcode.length }} ] -->
<v-btn dark color="grey darken-1" @click="printMultipleBarcode()">Cetak terpilih [ {{ selected_barcode.length
<v-btn dark color="grey darken-1" @click="printMultipleBarcode()">Cetak terpilih [ {{
selected_barcode.length
}} ]</v-btn>
</v-card-actions>
</v-card>
@@ -64,7 +67,8 @@
<v-flex xs6 class="px-1">
<v-btn block color="info" @click="printBarcode()" large>
PRINT BARCODE</v-btn></v-flex>
<v-flex xs6 class="px-1"><v-btn block color="success" @click="BtnprintQrCode" large>PRINT QRCODE</v-btn>
<v-flex xs6 class="px-1"><v-btn block color="success" @click="BtnprintQrCode" large>PRINT
QRCODE</v-btn>
</v-flex>
</v-layout>
</v-card-text>
@@ -147,85 +151,45 @@
</v-card-title>
<v-card-text>
<table style="
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
background: white;
border: 0px;
">
<table style="font-family: arial, sans-serif; border-collapse: collapse; width: 100%;
background: white;border: 0px; ">
<tr>
<th class="text-md-left pt-2 pb-2" style="
border: 1px solid black;
border-collapse: collapse;
padding-top: 2px;
padding-bottom: 2px;
padding-left: 20px;
">
<th class="text-md-left pt-2 pb-2" style=" border: 1px solid black; border-collapse: collapse;
padding-top: 2px; padding-bottom: 2px; padding-left: 20px;">
PEMERIKSAAN
</th>
<th class="text-md-right pt-2 pb-2" style="
border: 1px solid black;
border-collapse: collapse;
padding-top: 2px;
padding-bottom: 2px;
padding-right: 20px;
">
<th class="text-md-right pt-2 pb-2" style=" border: 1px solid black; border-collapse: collapse;
padding-top: 2px; padding-bottom: 2px; padding-right: 20px;">
HARGA
</th>
</tr>
<tr
class="mini-input" :key="index"
v-if="detailPacket.length > 0"
v-for="(note, index) in detailPacket"
>
<td width="70%" class="text-md-left pl-2 pr-2" style="
border: 1px solid black;
border-collapse: collapse;
padding-top: 2px;
padding-bottom: 2px;
">
<tr class="mini-input" :key="index" v-if="detailPacket.length > 0"
v-for="(note, index) in detailPacket">
<td width="70%" class="text-md-left pl-2 pr-2" style=" border: 1px solid black;
border-collapse: collapse; padding-top: 2px; padding-bottom: 2px;">
<span class="font-weight-bold mr-2">{{
note.code
}}</span>
{{ note.name }}
</td>
<td width="25%" class="text-md-right pl-2 pr-2" style="
border: 1px solid black;
border-collapse: collapse;
padding-top: 2px;
padding-bottom: 2px;
">
<td width="25%" class="text-md-right pl-2 pr-2" style=" border: 1px solid black;
border-collapse: collapse; padding-top: 2px; padding-bottom: 2px;">
{{ convertMoney(note.price) }}
</td>
<td
v-if="isPacketOptional()" width="5%"
class="text-md-right pl-2 pr-2"
>
<v-btn
v-if="testExist(note) && checkNatTest(note)"
:disabled="selected_patient_listing.Mcu_PreregisterPatientsIsRegistered !== 'N'
|| selectedSetup.Mgm_McuBisaTambahPemeriksaan === 'N'"
@click="addToTests(note)" color="cyan" dark
style="min-width: 25px; height: 30px;" small
>
<td v-if="isPacketOptional()" width="5%" class="text-md-right pl-2 pr-2">
<v-btn v-if="testExist(note) && checkNatTest(note)" :disabled="selected_patient_listing.Mcu_PreregisterPatientsIsRegistered !== 'N'
|| selectedSetup.Mgm_McuBisaTambahPemeriksaan === 'N'" @click="addToTests(note)"
color="cyan" dark style="min-width: 25px; height: 30px;" small>
<v-icon style="cursor: pointer; font-size: 18px;">add_box</v-icon>
</v-btn>
<v-icon
v-else style="min-width: 25px; height: 30px;"
:disabled="selected_patient_listing.Mcu_PreregisterPatientsIsRegistered !== 'N'
<v-icon v-else style="min-width: 25px; height: 30px;" :disabled="selected_patient_listing.Mcu_PreregisterPatientsIsRegistered !== 'N'
|| selectedSetup.Mgm_McuBisaTambahPemeriksaan === 'N'"
@click="removeFromTests(note)" color="cyan" dark
>done</v-icon>
@click="removeFromTests(note)" color="cyan" dark>done</v-icon>
</td>
</tr>
<tr class="mini-input" v-if="detailPacket.length === 0">
<td colspan="5" class="text-md-center pr-2" style="
border: 1px solid black;
border-collapse: collapse;
padding-top: 2px;
padding-bottom: 2px;
">
<td colspan="5" class="text-md-center pr-2" style=" border: 1px solid black;
border-collapse: collapse; padding-top: 2px; padding-bottom: 2px;">
Tidak ada data
</td>
</tr>
@@ -291,8 +255,8 @@
</v-card>
</v-dialog>
<v-snackbar v-model="snackbar.value" :color="snackbar.color" :multi-line="snackbar.multi_line === 'multi-line'" top
:timeout="snackbar.timeout">
<v-snackbar v-model="snackbar.value" :color="snackbar.color" :multi-line="snackbar.multi_line === 'multi-line'"
top :timeout="snackbar.timeout">
{{ snackbar.text }}
</v-snackbar>
@@ -325,9 +289,11 @@
v-model="patient_prefix"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" label="NAMA PASIEN*"
@blur="searchPatientForm()" v-model="patient_name"></v-text-field>
<p v-if="checkError('requirename')" class="error pl-2 pr-2" style="color: #fff;">
<v-text-field style="font-size: 12px;" :disabled="is_progress"
label="NAMA PASIEN*" @blur="searchPatientForm()"
v-model="patient_name"></v-text-field>
<p v-if="checkError('requirename')" class="error pl-2 pr-2"
style="color: #fff;">
Namanya siapa ?
</p>
</v-flex>
@@ -336,8 +302,9 @@
v-model="patient_suffix"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" label="TGL LAHIR*" v-model="dob"
return-masked-value @blur="searchPatientForm()" mask="##-##-####"
<v-text-field style="font-size: 12px;" :disabled="is_progress"
label="TGL LAHIR*" v-model="dob" return-masked-value
@blur="searchPatientForm()" mask="##-##-####"
placeholder="DD-MM-YYYY"></v-text-field>
<p v-if="checkError('requiredob')" class="error pl-2 pr-2" style="color: #fff;">
Diisi ya
@@ -346,19 +313,21 @@
</v-layout>
<v-layout row>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" label="NIP" v-model="nik"
@blur="searchPatientForm()"></v-text-field>
<v-text-field style="font-size: 12px;" :disabled="is_progress" label="NIP"
v-model="nik" @blur="searchPatientForm()"></v-text-field>
</v-flex>
<v-flex xs4 pa-1>
<v-select style="font-size: 12px;" :disabled="is_progress" v-model="selected_sex" :items="sexes"
return-object item-text="m_sexname" label="JENIS KELAMIN*"></v-select>
<v-select style="font-size: 12px;" :disabled="is_progress"
v-model="selected_sex" :items="sexes" return-object item-text="m_sexname"
label="JENIS KELAMIN*"></v-select>
<p v-if="checkError('requiresex')" class="error pl-2 pr-2" style="color: #fff;">
Jenis kelaminnya ya
</p>
</v-flex>
<v-flex xs4 pa-1>
<v-select style="font-size: 12px;" :disabled="is_progress" v-model="selected_title"
:items="filtered_titles" return-object item-text="M_TitleName" label="TITEL*"></v-select>
<v-select style="font-size: 12px;" :disabled="is_progress"
v-model="selected_title" :items="filtered_titles" return-object
item-text="M_TitleName" label="TITEL*"></v-select>
<p v-if="checkError('requirenik')" class="error pl-2 pr-2" style="color: #fff;">
Titelnya kakak, biar enak manggilnya
</p>
@@ -374,8 +343,8 @@
label="HP"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" v-model="kedudukan"
label="DIVISI"></v-text-field>
<v-text-field style="font-size: 12px;" :disabled="is_progress"
v-model="kedudukan" label="DIVISI"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" v-model="jabatan"
@@ -384,12 +353,12 @@
</v-layout>
<v-layout row>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" v-model="departement"
label="DEPARTEMENT"></v-text-field>
<v-text-field style="font-size: 12px;" :disabled="is_progress"
v-model="departement" label="DEPARTEMENT"></v-text-field>
</v-flex>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" v-model="location"
label="LOKASI"></v-text-field>
<v-text-field style="font-size: 12px;" :disabled="is_progress"
v-model="location" label="LOKASI"></v-text-field>
</v-flex>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" v-model="job"
@@ -398,12 +367,13 @@
</v-layout>
<v-layout row>
<v-flex xs6 pa-1>
<v-text-field style="font-size: 12px;" :disabled="is_progress" v-model="ktp" label="KTP"
@blur="searchPatientForm()"></v-text-field>
<v-text-field style="font-size: 12px;" :disabled="is_progress" v-model="ktp"
label="KTP" @blur="searchPatientForm()"></v-text-field>
</v-flex>
<v-flex xs6 pa-1>
<v-autocomplete label="COMPANY" v-model="selectedCorporate" :disabled="is_progress"
:items="corporateList" item-text="CorporateName" return-object no-data-text="Pilih Corporate">
<v-autocomplete label="COMPANY" v-model="selectedCorporate"
:disabled="is_progress" :items="corporateList" item-text="CorporateName"
return-object no-data-text="Pilih Corporate">
<template slot="item" slot-scope="{ item }">
<v-list-tile-content>
<v-list-tile-title v-text="item.CorporateCode + ' ' + item.CorporateName
@@ -417,54 +387,58 @@
<p style="font-weight: bold; font-size: 12px;">Alamat</p>
<!-- dropdown auto complete country -->
<v-flex xs12 pt-2 pb-2>
<v-autocomplete :items="xCountryCb" v-model="selected_countryCb" item-text="display" hide-details
item-value="code" return-object label="Country">
<v-autocomplete :items="xCountryCb" v-model="selected_countryCb"
item-text="display" hide-details item-value="code" return-object
label="Country">
</v-autocomplete>
<!-- <p v-if="_.isEmpty(selected_countryCb)" class="error caption mt-1 mb-0 pl-2 pr-2 pb-2" style="color:#fff">Belum pilih Country</p> -->
</v-flex>
<!-- dropdown auto complete country -->
<!-- dropdown auto complete alamat -->
<v-flex xs12 pt-2 pb-2>
<v-autocomplete :items="xWilayahCb" v-model="selected_wilayahCb" item-text="text_nm" hide-details
item-value="id" return-object label="Cari Wilayah" :search-input.sync="search_wilayah">
<v-autocomplete :items="xWilayahCb" v-model="selected_wilayahCb"
item-text="text_nm" hide-details item-value="id" return-object
label="Cari Wilayah" :search-input.sync="search_wilayah">
</v-autocomplete>
<!-- <p v-if="_.isEmpty(selected_wilayahCb)" class="error caption mt-1 mb-0 pl-2 pr-2 pb-2" style="color:#fff">Belum pilih Country</p> -->
</v-flex>
<!-- dropdown auto complete alamat -->
<!-- provinsi -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Provinsi" v-model="inp_CorporateAddressState" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Provinsi" v-model="inp_CorporateAddressState"
hide-details single-line type="text" readonly></v-text-field>
</v-flex>
<!-- provinsi -->
<!-- kota / kabupaten -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Kota/Kab" v-model="inp_CorporateAddressCity" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Kota/Kab" v-model="inp_CorporateAddressCity"
hide-details single-line type="text" readonly></v-text-field>
</v-flex>
<!-- kota / kabupaten -->
<!-- kecamatan -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Kecamatan" v-model="inp_CorporateAddressDistrict" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Kecamatan"
v-model="inp_CorporateAddressDistrict" hide-details single-line type="text"
readonly></v-text-field>
</v-flex>
<!-- kecamatan -->
<!-- kelurahan -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Kelurahan" v-model="inp_CorporateAddressVillage" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Kelurahan"
v-model="inp_CorporateAddressVillage" hide-details single-line type="text"
readonly></v-text-field>
</v-flex>
<!-- kelurahan -->
<!-- rt -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRT" hide-details single-line
type="text"></v-text-field>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRT"
hide-details single-line type="text"></v-text-field>
</v-flex>
<!-- rt -->
<!-- rw -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRW" hide-details single-line
type="text"></v-text-field>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRW"
hide-details single-line type="text"></v-text-field>
</v-flex>
<!-- rw -->
<!-- alamat inputan -->
@@ -478,13 +452,15 @@
<v-card-actions>
<v-layout align-center row>
<v-flex xs8>
<v-alert v-if="patients_form_count > 0" :value="true" color="#ff5252" icon="new_releases">
<v-alert v-if="patients_form_count > 0" :value="true" color="#ff5252"
icon="new_releases">
Ditemukan {{ patients_form_count }} pasien
</v-alert>
</v-flex>
<v-flex class="text-xs-center" xs4>
<!-- || patients_form_count > 0 -->
<v-btn :disabled="is_progress" @click="saveNewForm()" flat color="orange">SIMPAN</v-btn>
<v-btn :disabled="is_progress" @click="saveNewForm()" flat
color="orange">SIMPAN</v-btn>
</v-flex>
</v-layout>
</v-card-actions>
@@ -502,13 +478,14 @@
<v-layout row>
<v-flex xs12 pa-1>
<v-text-field label="Cari Pasien" placeholder="Nama + DOB + NIP + NIK"
v-model="patient_search_table" @keyup.enter="searchPatientTable()"></v-text-field>
v-model="patient_search_table"
@keyup.enter="searchPatientTable()"></v-text-field>
</v-flex>
</v-layout>
<v-layout wrap>
<v-flex style="height: 450px; overflow: auto;" xs12 pl-0 pr-0 pt-2 pb-2>
<v-data-table :headers="search_headers" :items="patients_search" :loading="isLoading || is_progress"
hide-actions class="elevation-1">
<v-data-table :headers="search_headers" :items="patients_search"
:loading="isLoading || is_progress" hide-actions class="elevation-1">
<template slot="no-data">
<v-alert :value="isError" color="error" icon="warning">
Data Pasien tidak di temukan
@@ -551,20 +528,24 @@
'teal lighten-4': props.item.divider === 'Y',
'amber lighten-4': props.item.selected,
}">
<v-icon v-if="patientExist(props.item) && !is_progress" @click="addPatient(props.item)"
<v-icon v-if="patientExist(props.item) && !is_progress"
@click="addPatient(props.item)"
style="cursor: pointer; font-size: 35px;">add_box</v-icon>
<v-icon color="teal" v-if="!patientExist(props.item) && !is_progres"
@click="alertPatient(props.item)" style="cursor: pointer; font-size: 35px;">add_box</v-icon>
@click="alertPatient(props.item)"
style="cursor: pointer; font-size: 35px;">add_box</v-icon>
</td>
</template>
</v-data-table>
<div class="text-xs-center pt-2">
<v-btn :loading="loading" dark v-if="show_more" @click="showMore()" small color="teal lighten-3">
<v-btn :loading="loading" dark v-if="show_more" @click="showMore()" small
color="teal lighten-3">
Tampilkan lebih banyak
<template v-slot:loader> sedang memuat ... </template>
</v-btn>
<v-btn depressed v-if="!show_more" small color="grey lighten-2">Tidak ada lagi data</v-btn>
<v-btn depressed v-if="!show_more" small color="grey lighten-2">Tidak ada
lagi data</v-btn>
</div>
</v-flex>
</v-layout>
@@ -582,22 +563,40 @@
<v-flex xs12 pt-2 pb-1 pl-2 pr-2>
<v-card>
<v-layout align-center justify-space-between row>
<!-- <h4 class="subheader pl-3">DAFTAR PASIEN</h4>
<v-spacer></v-spacer> -->
<v-btn :disabled="_.isEmpty(selectedSetup)" @click="dialogPrintListPatient = true" small dark
color="blue">CETAK PASIEN</v-btn>
<v-btn :disabled="_.isEmpty(selectedSetup)" @click="openForm()" small dark color="teal">CEK
PASIEN</v-btn>
<!--
<h4 class="subheader pl-3">DAFTAR PASIEN</h4>
<v-spacer></v-spacer>
-->
<v-btn :disabled="_.isEmpty(selectedSetup)" @click="dialogPrintListPatient = true"
small dark color="blue">CETAK PASIEN</v-btn>
<v-btn :disabled="_.isEmpty(selectedSetup)" @click="openForm()" small dark
color="teal">
CEK PASIEN
</v-btn>
</v-layout>
<v-divider></v-divider>
<v-layout column>
<v-flex pt-1 pl-2 pr-2 pb-1 xs12>
<v-select :items="statusRegisterList" v-model="selectedStatusRegister" label="Status" hide-details
single-line item-text="name" return-object outline></v-select>
<v-select :items="statusRegisterList" v-model="selectedStatusRegister"
label="Status" hide-details single-line item-text="name" return-object
outline></v-select>
</v-flex>
<v-flex pt-1 pl-2 pr-2 pb-1 xs12>
<v-text-field color="#57c492" label="Cari" placeholder="Nama+NIP" v-model="search_listing"
@keyup.enter="searchListing()" outline single-line hide-details></v-text-field>
<v-menu v-model="menuFilterDateMCU" lazy offset-y min-width="290px"
transition="scale-transition" max-width="290px" full-width :nudge-right="40"
:close-on-content-click="false">
<template v-slot:activator="{ on }">
<v-text-field v-model="filterDateMCU" outline hide-details
label="Tanggal MCU" readonly v-on="on" clearable></v-text-field>
</template>
<v-date-picker v-model="filterDateMCU" no-title
@input="menuFilterDateMCU = false"></v-date-picker>
</v-menu>
</v-flex>
<v-flex pt-1 pl-2 pr-2 pb-1 xs12>
<v-text-field color="#57c492" label="Cari" placeholder="Nama+NIP"
v-model="search_listing" @keyup.enter="searchListing()" outline single-line
hide-details></v-text-field>
</v-flex>
</v-layout>
</v-card>
@@ -627,16 +626,22 @@
<kbd>{{ props.item.T_OrderHeaderLabNumber }}</kbd>
</span>
<p class="mb-0">
<kbd v-if="props.item.uuid_form != ''" class="mb-0 font-weight-bold" style="font-size: 10px;cursor: pointer;" @click="openFormRiwayat(props.item)">kode form : {{ props.item.code_form }}</kbd>
<code v-if="props.item.uuid_form == ''" class="mb-0 font-weight-bold" style="font-size: 10px;">kode form : Belum digenerate</code>
<kbd v-if="props.item.uuid_form != ''" class="mb-0 font-weight-bold"
style="font-size: 10px;cursor: pointer;"
@click="openFormRiwayat(props.item)">kode form : {{ props.item.code_form
}}</kbd>
<code v-if="props.item.uuid_form == ''" class="mb-0 font-weight-bold"
style="font-size: 10px;">kode form : Belum digenerate</code>
</p>
</td>
<td width="20%" @click="selectMe(props.item)" class="py-1 text-xs-right"
v-bind:class="{ 'amber lighten-4': isSelected(props.item) }" style="height: 42px; font-size: 12px;">
v-bind:class="{ 'amber lighten-4': isSelected(props.item) }"
style="height: 42px; font-size: 12px;">
<v-btn v-if="
props.item.Mcu_PreregisterPatientsIsRegistered === 'N'
" dark @click="removePatient(props.item)" style="min-width: 25px; height: 30px;" small color="red">
" dark @click="removePatient(props.item)"
style="min-width: 25px; height: 30px;" small color="red">
<v-icon style="cursor: pointer; font-size: 18px;">
close
</v-icon>
@@ -644,8 +649,8 @@
<v-btn v-if="
props.item.Mcu_PreregisterPatientsIsRegistered === 'Y'
" dark @click="openDialogPrintBarcodeList(props.item)" style="min-width: 25px; height: 30px;" small
color="grey">
" dark @click="openDialogPrintBarcodeList(props.item)"
style="min-width: 25px; height: 30px;" small color="grey">
<v-icon style="cursor: pointer; font-size: 18px;">
print
</v-icon>
@@ -671,13 +676,6 @@
<v-layout row>
<v-pagination color="teal" style="margin-top: 10px; margin-bottom: 10px;"
v-model="current_page_listing" :length="total_patient_listing"></v-pagination>
<!-- <v-flex xs10>
</v-flex> -->
<!-- <v-flex xs2>
<v-layout align-center justify-center row fill-height>
</v-layout>
</v-flex> -->
</v-layout>
</v-card>
</v-flex>
@@ -691,7 +689,8 @@
!_.isEmpty(selected_patient_listing) &&
selected_patient_listing.Mcu_PreregisterPatientsIsRegistered ===
'N'
" :disabled="_.isEmpty(selected_patient_listing)" @click="savePreregisterPatient()" color="#f5f5dc">SIMPAN
" :disabled="_.isEmpty(selected_patient_listing)" @click="savePreregisterPatient()"
color="#f5f5dc">SIMPAN
</v-btn>
<v-spacer></v-spacer>
<v-btn :disabled="_.isEmpty(selected_patient_listing) || selected_patient_listing.Mcu_PreregisterPatientsIsRegistered ===
@@ -711,20 +710,25 @@
<v-card-text>
<v-layout row>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" label="AWALAN" v-model="patient_prefix"></v-text-field>
<v-text-field style="font-size: 12px;" label="AWALAN"
v-model="patient_prefix"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" label="NAMA PASIEN*" v-model="patient_name"></v-text-field>
<p v-if="checkError('requirename')" class="error pl-2 pr-2" style="color: #fff;">
<v-text-field style="font-size: 12px;" label="NAMA PASIEN*"
v-model="patient_name"></v-text-field>
<p v-if="checkError('requirename')" class="error pl-2 pr-2"
style="color: #fff;">
Namanya siapa ?
</p>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" label="AKHIRAN" v-model="patient_suffix"></v-text-field>
<v-text-field style="font-size: 12px;" label="AKHIRAN"
v-model="patient_suffix"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" label="TGL LAHIR*" v-model="dob" return-masked-value
mask="##-##-####" placeholder="DD-MM-YYYY"></v-text-field>
<v-text-field style="font-size: 12px;" label="TGL LAHIR*" v-model="dob"
return-masked-value mask="##-##-####"
placeholder="DD-MM-YYYY"></v-text-field>
<p v-if="checkError('requiredob')" class="error pl-2 pr-2" style="color: #fff;">
Diisi ya
</p>
@@ -735,15 +739,16 @@
<v-text-field style="font-size: 12px;" label="NIP" v-model="nik"></v-text-field>
</v-flex>
<v-flex xs4 pa-1>
<v-select style="font-size: 12px;" v-model="selected_sex" :items="sexes" return-object
item-text="m_sexname" label="JENIS KELAMIN*"></v-select>
<v-select style="font-size: 12px;" v-model="selected_sex" :items="sexes"
return-object item-text="m_sexname" label="JENIS KELAMIN*"></v-select>
<p v-if="checkError('requiresex')" class="error pl-2 pr-2" style="color: #fff;">
Jenis kelaminnya ya
</p>
</v-flex>
<v-flex xs4 pa-1>
<v-select style="font-size: 12px;" v-model="selected_title" :items="filtered_titles" return-object
item-text="M_TitleName" label="TITEL*"></v-select>
<v-select style="font-size: 12px;" v-model="selected_title"
:items="filtered_titles" return-object item-text="M_TitleName"
label="TITEL*"></v-select>
<p v-if="checkError('requirenik')" class="error pl-2 pr-2" style="color: #fff;">
Titelnya kakak, biar enak manggilnya
</p>
@@ -766,34 +771,41 @@
</v-layout>
<v-layout row>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" v-model="email" label="EMAIL"></v-text-field>
<v-text-field style="font-size: 12px;" v-model="email"
label="EMAIL"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" v-model="hp" label="HP"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" v-model="kedudukan" label="DIVISI"></v-text-field>
<v-text-field style="font-size: 12px;" v-model="kedudukan"
label="DIVISI"></v-text-field>
</v-flex>
<v-flex xs3 pa-1>
<v-text-field style="font-size: 12px;" v-model="jabatan" label="JABATAN"></v-text-field>
<v-text-field style="font-size: 12px;" v-model="jabatan"
label="JABATAN"></v-text-field>
</v-flex>
</v-layout>
<v-layout row>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" v-model="departement" label="DEPARTEMENT"></v-text-field>
<v-text-field style="font-size: 12px;" v-model="departement"
label="DEPARTEMENT"></v-text-field>
</v-flex>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" v-model="location" label="LOKASI"></v-text-field>
<v-text-field style="font-size: 12px;" v-model="location"
label="LOKASI"></v-text-field>
</v-flex>
<v-flex xs4 pa-1>
<v-text-field style="font-size: 12px;" v-model="job" label="PEKERJAAN"></v-text-field>
<v-text-field style="font-size: 12px;" v-model="job"
label="PEKERJAAN"></v-text-field>
</v-flex>
</v-layout>
<v-layout row>
<v-flex xs6 pa-1>
<v-autocomplete label="COMPANY" v-model="selectedCorporate" :items="corporateList"
item-text="CorporateName" return-object no-data-text="Pilih Corporate">
<v-autocomplete label="COMPANY" v-model="selectedCorporate"
:items="corporateList" item-text="CorporateName" return-object
no-data-text="Pilih Corporate">
<template slot="item" slot-scope="{ item }">
<v-list-tile-content>
<v-list-tile-title v-text="item.CorporateCode + ' ' + item.CorporateName
@@ -809,7 +821,8 @@
<v-text-field style="font-size: 12px;" v-model="ktp" label="KTP"></v-text-field>
</v-flex>
<v-flex xs2 pa-1>
<v-text-field style="font-size: 12px;" label="ANTRIAN" v-model="antrian"></v-text-field>
<v-text-field style="font-size: 12px;" label="ANTRIAN"
v-model="antrian"></v-text-field>
</v-flex>
</v-layout>
<v-layout row>
@@ -822,54 +835,58 @@
<p style="font-weight: bold; font-size: 12px;">Alamat</p>
<!-- dropdown auto complete country -->
<v-flex xs12 pt-2 pb-2>
<v-autocomplete :items="xCountryCb" v-model="selected_countryCb" item-text="display" hide-details
item-value="code" return-object label="Country">
<v-autocomplete :items="xCountryCb" v-model="selected_countryCb"
item-text="display" hide-details item-value="code" return-object
label="Country">
</v-autocomplete>
<!-- <p v-if="_.isEmpty(selected_countryCb)" class="error caption mt-1 mb-0 pl-2 pr-2 pb-2" style="color:#fff">Belum pilih Country</p> -->
</v-flex>
<!-- dropdown auto complete country -->
<!-- dropdown auto complete alamat -->
<v-flex xs12 pt-2 pb-2>
<v-autocomplete :items="xWilayahCb" v-model="selected_wilayahCb" item-text="text_nm" hide-details
item-value="id" return-object label="Cari Wilayah" :search-input.sync="search_wilayah">
<v-autocomplete :items="xWilayahCb" v-model="selected_wilayahCb"
item-text="text_nm" hide-details item-value="id" return-object
label="Cari Wilayah" :search-input.sync="search_wilayah">
</v-autocomplete>
<!-- <p v-if="_.isEmpty(selected_wilayahCb)" class="error caption mt-1 mb-0 pl-2 pr-2 pb-2" style="color:#fff">Belum pilih Country</p> -->
</v-flex>
<!-- dropdown auto complete alamat -->
<!-- provinsi -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Provinsi" v-model="inp_CorporateAddressState" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Provinsi" v-model="inp_CorporateAddressState"
hide-details single-line type="text" readonly></v-text-field>
</v-flex>
<!-- provinsi -->
<!-- kota / kabupaten -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Kota/Kab" v-model="inp_CorporateAddressCity" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Kota/Kab" v-model="inp_CorporateAddressCity"
hide-details single-line type="text" readonly></v-text-field>
</v-flex>
<!-- kota / kabupaten -->
<!-- kecamatan -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Kecamatan" v-model="inp_CorporateAddressDistrict" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Kecamatan"
v-model="inp_CorporateAddressDistrict" hide-details single-line type="text"
readonly></v-text-field>
</v-flex>
<!-- kecamatan -->
<!-- kelurahan -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="Kelurahan" v-model="inp_CorporateAddressVillage" hide-details
single-line type="text" readonly></v-text-field>
<v-text-field color="black" label="Kelurahan"
v-model="inp_CorporateAddressVillage" hide-details single-line type="text"
readonly></v-text-field>
</v-flex>
<!-- kelurahan -->
<!-- rt -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRT" hide-details single-line
type="text"></v-text-field>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRT"
hide-details single-line type="text"></v-text-field>
</v-flex>
<!-- rt -->
<!-- rw -->
<v-flex xs12 pt-2 pb-2>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRW" hide-details single-line
type="text"></v-text-field>
<v-text-field color="black" label="RT" v-model="inp_CorporateAddressRW"
hide-details single-line type="text"></v-text-field>
</v-flex>
<!-- rw -->
<!-- alamat inputan -->
@@ -889,21 +906,24 @@
<v-card-text>
<v-layout class="pl-0 pt-1 pb-1 pr-0" wrap>
<v-flex xs12>
<v-btn dark v-if="selected_packets && selected_packets.length > 0" v-for="packet in selected_packets"
style="margin: 3px;" depressed small color="cyan">
<v-btn dark v-if="selected_packets && selected_packets.length > 0"
v-for="packet in selected_packets" style="margin: 3px;" depressed small
color="cyan">
<span class="font-weight-bold mr-2">{{ packet.code }}</span>
{{ packet.name }}
</v-btn>
<v-btn dark v-if="selected_tests && selected_tests.length > 0" v-for="test in selected_tests"
style="margin: 3px;" depressed small color="red"><span class="font-weight-bold mr-2">{{ test.code
<v-btn dark v-if="selected_tests && selected_tests.length > 0"
v-for="test in selected_tests" style="margin: 3px;" depressed small
color="red"><span class="font-weight-bold mr-2">{{
test.code
}}</span>
{{ test.name }}</v-btn>
<v-btn v-if="
selected_packets &&
selected_packets.length == 0 &&
selected_tests &&
selected_tests.length == 0"
depressed small disabled>Belum ada paket pemeriksaan yang dipilih</v-btn>
selected_tests.length == 0" depressed small disabled>Belum ada paket pemeriksaan
yang dipilih</v-btn>
</v-flex>
</v-layout>
</v-card-text>
@@ -921,8 +941,9 @@
<v-divider></v-divider>
<v-layout align-center row>
<v-flex pt-1 pl-2 pr-2 pb-1 xs12>
<v-text-field color="cyan" label="Cari" placeholder="Cari paket" v-model="search_packet"
@keyup.enter="searchPacket()" outline single-line hide-details></v-text-field>
<v-text-field color="cyan" label="Cari" placeholder="Cari paket"
v-model="search_packet" @keyup.enter="searchPacket()" outline
single-line hide-details></v-text-field>
</v-flex>
</v-layout>
</v-card>
@@ -930,17 +951,20 @@
</v-layout>
<v-layout row>
<v-flex xs12 pt-1 pb-1 pl-2 pr-2>
<v-data-table :items="packets" class="v-table elevation-1" hide-actions hide-headers>
<v-data-table :items="packets" class="v-table elevation-1" hide-actions
hide-headers>
<template v-slot:items="props">
<td style="height: 42px;" v-on:dblclick="getpacketdetail(props.item)">
<div style="display:flex;justify-content:space-between;" v-on:dblclick="getpacketdetail(props.item)">
<div style="display:flex;justify-content:space-between;"
v-on:dblclick="getpacketdetail(props.item)">
<p v-if="checkNatTest(props.item)" class="mb-0">
<span class="font-weight-bold">{{
props.item.code
}}</span>
{{ props.item.name }}
</p>
<p v-if="!checkNatTest(props.item)" style="text-decoration: line-through;" class="mb-0">
<p v-if="!checkNatTest(props.item)"
style="text-decoration: line-through;" class="mb-0">
<span class="font-weight-bold">{{
props.item.code
}}</span>
@@ -951,23 +975,22 @@
</div>
</div>
</td>
<td
v-if="props.item.T_PacketIsOptional != 'Y'"
class="text-xs-right" style="height: 42px;"
>
<td v-if="props.item.T_PacketIsOptional != 'Y'" class="text-xs-right"
style="height: 42px;">
<v-btn :disabled="selected_patient_listing.Mcu_PreregisterPatientsIsRegistered !==
'N'
" dark v-if="
packetExist(props.item) && checkNatTest(props.item)
" @click="addToPackets(props.item)" style="min-width: 25px; height: 30px;" small
color="cyan">
" @click="addToPackets(props.item)"
style="min-width: 25px; height: 30px;" small color="cyan">
<v-icon style="cursor: pointer; font-size: 18px;">
add_box
</v-icon>
</v-btn>
<v-icon :disabled="selected_patient_listing.Mcu_PreregisterPatientsIsRegistered !==
'N'
" color="cyan" v-if="!packetExist(props.item)" @click="removeFromPackets(props.item)"
" color="cyan" v-if="!packetExist(props.item)"
@click="removeFromPackets(props.item)"
style="cursor: pointer; font-size: 30px;">done</v-icon>
</td>
</template>
@@ -979,7 +1002,8 @@
<v-card>
<v-layout row>
<v-pagination color="cyan" style="margin-top: 10px; margin-bottom: 10px;"
v-model="current_page_packet" :length="total_patient_packet"></v-pagination>
v-model="current_page_packet"
:length="total_patient_packet"></v-pagination>
</v-layout>
</v-card>
</v-flex>
@@ -997,7 +1021,8 @@
</v-flex>
<v-flex xs4>
<div style="text-align:right; padding-right: 10px;">
<span class="font-weight-bold">TOTAL : {{ one_money(total_satuan) }}</span>
<span class="font-weight-bold">TOTAL : {{ one_money(total_satuan)
}}</span>
</div>
</v-flex>
</v-layout>
@@ -1006,8 +1031,9 @@
<v-flex pt-1 pl-2 pr-2 pb-1 xs12>
<v-text-field :disabled="selected_patient_listing.Mcu_PreregisterPatientsIsRegistered !==
'N'
" color="red" label="Cari" placeholder="Cari pemeriksaan" v-model="search_test"
@keyup.enter="searchTest()" outline single-line hide-details></v-text-field>
" color="red" label="Cari" placeholder="Cari pemeriksaan"
v-model="search_test" @keyup.enter="searchTest()" outline
single-line hide-details></v-text-field>
</v-flex>
</v-layout>
</v-card>
@@ -1019,7 +1045,8 @@
<template v-slot:items="props">
<td width="90%" style="height: 42px;">
<div style="display:flex;justify-content:space-between;">
<div style="text-align:left;" v-if="checkNatTest(props.item)" class="mb-0">
<div style="text-align:left;" v-if="checkNatTest(props.item)"
class="mb-0">
<span class="font-weight-bold">{{
props.item.code
}}</span>
@@ -1027,7 +1054,8 @@
</div>
<div v-if="!checkNatTest(props.item)" style="text-align:left;text-decoration: line-through;"
<div v-if="!checkNatTest(props.item)"
style="text-align:left;text-decoration: line-through;"
class="mb-0">
<span class="font-weight-bold">{{
props.item.code
@@ -1045,7 +1073,8 @@
selectedSetup.Mgm_McuBisaTambahPemeriksaan === 'N'
" dark v-if="
testExist(props.item) && checkNatTest(props.item)
" @click="addToTests(props.item)" style="min-width: 25px; height: 30px;" small color="red">
" @click="addToTests(props.item)"
style="min-width: 25px; height: 30px;" small color="red">
<v-icon style="cursor: pointer; font-size: 18px;">
add_box
</v-icon>
@@ -1154,6 +1183,8 @@ module.exports = {
bar_chx_all: false,
data_temp_patient: {},
dialog_alert_confirm: false,
menuFilterDateMCU: false,
filterDateMCU: "",
search_company: "",
page: 1,
search: "",
@@ -2075,6 +2106,11 @@ module.exports = {
},
},
methods: {
formatDate() {
if (!date) return null;
const [year, month, day] = date.split('-');
return `${day}-${month}-${year}`;
},
one_money(money) {
return one_money(money);
},
@@ -2631,7 +2667,7 @@ module.exports = {
this.$store.dispatch("patient/getdatapackets", prm);
},
searchListing() {
var item = { search: this.search_listing, current_page: 1, lastid: -1 };
var item = { search: this.search_listing, mcudate: this.filterDateMCU, current_page: 1, lastid: -1 };
item.setup = this.selectedSetup;
this.$store.dispatch("patient/search_patient_listing", item);
},
@@ -3041,6 +3077,9 @@ module.exports = {
search: this.search_wilayah,
});
}, 2000),
thr_search_listing: _.debounce(function () {
this.searchListing();
}, 300),
openFormRiwayat(patient) {
let uuid_form = patient.uuid_form
let url = `/one-ui/test/vuex/cpone-riwayat-form?id=${uuid_form}`
@@ -3065,6 +3104,9 @@ module.exports = {
if (this.$store.state.patient.update_autocomplete_status == 1) return;
this.thr_search_wilayah();
},
filterDateMCU(newval) {
this.thr_search_listing();
}
},
};
</script>