Initial import
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,782 @@
|
||||
<template>
|
||||
<v-layout>
|
||||
<template>
|
||||
<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="closeDeleteAlert()">
|
||||
Yakin lah
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<!-- ERROR DIALOG -->
|
||||
<v-dialog v-model="dialog_error" max-width="500px">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
<span>ERROR !</span>
|
||||
<v-spacer></v-spacer>
|
||||
</v-card-title>
|
||||
<v-divider></v-divider>
|
||||
<div class="ma-3 red--text">{{ msgError }}</div>
|
||||
<v-divider></v-divider>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="primary" flat @click="dialog_error = false"
|
||||
>Close</v-btn
|
||||
>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
<!-- END ERROR DIALOG -->
|
||||
|
||||
<v-dialog v-model="dialog_fisik" persistent max-width="600px">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
<span class="headline"
|
||||
>FORM FISIK TEMPLATE MAPPING</span
|
||||
></v-card-title
|
||||
>
|
||||
<v-divider></v-divider>
|
||||
<v-progress-linear
|
||||
v-if="loading_save"
|
||||
:indeterminate="true"
|
||||
></v-progress-linear>
|
||||
<v-card-text class="pt-0 pb-0">
|
||||
<v-layout wrap>
|
||||
<v-flex xs12>
|
||||
<v-text-field
|
||||
v-model="xname"
|
||||
label="Nama*"
|
||||
:error="nama_error_message !== ''"
|
||||
:error-messages="nama_error_message"
|
||||
@blur="namaValidation"
|
||||
required
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
<!--<v-flex xs12>
|
||||
<v-autocomplete
|
||||
label="Nat Test"
|
||||
v-model="selected_nat_test"
|
||||
:items="nat_tests"
|
||||
style="font-size:12px;"
|
||||
:search-input.sync="search_nat_test"
|
||||
auto-select-first
|
||||
no-filter
|
||||
hide-details
|
||||
return-object
|
||||
:clearable="true"
|
||||
item-text="Nat_TestName"
|
||||
item-value="Nat_TestID"
|
||||
no-data-text="Pilih Nat Test"
|
||||
>
|
||||
|
||||
</v-autocomplete>
|
||||
</v-flex>-->
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn
|
||||
color="primary"
|
||||
flat
|
||||
@click="dialog_fisik = false"
|
||||
:disabled="loading_save"
|
||||
>Tutup</v-btn
|
||||
>
|
||||
<v-btn
|
||||
v-if="xact === 'new'"
|
||||
color="blue darken-1"
|
||||
flat
|
||||
:disabled="loading_save"
|
||||
@click="saveAdd()"
|
||||
>Simpan</v-btn
|
||||
>
|
||||
<v-btn
|
||||
v-if="xact === 'edit'"
|
||||
color="blue darken-1"
|
||||
flat
|
||||
:disabled="loading_save"
|
||||
@click="updateFormUser()"
|
||||
>Simpan Perubahan</v-btn
|
||||
>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</template>
|
||||
|
||||
<v-flex xs12>
|
||||
<v-card>
|
||||
<v-toolbar color="blue lighten-3" dark height="50px">
|
||||
<v-toolbar-title>FISIK TEMPLATE MAPPING</v-toolbar-title>
|
||||
<v-spacer></v-spacer>
|
||||
<div>
|
||||
<v-btn icon @click="openAddForm()"
|
||||
><v-icon>library_add</v-icon></v-btn
|
||||
>
|
||||
</div>
|
||||
</v-toolbar>
|
||||
<v-snackbar
|
||||
v-model="snackbar"
|
||||
:timeout="5000"
|
||||
:multi-line="false"
|
||||
:vertical="false"
|
||||
:top="true"
|
||||
>
|
||||
{{ msgsnackbar }}
|
||||
<v-btn flat @click="snackbar = false"> Tutup </v-btn>
|
||||
</v-snackbar>
|
||||
<v-layout row style="background: white; padding-top: 5px" justify-left>
|
||||
<v-text-field
|
||||
class="xs4 ma-1"
|
||||
label="Nama"
|
||||
placeholder="Cari..."
|
||||
outline
|
||||
v-model="fisikname"
|
||||
@keyup.enter="searchFisik"
|
||||
></v-text-field>
|
||||
</v-layout>
|
||||
<v-divider></v-divider>
|
||||
<div>
|
||||
<v-layout
|
||||
row
|
||||
class="scroll-container"
|
||||
style="max-height: 600px; overflow: auto"
|
||||
>
|
||||
<v-flex xs12 pl-2 pr-2 pt-2 pb-2>
|
||||
<v-data-table
|
||||
:headers="headers"
|
||||
:items="vfisiks"
|
||||
:loading="isLoading"
|
||||
hide-actions
|
||||
class="elevation-1"
|
||||
>
|
||||
<template slot="items" slot-scope="props">
|
||||
<td
|
||||
class="text-xs-left pa-2"
|
||||
v-bind:class="{ 'amber lighten-4': isSelected(props.item) }"
|
||||
@click="selectMe(props.item)"
|
||||
>
|
||||
{{ props.item.FisikTemplateMappingName }}
|
||||
</td>
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
<v-divider></v-divider>
|
||||
<v-pagination
|
||||
style="margin-top: 10px; margin-bottom: 10px"
|
||||
v-model="curr_page"
|
||||
:length="xtotal_page"
|
||||
></v-pagination>
|
||||
</div>
|
||||
</v-card>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.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;
|
||||
}
|
||||
|
||||
.textinput {
|
||||
-webkit-transition: width 0.4s ease-in-out;
|
||||
transition: width 0.4s ease-in-out;
|
||||
background-color: white;
|
||||
background-position: 10px 10px;
|
||||
background-repeat: no-repeat;
|
||||
padding-left: 40px;
|
||||
width: 100%;
|
||||
padding: 8px 10px;
|
||||
margin-bottom: 5px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #607d8b;
|
||||
}
|
||||
|
||||
.textinput:focus {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.textinput:focus::-webkit-input-placeholder {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.textinput:focus::-moz-placeholder {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.textinput:-moz-placeholder {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.boxoutline {
|
||||
color: red;
|
||||
border: 1px solid red;
|
||||
justify-content: center;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
padding-left: 10px;
|
||||
background: #ffffff;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.boxoutline:hover {
|
||||
background: rgba(0, 0, 0, 0.07) !important;
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.boxsolid {
|
||||
color: #ffffff;
|
||||
border: 1px solid #ffffff;
|
||||
justify-content: center;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
padding-left: 10px;
|
||||
background: #f44336;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.boxsolid:hover {
|
||||
background: #f44336de;
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.scroll-container {
|
||||
scroll-padding: 50px 0 0 50px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
}
|
||||
|
||||
/* this targets the default scrollbar (compulsory) */
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: #73baf3;
|
||||
}
|
||||
|
||||
/* the new scrollbar will have a flat appearance with the set background color */
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #2196f3;
|
||||
}
|
||||
|
||||
/* this will style the thumb, ignoring the track */
|
||||
|
||||
::-webkit-scrollbar-button {
|
||||
background-color: #0079da;
|
||||
}
|
||||
|
||||
/* optionally, you can style the top and the bottom buttons (left and right for horizontal bars) */
|
||||
|
||||
::-webkit-scrollbar-corner {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
/* if both the vertical and the horizontal bars appear, then perhaps the right bottom corner also needs to be styled */
|
||||
</style>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
search_nat_test: "",
|
||||
clr: "success",
|
||||
msgalertconfirmation:
|
||||
"Perubahan yang telah dilakukan belum disimpan dong !",
|
||||
dialogdeletealert: false,
|
||||
msgalert: "",
|
||||
valid: false,
|
||||
xid: 0,
|
||||
search_instrument: "",
|
||||
items: [],
|
||||
xname: "",
|
||||
nama_error_message: "",
|
||||
xcode: "",
|
||||
xnameRules: [(v) => !!v || "Nama harus diisi"],
|
||||
instrumentRules: [(v) => !!v || "Instrument harus dipilih"],
|
||||
name: "",
|
||||
isdefault: false,
|
||||
ispertest: "N",
|
||||
isnonlab: "N",
|
||||
scode: "",
|
||||
search_doctor: "",
|
||||
search_testheader: "",
|
||||
search_template: "",
|
||||
fisikname: "",
|
||||
methodename: "",
|
||||
page: 1,
|
||||
headers: [
|
||||
{
|
||||
text: "NAMA",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "mr",
|
||||
width: "15%",
|
||||
class: "pa-2 blue lighten-3 white--text",
|
||||
},
|
||||
],
|
||||
pagination: {
|
||||
descending: true,
|
||||
page: 1,
|
||||
rowsPerPage: 100,
|
||||
sortBy: "id DESC",
|
||||
totalItems: this.$store.state.fisik.total_filter_fisiks,
|
||||
},
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.$store.dispatch("fisik/fisikTemplateMappingList", {
|
||||
fisikname: this.fisikname,
|
||||
current_page: 1,
|
||||
lastid: -1,
|
||||
});
|
||||
},
|
||||
computed: {
|
||||
selected_nat_test: {
|
||||
get() {
|
||||
return this.$store.state.fisik.selected_nat_test;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_selected_nat_test", val);
|
||||
},
|
||||
},
|
||||
nat_tests: {
|
||||
get() {
|
||||
return this.$store.state.fisik.nat_tests;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_nat_tests", val);
|
||||
},
|
||||
},
|
||||
selected_filter_sex: {
|
||||
get() {
|
||||
return this.$store.state.user.selected_filter_sex;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_selected_filter_sex", val);
|
||||
this.searchFisik();
|
||||
},
|
||||
},
|
||||
f_sexs: {
|
||||
get() {
|
||||
return this.$store.state.user.f_sexs;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_f_sexs", val);
|
||||
},
|
||||
},
|
||||
selected_filter_flag: {
|
||||
get() {
|
||||
return this.$store.state.user.selected_filter_flag;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_selected_filter_flag", val);
|
||||
this.searchFisik();
|
||||
},
|
||||
},
|
||||
f_flags: {
|
||||
get() {
|
||||
return this.$store.state.user.f_flags;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_f_flags", val);
|
||||
},
|
||||
},
|
||||
xact: {
|
||||
get() {
|
||||
return this.$store.state.fisik.act;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_act", val);
|
||||
},
|
||||
},
|
||||
xerrors() {
|
||||
return this.$store.state.user.errors;
|
||||
},
|
||||
xshowall() {
|
||||
return this.$store.state.user.show_all;
|
||||
},
|
||||
vfisiks() {
|
||||
return this.$store.state.fisik.fisiks;
|
||||
},
|
||||
xtotalusers() {
|
||||
return this.$store.state.user.total_users;
|
||||
},
|
||||
// xtotalfilterusers() {
|
||||
// return this.$store.state.user.total_filter_users
|
||||
// },
|
||||
xsearch: {
|
||||
get() {
|
||||
return this.$store.state.fisik.x_search;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_x_search", val);
|
||||
},
|
||||
},
|
||||
curr_page: {
|
||||
get() {
|
||||
return this.$store.state.fisik.current_page;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_current_page", val);
|
||||
this.$store.dispatch("fisik/fisikTemplateMappingList", {
|
||||
fisikname: this.fisikname,
|
||||
// methodename: this.methodename,
|
||||
// sexid: this.selected_filter_sex.Nat_SexID,
|
||||
// flagid: this.selected_filter_flag.Nat_FlagID,
|
||||
current_page: val,
|
||||
lastid: -1,
|
||||
});
|
||||
},
|
||||
},
|
||||
xtotal_page: {
|
||||
get() {
|
||||
return this.$store.state.fisik.total_fisiks;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_total_fisiks", val);
|
||||
},
|
||||
},
|
||||
dialog_fisik: {
|
||||
get() {
|
||||
return this.$store.state.fisik.dialog_fisik;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_dialog_fisik", val);
|
||||
},
|
||||
},
|
||||
lookupstatus() {
|
||||
return this.$store.state.user.lookup_user;
|
||||
},
|
||||
xusertypes() {
|
||||
return this.$store.state.user.usertypes;
|
||||
},
|
||||
xusertype: {
|
||||
get() {
|
||||
return this.$store.state.user.usertype;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_usertype", val);
|
||||
},
|
||||
},
|
||||
isLoading() {
|
||||
return this.$store.state.fisik.lookup_fisik == 1;
|
||||
},
|
||||
xnonlabs() {
|
||||
return this.$store.state.user.nonlabs;
|
||||
},
|
||||
xnonlab: {
|
||||
get() {
|
||||
return this.$store.state.user.selected_nonlab;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_selected_nonlab", val);
|
||||
},
|
||||
},
|
||||
xcities() {
|
||||
return this.$store.state.user.cities;
|
||||
},
|
||||
detailaddress: {
|
||||
get() {
|
||||
return this.$store.state.user.detail_address;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_detail_address", val);
|
||||
this.$store.dispatch(
|
||||
"user/getdistrict",
|
||||
this.$store.state.user.detail_address
|
||||
);
|
||||
},
|
||||
},
|
||||
xdoctors() {
|
||||
return this.$store.state.user.doctors;
|
||||
},
|
||||
doctor: {
|
||||
get() {
|
||||
return this.$store.state.user.doctor;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_doctor", val);
|
||||
},
|
||||
},
|
||||
xinstruments() {
|
||||
return this.$store.state.user.instruments;
|
||||
},
|
||||
xinstrument: {
|
||||
get() {
|
||||
return this.$store.state.user.instrument;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_instrument", val);
|
||||
},
|
||||
},
|
||||
xautotemplates() {
|
||||
return this.$store.state.user.autotemplates;
|
||||
},
|
||||
xautotemplate: {
|
||||
get() {
|
||||
return this.$store.state.user.autotemplate;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_autotemplate", val);
|
||||
},
|
||||
},
|
||||
xdistricts() {
|
||||
return this.$store.state.user.districts;
|
||||
},
|
||||
districtaddress: {
|
||||
get() {
|
||||
return this.$store.state.user.district_address;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_district_address", val);
|
||||
this.$store.dispatch(
|
||||
"user/getkelurahan",
|
||||
this.$store.state.user.district_address
|
||||
);
|
||||
},
|
||||
},
|
||||
xkelurahans() {
|
||||
return this.$store.state.user.kelurahans;
|
||||
},
|
||||
kelurahanaddress: {
|
||||
get() {
|
||||
return this.$store.state.user.kelurahan_address;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("user/update_kelurahan_address", val);
|
||||
},
|
||||
},
|
||||
loading_save: {
|
||||
get() {
|
||||
return this.$store.state.fisik.loading_save;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_loading_save", val);
|
||||
},
|
||||
},
|
||||
snackbar: {
|
||||
get() {
|
||||
return this.$store.state.fisik.alert_success;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_alert_success", val);
|
||||
},
|
||||
},
|
||||
msgsnackbar() {
|
||||
return this.$store.state.fisik.msg_success;
|
||||
},
|
||||
dialog_error: {
|
||||
get() {
|
||||
return this.$store.state.fisik.alert_error;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_alert_error", val);
|
||||
},
|
||||
},
|
||||
msgError() {
|
||||
return this.$store.state.fisik.error_message;
|
||||
},
|
||||
|
||||
},
|
||||
methods: {
|
||||
searchFisik() {
|
||||
this.$store.dispatch("fisik/fisikTemplateMappingList", {
|
||||
fisikname: this.fisikname,
|
||||
current_page: 1,
|
||||
lastid: -1,
|
||||
});
|
||||
},
|
||||
isSelected(p) {
|
||||
return p.id == this.$store.state.fisik.selected_fisik.id;
|
||||
},
|
||||
subname(name) {
|
||||
var xname = name;
|
||||
if (xname.length > 18) {
|
||||
xname = xname.substring(0, 18) + "...";
|
||||
}
|
||||
return xname;
|
||||
},
|
||||
selectMe(sc) {
|
||||
this.$store.commit("fisik/update_selected_fisik", sc);
|
||||
this.$store.dispatch("fisikdetail/findFisikTemplate", {
|
||||
id: this.$store.state.fisik.selected_fisik.id,
|
||||
name: this.$store.state.fisikdetail.xname,
|
||||
status: this.$store.state.fisikdetail.selected_filter_flag.value,
|
||||
current_page: 1,
|
||||
lastid: -1,
|
||||
});
|
||||
|
||||
this.$store.commit("fisikdetail/update_current_page", 1);
|
||||
this.$store.commit("fisikdetail/update_selected_filter_status", {'value': 'Y', 'text': 'Sudah dipilih'});
|
||||
this.$store.dispatch("fisik/searchNatTest", {
|
||||
search_nat_test: "",
|
||||
filter_status: this.$store.state.fisikdetail.selected_filter_status
|
||||
});
|
||||
},
|
||||
thr_search_instrument: _.debounce(function () {
|
||||
this.$store.dispatch("user/searchinstrument", {
|
||||
tes: this.search_instrument,
|
||||
});
|
||||
}, 2000),
|
||||
namaValidation() {
|
||||
if (!this.xname) {
|
||||
this.nama_error_message = "Anda belum mengisi";
|
||||
}
|
||||
if (this.xname) {
|
||||
this.nama_error_message = "";
|
||||
}
|
||||
},
|
||||
resetAllInput() {
|
||||
this.xname = "";
|
||||
this.nama_error_message = "";
|
||||
},
|
||||
openAddForm() {
|
||||
this.dialog_fisik = true;
|
||||
this.$store.commit("fisik/update_act", "new");
|
||||
this.$store.commit("fisik/update_last_id", -1);
|
||||
this.$store.commit("fisik/update_selected_nat_test", {});
|
||||
this.xname = "";
|
||||
this.search_nat_test = "";
|
||||
this.resetAllInput();
|
||||
},
|
||||
saveAdd() {
|
||||
this.namaValidation();
|
||||
if (this.nama_error_message === "") {
|
||||
let prm = {
|
||||
name: this.xname,
|
||||
nat_test_id: this.selected_nat_test.Nat_TestID
|
||||
};
|
||||
this.$store.dispatch("fisik/addFisikTemplateMapping", prm);
|
||||
}
|
||||
},
|
||||
updateFormUser() {
|
||||
if (this.$refs.formuser.validate()) {
|
||||
this.$store.dispatch("user/update", {
|
||||
id: this.xid,
|
||||
name: this.xname,
|
||||
ispertest: this.ispertest === true ? "Y" : "N",
|
||||
isnonlab: this.isnonlab === true ? "Y" : "N",
|
||||
suser: this.xsearch,
|
||||
});
|
||||
}
|
||||
},
|
||||
editUser(data) {
|
||||
this.xid = data.id;
|
||||
this.xcode = data.code;
|
||||
this.xname = data.name;
|
||||
this.isdefault = data.Nat_NormalValueIsDefault === "N" ? false : true;
|
||||
this.ispertest = data.Nat_NormalValueFlagPerTest === "N" ? false : true;
|
||||
this.isnonlab = data.Nat_NormalValueFlagNonLab === "N" ? false : true;
|
||||
this.$store.commit("user/update_act", "edit");
|
||||
this.$store.commit("user/update_dialog_form_user", true);
|
||||
},
|
||||
deleteUser(data) {
|
||||
this.xid = data.id;
|
||||
var xdata = {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
suser: this.xsearch,
|
||||
details: "xxx",
|
||||
};
|
||||
this.$store.commit("user/update_selected_user", xdata);
|
||||
this.msgalert = "Yakin, mau hapus kelompok hasil " + data.name + " ?";
|
||||
this.dialogdeletealert = true;
|
||||
},
|
||||
changeNewUserType(value) {
|
||||
this.readonlytypeuser = value === true ? true : false;
|
||||
this.readonlytypeusernew = value === true ? false : true;
|
||||
},
|
||||
newUserType() {
|
||||
readonlytypeuser: true;
|
||||
readonlytypeusernew: false;
|
||||
},
|
||||
closeDeleteAlert() {
|
||||
this.$store.dispatch("user/delete", {
|
||||
userid: this.$store.state.user.selected_user.id,
|
||||
xname: this.$store.state.user.selected_user.name,
|
||||
suser: this.xsearch,
|
||||
sdetail: "",
|
||||
});
|
||||
this.dialogdeletealert = false;
|
||||
},
|
||||
thr_search: _.debounce(function () {
|
||||
this.$store.dispatch("fisik/fisikTemplateMappingList", {
|
||||
fisikname: this.fisikname,
|
||||
current_page: 1,
|
||||
lastid: -1,
|
||||
});
|
||||
}, 1000),
|
||||
thr_search_nat_test() {
|
||||
this.$store.dispatch("fisik/searchNatTest", {
|
||||
search_nat_test: this.search_nat_test,
|
||||
});
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
search_nat_test(val, old) {
|
||||
if (val == old) return;
|
||||
if (!val) return;
|
||||
if (val.length < 1) return;
|
||||
this.thr_search_nat_test();
|
||||
},
|
||||
xsearch(val, old) {
|
||||
this.xsearch = val;
|
||||
this.thr_search();
|
||||
},
|
||||
search_instrument(val, old) {
|
||||
if (val == old) return;
|
||||
if (!val) return;
|
||||
if (val.length < 1) return;
|
||||
if (this.$store.state.user.update_autocomplete_status == 1) return;
|
||||
this.thr_search_instrument();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -0,0 +1,863 @@
|
||||
<template>
|
||||
<v-layout>
|
||||
<v-snackbar
|
||||
v-model="snackbar.value"
|
||||
:color="snackbar.color"
|
||||
:multi-line="snackbar.mode === 'multi-line'"
|
||||
:timeout="snackbar.timeout"
|
||||
:vertical="snackbar.mode === 'vertical'"
|
||||
:top="snackbar.top"
|
||||
:bottom="snackbar.bottom"
|
||||
:left="snackbar.left"
|
||||
:right="snackbar.right"
|
||||
|
||||
>
|
||||
{{ snackbar.text }}
|
||||
<v-btn
|
||||
dark
|
||||
flat
|
||||
@click="snackbar.value = false"
|
||||
>
|
||||
Tutup
|
||||
</v-btn>
|
||||
</v-snackbar>
|
||||
<v-flex xs12>
|
||||
<v-card class="mb-2" color="white">
|
||||
<v-toolbar color="blue lighten-3" dark height="50px">
|
||||
<v-toolbar-title>MAPPING NAT TEST</v-toolbar-title>
|
||||
<v-spacer></v-spacer>
|
||||
</v-toolbar>
|
||||
<v-layout row style="background: white">
|
||||
<v-flex pa-1 xs6>
|
||||
<v-text-field
|
||||
class="mini-input xs4 ma-1"
|
||||
label="Kode atau nama"
|
||||
placeholder="Cari..."
|
||||
outline
|
||||
v-model="xname"
|
||||
@keyup.enter="searchNatTest()"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex pa-1 xs6>
|
||||
<v-autocomplete
|
||||
label="Status"
|
||||
v-model="selected_filter_status"
|
||||
:items="f_statuss"
|
||||
style="font-size:12px;"
|
||||
class="mini-input xs4 ma-1"
|
||||
outline
|
||||
return-object
|
||||
></v-autocomplete>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-divider></v-divider>
|
||||
<v-layout
|
||||
row
|
||||
wrap
|
||||
class="scroll-container"
|
||||
style="max-height: 600px; overflow: auto"
|
||||
>
|
||||
<v-flex xs12 pl-2 pr-2 pt-2 pb-2>
|
||||
<div v-if="_.isEmpty(selected_fisik)">
|
||||
<v-alert type="info" icon="info" value="true">
|
||||
Silakan pilih template fisik terlebih dahulu
|
||||
</v-alert>
|
||||
</div>
|
||||
<v-data-table
|
||||
v-if="!_.isEmpty(selected_fisik)"
|
||||
:headers="headers"
|
||||
:items="xfisiknat_tests"
|
||||
:loading="isLoading"
|
||||
hide-actions
|
||||
class="elevation-1"
|
||||
>
|
||||
<template slot="items" slot-scope="props">
|
||||
<td
|
||||
class="text-xs-left pa-2"
|
||||
v-on:dblclick="getDetailTemplate(props.item)"
|
||||
@click="selectMe(props.item)"
|
||||
v-html="props.item.Nat_TestCode"
|
||||
></td>
|
||||
<td
|
||||
class="text-xs-left pa-2"
|
||||
v-on:dblclick="getDetailTemplate(props.item)"
|
||||
@click="selectMe(props.item)"
|
||||
v-html="props.item.Nat_TestName"
|
||||
></td>
|
||||
<td class="text-xs-left pa-2" @click="selectMe(props.item)">
|
||||
<div>
|
||||
<v-btn
|
||||
@click="changeBtnFlag(props.item,'Y')"
|
||||
v-if="props.item.status === 'N'"
|
||||
small
|
||||
color="error"
|
||||
>
|
||||
<v-icon left>close</v-icon> Belum dipilih</v-btn
|
||||
>
|
||||
<v-btn
|
||||
@click="changeBtnFlag(props.item,'N')"
|
||||
v-if="props.item.status === 'Y'"
|
||||
small
|
||||
color="success"
|
||||
>
|
||||
<v-icon left>check</v-icon> Sudah terpilih</v-btn
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-divider></v-divider>
|
||||
</v-card>
|
||||
</v-flex>
|
||||
|
||||
</v-layout>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.divider.x_step {
|
||||
border-color: #fff;
|
||||
}
|
||||
.x_form .v-text-field--outline > .v-input__control > .v-input__slot {
|
||||
align-items: stretch;
|
||||
min-height: 20px !important;
|
||||
margin-top: 0;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.x_form .v-text-field--outline.v-text-field--single-line input {
|
||||
margin-top: 0px !important;
|
||||
font-size: 14px;
|
||||
}
|
||||
table,
|
||||
td,
|
||||
th {
|
||||
/*border: 1px solid #ddd;*/
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
padding-left: 8px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.mini-input .v-input {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.mini-input .v-input,
|
||||
.mini-input .v-input--selection-controls,
|
||||
.mini-input .v-input__slot {
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
margin-left: 3px;
|
||||
}
|
||||
.mini-input .v-messages {
|
||||
min-height: 0px;
|
||||
}
|
||||
input.fhm-input {
|
||||
border: 1px solid black;
|
||||
border-radius: 2px;
|
||||
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1),
|
||||
0 0 4px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1), 0 0 4px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1), 0 0 4px rgba(0, 0, 0, 0.1);
|
||||
padding: 2px 4px;
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
margin: 0 0 1px 0;
|
||||
width: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
th,
|
||||
td {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
text-align: left;
|
||||
}
|
||||
table.tform tr:nth-child(even) {
|
||||
background-color: #eee;
|
||||
}
|
||||
table.tform tr:nth-child(odd) {
|
||||
background-color: #fff;
|
||||
}
|
||||
.thgigi {
|
||||
width: 50px !important;
|
||||
padding: 5px !important;
|
||||
text-align: center;
|
||||
}
|
||||
.input_gigi {
|
||||
width: 100%;
|
||||
border: 1px solid grey;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
line-height: 2;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.bggrey {
|
||||
background: #eee !important;
|
||||
}
|
||||
.background-black {
|
||||
background: black;
|
||||
color: #fff;
|
||||
}
|
||||
.background-teal {
|
||||
background: #009688;
|
||||
color: #fff;
|
||||
}
|
||||
.background-red {
|
||||
background: #f44336;
|
||||
color: #fff;
|
||||
}
|
||||
.background-brown {
|
||||
background: #795548;
|
||||
color: #fff;
|
||||
}
|
||||
.background-yellow-accent-4 {
|
||||
background: #ffeb3b;
|
||||
color: #fff;
|
||||
}
|
||||
.background-info {
|
||||
background: #64b5f6;
|
||||
color: #fff;
|
||||
}
|
||||
.background-purple {
|
||||
background: #9c27b0;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
components: {
|
||||
"one-date-picker": httpVueLoader("../../common/oneDatePicker.vue"),
|
||||
"one-dialog-print": httpVueLoader("../../common/oneDialogPrintX.vue"),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
riwayats: [],
|
||||
fisiks: [],
|
||||
k3s: [],
|
||||
xcode: "",
|
||||
xname: "",
|
||||
query: "",
|
||||
items: [],
|
||||
openprint: false,
|
||||
urlprint: "",
|
||||
printtitle: "",
|
||||
printwidth: 600,
|
||||
formatreport: "pdf",
|
||||
readonlydefault: false,
|
||||
page: 1,
|
||||
search_user: "",
|
||||
search_test: "",
|
||||
userRules: [(v) => !!v || "GroupResult harus dipilih"],
|
||||
testRules: [(v) => !!v || "Pemeriksaan harus dipilih"],
|
||||
headers: [
|
||||
{
|
||||
text: "KODE",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "name",
|
||||
width: "10%",
|
||||
class: "blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "NAMA",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "name",
|
||||
width: "30%",
|
||||
class: "blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "STATUS",
|
||||
align: "left",
|
||||
sortable: false,
|
||||
value: "name",
|
||||
width: "10%",
|
||||
class: "blue lighten-3 white--text",
|
||||
},
|
||||
],
|
||||
// pagination: {
|
||||
// descending: false,
|
||||
// page: 1,
|
||||
// rowsPerPage: 100,
|
||||
// sortBy: 'Group_ResultReportName ASC',
|
||||
// totalItems: this.$store.state.report.total_transactions
|
||||
// },
|
||||
color: "success",
|
||||
validreport: false,
|
||||
xid: 0,
|
||||
isinput: "N",
|
||||
countprice: 0,
|
||||
reportreportid: 0,
|
||||
reportxname: "",
|
||||
reportlang: "",
|
||||
reporttext: "",
|
||||
isadvance: "N",
|
||||
reportformatadvance: "",
|
||||
issenttouser: "N",
|
||||
menustartdate: false,
|
||||
menuenddate: false,
|
||||
date: new Date().toISOString().substr(0, 10),
|
||||
|
||||
dialogdeletealertreport: false,
|
||||
dialogverifyalertreport: false,
|
||||
dialogreleasealertreport: false,
|
||||
alertverify: false,
|
||||
dialogunreleasealertreport: false,
|
||||
dialogunverifyalertreport: false,
|
||||
msgalertreport: "",
|
||||
dialog_template: false,
|
||||
search_nat_test: "",
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
computed: {
|
||||
snackbar: {
|
||||
get() {
|
||||
return this.$store.state.fisik.snackbar;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_snackbar", val);
|
||||
},
|
||||
},
|
||||
selected_fisik: {
|
||||
get() {
|
||||
return this.$store.state.fisik.selected_fisik;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisik/update_selected_fisik", val);
|
||||
},
|
||||
},
|
||||
selected_filter_status: {
|
||||
get() {
|
||||
return this.$store.state.fisikdetail.selected_filter_status;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisikdetail/update_selected_filter_status", val);
|
||||
this.searchNatTest();
|
||||
},
|
||||
},
|
||||
f_statuss: {
|
||||
get() {
|
||||
return this.$store.state.fisikdetail.f_statuss;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisikdetail/update_f_statuss", val);
|
||||
},
|
||||
},
|
||||
xfisiknat_tests() {
|
||||
return this.$store.state.fisik.nat_tests;
|
||||
},
|
||||
xfisik() {
|
||||
return this.$store.state.fisik.selected_fisik;
|
||||
},
|
||||
// dialogreport() {
|
||||
// return this.$store.state.report.dialog_form_report
|
||||
// },
|
||||
xerrors() {
|
||||
return this.$store.state.report.errors;
|
||||
},
|
||||
isLoading() {
|
||||
return this.$store.state.fisikdetail.lookup_status == 1;
|
||||
},
|
||||
startComputedDateFormatted() {
|
||||
return this.formatDate(this.xstartdate);
|
||||
},
|
||||
xstartdate: {
|
||||
get() {
|
||||
return this.$store.state.report.startdate;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_startdate", val);
|
||||
},
|
||||
},
|
||||
endComputedDateFormatted() {
|
||||
return this.formatDate(this.xenddate);
|
||||
},
|
||||
xenddate: {
|
||||
get() {
|
||||
return this.$store.state.report.enddate;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_enddate", val);
|
||||
},
|
||||
},
|
||||
xautotests() {
|
||||
return this.$store.state.report.autotests;
|
||||
},
|
||||
xautotest: {
|
||||
get() {
|
||||
return this.$store.state.report.autotest;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_autotest", val);
|
||||
},
|
||||
},
|
||||
xstatuss() {
|
||||
return this.$store.state.report.statuss;
|
||||
},
|
||||
dialogstatusorder() {
|
||||
return this.$store.state.report.dialog_status_order;
|
||||
},
|
||||
xautousers() {
|
||||
return this.$store.state.report.autousers;
|
||||
},
|
||||
xautouser: {
|
||||
get() {
|
||||
return this.$store.state.report.autouser;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_autouser", val);
|
||||
},
|
||||
},
|
||||
xsearch_nat_test: {
|
||||
get() {
|
||||
return this.$store.state.fisikdetail.xsearch_nat_test;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisikdetail/update_xsearch_nat_test", val);
|
||||
},
|
||||
},
|
||||
reportgroup: {
|
||||
get() {
|
||||
return this.$store.state.report.reportgroup;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_reportgroup", val);
|
||||
},
|
||||
},
|
||||
reportcode: {
|
||||
get() {
|
||||
return this.$store.state.report.reportcode;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_reportcode", val);
|
||||
},
|
||||
},
|
||||
reportname: {
|
||||
get() {
|
||||
return this.$store.state.report.reportname;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_reportname", val);
|
||||
},
|
||||
},
|
||||
curr_page: {
|
||||
get() {
|
||||
return this.$store.state.fisikdetail.current_page;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisikdetail/update_current_page", val);
|
||||
this.$store.dispatch("fisikdetail/findFisikTemplate", {
|
||||
id: this.$store.state.fisik.selected_fisik.id,
|
||||
code: this.xcode,
|
||||
name: this.xname,
|
||||
current_page: val,
|
||||
lastid: -1,
|
||||
});
|
||||
},
|
||||
},
|
||||
xtotal_page: {
|
||||
get() {
|
||||
return this.$store.state.fisikdetail.total_data;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("fisikdetail/update_total_data", val);
|
||||
},
|
||||
},
|
||||
value_report: {
|
||||
get() {
|
||||
return this.$store.state.report.value_report;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_value_report", val);
|
||||
},
|
||||
},
|
||||
new_report: {
|
||||
get() {
|
||||
return this.$store.state.report.new_report;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_new_report", val);
|
||||
},
|
||||
},
|
||||
new_reportname: {
|
||||
get() {
|
||||
return this.$store.state.report.new_reportname;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("report/update_new_reportname", val);
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
searchNatTest() {
|
||||
this.$store.dispatch("fisik/searchNatTest", {
|
||||
search_nat_test: this.xname,
|
||||
filter_status: this.selected_filter_status
|
||||
});
|
||||
},
|
||||
getDetailTemplate(item) {
|
||||
this.riwayats = [];
|
||||
this.fisiks = [];
|
||||
this.k3s = [];
|
||||
|
||||
var xjson = item.xjson;
|
||||
xjson.show_all = "Y";
|
||||
if (item.FisikTemplateType === "Riwayat") {
|
||||
this.riwayats.push(xjson);
|
||||
}
|
||||
|
||||
if (item.FisikTemplateType === "Fisik") {
|
||||
this.fisiks.push(xjson);
|
||||
}
|
||||
|
||||
if (item.FisikTemplateType === "K3") {
|
||||
this.k3s.push(xjson);
|
||||
}
|
||||
|
||||
this.dialog_template = true;
|
||||
},
|
||||
changeStandartBMI(idx_f) {
|
||||
var fisiks = this.fisiks;
|
||||
var value_x = fisiks[idx_f].standart_bmi;
|
||||
var val_now = value_x;
|
||||
if (value_x === "who") {
|
||||
val_now = "asia_pacific";
|
||||
} else if (value_x === "asia_pacific") {
|
||||
val_now = "kemenkes";
|
||||
} else {
|
||||
val_now = "who";
|
||||
}
|
||||
fisiks[idx_f].standart_bmi = val_now;
|
||||
},
|
||||
changStandartTensi(idx_f, row) {
|
||||
var fisiks = this.fisiks;
|
||||
var idx_tensi = _.findIndex(fisiks[idx_f].details, function (o) {
|
||||
return o.id_code == "tanda_vital_5";
|
||||
});
|
||||
var standart = fisiks[idx_f].details[idx_tensi].standart; //=== 'JNC-VII' ? 'JNC-VIII':'JNC-VII'
|
||||
if (standart === "JNC-VII") {
|
||||
standart = "JNC-VIII";
|
||||
} else if (standart === "JNC-VIII") {
|
||||
standart = "ESC/ESH";
|
||||
} else {
|
||||
standart = "JNC-VII";
|
||||
}
|
||||
fisiks[idx_f].details[idx_tensi].standart = standart;
|
||||
},
|
||||
getnamelabel(kata) {
|
||||
//var lang_id = this.$store.state.sample.sellang.id
|
||||
//var words = this.$store.state.sample.words
|
||||
//var row_word = _.filter(words, function(o) { return o.Translate_WordNat_LangID === lang_id && o.Translate_WordFrom.toLowerCase() === kata.toLowerCase() })
|
||||
|
||||
//if(row_word.length > 0)
|
||||
//return row_word[0].Translate_WordTo
|
||||
// else
|
||||
return kata;
|
||||
},
|
||||
generate_rows(details) {
|
||||
var riwayats = details;
|
||||
var row_riwayats = [];
|
||||
var rows = [];
|
||||
riwayats.forEach(function (item, index) {
|
||||
rows.push(item);
|
||||
if (index % 2 !== 0 || index === riwayats.length - 1) {
|
||||
row_riwayats.push(rows);
|
||||
rows = [];
|
||||
}
|
||||
});
|
||||
return row_riwayats;
|
||||
},
|
||||
changeFlagNormal(idx) {
|
||||
var riwayats = this.$store.state.sample.riwayats;
|
||||
var old_val = riwayats[idx].flag_normal;
|
||||
riwayats[idx].flag_normal = old_val === "Y" ? "N" : "Y";
|
||||
if (riwayats[idx].flag_normal === "Y") {
|
||||
riwayats[idx].details.forEach((item) => (item.chx = false));
|
||||
riwayats[idx].details.forEach((item) => (item.value = ""));
|
||||
}
|
||||
this.$store.commit("sample/update_riwayats", riwayats);
|
||||
},
|
||||
toggleDetailRiwayat(idx) {
|
||||
var riwayats = this.$store.state.sample.riwayats;
|
||||
var old_val = riwayats[idx].show_all;
|
||||
riwayats[idx].show_all = old_val === "Y" ? "N" : "Y";
|
||||
this.$store.commit("sample/update_riwayats", riwayats);
|
||||
},
|
||||
toggleDetailFisik(idx) {
|
||||
var fisiks = this.$store.state.sample.fisiks;
|
||||
var old_val = fisiks[idx].show_all;
|
||||
fisiks[idx].show_all = old_val === "Y" ? "N" : "Y";
|
||||
this.$store.commit("sample/update_fisiks", fisiks);
|
||||
},
|
||||
toggleDetailK3(idx) {
|
||||
var k3s = this.$store.state.sample.k3s;
|
||||
var old_val = k3s[idx].show_all;
|
||||
k3s[idx].show_all = old_val === "Y" ? "N" : "Y";
|
||||
this.$store.commit("sample/update_k3s", k3s);
|
||||
},
|
||||
isSelected(p) {
|
||||
return p.id == this.$store.state.fisikdetail.selected_fisikdetail.id;
|
||||
},
|
||||
selectMe(sc) {
|
||||
this.$store.commit("fisikdetail/update_selected_fisikdetail", sc);
|
||||
},
|
||||
updateDialogFormReport() {
|
||||
this.$store.commit("report/update_dialog_form_report", false);
|
||||
},
|
||||
updateDialogStatusOrder() {
|
||||
this.$store.commit("report/update_dialog_status_order", false);
|
||||
},
|
||||
setStatusOrder(val) {
|
||||
this.$store.commit("report/update_reports", {});
|
||||
this.$store.commit("report/update_dialog_status_order", true);
|
||||
this.$store.commit("report/update_statuss", val.statuss);
|
||||
},
|
||||
doPriceList(val) {
|
||||
var id = val.id;
|
||||
location.replace("/one-ui/user/vuex/one-md-price/" + "?id=" + id);
|
||||
},
|
||||
doPrice() {
|
||||
var id = this.xid;
|
||||
location.replace("/one-ui/user/vuex/one-md-price/" + "?id=" + id);
|
||||
},
|
||||
thr_search_user: _.debounce(function () {
|
||||
this.$store.dispatch("report/searchuser", {
|
||||
tes: this.search_user,
|
||||
});
|
||||
}, 200),
|
||||
thr_search_test: _.debounce(function () {
|
||||
this.$store.dispatch("report/searchtest", {
|
||||
search: this.search_test,
|
||||
});
|
||||
}, 200),
|
||||
thr_search: _.debounce(function () {
|
||||
this.$store.dispatch("fisikdetail/findFisikTemplate", {
|
||||
id: this.$store.state.fisik.selected_fisik.id,
|
||||
code: this.xcode,
|
||||
name: this.xname,
|
||||
current_page: 1,
|
||||
lastid: -1,
|
||||
});
|
||||
}, 200),
|
||||
searchFisikDetail() {
|
||||
this.$store.dispatch("fisikdetail/findFisikTemplate", {
|
||||
id: this.$store.state.fisik.selected_fisik.id,
|
||||
code: this.xcode,
|
||||
name: this.xname,
|
||||
current_page: 1,
|
||||
lastid: -1,
|
||||
});
|
||||
},
|
||||
doPrint() {
|
||||
this.printwidth = 1028;
|
||||
this.printtitle = "";
|
||||
let report = one_report();
|
||||
var id = this.xid;
|
||||
var d = new Date();
|
||||
var n = d.getTime();
|
||||
var rptname = "user_price";
|
||||
var formatrpt = this.formatreport;
|
||||
|
||||
this.urlprint =
|
||||
"/birt/run?__report=report/onelab/md/" +
|
||||
rptname +
|
||||
".rptdesign&__format=" +
|
||||
formatrpt +
|
||||
"&PReportID=" +
|
||||
id +
|
||||
"&reportxname=" +
|
||||
report.Group_ResultReportReportname +
|
||||
"&tm=" +
|
||||
n;
|
||||
|
||||
this.openprint = true;
|
||||
},
|
||||
closePrint() {
|
||||
this.openprint = false;
|
||||
},
|
||||
changeDetail(value) {
|
||||
var details = this.$store.state.report.reports;
|
||||
var idx = _.findIndex(details, function (o) {
|
||||
return (
|
||||
o.Nat_NormalValueID == value.Nat_NormalValueID &&
|
||||
o.Nat_ReportUserID == value.Nat_ReportUserID
|
||||
);
|
||||
});
|
||||
details[idx].Nat_ReportUserReportIna = value.Nat_ReportUserReportIna;
|
||||
details[idx].Nat_ReportUserReportEng = value.Nat_ReportUserReportEng;
|
||||
this.$store.commit("report/update_reports", details);
|
||||
},
|
||||
savedetail() {
|
||||
var prm = {
|
||||
details: this.$store.state.report.reports,
|
||||
};
|
||||
this.$store.dispatch("report/saveallreportdetail", prm);
|
||||
},
|
||||
insertNewReport() {
|
||||
var prm = {
|
||||
xid: 0,
|
||||
userid: this.$store.state.user.selected_user.id,
|
||||
reportgroup: this.reportgroup,
|
||||
reportcode: this.new_report,
|
||||
reportname: this.new_reportname,
|
||||
filterstatus: this.selected_filter_status.M_StatusID,
|
||||
current_page: this.curr_page,
|
||||
};
|
||||
this.$store.dispatch("report/save", prm);
|
||||
this.new_report = "";
|
||||
this.new_reportname = "";
|
||||
},
|
||||
saveReportNew() {
|
||||
var prm = {
|
||||
id: 0,
|
||||
value: this.value_new_report,
|
||||
valueeng: this.new_reportname,
|
||||
};
|
||||
this.$store.dispatch("report/savelistingreport", prm);
|
||||
},
|
||||
changeBtnFlag(value,status) {
|
||||
let prm = value
|
||||
prm.id = this.$store.state.fisik.selected_fisik.id;
|
||||
prm.status = status;
|
||||
this.$store.dispatch(
|
||||
"fisik/addNatTestMapping",
|
||||
prm
|
||||
);
|
||||
},
|
||||
openFormReport(val) {
|
||||
this.xid = val;
|
||||
this.$store.commit("report/update_autotests", []);
|
||||
this.$store.commit("report/update_autotest", {});
|
||||
this.$store.commit("report/update_dialog_form_report", true);
|
||||
},
|
||||
editFormReport(val) {
|
||||
this.xid = val.id;
|
||||
this.$store.commit("report/update_autousers", [
|
||||
{
|
||||
Group_ResultID: val.Group_ResultID,
|
||||
Group_ResultName: val.Group_ResultName,
|
||||
},
|
||||
]);
|
||||
this.$store.commit("report/update_autouser", {
|
||||
Group_ResultID: val.Group_ResultID,
|
||||
Group_ResultName: val.Group_ResultName,
|
||||
});
|
||||
|
||||
this.$store.commit("report/update_autotests", [
|
||||
{
|
||||
T_TestID: val.T_TestID,
|
||||
T_TestName: val.T_TestName,
|
||||
},
|
||||
]);
|
||||
this.$store.commit("report/update_autotest", {
|
||||
T_TestID: val.T_TestID,
|
||||
T_TestName: val.T_TestName,
|
||||
});
|
||||
this.$store.commit("report/update_dialog_form_report", true);
|
||||
},
|
||||
checkError(value) {
|
||||
var errors = this.$store.state.report.errors;
|
||||
if (errors.includes(value)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
saveFormReport() {
|
||||
if (this.$refs.formuserreport.validate()) {
|
||||
this.$store.dispatch("report/save", {
|
||||
xid: this.xid,
|
||||
userid: this.xautouser
|
||||
? this.$store.state.report.autouser.Group_ResultID
|
||||
: 0,
|
||||
username: this.$store.state.report.autouser.Group_ResultName,
|
||||
testid: this.xautotest
|
||||
? this.$store.state.report.autotest.T_TestID
|
||||
: 0,
|
||||
testname: this.xautotest
|
||||
? this.$store.state.report.autotest.T_TestName
|
||||
: "",
|
||||
suser: this.$store.state.user.x_search,
|
||||
sreport: this.xsearch,
|
||||
});
|
||||
}
|
||||
},
|
||||
set_date2(x) {
|
||||
this.startdate = x.new_date;
|
||||
},
|
||||
set_date3(x) {
|
||||
this.enddate = x.new_date;
|
||||
},
|
||||
formatDate(date) {
|
||||
if (!date) return null;
|
||||
|
||||
const [year, month, day] = date.split("-");
|
||||
return `${day}-${month}-${year}`;
|
||||
},
|
||||
deFormatedDate(date) {
|
||||
if (!date) return null;
|
||||
|
||||
const [day, month, year] = date.split("-");
|
||||
return `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`;
|
||||
},
|
||||
updateAlert_success(val) {
|
||||
this.$store.commit("user/update_alert_success", val);
|
||||
},
|
||||
deleteFormReport(data) {
|
||||
this.xid = data.id;
|
||||
|
||||
this.msgalertreport = "Yakin, mau hapus report ini?";
|
||||
this.dialogdeletealertreport = true;
|
||||
},
|
||||
closeDeleteAlertReport() {
|
||||
this.$store.dispatch("report/delete", {
|
||||
xid: this.xid,
|
||||
userid: this.$store.state.report.autouser.Group_ResultID,
|
||||
username: this.$store.state.report.autouser.Group_ResultName,
|
||||
testid: this.xautotest ? this.$store.state.report.autotest.T_TestID : 0,
|
||||
testname: this.xautotest
|
||||
? this.$store.state.report.autotest.T_TestName
|
||||
: "",
|
||||
suser: this.$store.state.user.x_search,
|
||||
sreport: this.xsearch,
|
||||
});
|
||||
this.dialogdeletealertreport = false;
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
xsearch(val, old) {
|
||||
this.xsearch = val;
|
||||
this.thr_search();
|
||||
},
|
||||
search_user(val, old) {
|
||||
if (val == old) return;
|
||||
if (!val) return;
|
||||
if (val.length < 1) return;
|
||||
if (this.$store.state.report.update_autocomplete_status == 1) return;
|
||||
this.thr_search_user();
|
||||
},
|
||||
search_test(val, old) {
|
||||
if (val == old) return;
|
||||
if (!val) return;
|
||||
if (val.length < 1) return;
|
||||
if (this.$store.state.report.update_autocomplete_status == 1) return;
|
||||
this.thr_search_test();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user