Initial import
This commit is contained in:
@@ -0,0 +1,924 @@
|
||||
<template>
|
||||
<v-layout>
|
||||
<!-- Alert dialog -->
|
||||
<!-- Alert dialog -->
|
||||
<v-dialog v-model="dialogdeletealert" max-width="30%">
|
||||
<v-card>
|
||||
<v-card-title class="headline grey lighten-2 pt-2 pb-2" primary-title>
|
||||
Peringatan !
|
||||
</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>
|
||||
{{ msgalert }}
|
||||
</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="primary" flat @click="dialogdeletealert = false"> Tutup </v-btn>
|
||||
<v-btn color="primary" flat @click="deleteRow()"> Yakin lah </v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
<!-- End alert dialog -->
|
||||
|
||||
<v-dialog v-model="dialog_form" persistent width="500">
|
||||
<v-card>
|
||||
<v-card-title class="headline grey lighten-2" primary-title>
|
||||
Form Kelainan Lab
|
||||
</v-card-title>
|
||||
<v-card-text>
|
||||
<v-layout row>
|
||||
<v-flex xs12>
|
||||
<v-autocomplete label="Pemeriksaan" v-model="selected_nat_test" :items="nat_tests"
|
||||
:search-input.sync="search_test" auto-select-first no-filter item-text="codeNameTest" return-object
|
||||
:loading="isLoading" no-data-text="Cari Pemeriksaan" :error="errTest != ''" :error-messages="errTest">
|
||||
<template slot="item" slot-scope="{ item }">
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title v-text="item.codeNameTest"></v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
</template>
|
||||
</v-autocomplete>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row>
|
||||
<v-flex xs12>
|
||||
<v-autocomplete label="Kelainan" v-model="selected_kelainan" :items="kelainans"
|
||||
:error="errKelaianan != ''" :error-messages="errKelaianan" :search-input.sync="search_item_datakelainan"
|
||||
auto-select-first no-filter item-text="Mcu_KelainanName" return-object :loading="isLoading"
|
||||
no-data-text="Cari Kelainan">
|
||||
<template slot="item" slot-scope="{ item }">
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title v-text="item.Mcu_KelainanName"></v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
</template>
|
||||
</v-autocomplete>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row>
|
||||
<v-flex xs12>
|
||||
<v-select v-model="gender" :items="genders" item-text="name" label="Jenis Kelamin"
|
||||
return-object></v-select>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row>
|
||||
<v-flex xs12>
|
||||
<v-select v-model="selected_fitness" :items="xfitness" :error="errFitness != ''"
|
||||
:error-messages="errFitness" item-text="fitnessname" label="Fitness" return-object></v-select>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout row>
|
||||
<v-flex xs12>
|
||||
<v-select v-model="selected_type" :items="types" item-text="name" label="Tipe Hasil Kelainan"
|
||||
return-object></v-select>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-card v-if="selected_type.id != 'range'" class="pa-2">
|
||||
<v-layout class="mb-2" row>
|
||||
<v-flex xs12>
|
||||
<v-select v-model="selected_operator_perbandingan" :items="operator_perbandingan"
|
||||
:error="errOperatorPerbandingan != ''" item-text="name" solo label="Operator perbandingan"
|
||||
return-object hide-details :error-messages="errOperatorPerbandingan"></v-select>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout v-if="selected_type.id == 'fixvalue'" row>
|
||||
<v-flex xs12>
|
||||
<v-text-field label="Nilai pembanding" v-model="value_pembanding" :error="errNilaiPembanding != ''" box
|
||||
hide-details :error-messages="errNilaiPembanding"></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card>
|
||||
<v-card v-if="selected_type.id == 'range'" class="pa-2">
|
||||
<v-layout row>
|
||||
<v-flex pa-2 xs6>
|
||||
<v-text-field label="Nilai Min" v-model="min_value" :error="errMinValue != ''"
|
||||
:error-messages="errMinValue" hide-details outline></v-text-field>
|
||||
<v-switch v-model="min_inclusive" label="Inclusive"></v-switch>
|
||||
</v-flex>
|
||||
<v-flex pa-2 xs6>
|
||||
<v-text-field label="Nilai Max" v-model="max_value" :error="errMaxValue != ''"
|
||||
:error-messages="errMaxValue" hide-details outline></v-text-field>
|
||||
<v-switch v-model="max_inclusive" label="Inclusive"></v-switch>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card>
|
||||
</v-card-text>
|
||||
|
||||
<v-divider></v-divider>
|
||||
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="primary" :disabled="loading_save" @click="saveData()">
|
||||
Simpan
|
||||
</v-btn>
|
||||
<v-btn color="primary" flat @click="dialog_form = false"> Tutup </v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<v-flex xs12>
|
||||
<v-card class="mb-2" color="white">
|
||||
<v-toolbar color="blue lighten-3" dark height="50px">
|
||||
<v-toolbar-title>Master Kelainan Lab</v-toolbar-title>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn @click="openNewForm()" icon>
|
||||
<v-icon>library_add</v-icon>
|
||||
</v-btn>
|
||||
</v-toolbar>
|
||||
<v-layout row style="background: white; padding-top: 5px; padding-left: 2px">
|
||||
<v-layout row justify-left>
|
||||
<v-flex xs3>
|
||||
<v-text-field class="ma-1" label="Cari" placeholder="Cari Pemeriksaan atau Kelainan" outline
|
||||
v-model="xsearch" hide-details></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-layout>
|
||||
<v-divider></v-divider>
|
||||
<v-layout row class="scroll-container" style="max-height: 645px; overflow: auto">
|
||||
<v-flex xs12 pl-2 pr-2 pt-2 pb-2>
|
||||
<v-data-table :headers="headers" :items="xkelainanlab" :loading="isLoading" hide-actions
|
||||
class="elevation-1">
|
||||
<template slot="items" slot-scope="props">
|
||||
<td class="text-xs-center pa-2" v-bind:class="{ 'amber lighten-4': isSelected(props.item) }"
|
||||
@click="selectMe(props.item)">
|
||||
{{ props.item.rownumber }}
|
||||
</td>
|
||||
<td class="text-xs-left pa-2" v-bind:class="{ 'amber lighten-4': isSelected(props.item) }"
|
||||
@click="selectMe(props.item)">
|
||||
<p class="mb-0" style="font-size: medium">
|
||||
{{ props.item.codeNameTest }} : {{ props.item.Mcu_KelainanName }}
|
||||
</p>
|
||||
</td>
|
||||
<td class="text-xs-center pa-2" v-bind:class="{ 'amber lighten-4': isSelected(props.item) }"
|
||||
@click="selectMe(props.item)">
|
||||
<v-tooltip bottom>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-icon v-bind="attrs" v-on="on" class="mr-3" @click="openEditForm(props.item)"
|
||||
color="primary">edit
|
||||
</v-icon>
|
||||
</template>
|
||||
<span>Edit</span>
|
||||
</v-tooltip>
|
||||
<v-tooltip bottom>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-icon v-bind="attrs" v-on="on" @click="confirmDelete(props.item)" color="error">delete
|
||||
</v-icon>
|
||||
</template>
|
||||
<span>Hapus</span>
|
||||
</v-tooltip>
|
||||
</td>
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-divider></v-divider>
|
||||
<v-layout>
|
||||
<v-flex>
|
||||
<v-pagination style="margin-top: 10px; margin-bottom: 10px" v-model="curr_page" :length="xtotal_page">
|
||||
</v-pagination>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
act: "new",
|
||||
xid: null,
|
||||
errTest: "",
|
||||
errKelaianan: "",
|
||||
errFitness: "",
|
||||
errOperatorPerbandingan: "",
|
||||
errNilaiPembanding: "",
|
||||
errMinValue: "",
|
||||
errMaxValue: "",
|
||||
operator_perbandingan: [
|
||||
{ id: "KD", name: "Kurang dari" },
|
||||
{ id: "LD", name: "Lebih dari" },
|
||||
{ id: "SD", name: "Sama dengan" },
|
||||
{ id: "KDSD", name: "Kurang dari sama dengan" },
|
||||
{ id: "LDSD", name: "Lebih dari sama dengan" },
|
||||
{ id: "TSD", name: "Tidak sama dengan" },
|
||||
],
|
||||
types: [
|
||||
{ id: "fixvalue", name: "Nilai Pembanding" },
|
||||
{ id: "range", name: "Range" },
|
||||
{ id: "nomalvalue", name: "Normal Value" },
|
||||
],
|
||||
genders: [
|
||||
{ id: "A", name: "Semua Jenis Kelamin" },
|
||||
{ id: "M", name: "Laki-laki" },
|
||||
{ id: "F", name: "Perempuan" },
|
||||
],
|
||||
search_test: "",
|
||||
search_item_test: "",
|
||||
search_item_datakelainan: "",
|
||||
search_item_datafitness: "",
|
||||
xOperatorPerbandingan: "",
|
||||
nilaiPerbandingan: "",
|
||||
test_error_message: "",
|
||||
kelainan_error_message: "",
|
||||
operatorPerbandingan_error_message: "",
|
||||
clr: "success",
|
||||
xid: "",
|
||||
vtestcode: "",
|
||||
dialogdeletealert: false,
|
||||
msgalert: "",
|
||||
headers: [
|
||||
{
|
||||
text: "NO",
|
||||
align: "Center",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "5%",
|
||||
class: "pa-2 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "KELAINAN",
|
||||
align: "Center",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "80%",
|
||||
class: "pa-2 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "AKSI",
|
||||
align: "Center",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "10%",
|
||||
class: "pa-2 blue lighten-3 white--text",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.$store.dispatch("kelainan/search");
|
||||
this.$store.dispatch("kelainan/getfitness");
|
||||
},
|
||||
computed: {
|
||||
selected_fitness: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_fitness;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_fitness", val);
|
||||
}
|
||||
},
|
||||
xfitness() {
|
||||
return this.$store.state.kelainan.fitness;
|
||||
},
|
||||
max_inclusive: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.max_inclusive;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_max_inclusive", val);
|
||||
},
|
||||
},
|
||||
min_inclusive: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.min_inclusive;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_min_inclusive", val);
|
||||
},
|
||||
},
|
||||
max_value: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.max_value;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_max_value", val);
|
||||
},
|
||||
},
|
||||
min_value: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.min_value;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_min_value", val);
|
||||
},
|
||||
},
|
||||
value_pembanding: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.value_pembanding;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_value_pembanding", val);
|
||||
},
|
||||
},
|
||||
selected_operator_perbandingan: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_operator_perbandingan;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_operator_perbandingan", val);
|
||||
},
|
||||
},
|
||||
selected_type: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_type;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_type", val);
|
||||
},
|
||||
},
|
||||
selected_kelainan: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_kelainan;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_kelainan", val);
|
||||
},
|
||||
},
|
||||
kelainans: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.kelainans;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_kelainans", val);
|
||||
},
|
||||
},
|
||||
selected_nat_test: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_nat_test;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_nat_test", val);
|
||||
},
|
||||
},
|
||||
nat_tests: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.nat_tests;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_nat_tests", val);
|
||||
},
|
||||
},
|
||||
isEdit() {
|
||||
return this.xact === "edit";
|
||||
},
|
||||
xkelainanlab() {
|
||||
return this.$store.state.kelainan.kelainanlab;
|
||||
},
|
||||
isLoading() {
|
||||
return this.$store.state.kelainan.search_status == 1;
|
||||
},
|
||||
curr_page: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.current_page;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_current_page", val);
|
||||
this.$store.commit("kelainan/update_last_id", -1);
|
||||
this.$store.dispatch("kelainan/search");
|
||||
},
|
||||
},
|
||||
gender: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.gender;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_gender", val);
|
||||
},
|
||||
},
|
||||
xtotal_page: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.total_kelainanlab_page;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_total_kelainanlab_page", val);
|
||||
},
|
||||
},
|
||||
xsearch: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.x_search;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_x_search", val);
|
||||
},
|
||||
},
|
||||
dialog_form: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.dialog_form;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_dialog_form", val);
|
||||
this.$store.commit("kelainan/update_fitness", [])
|
||||
this.$store.commit("kelainan/update_selected_fitness", {})
|
||||
},
|
||||
},
|
||||
loading_save: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.loading_save;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_loading_save", val);
|
||||
},
|
||||
},
|
||||
xact: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.act;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_act", val);
|
||||
},
|
||||
},
|
||||
xtests() {
|
||||
return this.$store.state.kelainan.tests;
|
||||
},
|
||||
vtest: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_test;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_test", val);
|
||||
},
|
||||
},
|
||||
xdatakelainans() {
|
||||
return this.$store.state.kelainan.datakelainans;
|
||||
},
|
||||
vdatakelainan: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_datakelainan;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_datakelainan", val);
|
||||
},
|
||||
},
|
||||
isNilaiNormal: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.selected_isNilaiNormal;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_selected_isNilaiNormal", val);
|
||||
},
|
||||
},
|
||||
snackbar: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.alert_success;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_alert_success", val);
|
||||
},
|
||||
},
|
||||
msgsnackbar() {
|
||||
return this.$store.state.kelainan.msg_success;
|
||||
},
|
||||
dialog_error: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.alert_error;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_alert_error", val);
|
||||
},
|
||||
},
|
||||
msgError() {
|
||||
return this.$store.state.kelainan.error_message;
|
||||
},
|
||||
message_existing: {
|
||||
get() {
|
||||
return this.$store.state.kelainan.message_existing;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("kelainan/update_message_existing", val);
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
resetForm() {
|
||||
this.selected_nat_test = {};
|
||||
this.nat_tests = [];
|
||||
this.selected_kelainan = {};
|
||||
this.kelainans = [];
|
||||
// this.$store.commit("kelainan/update_fitness", [])
|
||||
this.gender = { id: "A", name: "Semua Jenis Kelamin" };
|
||||
this.selected_type = { id: "range", name: "Range" };
|
||||
this.min_value = "";
|
||||
this.max_value = "";
|
||||
this.min_inclusive = false;
|
||||
this.max_inclusive = false;
|
||||
this.value_pembanding = "";
|
||||
this.selected_operator_perbandingan = {};
|
||||
this.errTest = "";
|
||||
this.errKelaianan = "";
|
||||
this.errFitness = "";
|
||||
this.errOperatorPerbandingan = "";
|
||||
this.errNilaiPembanding = "";
|
||||
this.errMinValue = "";
|
||||
this.errMaxValue = "";
|
||||
},
|
||||
openEditForm(data) {
|
||||
this.dialog_form = true;
|
||||
this.act = "edit";
|
||||
this.xid = data.Mcu_SummaryLabID;
|
||||
this.selectMe(data);
|
||||
this.nat_tests = [
|
||||
{
|
||||
Nat_TestID: data.Nat_TestID,
|
||||
Nat_TestCode: data.Nat_TestCode,
|
||||
codeNameTest: data.codeNameTest,
|
||||
},
|
||||
];
|
||||
this.selected_nat_test = {
|
||||
Nat_TestID: data.Nat_TestID,
|
||||
Nat_TestCode: data.Nat_TestCode,
|
||||
codeNameTest: data.codeNameTest,
|
||||
};
|
||||
this.kelainans = [
|
||||
{
|
||||
Mcu_KelainanID: data.Mcu_KelainanID,
|
||||
Mcu_KelainanName: data.Mcu_KelainanName,
|
||||
Mcu_KelainanClasification: data.Mcu_KelainanClasification,
|
||||
},
|
||||
];
|
||||
this.selected_kelainan = {
|
||||
Mcu_KelainanID: data.Mcu_KelainanID,
|
||||
Mcu_KelainanName: data.Mcu_KelainanName,
|
||||
Mcu_KelainanClasification: data.Mcu_KelainanClasification,
|
||||
};
|
||||
this.$store.commit("kelainan/update_fitness", [
|
||||
{
|
||||
Mcu_FitnessCategoryID: data.Mcu_FitnessCategoryID,
|
||||
fitnessname: data.fitnessname
|
||||
}
|
||||
])
|
||||
this.$store.commit("kelainan/update_selected_fitness", {
|
||||
Mcu_FitnessCategoryID: data.Mcu_FitnessCategoryID,
|
||||
fitnessname: data.fitnessname
|
||||
})
|
||||
let gendername = "Semua Jenis Kelamin";
|
||||
if (data.gender == "M") gendername = "Laki-laki";
|
||||
else if (data.gender == "F") gendername = "Perempuan";
|
||||
|
||||
console.log('degub_gender')
|
||||
console.log({ id: data.gender, name: gendername })
|
||||
|
||||
this.gender = { id: data.gender, name: gendername };
|
||||
this.selected_type = { id: data.typex, name: data.typexname };
|
||||
this.selected_operator_perbandingan = {
|
||||
id: data.summarylabtypecode,
|
||||
name: data.summarylabtype,
|
||||
};
|
||||
this.value_pembanding = data.Mcu_SummaryLabValue;
|
||||
this.min_inclusive = data.Mcu_SummaryLabMinInclusive;
|
||||
this.max_inclusive = data.Mcu_SummaryLabMaxInclusive;
|
||||
this.min_value = data.Mcu_SummaryLabMinValue;
|
||||
this.max_value = data.Mcu_SummaryLabMaxValue;
|
||||
},
|
||||
openNewForm() {
|
||||
this.act = "new";
|
||||
this.resetForm();
|
||||
this.dialog_form = true;
|
||||
this.$store.dispatch("kelainan/getfitness");
|
||||
},
|
||||
isSelected(p) {
|
||||
return (
|
||||
p.Mcu_SummaryLabID ==
|
||||
this.$store.state.kelainan.selected_kelainanlab.Mcu_SummaryLabID
|
||||
);
|
||||
},
|
||||
selectMe(selected) {
|
||||
this.$store.commit("kelainan/update_selected_kelainanlab", selected);
|
||||
this.$store.commit("kelainan/update_last_id", selected.Mcu_SummaryLabID);
|
||||
|
||||
// set value selected test
|
||||
this.$store.commit("kelainan/update_tests", [
|
||||
{
|
||||
Nat_TestID: selected.Nat_TestID,
|
||||
codeNameTest: selected.codeNameTest,
|
||||
Nat_TestCode: selected.Nat_TestCode,
|
||||
},
|
||||
]);
|
||||
this.$store.commit("kelainan/update_selected_test", {
|
||||
Nat_TestID: selected.Nat_TestID,
|
||||
codeNameTest: selected.codeNameTest,
|
||||
Nat_TestCode: selected.Nat_TestCode,
|
||||
});
|
||||
|
||||
// set value selected kelainan
|
||||
this.$store.commit("kelainan/update_datakelainans", [
|
||||
{
|
||||
Mcu_KelainanID: selected.Mcu_KelainanID,
|
||||
Mcu_KelainanName: selected.Mcu_KelainanName,
|
||||
},
|
||||
]);
|
||||
this.$store.commit("kelainan/update_selected_datakelainan", {
|
||||
Mcu_KelainanID: selected.Mcu_KelainanID,
|
||||
Mcu_KelainanName: selected.Mcu_KelainanName,
|
||||
});
|
||||
|
||||
this.$store.commit("kelainan/update_fitness", [
|
||||
{
|
||||
Mcu_FitnessCategoryID: selected.Mcu_FitnessCategoryID,
|
||||
fitnessname: selected.fitnessname
|
||||
}
|
||||
])
|
||||
this.$store.commit("kelainan/update_selected_fitness", {
|
||||
Mcu_FitnessCategoryID: selected.Mcu_FitnessCategoryID,
|
||||
fitnessname: selected.fitnessname
|
||||
})
|
||||
|
||||
this.$store.dispatch("kelainan/getfitness");
|
||||
},
|
||||
thr_search: _.debounce(function () {
|
||||
this.$store.dispatch("kelainan/search");
|
||||
}, 1000),
|
||||
thr_search_test: _.debounce(function () {
|
||||
this.$store.dispatch("kelainan/searchtest", this.search_item_test);
|
||||
}, 2000),
|
||||
thr_search_datakelainan: _.debounce(function () {
|
||||
this.$store.dispatch("kelainan/searchkelainan", this.search_item_datakelainan);
|
||||
}, 2000),
|
||||
testValidation() {
|
||||
if (_.isEmpty(this.vtest)) {
|
||||
this.test_error_message = "Anda belum memilih pemeriksaan";
|
||||
}
|
||||
if (this.vtest) {
|
||||
this.test_error_message = "";
|
||||
}
|
||||
},
|
||||
kelainanValidation() {
|
||||
if (_.isEmpty(this.vdatakelainan)) {
|
||||
this.kelainan_error_message = "Anda belum memilih kelainan";
|
||||
}
|
||||
if (this.vdatakelainan) {
|
||||
this.kelainan_error_message = "";
|
||||
}
|
||||
},
|
||||
operatorValidation() {
|
||||
if (_.isEmpty(this.xOperatorPerbandingan)) {
|
||||
this.operatorPerbandingan_error_message =
|
||||
"Anda belum memilih operator perbandingan";
|
||||
}
|
||||
if (this.xOperatorPerbandingan) {
|
||||
this.operatorPerbandingan_error_message = "";
|
||||
}
|
||||
},
|
||||
resetAllInput() {
|
||||
this.vtest = "";
|
||||
this.vdatakelainan = "";
|
||||
this.xOperatorPerbandingan = "";
|
||||
this.isNilaiNormal = true;
|
||||
this.nilaiPerbandingan = "";
|
||||
this.test_error_message = "";
|
||||
this.kelainan_error_message = "";
|
||||
this.operatorPerbandingan_error_message = "";
|
||||
this.message_existing = "";
|
||||
},
|
||||
resetAllError() {
|
||||
this.test_error_message = "";
|
||||
this.kelainan_error_message = "";
|
||||
this.operatorPerbandingan_error_message = "";
|
||||
this.message_existing = "";
|
||||
},
|
||||
openForm() {
|
||||
this.dialog_form = true;
|
||||
this.$store.commit("kelainan/update_act", "add");
|
||||
this.$store.commit("kelainan/update_last_id", -1);
|
||||
this.resetAllInput();
|
||||
},
|
||||
handleSwitchChange() {
|
||||
if (this.isNilaiNormal) {
|
||||
this.nilaiPerbandingan = "";
|
||||
}
|
||||
},
|
||||
saveAdd() {
|
||||
this.testValidation();
|
||||
this.kelainanValidation();
|
||||
this.operatorValidation();
|
||||
if (
|
||||
this.test_error_message === "" &&
|
||||
this.operatorPerbandingan_error_message === "" &&
|
||||
this.kelainan_error_message === ""
|
||||
) {
|
||||
let prm = {
|
||||
testId: this.vtest.Nat_TestID,
|
||||
testCode: this.vtest.Nat_TestCode,
|
||||
kelainanId: this.vdatakelainan.Mcu_KelainanID,
|
||||
type: this.xOperatorPerbandingan,
|
||||
normalValue: this.isNilaiNormal === true ? "Y" : "N",
|
||||
value: this.isNilaiNormal === true ? "" : this.nilaiPerbandingan,
|
||||
};
|
||||
|
||||
// console.log('cek prm',prm)
|
||||
this.$store.dispatch("kelainan/add", prm);
|
||||
}
|
||||
},
|
||||
openEdit(data) {
|
||||
let operator;
|
||||
|
||||
switch (data.Mcu_SummaryLabType) {
|
||||
case "<":
|
||||
operator = "KD";
|
||||
break;
|
||||
case ">":
|
||||
operator = "LD";
|
||||
break;
|
||||
case "=":
|
||||
operator = "SD";
|
||||
break;
|
||||
case "<=":
|
||||
operator = "KDSD";
|
||||
break;
|
||||
case ">=":
|
||||
operator = "LDSD";
|
||||
break;
|
||||
case "!=":
|
||||
operator = "TSD";
|
||||
break;
|
||||
default:
|
||||
operator = ""; // Atur default jika diperlukan
|
||||
}
|
||||
|
||||
this.selectMe(data);
|
||||
this.dialog_form = true;
|
||||
this.$store.commit("kelainan/update_act", "edit");
|
||||
this.xid = data.Mcu_SummaryLabID;
|
||||
this.vtest = data.Nat_TestID;
|
||||
this.vdatakelainan = data.Mcu_KelainanID;
|
||||
this.xOperatorPerbandingan = operator;
|
||||
this.isNilaiNormal = data.Mcu_SummaryLabIsNormalValue === "Y" ? true : false;
|
||||
this.nilaiPerbandingan = data.Mcu_SummaryLabValue;
|
||||
this.$store.commit("kelainan/update_last_id", data.Mcu_SummaryLabID);
|
||||
this.resetAllError();
|
||||
},
|
||||
saveEdit() {
|
||||
this.testValidation();
|
||||
this.kelainanValidation();
|
||||
this.operatorValidation();
|
||||
if (
|
||||
this.test_error_message === "" &&
|
||||
this.operatorPerbandingan_error_message === "" &&
|
||||
this.kelainan_error_message === ""
|
||||
) {
|
||||
let prm = {
|
||||
xid: this.xid,
|
||||
type: this.xOperatorPerbandingan,
|
||||
normalValue: this.isNilaiNormal === true ? "Y" : "N",
|
||||
value: this.isNilaiNormal === true ? "" : this.nilaiPerbandingan,
|
||||
};
|
||||
this.$store.dispatch("kelainan/edit", prm);
|
||||
}
|
||||
},
|
||||
confirmDelete(data) {
|
||||
this.selectMe(data);
|
||||
this.xid = data.Mcu_SummaryLabID;
|
||||
this.msgalert = "Yakin, mau hapus kelainan lab " + data.codeNameTest + " ?";
|
||||
|
||||
this.dialogdeletealert = true;
|
||||
},
|
||||
deleteRow() {
|
||||
this.$store.commit("kelainan/update_last_id", -1);
|
||||
let prm = {
|
||||
xid: this.xid,
|
||||
};
|
||||
this.$store.dispatch("kelainan/deleterow", prm);
|
||||
this.dialogdeletealert = false;
|
||||
},
|
||||
thr_search_test: _.debounce(function () {
|
||||
let prm = {
|
||||
search: this.search_test,
|
||||
};
|
||||
this.$store.dispatch("kelainan/searchtest", prm);
|
||||
}, 2000),
|
||||
saveData() {
|
||||
this.loading_save = true;
|
||||
this.errTest = "";
|
||||
if (_.isEmpty(this.selected_nat_test)) {
|
||||
this.errTest = "Anda belum memlih pemeriksaan";
|
||||
}
|
||||
|
||||
this.errKelaianan = "";
|
||||
if (_.isEmpty(this.selected_kelainan)) {
|
||||
this.errKelaianan = "Anda belum memlih kelainan";
|
||||
}
|
||||
this.errFitness = "";
|
||||
if (_.isEmpty(this.selected_fitness)) {
|
||||
this.errFitness = "Anda belum memilih fitness";
|
||||
}
|
||||
|
||||
this.errOperatorPerbandingan = "";
|
||||
this.errNilaiPembanding = "";
|
||||
if (this.selected_type.id != "range") {
|
||||
if (_.isEmpty(this.selected_operator_perbandingan)) {
|
||||
this.errOperatorPerbandingan = "Anda lupa memilih operator perbandingan";
|
||||
console.log("operator perbandingan " + this.errOperatorPerbandingan);
|
||||
}
|
||||
}
|
||||
|
||||
if (this.selected_type.id == "fixvalue") {
|
||||
if (this.value_pembanding == "") {
|
||||
this.errNilaiPembanding = "Anda lupa mengisi nilai pembanding";
|
||||
console.log("Nilai pembanding" + this.errNilaiPembanding);
|
||||
}
|
||||
}
|
||||
|
||||
this.errMinValue = "";
|
||||
this.errMaxValue = "";
|
||||
if (this.selected_type.id === "range") {
|
||||
console.log(this.min_value);
|
||||
if (this.min_value == "") {
|
||||
this.errMinValue = "Anda lupa mengisi min value";
|
||||
console.log("min pembanding" + this.errMinValue);
|
||||
}
|
||||
|
||||
if (this.max_value == "") {
|
||||
this.errMaxValue = "Anda lupa mengisi max value";
|
||||
console.log("max pembanding" + this.errMaxValue);
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
this.errTest == "" &&
|
||||
this.errKelaianan == "" &&
|
||||
this.errFitness == "" &&
|
||||
this.errOperatorPerbandingan == "" &&
|
||||
this.errNilaiPembanding == "" &&
|
||||
this.errMinValue == "" &&
|
||||
this.errMaxValue == ""
|
||||
) {
|
||||
let prm = {
|
||||
xid: this.xid,
|
||||
nat_test: this.selected_nat_test,
|
||||
kelainan: this.selected_kelainan,
|
||||
fitness: this.selected_fitness,
|
||||
gender: this.gender,
|
||||
type: this.selected_type,
|
||||
operator_pembanding: this.selected_operator_perbandingan,
|
||||
value_pembanding: this.value_pembanding,
|
||||
min_value: this.min_value,
|
||||
max_value: this.max_value,
|
||||
min_inclusive: this.min_inclusive,
|
||||
max_inclusive: this.max_inclusive,
|
||||
};
|
||||
|
||||
if (this.act == "new") this.$store.dispatch("kelainan/newData", prm);
|
||||
else this.$store.dispatch("kelainan/editData", prm);
|
||||
} else {
|
||||
this.loading_save = false;
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
search_test(val, old) {
|
||||
if (val == old) return;
|
||||
if (!val) return;
|
||||
if (val.length < 1) return;
|
||||
if (this.$store.state.kelainan.search_status == 1) return;
|
||||
this.thr_search_test();
|
||||
},
|
||||
xsearch(val, old) {
|
||||
this.xsearch = val;
|
||||
this.thr_search();
|
||||
},
|
||||
|
||||
search_item_test(val, old) {
|
||||
if (val == old) return;
|
||||
if (!val) return;
|
||||
|
||||
if (val.length < 1) {
|
||||
this.$store.dispatch("kelainan/searchtest", this.search_item_test);
|
||||
return this.thr_search_test();
|
||||
}
|
||||
|
||||
if (val.length > 2) {
|
||||
this.$store.dispatch("kelainan/searchtest", this.search_item_test);
|
||||
return this.thr_search_test();
|
||||
}
|
||||
},
|
||||
|
||||
search_item_datakelainan(val, old) {
|
||||
if (val == old) return;
|
||||
if (!val) return;
|
||||
|
||||
if (val.length < 1) {
|
||||
//this.$store.dispatch("kelainan/searchkelainan", this.search_item_datakelainan)
|
||||
return this.thr_search_datakelainan();
|
||||
}
|
||||
|
||||
if (val.length > 2) {
|
||||
//this.$store.dispatch("kelainan/searchkelainan", this.search_item_datakelainan)
|
||||
return this.thr_search_datakelainan();
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user