Initial import

This commit is contained in:
sas.fajri
2026-05-25 20:01:37 +07:00
commit 710d7c1b97
10371 changed files with 2381698 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
// API :
// search bank
// paramater : query , page , rowPerPage
const URL =
"http://lebaran.aplikasi.web.id/smartlab_api/vuex/t02/search_bank";
export async function searchBank(query, page, rowPerPage = 15) {
try {
var resp = await axios.post(URL, {
query: query,
page: page,
rowPerPage: rowPerPage
});
if (resp.status != 200) {
return {
status: "ERR",
query: query,
message: resp.statusText
};
}
let data = resp.data;
data.query = query;
return data;
} catch (e) {
return {
status: "ERR",
query: query,
message: e.message
};
}
}

View File

@@ -0,0 +1,127 @@
<template>
<v-layout column >
<v-card>
<v-layout row>
<v-flex xs12>
<v-subheader red--text text--lighten-1> BARCODE</v-subheader>
<v-divider></v-divider>
<v-layout row wrap>
<v-flex xs12 pt-2 pl-4 pr-4 pb-4>
<table>
<tr>
<th style="text-align:center" width="5%">#</th>
<th style="text-align:center" width="30%">JENIS</th>
<th style="text-align:center" width="60%">NOMOR</th>
<th style="text-align:center" width="10%">QTY</th>
</tr>
<tr>
<td class="mini-input" style="text-align:center;vertical-align:center;" align="center">
<v-checkbox class="pa-0" ></v-checkbox>
</td>
<td>Serum</td>
<td style="text-align:center">1212121281291</td>
<td>
<input type="text" class="fhm-input"/>
</td>
</tr>
<tr>
<td class="mini-input" style="text-align:center;vertical-align:center;" align="center">
<v-checkbox class="pa-0" ></v-checkbox>
</td>
<td>Serum</td>
<td style="text-align:center">1212121281291</td>
<td>
<input type="text" class="fhm-input"/>
</td>
</tr>
<tr>
<td class="mini-input" style="text-align:center;vertical-align:center;" align="center">
<v-checkbox class="pa-0" ></v-checkbox>
</td>
<td>Serum</td>
<td style="text-align:center">1212121281291</td>
<td>
<input type="text" class="fhm-input"/>
</td>
</tr>
</table>
</v-flex>
</v-layout>
</v-flex>
</v-flex>
</v-card>
</v-layout>
</template>
<style scoped>
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;
}
</style>
<script>
module.exports = {
components : {
'one-field-verification-supply' : httpVueLoader('../../common/oneFieldVerificationSupply.vue')
},
data () {
return {
}
},
methods: {
emailChange : function(val) {
console.log(val);
}
},
computed : {
_email () {
return this.$data._email;
}
}
}
</script>

View File

@@ -0,0 +1,127 @@
<template>
<v-layout class="fill-height" column>
<v-card class="mb-2 pa-2 searchbox">
<v-layout >
<v-text-field class="xs3 ma-1"
placeholder="No Lab"
single-line
outline
hide-details
></v-text-field>
<v-text-field class="xs6 ma-1"
label=""
placeholder="Nama"
single-line
outline
hide-details
></v-text-field>
<v-select class="xs6 ma-1" :items="items" label="Status" outline hide-details></v-select>
<v-btn class="xs3 ma-1" color="success" >Search</v-btn>
</v-layout>
</v-card>
<v-card class="grow">
<v-data-table :headers="headers" :items="patients"
: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':props.item.selected}" @click="selectMe(props.item)">{{ props.item.mr }}</td>
<td class="pa-2" v-bind:class="{'amber lighten-4':props.item.selected}" @click="selectMe(props.item)">{{ props.item.lab}}</td>
<td class="text-xs-left pa-2" v-bind:class="{'amber lighten-4':props.item.selected}" @click="selectMe(props.item)">{{ props.item.name }}</td>
<td class="text-xs-left pa-2" v-bind:class="{'amber lighten-4':props.item.selected}" @click="selectMe(props.item)">{{ props.item.status }}</td>
</template>
</v-data-table>
</v-card>
</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;
}
</style>
<script>
module.exports = {
data() {
return {
query: "",
headers: [
{
text: "NO REG",
align: "left",
sortable: false,
value: "mr",
width: "15%",
class: "pa-2 blue lighten-3 white--text"
},
{
text: "NO LAB",
align: "left",
sortable: false,
value: "lab",
width: "15%",
class: "pa-2 blue lighten-3 white--text"
},
{
text: "NAMA",
align: "left",
sortable: false,
value: "name",
width: "25%",
class: "pa-2 blue lighten-3 white--text"
},
{
text: "STATUS",
align: "left",
sortable: false,
value: "status",
width: "15%",
class: "pa-2 blue lighten-3 white--text"
}
],
isLoading: true,
patients: [
{"status":"Data Verified","lab":"08000198909", "mr": "MR-18107237", "name": "Pasien Umum", "sex": "Perempuan", "address": "Klero\r\nKabupaten Semarang", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Payment Verified","lab":"08000198111", "mr": "MR-18107238", "name": "Heri Suryawan", "sex": "Laki - laki", "address": "Ampel", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Payment Verified","lab":"08000198222", "mr": "MR-18107239", "name": "LUKA MODRIC", "sex": "Laki - laki", "address": "Jl. Raya No 1", "action":"", "dob":"19-09-1992", "selected":true},
{"status":"Data Verified","lab":"08000198121", "mr": "MR-18107247", "name": "Tyas Medika Pranandita", "sex": "Laki - laki", "address": "KP. Karangpanas", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198131", "mr": "MR-18107248", "name": "Astrid", "sex": "Perempuan", "address": "Jl. Ketintang Raya No.81", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198123", "mr": "MR-18107249", "name": "Happy", "sex": "Perempuan", "address": "Karangpanas", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data Verified","lab":"08000198111", "mr": "MR-18107251", "name": "Juan Alexis Sukir", "sex": "Laki - laki", "address": "Jl. Sawi", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198555", "mr": "MR-18107252", "name": "Alexander Wang", "sex": "Laki - laki", "address": "Jl. Mangga Muda No. 7", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Payment Verified","lab":"08000198444", "mr": "MR-18107253", "name": "CILA CILANI", "sex": "Perempuan", "address": "Jl. Duren PInang No. 67", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198123", "mr": "MR-18107254", "name": "Untung Suropati", "sex": "Laki - laki", "address": "Pasar Kapling Semarang", "action":"", "dob":"19-09-1992", "selected":false}
]
};
}
}
</script>

View File

@@ -0,0 +1,56 @@
<template>
<v-layout column mb-2 >
<v-card>
<v-layout row>
<v-flex xs12>
<v-subheader red--text text--lighten-1> SUPPLIES</v-subheader>
<v-divider></v-divider>
<v-layout class="layout-supplies" row wrap>
<v-flex v-for="supply in supplies" xs3 pa-1 pt-0>
<one-field-verification-supply
:xid="supply.id"
:label="supply.name"
:value="supply.checked"
@x_change="cbxChange"
:note="1"
></one-field-verification-supply>
</v-flex>
</v-layout>
</v-flex>
</v-flex>
</v-card>
</v-layout>
</template>
<style scoped>
.v-messages, .v-text-field__details{
min-height:0px!important;
}
</style>
<script>
module.exports = {
components : {
'one-field-verification-supply' : httpVueLoader('../../common/oneFieldVerificationSupply.vue')
},
data () {
return {
supplies :[
{"id":"1","name":"Sedotan Tinja","qty":0,"checked":false},
{"id":"2","name":"Jarum Suntik","qty":0,"checked":false}
]
}
},
methods: {
cbxChange : function(val) {
console.log(val);
}
},
computed : {
_email () {
return this.$data._email;
}
}
}
</script>

View File

@@ -0,0 +1,56 @@
<template>
<v-card class="mb-2 one-fo-tab">
<v-layout justify-center class="tab-container">
<v-btn justify-center multi-line class= "buttonkiri" color="success">Pasien <br/> Dokter</v-btn>
<v-btn justify-center multi-line class= "buttonnew" color="error">MOU <br/> Pemeriksaan</v-btn>
<v-btn justify-center multi-line class= "buttonnew" color="warning">Kirim Hasil <br/> Payment</v-btn>
<v-btn justify-center multi-line class= "buttonkanan" color="info">Supplies <br/> Barcode</v-btn>
</v-layout>
</v-card>
</template>
<style scoped>
.one-fo-tab {
min-height:84px;
}
.layout.tab-container .v-btn {
min-height:64px;
margin-top:10px;
}
.v-card{
text-align: center;
}
.v-btn__content{
margin-top : 0px;
}
.buttonnew {
width : 20%;
text-decoration:none;
}
.buttonkiri {
width : 20%;
text-decoration:none;
border-top-left-radius: 50px;
border-bottom-left-radius: 50px;
}
.buttonkanan {
width : 20%;
text-decoration:none;
border-top-right-radius: 50px;
border-bottom-right-radius: 50px;
}
</style>
<script>
module.exports = {
}
</script>

View File

@@ -0,0 +1,101 @@
<template>
<v-layout column class="fill-height">
<v-card class="mb-2">
<v-layout row wrap>
<v-flex xs12 >
<v-subheader red--text text--lighten-1> DATA PENGIRIMAN
<v-flex text-md-right>
<v-btn small color="primary">Tambah Data</v-btn>
</v-flex>
</v-subheader>
<v-divider></v-divider>
<v-layout row>
<v-flex xs12 pa-1>
<one-field-verification
:is_error="true"
label="Email ke Dokter : sms.sipe@gmail.com"
@x_change="emailChange"
value=""
></one-field-verification>
</v-flex>
</v-layout>
<v-layout row>
<v-flex xs12 pa-1>
<one-field-verification
:is_error="true"
label="Kirim ke Pasien : Jl. Tegal Raya No. 1"
@x_change="emailChange"
value=""
></one-field-verification>
</v-flex>
</v-layout>
<v-divider></v-divider>
<v-layout row>
<v-flex xs9 pa-1 class="indigo lighten-5">
<one-field-verification
:is_error="true"
label="Email ke Dokter : sms.sipe@gmail.com"
@x_change="emailChange"
value=""
></one-field-verification>
</v-flex>
<v-flex class="indigo lighten-5" pt-3 xs3>
<v-layout align-center justify-center row>
<v-icon large color="red">delete</v-icon>
</v-layout>
</v-flex>
</v-layout>
</v-flex>
</v-flex>
</v-card>
<v-card>
<v-layout row>
<v-flex xs12>
<v-subheader red--text text--lighten-1> DATA PEMBAYARAN</v-subheader>
<v-divider></v-divider>
<v-layout row>
<v-flex xs12 pa-2>
<one-field-verification
:is_error="true"
label="Minimum pembayaran terpenuhi (Rp 50.000)"
@x_change="emailChange"
value=""
></one-field-verification>
</v-flex>
</v-layout>
</v-flex>
</v-flex>
</v-card>
</v-layout>
</template>
<style scoped>
</style>
<script>
module.exports = {
components : {
'one-field-verification' : httpVueLoader('../../common/oneFieldVerification.vue')
},
data () {
return {
email: 'sms@fajrihm.gmail.com"',
_email: true,
}
},
methods: {
emailChange : function(val) {
console.log(val);
}
},
computed : {
_email () {
return this.$data._email;
}
}
}
</script>

View File

@@ -0,0 +1,195 @@
<template>
<v-card class="">
<v-layout row wrap>
<v-flex xs12>
<v-layout>
<v-flex xs3 pa-2>
<v-layout row wrap>
<v-flex xs12>
<v-img
src="https://www.sgm-inc.com/wp-content/uploads/2014/06/no-profile-male-img.gif"
aspect-ratio="1"
class="grey lighten-2 elevation-2"
>
</v-flex>
</v-flex>
<v-flex xs9>
<v-flex xs12>
<v-layout>
<v-flex xs7 pa-1>
<v-text-field
label="Nama"
placeholder=""
:value="p_name"
readonly
></v-text-field>
</v-flex>
<v-flex xs5 pa-1>
<v-text-field
label="RM"
placeholder=""
:value="p_mr"
readonly
></v-text-field>
</v-flex>
</v-layout>
</v-flex>
<v-flex xs12 pa-1>
<v-textarea
auto-grow
label="Alamat"
rows="2"
:value="p_address"
readonly
></v-textarea>
</v-flex>
<v-flex xs12>
<v-layout>
<v-flex xs7 pa-1>
<v-text-field
label="Telephon / HP"
placeholder=""
:value="p_phone"
readonly
></v-text-field>
</v-flex>
<v-flex xs5 pa-1>
<v-text-field
label="Jenis Kelamin"
placeholder=""
:value="p_kelamin"
readonly
></v-text-field>
</v-flex>
</v-layout>
</v-flex>
<v-flex xs12>
<v-layout>
<v-flex xs7 pa-1>
<v-text-field
label="Tanggal Lahir"
placeholder=""
:value="p_dob"
readonly
></v-text-field>
</v-flex>
<v-flex xs5 pa-1>
<v-text-field
label="Umur"
placeholder=""
:value="p_age"
readonly
></v-text-field>
</v-flex>
</v-layout>
</v-flex>
</v-flex>
</v-layout>
</v-flex>
<v-flex xs12>
<v-layout row wrap>
<v-flex xs6 pa-2>
<one-field-verification
:is_error="true"
label="Company sudah sesuai"
@x_change="companyChange"
value=false
></one-field-verification>
<!-- <v-layout>
<v-flex xs5>
<v-checkbox
v-model="$data._company"
:label="`Company Sudah Sesuai`"
></v-checkbox>
</v-flex>
<v-flex xs7 pt-2>
<v-text-field
label=""
placeholder=""
outline
:disabled="__company"
></v-text-field>
</v-flex>
</v-layout> -->
</v-flex>
<v-flex xs6 pa-2>
<one-field-verification
label="MOU sudah sesuai"
value=false
></one-field-verification>
</v-flex>
</v-layout>
</v-flex>
<v-flex xs12 class="pt-2">
<one-fo-verification-mou-px-curr-order></one-fo-verification-mou-px-curr-order>
</v-flex>
<v-flex xs12 class="pt-4">
<v-layout align-end justify-end>
<v-flex xs6>
<h3>Tambahan Pemeriksaan</h3>
</v-flex>
<v-flex xs6 class="text-xs-right">
<!-- <v-layout fill-height align-end justify-end> -->
<v-btn
color="green"
dark
class="mt-0 mb-0"
>
Tambah Pemeriksaan
</v-btn>
<!-- </v-layout> -->
</v-flex>
</v-layout>
</v-flex>
</v-card>
</template>
<style scoped>
.v-messages { display:none; }
.v-input__slot {
margin-bottom: 0px;
}
</style>
<script>
module.exports = {
components : {
'patient-search-dialog': httpVueLoader('./patientSearchDialog.vue'),
'patient-history-dialog': httpVueLoader('./patientHistoryDialog.vue')
},
data() {
return {
p_name : 'HERI SURYAWAN ST.',
p_address : `KPA Regency 221 Klipang\nSendangmulyo Semarang`,
p_phone : '0898-5945-837',
p_note : `Pasien ini agak bawel, tidak usah ditanggapi kalau sedang ngomel - ngomel`,
p_dob : '19-09-1999',
p_age : '20th 3bl 2hr',
p_mr : 'MR-1902020001',
p_kelamin : 'Laki-Laki'
}
}
}
</script>

View File

@@ -0,0 +1,43 @@
<template>
<div>
<v-card>
<v-btn class= "button parallelogram" color="success">Pasien Dokter</v-btn>
<v-btn class= "button parallelogram" color="warning">MOU </v-btn>
<v-btn class= "button parallelogram" color="error">Kirim Hasil </v-btn>
<v-btn class= "button parallelogram" color="info"> Barcode</v-btn>
</v-card>
</div>
</template>
<style scoped>
.v-card{
text-align: center;
}
.v-btn__content{
margin-top : -10px;
}
.button {
padding: 30px 16px;
width : 20%;
text-decoration:none;
}
.parallelogram{
transform: skew(-20deg);
}
.v-btn {
word-break: break-all;
}
</style>
<script>
module.exports = {
}
</script>

View File

@@ -0,0 +1,28 @@
<template>
<v-layout row wrap>
<v-flex xs6 class="left">
<v-layout column wrap fill-height>
<search-box></search-box>
<v-flex grow class="searchresult">
search result
</v-flex>
</v-layout>
</v-flex>
</v-layout>
</template>
<style scoped>
.searchresult {
background-color:red;
}
</style>
<script>
module.exports = {
components : {
'search-box' : httpVueLoader('./searchBoxV3.vue')
}
}
</script>

View File

@@ -0,0 +1,70 @@
<template>
<v-card class="fill-height ">
<v-layout>
<v-flex xs3 pa-1>
<v-text-field
label="Search"
placeholder="No Lab"
single-line
outline
></v-text-field>
</v-flex>
<v-flex xs6 pa-1>
<v-text-field
label=""
placeholder="Nama"
single-line
outline
></v-text-field>
</v-flex>
<v-flex xs6 pa-1>
<v-select
:items="items"
label="Status"
outline
></v-select>
</v-flex>
<v-flex xs3>
<v-btn color="success" class="mr-1 ml-1">Search</v-btn>
</v-flex>
</v-layout>
</v-card>
</template>
<style scoped>
.v-btn {
min-width: auto;
}
.v-input__slot {
margin-bottom: 0px !important;
}
.v-messages {
display: none;
}
.v-text-field--box>.v-input__control>.v-input__slot,.v-text-field--full-width>.v-input__control>.v-input__slot,.v-text-field--outline>.v-input__control>.v-input__slot {
min-height: 44px;
}
.v-text-field--box.v-text-field--single-line input,.v-text-field--full-width.v-text-field--single-line input,.v-text-field--outline.v-text-field--single-line input {
margin-top: 6px;
}
.v-input__control{
height: 10px;
}
.v-btn {
margin : 10px
}
</style>
<script>
module.exports = {
}
</script>

View File

@@ -0,0 +1,86 @@
<template>
<v-card class="fill-height " >
<v-data-table :headers="headers" :items="patients"
: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':props.item.selected}" @click="selectMe(props.item)">{{ props.item.mr }}</td>
<td class="pa-2" v-bind:class="{'amber lighten-4':props.item.selected}" @click="selectMe(props.item)">{{ props.item.lab}}</td>
<td class="text-xs-left pa-2" v-bind:class="{'amber lighten-4':props.item.selected}" @click="selectMe(props.item)">{{ props.item.name }}</td>
<td class="text-xs-left pa-2" v-bind:class="{'amber lighten-4':props.item.selected}" @click="selectMe(props.item)">{{ props.item.status }}</td>
</template>
</v-data-table>
</v-card>
</template>
<style scoped>
table.v-table tbody td,table.v-table tbody th {
height: 40px;
}
table.v-table thead tr {
height: 40px;
}
</style>
<script>
module.exports = {
data() {
return {
query: "",
headers: [
{
text: "NO REG",
align: "left",
sortable: false,
value: "mr",
width: "15%",
class: "pa-2 blue lighten-3 white--text"
},
{
text: "NO LAB",
align: "left",
sortable: false,
value: "lab",
width: "15%",
class: "pa-2 blue lighten-3 white--text"
},
{
text: "NAMA",
align: "left",
sortable: false,
value: "name",
width: "25%",
class: "pa-2 blue lighten-3 white--text"
},
{
text: "STATUS",
align: "left",
sortable: false,
value: "status",
width: "15%",
class: "pa-2 blue lighten-3 white--text"
}
],
isLoading: true,
patients: [
{"status":"Data Verified","lab":"08000198909", "mr": "MR-18107237", "name": "Pasien Umum", "sex": "Perempuan", "address": "Klero\r\nKabupaten Semarang", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Payment Verified","lab":"08000198111", "mr": "MR-18107238", "name": "Heri Suryawan", "sex": "Laki - laki", "address": "Ampel", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Payment Verified","lab":"08000198222", "mr": "MR-18107239", "name": "LUKA MODRIC", "sex": "Laki - laki", "address": "Jl. Raya No 1", "action":"", "dob":"19-09-1992", "selected":true},
{"status":"Data Verified","lab":"08000198121", "mr": "MR-18107247", "name": "Tyas Medika Pranandita", "sex": "Laki - laki", "address": "KP. Karangpanas", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198131", "mr": "MR-18107248", "name": "Astrid", "sex": "Perempuan", "address": "Jl. Ketintang Raya No.81", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198123", "mr": "MR-18107249", "name": "Happy", "sex": "Perempuan", "address": "Karangpanas", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data Verified","lab":"08000198111", "mr": "MR-18107251", "name": "Juan Alexis Sukir", "sex": "Laki - laki", "address": "Jl. Sawi", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198555", "mr": "MR-18107252", "name": "Alexander Wang", "sex": "Laki - laki", "address": "Jl. Mangga Muda No. 7", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Payment Verified","lab":"08000198444", "mr": "MR-18107253", "name": "CILA CILANI", "sex": "Perempuan", "address": "Jl. Duren PInang No. 67", "action":"", "dob":"19-09-1992", "selected":false},
{"status":"Data & Payment Verified","lab":"08000198123", "mr": "MR-18107254", "name": "Untung Suropati", "sex": "Laki - laki", "address": "Pasar Kapling Semarang", "action":"", "dob":"19-09-1992", "selected":false}
]
};
}
}
</script>

View File

@@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>One</title>
<link rel="stylesheet" href="../../../libs/vendor/css/google-fonts.css">
<link rel="stylesheet" href="../../../libs/vendor/css/vuetify.min.css">
</head>
<body>
<div v-cloak id="app">
<v-app id="smartApp" >
<one-navbar></one-navbar>
<v-content class="blue lighten-5" >
<v-container fluid fill-height class="pl-1 pr-1 pt-2 pb-2">
<v-layout row wrap >
<v-flex xs6 class="left" fill-height pa-1>
<!-- komponen kiri -->
<one-fo-verification-list></one-fo-verification-list>
</v-flex>
<v-flex xs6 class="right" fill-height pa-1>
<!-- komponen kanan -->
<one-fo-verification-tab></one-fo-verification-tab>
<one-fo-verification-delivery-payment></one-fo-verification-delivery-payment>
</v-flex>
</v-layout>
</v-container>
</v-content>
<one-footer> </one-footer>
</v-app>
</div>
<!-- Vendor -->
<script src="../../../libs/vendor/axios.min.js"></script>
<script src="../../../libs/vendor/vue.js"></script>
<script src="../../../libs/vendor/vuex.js"></script>
<script src="../../../libs/vendor/vuetify.js"></script>
<script src="../../../libs/vendor/httpVueLoader.js"></script>
<!-- App Script -->
<?php
$ts = "?ts=" . Date("ymdhis");
?>
<script type="module">
import { store } from './store.js<?php echo $ts ?>';
//for testing
// window.store = store;
new Vue({
store,
el: '#app',
components: {
'one-navbar': httpVueLoader('../../../apps/components/oneNavbarComponent.vue'),
'one-footer': httpVueLoader('../../../apps/components/oneFooter.vue'),
'one-fo-verification-list': httpVueLoader('./components/foVerificationList.vue'),
'one-fo-verification-tab': httpVueLoader('./components/foVerificationTab.vue'),
'one-fo-verification-delivery-payment' : httpVueLoader('./components/oneFOVerificationDeliveryPayment.vue')
}
})
</script>
<style>
[v-cloak] {
display: none
}
.left {
}
.right {
}
</style>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>One</title>
<link rel="stylesheet" href="../../../libs/vendor/css/google-fonts.css">
<link rel="stylesheet" href="../../../libs/vendor/css/vuetify.min.css">
</head>
<body>
<div v-cloak id="app">
<v-app id="smartApp" >
<one-navbar></one-navbar>
<v-content class="blue lighten-5" >
<v-container fluid fill-height>
<one-fo-verification-list> <one-fo-verification-list>
</v-container>
</v-content>
<one-footer> </one-footer>
</v-app>
</div>
<!-- Vendor -->
<script src="../../../libs/vendor/axios.min.js"></script>
<script src="../../../libs/vendor/vue.js"></script>
<script src="../../../libs/vendor/vuex.js"></script>
<script src="../../../libs/vendor/vuetify.js"></script>
<script src="../../../libs/vendor/httpVueLoader.js"></script>
<!-- App Script -->
<?php
$ts = "?ts=" . Date("ymdhis");
?>
<script type="module">
import { store } from './store.js<?php echo $ts ?>';
//for testing
// window.store = store;
new Vue({
store,
el: '#app',
components: {
'one-navbar': httpVueLoader('../../../apps/components/oneNavbarComponent.vue'),
'one-footer': httpVueLoader('../../../apps/components/oneFooter.vue'),
'one-fo-verification-list': httpVueLoader('./components/foVerificationList.vue'),
}
})
</script>
<style>
[v-cloak] {
display: none
}
</style>
</body>
</html>

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>One</title>
<link rel="stylesheet" href="../../../libs/vendor/css/google-fonts.css">
<link rel="stylesheet" href="../../../libs/vendor/css/vuetify.min.css">
</head>
<body>
<div v-cloak id="app">
<v-app id="smartApp" >
<one-navbar></one-navbar>
<v-content class="blue lighten-5" >
<v-container fluid fill-height class="pl-1 pr-1 pt-2 pb-2">
<v-layout row wrap >
<v-flex xs6 class="left" fill-height pa-1>
<!-- komponen kiri -->
<one-fo-verification-list></one-fo-verification-list>
</v-flex>
<v-flex xs6 class="right" fill-height pa-1>
<!-- komponen kanan -->
<one-fo-verification-tab></one-fo-verification-tab>
<one-fo-verification-supplies></one-fo-verification-supplies>
<one-fo-verification-barcode></one-fo-verification-barcode>
</v-flex>
</v-layout>
</v-container>
</v-content>
<one-footer> </one-footer>
</v-app>
</div>
<!-- Vendor -->
<script src="../../../libs/vendor/axios.min.js"></script>
<script src="../../../libs/vendor/vue.js"></script>
<script src="../../../libs/vendor/vuex.js"></script>
<script src="../../../libs/vendor/vuetify.js"></script>
<script src="../../../libs/vendor/httpVueLoader.js"></script>
<!-- App Script -->
<?php
$ts = "?ts=" . Date("ymdhis");
?>
<script type="module">
import { store } from './store.js<?php echo $ts ?>';
//for testing
// window.store = store;
new Vue({
store,
el: '#app',
components: {
'one-navbar': httpVueLoader('../../../apps/components/oneNavbarComponent.vue'),
'one-footer': httpVueLoader('../../../apps/components/oneFooter.vue'),
'one-fo-verification-list': httpVueLoader('./components/foVerificationList.vue'),
'one-fo-verification-tab': httpVueLoader('./components/foVerificationTab.vue'),
'one-fo-verification-supplies' : httpVueLoader('./components/foVerificationSupplies.vue'),
'one-fo-verification-barcode' : httpVueLoader('./components/foVerificationBarcode.vue')
}
})
</script>
<style>
[v-cloak] {
display: none
}
.left {
}
.right {
}
</style>
</body>
</html>

View File

@@ -0,0 +1,73 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>One</title>
<link rel="stylesheet" href="../../../libs/vendor/css/google-fonts.css">
<link rel="stylesheet" href="../../../libs/vendor/css/vuetify.min.css">
</head>
<body>
<div v-cloak id="app">
<v-app id="smartApp" >
<one-navbar></one-navbar>
<v-content class="blue lighten-5" >
<v-flex xs6 class="left">
<v-container fluid fill-height>
<one-fo-verification-list> </one-fo-verification-list>
</v-container>
</v-flex>
<v-flex xs6 class="right">
<v-container fluid fill-height>
<v-layout row wrap>
<v-flex xs12>
<one-fo-verification-status></one-fo-verification-status>
</v-flex>
<v-flex xs12>
<!-- pasien dokter mengko lebokno kene -->
</v-flex>
</v-layout>
</v-container>
</v-flex>
</v-content>
<one-footer> </one-footer>
</v-app>
</div>
<!-- Vendor -->
<script src="../../../libs/vendor/axios.min.js"></script>
<script src="../../../libs/vendor/vue.js"></script>
<script src="../../../libs/vendor/vuex.js"></script>
<script src="../../../libs/vendor/vuetify.js"></script>
<script src="../../../libs/vendor/httpVueLoader.js"></script>
<!-- App Script -->
<?php
$ts = "?ts=" . Date("ymdhis");
?>
<script type="module">
import { store } from './store.js<?php echo $ts ?>';
//for testing
// window.store = store;
new Vue({
store,
el: '#app',
components: {
'one-navbar': httpVueLoader('../../../apps/components/oneNavbarComponent.vue'),
'one-footer': httpVueLoader('../../../apps/components/oneFooter.vue'),
'one-fo-verification-list': httpVueLoader('./components/oneFoVerificationListKris.vue'),
'one-fo-verification-status': httpVueLoader('./components/oneFoVerificationStatus.vue'),
}
})
</script>
<style>
[v-cloak] {
display: none
}
</style>
</body>
</html>

View File

@@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>One</title>
<link rel="stylesheet" href="../../../libs/vendor/css/google-fonts.css">
<link rel="stylesheet" href="../../../libs/vendor/css/vuetify.min.css">
</head>
<body>
<div v-cloak id="app">
<v-app id="smartApp" >
<one-navbar>
</one-navbar>
<v-content class="blue lighten-5" >
<v-container fluid fill-height>
<v-layout row wrap >
<v-flex xs6 class="left" fill-height pa-1>
<!-- komponen kiri -->
<one-kiri></one-kiri>
</v-flex>
<v-flex xs6 class="right" fill-height pa-1>
<!-- komponen kanan -->
<one-kanan></one-kanan>
</v-flex>
</v-layout>
</v-container>
</v-content>
<one-footer>
</one-footer>
</v-app>
</div>
<!-- Vendor -->
<script src="../../../libs/vendor/axios.min.js"></script>
<script src="../../../libs/vendor/vue.js"></script>
<script src="../../../libs/vendor/vuex.js"></script>
<script src="../../../libs/vendor/vuetify.js"></script>
<script src="../../../libs/vendor/httpVueLoader.js"></script>
<!-- App Script -->
<?php
$ts = "?ts=" . Date("ymdhis");
?>
<script type="module">
import { store } from './store.js<?php echo $ts ?>';
//for testing
// window.store = store;
new Vue({
store,
el: '#app',
components: {
'one-navbar': httpVueLoader('../../../apps/components/oneNavbarComponent.vue'),
'one-footer': httpVueLoader('../../../apps/components/oneFooter.vue'),
'one-kiri' : httpVueLoader('./components/oneKiri.vue'),
'one-kanan' : httpVueLoader('./components/oneKanan.vue')
}
})
</script>
<style>
[v-cloak] {
display: none
}
.left {
}
.right {
}
</style>
</body>
</html>

View File

@@ -0,0 +1,71 @@
// State
// data ...
// Mutations
//
//
// Actions
import * as api from "./api.js";
export const store = new Vuex.Store({
state: {
rows: [],
midPages: [],
isLoading: false,
isError: false,
errorMessage: "",
query: "",
page: 0,
totalPage: 0,
totalRecord: 0
},
mutations: {
updateBank(state, data) {
// console.log(data);
if (data.status == "ERR") {
state.isError = true;
if (data.db_error) {
state.errorMessage = data.db_error.message;
} else {
state.errorMessage = data.message;
}
state.query = data.query;
state.page = 0;
state.totalPage = 0;
state.totalRecord = 0;
state.rows = [];
state.midPages = [];
} else {
state.isError = false;
state.errorMessage = "";
state.query = data.query;
state.page = data.page;
state.totalPage = data.totalPage;
state.totalRecord = data.totalRecord;
state.rows = data.rows;
state.midPages = data.midPages;
}
},
updateLoading(state, flag) {
state.isLoading = flag;
},
resetError(state) {
state.isError = false;
state.errorMessage = "";
}
},
actions: {
async searchBank(context, data) {
context.commit("updateLoading", true);
let resp = await api.searchBank(
data.query,
data.page,
data.rowPerPage
);
context.commit("updateLoading", false);
context.commit("updateBank", resp);
setTimeout(function() {
context.commit("resetError");
}, 5000);
}
}
});