Files
FE_CPONE/test/vuex/one-fo-verification/components/oneFoVerificationDialogPx.vue
2026-04-27 10:13:31 +07:00

142 lines
4.4 KiB
Vue

<template>
<v-dialog
v-model="dialog"
max-width="30%"
>
<v-card>
<v-card-title
class="headline grey lighten-2 pt-2 pb-2"
primary-title
>
Form Pemeriksaan
</v-card-title>
<v-card-text class="pt-2 pb-2">
<v-layout>
<v-flex style="padding-bottom:0" xs12>
<v-checkbox
v-model="cito"
label="Cito"
>Cito</v-checkbox>
</v-flex>
</v-layout>
<v-layout row>
<v-flex pr-2 xs12>
<v-autocomplete
label="Pemeriksaan"
v-model="xselected_px"
:items="xpxs"
:search-input.sync="search"
auto-select-first
no-filter
return-object
item-text="pxname"
:loading="is_loading"
no-data-text="Pilih Pemeriksaan"
>
<template
slot="item"
slot-scope="{ item }"
>
<v-list-tile-content>
<v-list-tile-title v-text="item.pxname"></v-list-tile-title>
</v-list-tile-content>
</template>
</v-autocomplete>
</v-flex>
</v-layout>
</v-card-text>
<v-divider></v-divider>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn
color="primary"
flat
@click="dialog = false"
>
Tutup
</v-btn>
<v-btn
color="primary"
flat
@click="addPx()"
>
Tambahkan
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</template>
<style scoped>
</style>
<script>
module.exports = {
data(){
return {
datatext : '',
search : '',
cito:false
}
},
computed : {
vtext : {
get() {
return this.datatext
},
set(val) {
this.datatext = val
}
},
dialog: {
get() {
return this.$store.state.px.dialog_px_is_active
},
set(val) {
this.$store.commit('px/update_dialog_px_is_active',val)
}
},
xselected_px: {
get() {
this.$store.state.px.selected_px
},
set(val) {
this.$store.commit("px/update_selected_px",val)
}
},
xpxs() {
return this.$store.state.px.pxs
},
is_loading() {
return this.$store.state.px.search_status == 1
}
},
methods: {
addPx() {
this.dialog = false
var prm = {'id':0,'chex':false,'pxid':this.$store.state.px.selected_px.id,'flagcito':this.$store.state.px.selected_px.flagcito,'pxname':this.$store.state.px.selected_px.pxname,'bruto':this.$store.state.px.selected_px.bruto,'discount':this.$store.state.px.selected_px.discount,'total':this.$store.state.px.selected_px.total,'addon':true}
this.cito = false
this.search = ''
this.datatext = ''
this.$emit('add-data-px', prm)
},
thr_search: _.debounce( function () {
this.$store.dispatch("px/search",this.cito)
},2000)
},
watch: {
search(val,old) {
if (val == old ) return
if (! val) return
if (val.length < 1 ) return
if (this.$store.state.px.search_status == 1 ) return
this.$store.commit("px/update_search",val)
this.thr_search()
}
}
}
</script>