177 lines
5.9 KiB
Vue
177 lines
5.9 KiB
Vue
<template>
|
|
<v-dialog v-model="dialog_barcode" persistent max-width="600">
|
|
<v-card>
|
|
<v-card-title style="color: #fff" class="headline grey darken-1">Cetak Barcode</v-card-title>
|
|
<v-card-text>
|
|
<v-layout pa-2 class="grey lighten-2" row>
|
|
<v-flex xs1>
|
|
<v-checkbox style="padding-top: 0; margin-top: 0" hide-details color="grey darken-1"
|
|
:indeterminate="indeterminatex" @change="changeCbxAll(bar_chx_all)" v-model="bar_chx_all">
|
|
</v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs5> ITEM </v-flex>
|
|
<v-flex xs5> NUMBER BARCODE </v-flex>
|
|
<v-flex xs1> CETAK </v-flex>
|
|
</v-layout>
|
|
<v-layout align-center pa-2 v-for="(vs, idx) in barcodes" :key="vs.id" class="grey lighten-4" row>
|
|
<v-flex xs1>
|
|
<v-checkbox style="padding-top: 0; margin-top: 0" color="grey darken-1" hide-details v-model="vs.chex"
|
|
@change="checkTop()"></v-checkbox>
|
|
</v-flex>
|
|
<v-flex xs5>
|
|
{{ vs.M_ItemDesc }}
|
|
</v-flex>
|
|
<v-flex xs5>
|
|
{{ vs.T_BarcodeBarangNumber }}
|
|
</v-flex>
|
|
<v-flex xs1>
|
|
<span @click="printSingleBarcode(vs)"
|
|
class="icon-medium-fill-base-small xs1 white--text grey darken-1 ml-1 icon-print"></span>
|
|
</v-flex>
|
|
</v-layout>
|
|
</v-card-text>
|
|
<v-card-actions>
|
|
<v-spacer></v-spacer>
|
|
<v-btn color="grey darken-1" flat @click="dialog_barcode = false">Tutup</v-btn>
|
|
<!-- <v-btn dark color="grey darken-3" @click="printRobo"
|
|
>Cetak Robo
|
|
</v-btn> -->
|
|
<v-btn dark color="grey darken-1" @click="printMultipleBarcode">Cetak terpilih [ {{ selected_barcode.length }}
|
|
]</v-btn>
|
|
</v-card-actions>
|
|
</v-card>
|
|
</v-dialog>
|
|
</template>
|
|
|
|
<script>
|
|
module.exports = {
|
|
data() {
|
|
return {
|
|
valid_formhandover: true
|
|
}
|
|
},
|
|
computed: {
|
|
dialog_barcode: {
|
|
get() {
|
|
return this.$store.state.ro.dialog_barcode
|
|
},
|
|
set(val) {
|
|
this.$store.commit("ro/update_dialog_barcode", val)
|
|
}
|
|
},
|
|
barcodes: {
|
|
get() {
|
|
return this.$store.state.ro.barcodes
|
|
},
|
|
set(val) {
|
|
this.$store.commit("ro/update_barcodes", val)
|
|
}
|
|
},
|
|
selected_item_received: {
|
|
get() {
|
|
return this.$store.state.form.selected_item_received
|
|
},
|
|
set(val) {
|
|
this.$store.commit("form/update_selected_item_received", val)
|
|
}
|
|
},
|
|
selected_ro: {
|
|
get() {
|
|
return this.$store.state.ro.selected_ro
|
|
},
|
|
set(val) {
|
|
this.$store.commit("ro/update_selected_ro", val);
|
|
}
|
|
},
|
|
list_staff() {
|
|
return this.$store.state.ro.list_staff
|
|
},
|
|
urlQrCode: {
|
|
get() {
|
|
return this.$store.state.ro.urlQrCode;
|
|
},
|
|
set(val) {
|
|
this.$store.commit("ro/update_urlQrCode", val);
|
|
},
|
|
},
|
|
indeterminatex: {
|
|
get() {
|
|
return this.$store.state.ro.indeterminatex;
|
|
},
|
|
set(val) {
|
|
this.$store.commit("ro/update_indeterminatex", val);
|
|
},
|
|
},
|
|
bar_chx_all: {
|
|
get() {
|
|
return this.$store.state.ro.bar_chx_all;
|
|
},
|
|
set(val) {
|
|
this.$store.commit("ro/update_bar_chx_all", val);
|
|
},
|
|
},
|
|
selected_barcode: {
|
|
get() {
|
|
return this.$store.state.ro.selected_barcode;
|
|
},
|
|
set(val) {
|
|
this.$store.commit("ro/update_selected_barcode", val);
|
|
},
|
|
},
|
|
},
|
|
methods: {
|
|
changeCbxAll(value) {
|
|
var arr = this.barcodes;
|
|
this.indeterminatex = false;
|
|
arr.forEach((el) => {
|
|
el.chex = value;
|
|
});
|
|
var selected = _.filter(arr, function (o) {
|
|
return o.chex;
|
|
});
|
|
this.selected_barcode = selected;
|
|
},
|
|
checkTop() {
|
|
var barcodes = this.barcodes;
|
|
var selected = _.filter(barcodes, function (o) {
|
|
return o.chex;
|
|
});
|
|
this.bar_chx_all = false;
|
|
this.indeterminatex = false;
|
|
if (selected.length > 0 && barcodes.length === selected.length) {
|
|
this.bar_chx_all = true;
|
|
this.indeterminatex = false;
|
|
}
|
|
if (selected.length > 0 && barcodes.length > selected.length) {
|
|
this.bar_chx_all = false;
|
|
this.indeterminatex = true;
|
|
}
|
|
this.selected_barcode = selected;
|
|
console.log(selected);
|
|
},
|
|
printSingleBarcode(value) {
|
|
var inp = {
|
|
nama_item: value.M_ItemDesc,
|
|
no_inv: value.T_BarcodeBarangNumber,
|
|
lokasi: value.M_RuanganName,
|
|
cabang: value.M_BranchName
|
|
};
|
|
|
|
one_print_qrcode_inv(inp);
|
|
},
|
|
printMultipleBarcode() {
|
|
var barcodes = this.selected_barcode;
|
|
barcodes.forEach(value => {
|
|
var inp = {
|
|
nama_item: value.M_ItemDesc,
|
|
no_inv: value.T_BarcodeBarangNumber,
|
|
lokasi: value.M_RuanganName,
|
|
cabang: value.M_BranchName
|
|
};
|
|
|
|
one_print_qrcode_inv(inp);
|
|
});
|
|
},
|
|
},
|
|
}
|
|
</script> |